摘要:类图(Class Diagram)可能是用得最多的一种UML图。类图的基本语法并不复杂,你可能最多学习两三天就可以掌握,然而要真正做到活用类图则可能需要几年的功力。类图是锻炼面向对象分析(OOA:Object-Oriented Analysis)和面向对象设计(OOD:Object-Oriented Design)思想的重要的工具,是业务结构建模的重要工具。本章将会有大量的实战练习,你的OOA思想将会接受极大的考验和提升。
3.4 演练类之间的关系
练习1、2、3是简单的小练习,而练习4的难度会有所增加。这些练习不仅仅是让你巩固上小节学习的知识,中间还会穿插一些前面还没有介绍的基础知识,而且会让你体验什么是面向对象分析,领悟用类图分析需求的要诀。你准备好接受挑战没有?
练习1:你和你另外一半的关系
你结婚了吗?如果你已婚,那么请你用类图描绘你和你的另外一半的关系?
如果你是单身的,你有男朋友或女朋友吗?有的话,请你用类图画出你们两人的关系?
如果你还没有另外一半,而你又已经到了适合恋爱的年龄,那请你虚拟一位你的意中人,用类图画出你和你的虚拟意中人的关系。
如果你还没有到恋爱或结婚年龄,那么你不需要完成这个练习,直接看后面的参考答案。
如果你是已婚人士,那么你们的关系应该是:
这个图在直线上面的“夫妻关系”表示这个关系的名称,你可以为关联关系命名,但这不是必须的,在 需求分析工作中也很少有这种需要。
如果你未婚,但你同时有多个男朋友或者女朋友,那么你们的关系可以这样表示:
图 1.22 你和你的另外一半关系3
“1..*”表示1到多个,不要因为你能1对多个男朋友(或女朋友)就很开心,这是一种很不好的关系,强烈建议你将1对多的关系变为1对1,而且说不定有朝一日你会被别人1对多。
如果你还没有另外一半,你可以画成这样:
图 1.23 你和你的另外一半关系3
你的另外一半是作为“虚拟情人”存在的。
如果你很爱你的另外一半,你依赖于你的另外一半,没有她(他)你简直不能活,她(他)是你的生存必需品,你可以画成这样:
图 1.24 你和你的另外一半关系4
你可以跟你的另外一半画画这个图,跟她(他)解释一下是什么意思,你的另外一半一定开心死了。
用类图表达你和你的另外一半的关系,并没有固定的标准答案,你画出来的可能跟上述的参考答案不一样,只要你的逻辑正确,这个图也就是合适的。
下面介绍读图检查法,能帮助你检查类图画得是否合适。
你可以分别从左到右、从右到左来读图,看看有没有不合理的地方。以图1.22为例,从左到右读:1个你对应1个到多个你的另外一半。从右到左读:1个你的另外一半对应1个你,而不要读成:多个你的另外一半对应1个你。注意由“多”的一边往另外一边读时,仍然是1个什么对应多少个什么,无论你从哪边开始读起,都是以“1个……”开头。
练习2:公司与雇员的关系
前面学习了部门与员工的关系,公司与雇员是怎样的关系呢?请用类图画出来。