UML是Unified Modeling Language 的简称,即统一建模语言。
UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,能让我们阅读和交流系统架构和设计规划,就像建筑工人多年来使用的建筑设计图一样。
通过把保准的UML图放进你的产品中,开发人员就可以更加容易加入你的项目并且迅速进入角色。UML存在很多图。
最常用的UML图表括:用例图,类图,序列图,状态图,活动图,组件图和部署图。
下面看看类图的简单介绍:
上面图片就是一个类图结构图。
图片中的第一层表示的是类名。字体倾斜表示BackAccount是一个抽象类。withdrawal方法是抽象的操作。换句话说BackAccount使用withdrawal方法规定抽象操作。
图片中第二层表示类的属性列表。换句话说这个类有哪些成员变量。第一个表示属性名称,图中的owner 第二个表示属性的类型。string类型的。当然属性名还可以赋予初值。比如balance:Dollars=0;这个语法有点类似Apple的新语言Swift语言
图片中第三层表示的是类操作,也就是方法,或者函数。
图中的箭头表示继承关系。CheckingAccount类和SavingsAccount类都是继承于BackAccount。
关联
当你系统建模时,特定的对象间将会彼此关联,而这些对象本身需要清晰的建模。
双向(标准)的关联。
关联就是两个类间的联接。双向关联这意味着,两个类彼此之间知道它们的联系,看看下图
以上图片就是一个Fight类和Plane类之间的双向关联实例。双向关联两个类之间用一个实线表示。在线的任意一端,你可以放置一个角色和多重值。上图 显示Flight与一个特定的Plane相关联,而且Flight类知道这个关联。因为角色名以Plane类表示,所以Plane承担关联中的“assignedPlane”角色。紧接于Plane类后面的多重值描述0...1表示,当一个Flight实体存在时,可以有一个或没有Plane与之关联(也就是,Plane可能还没有被分配)。上图 也显示Plane知道它与Flight类的关联。在这个关联中,Flight承担“assignedFlights”角色;上图告诉我们,Plane实体可以不与flight关联(例如,它是一架全新的飞机)或与没有上限的flight(例如,一架已经服役5年的飞机)关联。
由于对那些在关联尾部可能出现的多重值描述感到疑惑,下图列出了一些多重值及它们含义的例子。
单向关联
在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。图 7 显示单向关联的透支财务报告的一个实例。
一个单向的关联,表示为一条带有指向已知类的开放箭头(不关闭的箭头或三角形,用于标志继承)的实线。如同标准关联,单向关联包括一个角色名和一个多重值描述,但是与标准的双向关联不同的时,单向关联只包含已知类的角色名和多重值描述。在上图中的例子中,OverdrawnAccountsReport 知道 BankAccount 类,而且知道 BankAccount 类扮演“overdrawnAccounts”的角色。然而,和标准关联不同,BankAccount 类并不知道它与 OverdrawnAccountsReport 相关联。