Download presentation
Presentation is loading. Please wait.
1
软 件 工 程 第二章 过程
2
第二章 过程 2.1 软件工程: 一种层次化技术 2.2 软件过程 2.3 软件过程模型 2.4 线性顺序模型 2.5 原型实现模型
第二章 过程 2.1 软件工程: 一种层次化技术 2.1.1 过程、方法和工具 2.1.2 软件工程的一般视图 2.2 软件过程 2.3 软件过程模型 2.4 线性顺序模型 2.5 原型实现模型 2.6 RAD模型
3
第二章 过程 2.7 演化软件过程模型 2.8 基于构件的开发 2.9 形式化方法模型 2.10 第四代技术 2.11 过程技术
第二章 过程 2.7 演化软件过程模型 2.7.1 增量模型 2.7.2 螺旋模型 2.7.3 WINWIN螺旋模型 2.7.4 并发开发模型 2.8 基于构件的开发 2.9 形式化方法模型 2.10 第四代技术 2.11 过程技术 2.12 产品和过程 2.13 小结
4
2.1 软件工程: 一种层次化技术 软件工程: (1)将系统化的、严格约束的、可量化的方法 应用于软件的开发、运行和维护,即将工程化应用于软件; (2)在(1)中所述方法的研究。
5
{ 2.1.1过程、方法和工具 软件工程是一种层次化的技术 软件工程的基层是过程层 软件工程的方法层: 软件工程的工具层 需求分析 设计
编程 测试和维护
6
2.1.2软件工程的一般视图 工程是对技术(或社会)实体的: 分析 设计 建造 验证 管理
7
软件工程 要解决的问题是什么? 要用于解决该问题的实体具有什么特点? 如何实现该实体(解决方案)? 如何建造该实体?
采用什么方法去发现该实体设计和建造过程中产生的错误? 当该实体的用户要求修改、适应和增强时,如何支持这些活动?
8
2.1.2软件工程的一般视图 定义阶段集中于“做什么” 开发阶段集中于“如何做” 支持阶段关注于“变化” 纠错 适应 增强 预防 {
9
庇护性活动: · 软件项目追踪和控制 · 正式的技术复审 · 软件质量保证 · 软件配置管理 · 文档的准备和产生 · 可复用管理 · 测试 · 风险管理
10
2.2 软件过程 形式: 一个公共过程框架 若干任务集合 庇护性活动(贯穿于整个过程) 工作任务 项目里程碑、交付物 软件质量保证点 {
11
2.2 软件过程 软件工程实践成熟度级别 符合能力成熟度模型(CMM) 第一级:初始级 第二级:可重复级 第三级:定义级 第四级:管理级 第五级:优化级
12
2.2 软件过程 软件工程功能特征: 目标 承诺 能力 活动 监控实现的方法 验证实现的方法
13
2.2 软件过程 过程成熟度第二级 软件配置管理 软件质量保证 软件子合同管理 软件项目追踪和查错 软件项目计划 需求管理
14
2.2 软件过程 过程成熟度第三级 详细复审 组内协调 软件产品工程 集成的软件管理 培训程序 组织的过程定义 组织的过程焦点
15
2.2 软件过程 过程成熟度第五级 过程变化管理 技术变化管理 缺陷预防 过程成熟度第四级 软件质量管理 定量的过程管理
16
2.3 软件过程模型
17
2.3 软件过程模型 软件开发四个阶段: 状态描述 问题定义 技术开发 方案综述
18
2.4 线性顺序模型 软件工程的线性顺序模型: 系统级 分析 设计 编码 测试和维护
19
线性顺序模型
20
2.4 线性顺序模型 线性顺序模型的活动: 系统/信息工程和建模 软件需求分析 设计 代码生成 测试 支持
21
2.5 原型实现模型 听取客户意见 建造/修改原型 客户测试运行原型
22
2.6 RAD模型 RAD模型几个开发阶段: 业务建模 数据建模 过程建模 应用生成 测试及反复
23
2.7 演化软件过程模型 2.7.1 增量模型 2.7.2 螺旋模型 2.7.3 WINWIN螺旋模型 2.7.4 并发开发模型
24
2.7.1 增量模型 第一个增量 基本的文件管理、编辑和文 档生成功能 第二个增量 完善的编辑和文档生成能力
增量模型 第一个增量 基本的文件管理、编辑和文 档生成功能 第二个增量 完善的编辑和文档生成能力 第三个增量 实现拼写和文法检查功能 第四个增量 完成高级的页面布局功能
25
2.7.2 螺旋模型 螺旋模型六个任务区: ·客户交流 ·计划 ·风险分析 ·工程 ·构造及发布 ·客户评估
26
2.7.3 WINWIN螺旋模型 WINWIN螺旋模型的活动: 1. 系统或子系统的关键“风险承担者”的标识
2. 风险承担者的“赢条件”的确定 3. 风险承担者的赢条件谈判,以将它们协调 为一组满足各方考虑的双赢条件
27
WINWIN螺旋模型三个过程里程碑 -- 抛锚点
第一个抛锚点称为 生存周期目标(LCO) 第二个抛锚点称为 生存周期体系结构(LCA) 第三个抛锚点称为 初始操作能力 (IOC)
28
2.7.4 并发开发模型 并发过程模型常用于C/S应用的开发范型。 并发过程模型的两维: 并发性通过两种方式实现: 系统维:设计、组装和使用
2.7.4 并发开发模型 并发过程模型常用于C/S应用的开发范型。 并发过程模型的两维: 系统维:设计、组装和使用 构件维:设计和实现 并发性通过两种方式实现: 系统维和构件维活动同时发生,并可使用面向状态方法进行建模; 典型的C/S应用是通过多个构件实现的,每个构 件可并发设计和实现。
29
2.8 基于构件的开发(CBD)
30
2.9 形式化方法模型 形式化方法是软件工程师能通过应用一个严格的、 数学的符号体系来规约、开发和验证基于计算机的 系统。如净室软件工程。
2.9 形式化方法模型 形式化方法是软件工程师能通过应用一个严格的、 数学的符号体系来规约、开发和验证基于计算机的 系统。如净室软件工程。 形式化方法模型的缺陷: 1.形式化模型的开发目前还很费时和昂贵。 2.因为很少有软件开发者具有使用形式化方法所需的背景知识,所以尚需多方面的进行培训。 3.难以使用该模型作为与对其一无所知的用户进行通信的机制。
31
2.10 第四代技术 (4GT) 1 .与计算机辅助软件工程结合,提供了可靠 的解决方案;
1 .与计算机辅助软件工程结合,提供了可靠 的解决方案; 2 .对于小型和中型的应用,生产软件所需的 时间大大降低; 3 .在大型软件项目中需要更多的分析、设计 和测试。
32
2.11 过程技术 过程技术检查表: 要完成的工作任务 要开发的工作产品 要实现的质量保证活动
33
2.12 产品和过程 产品和过程的二元性: 如果过程很弱,最终产品不可避免会出问题,但过分依赖过程也是很危险的。
34
2.13 小结 软件工程在开发中集成了: 过程 方法 工具
Similar presentations