包图(package diagram):
什么是包图 ?
包可以直接理解为命名空间,文件夹,用来组织图形的封装
包图可以用来表示功能组命名空间的组织层次
包设计特点:
设计良好的包是高内聚,低耦合的,并且对其内容的访问具有严密的控制
包内的的名字:
每个包都必须有一个与其他包相区别的名称
包的表示形式:
包的作用:
---逻辑上把一个复杂的图模块化
---组织源代码
包中的元素:
--类,接口,构件,节点,协作,用例 ,其他图
--若包被撤销,则其中的元素也被撤销
包的可见性:
可见性 | 含义 | 前缀符号 |
公有的(public) | 此元素可以被任何引入该包的包中的元素访问 | + |
受保护的(protected) | 此元素可以被继承该包的包中的元素访问 | # |
私有的(private) | 此元素只能被同一个包的元素访问 | — |
包与包之间的关系:
《use》使用关系:是一种默认的依赖关系,说明客户包(发出者)中的元素以某种方式使用提供者包(箭头指向的包)的公共元素
《import》引用关系:最普遍的包依赖类型,说明提供者包(箭头指向的包)的命名空间将被添加到客户包(发出者)的命名空间中,客户包中的元素也能够访问提供者包中的公共元素
注意:如果这俩个包中的任意俩个类之间只依赖关系,则这俩个包之间有依赖关系
建立包图的具体做法如下:
1. 分析系统模型元素(通常是对象类),把概念上火语义上相近的模型元素纳入一个包
2. 对于每一个包,标出其模型元素的可视性(公共,保护,或私有)
3. 确定包与包之间的依赖关系,特别是输入依赖
4. 确定包与包之间的泛化关系
机房收费系统的包图: 凭感觉画的,朋友们多多指点!
对象图(Object Diagram):
什么是对象图:
对象图描述一个系统(类图)在某个具体时刻的静态结构
而类图描述所有可能的情况
对象图的组成:
对象图中包含对象(object)和链(link),对象是类的特定实例,链是类之间关系的实例
类图和对象图的区别:
类图 | 对象图 |
类具有3个分栏:名称,属性,操作 | 对象只有俩个分栏:名称和属性 |
在类的名称分栏中只有类名 | 对象的名称形式为“对象名:类名” |
类的属性分栏定义了所有属性的特征 | 对象则定义了属性的当前值,以便用于测试用例或例子 |
类中列出了操作 | 对象图中不包括操作,因为对于同属于同一个类的对象而言,操作是相同的 |
附加: 这是我根据感觉画的机房在学生刷卡上机时刻的对象图: