统一建模语言UML与RationalRose工具课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《统一建模语言UML与RationalRose工具课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统一 建模 语言 UML RationalRose 工具 课件
- 资源描述:
-
1、第6章 统一建模语言统一建模语言UML与与Rational Rose工具工具 面向对象的实用拐杖内容概览n统一建模语言UML概述nRational Rose基本应用n用例图n静态视图n动态图n活动图n时序图n协作图n基于UML的图书管理信息系统设计RUP模型模型统一软件开发过程模型统一软件开发过程模型-新型软件生命周期模型新型软件生命周期模型 统一开发过程统一开发过程(Rational Unified Process,RUP)是一套面向对象的软件工程方法。)是一套面向对象的软件工程方法。统一软件开发过程模型统一软件开发过程模型,集成了许多软件开发模,集成了许多软件开发模型的优点,是一种综合了瀑
2、布模型,增量模型,型的优点,是一种综合了瀑布模型,增量模型,演化模型,快速原型模型优点的混合模型。具有演化模型,快速原型模型优点的混合模型。具有很好的可操作性和实用性,是目前最有效的软件很好的可操作性和实用性,是目前最有效的软件开发过程模型。开发过程模型。RUP的二维开发模型的二维开发模型n传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。n在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。横轴表示项目的时间维,纵轴以内容来组织为自然的逻辑活动。RUP的二维开发模型的二维开发模型6.1统一建模语言统一建模语言UML概述概述 统一建模语言UML是绘制软件蓝
3、图的标准语言,可以对软件系统产品进行可视化、详述、构造和文档化。UML在实际软件项目开发中,可以用于构造各种类型系统的业务模型和软件模型。UML简介简介UML的全名:的全名:Unified Modeling Language 统一建模语言统一建模语言UML是是Booch,Rumbaugh和和Jacobson三位著名的三位著名的 研究面向对象方法的计算机专家的研究成果研究面向对象方法的计算机专家的研究成果UML已被已被OMG(Object Management Group)采)采纳,作为国际标准。纳,作为国际标准。UML是一种用于对软件系统进行建模的语言,独立是一种用于对软件系统进行建模的语言,
4、独立于软件开发过程于软件开发过程,不是一门程序设计语言,不是一门程序设计语言 UML发展历程发展历程6.1.1 UML的内涵的内涵 UML是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统工件的文档。它记录了与被构建系统有关的决策和理解,可用于对系统的理解、设计、浏览、配置、维护及控制系统的信息。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域及各种工具,旨在统一以往建模技术,吸收当今软件开发的最佳方案从而形成一种标准的方法。需要说明的是,UML是一种建模语言,而不是一种方法。从原理上讲,任何方法都应由建模语言和建模过程两部分构成。其中建模语言提供
5、了这种方法中用于表示设计的符号(通常是图形符号);建模过程则描述进行设计所需要的步骤。6.1.2 UML的组成及应用的组成及应用1UML的模型元素的模型元素UML定义了两类模型元素:一类是用于表示模型中的某个概念,如类、对象、构件、用例、节点、接口、包和注释等;另一类是用于表示模型元素之间相互连接的关系,其中主要有:关联、泛化、依赖和聚集等。6.1.2 UML的组成及应用的组成及应用2UML的模型图的模型图UML是用来描述模型的,即描述系统的结构或静态特征,以及行为或动态特征。为了能支持从不同角度来考察系统,UML定义了五类共9种模型图。第一类是用例图,它从用户角度描述系统的功能,并指出各功能
6、的操作者。第二类是静态图,包括类图、对象图和包图。第三类是行为图,描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。第四类是交互图,描述对象间的交互关系,包括顺序图和协作图。第五类是实现图,包括构件图和配置图。6.2 Rational Rose基本应用基本应用 6.2.1 Rational Rose简介简介Rational Rose是由美国的Rational公司开发的、面向对象的可视化建模工具。利用Rose工具,可以建立用UML描述的软件系统模型,它支持UML中的用例框图、活动框图、序列框图、协作框图、状态框图、组建框图和布局框图等。而且通过其正向和逆向转出工程代码的特性,可以支持
7、C+、Java、Visual Basic和XML DTD 的代码生成和逆向转出工程代码。我们以Rose 2003为基础,掌握其进行UML建模的基本操作。13Rational Rose的作用的作用n整个开发团队可以使用用况图,来获得一个系统高整个开发团队可以使用用况图,来获得一个系统高层次的视图,并且可以协商项目的范畴;层次的视图,并且可以协商项目的范畴;n项目经理可以使用用况图和文档,把项目分解项目经理可以使用用况图和文档,把项目分解成便于管理的多个模块;成便于管理的多个模块;n系统分析员和客户在看到用况规格描述文档的系统分析员和客户在看到用况规格描述文档的时候,就可以明白系统将会提供什么样的
8、功能时候,就可以明白系统将会提供什么样的功能;n技术编写者在看到用况规格描述文档时,就可技术编写者在看到用况规格描述文档时,就可以着手编写用户手册和培训计划;以着手编写用户手册和培训计划;n系统分析员和软件开发者在看到时序图和协作系统分析员和软件开发者在看到时序图和协作图时,就可以明白整个系统的逻辑流程、对象图时,就可以明白整个系统的逻辑流程、对象以及对象之间的消息;以及对象之间的消息;14Rational Rose的作用的作用n质量检测员可以使用用况文档、时序图、协作图获质量检测员可以使用用况文档、时序图、协作图获得测试脚本所需要的信息;得测试脚本所需要的信息;n软件开发人员使用类图和状态图
9、,可以获得系软件开发人员使用类图和状态图,可以获得系统模块的详细视图以及模块之间的关系;统模块的详细视图以及模块之间的关系;n部署人员在使用组件图和部署图时,就可以明部署人员在使用组件图和部署图时,就可以明白哪些是可执行文件或白哪些是可执行文件或DLL文件,以及其他的文件,以及其他的一些组件是如何创建的,这些组件该部署在网一些组件是如何创建的,这些组件该部署在网络中哪些地方;络中哪些地方;n整个团队使用整个团队使用Rose模型,就可以确定从需求到模型,就可以确定从需求到编码的整个过程,并且从编码到需求这个逆过编码的整个过程,并且从编码到需求这个逆过程也是可以追踪的。程也是可以追踪的。Rose建
10、模环境建模环境nRose 提供了一套十分友好的界面让用户对系统进行建模。安装完Rose 之后,单击“开始”“程序”“Rational Software”“Rational Rose Enterprise Edition”命令选项,则会出现如图所示的界面,选择Rose新模型的应用架构(Framework)界面。开发人员可以选择J2EE,J2SE1.2,J2SE1.3,jfc-11等应用框架进行系统分析和设计。6.2.3 Rational Rose基本操作基本操作启动Rational Rose2003Create New Model窗体中给出了许多开发语言的模型向导,开发者可以根据自己所采用的语言
11、来进行选择如果不需要特定的语言环境,单击Cancel就可以直接进入主界面n菜单:集成了系统中几乎所有的操作n浏览器:用于在Rose模型中迅速漫游n文档窗口:用于查看或更新模型元素的文档n工具栏:用于迅速访问常用命令n图窗口:用于显示和编辑一个或几个UML图n日志窗口:用于查看错误和报告各个命令的结果l主菜单和工具栏Rose 2003Rose 2003主要菜单主要菜单任务2lRose 2003 视图Rose 2003Rose 2003主要菜单主要菜单6.3 用例图用例图 6.3.1 用例图简介用例图简介用例图是表示用例模型,其基本组成部件是用例、参与者和用例关系。1参与者参与者参与者是系统、子系
12、统或类发生与外部用户、进程或其他系统的交互。2用例用例在系统模型,用例表示主体(功能单元)对外部用户可见的行为。关 系功 能符 号关联参与者与其执行的用例之间的通信路径扩展在基用例上插入附加的行为,基用例并不知道extend包含在基用例上插入附加的行为,并显示地描述了该插入include用例泛化一般用例和特殊用例之间的关系,其中特殊用例继承了一般用例的特征并增加新特征用例图的内容用例图的内容n用例图的内容:n参与者n用例n泛化、扩展和包含关系参与者参与者n用例描述了系统的功能和所提供的服务。面对一个大系统,要列出所有用例的清单常常比较困难,比较简单的方法是先找出系统的参与者,分析每个参与者是怎
13、样使用系统的。n使用以下问题有助于发现系统的参与者谁使用系统?谁安装系统、维护系统?谁启动系统、关闭系统?谁从系统中获取信息,谁提供信息给系统?在系统交互中,谁扮演了什么角色?系统会与哪些其他系统相关联?识别参与者识别参与者 订货系统:客户给销售员发来传真订货,销售员下班前将当日订货单汇总输入系统。谁是系统的Actor?答案:销售员识别参与者识别参与者 寻呼台系统。用户如果预定了天气预报,系统每天定时给他发天气消息;如果当天气温高于35度,还要提醒用户注意防暑。这个叙述里,谁是寻呼台系统的Actor?用户?气温?时间?答案:用户,气温,时间都是Actor识别参与者识别参与者 商品销售系统。顾客
14、通过网络下单之后,系统计算出总计金额,税金,运费,并将数目传递给一个外挂的会计系统,该系统是另外购买的。有几个Actor?答案:顾客(商品销售系统),商品销售系统(会计系统)用例用例(UseCase)n用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。n参与者和用例分别描述了“谁来做?”和“做什么?”这两个问题。n用例用实线的椭圆表示用例用例 n识别用例的最好办法就是从分析系统的参与者开始,考虑每个参与者是怎样使用系统。n根据下面的一些问题来识别用例:参与者希望系统提供什么功能;系统是否存储和检索信息;当系统改变状态时,是否通知参与者;是否存在影响系统的外部事件,
15、是哪个参与者通知系统这些外部事件。识别用例识别用例 Email客户端(如:outlook express):A在北京发邮件给深圳的B,系统提醒B”你有新邮件”,B收邮件。参与者:用户(A、B)、时间识别用例识别用例 论坛的应用:用户可以提问,别人来回答,如果有自己问题被解答的话,就给发问者发一份邮件通知。注意:发邮件这个用例可以是单独的用例,也可以是由回答用例扩展出来的用例用例之间的关系用例之间的关系 泛化关系 包含关系 扩展关系泛化泛化(generalization)当多个用例共同拥有一种类似的结构和行为的时候我们可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。泛化举例(一
16、):泛化泛化(generalization)泛化举例(二):包含包含(include)包含是指基本用例(base use case)会用到包含用例(inclusion),具体地讲,就是将包含用例的事件流插入到基础用例的事件流中。包含用例是可重用的用例多个用例的公共用例。扩展扩展(extend)将扩展用例的事件流在一定的条件下按照相应的扩展点插入到基础用例中。n基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点。n扩展用例的行为是否被执行要取决于主事件流中的判定点。包含用例与扩展用例的区别包含用例与扩展用例的区别相对于基础用例,扩展用例是可选的,而包含用例则不是。如果缺少扩展用例,基础用例还
17、是完整的,而缺少包含用例,则基础用例就不完整了。扩展用例的执行需要满足某种条件,而包含用例不需要。扩展用例的执行会改变基础用例的行为,而包含用例不会。37用例建模用例建模 1创建用例图创建用例图(1)选定浏览器窗口中的【选定浏览器窗口中的【Use Case View】;(2)单击鼠标右键,在弹出的快捷菜单中选择【单击鼠标右键,在弹出的快捷菜单中选择【New】;(3)在菜单【在菜单【New】产生的下级菜单中选择要新建的图产生的下级菜单中选择要新建的图【Use Case Diagram】。】。以上步骤如图以上步骤如图2-19所示,生成的用况图,如图所示,生成的用况图,如图6-7所示。所示。38用例
18、图用例图 用例图的建模符号实验实验1:任务解决:任务解决ATM终端系统完成以下任务:(1)客户可以通过ATM完成登录、取款、存款、通过信用系统付款、查询余额、修改密码、打印凭证等业务。(2)银行官员登录、修改密码、为ATM添加现金、维护ATM硬件。(3)信用系统启动来自客户的付款创建系统用例模型n创建系统用例的第一步是确定系统的参与者。ATM自动取款机系统的参与者包含以下三种:(1)客户(2)银行职员(3)信用系统创建系统用例模型创建系统用例模型实验1:绘制ATM自动柜员机系统总的用例图 ATM自动柜员机系统总的用例图 取款存款转账查询余额客户修改密码硬件维护银行官员添加现金信用系统还款实验实
19、验2:“学生成绩管理信息系统”功能模块如下,分析教师登记成绩业务过程,并建立教师登记成绩用例图6.4 静态视图静态视图静态视图是UML的基础,是展现系统的静态结构组成及特征,包括类图、对象图和包图。其中,类图描述系统中类的结构,不仅定义系统中的类,表示类之间的关系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。类图和对象图的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某个时间段存在。包图是由包或类
20、组成,用于描述系统的分层结构。1 1、类图及对象图的基本符号、类图及对象图的基本符号类图类图类名类名属性:类型属性:类型操作操作对象:类名对象:类名属性名值属性名值操作操作关联关联 依赖依赖聚合聚合 泛化泛化类图类图类图的说明:类图的说明:类的命名类的命名 类是一组对象的抽象,应尽量做到类是一组对象的抽象,应尽量做到“见名识意见名识意”。定义属性定义属性 可见性可见性 属性名属性名:类型名类型名=初值初值 约束特性约束特性可见性:公有(可见性:公有(Public)私有(私有(Private)保护(保护(Protected)约束特性:该属性的约束说明约束特性:该属性的约束说明定义属性时,属性名必
21、须要有,其它任选定义属性时,属性名必须要有,其它任选.关联(关联(association)角色当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色。它呈现的是对另一端的职责。可以显式地命名类在关联中所扮演的角色。聚合关联用于指出类间的聚合关联用于指出类间的“整体整体-部分部分”关系。关系。共享聚合(共享聚合(aggregation(空心菱形)共享聚合是指它的共享聚合是指它的“部分部分”对象可以是多个对象可以是多个 “整体整体”对象对象的一部分。的一部分。聚合关联聚合关联 Rose 2003并不提供“共享聚合”这种图形(空心菱形)1.可以先画一个单向关联的关系,2.然后右键单击这个
22、关系,open specification-Role B Detail,3.选择 aggregation(空心)的关系。组合聚集组合聚集 组合是聚合的一种形式,它具有强的拥有关系,整体与部分的生命组合是聚合的一种形式,它具有强的拥有关系,整体与部分的生命周期是一致的。周期是一致的。“部分部分”生存在生存在“整体整体”中,它们与中,它们与“整体整体”一起消亡。一起消亡。整体的整体的重数重数必须是必须是0 0或或1 1。在在UMLUML中,组合是一种特殊的关联,用整体端有实心菱形箭头的中,组合是一种特殊的关联,用整体端有实心菱形箭头的简单关联修饰它。简单关联修饰它。聚集关联聚集关联Rose 200
23、3并不提供“组合关系”这种图形(实心菱形)1.右键单击这个关系,open specification-Role B Detail,2.选择aggregation(空心)的关系,3.你会发现Contenment有三项选(By Value,By Reference,Unspecified),在你选上By Value的时候,菱形就变成实心的了。泛化泛化也称之为继承,表示类之间的一般与特殊的关系,也称之为继承,表示类之间的一般与特殊的关系,即即“一般(父)一般(父)”类是类是“特殊(子)特殊(子)”类的类的泛化泛化,“特殊特殊”类是类是“一般一般”类的类的特化特化。泛化就是简单的泛化就是简单的继承关系
展开阅读全文