1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 二 软件工程 / 生命周期 / 软件开发模型

二 软件工程 / 生命周期 / 软件开发模型

时间:2020-05-06 06:35:29

相关推荐

二 软件工程 / 生命周期 / 软件开发模型

软件测试

软件危机和软件工程软件生命周期软件生命周期模型1. 瀑布模型2. 螺旋模型3. 迭代模型4. 敏捷开发(Scrum)模型5. 增量模型6. 快速原型模型

软件危机和软件工程

软件危机

软件工程

软件生命周期

软件生命周期模型

+ 模型:定义了生命周期中要做的各项工作的规范和顺序。+ 目的:以便开发人员可以了解何时启动和终止软件中的每个活动。 软件拥有生命周期模型将有助于开发人员以系统和有组织的方式开发软件。+ 种类:有很多种,每个模型都有自己的流程顺序,各有优缺点。

一个完整的软件生命周期模型如下:

1. 瀑布模型

+ 最早提出的软件开发的过程模型,是一个典型的一个开发模型+ 优点:=> 1. 为项目提供了按阶段划分的检查=> 2. 当前一阶段完成后,只需要关注后续阶段+ 存在的问题 :=> 1. 由于开发模型是线性的,强调时间顺序的严格执行,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险=> 2. 将测试放在编码的后面,没有体现出测试贯穿软件生命周期的原则,可以避免需求类的问题一直延续到代码完成才暴露或者被发现=> 3. 瀑布模型不适应用户需求的变化

2. 螺旋模型

+ 兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控+ 引入了风险分析(其他模型不具备),使软件在无法排除重大风险时有机会停止,以减少损失+ 更适合大型昂贵的系统级软件应用

3. 迭代模型

+ 所有功能同时做,由粗到细,逐步求精,最终完成整个软件。整个过程可以是先做出A、B、C、D、E五个功能的原型,然后完成他们的基本功能,接着对这些功能进行优化,最终得到功能完整的软件+ 迭代模型适用于需求不甚明确、难度比较大的软件开发+ 优点:=> 降低了在一个增量上的开支风险=> 降低了产品无法按照既定进度进入市场的风险=> 加快了整个开发工作的进度=> 更适应需求的变化

4. 敏捷开发(Scrum)模型

+ 软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征+ 优点:灵活,充分的利用了每个开发者的优势。+ 缺点:没有文档就会造成在交接的过程中出现很大的困难。

5. 增量模型

+ 由少到多的进行开发,先完成一部分功能,然后再完成一部分功能,直至完成整个软件。例如先开发出功能A、B,然后开发出功能C、D,最后开发出功能E。+ 优点:=> 1. 能在较短的时间内向用户提交可完成部分工作的产品=> 2. 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展=> 3. 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统=> 4. 开发顺序灵活。+ 缺点:=> 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,可能会带来一定的风险,这需要软件具备开放式的体系结构+ 增量模型一般会和迭代模型一起运用1) 软件增加了新功能2) 优化了....功能3) 修复了某些未知/已知 bug

6. 快速原型模型

+ 迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。+ 典型应用和工具:Axure软件 -> 制作原型+ 优点:减少由于软件需求不明确带来的开发风险,互动性更高更容易了解客户需求

Axure中文网

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。