欢迎来到天天文库
浏览记录
ID:9979502
大小:93.50 KB
页数:6页
时间:2018-05-17
《软件开发过程生命周期模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件开发过程生命周期模型一、序言生命周期指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。目前软件开发实践中使用的各种生命周期模型,都是下面这些基本组成部分的不同的排列与组合。·市场分析,可行性研究,与项目定义·需求分析·设计(概要设计和详细设计)·编码实现·测试·使用与维护主要有以下几种模型:·1.瀑布模型(waterfallmodel)·2.演化模型(evolutionarymodel)·3.螺旋模型(spiralmodel)二、瀑布模型瀑布模型将软件生命周期的各项活动规定为依固定顺序联接的若干阶段工作,形如瀑布流水,最终得到软件产
2、品。如图所示:优点: a.强调开发的阶段性; b.强调早期计划及需求调查; c.强调产品测试。缺点: a.依赖于早期进行的唯一一次需求调查,不能适应需求的变化; b.由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程; c.风险往往迟至后期的开发阶段才显露,因而失去及早纠正的机会下表是瀑布模型中各个阶段的主要工作,及相应的质量控制手段。阶段主要工作应完成的文档应完成的文档质量控制手段系统需求1.调研用户需求及用户环境2.论证项目可行性3.制定项目初步计划1.可行性报告2.项目初步开发计划1.规范工作程序及编写文档2.对可行性报告及项目初步开发计划进行评审需求分析1.确定
3、系统运行环境2.建立系统逻辑模型3.确定系统功能及性能要求4.编写需求规格说明、用户手册概要、测试计划5.确认项目开发计划1.需求规格说明2.项目开发计划3.用户手册概要4.测试计划1.在进行需求分析时采用成熟的技术与工具,如结构化分析2.规范工作程序及编写文档3.对已完成的4种文档进行评审设计概要设计1.建立系统总体结构,划分功能模块2.定义各功能模块接口3.数据库设计(如果需要)4.制定组装测试计划1.概要设计说明书2.数据库设计说明书(如果有)3.组装测试计划1.在进行系统设计时采用先进的技术与工具,如结构化设计SD、结构图SC2.编写规范化工作程序及文档3.对已完成的文档进行评审详
4、细设计1.设计各模块具体实现算法2.确定模块间详细接口3.制定模块测试方案1.详细设计说明书2.模块测试计划1.设计时采用先进的技术与工具,如结构图SC2.规范工作程序及编写文档3.对已完成的文档进行评审实现1.编写程序源代码2.进行模块测试和调试3.编写用户手册1.程序调试报告2.用户手册1.在实现过程中采用先进的技术与工具,如结构图SC2.规范工作程序及编写文档3.对实现过程及已完成的文档进行评审测试集成测试1.执行集成测试计划2.编写集成测试报告1.系统源程序清单2.集成测试报告1.测试时采用先进的技术和工具2.规范工作程序及文档编写3.对测试工作及已完成的文档进行评审验收测试1.测
5、试整个软件系统(健壮性测试)2.试用用户手册3.编写开发总结报告1.确认测试报告2.用户手册3.开发工作总结维护1.为纠正错误,完善应用而进行修改2.对修改进行配置管理3.编写故障报告和修改报告4.修订用户手册1.故障报告2.修改报告1.维护时采用先进的工具2.规范工作程序及编写文档3.配置管理4.对维护工作及已完成的文档进行评审三、演化模型该模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。软件开发人员根据用户的需求,首先开发核心系统。当该核心系统投入运行后,用户试用之,完成他们的工作,
6、并提出精化系统、增强系统能力的需求。软件开发人员根据用户的反馈,实施开发的迭代过程。第一迭代过程均由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集。如图所示。在开发模式上采取分批循环开发的办法,每循环开发一部分的功能,它们成为这个产品的原型的新增功能。于是,设计就不断地演化出新的系统。实际上,这个模型可看作是重复执行的多个“瀑布模型”。“演化模型”要求开发人员有能力把项目的产品需求分解为不同组,以便分批循环开发。这种分组并不是绝对随意性的,而是要根据功能的重要性及对总体设计的基础结构的影响而作出判断。有经验指出,每个开发循环以六周到八周为适当的长度。优点:
7、·a.任何功能一经开发就能进入测试以便验证是否符合产品需求。·b.帮助导引出高质量的产品要求。如果没有可能在一开始就弄清楚所有的产品需求,它们可以分批取得。而对于已提出的产品需求,则可根据对现阶段原型的试用而作出修改。·c.风险管理可以在早期就获得项目进程数据,可据此对后续的开发循环作出比较切实的估算。提供机会去采取早期预防措施,增加项目成功的机率。·d.大大有助于早期建立产品开发的配置管理,产品构建(build),自动
此文档下载收益归作者所有