中级软件设计师 第五章软件工程笔记

第五章 软件工程

1.能力模型

1.1CMM(能力成熟度模型)

国际公认重要标准对软件公司进行成熟度等级认证,采用更成熟的CMM模型一般来说可以提高最终产品质量。

1.2CMMI(能力成熟度集成模型)

一般用来衡量企业,CMMI的任务是将已有的几个CMM模型结合在一起,使之构造成为“集成模型”

CMMI提供了两种表示方式:阶段式模型和连续式模型

阶段式类似于CMM,以下是连续式模型:

CL0(未完成的):未执行过程,表明过程域的一个或多个符足目仍没有被满足;CL1(已执行的):过程通过转化可识别的输入工作产品,产生可识别的输出工作产品,关注于过程域的特定目标的完成;CL2(已管理的):过程作为已管理的过程制度化,关注于针对单个过程实例的能力;CL3(已定义的):过程作为已定义的过程制度化,关注过程的组织级标准化和部署;CL4(定量管理的):过程作为定量管理的过程制度化;CL5(优化的):过程作为优化的过程制度化,表明过程得到很好地执行且持续得到改进。

2.开发模型

2.1瀑布模型

瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护,它规定了由前到后、相互衔接的固定次序,如瀑布流水逐级下落。

V模型是瀑布模型的变体,将测试和分析与设计关联

  • 瀑布模式适合开发需求明确的难以适应变化的需求,需求大致固定不会随意变更的系统(题目中写明有类似开发经验那就是暗示该系统的需求明确替换原有系统也是暗示需求明确)

  • V模式的关键字在于质量保证活动和沟通,基本问题逐步细化

2.2增量模型

增量模型拥有瀑布模型的所有优点,它主要的特点是可以快速构造可运行的产品 、强调开发阶段性早期计划、开发由增量表示的小系统所承担的风险小、第一个可交付版本所需要的时间少和成本低。

缺点是管理发生的成本、进度和配置的复杂性可能会超出组织的能力。

2.3演化模型

演化模型特别适用于对软件需求缺发准确认识的情况,典型的演化模型有原型模型、螺旋模型

2.3.1原型模型

在整个开发过程中用户可能会产生新的要求导致需求的变更,而瀑布模型难以适应这种需求的不确定性和变化,而原型模型比较适合于需求不清、需求经常变化,当系统规模不是很大也不太复杂的情况。原型模型的目的是能够快速、低成本地构建原型,能够迅速地开发出一个让用户看得到、摸得着的系统框架,它开始于沟通其目的是定义软件的总体。

需求变化不大系统规模也不太复杂时,采用结构化开发方法。

2.3.2螺旋模型

螺旋模型将瀑布模型和演化模型结合起来,特点是加入了风险分析,适合大规模高风险的,需求变化的系统

螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合,每个螺旋周期分为4个工作步骤:制定计划、风险分析、实施工程、用户评估

螺旋模型是以风险为驱动的,要求开发人员必须具有丰富的风险评价知识和经验。

优点:支持用户需求的动态变化、提高了软件的适应能力降低了软件开发的风险、包含维护周期维护和开发没有本质区别。

缺点:过多的迭代次数可能会增加开发成本,进而延迟提交时间

2.4喷泉模型

喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适用于面向对象的开发方法,喷泉模型使开发过程具有迭代性和无间隙性。其中无间隙是指开发活动之间不存在明显的边界允许各开发活动交叉、迭代地进行。

喷泉模型克服了瀑布模型不支持软件重用和多项开发活动集成地局限性

优点:提高了软件开发效率,节省开发时间

缺点:不利于项目管理且要求严格管理文档,审核难度加大。

2.5统一过程模型(UP)

统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值