- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张 磊 博士 副教授
zhanglei@cumt.edu.cn;2.1 软件生存周期
2.2 软件生存期模型
2.3 问题定义
2.4 可行性研究
2.5 可行性论证报告的主要方面
2.6 项目计划
;软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期。
一般说来,软件生命周期划分为三个时期:计划时期、开发时期、运行时期。
计划时期划分为问题定义和可行性研究;
开发时期又划分为需求分析、概要设计、详细设计、编码和测试阶段;
运行时期主要是在运行中完成各类维护。;;2.1.1计划时期;2.1.2开发时期;2.概要设计
把各项需求转换成软件的体系结构,结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应。
编写概要设计说明书。
3.详细设计
对每个模块要完成的工作进行具体的描述,为源程序编写打下基础。
编写详细设计说明书。;4.编码
把软件设计转换成??算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。
写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
5.测试
单元测试,查找各模块在功能和结构上存在的问题并加以纠正。
组装测试,将已测试过的模块按一定顺序组装起来。
按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。;2.1.3运行时期;各阶段工作小结;阶段;2.2 软件生存期模型;2.2.1边做边改模型;2.2.2瀑布模型;2.2.2瀑布模型;问题定义;瀑布模型的特点
1.阶段间具有顺序性和依赖性关系
顺序性的含义是必须待前一阶段的工作完成之后,才能进行下一阶段的工作。
依赖性的含义是前一阶段的输出就是后一阶段的输入,只有前一阶段的输出正确,后一阶段的工作才有可能获得正确的结果。。;2.推迟实现
实践表明,编码开始得越早完成开发工作所需要的时间反而越长。
这是因为,前期阶段的工作没完全做好,就急于考虑程序实现,其结果导致大量返工,有时甚至产生无法弥补的问题,带来严重后果。;3.质量保证
各阶段都必须完成规定的文档。完整、正确、合格的文档不仅是软件开发时期各类人员之间相互通信的媒介,也是软件维护的重要依据。
各阶段结束前都要对所完成的文档进行评审,以便及时发现问题,改正错误。;瀑布模型的缺点
(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。;2.2.3快速原型模型;快速原型模型特点
在需求定义之前,需要快速构建一个系统。
根据构建系统的优缺点,用户给开发人员提出反馈意见。
根据反馈意见修改软件需求规格,以便系统可以更正确地反映用户的需求。
减少各种假设以及风险。;2.2.4增量模型;在使用增量模型时,第一个增量往往是实现基本需求的核心产品。
核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。
这个过程在每个增量发布后不断重复,直到产生最终的完善产品。;增量模型也存在以下缺陷
(1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
(2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。; 增量模型总结
融合了瀑布模型和原型的迭代特征。
每一个增量均发布一个可操作产品。;2.2.5螺旋模型; ;螺旋模型的限制条件
(1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。
(2)如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。
(3)软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。; 螺旋模型总结
基于风险驱动的开发模型, 使用原型法或其它方法来尽量降低风险。
适用于需求不明确的大规模软件项目。;增量模型和螺旋模型的主要区别
(1)增量模型的通过避免使用未成熟技术和经常的客户反馈等方法减少风险;而螺旋模型中直接增加了风险分析,评价所选方案,识别和消除风险。
(2)增量模型经常是先做总体需求分析和设计,然后在编码和测试中逐个增量开发;螺旋模型在每个开发周期内采用简化瀑布模型或快速模型。
(3)增量模型通过迭代来逐步添加功能和需求,以完善产品;螺旋模型是事先定义大部分需求,开
原创力文档


文档评论(0)