第八题:设计类图
重要概念:
1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。UML用类图表示类、接口及其关联。
2. 表示类元属性的方法:
a.属性文本:如currentSale:Sale
b.关联线表示法
c.两者兼有
属性文本表示法的完整格式:visibility name : type multiplicity = default {property-string}
关联线表示的属性:导航性箭头+多重性(放在目标一端,而不是源的一端)+角色名(只放在目标一段,用以表示属性名称)+不需要关联名称
准则:通常对数据类型对象使用属性文本表示法,对其他对象使用关联线。
3.关联端点的描述法
关联的端点可以附加导航性箭头,也可包含可选的角色名(关联端点名)来表示属性名称。
关联端点还可以附加多重性值。
关联端点还可以使用{ordered}、{ordered、list}这样的特殊字符串。
4.对象之间的关系
接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。UML类图中接口有两种表示方法:矩形表示法(如图-2中的飞翔的接口)和棒棒糖表示法(如图-2中唐老鸭类中实现讲人话的接口)。矩形表示法,顶端有<<接口>>或者<<interface>>,第一行:接口名称,第二行:接口方法。棒棒糖表示法,圆圈旁为接口名称,接口方法在实现类中出现,如唐老鸭类中的讲话。
5.约束
UML约束是对UML元素的限制条件。约束以花括号之间的文本表示,如{size>10}
对属性的约束条件,写在属性后面。对操作的约束,以注释或后置条件的形式写出。但是都要有{}。
绘制要点:
具体方法:http://www.cnblogs.com/riky/archive/2007/04/07/704298.html
http://www.uml.org.cn/oobject/201104212.asp
http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html
http://developer.51cto.com/art/201007/209503.htm
实现实例:http://blog.csdn.net/flanet/article/details/7746004
根据实例来看,可以很好的理解掌握类图中需要可以熟练运用的知识点。
注意事项:
1.画图步骤
首先把顺序图里面的类抄过来。
然后查看领域模型,把领域模型里面对应这里的类的属性copy过来,然后把领域模型里面的关联到这里变成实现。
补充类的方法。
控制器类方法的数量只能与前面的系统事件数量一样,系统事件有多少个就只能写多少个方法。
1) 前面的has,own这种关联不能留下来,如果留下来,扣分,应把概念类图中的关联改为有箭头没文字(或有在关联端点有文字)的表示
2) 多重性要保持
3) 不要写什么set方法、get方法,这是编程的问题,不是这里的问题
2.一定要与交互图一一对应
方法和对象都要一一对应!!
3.Domain中先把除了UI和Controller之外的都放进去
分别确定每个对象的属性,依赖,实现
画出domain中的各个对象之间的关系(存在的方法)
4.领域模型==》概念透视图
设计模型(DCD)==》软件透视图
试题答案: