UML软件工程组织

第三章

    类是具有相同属性、操作、关系的对象集合的总称。通常在UML中类被画成矩形。

名称

    每个类都必须有一个名字,用来区分其它的类。类名是一个字符串,称为简单名字。路径名字是在类名前加包含类的包名为前缀。例如Walljava::awt::Wall都是合法的类名。

 

属性

    属性是指类的命名的特性,常常代表一类取值。类可以有任意多个属性,也可以没有属性。在类图中属性只要写上名字就可以了。如下图

    也可以在属性名后跟上类型甚至缺省取值,如下图:

操作

    操作是类的任意一个实例对象都可以调用,并可能影响该对象行为的实现。操作在类图中如下图描述: 

 

 

组织属性和方法

    在画类图的时候没有必要将全部的属性和操作都画出来。实际上,在大部分情况下你也不可能在一个图中将类的属性和操作都画出来。在画类图时可以只将感兴趣的属性和操作画出来就可以了。可以用”...”表示还有属性或方法没有画出来。为了更好地组织属性或方法,可以在一组功能相同的属性或方法前加上一个描述的前缀(<<>>中的文字),如下图:

职责

    职责指的是类所担任的任务,类的设计要完成什么样的功能,要存担的义务。一个类可以有多种职责,设计得好的类一般至少有一种职责,在定义类的时候,将类的职责分解成为类的属性和方法。

通常在UML中在类图的最下方用单独的部分列出类的职责。

类的职责其实只是一段或多段文本描述。

通用建模技术

1.         为系统的词汇建立模型

l          标识出用户或解决问题时用来描述问题的东西,使用CRC卡片和基于USECASE的分析来找出这些抽象。

l          对每一个抽象,标识出它的职责集合。确定明确地定义了每一个类,在为所有类确定的职责中取得了很好的平衡。

l          为类提供实现类的职责所需要的属性和方法。

2.         为系统的职责分配建立模型

l          标识出行为相类似的对类

l          找出这些类的职责

l          把这些类作为整体看待,把职责多的类分为几个小类

l          考虑这些类如何协作,重新进行类的职责分配已满足协作中没有类太多职责或太少职责

3.         为非软件的事务建立模型

l          为抽象成类的事务建立模型

l          如果你建模的是硬件本身包含有软件,建模时考虑为一种NODE,这样可以对它进一步的分解。

4.         为原始类型建模

l          为类型或枚举建立模型

l          如果要对这种类型取值范围进行说明,使用约束。


 

 

版权所有:UML软件工程组织