类图用来描述系统的静态结构,主要由类、接口、协作及类之间的关系构成。其中类之间有关联、依赖、泛化、聚合与组合的关系。
类和类之间的关系是类图的主要组成部分,其中类又具有属性、操作、多重性、抽象类、Root,Leef类等的性质。
一、理论积淀
1 类
1.1 属性
类的一个特性。一个类可具有零个或多个属性,单属性名必须唯一,不得有重复。
类属性的表示:
可视性 属性名 [多重性]:类型=初始值
可视性:+ — 公共# — 保护 - — 私有
多重性:说明该属性可取多少值。如:3,4,*,0..* ,...等。(*表示任意非负整数)
类型:属性值的数据类型。依赖于实现语言。
=初始值:新建对象时该属性的初始值
示例:
1.2 操作
操作是类能够做的事或是能对类做的事情。一个类可具有零个到多个操作;操作名必须唯一。
类操作的表示:
可视性操作名(参数列表):返回列表
1.3 关系
二、实践经验
1、类的发现
同客户交谈,分析他们的领域知识。注意客户描述业务事件流中的名词术语,也要注意客户提到的动词。
名词:可作为领域模型中的类或类中的属性。
动词:可能会构成类中的操作。
如果不能给类写出简短的描述,就可能希望它表示更多的内容,此时应分解为多个类。
2、实例应用
篮球比赛:比赛目标是要把篮球投入蓝框并且尽量比对手得更多的分。每个篮球队由5名队员组成:2名后卫、2名前锋和1名中锋。每个队要将球推进蓝框附近(通过运球和传球),目的将篮球投入蓝框(必须在规定的时间内投入,美国职业是24秒,国际是30秒,美国大学是35秒)。
计算得分:三分线内得2分,线外得3分。对方犯规后在罚球线处罚球投入得1分。
名词:篮球、蓝框、篮球队、队员、后卫、前锋、中锋、投入、进攻时间、三分线、罚球线、球场、比赛时钟等。
动词:投蓝、推进、运球、传球、犯规、...等。