软件建模技术第13章RUP统一软件过程讲义

上传人:我** 文档编号:114111303 上传时间:2019-11-10 格式:PPT 页数:50 大小:2.42MB
返回 下载 相关 举报
软件建模技术第13章RUP统一软件过程讲义_第1页
第1页 / 共50页
软件建模技术第13章RUP统一软件过程讲义_第2页
第2页 / 共50页
软件建模技术第13章RUP统一软件过程讲义_第3页
第3页 / 共50页
软件建模技术第13章RUP统一软件过程讲义_第4页
第4页 / 共50页
软件建模技术第13章RUP统一软件过程讲义_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《软件建模技术第13章RUP统一软件过程讲义》由会员分享,可在线阅读,更多相关《软件建模技术第13章RUP统一软件过程讲义(50页珍藏版)》请在金锄头文库上搜索。

1、第13章 RUP统一软件过程,13.1 RUP概述 13.2 RUP的四个工作阶段 13.3 RUP的五个核心工作流 13.4 RUP过程的特点 13.5 RUP裁剪,13.1 RUP概述,RUP(即Rational Unified Process),Rational统一过程。 统一过程是一个软件的开发过程,它将用户需求转化为软件系统所需的活动的集合。 统一过程不仅是一个简单的过程,而且是一个通用的过程框架。可用于各种不同类型的软件系统、各种不同的应用领域、各种不同功能级别以及各种不同的项目规模。,13.1 RUP概述,突出特点:用例驱动、以架构为中心、迭代和增量过程(P155)。 采用迭代过

2、程的好处是: 把一个复杂的系统分解成多个简单的系统; 提高软件项目的可控性; 降低软件开发的风险; 有效的应对需求变更。,RUP过程开发模型由软件生命周期(四个阶段)和RUP的核心工作流构成一个二维空间。 RUP开发模型(见后页) RUP的6个特点(P155)。 九个核心工作流:商业建模、需求、分析与设计、实现、测试、部署、设置与变更管理、项目管理、环境。 (P156) 四个阶段:初始、细化、构造、移交。,RUP开发模型,商业建模 需求 分析与设计 实现 测试 部署 设置与变更管理 项目管理 环境,初始,细化,构造,移交,初始迭代,细化1,细化2,构造1,构造2,构造N,移交1,移交2,工作流

3、,阶段,迭代,13.2 RUP的个工作阶段,每个阶段开始时都有特定的目标,结束时有里程碑。在每个阶段中存在一个或多个迭代。在每个迭代中,可以有多个工作流。,1、初始阶段,初始阶段的目标: 确定项目的软件范围和边界条件 识别出系统的关键用例 展示系统的侯选架构 估计整个项目需要的费用和时间安排评估项目风险,1、初始阶段,初始阶段的主要活动: 建立系统的业务模型 捕获系统的基本需求 确定系统的边界 识别关键任务 确定系统验收标准 进行项目风险评估 进行项目资源的估计与效益分析 制定项目开发计划与重要里程碑。,1、初始阶段,初始阶段的重点: 初始阶段的重点是需求分析与系统分析。如果需要构造原型系统,

4、则需做一些设计与实现。 初始阶段的里程碑生命周期目标,1、初始阶段,初始阶段的制品: 项目蓝图文档:系统的核心需求、关键特性与主要约束 初始的用例模型(完成1020) 初始的项目术语表 业务用例模型,包括商业环境、验收标准和财政预测 初始的风险评估 一个可以显示阶段和迭代的项目计划 一个或多个原型 初始的架构文档,1、初始阶段,可以用如下标准来评价初始阶段是否成功: 风险承担者是否赞成项目的范围定义、成本以及进度估计。 是否通过主要用例证实对需求的理解。 成本与进度预测的评估以及优先级、风险和开发过程的可信度。 所开发软件原型的深度和广度。 实际开支与计划开支的比较。 架构的轮廓是否合理 如果

5、无法达到这些标准,可能取消项目或重新对项目进行仔细的考虑。,2、细化阶段最关键的阶段,细化阶段的目标: 迅速定出实用的架构 规划完成项目的活动,估算完成项目所需资源 细化初始阶段模型 为构造阶段定出高精确度的计划,2、细化阶段最关键的阶段,细化阶段的主要活动: 细化构想,建立对大多数关键用例的确定理解 分析问题域,建立坚实的架构 细化架构并选择组件 捕获80%的功能需求用例 精化风险评估 建立可执行的软件原型 定义非功能需求 制定过程迭代计划和迭代的评价标准,2、细化阶段最关键的阶段,细化阶段的重点: 细化阶段主要关注需求、分析和设计工作流。 每个工作流关注如下各项: 需求精化系统范围和需求

6、分析确定构造什么 设计创建稳定的架构 实现构造架构基线 测试测试架构基线,2、细化阶段最关键的阶段,细化阶段的里程碑生命期架构 细化阶段的主要制品: 系统架构基线 UML静态模型、UML动态模型、UML用例模型 修订的风险评估 修订的用例 修订的项目计划 可执行的原型,2、细化阶段最关键的阶段,细化阶段的评价是通过回答下述问题来完成的: 软件的构想是否稳定? 架构是否稳定? 可执行的原型是否表明风险要素已被处理并可靠地解决了? 构造阶段的计划是否足够详细和精确?是否有可靠的基础? 如果在当前架构上下文中执行计划并开发出整个系统,是否所有的风险承担人都同意系统达到了当前的需求? 实际的费用支出与

7、计划支出是否可以接受? 如果无法达到这些标准,可能取消项目或对项目进行重新考虑。,3、构造阶段,构造阶段的目标: 实现管理层和用户达成共识的产品的所有用例 一个移交阶段的高精度计划 关键特性和核心功能得到实现 产品发布的验收标准 初步的用户手册 产品质量的详细分析,3、构造阶段,构造阶段的主要活动: 资源管理、资源控制和过程优化 完成组件开发并根据已定义的评价准则进行测试 利用构想制定的准则对发布的产品进行评估,3、构造阶段,构造阶段的重点: 构造阶段主要关注系统的实现工作流。每个工作流关注如下各项。 需求揭示任何遗漏的需求 分析完成分析模型 设计完成设计模型 实现构造初始运作功能 测试测试初

8、始运作功能,3、构造阶段,构造阶段的里程碑初始运作功能 构造阶段的制品: 可运行的软件系统 UML模型 测试用例 用户手册 发布描述,构造阶段的结束是项目开发的第三个重要的里程碑。这个阶段产生的版本通常被称为版。,3、构造阶段,评价构造阶段需要回答以下问题: 软件是否足够稳定和成熟,从而可以发布给用户? 是否所有的风险承担人都准备好了向用户交付软件产品? 实际费用与计划费用的对比是否仍可被接受? 如果项目无法达到这些要求,必须推迟进入交付阶段。,4、交付阶段,交付阶段的目标: 试用产品并改正试用中发现的缺陷 制作安装版并培训用户 提供在线支持,4、交付阶段,交付阶段的主要活动: 将软件系统部署

9、到用户环境 修复软件的缺陷 编制用户手册和其它文档 培训用户和维护人员 提供用户咨询,4、交付阶段,交付阶段的重点: 交付阶段主要关注系统的测试和配置工作流。 每个工作流关注如下各项: 设计如果测试中出现问题,修改设计。 实现为用户场地裁减软件,修复在测试中发现的问题。 测试测试及其在用户现场验收测试。 配置将软件系统部署到环境中,并配置相应参数。,4、交付阶段,交付阶段的里程碑产品发布 交付阶段的制品: 可运行的软件产品 用户手册 用户支持计划,4、交付阶段,评价交付阶段需要回答以下问题: 用户是否认可系统已经成功部署? 用户是否积极使用该软件产品? 用户是否认可产品支持策略? 如果项目无法

10、达到这些要求,必须推迟交付。,13.3 RUP的核心工作流,(1)需求工作流 (2)分析工作流 (3)设计工作流 (4)实现工作流 (5)测试工作流,P160,13.4 RUP的特点,三大特点: 用例驱动 以体系结构为中心 迭代和增量,29,1、用例驱动,Use Case模型表达了系统的需求。 按照RUP, Use Case贯穿整个软件开发的生命周期。 在需求分析中,客户或用户对Use Case进行描述; 在系统分析和系统设计过程中,设计师对Use Case进行分析; 在实现过程中,开发编程人员对Use Case进行实现; 在测试过程中,测试人员对Use Case进行检验。,30,2、以体系结

11、构为中心,软件体系结构是关于构成系统的元素、这些元素之间的交互、元素和元素之间地组成模式以及作用在这些组成模式上的约束等方面的描述。 由于在项目的开发过程中不同的开发人员所关心的角度是不一样的,因此软件的体系结构应该是一个多维的结构,RUP采用如下图所示的4+1视图模型,利用UML语言来描述软件的体系结构。,31,2、以体系结构为中心,32,在4+1视图模型中,分析人员和测试人员关心的是系统的行为,因此会侧重于用例视图;最终用户关心的是系统的功能,因此会侧重于逻辑视图;程序员关心的是系统的配置、装配等问题,因此会侧重于实现视图;系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,因此会侧重

12、于进程视图;系统工程师关心的是系统的发布、安装、拓扑结构等问题,因此会侧重于部署视图。,2、以体系结构为中心,33,3、迭代和增量,RUP强调采用迭代和增量方式来开发软件,把整个项目开发分为多个迭代过程。 在每次迭代中,只考虑系统的一部分需求,进行分析、设计、实现、测试、部署等过程,每次迭代是在已完成部分的基础上进行的,每次增加一些新的功能实现,以此进行下去,直至最后项目的完成。,34,采用迭代和增量的方式有以下好处:,在软件开发的早期就可以对关键的、影响大的风险进行处理。 可以提出一个软件体系结构来指导开发。 可以更好的处理不可避免的需求变更。 可以较早的得到一个可运行的系统,鼓舞开发团队的

13、士气,增强项目成功的信心。 为开发人员提供一个能更有效工作的开发过程。,35,13.5 RUP裁剪,RUP是一个通用的过程模板,包含了很多开发指南、制品、开发过程所涉及到的角色说明,由于它非常庞大所以对具体的开发机构和项目,用RUP时还要做裁剪,也就是要对RUP进行配置。RUP就像一个元过程,通过对RUP进行裁剪可以得到很多不同的开发过程,这些软件开发过程可以看作RUP的具体实例。,36,RUP裁剪可以分为以下几步:,确定本项目需要哪些工作流。RUP的9个核心工作流并不总是需要的,可以取舍。 确定每个工作流需要哪些制品。 确定4个阶段之间如何演进。确定阶段间演进要以风险控制为原则,决定每个阶段

14、要那些工作流,每个工作流执行到什么程度,制品有那些,每个制品完成到什么程度。,37,确定每个阶段内的迭代计划。规划RUP的4个阶段中每次迭代开发的内容。 规划工作流内部结构。工作流涉及角色、活动及制品,他的复杂程度与项目规模即角色多少有关。最后规划工作流的内部结构,通常用活动图的形式给出。,RUP4个主要建模元素,角色role:who 活动activity:how 例如 用例分析,用例设计 制品artifact:what 例如 用例实现,模型,文档,源代码,可执行体 工作流workflow:when 例如 顺序图,39,1、Role角色 角色定义了在软件工程组织的环境中,个人或协同工作的多人小

15、组的行为和职责。角色代表项目中个人承担的任务,并定义其如何完成工作。,40,Rup预定义的角色: 分析员角色 (业务流程分析员、业务设计员、业务模型复审员、需求复审员、系统分析员、用例阐释者、用户界面设计员) 开发人员角色 (构架设计师、构架复审员、封装体设计员、代码复审员、数据库设计员、设计复审员、设计员、实施员、集成员),41,测试专业人员角色 (测试设计员、测试员) 经理角色 (变更控制经理、配置经理、部署经理、流程工程师、项目经理、项目复审员) 其他角色 (任意角色、课程开发员、图形设计员、涉众、系统管理员、技术文档编写员、工具专家),42,2、活动,活动定义的是角色的活动,即角色需要

16、执行的工作。 活动的主体是角色,活动的目的就是为了生产更新工件。 每个活动通常是由一个角色完成,但不一定是一个人完成。,43,3、工件,工件是由过程生产、修改或使用的信息。工件是活动的输入和输出,是一种有形产品。 角色使用工件执行活动,并在执行活动的过程中生成工件。,44,工件有多种形式: 模型,例如用例模型或设计模型,它包含其他工件。 模型元素,即模型中的元素,例如设计类、用例或设计子系统。 文档,例如商业理由或软件构架文档。 源代码和可执行程序(某种构件)。 可执行程序。,45,4、工作流,工作流描述的是能生产有价值成果的有意义的活动序列,并描述角色之间的交互。 按UML 术语,工作流可以表现为顺序图、协作图或活动图。在RUP中,使用活动图。,RUP中最重要的应该是,1、Use Case 2、单元测试 3、迭代开发 4、分层架构,分析设计按照RUP大致可细分为如下几个步骤: 1. 创建Actors; 2. 创建Use Cases,并描述每个Use Case

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号