上篇博客已经讲了UML中类图的基本概念,这次着重说类图的画法和形式。根据已经接触到的知识,我们了解到类图是九种图的核心部分,它可以涉及到各个过程,所以掌握好类图的画法是一个必不可少的过程。
类是类图中不可或缺的一部分,首先说一下类,如下图:
其中stuID前的符号表示公有属性,也可用“+”表示;stuName前的符号表示受保护属性,可用“#”表示;stuSex前的表示私有属性,用“-”表示;操作中也可用此方法。
类图中的关系是一个复杂的过程,可分为关联、依赖、泛化和实现
1、关联:
普通关联:
聚合:在这个过程中Book可以脱离Bookself单独存在
组合:Page不可脱离Book而单独存在
2、依赖:
在理解依赖关系的时候,查找了很多资料,虽然知道两者的关系可以说成使用关系,但不知道具体的过程。一个类(Class1)使用另一个类(Class2)的过程,并且Class2的改变会影响Class1的变化。到目前为止,对它的理解也仅限于皮毛,需要在今后的学习和实践中好好理解。
3、泛化:也可以指继承,子项继承父项的功能
4、实现:指的是一个类实现接口(可以是多个)的功能;实现是类与接口之间最常见的关系
当明白这些基本的画图思路与方法之后,就可以对机房收费系统进行画类图了。我是将系统按功能划分为几个模块,当然各模块之间也可以通过相互间的关系联系起来。
上图主要是根据用户的级别进行抽象出类,然后画出他们的相关关系。接着我们就可以根据每一个用户级别进行继续抽象划分:
其他的模块按照此类方法划分,当然这只是其中的一种划分方法,也可以根据我们所熟悉的增、删、改、查这种模块进行抽象划分。
总结:
还记得先前对类图中的概念进行总结的时候,感觉挺简单的。他们之间的关系,像关联、泛化、依赖和继承,尤其是依赖,一直都觉得挺简单的。但是当自己画图的时候才感觉原来并没有自己想象的那么简单,然后不停的翻看笔记从网上查找资料,结合着自己的理解去画。最后,草图画出来之后又感觉不难了。这就是一个过程,一个由易到难,再由难到易的一个过程;开始的易是我们快速的越读,了解一些基本的概念,然后回过头来细细看时是一个难的旅程,等到自己研究的差不多时也就成简单的了。所以,今后无论遇到什么难题,都要从容面对,一切都会过去的。