【UML】UML几种图的绘制
08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活。此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205
UML几种图的绘制
UML是一套表示法系统。UML由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户、程序员以及任何参与程序开发的人员理解的多视角的系统蓝图。不同的风险承担人通常使用不同类型的图相互交流。
UML的特点有:统一的标准:UML已被OMG接受为标准的建模语言、面向对象、可视化、表示能力强大、独立于过程、概念明确,建模表示法简洁,图形结构清晰,容易掌握使用
UML中包括九种图:
类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、部署图
【系统用例图】
UML表示:
- 用例用一个椭圆形表示
- 参与者用直立人形图标表示
- 用例的发起参与者在用例图的左侧,接收参与者在用例图的右侧
- 关联线连接参与者和用例并且表示参与者与用例之间有通信关系;关联线是实线。
创建参与者创建与参与者相关的用例并建立联系


【顺序图】
对象之间的交互是按照特定的顺序发生的,这些按特定顺序发生的交互序列从开始到结束需要一定的时间。当建立一个系统时,必须要指明这种交互序列,顺序图就是用来完成这项工作的UML组件。UML表示:
- 对象用矩形表示,其中是带下划线的对象名
- 时间用垂直虚线表示
- 消息用带箭头的直线表示
- 激活用窄矩形条表示
右击用例“AddItemtoShoppingCart”,选择“Add”->“SequenceDiagram”

再在Object之间创建ObjectMessage
顺序图如下:

【协作图】
协作图是对象图的扩展。协作图除了展示出对象之间的关联,还显示出对象之间的消息传递。对象图是一个快照;而协作图是一部电影。UML表示:
- 关联线附近的箭头线表示对象之间的传递的消息,箭头指向消息接收对象
- 消息名称和消息序号附在箭头线附近。消息的一般含义是触发接收消息的对象执行它的一个操作




【类图】
UML表示:
- 矩形方框
- 被分为三个区域:类名、类的属性、类的操作
- 类名由多个单词组成;每个单词的首字母要大写,单词之间不用空格
- 属性名和操作名也类似,但首字母不用大写
- 每个操作名的后面都有一对括号


分析“AddItemtoShoppingCart”中用到的类,在LogicalView新建“ClassDiagram”、“AddItemtoShoppingCart”




【状态图】
UML表示:
- 状态用圆角矩形表示
- 状态间带箭头的实线代表状态的迁移(转移),箭头指向目标状态
- 实心圆代表状态转移的起点,眼形圆圈代表终点
在类ProductItem下新建“StatechartDiagram”,绘制Product的状态图
绘制“开始”状态,之后依次绘制各种状态及转移,最后以表示结束
绘制状态图如下:


【构件图】
构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。构件图则显示一组构件以及他们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。构件图和部署图用于在OO系统中实现物理方面的建模UML表示:
- 左侧附有两个小矩形的大矩形框;也可以用一个顶部带关键字《Component》的矩形表示
- 构件有自己的名称。如果构件属于一个包,可以在构件名称前面加上包名
- 可以在构件图标中列出构件的操作
在“ComponentView”中新建ComponentDiagram创建构件,并绘制构件间各种关系


文件目录如下:




【部署图】
部署图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软构件。部署图也称配置图,实施图。常常用于帮助理解分布式系统。部署图由体系结构设计师,网络工程师,系统工程师等描述。UML表示:
- 用立方体表示
- 加关键字<<Device>>
在CommonentView下的Deployment中绘制Processor及Device

结果分析
- UML是Unified Modeling Language(统一建模语言)的简称。UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。
- UML中视图包括:用例视图(Use Case View)、逻辑视图(Logical View)、实现视图(Implementation View)、进程视图(Process View)、部署视图(Deployment View)等。由九种图组成
- 实验通过掌握各种图在Rational Rose中的绘制方法,加深了对图所表达含义的理解以及各种图之间的关系。