UML系列文章(8)---类图

  1. 入门

当建造房屋时,要从包括基本构造块,如墙、楼板、门、窗、天花板和托梁的词汇开始。这些食物主要是结构性的(墙有高度、宽度和厚度),但也具有一些行为性(如, 不同种类的墙支撑不同的负重,门具有开与关的功能,而对无支撑的楼板跨度要求有一些约束)。在软件中,可以用UML的类图对这些构造块的静态方面和它们之间的关系进行可视化,并描述其构造细节。

UML系列文章(8)---类图_第1张图片

2. 术语和概念

类图(class diagram)是显示一组类、接口、协作以及它们之间关系的图。在图形上,类图是顶点和弧的集合。类图通常包含下述内容:

  • 接口
  • 依赖、泛化和关联关系

像所有的其他图一样,类图可以包含注解和约束。类图还可以含有包或者子系统,二者都用于把模型元素聚集成更大的组块。有时也要把类的实例放到图中,特别是对实例的(可能是动态的)类型进行可视化时。

类图用于对系统的静态设计视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计视图建模时,通常以下述3种方式之一使用类图。

1)对系统的词汇建模

对系统的词汇建模涉及做出这样的决定:哪些抽象是考虑中的系统的一部分,哪些抽象是处于系统边界之外。用类图详述这些抽象和它们的职责。

2)对简单协作建模

    协作是一些共同工作的类、接口、和其他元素的群体,它们提供的一些合作行为大于所有这些元素的行为之和。例如,在对分布式系统的事务语义建模时,不能仅仅盯着一个单独的类来推断要发生什么,而要由相互协作的一组类来实现这些语义。用类图对这组类以及它们之间的关系进行可是化和详述。

3)对逻辑数据库模式建模

    将模式看成数据库的概念设计的蓝图。

3. 常用建模技术

  • 对简单协作建模

UML系列文章(8)---类图_第2张图片

 

  • 对逻辑数据库建模

所建模的很多系统都由永久对象,这意味着要把这些对象存储在数据库中,以便后来检索。通常用关系数据库、面向对象数据库或混合的关系、对象数据库存储永久对象。UML很适合对罗杰数据库模式和物理数据库本身建模。

    实体-联系图(E-R)图是用于逻辑数据库设计的通用建模工具,UML的类图是实体联系图(E_R)的超集。传统的E-R图只针对数据,类图则进一步,它还允许行为建模。在物理数据库中,一般要把这些逻辑操作转换成触发器或存储过程。

UML系列文章(8)---类图_第3张图片

 

  • 正向工程和逆向工程

从类图-》代码,如有如下类图,

UML系列文章(8)---类图_第4张图片

产生对应得Java代码,如下,

 UML系列文章(8)---类图_第5张图片

逆向工程是通过从特定实现语言得映射转换为模型得过程。 

4. 提示与技巧

各个类图仅仅是系统静态设计视图的图形表示。不必用单个类图去表达系统设计视图的所有内容。而是用系统的所有类图共同表达系统的全部静态设计视图;单个类图仅仅表达系统的一个方面。

一个构造良好的类图,应满足如下要求:

  • 注重表达系统静态设计视图的一个方面。
  • 仅包含对理解该方面必要的元素。
  • 提供与抽象层次一致的细节,仅带有对理解系统必要的修饰。
  • 没有过分地压缩内容以致对重要的语义产生误解。

绘制类图时,遵循如下策略:

  • 给出一个反映类图的用途对应的名称
  • 安排各个元素,尽量减少线段交叉
  • 在空间上组织元素,语义上接近的事物在物理位置上也接近。
  • 用注解或颜色作为可视化提示,把关注点引向类图的重要特性。
  • 尝试不显示太多种的关系。

你可能感兴趣的:(UML,uml)