为什么需要类图建模
类图是面向对象思维的结晶,是以对象的视角描述客观世界的事物:
现实世界对象很多,人为了描述简洁、便于交流,把几个相似的对象抽象为类:
对象之间的关系抽象为类的关系:关联,聚合,组成,泛化,实现 等等。
这么说起来有些抽象,举个例子吧。
当我们面对复杂的逻辑描述的时候,阅读的过程实际上就是理解各种概念和关系的过程,面向对象分析方法和类图可以大大提高理解的效率和精确性。
如下是一个电机控制系统的功能描述,工程师采用文本语言描述如下:
如果把相关的概念采用类图建模,则模型如下:
哪个更好呢?
我想读者可以自己根据直觉判断!
类图有什么
任何UML图都有语义、元素、关系和用途,下面对类图做个列表描述:
图例:领域模型
采用类图可以对问题域进行面向对象分析,分析各种领域对象的属性、方法和关系,建立领域模型(也称之为分析模型),如下是一个领域模型的简化示例:
图例:设计模型贪吃蛇游戏类图
为了让读者看的更形象,采用图例的方式介绍类图的用法,下面是贪吃蛇游戏的设计类图。设计类图与分析类图的不同之处在于考虑了计算机的软件实现环境和开发语言机制,从开发角度给出了解决方案的逻辑视图:
为了实现软件的健壮性,设计类图常常运用设计原则,此例如下:
类图说明:
如下是基于类图生成的类的说明字典:
如下是基于类图生成的类之间的关系目录:
可以基于类图生成代码,如下是基于类图生成的代码(C++语言)
可以基于类图生成数据模型,然后基于数据模型生成DDL代码。如下是基于类图生成的数据模型:
可以基于数据模型生成DDL代码,如下是基于生成的DDL代码:
说明:本文的模型采用建模工具EA建模。