软件工程生命周期模型对比分析
软件工程生命周期模型对比分析
本文共1515个字,预计阅读时间需要5分钟。
文章目录
- 迭代-递增生命周期模型
- 增量模型
- 进化树模型
- 编码-修补生命周期模型
- 瀑布生命周期模型
- 快速原型开发生命周期模型
- 开源生命周期模型
- 同步-稳定生命周期模型
- 敏捷过程
- 螺旋生命周期模型
- 总结
- 参考资料
正如任何事物一样,软件也有其孕育、诞生、成长、成熟和衰亡的生存过程,一般称其为“软件生命周期”。软件生命周期一般分为6个阶段,即制定计划、需求分析、设计、编码、测试、运行和维护。软件开发的各个阶段之间的关系不可能是顺序且线性的,而应该是带有反馈的迭代过程。在软件工程中,这个复杂的过程用软件开发模型来描述和表示。
迭代-递增生命周期模型
长处:
①与现实世界软件开发最接近的模型,蕴含统一过程方法
②为检查软件产品提供多个机会,每个迭代包括测试流
③在早期可以确定其蕴含的结构的健壮性
④能够较早地减轻风险
⑤我们总是有该软件的一个工作版
关键词:米勒法则、逐步求精
增量模型
在有限的时间内,在一套功能有限的版本的基础上不断扩充。
使用条件:开发时间有限、开发人员不足、有明确的初期模型
任务流:线性、并行(需求不断地加入任务流)
注意点:
①第一个增量是核心产品,满足用户基本需求。
②根据客户使用进行评价、制定增量计划。
③每个增量都是可运行的产品。
进化树模型
长处:与现实世界软件开发最接近的模型,与迭代递增模型等价。
编码-修补生命周期模型
长处:适用于不需要任何维护的小程序
短处:总的来说不适合重要的程序
注意点:维护工作昂贵
瀑布生命周期模型
系统顺序的开发方法
使用条件:①可以清楚地了解用户的需求②需求必须准确定义和相对稳定
任务流:线性任务流
注意点:
①不适用项目的不断变更
②不适用需求不确定的项目
③不可违反开发顺序
④文档驱动(也是弱点)
长处:纪律性强制的方法、文档驱动(也是弱点)
短处:交付的产品可能不符合客户的要求
快速原型开发生命周期模型
每次迭代都会产生一个更加完整的版本
使用条件:①用户提出最基本的需求,没有定义更加具体的功能特性②对算法效率,操作系统不确定。
任务流:迭代/(线性)
注意点:① 开发者对原型随意搭建②为了加速构建,使用不合适的OS③速度是关键
长处:确保交付的产品符合客户的要求
短处:还没有证明无懈可击
开源生命周期模型
关键词:
①报告并纠正缺点是纠正性维护
②添加额外功能是完善性维护
③为该程序向一个新环境转换接口是适应性维护
长处:少量实例中工作得相当好(Linux、Apache、gcc)
短处:实用性有限,通常不起作用
同步-稳定生命周期模型
关键词:同步、稳定化、冻结
长处:能满足未来用户的要求,确保各组件能够成功集成
短处:除了在Microsoft公司,还没有广泛应用
敏捷过程
有效响应变化+哲学思想
关键:①有效沟通②强调最终产品快速交付③将客户融入团队④可以灵活调整计划
特点:
①团队小——小而高度自主
②产品快——可以快速交付成功的系统
③过程灵——最小化软件工作产品,对整体精简开发,对变更有更良好的响应。
关键词:
①测试驱动开发(TDD):制定出任务的测试用例
②结对编程(pair programming)
③时光盒(timeboxing):频繁交付软件
④站立会议(stand-up meeting)
长处:客户需求模糊时能很好地工作
短处:似乎只适合小项目
螺旋生命周期模型
长处:风险驱动
短处:只适合用于大型的内部软件产品,开发者必须精通风险分析和风险排除
径坐标代表迄今累计的成本,角坐标代表螺旋型的进展,螺旋的每一圈对应一个阶段,每个阶段开始于(左上)确定该阶段的目标、实现办法、限制条件,如果成功减少风险,则进入下一个阶段(右下)
总结
参考资料
①https://wenku.baidu.com/view/718cb107aaea998fcc220e70.html
②http://www.docin.com/p-1165870498.html
③http://blog.sina.com.cn/s/blog_75f397940101dgmj.html
相关文章
- 组合模式与职责链模式编程实现
- 软件测试——测试计划
- 享元模式C++实现(flyweight)
- 适配器模式C++实现
- 装饰模式C++实现(decorator)
- 软件测试——黑盒测试
- 面向对象设计原则之开闭原则
- Web链接测试——Omegaxyz.com测试报告
- 抽象工厂模式与单件模式C++混合实现
- 资金的时间价值与风险型软件项目成本效益
评分人数: 1 平均分: 5
软件工程生命周期模型对比分析相关推荐
- 软件工程生命周期模型_软件生命周期模型比较| 软件工程
软件工程生命周期模型 软件生命周期模型 (Software Lifecycle Models) There are five software lifecycle models that are co ...
- 软件工程----生命周期模型
生命周期模型 1. 1 .瀑布模型 瀑布模型是一个经典的软件生命周期模型,一般将软件开发分为可行性分析(计划).需求分析.软件设计(概要设计.详细设计).编码(含单元测试).测试.运行维护等几个阶段 ...
- 【软件工程】软件生命周期模型 --- 瀑布模型、快速原型模型、增量模型、螺旋模型及喷泉模型
软件生命周期模型是跨越整个生存期的系统开发.运作和维护所实施的全部过程.活动和任务的结构框架. 下面介绍几种常见的软件生命周期模型: 瀑布模型 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接 ...
- 【软件工程(一)】软件工程概述+软件生命周期模型
文章目录 软件工程概述 软件的定义 软件的分类 软件工程要素.目标和原则 软件工程知识体系知识域 软件生命周期模型 工程过程 传统模型种类 瀑布模型 演化模型 增量模型 喷泉模型 V模型和W模型 螺旋 ...
- 软件开发生命周期中的设计阶段_什么是软件生命周期模型?软件测试和软件开发的关系分析!...
软件生命周期这个词,对于大部分人应该比较陌生,但却不容忽视!正因为它的重要性,才有许多不同的软件开发生命周期模型,但是它们都有一个共同的特点,那就是在生命周期中的某一时刻,软件都会被测试.今天我就和大 ...
- 二、软件工程 / 生命周期 / 软件开发模型
软件测试 软件危机和软件工程 软件生命周期 软件生命周期模型 1. 瀑布模型 2. 螺旋模型 3. 迭代模型 4. 敏捷开发(Scrum)模型 5. 增量模型 6. 快速原型模型 软件危机和软件工程 ...
- 【分析方法】用户生命周期模型
一.用户生命周期模型 从用户接触产品到离开产品的全过程.用户的生命周期长短将直接影响产品与企业的营收,因此将用户生命周期科学地量化,在合适地时候做出合适地运营策略,从而延长用户地生命周期.
- 2-软件生命周期模型
软件生命周期模型 软件工程过程 工程项目的PDCA循环(戴明环) 美国质量管理专家戴明博士针对工程项目的质量目标,将全面质量管理思想引入工程项目过程,提出了PDCA循环,也称为戴明环. 即Plan(规 ...
- 生命周期模型_建立从思想到价值的生命周期模型
生命周期模型 数据科学家来自火星,软件工程师来自金星(第4部分)(DATA SCIENTISTS ARE FROM MARS AND SOFTWARE ENGINEERS ARE FROM VENUS ...
最新文章
- 《快速构建Windows 8风格应用》系列文章汇总
- 神经网络 | 网络优化-线性神经网络-delta学习规则-梯度下降法(线性神经网络-异或问题Python源代码)
- 戴尔笔记本win8全新安装
- B1有个自定义表操作慢
- 计算机主机的奥秘,揭秘网吧电脑为何流畅的奥秘
- Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
- 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度转
- c语言马拉松试题,C语言马拉松_04.2_函数与指针
- latex 引用网页 网址 网站 格式
- tail -f 命令卡住
- android gps 获取方位_Android通过gps获取定位的位置数据和gps经纬度
- [国家集训队]Tree I
- 基于pytorch使用LSTM进行虎年春联生成
- PS基础全讲和使用技巧(二)
- linux 进程 ldt,LInux 描述符GDT, IDT LDT结构定义
- p2psear正在连接服务器,P2PSearcher无法连接到网络,也无法连接到服务器
- 微信H5调试Vconsole
- Win10 不支持 Miracast 无法投影解决方案
- python高斯噪声怎么去除_Python图像处理之Pillow--ImageFilter介绍
- acm比赛经验(转)