同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。
问题的定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
软件设计
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。
程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。
软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
运行维护
软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。
周期模型
从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样一个过程,称为"生命周期模型"(Life Cycle Model)。
典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型。
快速原型模型
快速原型(Rapid Prototype)模型在功能上等价于产品的一个子集。注意,这里说的是功能上。瀑布模型的缺点就在于不够直观,快速原型法就解决了这个问题。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品。这个产品只是实现部分的功能(最重要的)。它最重要的目的是为了确定用户的真正需求。其实现在的软件组织中,很少说采用哪一种模型的。模型和实用还是有很大的区别的。
软件生命周期模型的发展实际上是体现了软件工程理论的发展。在最早的时候,软件的生命周期处于无序、混乱的情况。一些人为了能够控制软件的开发过程,就把软件开发严格的区分为多个不同的阶段,并在阶段间加上严格的审查。这就是瀑布模型产生的起因。瀑布模型体现了人们对软件过程的一个希望:严格控制、确保质量。可惜的是,现实往往是残酷的。瀑布模型根本达不到这个过高的要求,因为软件的过程往往难于预测。反而导致了其它的负面影响,例如大量的文档、繁琐的审批。因此人们就开始尝试着用其它的方法来改进或替代瀑布方法。例如把过程细分来增加过程的可预测性。
分享到:
相关推荐
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为“软件生命周期”。软件生命周期模型,通俗说就是,软件开发过程中所遵循的模式,即把整个软件生存周期划分为若干阶段...
软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。每个阶段都要有定义、工作、审查、形成文档以供交流或备查...
软件生命周期中不含哪个阶段、关于瀑布模型说法正确的是、下面关于软件过程模型说法错误的是、软件项目计划中不需要制定下面哪个内容的方案、开发软件的高成本和软件产品的低质量之间的矛盾,这种现象称为、产生软件...
软件生命周期模型(共73张PPT)精选.pptx
软件生命周期模型 内容包括:瀑布模型/V模型或快速应用开发模型RAD/原型模型/螺旋模型/增量模型/迭代模型
对于采用不同软件生命周期模型的项目在实施CMM 当中遇到的实际问题及其产生机理进行了深入分析,并提出初步的解决方案,主要涉及:采用迭代式生命周期模型的项目在实施需求管理过程域的部分内容时难以满足CMM 的要求...
软件设计文档模板 包括软件生命周期的各个阶段的文档
基于本人所开发的高校教务管理系统所撰写的软件生命周期设计论文,从软件计划阶段、需求分析阶段、软件设计阶段、软件编码阶段到测试阶段,均详细的阐述了各个阶段的开发流程,内含系统流程图、PERT工程网络图、数据...
传统软件生命周期模型资料,适合传统行业
MSF微软软件生命周期,软件开发工程 ,感兴趣的人看看吧
报告主题:基于软件生命周期的过程管理体系 嘉宾介绍:博士&MBA,副教授/硕导,信息系统管理师/系统分析师,信息监理师/软件评测师,ITIL Manager, ISO 27001主任审核员,ISO 20000主任审核员。 具有多年IT行业...
ISTQB 初级认证 课件PPT 第2章 软件生命周期中的测试
软件生命周期模型与WBS分解,很好的一份文档介绍很详细。值得初学者学习和借鉴。
软件生命周期最规范的流程图以及描述 有对软件流程以及各个环节的职能描述,并附上精心制作的流程图
软件生命周期分为7个阶段 软件生命周期各阶段的主要任务 银行取款过程的Use Case 图
一个完整软件的生命周期!一个完整软件的生命周期!
软件生命周期模型优缺点
软件生命周期是软件的产生直到报废或停止使用的生命周期。是周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种...