UML总结(对九种图的认识和如何使用Rational Rose 画图)
UML是一种建模语言,是系统建模的标准。我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题:
- 开发人员如何与用户进行沟通来了解系统的需求?
- 开发人员之间如何沟通以确保各个部门能够无缝地协作?
而UML是我们在构造个特种模型时首选的一种建模工具,去描述系统的需求和设计,在对复杂的工程进行建模时,系统可由单一的图形来描述,但是单一图形不可能包含一个大系统所需的所有信息,更不可能描述系统的整体结构功能,这样一来就几乎不能用单一图形来建模了,而UML能从不同的角度去描述系统,它提供了九种图,下面我们用一张图去对比这九种图的用途。

说完这九种图用途,下面我们该了解一下怎样使用工具创建图,使用的工具是Rational Rose。
使用Rational Rose 创建用例(Use Case)如图:

- 右击browser框中的Use Case View包,弹出快捷菜单;
- 选择New——Use Case项;
- 输入用例的名字;(如出错,可用Rename命令更改)
- 如果文档窗口不可见,选择屏幕上方的View—— Documentation菜单;
- 在browser框中选中所需用例;
- 将光标置于文档框中,输入相应文档。
通过上面的学习我们了解了使用Rational Rose创建图的具体操作步骤,其他几种图的创建方法类似,记住相应的单词就可以了。
- 用例图:Use Case Diagram
- 类图:Class Diagram
- 对象图:Object Diagram
- 状态图:State Diagram
- 顺序图:Sequence Diagram
- 协作图:Collaboration Diagram
- 组件图:Component Diagram
- 部署图:Deployment Diagram
- 活动图:Activity Diagram
接着我们来了解如何用Rational Rose 提供的模型去画一张属于自己同时别人也能看得懂的图
1.用例图
- 双击browser框中的Use Case View包中的Main条目,打开主用例图;
- 单击选中browser框中的执行者,并将其拖到主用例图中;
- 重复第2)步,直到完成所需的工作为止;
- 单击选中browser框中的用例,并将其拖到主用例图中;
- 重复第4)步,直到完成所需的工作为止;
- 在工具条中选择单向关联(Unidirectional Association)图标;
- 单击一个执行者,并拖到相应的用例上;或单击一个用例,并拖到相应的执行者上。
例图:




·
2.类图
类图中主要说一下如何创建类的 创建属性和方法
1.创建一个最基本的类(含有类的名称即可)
2.右击刚刚创建好的类选择 New Attribute 即可创建类的属性
3右击刚刚创建好的类选择 New Operation 即可创建类的方法如图:

例图:

3.对象图:
与创建类图相似,其中的一个区别是在对象名的下面要有下划线,且对象名的表示方法由三种
a.一般方法

b.只有类名,冒号和下划线

说明建立的模型适用于该类的所有实例,这种表示方式称作匿名对象
c.只有对象名和下划线

隐藏了属性
4.状态图
a.创建状态(States)
- 在工具条中选择State图标;
- 在状态图中单击要放置状态的位置;
- 输入状态的名字。(如出错,可用Rename命令更改)
b.创建状态转换(State Transitions)
- 在工具条中选择State Transitions图标;
- 单击起始状态,并拖至下一个状态;
- 输入状态转换的名字。(如出错,可用Rename命令更改)
c.创建起始状态
- 在工具条中选择Start图标;
- 在状态图中单击要放置起始状态的位置;
- 用状态转换线进行连接。
d.创建结束状态
- 在工具条中选择Stop图标;
- 在状态图中单击要放置结束状态的位置;
用状态转换线进行连接。
例图:

5.顺序图
创建对象和信息
- 双击顺序图名称,打开顺序图;
- 将browser框Use CaseView包中的执行者拖入图中;
- 选择工具条中的“Object”图标;
- 单击图中放置对象的位置,并输入相应的名字;
- 重复3——4步;
- 选择工具条中的“Object Message”图标;
- 从信息发出者拖至信息接收者;
- 输入信息的名字;
- 重复6——8步。
例图:

6.协作图
采取将顺序图转换为合作图的方法
- 双击顺序图名称,打开顺序图;
- 选择屏幕上方的菜单Browser——Create Collaboration Diagram
- 调整图中的对象和信息,使其美观。

例图:

7.组件图
创建Main构件图(Component Diagram)
- 双击Main构件图中的University包,打开图形;
- 在工具条中选择Component图标;
- 单击图中某一位置,放置构件;
- 输入构件名称。
8.部署图
- 双击Browser框中的部署图(Deployment Diagram);
- 选择工具条中的Processor图标,并单击图中某一位置;
- 输入结点的名字;
- 选择工具条中的Connection图标;
- 点击某一结点,拖至另一结点;
- 选择工具条中的Text图标;
- 在相应结点下写上文字。
下图是书中的一个例图:

9.活动图
- 创建活动(Activity)
- 创建决策点(Decision Points)
- 创建同步条(Synchronization Bar)
- 创建起始活动和终止活动
例图:学生上机记录查询的活动图

以上就是我在学习了UML画图之后的理解,但是验收之后我最大也是最多的一个问题就是命名的时候给人家加上了空格,这样会在生成代码的时候造成很大麻烦,图还没来得及改正,记录一下我第一遍的收获,接着第二遍会有不一样的收获!
UML总结(对九种图的认识和如何使用Rational Rose 画图)的更多相关文章
- UML总结4---UML九种图关系说明
转自:http://blog.csdn.NET/chenyujing1234/article/details/8173519 UML中包括九种图:用例图.类图.对象图.状态图.时序图.协作图.活动图. ...
- UML 小结(6)- UML九种图的比较与学习
UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...
- (UML两个汇总)九种图。
最后总结UML关系,有明确的关系,现在让我们总结一下UML九图..图往往比文字要直观,因此,当我们开发软件.文件必须是不可或缺的人物,. 以下我将这九种图分了一下: 我们还能够将这九种图分为静态图和动 ...
- UML总结---UML九种图关系说明
UML中包括九种图:用例图.类图.对象图.状态图.时序图.协作图.活动图.组件图.配置图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...
- UML九种图作用简介
UML(统一建模语言):是面向对象的可视化建模语言. UML中有3种构造块:事物.关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物 UML中有九种图如下: ...
- [UML]转:浅谈UML的概念和模型之UML九种图
转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...
- 讨论UML概念和模型UML九种图。
文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case d ...
- UML九种图汇总
UML视频读,该文件开始起草.我不知道如何下手啊!我想先UML九图和总结的关系,然后开始用它的文件. 首先在地图上. UML的九种图各自是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图 ...
- UML九种图-包图、类图
UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...
随机推荐
- Angular2之管道学习笔记
管道.可以把一个输出流与另一个输入流连接起来.类似 linux.gulp都有应用. 在Angular2中使用管道非常方便.Angular2中本身提供了一些内置管道.当然也可以自定义管道. 文档链接:h ...
- webService常见问题
1.普通字符串(日期形式)转换为XMLGregorianCalendar SimpleDateFormat simpleDateFormat =new SimpleDateFormat("y ...
- trimpath javascript的学习
TrimPath是javascript模板引擎. 这几天有一个项目涉及到trimpath这个框架,所以就花了一点时间研究了一下,这个框架和别的javascript框架不太一样的地方就是模板的概念,就是 ...
- Nagios工作原理
图解Nagios的工作原理 Nagios的主动模式和被动模式 被动模式:就如同上图所显示的那样,客户端起nrpe进程,服务端通过check_nrpe插件向客户端发送命令,客户端根据服务端的指示来调用相 ...
- Memcached十问十答
1.Memcached是什么,有什么作用? Memcached是一种纯内存的,key-value,CS架构的数据库服务软件,主要用于数据库,web服务器的缓存,以减小数据库,web服务器的访问压力,尤 ...
- ubuntu 软件安装配置使用总结(由xmind:Depends:java8-runtime but is not installed引出)
ubuntu 软件安装总结(由xmind:Depends:java8-runtime but is not installed引出) 不知道抽什么风,这几天PC上又用起了linux操作系统.其实之前断 ...
- 参加光环国际PRINCE2培训
挑战埃及是全球首套能够同时适配PRINCE2认证人群,PMP认证人群的项目管理沙盘演练游戏.沙盘通过使用乐高积木作为道具,通过一场互动性极强的情景模拟为全球项目经理还原了四千年前古埃及金字塔建造的情景 ...
- Struts2的类型转换(下)
Struts2提供的类型转换: Struts2提供的是一个名叫StrutsTypeConverter的抽象类,这个类实际上是DefaultTypeConverter的子类.当我们继承自该抽象类 时,要 ...
- [原]android sdk更新的终极解决方案
由于众所周知的原因,国内更新Android SDK一直是个老大难的事情,一般都要到处找VPN之类的工具来曲线救国.不过其实谷歌已经帮我们想到这点了,我们自身就可以解决问题,步骤如下: 打开SDK Ma ...
- selenium自动化过程中如何操作Flash动画
最近在看python的爬虫框架(scrapy),一个词概括就是:"酸爽"!等把selenium自动化版块讲完后,打算写一写关于scrapy相关的知识,打算从源码角度解析下scrap ...