统一软件开发过程概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 统一过程的历史
2020/1/12
上海交通大学计算机科学与工程系
1
统一过程的历史(1)
Ericsson方法
1967年,Ericsson公司将整个系统模型转化成相互 联系的模块的集合。他们用底层的模块装配成较高层 的子系统,使整个系统易于管理。通过遍历以前曾详 细描述过程的业务实例来发现这些模块。对每一个业 务实例,识别出其实现所需的相关模块。了解模块的 职能后,他们就编制每一个模块的规格说明,设计出 一批带有接口的静态模块图,将其组合成子系统。
人员至关重要 开发过程影响人员
项目可行性 风险管理 团队结构 项目计划 项目的可理解性 成就感
2020/1/12
上海交通大学计算机科学与工程系
9
软件开发方式正在发生变化,对人员的要求也在
发生变化
基于角色的人员管理
角色是对需要执行的任务和拥有的产品的抽象定义 角色通常由单个人或者多个人构成的团队来实现 角色不是个人;相反,角色描述了单个人的业务表现
抽象
每个模型是系统自包含的视图,即用户不需要其
他信息(即从其他模型)就可解释该系统
模型内部由元素构成
2020/1/12
上海交通大学计算机科学与工程系
14
一个系统包含了不同模型中模型元素之间的所有
关系和约束。因此,一个系统不仅是其模型的集 合,而且也是模型间关系的集合。
例如:用例模型中的每个用例与分析模型中的协
2020/1/12
上海交通大学计算机科学与工程系
5
2. 统一过程的概述
2020/1/12
上海交通大学计算机科学与工程系
6
2.1 统一过程概述
统一过程是一个通用的过程框架,可用于各种不同类型
的软件系统、各种不同的应用领域、各种不同类型的组 织、各种不同的功能级别以及各种不同的项目规模
统一过程是基于构件的。通过软件构件的接口相互连接
组织模式(an organizational pattern):一个项目 包括一组人员,他们被指派在业务约束(即时间、成 本和质量)的范围内实现某种结果。
2020/1/12
上海交通大学计算机科学与工程系
11
?
二进制代码 程序源代码 用例,类图,交互图,……
和单个人所负有的责任 一个人可以担任多种角色,一种角色可以由多个人来
担任
2020/1/12
上海交通大学计算机科学与工程系
10
(2)项目创造产品
一个开发项目将会得到一种产品的新版本
一系列变换(a sequence of change)每次变化产 生一个系统版本(release)
一系列迭代(a series of iterations):在一个周期 的每个阶段,工作人员通过一系列的迭代完成该阶段 的活动。每一次迭代都会实现一些有关的用例或降低 某些风险。
本质上,该方法就是基于构件的开发。Ivar Jacobson是该方法的创始人。
2020/1/12
上海交通大学计算机科学与工程系
2
统一过程的历史(2)
规格说明与描述语言SDL
1976年,CCITT公布了用以描述电信系统中功能行 为的规格说明与描述语言。该标准受Ericsson的重大 影响,用一系列相互关联的模块来刻划一个系统,各 模块之间仅仅通过消息来相互通信。每一个模块都拥 有一系列的过程,它们是SDL语言中的主动类。一个 过程拥有实例,过程实例通过消息产生交互。SDL推 荐的图可以看成UML中的类图,活动图,协作图和顺 序图的特化。
统一过程给出了经过仔细选择的模型集合。模型
集合向所有人员阐明该系统。模型的选用应该能 够满足所有人员对信息的需要。
2020/1/12
上海交通大学计算机科学与工程系
13
模型是对系统的一种抽象,从某个视点、在某种
抽象层次上详细说明被建模的系统,例如,一种 视点为系统的规格说明视图或设计视图
模型也是对构架设计师和开发人员构造的系统的
SDL目前还被一些人使用,总的趋势是被UML代替。
2020/1/12
上海交通大学计算机科学与工程系
3
统一过程的历史(3)
对象工厂
1987年,Ivar Jacobson离开了Ericsson公司,在 斯德哥尔摩建立了Object AB。在此后的八年中,他 和助手一起开发了一个称为对象工厂的过程产品。
对象工厂中将相继的工作流表示为一系列的模型:需 求-用例、分析、设计、实现和测试。每个模型是对 一个系统的一种刻划。
对象工厂过程在发展中产生了一系列版本,从1988 年的objectory 1.0 到1995年的第一个在线版本 0bjectory 3.8版本。
2020/1/12
上海交通大学计算机科学与工程系
4
统一过程的历史(4)
Rational方法
Rational公司在1995年秋季引进了Objectory AB并 在已有的软件开发过程基础上统一了基本原则,从而 获得了新的突破。强调了构架和迭代式开发。形成了 Rational对象工厂过程4.1版本。
1998年中期,Rational对象工厂过程已经完全成熟, 能够支持整个软件开发生命周期。1998年6月发表了 该产品的新版本Rational统一过程RUP5.0版本。
作具有一定的关系(反之也然)。这样的关系在 UML中被称为跟踪依赖,简称为跟踪
用例模型 分析模型
系统是给机器或人员提供表示的所有制品 制品(artifact)表示在系统开发过程中由工作人
员创建、生产、修改或使用的各种信息
两类制品:工程制品、管理制品
2020/1/12
上海交通大学计算机科学与工程系
12
(4)系统包含一组模型
构造系统就是一个构造模型的过程,即采用不同
的模型来描述系统所有不同视角的过程
成整个系统。
统一过程使用UML制定软件系统的所有蓝图 统一过程的特点:
用例驱动 以构架为中心 迭代和增量
2020/1/12
上海交通大学计算机科学与工程系
7
2.2 软件开发的要素
过程
模板
人员
项目
参与者
结果
产品
自动化
工具
2020/1/12
上海交通大学计算机科学与工程系
8
(1)软件开发的要素:人员
2020/1/12
上海交通大学计算机科学与工程系
1
统一过程的历史(1)
Ericsson方法
1967年,Ericsson公司将整个系统模型转化成相互 联系的模块的集合。他们用底层的模块装配成较高层 的子系统,使整个系统易于管理。通过遍历以前曾详 细描述过程的业务实例来发现这些模块。对每一个业 务实例,识别出其实现所需的相关模块。了解模块的 职能后,他们就编制每一个模块的规格说明,设计出 一批带有接口的静态模块图,将其组合成子系统。
人员至关重要 开发过程影响人员
项目可行性 风险管理 团队结构 项目计划 项目的可理解性 成就感
2020/1/12
上海交通大学计算机科学与工程系
9
软件开发方式正在发生变化,对人员的要求也在
发生变化
基于角色的人员管理
角色是对需要执行的任务和拥有的产品的抽象定义 角色通常由单个人或者多个人构成的团队来实现 角色不是个人;相反,角色描述了单个人的业务表现
抽象
每个模型是系统自包含的视图,即用户不需要其
他信息(即从其他模型)就可解释该系统
模型内部由元素构成
2020/1/12
上海交通大学计算机科学与工程系
14
一个系统包含了不同模型中模型元素之间的所有
关系和约束。因此,一个系统不仅是其模型的集 合,而且也是模型间关系的集合。
例如:用例模型中的每个用例与分析模型中的协
2020/1/12
上海交通大学计算机科学与工程系
5
2. 统一过程的概述
2020/1/12
上海交通大学计算机科学与工程系
6
2.1 统一过程概述
统一过程是一个通用的过程框架,可用于各种不同类型
的软件系统、各种不同的应用领域、各种不同类型的组 织、各种不同的功能级别以及各种不同的项目规模
统一过程是基于构件的。通过软件构件的接口相互连接
组织模式(an organizational pattern):一个项目 包括一组人员,他们被指派在业务约束(即时间、成 本和质量)的范围内实现某种结果。
2020/1/12
上海交通大学计算机科学与工程系
11
?
二进制代码 程序源代码 用例,类图,交互图,……
和单个人所负有的责任 一个人可以担任多种角色,一种角色可以由多个人来
担任
2020/1/12
上海交通大学计算机科学与工程系
10
(2)项目创造产品
一个开发项目将会得到一种产品的新版本
一系列变换(a sequence of change)每次变化产 生一个系统版本(release)
一系列迭代(a series of iterations):在一个周期 的每个阶段,工作人员通过一系列的迭代完成该阶段 的活动。每一次迭代都会实现一些有关的用例或降低 某些风险。
本质上,该方法就是基于构件的开发。Ivar Jacobson是该方法的创始人。
2020/1/12
上海交通大学计算机科学与工程系
2
统一过程的历史(2)
规格说明与描述语言SDL
1976年,CCITT公布了用以描述电信系统中功能行 为的规格说明与描述语言。该标准受Ericsson的重大 影响,用一系列相互关联的模块来刻划一个系统,各 模块之间仅仅通过消息来相互通信。每一个模块都拥 有一系列的过程,它们是SDL语言中的主动类。一个 过程拥有实例,过程实例通过消息产生交互。SDL推 荐的图可以看成UML中的类图,活动图,协作图和顺 序图的特化。
统一过程给出了经过仔细选择的模型集合。模型
集合向所有人员阐明该系统。模型的选用应该能 够满足所有人员对信息的需要。
2020/1/12
上海交通大学计算机科学与工程系
13
模型是对系统的一种抽象,从某个视点、在某种
抽象层次上详细说明被建模的系统,例如,一种 视点为系统的规格说明视图或设计视图
模型也是对构架设计师和开发人员构造的系统的
SDL目前还被一些人使用,总的趋势是被UML代替。
2020/1/12
上海交通大学计算机科学与工程系
3
统一过程的历史(3)
对象工厂
1987年,Ivar Jacobson离开了Ericsson公司,在 斯德哥尔摩建立了Object AB。在此后的八年中,他 和助手一起开发了一个称为对象工厂的过程产品。
对象工厂中将相继的工作流表示为一系列的模型:需 求-用例、分析、设计、实现和测试。每个模型是对 一个系统的一种刻划。
对象工厂过程在发展中产生了一系列版本,从1988 年的objectory 1.0 到1995年的第一个在线版本 0bjectory 3.8版本。
2020/1/12
上海交通大学计算机科学与工程系
4
统一过程的历史(4)
Rational方法
Rational公司在1995年秋季引进了Objectory AB并 在已有的软件开发过程基础上统一了基本原则,从而 获得了新的突破。强调了构架和迭代式开发。形成了 Rational对象工厂过程4.1版本。
1998年中期,Rational对象工厂过程已经完全成熟, 能够支持整个软件开发生命周期。1998年6月发表了 该产品的新版本Rational统一过程RUP5.0版本。
作具有一定的关系(反之也然)。这样的关系在 UML中被称为跟踪依赖,简称为跟踪
用例模型 分析模型
系统是给机器或人员提供表示的所有制品 制品(artifact)表示在系统开发过程中由工作人
员创建、生产、修改或使用的各种信息
两类制品:工程制品、管理制品
2020/1/12
上海交通大学计算机科学与工程系
12
(4)系统包含一组模型
构造系统就是一个构造模型的过程,即采用不同
的模型来描述系统所有不同视角的过程
成整个系统。
统一过程使用UML制定软件系统的所有蓝图 统一过程的特点:
用例驱动 以构架为中心 迭代和增量
2020/1/12
上海交通大学计算机科学与工程系
7
2.2 软件开发的要素
过程
模板
人员
项目
参与者
结果
产品
自动化
工具
2020/1/12
上海交通大学计算机科学与工程系
8
(1)软件开发的要素:人员