UML之九种图
UML说是九种图吧!其实是众说纷纭,不管有几种图,我们只要能够很好的运用这几张图就好,主要有用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图和部署图,至于包图是否属于这九种图,我也理不清楚,不过包图在大型项目中,却是必不可少的一项。下面一个一个来介绍这几种图:
【静态图】
类图:显示了模型的静态结构,我们能够根据类图来设计整个系统的结构。类有自己的名称、属性和方法。类图的构成有类、接口、各种关系,通过关系使类和接口之间联系起来。
对象图:对象是类的实例化,对象图描述是一组对象和他们之间的关系。由于对象存在有生命周期,因此对象图描述在系统中某个时刻的静态结构。
组件图:用来显示一组组件之间的组织和依赖关系,其组成为组件、接口和关系。构件与接口之间为实现关系,构件之间为依赖关系。
部署图:用来描述系统的硬件和软件的物理结构。包含有节点和关系。
【动态图】
用例图:用来描述用户的需求,通过这和图与用户进行交互。用例图由用例、角色和关系组成。用例是一个功能的描述,比如人可以工作,工作就是一个用例;角色(不一定局限于人)是指在这个关系中所担当的职务;关系表示执行者和用例之间的关系,主要有依赖、泛化、关联等关系。(图中只是用例图的一部分)
状态图:重点强调在经过操作之后所处的状态,比如我进教室灯是黑着的,我去把灯打开,灯现在的状态就是亮了。强调灯由黑这种状态到亮这种状态,不关注你是怎么去操作的。学生刷卡上机也是如此。
序列图:描述事件按照先后顺序执行的过程,主要强调执行顺序。其构成有对象、消息和生命线。
协作图:强调对象之间的交互关系,序列图和协作图可以相互转化。
不能把包图给忘了,包图用来描述包及其之间的关系的图,包图常用来描述系统、子系统的宏观组成和结构,相当于我们学习时泛读宏观把控的阶段,看来包图应该是在具体画类图之前建立(我自己这么认为的)。
当然对于这几种图的学习还需要后期自己再多加熟悉、总结,只有实践的多了,才能有更好的进步。(以上这些图仅是我自己的个人观点,欢迎大家提出自己意见或建议)。
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九种图
		原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ... 
- [转]浅谈UML的概念和模型之UML九种图
		目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case dia ... 
- 解析UML九种图
		UML作为设计工具,重在实践上,而这就离不开九种图了.绘图是在看完视频以后进行的,刚開始绘图的时候脑袋懵懵的,不知道该从哪下手,于是就在绘图之前再次的学习了一下这九种图和四种关系.理了 ... 
- UML 小结(6)- UML九种图的比较与学习
		UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ... 
- (UML两个汇总)九种图。
		最后总结UML关系,有明确的关系,现在让我们总结一下UML九图..图往往比文字要直观,因此,当我们开发软件.文件必须是不可或缺的人物,. 以下我将这九种图分了一下: 我们还能够将这九种图分为静态图和动 ... 
随机推荐
- 【GStreamer开发】GStreamer播放教程08——视频解码的硬件加速
			目标 视频的硬件解码近来发展非常快速,尤其是在低功耗的设备上.本教程会讲述一些硬件加速的背景知识并解释一下GStreamer是怎么做的. 悄悄告诉你,如果设置正确地话,我们什么也不用做,GStream ... 
- 仔细看参数--NGINX之tcp_nodelay
			一.知识准备 ● 在nginx优化中有个经常需要设置的参数,tcp_nodelay ● 该参数最核心的功能,就是把小包组成成大包,提高带宽利用率也就是著名的nagle算法 ● tcp协议中,有一个现象 ... 
- Eclipse导war包忽略node_modules等文件
			window7环境下,选择project->Properties->如下图 
- sql 查找最晚入职员工
			题目描述 查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`fi ... 
- LeetCode 189. 旋转数组(Rotate Array)
			189. 旋转数组 LeetCode189. Rotate Array 题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6, ... 
- [EF] - "已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭" 之解决
			错误 解决 在 ConnectionString 中添加 MultipleActiveResultSets=true(适用于SQL 2005以后的版本).MultipleActiveResultSet ... 
- CentOS 7 下安装 MySQL 5.7
			从 CentOS 7 系统开始,MariaDB 成为 yum 源中默认的数据库安装包.在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 包将无法使用 MySQL.您可以选择使用完全兼 ... 
- 下载安装Git,学习笔记
			官方地址为:https://git-scm.com/download/win 2.下载完之后,双击安装,全部选择默认. 3.选择安装目录 4.选择组件 5.开始菜单目录名设置 6.选择使用命令行环境 ... 
- Python进阶:对象复制与比较,分深浅,见真假
			"==" 与 is python 为 10 开辟内存空间, a与b同时指向这块内存,即a与b的值相等,a与b的id也相等.因此 a==b 与 a is b 都返回True: a = ... 
- dotnet Core学习之旅(二):安装IDE
			[重要:文中所有外链不能确保永久有效] >开发工具 高效的开发必然需要一个优秀的集成开发环境(IDE) 对于.NET Core 2.x可以使用包括但不限于以下IDE来进行开发. Visual S ... 
