文档详情

UML第二版书号邹盛荣RUP统一过程

王****
实名认证
店铺
PPT
3.42MB
约71页
文档ID:335180992

UML面向对象需求分析与建模教程面向对象需求分析与建模教程-基于基于UML2.5标准标准(第二版第二版)第4章RUP统一过程邹盛荣目录 4.1 RUP产生产生1 4.2基于统一过程的基于统一过程的UML系统建模系统建模 4.3 二维开发模型二维开发模型32 4.4 RUP开发过程开发过程 4.5 RUP核心工作流核心工作流 4.6 RUP十大要素和经验十大要素和经验44.1RUP产生牛顿迭代法 开根号求n的平方根,先假设一猜测值X0=1,然后根据以下公式求出X1,再将X1代入公式右边,继续求出X2通过有效次迭代后即可求出n的平方根,Xk+1(迭代公式)米勒博士的很多著作在当今都被视作是经典,而他于1956年在心理学评论上发表的论文神奇的数字:7+-2更是如此在那篇文章中,米勒博士观察到:多数人的短期记忆局限于7个信息“组块”关于软件开发模型有多种大概有两类:线性的:瀑布模型、原型模型 迭代的:螺旋模型、喷泉模型、进化树模型、迭代增量模型RUP就是迭代的模型统一软件过程RUP是由Rational公司的GradyBooch、JamesRumbaugh以及IvarJacobson联合制定的一种软件开发过程。

4.2基于统一过程的基于统一过程的UML系统建模系统建模RUP可使用UML来建立软件系统所需的各种模型UML是软件系统开发方法的一个组成部分,融合了当前一些流行的面向对象开发方法的主要概念和技术,成为一种面向对象的标准化的统一建模语言UML与Rational统一过程的结合将形成一种强大、高效的软件系统开发方法和技术UML在Rational统一过程的使用中具有以下三个重要特征:统一过程以体系结构为中心;统一过程以用例驱动;UML对迭代开发过程的支持4.3二维开发模型4.4RUP开发过程开发过程RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)每个阶段结束于一个主要的里程碑(MajorMilestones);每个阶段本质上是两个里程碑之间的时间跨度在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足如果评估结果令人满意的话,可以允许项目进入下一个阶段RUP的生命周期初始阶段细化阶段构建阶段交付阶段初始阶段的主要目标是为系统建立商业案例和确定项目的边界。

细化阶段的主要目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽的测试交付阶段的目的是将软件产品交付给用户群体定目标定功能编码交付迭代软件开发传统开发流程的问题需求或设计中的错误往往只有到了项目后期才能够被发现对于项目风险的控制能力较弱软件项目常常延期完成或开发费用超出预算项目管理人员专注于文档的完成和审核来估计项目的进展情况迭代软件开发迭代化开发的优势允许变更需求逐步集成元素尽早降低风险有助于提高团队的士气生成更高质量的产品保证项目开发进度容许产品进行战术改变迭代流程自身可在进行过程中得到改进和精炼迭代软件开发迭代方式开发软件当我们在实际工作中实践迭代化思想时,RUP就可以给予我们实践的指导RUP是一个通用的软件流程框架,它是一个以架构为中心、用例驱动的迭代化软件开发流程RUP是从几千个软件项目的实践经验中总结出来的,对于实际的项目具有很强的指导意义,是软件开发行业事实上的行业标准迭代过程具有以下优点:降低了在一个增量上的开支风险如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。

降低了产品无法按照既定进度进入市场的风险通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙加快了整个开发工作的进度因为开发人员清楚问题的焦点所在,他们的工作会更有效率由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的因此,迭代过程这种模式使适应需求的变化会更容易些迭代软件开发关于开发资源的分配时间资源初始细化构建发布迭代软件开发实践【例】本节将应用火车票订购管理系统的功能来说明,火车票订购管理系统中的系统功能如表及优先级别如下表:序号功能名称功能需求标识优先级1申请订票TOS-F01高2订票确认TOS-F02高3统计TOS-F03中4到票登记TOS-F04高5领票TOS-F05高6查询TOS-F06中7我的火车票TOS-F07中8修改密码TOS-F08低9导出ExcelTOS-F09中10导入学生信息TOS-F10低迭代软件开发实践分析:假定,上表是目前仅已识别的系统功能,那么如何使用迭代来完成这个项目呢?如果完成一个迭代开发计划,分3次完成上述功能,迭代计划如表:序号迭代功能名称功能需求标识优先级1第1次申请订票TOS-F01高2第1次订票确认TOS-F02高3第2次统计TOS-F03中4第1次到票登记TOS-F04高5第1次领票TOS-F05高6第2次查询TOS-F06中7第2次我的火车票TOS-F07中8第3次修改密码TOS-F08低9第2次导出ExcelTOS-F09中10第3次导入学生信息TOS-F10低迭代软件开发实践得出的开发过程示意图:4.5RUP核心工作流核心工作流RUP中有9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。

尽管6个核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被访问9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复RUP中的核心工作流中的核心工作流RUP中有九个工作流,其中,有六个核心工作流,三个辅助工作流这些工作流在整个生命周期中一次又一次被迭代九个工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复九个工作流简述如下:1业务建模2需求3分析和设计4实现5测试6部署7配置和变更管理8项目管理9环境设置15.2.1需求工作流需求工作流需求工作流开始前,首先要对业务建模,业务建模就是对业务组织、业务内容和业务流程进行建模业务模型是需求工作的基础需求捕获通过对业务内容进行描述、整理,确立业务实体及其关系;确定业务系统的功能要求;确定实现功能要求的实体间的交互关系;将用户需求精确化、完备化大部分需求工作集中在初始和细化阶段在细化阶段后期,需求捕获的工作量大幅下降图是需求工作流在四个阶段的工作量分布情况软件开发人员通过一定的活动生产出软件的中间产品下面从工作产品、软件开发人员和活动三个方面描述需求工作流。

1.工作产品需求工作流2软件开发人员3主要活动需求捕获的工作流主要包括确定参与者和用例(概要描述)、区分用例的优先级、详细描述用例、构造用户界面原型以及构造用例模型5个活动1)确定参与者和用例如上图所示2)确定用例的优先级如下图所示确定参与者和用例区分用例的优先级(3)详细描述用例,如图所示详细描述用例(4)构造用户界面原型如图所示构造用户界面原型(5)构造用例模型在确定系统用例和参与者之后,系统分析人员可以重新整理用例之间的关系,使模型更易于理解和处理,如图所示构造用例模型分析工作流分析工作流主要的分析任务从初始阶段的尾期开始与需求一样,分析工作主要集中在细化阶段,细化阶段的大部分活动是捕获需求,并进行需求分析,分析工作与需求捕获在很大程度上重叠图是分析工作流在4个阶段的工作量分布情况分析工作流下面从工作产品、软件开发人员和活动3个方面描述分析工作流1工作产品2软件开发人员3主要活动分析工作流主要包括架构分析、分析用例、分析类和分析包4个活动1)架构分析如图所示架构分析(2)分析用例具体的输入和结果如图所示分析用例(3)分析类具体的输入和结果如下页图所示4)分析包分析包的目的在于:确保该分析包的合理性和相对独立性,确保该分析包包含完整的用例。

一般来说,分析包的活动是:定义和维护包与其他包的依赖,确保包中包含恰当的类,然后限制对其他包的依赖具体的输入和结果如下页图所示分析类分析包设计工作流设计工作流设计工作流主要集中于细化阶段的最后部分和构造阶段的开始部分就软件系统而言,最初的大量建模工作集中在需求和分析工作流,在分析活动逐步完善后,建模工作大量集中在系统设计下页图是设计工作流在4个阶段的工作量分布情况下面从工作产品、软件开发人员和活动3个方面描述设计工作流1.工作产品设计工作流2软件开发人员3主要活动设计工作流中主要包括构架设计、设计一个用例、设计一个类和设计一个子系统4种活动1)构架设计具体的输入与产出如图所示2)设计一个用例具体的输入和产出如下页图所示构架设计设计一个用例(3)设计一个类设计类的主要活动是确定类的操作、属性,确定类间的关系具体的输入和产出如图所示设计一个类(4)设计一个子系统具体的输入和产出如图所示设计一个子系统实现工作流实现工作流实现(实施)是把设计模型映射成可执行代码的过程从系统分析师或系统设计师的角度看,实现工作流的重点就是编写软件系统的可执行代码实现工作流是构建阶段的焦点图是实现工作流在4个阶段的工作量分布情况。

实现工作流下面从工作产品、软件开发人员和活动3个方面描述实现工作流1工作产品2软件开发人员3主要活动在实现工作流中,包括一系列活动:架构实现、系统集成、实现一个子系统、实现一个类和执行单元测试1)架构实现主要的输入和制品如图所示架构实现(2)系统集成主要的输入和制品如图所示系统集成(3)实现一个子系统主要的输入和制品如上图所示4)实现一个类主要的输入/输出制品如下图所示实现一个子系统实现一个类(5)执行单元测试主要的输入和制品如图所示执行单元测试15.2.5测试工作流测试工作流测试工作流贯穿于软件开发的整个过程从初始阶段开始,到细化阶段和构造阶段是测试的焦点测试是为了找出程序中的错误与缺陷,而不能证明程序无错测试是一项相当重要的工作,其工作量占软件总开发量的40%以上下图是测试工作流在4个阶段的工作量分布情况测试工作流下面从工作产品、软件开发人员和活动3个方面描述测试工作流1工作产品2软件开发人员3主要活动在测试工作流中包括制定测试计划、设计测试、实现测试、执行集成测试、执行系统测试和评估测试6种活动1)制定测试计划主要的输入和制品如图所示制定测试计划(2)设计测试主要的输入和制品如后图所示。

3)实现测试主要的输入和制品如后图所示4)执行集成测试主要的输入和制品如后图所示设计测试实现测试执行集成测试(5)执行系统测试由系统测试人员负责,主要的输入和制品如下页图所示执行系统测试(6)评估测试主要的输入/输出制品如图所示评估测试15.3RUP裁剪裁剪RUP是一个通用的过程模板,包含了很多开发指南、制品、开发过程所涉及的角色说明针对不同的开发机构和项目,运用RUP开发项目时还要对其进行裁剪,也就是要对RUP进行配置通过对RUP进行裁剪可以得到很多不同的开发过程,我们可以把裁剪后的RUP看作RUP的具体实例RUP裁剪可以分为以下5步1)确定本项目需要哪些工作流RUP的9个工作流并不总是都需要的,可以取舍2)确定每个工作流需要哪些输入制品,进行加工后,需要输出哪些制品3)确定4个阶段之间如何演进确定阶段间演进要以风险控制为原则,决定每个阶段要哪些工作流,每个工作流执行到什么程度,制品有哪些,每个制品完成到什么程度4)确定每个阶段内的迭代计划规划RUP的4个阶段中每次迭代开发的内容5)规划工作流内部结构工作流涉及角色、活动及制品,它的复杂程度与项目规模即角色多少有关最后规划工作流的内部结构,通常用活动图的形式给出。

4.6RUP十大要素和经验十大要素和经验。

下载提示
相似文档
正为您匹配相似的精品文档