本科课程:软件工程-软件构件与软件重用(二)

一、统一过程模型(RUP)

适用于大规模软件的开发
四个阶段:初始阶段、细化阶段、构造阶段、交付阶段
每个阶段:里程碑,阶段评估

初始阶段: 明确项目目标
产出:1、项目蓝图
2、初始用例模型、初始项目术语表
3、初始风险评估、项目计划
4、业务模型、若干原型
里程碑:明确生命周期的目标

细化阶段: 明确设计方案

产出:1、用例模型、需求模型
2、软件体系结构描述、设计模型、软件原型
3、风险评估、成本估算、进度时间的审核标准
4、
里程碑:

构造阶段: 开发软件产品
采用:增量/迭代模型
建立:并行开发机制
产出:1、特定平台上的继承产品
2、用户手册
3、

交付阶段: 达成读评估
产出:1、达成度评估报告
2、达成的产品
3、用户文档
里程碑:产品的发布

RUP的特点:
1、采用二位结构
2、采用UML工具和方法
3、以用例驱动,以体系结构为核心
4、集成分阶段、增量、迭代、风险、面向对象过程模型的优点

优点:迭代的优势

  • 减小风险
    可基于rational提供的工具完成活动

二、敏捷开发过程模型

敏捷开发过程更加强调增量迭代过程来快速构件软件

敏捷开发流程:
1、市场需求、创意规划
2、全局设计、功能设计、增量迭代设计
3、增量开发
4、增量成品软件

学术观点:
1、总目标是尽可能早的并持续地交付有价值的软件是客户满意
2、应对用户需求的频繁变化

常用的方法:
1、极限编程(XP)
2、敏捷统一过程模型(AUP)
3、自适应软件方法(ASD)
4、动态系统开发方法(DSDM)
5、特性驱动开发(FDD)
6、敏捷迭代的增量和过程(SCKDM)

极限编程

学术观点:
1、沟通、简明、反馈、勇气。即通过充分的沟通,使产品的设计尽可能地明了。
2、12个实践技巧:
开发人员的编程技巧
采用构件思想→进行简单设计→结对互助编程→测试驱动开发(TDD)
小组的实践方法
编码规范代码共享→稳定的进度→隐喻(在代码仲体现未来的整体)→持续集成
项目整体的实践方式
团队协作 + 整体规划 → 不间断的小版本发布 → 客户测试

敏捷统一过程模型(AUP)

自适应软件开发(ASD)

基于复杂系统混沌理论的指导高速度、高变化软件项目开发的框架

精益软件卡法方法(Lean)

主要观点:延迟决策、尽早交付

动态系统开发方法

它讨论了包括组织结构、项目管理、估算、工具环境、测试、配置管理、风险管理、重用等各个方面的内容

特性驱动开发

以功能特性为开发粒度通过构件及时地构建软件

敏捷迭代的增量和过程

发布产品的重要性高于一切,团队根据小版本软件进行决策。

软件工程方法论:
重量级方法:CMM能力成熟度模型、RUP统一软件开发过程
轻量级方法:XP极限编程、ASD敏捷软件开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值