面向对象方法——RUP.pptx
《面向对象方法——RUP.pptx》由会员分享,可在线阅读,更多相关《面向对象方法——RUP.pptx(307页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第11章章 绪论绪论第第22章章 软件需求与软件需求规约软件需求与软件需求规约第第33章章 结构化方法结构化方法第第44章章 面向对象的方法面向对象的方法UMLUML第第55章章 面向对象方法面向对象方法RUPRUP第第66章章 软件测试软件测试第第77章章 软件生存周期过程与管理软件生存周期过程与管理第第88章章 集成化能力成熟度模型(集成化能力成熟度模型(CMMICMMI)第1页/共307页2第5章面向对象方法RUP5.1RUP的特点5.2核心工作流5.2.1需求获取5.2.2需求分析5.2.3设计5.2.4RUP的实现和测试5.3本章小结第2页/共307页3第五章面向对象方法RUP一
2、种软件开发方法学至少由3部分组成,一是用于表达基本信息的术语;二是用于组织基本信息的表达格式;三是在不同抽象层之间进行“映射”的过程指导。第3页/共307页4 统一软件开发过程(UnitiedSoftwareDevelopmentProcess)是对象管理组织(ObjectManagementGroup,OMG)所推荐的一个有关过程的标准,它由UML语言的开发者们提出,其中权衡了三十余年的软件开发实践,吸取了数百个用户多年的实际经验以及Rational公司多年的工作成果,因此统一软件开发过程往往写为RationalUnifiedProcess,简称RUP。第4页/共307页5总的要求 要求考生
3、掌握在创建系统/产品需求获取模型、需求分析模型和设计模型中的基本活动和任务,并能运用RUP建立小型简单系统的用况模型、需求分析模型,并了解RUP设计模型的基本结构,以及在设计中如何处理共性的非功能需求。第5页/共307页6知识点和考核要求(1)识记 1)需求获取层、需求分析层、软件设计层上的术语。2)用况之间的基本关系。3)系统/产品用况模型的构成。4)系统/产品需求分析模型构成。5)系统/产品设计模型和部署模型的构成。6)创建系统/产品需求获取模型的四个步骤。第6页/共307页7(2)领会 1)领域模型、业务模型以及在系统开发中创建它们的目的。2)创建系统/产品用况模型的活动和任务。3)参与
4、者的标识与描述,以及标识中的有关准则。4)用况标识以及标识中的有关准则,用况的事件流描述技术以及描述的基本内容。5)创建系统/产品需求分析模型的活动和任务。第7页/共307页86)分析包的标识以及分析包的二层结构。7)边界类、实体类、控制类的标识,以及它们的作用和关系。8)用况细化分析以及用况和协作之间的基本关系。9)创建系统/产品设计模型的活动和任务。10)设计模型的四层结构。11)需求获取模型与需求分析模型的比较。12)需求分析模型与设计模型的比较。第8页/共307页9(3)应用1)针对一个小型简单系统,创建系统/产品用况模型、需求分析模型。2)针对一个特定的用况,运用顺序图描述它的实现。
5、3)针对一个特定类,运用状态图描述其生存周期。4)针对一个小型简单系统,运用状态图描述其生存周期。5)针对一种共性需求(例如事物管理等),运用主动类给出它的设计。第9页/共307页10统一软件过程统一软件过程(RUP)1)概述概述(1)UML是一种可视化的建模语言,而不是一种特定的软是一种可视化的建模语言,而不是一种特定的软件开发方法学。作为一种软件开发方法学,为了支持软件开发方法学。作为一种软件开发方法学,为了支持软件开发活动,例如软件设计,至少涉及三方面的内容:件开发活动,例如软件设计,至少涉及三方面的内容:一是应定义设计抽象层,即给出该层的一些术语,二是一是应定义设计抽象层,即给出该层的
6、一些术语,二是应给出该层的模型表达工具,三是应给出如何把需求层应给出该层的模型表达工具,三是应给出如何把需求层的模型映射为设计层的模型,即过程。的模型映射为设计层的模型,即过程。UML仅包括前两仅包括前两方面的内容,即给出了一些可用于定义软件开发各抽象方面的内容,即给出了一些可用于定义软件开发各抽象层的术语(符号),给出了各层表达模型的工具。层的术语(符号),给出了各层表达模型的工具。第10页/共307页11到现在为止我们看到了到现在为止我们看到了UMLUML给出了一大堆面向对象给出了一大堆面向对象建模的可视化图形符号和规则,但并没有告诉我们在建模的可视化图形符号和规则,但并没有告诉我们在什么
7、时候、用什么方法、去建立什么模型。什么时候、用什么方法、去建立什么模型。基于基于UMLUML的统一建模过程的统一建模过程RUPRUP试图解决以上问题。试图解决以上问题。也就是要给出一种方法,告诉大家在建模过程中,也就是要给出一种方法,告诉大家在建模过程中,做什么、怎么做、何时做、为什么做以及做的过程要做什么、怎么做、何时做、为什么做以及做的过程要注意什么等。注意什么等。UML推荐的推荐的RUP(Rational Unified Process)过程基础过程基础:使用使用UML过程的基本特征是:用例驱动,以过程的基本特征是:用例驱动,以体系结构为中心,反复,渐增式。体系结构为中心,反复,渐增式。
8、基于基于UMLUML的统一建模过程的统一建模过程RUPRUP第11页/共307页12面向对象的过程模型1、演化/并行模型 是Booch等人在90年代初建议的。该模型与前面介绍的螺旋模型、增量模型相似。但强调:(1)对OO系统的分析和设计建模不在相同的抽象层次上进行。(2)分析和设计可以并发地应用到独立的系统构件。第12页/共307页13该模型每次迭代都要计划、工程和评估。每个计划都要调整进度以适应和本次迭代相关的变化。早期阶段迭代进行的分析与设计工作为了分离出OO模型中的所有重要元素;当工程工作不断进展时,产生软件的增量版本;在评估阶段对每个增量的评估其反馈将影响下一次计划活动及后续增量。2、
9、RUP98年6月推出,该过程强调了开发方法的统一、建模语言的统一、研究成果的统一。该过程是基于构件的,即所构造的系统是由软件构件通过明确定义的接口相互连接所建造起来的。它使用UML来制定软件系统的所有蓝图。第13页/共307页14UML与与RUPActorActorUse caseUse case关联关联 泛化泛化USE CASEUSE CASE图模型图模型分析类分析类 分析包分析包 Use caseUse case细化细化分析模型分析模型设计模型设计模型部署模型部署模型RUP第14页/共307页15(2)RUP的本质及特点的本质及特点本质本质:是是“一般的过程框架一般的过程框架”.即即:-为
10、软件开发,进行不同抽象层之间为软件开发,进行不同抽象层之间“映射映射”,安排其开发,安排其开发活动的次序,指定任务和需要开发的制品,提供了指导;活动的次序,指定任务和需要开发的制品,提供了指导;-为对项目中的制品和活动进行监控与度量,提供了相应的为对项目中的制品和活动进行监控与度量,提供了相应的准则。准则。换言之,换言之,RUP比较完整地定义了将用户需求转换成产品所需比较完整地定义了将用户需求转换成产品所需要的活动集,并提供了活动指南以及对产生相关文档的要求。要的活动集,并提供了活动指南以及对产生相关文档的要求。适用于:大多数软件系统的开发,涉及适用于:大多数软件系统的开发,涉及 -不同应用领
11、域不同应用领域 -不同类型的组织不同类型的组织 -不同的技能水平不同的技能水平 -不同的项目规模不同的项目规模 可见可见,RUP,RUP 和和UML UML 是是“统一统一”的方法学。的方法学。第15页/共307页16RUP的突出特点的突出特点是一种以用况(是一种以用况(UseCase)为驱动的、以体系结构为中心的、)为驱动的、以体系结构为中心的、迭代、增量式开发。迭代、增量式开发。以用况为驱动以用况为驱动意指在系统的生存周期中,意指在系统的生存周期中,以用况作为基础,驱动有关以用况作为基础,驱动有关人员对所要建立系统之功能人员对所要建立系统之功能需求进行交流,驱动系统分需求进行交流,驱动系统
12、分析、设计、实现和测试等活析、设计、实现和测试等活动,包括制定计划、分配任动,包括制定计划、分配任务、监控执行和进行测试等,务、监控执行和进行测试等,并将它们有机地组合为一体,并将它们有机地组合为一体,使各个阶段中都可以回溯到使各个阶段中都可以回溯到用户的实际需求。用户的实际需求。USE CASE分分析析输入输入设设计计实实现现跟踪跟踪输入输入跟踪跟踪输入输入跟踪跟踪输入输入输入输入测测试试输入输入跟踪跟踪输入输入第16页/共307页17用例驱动用例作为系统分析、设计、实现和测试的基本输入。即用例不只是一种确定系统需求的工具,它还能驱动系统的设计、实现和测即用例不只是一种确定系统需求的工具,它
13、还能驱动系统的设计、实现和测试的进行。试的进行。基于用例模型,开发人员可以创建一系列实现这些用例的设计模型和实现模基于用例模型,开发人员可以创建一系列实现这些用例的设计模型和实现模型。开发人员可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现型。开发人员可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现以确定实现模型的构件是否实现了用例。所以用例启动了开发过程,还使开发过程结以确定实现模型的构件是否实现了用例。所以用例启动了开发过程,还使开发过程结合为一体。开发过程是沿着一系列从用例得到的工作流前进的。合为一体。开发过程是沿着一系列从用例得到的工作流前进的。第17页/共
14、307页18下图显示了用例模型与其他模型之间的相关性:下图显示了用例模型与其他模型之间的相关性:用例模型由建立分析模型为系统描述一系列类由设计设计模型为系统定义一系列子系统和界面由实现实现模型将类映射到构件由分配测试模型由验证验证系统是否提供了用例模型中描述的功能配置模型定义软件分布第18页/共307页19从从USE CASEUSE CASE模型的视觉模型的视觉从分析模型的视觉从分析模型的视觉从设计模型的视觉从设计模型的视觉从实现模型的视觉从实现模型的视觉从部署模型的视觉从部署模型的视觉给给 出出体体 系系 结结 构构描描 述述 以体系结构为中心以体系结构为中心意指在系统的生存周期中,开发的任
15、何阶段(意指在系统的生存周期中,开发的任何阶段(RUP规定了四规定了四个阶段,即初始阶段、细化阶段、构造阶段和移交阶段)都要个阶段,即初始阶段、细化阶段、构造阶段和移交阶段)都要给出相关模型视角下的有关体系结构的描述,作为构思、构造、给出相关模型视角下的有关体系结构的描述,作为构思、构造、管理和改善系统的主要制品。管理和改善系统的主要制品。第19页/共307页20系统体系结构是对系统语义的概括表述,内含一些决策,主系统体系结构是对系统语义的概括表述,内含一些决策,主要涉及软件系统的组织(要涉及软件系统的组织(包括构成系统的结构元素、各元素的包括构成系统的结构元素、各元素的接口、由元素间的各种协
16、作所描述的各元素行为、由结构元素接口、由元素间的各种协作所描述的各元素行为、由结构元素和行为元素构成的子系统、相关的系统功能和性能、其他约束和行为元素构成的子系统、相关的系统功能和性能、其他约束等等)以及支持这种组织的体系结构风格。)以及支持这种组织的体系结构风格。系统体系结构对所有与项目有关人员来说都是能够理解的,系统体系结构对所有与项目有关人员来说都是能够理解的,因此便于用户和其他关注者对系统达到共识,以便建立和控制因此便于用户和其他关注者对系统达到共识,以便建立和控制系统的开发、复用和演化。系统的开发、复用和演化。因此,在系统体系结构描述中,应关注子系统、构件、接口、因此,在系统体系结构
17、描述中,应关注子系统、构件、接口、协作、关系和节点等重要模型元素,而忽略其他细节。协作、关系和节点等重要模型元素,而忽略其他细节。第20页/共307页21具体地说,体系结构描述应根据相关模型的视角:具体地说,体系结构描述应根据相关模型的视角:展示对体系结构有意义上的用况、子系统展示对体系结构有意义上的用况、子系统(不涉及子系统不涉及子系统的隐含成分和私有成分,及其变种的隐含成分和私有成分,及其变种)、接口、类、接口、类(主要为主动类主要为主动类)、构件、节点和协作;、构件、节点和协作;展示对系统体系结构有意义的非功能需求,例如性能、展示对系统体系结构有意义的非功能需求,例如性能、安全、分布和并
18、发等;安全、分布和并发等;简述相关的平台、遗产系统、所用的商业软件、框架和简述相关的平台、遗产系统、所用的商业软件、框架和模板机制等;以及模板机制等;以及各种体系结构模式。各种体系结构模式。第21页/共307页22例如,为获得系统用况模型视角下的系统体系结构描述,应:例如,为获得系统用况模型视角下的系统体系结构描述,应:在一般性地了解系统用况之后,勾画与特定用况和平台无关在一般性地了解系统用况之后,勾画与特定用况和平台无关的系统体系结构轮廓。的系统体系结构轮廓。关注一些关键用况。所谓关键用况,是指那些有助于降低最关注一些关键用况。所谓关键用况,是指那些有助于降低最大风险的用况,对系统用户来说是
19、最重要的用况,以及有助于大风险的用况,对系统用户来说是最重要的用况,以及有助于实现所有重要的功能而不遗留任何重大问题的用况。实现所有重要的功能而不遗留任何重大问题的用况。给出每一关键用况的描述。其中应考虑软件需求、中间件、给出每一关键用况的描述。其中应考虑软件需求、中间件、遗产系统和非功能性需求等,以便产生更加成熟的用况和更多遗产系统和非功能性需求等,以便产生更加成熟的用况和更多的系统体系结构成分。的系统体系结构成分。对以上三步进行迭代,得到一个文档化的体系结构基线。并对以上三步进行迭代,得到一个文档化的体系结构基线。并在此基础上,形成一个稳定的系统体系结构描述。在此基础上,形成一个稳定的系统
20、体系结构描述。第22页/共307页23 软件系统的构架从不同角度描述了即将构造的系统,它刻画了系统的整体设计,软件系统的构架从不同角度描述了即将构造的系统,它刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特征,包含了系统中最重要的静态结构和动态行去掉了细节部分,突出了系统的重要特征,包含了系统中最重要的静态结构和动态行为。为。构架是根据应用领域的需要逐渐发展起来的,并在用例中得到反映。每种产品构架是根据应用领域的需要逐渐发展起来的,并在用例中得到反映。每种产品都具有功能和表现形式,功能与用例对应,表现形式与构架对应。用例与构架是相互都具有功能和表现形式,功能与用例对应,表现形式与构架对
21、应。用例与构架是相互影响的,用例在实现时必须符合于构架,构架必须预留空间以实现现在或将来所有需影响的,用例在实现时必须符合于构架,构架必须预留空间以实现现在或将来所有需要的用例。要的用例。第23页/共307页24迭代与增量的过程迭代指工作流中的步骤,增量指产品中增加的部分。迭代过程要处理一组用例,这组用例合起来能扩展所开发产品的可用性,后续的迭代过程建立在前一次迭代过程末期所开发的产品上。构架提供了一种结构来指导迭代过程中的工作,用例则确定了目标并驱动每次迭代的工作。基于构件统一过程所构造的软件系统,是由软件构件通过明确定义的接口相互连接所建造起来的。使用UML统一过程使用UML来制定软件系统
22、的所有蓝图,UML是整个统一过程的一个完整部分,他们是共同发展起来的,它强调创建和维护模型。第24页/共307页25过程可剪裁用统一过程开发软件时,各阶段应该有多长?各个阶段迭代多少次是合适的?候选构架可以在哪一点完全建立起来?这些问题的答案取决于系统的规模、项目的性质、开发组织的领域经验,甚至包括相关人员有效配合程度。总之,统一过程是一个框架,可以根据具体情况加以裁剪,以此来适应各种各样的开发过程。第25页/共307页26 用例对各阶段及视图的影响需求用例分析设计实现测试用例视图构件视图部暑视图逻辑视图并发视图第26页/共307页27设计视图实现视图配置视图过程视图Use case视图Use
23、 case ViewUse case View描述系描述系统的外部特性、系统的外部特性、系统功能等。统功能等。Implementation Implementation ViewView 表示系统表示系统的实现特征,的实现特征,常用构件图表常用构件图表示。示。Design ViewDesign View 描述系描述系统设计特征,包括统设计特征,包括结构模型视图和行结构模型视图和行为模型视图,前者为模型视图,前者描述系统的静态结描述系统的静态结构构(类图、对象图类图、对象图),后者描述系统的,后者描述系统的动态行为动态行为(交互图、交互图、状态图、活动图状态图、活动图)。Process View
24、Process View 表示系统内部表示系统内部的控制机制。常用类图描述的控制机制。常用类图描述过程结构,用交互图描述过过程结构,用交互图描述过程行为。程行为。Deployment ViewDeployment View 配置视图配置视图描述系统的物理配置特征。描述系统的物理配置特征。用配置图表示用配置图表示。UMLUML的主要内容的主要内容UMLUML常用常用常用常用视图视图视图视图第27页/共307页28阶阶段段核心工作流核心工作流 迭代、增量式开发迭代、增量式开发意指通过开发活动的迭代,不断地产生相应的增量。在意指通过开发活动的迭代,不断地产生相应的增量。在RUP中,规定了四个开发阶段
25、:初始阶段中,规定了四个开发阶段:初始阶段(theinceptionphase)、精化阶段精化阶段(theelaborationphase)、构造阶段、构造阶段(theconstructionphase)和移交阶段和移交阶段(thetransitionphase)第28页/共307页29RUP的阶段论RUP包括初始、细化、构造和移交4个阶段(初始、细化、构造、移交),每个阶段又分若干次迭代,每次迭代都有一个核心工作流(包括5个活动需求、分析、设计、实现、测试),如下图:第29页/共307页301.初始阶段.对需求有一个大概了解,确定系统中的大多数用例和角色,但此时用例是简要的;.划分主要子系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 方法 RUP
限制150内