uml系列(五)——对象图和包图
对象图,对象图是系统在某一时刻的对像、关系和属性值的快照。相当于看电视的时候的暂停。便于说明设计者的意图,模拟系统的运行状态,分析说明源代码。
再说对象图之前,我们首先需要了解对象是什么。我们一直都再说面向对象,那么到底什么才算是对象呢?对象都是由什么构成的呢?对象和类又有啥关系呢?
首先说对象,简单的说,能用类实例化的,具有状态、行为和标识的都是对象。
对象的构成,对象图由三部分构成:1.标识符。2.状态。3.操作。其中状态又包括属性和值这两种。
对象与类的关系,简单的说,如果类的表示是一个类的话,那么我们需要声明的信息是:人类,身高,走路。而如果是状态的话,需要声明的就是:张三,身高:165,走路。类是一种抽象,并不存在,而对象是类的实例化。
那么,包跟他们又有什么关系呢?类图是说明都有什么内容的,对象图是详细说明的,而包图是为了宏观的全局把控的。
包图就像文件夹一样,将类、接口、构建、用例等都装进去,封装好,以便于使用。
包图的绘制,包图绘制需要先找到系统中的功能块,然后按照功能块去建立包的模型。最后确定各个包之间的关系。
感觉包、类还有对象就像是一个从大到小的零件一样,如果说系统是一辆汽车,那么包就是 分为发动机和框架;而类就是车轮子、窗户等;而对象则是具体到每一个车轮的具体属性。
uml系列(五)——对象图和包图的更多相关文章
- UML精粹4 - 对象图,包图,部署图,用例
对象图object diagram 对象图是某个时间点上的对象在系统中的快照,也经常被称为实例图.一般在展示组合对象结构时比较有用.例如 组合结构的类图 一个时刻的对象图 包图package diag ...
- UML对象图和包图
UML九已经介绍过的基本图,然后,我们再来看看对象图和包图. 一.对象图 谈到对象.我们不得不说一下对象.对象(Object)是对象类的实例(Instance),用于模型化特定的实体.对象是唯一的. ...
- UML对象图、包图
对象图(Object Diagram)显示了一组对象和他们之间的关系.使用对象图阿狸说明数据结构,类图中的类或组件等实例的快照.对象图和类图一样,反应了系统的静态过程,但它是以实际的或原型化为基础来表 ...
- UML静态视图——类图、对象图、包图
绘画类的最重要的图是抽象类.让我们回顾一下类的基本内容. 一.分类 1.类的概念: 面向对象编程的类是一个基本概念.类是具有相同特性的.办法.集合语义和一组对象的关系. 2.类分类: 实体类:保存要放 ...
- UML从需求到实现----包图
上接:UML中图出现顺序 上回讲到用例图,UML中各个图之间的关系.接着根据UML建模中图出现的顺序来总结包图. 用例图确定以后.用户的需求基本上就确定了.接下来要根据用户的要求去设计系统.建模的顺序 ...
- uml系列(四)——类图
类图是uml的核心.学习类图,总共须要掌握三个部分:类:类之间的关系:类图怎么画. 首先,类.老规矩,先来张图. 类是什么:举个简单的样例:猫.狗.猪三个都是动物.这里面的"动物" ...
- uml系列(七)——互动图
互动图uml描述如何对象的描述在系统交互动作 . 废话不多说,还是来张图: 概念 交互图,主要描写叙述的是系统中的一组对象的消息的传递的.为对象间的交互定义了一个可视的表示方法. 构 ...
- uml系列(六)——行为图:活动&状态
说完uml的静态图了,说一下uml的动态的表示吧. uml的行为图,uml的行为图主要用来设计程序的行为.还是老规矩,先来张图: 行为图包含活动图和状态图两种. 先来说下活动图:活动图是由活动的节点和 ...
- UML九种图 之 包图和对象图
前言 对象图和包图依然是对系统的静态的描写叙述.UML九种图加上包图,事实上是十幅图. 包图 1.构成 2.包中的元素 类.接口.用例.构件.其他包等.( ...
随机推荐
- linux shell 之if-------用if做判断
综合网络,略有修改, 一 简介 1 字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0 ...
- 5、手把手教你Extjs5(五)使用图标字体来美化按钮)
sencha 的例子中,有使用图标字体来美化按钮的例子,这个用起来又方便风格又统一,例如下图: 上面图标字体的使用方法也很简单,只要下载Font Awesome的css和图标文件,放到项目里就可以了. ...
- Android SQLite 加入自定义函数
SQLite Database 自定义函数实现: //Here's how to create a function that finds the first character of a strin ...
- Vim配置C++
当前用户的Vim配置便存储在文件 ~/.vimrc 中,该文件的每一行便是一个配置项 设置自动换行,在配置文件中加入如下代码: syntax onset tabstop=4set softtabsto ...
- tp框架
<?php namespace Admin\Controller; use Think\Controller; class DengluController extends Controller ...
- IOS 实现TXT文本自动识别编码的方法
from :http://kyoworkios.blog.51cto.com/878347/1344013 TXT识别编码是个复杂的问题.幸好有c/c++的一个库能识别. 库的叫uchardet,可以 ...
- Linux安装Tomcat外部不能访问
Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@loc ...
- bzoj1355——2016——3——15
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1355 题目大意: 1355: [Baltic2009]Radio Transmission ...
- 一段神奇的代码-关于PHP字符变量奇怪现象的解释
首先神奇的PHP是支持字符数据类型的,有同学就写了这样一段代码: for ($c = 'a'; $c <= 'z'; $c++) { echo $c . ' '; } 然而结果却不是他想要的a到 ...
- UIButton 之 按下高亮
设置高亮 [btn setHighlighted:YES]; 设置按下时高亮 [btn setShowsTouchWhenHighlighted:YES];