可靠的设计需要一种被系统分析员,开发人员和客户接受为标准的设计表示法,就像电子工程师在电路图中所用的标准表示法以及在物理学中被作为标准的费因曼图所用的表示法那样。UML就是这样的表示法
UML包括了一些可以相互组合为图表的图形元素。
UML提供这些图的目的是用多个视图来展示一个系统,这组视图被称为一个模型。
UML视图总览 * 类图 * 对象图 * 用例图 * 状态图 * 顺序图 * 协作图 * 活动图 * 构件图 * 部署图
下面我们就针对上述九种类图来进行逐个分析
一个类是一组具有类似属性和共同行为的事物。 类的表示如下: 利用一个矩形表示类。按类名,属性名,方法名分层。并且名字都按一定的规范标准来书写。 类图主要是用来表示系统中类之间的关系,示例如下 这只是一个简单的例子,详情会早后续文章中解释。(这个图的意思是,交通工具是一个类,汽车类和自行车类都继承于交通工具类,奔驰汽车类和奥迪汽车类都继承于汽车类,汽车类由音乐播放器组成,当然,这只是其中一个构件,至于自行车也有音乐播放器,个人喜好吧2333)
对象是一个类的实例,是具有具体属性值的一个具体事物。例如:
用例是从用户的观点对系统行为的一个描述。对于系统开发人员来说,用例是一个有价值的工具:它是用来从用户角度收集系统需求的技术。 用例图的基本元素如下: 参与者: 用例: 例子: 这个例子表示了玩家在游戏中释放技能,矩形框代表了一个系统,玩家是系统外的用户,利用矩形框形成隔绝的效果,体现系统内外交互的思想。
在任一给定时刻,一个对象总是处于某一特定的状态。状态图就是用来描述对象的状态以及状态之间的转移。
类图和对象图表达的是系统的静态结构。在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。UML顺序图所表达的正是这种基于时间的动态交互。
系统工作目标是由系统中各组成元素相互协作完成的,建模语言必须具备这种协作关系的表达方式。和顺序图不同的是,它并不是按照垂直方向表示时间顺序,而是通过消息标记前面的数字来表示时间顺序的。
用例和对象的行为中的各个活动之间通常具有时间顺序。活动图就是用来表示这些顺序的。
现代软件开发是基于构件的,利用构件图可以很好的描述系统的组成。
UML部署图显示了基于计算机系统的物理体系结构。它可以描述计算机,展示它们之间的连接,以及驻留在每台机器中的软件。每台计算机用一个立方体来表示,立方体之间的连线表示这些计算机之间的通信关系。如下: