浅谈UML——九种图(二)
前言
看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语。每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用。那么如何阅读?如何绘制?请看下去:
1 行为图
用来描述系统的动态模型和对象之间的关系。
1.1 状态图
类定义了对象的共性,每一个对象实例则表述了个性,状态描绘了对象的动态生命周期。举个例子:“人”就是一个类,而“你”“我”“他”等都是“人”这个类的一个实例,“站着”“躺着”等都是对象的一个状态,从不同角度描述,就可能有多种状态。
在对象整个周期中,它的状态是会发生变化的,而状态就是指在对象生命周期中满足某些条件、执行某些活动或等某些事件的一个条件和状况。
1.2 活动图
活动图强调了活动到活动的控制流,是一种表述过程机理、业务 过程以及工作流的技术 ,它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。它可以用来和传统的流程图相比,十分相似。但它与流程图的主要区别在于,活动图能够支持并发行为。
1.3 交互图
1.3.1 顺序图(时序图)
描述了按照时间的先后顺序对象之间交互动作过程。主要强调消息的时间顺序,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,教下级对象依次放在右边。然后把这些对象发送和接收的消息沿着Y轴方向按时间顺序从上到下放置,方便阅读。
1.3.2 合作图(协作图)
协作图强调参加交互的对象的组织,在协作图中,首先将参加交互的对象作为图的顶点,然后用这些对象之间的边线表示为图的边,再使用对象发送和接收的消息来修饰这些边。
顺序图和协作图对比
| 相同点 | 对同一个例子(对象一样) |
| 不同点 |
1、协作图可以看到组织关系。 2、顺序图可以看到生命周期。 3、侧重点不同。 a、顺序图侧重时间顺序。 b、协作图侧重对象之间的关系。 |
| 联系 |
1、二者在语义上等价。 2、二者可以相互转化。 |
2 实现图
2.1 构件图
在面向对象软件开发范型中,类是最为基础的“模块化”元素,它封装了属性和成员方法,就像是物理世界的“分子”。但是,对于复杂的软件系统来说,往往拥有成百上千的各种类,因此,对于系统理解而言、复用而言,类的粒度太小了,因此引入了一个较粗粒度概念——“构件”,是一种泛指概念。
| 类 | 表示逻辑抽象,可以有直接的属性和操作。 |
| 构件 | 表示物理抽象,一般情况下,构件一般只拥有只能通过其接口访问的操作。 |
2.2 部署图
部署图和构件图都是对系统的物理方面建模的重要手段,它们之间最大的不同在于:构件图用来帮助开发人员了解系统的物理组织结构,部署图则用来帮助安装、部署人员掌握系统的拓扑结构。部署图的粒度比构件图的粒度大。
结语
通过学习UML,对面向对象的建模有了一定的了解,UML是我们从业余向专业的一个转折点,深刻的明白了,图的重要性,对于以后的C#、设计模式的学习有了一定的帮助。接下来加油!菜鸟一枚,如若有不合适的地方,望大神斧正!
若安好,便是晴!
浅谈UML——九种图(二)的更多相关文章
- 浅谈UML——九种图(一)
前言 学UML将近两个星期了,对UML有了一定的了解,学过的没学过的都知道UML中最最最核心的部分要数那九个图了.浅谈UML九种图. 实例 1.用例图: 什么是用例?描绘一个系统外在可见的需求情况,是 ...
- 【转】浅谈UML的概念和模型之UML九种图
原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...
- UML九种图-包图、类图
UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...
- [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 dia ...
- UML_2_浅谈UML的概念和模型之UML九种图
转载:https://my.oschina.net/zhumenzhongren/blog/667353 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...
- 解析UML九种图
UML作为设计工具,重在实践上,而这就离不开九种图了.绘图是在看完视频以后进行的,刚開始绘图的时候脑袋懵懵的,不知道该从哪下手,于是就在绘图之前再次的学习了一下这九种图和四种关系.理了 ...
- UML九种图作用简介
UML(统一建模语言):是面向对象的可视化建模语言. UML中有3种构造块:事物.关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物 UML中有九种图如下: ...
- UML 小结(6)- UML九种图的比较与学习
UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...
随机推荐
- windows目录create、isExsit、remove
RemoveDirectoryA( __in LPCSTR lpPathName ); PathFileExistsA(LPCSTR pszPath); CreateDirectoryA(strDir ...
- Python基础知识之字符串操作方法总结
Python 中字符串也是一种数据类型,针对此数据总结下常用的方法 1,字符串截取,变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾 ...
- codeforces 651A A. Joysticks (模拟)
A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- android 应用程序Activity之间数据传递与共享的几种途径
一.基于消息的通信机制 Intent ---boudle ,extraAndroid为了屏蔽进程的概念,利用不同的组件[Activity.Service]来表示进程之间的通信!组件间通信的核心机制是I ...
- Linux上用nginx搭建RTMP服务器
参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...
- PLSQL Developer安装、配置、连接oracle数据库
0.资源准备 1) PLSQL Developer安装包(由于安装包超过10M,无法上传,请自行下载) 2) instantclient_11_2安装包(由于安装包超过10M,无法上传,请自行下载) ...
- MySQL(介绍1)
数据库(Database)是按照数据结构来组织.存储和管理数据的仓库: 也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢. 在WEB应用方面MySQL是最好的RDBMS(Relational ...
- JSP介绍(3)---JSP表单处理
GET方法: GET方法将请求的编码信息添加在网址后面,网址与编码信息通过"?"号分隔.如下所示: http://www.runoob.com/hello?key1=value1& ...
- Web Pages(单页面模型)
.NET 是一套框架,用来个HTML.JS.CSS和服务器端脚本构建网页和网站. 可以有三种开发模式:Web Pages(单页面模型).MVC(模型视图控制器).Web Forms(事件驱动模型) W ...
- C笔试题(二)
/* 现在有一个数组 我们可以定义数组的子数组 如 数组 1 3 4 2 5 8 7 它的子数组可以是 1 3 4 3 4 2 5 等等 请写一个算法 找一个子数组 这个子数组递增不减少 并且是满足递 ...