类图:
类图是描述类,接口,协作以及它们之间关系的图,用来显示系统中各个类的静态结构。也就是说类图描述的是系统的静态结构,而序列图、活动图等都是在类图的基础上进一步对系统进行描述的。
画类图最重要的就是抽象出类,类可以分为三类:实体类、边界类和控制类。
-
实体类:保存要放进永久储存体的信息。
-
边界类:位于系统与边界的交界处,包括所以窗体、报表、打印机等硬件接口以及与其他系统的接口。
-
控制类:负责协调其他类的工作。一般每个用例都有一个控制类。
抽象类的过程:找名词——归类——去除模糊的类别——取一个合适的名字。
下面是关于类图的整理:
类图中的四中关系:
下面是我画的机房收费系统的类图:
对象图
对象图描述的是一个系统在某一个时刻的静态结构。实际上就是类图的实例。表示一组对象及他们之间的联系,它是系统的详细状态在某一时刻的快照,常用于表示复杂类图的一个实例。
UML中对象图与类图具有相同的表示形式。
学生注册:
包含三种元素:对象、连接、包。
注意:对象中每一个属性都有固定的值
包图
包图用于描述系统的分层结构,由包或类组成,表示包与包之间的关系。
作用:逻辑上把一个复杂的图模块化
组织源代码
元素:类、接口、构件、用例、其他包。
关系:泛化、细化、依赖(常用)。
常见问题:
避免循环依赖产生
测试时可以以包为测试单位
尽量把概念和语义相近的元素包含到同一个包中
若包被撤销,则其中的元素也被撤销了
对于一个包,找出那些包内的元素被包外访问的,把这些元素标记为公共的,其他所有元素标记为受保护或者私有的。
机房收费系统的包图: