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.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...
随机推荐
- windows phone 8.1 FlipView 实现照片自动浏览
FlipView 控件也是一个集合控件,不过它和ListView等控件不同,ListView控件是一次显示多个项,而FlipView则是每次只显示一个项.在windows phone上通过默认的左右滑 ...
- LinkedHashSet的概述和使用
LinkedHashSet的特点: 可以保证怎么存就怎么取 package online.msym.set; import java.util.LinkedHashSet; public class ...
- Power BI Embedded 与 Bot Framework 结合的AI解决方案
最近最热门的话题莫过于AI了,之前我做过一片讲 BOTFRAMEWORK和微信 相结合的帖子 如何将 Microsoft Bot Framework 链接至微信公共号 我想今天基于这个题目扩展一下,P ...
- 如何修改vsftpd的默认根目录/var/ftp/pub到另一个目录?
修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可: 加入如下几行: local_root=/var/www/html chroot_local_user=YES ano ...
- js的几种简单排序算法及其效率实测
function swap(arr,index1,index2){ var t = arr[index1]; arr[index1] = arr[index2]; arr[index2] = t; } ...
- LeetCode -- Word Break 动态规划,详细理解
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separa ...
- 【C++】智能指针详解(二):auto_ptr
首先,我要声明auto_ptr是一个坑!auto_ptr是一个坑!auto_ptr是一个坑!重要的事情说三遍!!! 通过上文,我们知道智能指针通过对象去管理指针,在构造对象时完成资源的分配及初始化,在 ...
- java 8 Hashmap深入解析 —— put get 方法源码
每个java程序员都知道,HashMap是java中最重要的集合类之一,也是找工作面试中非常常见的考点,因为HashMap的实现本身确实蕴含了很多精妙的代码设计. 对于普通的程序员,可能仅仅能说出Ha ...
- Eric的第一天
我叫刘志扬(ERIC),今天第一次来博客园,我是一个爱编程的小子,我使用开发工具Androidstudio(AS)我要把今后的问题记录在博客园里,欢迎大家点评,吐槽.
- 性能调优案例分享:jvm crash的原因 2
3.core dump分析 有了core dump文件,接下来要做的就是通过命令去解析此文件,定位具体问题了,主要有以下三个命令: (1)先执行gdb $JAVA_HOME$/bin/java cor ...