Rational_Rose【UML建模】_教程 使用详解第一次课
- 格式:doc
- 大小:270.00 KB
- 文档页数:8
rationalrose初步实验三 UML基本概念和Rose2003使⽤初步⼀、实验⽬的(1)掌握UML的概念、组成;(2)熟悉Rational Rose的⼯作环境及组成。
学习使⽤Rational Rose 2003的基本⽅法。
⼆、实验⼯具1.Rational Rose 2003企业版或Rational Rose 2003专业版。
2.Visual Basic 5.O/Visual Basic 6.0/visual C++6.0。
三、实验内容掌握Rational Rose2003的启动与退出,菜单、⼯具栏和浏览器的使⽤及其含义。
四、实验要求1.硬件基本配置:Intel Pentium 3 CPU或以上级别的CPU,⼤于128MB 的内存2.软件要求:Windows98/2000/Me/XP操作系统,Office 97/2000系统程序。
3.实验学时:2学时。
五、实验步骤UML(Unified Modeling Language)语⾔是⼀种⽀持对象技术的建模语⾔,是在计算机系统中表⽰真实世界的语⾔,描述真实世界中的对象和它们之间的关系,⽀持应⽤的开发。
本章主要是介绍UML基本概念,课程设计将围绕这些基本概念展开。
实现UML建模需要使⽤CASET⼯具,这⾥简要介绍Rose,以便为课程设计打下基础。
1.引⼊可视化建模语⾔现实世界是复杂的,以致于⽤户经常不能精确地理解和描述⼀些将要开发的系统,建模可以使⽤户更好地理解需要开发的系统。
模型是真实世界的简化。
可视化建模可使要建⽴的系统可视化,允许⽤模型表⽰系统的⾏为和结构,为建⽴系统提供⼀个指导的模板并记录相应的决策。
建⽴的模型要实际反映真正要解决的问题,能够在不问层⾯上精确地反映系统,与现实的世界连接。
通常情况下,单个的模型是不够的。
但是,在过去的软件开发过程中,许多软件团队没能够建⽴有效和⾜够的模型来反映现实问题,究其原因主要有如下⽅⾯:(1)从项⽬的需求分析开始编码;(2)编写了⼤量的结构不好的代码;(3)缺乏有计划的体系结构。
UML基础与ROSE建模教程第一章基础知识本教程的第一章将介绍UML的基础知识,并详细介绍ROSE建模工具的主要功能和用途。
第一节简介UML是由Object Management Group(OMG)开发和维护的一种建模语言。
它提供了一些标准的图形符号和元素,用于描述软件系统的各个方面,如结构、行为、交互和功能等。
UML图表是用于可视化系统设计和开发过程的重要工具。
它们可以帮助团队成员更好地理解和沟通设计思想,并促进系统开发的合作和协调。
第二节UML的主要图表类型UML定义了一系列图表,用于描述系统的不同方面。
以下是一些常见的UML图表类型:1. 用例图(Use Case Diagram):用于描述系统的功能需求和用户之间的关系。
2. 类图(Class Diagram):用于描述系统中的类、对象及其之间的关系。
3. 对象图(Object Diagram):用于描述系统中对象之间的实例关系。
4. 交互图(Interaction Diagram):用于描述系统中各个对象之间的交互关系,包括顺序图(Sequence Diagram)和协作图(Collaboration Diagram)等。
5. 状态图(Statechart Diagram):用于描述系统中一个对象的状态和状态之间的转换。
7. 部署图(Deployment Diagram):用于描述系统的物理部署架构,包括硬件设备、软件组件和网络之间的关系。
第三节ROSE建模工具的主要功能2.模型管理:ROSE提供了一个集中式的模型管理系统,可以帮助用户组织和管理各种UML图表。
用户可以创建、导入、导出和删除模型,还可以对模型进行版本控制和协作。
3.代码生成:ROSE可以根据UML图表生成相应的代码。
用户可以选择不同的编程语言和代码风格,以满足具体的开发需求。
4.反向工程:ROSE支持从现有的代码库中生成UML图表。
用户可以导入源代码,并根据代码结构和关系自动生成相应的UML图表,以帮助理解和分析现有的系统。
第一部分关于本教程欢迎使用Rational Rose教程Rational Rose是一套可视化建模工具,用于在C/S,分布式企业环境下开发健壮的,有效的解决方案以满足真正的业务需求。
本教程通过指导你一步步地进行一个复杂的业务问题的真正实现解决,教给你如何使用Rose。
估计完成时间:完成整个教程需要花大约10小时。
当然可以从任何部分开始和结束,剩下的部分以后再看。
每一部分还有完成该部分所需时间,例如前言部分需要大约5分钟。
示例模型:在本教程中,你将为一个叫做Classics的虚构的公司开发一套POS系统。
Classics公司是一家快速成长的连锁店,经营经典的音乐、电影、图书。
该公司的POS系统已经过时,现在必须作一套新的定单处理和实现系统(OPFS)。
随着本教程的不断深入,你将开发OPFS系统以帮助Classics公司更好的管理其商店和存货。
该教程适合我吗?如果你有一点或没有Rational Rose知识,都可以使用本教程。
当然你得对Windows (NT/95/98)操作系统、面向对象分析&设计(OOAD)概念、UML语言有一些基本了解。
本教程是如何组织的?本教程是按照在业务和应用软件建模中的行为步骤来进行的,每一部分是建立在前一部分提出的知识的基础上的。
但是每一部分都是独立的单元。
这就意味着你可以从任何一部分开始,而跳过其他部分。
例如,如果你懂业务建模,就可以跳过第3部分直接进行第4部分。
我可以按照各部分的顺序吗?按照各部分的顺序,你可以模拟一个真实世界的开发环境。
看完了第1和第2部分的介绍材料,就自然地进入第3部分的OPFS的工作。
在第3部分中你将开始Classic公司的业务建模。
接下来进行建模应用需求以及实现。
在最后部分里将产生代码以及正逆向模型和代码每一部分里面有什么?每个部分包含:●(一个解释你要干什么以及为什么干的)介绍●(一个完成该部分所需时间的)估计●(一个完成部分开发的)样例模型●(一个在该部分引入的特性的详细指导)‘试一试’部分●一个已完成的模型●(一个在该部分所学的Rose的特性的)概要使用样本模型本教程采用手把手的方式教你如何学习Rational Rose。
UML与Rational Rose讲义2002年8月2日目录目录 (2)1. 第一周:概述 (4)1.1 Rational家族工具和应用方向介绍 (4)1.1.1 用Rational工具和以往的软件开发方式,我们能改变什么? (4)1.1.2 在纵向看:软件的开发过程分为需求、建模、构造、测试、提交五个阶段。
51.1.3 从横行看:主要包括二大部分方法贯穿整个软件开发过程的始终。
(5)1.1.4 利用Rational的成功经验 (6)1.2 OOA&D面向对象的基本原则: (6)1.3 Rational Rose的界面介绍 (10)2. 第二周:静态建模:用例和用例图(Use Case Diagram) (11)2.1 角色和角色之间的关系 (11)2.1.1 角色 (11)2.1.2 发现角色: (11)2.1.3 角色之间的关系 (12)2.2 用例和用例之间的关系 (13)2.2.1 用例的特征: (13)2.2.2 发现用例 (13)2.2.3 用例之间的关系 (14)2.3 举例建立用例图的方法和文档的详细注释 (15)2.3.1 描述用例 (15)2.3.2 测试用例 (16)2.3.3 实现用例 (17)3. 第三周:静态建模:类图和对象图(Class Diagram) (20)3.1 类的定义 (21)3.2 类图的属性、操作和使用方法 (22)3.3 类图之间的关系 (25)3.3.1 关联 (25)3.3.2 依赖性 (26)3.3.3 精化关系 (27)3.3.4 聚合 (28)3.3.5 一般化 (29)3.4 类图的约束和派生规则 (30)3.5 类图的接口、组件、包和模板 (32)3.6 类图怎样生成java代码框架 (33)3.7 类的java代码生成类图 (33)4. 第四周:动态建模:序列图和协作图(Sequence & Callaboration Diagram) (33)4.1 序列图 (35)4.1.1 序列图的格式和并发事件 (35)4.1.2 序列图定义迭代和约束的标签 (37)4.1.3 序列图的递归方式 (38)4.2 协作图 (39)4.2.1 协作图的格式和消息流 (39)4.2.2 协作图的链接 (39)4.2.3 对象的生命周期 (42)4.3 从序列图转换为协作图的方式 (42)4.4 从协作图转换为序列图的方式 (42)5. 第五周:动态建模:状态图/活动图(Statechart / Activity Diagram) (42)5.1 状态图 (42)5.1.1 状态和转移 (42)5.1.2 事件 (44)5.1.3 状态图与子状态 (45)5.1.4 历史指示器 (46)5.2 活动图 (47)5.2.1 活动图的动作和转移 (48)5.2.2 活动图的泳道 (50)5.2.3 活动图的对象 (50)5.2.4 活动图的信号 (51)6. 第六周:图书馆信息系统UML实例 (52)6.1 需求 (52)6.2 分析-用例图 (52)6.3 建模及设计-类图 (52)6.4 建模及设计-状态图 (52)6.5 建模及设计-序列图 (52)6.6 详细设计-类包 (52)6.7 详细设计-详细的类图 (52)6.8 详细设计-关键对象的状态图 (53)6.9 详细设计-关键对象的序列图 (53)6.10 详细设计-关键对象的协作图 (53)6.11 详细设计-组件图 (53)6.12 接口的设计 (53)6.13 转成java并encoding实现 (53)6.14 测试和配置-展开图 (53)6.15 总结 (53)1. 第一周:概述1.1 Rational家族工具和应用方向介绍1.1.1 用Rational工具和以往的软件开发方式,我们能改变什么?●Rational ClearCase:提供版本控制,提供工作空间管理,建立管理和过程控制功能。
1.1跟我学UML静态建模——在Rational Rose工具中设计实现UML类图的应用示例(第1部分)1.1.1UML类图1、UML类图(1)类图类是面向对象模型的最基本的模型元素。
类图表达为了实现某一用例中的一组对象类之间的静态结构,以及它们之间的联系和交互。
(2)类图的作用主要体现在描述结构和联系:类图描述系统中类的静态结构,它不仅定义系统中的类,表示类之间的联系(关联、依赖、聚合等),还包括类的内部结构(类的属性和操作)。
(3)类与类之间的联系类与类之间的联系可以分为两种:结构性联系(静态联系)和行为性联系(动态联系)。
1)结构性联系指类的继承与派生、父类与子类间的聚合、组合、泛化/特化等。
2)行为性联系指类之间可以通过消息联系,通过系统预定义或用户自定义的语义联系。
(4)类的UML的图示类是对象的集合,这些对象有共同的结构特征、行为特征、联系和语义;在UML中类的图形表示为实线矩形框。
但要注意的是:在类图中不一定要列出全部的成员内容。
如在建立分析模型或设计模型时,可以只列出类名,在图中着重表达类间联系;在建立实现模型时,再在图中给出属性和操作等详细内容。
如:(5)类中的属性成员及其UML的图示●属性(成员变量)属性是类的命名的性质,在类图中用文字串说明。
其表示为:可视性属性名(多重性):类型=初始值其中:可视性用可视性标记表示:公共(+)、保护(#)、私有(-)类型(即数据类型)依赖于选择的工具语言。
例如,+年龄:integer=25●类的static成员属性所应该注意的是,对类的成员属性也就是 static成员属性在类图中的表示为带下划线的形式。
如下面的“货单个数”的类的成员属性的表示方式。
abstract class Computer{private CPU intelCPU;private HDDisk oneHDDisk;private Printer hpPrinter;Computer oneUserInfo;String bingPai="联想计算机";abstract public boolean calculateDate(Data oneDate) throws DataException;}(6)类中的方法成员及其UML的图示●类中的操作(成员方法)操作是类的行为特征或动态特征,用于对服务或实体相关的操作建模。
318.状态栏与绝大多数程序相同,状态栏位于程序最底部,用于显示程序的相关状态信息,如图3-25所示。
图3-25 状态栏本小节分区域介绍了Rose 的主工作界面及其作用,后续章节将陆续讲解更具体的实际操作说明,读者可以慢慢体会Rose 的使用方法。
3.3.2 Rose 的基本操作1.新建模型新建模型是使用Rose 的第一步。
模型可以从零开始创建,也可以利用Rose 提供的框架。
Rose 模型的全部内容保存在一个扩展名为.mdl 的文件中。
要新建一个模型:在菜单栏中选择【File 】Æ【New】,或者单击标准工具栏中的按钮。
在弹出图3-17所示的对话框中,选择要使用的框架并单击【OK 】键,或者单击【Cancel 】键不使用框架。
如果选择使用框架,则Rose 将自动载入这个框架的默认包、类和组件。
例如,选择使用J2SE1.4框架将在模型中自动添加sun 、java 、javax 和org 四个包及包中的类、接口和组件等内容,如图3-26所示。
如果不使用框架,则会创建一个空模型,需要用户从头开始创建模型。
图3-26 J2SE 1.4框架32使用框架有两个好处。
y用户不必浪费时间对已经存在的元素建模,使建模工作的重点更多地放在项目独有的部分上。
y框架保证了项目之间的一致性。
在不同的项目中使用同一种框架保证了开发团队使用相同的基础来建立项目。
另外,Rose还提供了创建框架的选项。
利用这个选项,开发团队或公司可以建立起自己的建模体系结构,然后以此为基础设计多种产品。
2.保存与打开模型Rose的保存模型与打开模型的方法与其他应用程序类似,这里不再赘述。
值得一提的是,单击【File】菜单或用鼠标右键单击日志窗口并选择【Save Log As】项可以将日志保存为扩展名为.log 的日志文件。
3.导入与导出模型复用作为面向对象方法的一大优点,不仅适用于代码,也同样应用在模型中。
Rose支持对模型和部分模型元素的导入导出操作以复用模型或模型元素。
Rational Rose 简介
Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。
Rational Rose中用例视图和逻辑视图的区别用例视图是从系统外部来看系统,逻辑视图是描述系统的内部结构。
两者之间的关系是实现关系,即,逻辑视图所描述的系统实现用例视图所描述的功能。
举个最简单的例子吧:对于很多系统都有的用户登录功能
在用例视图中只描述用户在什么样的界面登录(是登录对话框,还是指纹鉴别器,还是身份识别卡,也许都可以),如何登录(是输入口令,还是将手指放在指纹阅读器上,还是将身份识别卡在读卡器上划过),系统有什么响应(登录成功后是显示正确提示,还是有悦耳的声音,还是吐出两张美金,登录失败后是回到登录界面,还是放个P,也许是从机器里冒出一只拳头打在用户的脸上)。
但不会描述系统内部如何去验证用户,以及如何出拳。
而在逻辑视图中则是描述系统如何验证用户,可能有一个登录界面类,有一个用户认证控制类,及用户信息存储类,以及这些类如何相互运作以完成用户认证,也许还会有拳头控制类来实现拳头瞄准和出拳,总之要将用例视图中提到的功能全部正确的实现。
1. 环境简介
1.1 Rational Rose可视化环境组成
Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。
见图1-1。
图1-1:Rose界面
●浏览器:用于在模型中迅速漫游。
●文档工具:用于查看或更新模型元素的文档。
●工具栏:用于迅速访问常用命令。
●框图窗口:用于显示和编辑一个或几个UML框图。
●日志:用于查看错误信息和报告各个命令的结果。
1.2浏览器和视图
浏览器是层次结构,用于在Rose模型中迅速漫游。
在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。
Rose浏览器见图1-2。
浏览器中包含四个视图:Use Case视图、Logical视图、Component视图和Deployment 视图。
点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。
图1-2:Rose浏览器
1. 3框图窗口
在图1-3所示的框图窗口中,我们可以浏览模型中的一个或几个UML框图。
改变框图中的元素时,Rose自动更新浏览器。
同样用浏览器改变元素时,Rose自动更新相应框图。
这样,Rose就可以保证模型的一致性。
图1-3:框图窗口
2.UML各类框图的建立
2. 1建立用例图use case diagram
从用例图中我们可以看到系统干什么,与谁交互。
用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。
一个系统可以创建一个或多个用例图。
●创建用例图(图2-1-1)
在浏览器内的Use Case视图中,双击Main,让新的用例图显示在框图窗口中。
也可以新建一个包(右击Use Case视图,选择new→package,并命名),然后右击这个新建包的,选择new→use case diagram。
对系统总的用例一般画在Use Case视图中的Main里,如果一个系统可以创建多个用例图,则可以用包的形式来组织。
图2-1-1:创建用例图
●创建参与者(图2-1-2)
(1)在工具栏中选择“Actor”,光标的形状变成加号。
(2)在用例图中要放置参与者符号的地方单击鼠标左键,键入新参与者的名
称,如“客户”。
若要简要的说明参与者,可以执行以下步骤:
(1)在用例图或浏览器中双击参与者符号,打开对话框,而且已将原型(stereotype)设置
定义为“Actor”。
(2)打开“General”选项卡,在documentation字段中写入该参与者的简要说明。
(3)单击OK按钮,即可接受输入的简要说明并关闭对话框。
图2-1-2:创建参与者
创建用例(图2-1-3)
(1)在工具栏中选择“Use Case”,光标的形状变成加号。
(2)在用例图中要放置用例符号的地方单击鼠标左键,键入新用例的名称,
如“存款”。
若要简要的说明用例,可以执行以下步骤:
(1)在用例图或浏览器中双击用例符号,打开对话框,接着打开“General”选项卡。
(2)在documentation字段中写入该用例的简要说明。
(3)单击OK按钮,即可接受输入的简要说明并关闭对话框。
图2-1-3:创建用例
记录参与者和用例之间的关系(图2-1-4)
(1)从工具栏中选择关联关系箭头。
(2)将光标定位在用例图中的参与者上,单击鼠标左键并将光标移动到用
例符号上,然后释放鼠标左键。
若要简要的说明关系,可以执行以下步骤:
(1)在用例图中双击关联关系符号,打开对话框。
(2)在默认情况下,将显示对话框中的“General”选项卡。
(3)在documentation字段中写入简要说明。
(4)单击OK按钮,即可接受输入的简要说明并关闭对话框。
图2-1-4:参与者和用例的关系 增加泛化关系(图2-1-5)
(1)从工具栏中选择泛化关系箭头。
(2)从子用例拖向父用例,也可从子参与者拖向父参与者。
简要说明关系执行的步骤同上类似。
图2-1-5:增加泛化关系
★练习:画ATM(自动柜员机)系统总的用例图
理解:对于银行的客户来说,可以通过ATM机启动几个用例:存款、取款、查阅结余、付款、转帐和改变PIN(密码)。
银行官员也可以启动改变PIN这个用例。
参与者可能是一个系统,这里信用系统就是一个参与者,因为它是在ATM系统之外的。
箭头从用例到参与者表示用例产生一些参与者要使用的信息。
这里付款用例向信用系统提供信用卡付
款信息。