第2章 RUP软件开发过程
第2章 RUP软件开发过程
2.3 RUP的静态结构 8. 项目管理 软件项目管理平衡各种可能产生冲突的目标, 管理风险,克服各种约束并成功交付使用户满 意的产品。 其目标包括:为项目的管理提供框架,为计划、 人员配备、执行和监控项目提供实用的准则, 为管理风险提供框架等。
2.3 RUP的静态结构 9. 环境 环境工作流的目的是向软件开发组织提供软件 开发环境,包括过程和工具。 环境工作流集中于配置项目过程中所需要的活动, 同样也支持开发项目规范的活动,提供了过程 指导手册并指导项目组如何来实现过程。环境 工作流的重点是在项目环境中,进行软件开发 过程的配置活动。
2.6 RUP的工件 工件是项目期间生成并使用的最终或中间产物。 工件用于获取和传达项目信息。 工件可以是文档、模型或模型元素。例如商业理 由或软件构架文档,用例模型或设计模型,还 有像子系统这样的模型元素。 为使整个软件系统的开发易于管理,工件根据 核心工作流程组织成各个集合。有些工件在若 干核心工作流程中都要用到(例如:风睑列表、 软件构架文档和迭代计划)。这些工件属于最 初生成它们的核心工作流程。在RUP中每个阶 段的核心活动都产生文档 。
2.7 小结 为了有效组织开发和进行交流,团队中所有的 成员需要使用公共的过程、公共的表达语言、 以及支持该语言和过程的工具。RUP就是这样 一种公共过程,而且已经在多个软件开发组织 的实践中被证实可以有效解决上述矛盾。统一 建模语言(UML)则可以作为开发团队的公共 语言。UML不是完整的开发方法,UML规范 也没有定义标准的过程,而RUP则是有效使用 UML的指南。
2.2 RUP过程框架 2.2.1 RUP过程框架模型
使用RUP开发软件产品,每个软件产品的开发 过程都应该包括多次循环。每个循环包括四个 阶段:初始(先启 )、细化、构建和产品化。每 个阶段又包括多个迭代过程。
RUP开发过程与UML建模
•分析问题域,建立坚实的架构
•细化架构并选择组件•捕获80Βιβλιοθήκη 的功能需求用例•精化风险评估
•建立可执行的软件原型
•定义非功能需求
2020年•9制月1定3日过3时程5分 迭代计划和迭代的评价标准
12
细化阶段的重点:
细化阶段主要关注需求、分析和设计工作流。每个工作流关注
如下各项。
•需求——精化系统范围和需求 •分析——确定构造什么 •设计——创建稳定的架构 •实现——构造架构基线 •测试——测试架构基线
▪ Rational公司的RUP发展而来的一套软件工程方法, 是目前最有效的软件开发过程模型。
▪ 基于构件的 ▪ 用UML制定软件系统所有蓝图 ▪ 突出特点:用例驱动、架构优先、迭代和增量过程 ▪ 四个阶段:初始、细化、构造、移交 ▪ 强调开发过程
▪ 五个核心工作流:需求捕获、分析、设计、实现、 测试
2020年9月13日3时5分
4
1 软件开发的几个指导原则及模型的概念
▪ 1、软件开发的三个指导原则:
• 分阶段进行(定义、开发、运行维护) • 大开发任务划分成独立的小块任务(模块化)高内
聚(模块内各元素彼此紧密结合)低耦合(模块间互 联程度低) • 从抽象到具体逐步深入解决问题(逐步求精)
▪ 2、模型的概念:
• 是人们对现实世界理解的表达(一般对应一些图表)
2020年9月13日3时5分
5
2 统一软件开发过程RUP
2.1 统一过程概述 2.2 统一过程的四个工作阶段 2.3 统一过程的五个核心工作流 2.4 统一软件开发过程的生命周期 2.5 RUP开发过程的特点
2020年9月13日3时5分
6
2.1 统一过程概述
软件开发统一过程(RUP)
元模型(meta model) 层组成了UML 的基本元素包
括面向对象和面向组件的概念通常叫做类模型
class model 或类型模型type model
UML 的架构
模型model 层组成了UML 的模型这一层中
的每个概念都是元模型层中概念的一个实
例通过版类化这一层的模型通常叫做类模
和它们之间的关系
UML 的模型视图图与系统架构建模
状态图 (State diagram )
描述了系统元素的状态条件和
UML 的模型视图图与系统架构建模
响应活动图Activity diagram
描述了了系统元素的活动
UML 的模型视图图与系统架构建模
组件图(构件图)(Component diagram)
Class Diagrams,细化类设计。
6. 为Sequence Diagrams中Objects指定对应
Class;
7. 设计系统实现结构,为各个Classes和
Packages指定实现的Component,并画出初步
Component Diagrams。
UML讲解
了解UML
UML 的架构
了解UML
型class model 或类型模型type model
用户模型user model 层这层中的所有元素都
是UML 模型的例子这一层中的每个概念都
是模型层的一个实例
UML 的模型视图图
静态视图
用例图、类图、对象图、组件图、展开图
动态视图
状态图、序列图、活动图、协作图
软件项目开发流程RUP
软件项目开发流程RUPRUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。
RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
一、六大经验迭代式开发。
在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。
实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。
迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。
迭代式开发不仅可以降低项目的风险,而且每个迭代过程以可以执行版本结束,可以鼓舞开发人员。
管理需求。
确定系统的需求是一个连续的过程,开发人员在开发系统之前不可能完全详细的说明一个系统的真正需求。
RUP描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用以被证明是捕获功能性需求的有效方法。
基于组件的体系结构。
组件使重用成为可能,系统可以由组件组成。
基于独立的、可替换的、模块化组件的体系结构有助于管理复杂性,提高重用率。
RUP 描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构。
可视化建模。
RUP往往和UML联系在一起,对软件系统建立可视化模型帮助人们提供管理软件复杂性的能力。
RUP告诉我们如何可视化的对软件系统建模,获取有关体系结构于组件的结构和行为信息。
项目管理论坛验证软件质量。
在RUP中软件质量评估不再是事后进行或单独小组进行的分离活动,而是内建于过程中的所有活动,这样可以及早发现软件中的缺陷。
RUP开发过程与UML建模E8BDAFE4BBB6E5B7A5E7A88Bchap2
16
4)交付阶段 交付阶段的目标:
•试用产品并改正试用中发现的缺陷 •制作安装版并培训用户 •提供在线支持
交付阶段的主要活动: • 将软件系统部署到用户环境
• 修复软件的缺陷 • 编制用户手册和其它文档 • 培训段的重点: 交付阶段主要关注系统的测试和配置工作流。每个工作流关注如下 各项。
2011年11月4日11时10分
1
软件开发过程是指为生产某个软件产品或系统,需要什么人在什 么时候以何种方式进行何种活动的集合。
2011年11月4日11时10分
2
软件开发项目失败的共同症状: ① 对于最终用户的需求理解得不够精确。 ② 不能处理需求变更。 ③ 模块之间不兼容。 ④ 软件不易维护和扩展。 ⑤ 对项目的严重缺陷发现较晚。 ⑥ 软件质量低劣。 ⑦ 软件性能无法令人接受。 ⑧ 团队中人员按各自的开发方式工作,这使得对谁在何时、 何处做什么不完全清楚,系统更改与重构难以进行。 ⑨ 一个不可靠的构造和发布过程。
2011年11月4日11时10分 10
可以用如下标准来评价初始阶段是否成功: • 风险承担者是否赞成项目的范围定义、成本以及进度估计。 • 是否通过主要用例证实对需求的理解。 • 成本与进度预测的评估以及优先级、风险和开发过程的可信度。 • 所开发软件原型的深度和广度。 • 实际开支与计划开支的比较。 • 架构的轮廓是否合理 如果无法达到这些标准,可能取消项目或重新对项目进行仔细的 考虑。
2011年11月4日11时10分 19
2.4统一过程的生命周期
统一开发过程的一次迭代包括五个核心工作流。 每个阶段经过多次迭代,但每个阶段侧重点不同
2011年11月4日11时10分
20
2.5RUP开发过程的特点
第2 RUP软件开发过程
2.3 RUP的静态结构
4. 实施 实施工作流的目的包括以层次化的子系统形式 定义代码的组织结构,以构件的形式(源文件、 二进制文件、可执行文件)实现类和对象,将 开发出的构件作为单元进行测试,以及集成由 单个开发者所产生的结果,使其成为可执行的 系统。
2.3 RUP的静态结构
1. 业务建模 业务建模工作流描述了系统开发的一组织的过程、角色和责任。大 多数实际工程项目的主要问题在于软件工程和 企业工程这两个领域无法进行有效的交流,导 致对企业工程的分析无法直接进行转换用于软 件开发。
2.2 RUP过程框架
2. 细化阶段 细化阶段也称为精化阶段。细化阶段的目标是 分析问题领域,准备构架的设计,编制项目计 划,淘汰项目中最高风险的元素。为此必须在 理解整个系统的基础上确定系统的构架,包括 系统的范围、主要的功能需求以及性能需求。 同时为项目建立支持环境,包括创建开发案例, 创建模板并准备工具。细化阶段结束时第二个 重要的里程碑—周期结构里程碑。
RUP中的软件生命周期在时间上被分解为四个 顺序的阶段,每个阶段结束时都有一个主要的 里程碑,在每个阶段结束时,对本阶段的工作 是否达到预定的目标进行评估。如果评估结果 令人满意的话,项目就可以进入下一个阶段。
2.2 RUP过程框架
1. 初始阶段 初始阶段有时也称先启阶段。初始阶段的目标 是为系统建立商业用例,确定要开发系统的边 界,找出与系统交互的所有外部实体,列出实 体与系统的交互过程。 初始阶段在RUP中具有非常重要的意义,在这 个阶段中所关注的是整个项目进行中的业务和 需求方面的主要风险。
2.2 RUP过程框架
2.2.1 RUP过程框架模型
使用RUP开发软件产品,每个软件产品的开发 过程都应该包括多次循环。每个循环包括四个 阶段:初始、细化、构建和产品化。每个阶段 又包括多个迭代过程。
软件开发模型之RUP(RationalUnifiedProcess)方法
软件开发模型之RUP(RationalUnifiedProcess)⽅法⼀、基本描述1、RUP(Rational Unified Process,统⼀软件开发过程,统⼀软件过程)是⼀个⾯向对象且基于⽹络的程序开发⽅法论,是Rational软件公司(Rational公司被IBM并购)创造的软件⼯程⽅法。
RUP描述了如何有效地利⽤商业的可靠的⽅法开发和部署软件,是⼀种重量级过程(也被称作厚⽅法学),因此特别适⽤于⼤型软件团队开发⼤型项⽬。
(PS:基本上不适合于国内中型和⼩型软件机构)2、软件⼯程领域,与RUP齐名的软件⽅法还有:净室软件⼯程(重量级)、CMMI(重量级);极限编程(extreme programming,简称 XP)和其他敏捷软件开发(agile methodology)⽅法学(轻量级)。
3、RUP最重要的它有三⼤特点:1)受控的迭代式增量开发,2)软件开发是由⽤例(Use Case)驱动的,3)软件开发是以构架设计(Architectural Design)为中⼼的。
开发过程⼆、开发过程⼆、 RUP中的软件⽣命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。
每个阶段结束于⼀个主要的⾥程碑(Major Milestones);每个阶段本质上是两个⾥程碑之间的时间跨度。
在每个阶段的结尾执⾏⼀次评估以确定这个阶段的⽬标是否已经满⾜。
如果评估结果令⼈满意的话,可以允许项⽬进⼊下⼀个阶段。
初始阶段⽬标:为系统建⽴商业案例并确定项⽬的边界。
实践:为了达到该⽬的必须识别所有与系统交互的外部实体,在较⾼层次上定义交互的特性。
描述:本阶段具有⾮常重要的意义,在这个阶段中所关注的是整个项⽬进⾏中的业务和需求⽅⾯的主要风险。
对于建⽴在原有系统基础上的开发项⽬来讲,初始阶段可能很短。
统一软件开发过程
Unified Process,统一软件开发过程RUP(Rational Unified Process,统一软件开发过程)22010/08/20 19:24五、开发过程中的各个阶段和里程碑RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。
每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。
在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。
如果评估结果令人满意的话,可以允许项目进入下一个阶段。
1.初始阶段初始阶段的目标是为系统建立商业案例并确定项目的边界。
为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。
本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。
对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。
初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。
生命周期目标里程碑评价项目基本的生存能力。
2.细化阶段细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。
同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。
细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。
生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。
此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
3.构造阶段在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
Rup概述
第二章软件开发方法与UML建模工具2.1 RUP过程RUP是一个将用户需求转化为软件系统所需要的活动的集合,即软件开发过程。
RUP不是一个简单的过程,而是一个通用的过程框架,可用于各种不同类型的软件系统、各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及各种不同的项目规模。
RUP可以用二维坐标来描述。
横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期、阶段、迭代和里程碑;纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动、产物、工作者和工作流。
如下图1图1RUP是一个以用例为驱动、以架构为中心、迭代和增量式开发过程。
RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition),概要性介绍如下:2.1.1初始阶段初始阶段的目标是为系统建立商业案例并确定项目的边界。
为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。
本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。
对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。
初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。
生命周期目标里程碑评价项目基本的生存能力。
2.1.2细化阶段细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划淘汰项目中最高风险的元素。
为了达到该目的,必须在理解整个系统的基础上,对体系结构做出决策,包括其范围、主要功能和诸如性能等非功能需求。
同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。
细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。
软件项目开发流程RUP
软件项目开发流程RUPRUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。
RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
一、六大经验迭代式开发。
在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。
实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。
迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。
迭代式开发不仅可以降低项目的风险,而且每个迭代过程以可以执行版本结束,可以鼓舞开发人员。
管理需求。
确定系统的需求是一个连续的过程,开发人员在开发系统之前不可能完全详细的说明一个系统的真正需求。
RUP描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用以被证明是捕获功能性需求的有效方法。
基于组件的体系结构。
组件使重用成为可能,系统可以由组件组成。
基于独立的、可替换的、模块化组件的体系结构有助于管理复杂性,提高重用率。
RUP描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构。
可视化建模。
RUP往往和UML联系在一起,对软件系统建立可视化模型帮助人们提供管理软件复杂性的能力。
RUP告诉我们如何可视化的对软件系统建模,获取有关体系结构于组件的结构和行为信息。
项目管理论坛验证软件质量。
在RUP中软件质量评估不再是事后进行或单独小组进行的分离活动,而是内建于过程中的所有活动,这样可以及早发现软件中的缺陷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 RUP过程框架
3. 构建阶段 在构建阶段,主要完成选择所需要的构件,开 发应用程序的主要功能,并把这些功能集成为 产品,并对这些产品进行测试。从某种意义上 说,构建阶段是一个制造过程,其重点放在管 理资源及控制运作以及优化成本、进度和质量。 构建阶段结束时是第三个重要的里程碑—功能 里程碑。
2.5 RUP的活动 (2)细化阶段核心活动 细化阶段的核心活动有:快速确定构架、确认 构架并为构架建立基线;根据此阶段获得的新 信息改进前景,对推动构架和计划决策的最关 键用例建立可靠的了解;为构建阶段创建详细 的迭代计划并为其建立基线;改进开发案例, 定位开发环境,包括流程和支持构建团队所需 的工具和自动化支持;改进构架并选择构件。
2.4 RUP的角色
RUP角色可以分为以下五个角色集: (1)分析员角色集 (2)开发人员角色集 (3)测试人员角色集 (4)经理角色集 (5)其它角色集
在RUP中的软件开发迭代式解决方案促 进从业者采用两种观点。首先,它促进团 队理解整体解决方案,然后在每一次迭代 中基于上一次迭代重新评估并调整整体解 决方案。第二,在每次迭代中,它促进团 队主要着重于解决方案的一个方面 —— 每次后继迭代构建解决方案的一个方面, 直至整体完成。
2.3 RUP的静态结构
1. 业务建模 业务建模工作流描述了系统开发的一个构想, 使用业务用例模型来描述这个构想,包括业务 对象模型中定义组织的过程、角色和责任。大 多数实际工程项目的主要问题在于软件工程和 企业工程这两个领域无法进行有效的交流,导 致对企业工程的分析无法直接进行转换用于软 件开发。
2.1 RUP软件开发过程概述 2.1.2 RUP主要特点 RUP有三个突出的特点: (1)用例驱动 (2)以构架为中心 (3)采用迭代和增量模型 (1)所有的软件开发都是用户需求驱动的。统一 软件开发过程采用用例来描述用户需求,同时提供 了一套方法把用例转化为设计的类图,进一步变成 最终的程序代码。在整个软件开发过程中,需求用 例是可跟踪的。
2.2 RUP过程框架
2. 细化阶段 细化阶段也称为精化阶段。细化阶段的目标是 分析问题领域,准备构架的设计,编制项目计 划,淘汰项目中最高风险的元素。为此必须在 理解整个系统的基础上确定系统的构架,包括 系统的范围、主要的功能需求以及性能需求。 同时为项目建立支持环境,包括创建开发案例, 创建模板并准备工具。细化阶段结束时第二个 重要的里程碑—周期结构里程碑。
2.2 RUP过程框架
4. 产品化阶段 产品化阶段又称为交付阶段,这个阶段的重点 是确保软件对最终用户是可用的。产品化阶段 可以跨越几次迭代,包括为发布做准备的产品 测试,基于用户反馈的少量的调整。在产品化 阶段的终点是第四个里程碑—发布里程碑。此 时需要判断最初预定的目标是否实现,是否应 该开始下一个开发周期。
2.3 RUP的静态结构 6. 部署 部署工作流的目的是成功的生成版本并将软件 分发给最终用户。部署工作流描述了那些与最 终用户相关的活动,包括:软件打包、生成软 件本身以外的产品、安装软件、为用户提供帮 助。
2.3 RUP的静态结构 7. 配臵与变更管理 配臵与变更管理工作流描绘了如何在多个成员 组成的项目中控制和管理变更。配臵和变更管 理工作流提供了一套准则来跟踪软件创建过程 中的各个版本。配臵与变更管理工作流描述了 如何管理并行开发、分布式开发、如何自动化 创建工程。同时也阐述了对产品修改原因、时 间、人员进行记录。把谁、什么时候、为什么 对什么产品做的什么修改记录下来。
2.3 RUP的静态结构
2. 需求 需求工作流的目标是描述系统应该做什么,并 使开发人员和用户就这一描述达成共识。为了 达到该目标,要对需要的功能和约束进行提取、 组织、文档化,最重要的是理解系统所解决问 题的定义和范围。
2.3 RUP的静态结构 3. 分析设计 分析设计工作流将需求转化成未来系统的设计, 为系统开发一个健壮的结构,并调整设计使其 与实现环境相匹配,优化其性能。分析设计的 结果是一个设计模型和一个可选的分析模型。 设计模型是源代码的抽象,由设计类和一些描 述组成。设计类被组织成具有良好接口的设计 包(Package)和设计子系统(Subsystem), 而描述则体现了类的对象如何协同工作以实现 用例的功能。
2.2 RUP过程框架 2.2.2 RUP迭代开发模式
RUP中的每个阶段可以进一步分解为迭代。一 个迭代是一个完整的开发循环,产生一个可执 行的产品版本,是最终产品的一个子集。采用 增量开发方式,不断从一个迭代过程到另一个 迭代逐步积累,一步一步地完成最终的系统。
2.3 RUP的静态结构
在RUP模型图中包括九个工作流,被称为RUP 的核心工作流。核心工作流进一步分为六个核 心过程工作流和三个核心支持工作流。模型图 中的阴影部分描述了不同的工作流在不同的时 间段内工作量的不同。
对应于这两个方面的两种视角通常被 称为广度视角与深度视角。在一个迭代式 项目中,你首先集中于广度视角,然后精 选一个方面以集中于深度。分离的广度与 深度,正如在迭代式开发中所做的那样, 使得一个项目可以更灵活地被更改。不仅 仅是广度视角可以更容易的建立,而且当 更改来临时,可以并且很轻易的调整广度 视角。
2.1 RUP软件开发过程概述
(2)构架是一个小的、皮包骨头的系统,它实现了 用户的核心需求,包括了系统中最重要的静态和动 态特征。构架刻画了系统的整体设计,它舍弃了细 节部分,突出了系统的重要特征。 (3)在进行软件系统开发时,统一软件开发过程 采用迭代和增量的开发方式,把一个软件产品划分 成多个较小的部分,每次完成一个部分,这个部分 是产品的一个增量部分。每个增量部分的生产过程 是都受控的。
2.5 RUP的活动 (1)先启阶段核心活动 先启阶段的核心活动有:明确地说明项目规模; 计划和准备商业理由、评估风险管理、人员配 备、项目计划和成本/进度/收益率折衷的备选方 案;综合考虑备选构架,评估设计和自制/外购/ 复用方面的折衷,从而估算出成本、进度和资 源;准备项目的环境,评估项目和组织,选择 工具,决定流程中要改进的部分。
信息系统分析与设计
第2章 RUP软件开发过程
第2章
RUP软件开发过程
为了保证项目的成功不仅需要面向对象的分析设计 工具,还需要一个好的软件开发过程。 RUP(Rational Unified Process)又称为统一软件 过程能够有效的管理工作进度,控制和改善工作效 率。它是目前的软件过程中与UML结合最好的过程, 支持面向对象的软件开发,本章将对RUP进行简要 的介绍。
2.3 RUP的静态结构 8. 项目管理 软件项目管理平衡各种可能产生冲突的目标, 管理风险,克服各种约束并成功交付使用户满 意的产品。其目标包括:为项目的管理提供框 架,为计划、人员配备、执行和监控项目提供 实用的准则,为管理风险提供框架等。
2.3 RUP的静态结构 9. 环境 环境工作流的目的是向软件开发组织提供软件 开发环境,包括过程和工具。环境工作流集中 于配臵项目过程中所需要的活动,同样也支持 开发项目规范的活动,提供了过程指导手册并 指导项目组如何来实现过程。环境工作流的重 点是在项目环境中,进行软件开发过程的配臵 活动。
2.5 RUP的活动 在RUP中,为每个角色定义了要完成的工作, 每个单独的工作成为一个活动。一项活动是一 个工作单元,由参与项目的某一成员执行,活 动有明确的目的,其内容通常表述为创建或更 新某些工件,例如一个模型、一个类或一个计 划。每个活动都被分配给具体的角色。一个活 动一般延续几个小时到几天,它通常涉及一个 或几个角色,只影响一个或少数几个工件。一 项活动应该是一个便于实施的计划单元及流程 单元。
ห้องสมุดไป่ตู้
2.2 RUP过程框架 2.2.1 RUP过程框架模型
使用RUP开发软件产品,每个软件产品的开发 过程都应该包括多次循环。每个循环包括四个 阶段:初始、细化、构建和产品化。每个阶段 又包括多个迭代过程。
2.2 RUP过程框架 统一软件过程是一个二维结构,如图2.1所示
2.2 RUP过程框架 2.2.2 RUP过程阶段
2.1 RUP软件开发过程概述 2.1.3 RUP最佳实践 RUP在不断的实践过程中,总结出六个最有效地实 践经验,称为最佳实践。这些最佳实践是对实际软 件开发过程应用的总结,这六个最佳经验是: (1)迭代的软件开发 (2)需求管理 (3)使用基于构件的体系结构 (4)可视化软件建模 (5)验证软件质量 (6)控制软件变更
相反的,一个迭代式项目领导者将广度从深 度中分离开,为广度视角建立一个粗颗粒度的计 划以显示各个阶段,列出业务用例,并显示出当 项目成熟时如何对评估进行更改。深度视角是对 每个单一迭代更细节的计划,也许是在整个持续 时间中的六个星期。这个计划将比试图猜测在一 或二个星期内的所有项目细节的计划更准确且不 容易导致错误。 这个迭代的广度及深度解决方案对所有九个 RUP规程都有效,而不仅仅对项目管理而言。
2.4 RUP的角色
角色是抽象的职责定义,它定义的是所执行的 一组活动和所拥有的一组工件。角色通常由一 个人或作为团队相互协作的多个人来实现。项 目团队成员通常要履行许多不同的角色职能, 就象一个人可以担任许多职务,一个人也可以 担任许多不同的角色。角色并不代表个人,而 是说明个人在业务中应该如何表现以及他们在 业务活动中应该承担的责任。
2.1 RUP软件开发过程概述 2.1.1 RUP简介 RUP是Rational公司推出的软件过程模型,它是软件 业界迄今为止商品化最成功的软件过程模型。RUP 的近千页文档可以从Rational公司的网站下载,RUP 的主要特征包括: 采用迭代的、增量式的开发过程 采用UML语言描述软件开发过程 有一系列功能强大的软件工具支撑
2.3 RUP的静态结构 4. 实施 实施工作流的目的包括以层次化的子系统形式 定义代码的组织结构,以构件的形式(源文件、 二进制文件、可执行文件)实现类和对象,将 开发出的构件作为单元进行测试,以及集成由 单个开发者所产生的结果,使其成为可执行的 系统。