我们知道了UML是一种可视化的面向对象的建模语言,是系统建模的标准。我们之所以建模是因为大规模的系统设计是相当复杂的,所以当系统比较复杂时就会涉及到一些比较复杂的问题:
开发人员如何与用户进行沟通来明确系统的需求?
开发人员之间如何沟通以确保各个部门能够紧密的协作?
而UML就是我们在构造个特种模型时首选的一种建模工具,去描述系统的需求和设计,在对复杂的工程进行建模时,系统可由单一的图形来描述,但是单一图形不可能包含一个大系统所需的所有信息,更不可能描述系统的整体结构功能,这样一来就几乎不能用单一图形来建模了,而UML能从不同的角度去描述系统,它提供了九种图,下面我们就对比这九种图的用途。
使用Rational Rose 创建用例(Use Case)如图:
右击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.用例图
1)双击框中的Use Case View包中的Main条目,打开主用例图;
2)单击选中browser框中的执行者,并将其拖到主用例图中; 重复第2)步,直到完成所需的工作为止;
3)单击选中browser框中的用例,并将其拖到主用例图中;
4)重复第4)步,直到完成所需的工作为止;
5)在工具条中选择单向关联(Unidirectional Association)图标;
6)单击一个执行者,并拖到相应的用例上;或单击一个用例,并拖到相应的执行者上。
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构件图中的University包,打开图形;
- 在工具条中选择Component图标;
- 单击图中某一位置,放置构件;
- 输入构件名称。
8.部署图
- 双击Browser框中的部署图(Deployment Diagram);
- 选择工具条中的Processor图标,并单击图中某一位置;
- 输入结点的名字;
- 选择工具条中的Connection图标;
- 点击某一结点,拖至另一结点;
- 选择工具条中的Text图标;
- 在相应结点下写上文字。
9.活动
- 创建活动(Activity);
- 创建决策点(Decision Points);
- 创建同步条(Synchronization Bar);
- 创建起始活动和终止活动。
以上就是我在学习了UML画图之后的理解,但是验收之后我最大也是最多的一个问题就是命名的时候给人家加上了空格,这样会在生成代码的时候造成很大麻烦,图还没来得及改正,记录一下我第一遍的收获,接着第二遍会有不一样的收获!