软件生命周期与流程

(一)传统软件工程:
分析→设计编码→测试→维护
(二)现代软件工程
1、OOA面向对象 OOD、设计方法等
2、CMMI 软件成熟度模型
CMMI 5:优化级 特征:关注持续过程改进
CMMI 4:量化管理级 特征:关注组织量化
CMMI 3:定义级 特征:关注组织过程的标准化
CMMI 2:管理级 特征:关注基本的项目管理
CMMI 1:初始级 特征:混乱无序
(三)软件生命周期
可行性分析 →需求分析→设计→编码→测试→ 维护
(四)软件开的模型
1)瀑布模型
• 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水逐级下落,最终得到软件产品。
•瀑布模型的核心思想是按工序将问题简化,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为可行性研究与计划、需求分析、设计、编码、测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。如果需求发生变化,而需要逐级返回,修改所有相关的文档及代码。在这里插入图片描述
优点:
•为项目提供了按阶段划分的检查点。
•当前一阶段完成后,才需要去关注后续阶段。
缺点:
•在项目各个阶段之间极少有反馈,它们之间依靠文档来传达所有信息。
•只有在项目生命周期的后期才能看到软件产品。
•通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
•瀑布模型的突出缺点是不能有效地适应用户需求的变化。
2)原型模型
•在项目开发的初始阶段,人们对软件的需求认识往往不够清楚,因而使得开发项目难以做到一次开发成功,出现返工再开发在所难免。
•原型模型的基本思想:在获得用户基本需求说明的基础上,投入少量人力和物力,快速建立一个原始模型,使用户及时运行和看到模型的概貌和使用效果,并对需求说明进行补充和精化,提出改进意见,开发人员进一步修改完善,如此循环迭代,直到得到一个用户满意的模型为止。
在这里插入图片描述
优点:
•改进了用户和软件开发人员的信息交流方式
•对用户需求的变化响应较快,用户满意程度提高
•开发出的软件产品能更好地满足用户的要求
•减少了用户培训时间,简化了管理
缺点:
•开发者为了使一个原型快速运行起来,往往在实现过程中采用折衷的手段,软件系统的组
成部分可能会打折扣。
•资源规划和管理较为困难,随时更新文档也带来麻烦。
•解决复杂系统和大系统问题很困难。
一般使用场合:
•开发者在不了解的应用领域开发
•客户不清楚其所开发软件项目的最终目标。

**原型模型仅用于小项目
3)增量模型
增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品。增量模型是一种非整体开发的模型。是瀑布模型的顺序特征和快速原型模型的迭代特征相结合的产物。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值