一 软件生命周期
1.可行性研究与计划
2.需求分析
3.概要设计
4.详细设计
5.实现
6.集成测试
7.确认测试
8.使用和维护
?
二 软件开发模型
1 瀑布模型
2 瀑布V模型
?? 演化模型
3 螺旋模型: 每一周期包括 需求定义,风险分析,工程实现,评审 4个阶段 ,强调 风险分析,基本做法是在每一个开发阶段前,引入一个非常严格的风险识别,风险分析,和风险控制 .
4 增量模型: 有两种策略,一种是增量发布,一种是原型法?? 原型的主要目的是为了获得精确的用户需求,或验证架构的可用性
5 构件组装模型:? ? 一般开发过程是 设计构件组装,建立构件库,构建应用软件,测试与发布
?
三 统一过程UP
时间主线是横轴的阶段,纵轴是工作流程? 软件开发活动要经过 初始,细化,构建,交付 四个阶段完成?
初始: 业务建模 需求工作
细化: 分析和设计工作
构建: 实施和测试
交付: 重构 修改 测试和部署
?
9个核心工作流
工程活动: 业务建模 需求 分析设计 实施 测试 部署
管理活动:配置与变更管理 项目管理 环境
?
UP四个里程碑:
1 目标里程碑
2 架构里程碑
3 能力里程碑
4 发布里程碑
?
?
四 敏捷方法 11种
极限编程:
1 核心: 沟通,简单,反馈,勇气
2 12个最佳实践:?
?
特征驱动开发
精益软件开发
?
?
五 软件重用
软件重用形式:?
1 源代码重用
2 架构重用
3 应用框架的重用
4 业务建模的重用
5 文档及过程的重用
6 软构件的重用
7 软件服务的重用
?
构件技术?
1构件特性: 自包容,可重用
?
?
六 形式化方法(?)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?