UML的定义(Unified Modeling Language)统一建模语言。
在系统的开发过程中,最关键的一点是要用一种系统分析员,客户,程序员和其他系统开发所涉及到的人员能够理解和达成一致的方式来组织系统的设计过程,UML就提供了这种组织方式。
UML的组成包括类图,对象图,用例图,状态图,顺序图,活动图,协作图,构件图,部署图等。UML2.0还包括组成结构图,交互纵览图,计时图,包图等。
类是具有相同属性和操作的一组对象集。继承就是类继承了其他类的属性和操作。对象是一个种类的实例(属性,操作和起来称为特征)。抽象就是过滤掉对象的一部分特性和操作只剩下你需要的属性和操作。不同的类具有相同的操作,但是在每个类都能知道自己的操作如何执行这就叫多态性。封装就是当一个对象执行自己的操作时对外界隐藏操作细节。但是类要提供一个方法让我们能操作这些被封装的操作就是接口。对象之间的协作是通过相互发送消息实现的。对象经常要和其他对象发生关联。关联可以具有多种形式。一个类的对象可能和多个其他对象发生关联。聚集是关联的一种。聚集对象有部分对象组成。组成又是一种特殊的聚集。在一个组成的对象中,部分对象只能作为对象的一部分和组成对象同时存在。属性是类的一个特性,操作是指类能够做的事情。有一种操作能在操作完成以后返回值,就是函数。
类的职责是描述了类能做什么——也就是类的属性和操作能完成什么任务。约束是指类所要满足的一个或者是多个的约束。UML的类图标是由一个矩形表示。类名字,属性,操作和职责都在区域中有各字的方框。可以用构造型来组织属性的类型和操作名列表。可以使用类的省略表示法,表示出类的一部分属性和操作。类的表达是领域知识中的词汇。与客户或者是领域中的专家交谈可以发现一些类 模型中的名词和可能成为操作的动词。
当类在概念上有连接关系时,类之间的连接叫在关联。关联方向用一个实心的三角箭头来显示。一个类可能和自己发生关联,这样就叫自身关联。当一个类的对象可以充当多种角色的时候,自身关联就可能发生。继承(泛化)一个类(孩子类,子类)可以继承另一个类(父类或超类)的属性和操作。没有父类的类被称为基类或根类。没有子类的类没称为叶类。如果一个类有多个父类,这样的继承叫多继承。不提供实例对象的类被称为抽象类。一个类使用了另一个类。这关系叫依赖。一个类可以继承其他类的属性和操作。继承了属性和操作的类叫做子类。被继承的类叫父类或超类。通过在初步类模型寻找不同类的共同属性和操作可以发现类之间的继承关系。继承的表示法是从子类画一条带空心三角箭头的连线指向父类。在依赖关系中一个类使用了另一个类。依赖最通常的用法是用来说明某个类操作的型构使用类另一个类的定义。依赖关系用从依赖类到被依赖类的带箭头的虚线表示。
一个类有时有几个部分类组成。这种特殊的类型关系叫聚集。组成是强类型的聚集。聚集中的每个部分只能属于一个整体。不同的类都通过一个接口接收消息,也就是执行一个操作的请求。接口是描述类的部分行为的一组操作。它也是一个类提供给另一个类的一组操作。
这里重点举个类说明接口和类的区别。每次你使用洗衣机的时候,你不必把他拆开来查看里面的电路。以便能够启动他并设置时间参数。你也不用把手伸到水管中去打开进水或者停止进水。相反你只需要一个控制柄就可以是洗衣机执行这些操作。控制柄就是洗衣机的接口。从某种意义上讲,控制柄的操作是抽象的。关闭或切断电源也好,顺时针或逆时针旋转也好,如果不和某种事物联系起来,它们并不能完成任何有价值的事情。在这个例子中这些操作和洗衣机联系起来。这就好象洗衣机通过将控制柄的操作转换为和洗衣服相关的操作。而使这些操作变的有意义。在UML术语中,我们说洗衣机保证了它的部分行为能够“实现”控制柄的行为,因此,一个类和它的接口之间的关系叫实现。实现是类和接口之间的一个关联,接口是可供其他类使用的一个操作集。接口用没有属性的类表示。接口中的所以操作都是公有的。作用域是属性和操作的又一个重要特征。在实例作用域下,一个类的每个对象都有自己各自的属性和操作。可以认为用例是系统的一组使用场景。每个场景描述了一个事件的序列。每个序列是由一个人,另一个系统,一台硬件设备或者是某段时间的流逝所引发的。这些发起事件序列的实体叫做参与者。事件序列的结果是由发起这个序列的参与者或者另一个参与者对系统的某种形式所引起的。用例可以被复用。一种方式(“包含”)是将一个用例中的步骤作为另一个用例步骤序列的一部分。另一种方式(“扩展”)是通过对现有用例增加新的步骤来创建新的用例。
posted on 2006-05-30 10:16  公木子  阅读(867)  评论(0编辑  收藏  举报