UML总结——系统静态图

来源:互联网 发布:白云先生新浪博客知乎 编辑:程序博客网 时间:2024/05/22 00:13

  系统静态图:从字面意思来理解,显而易见的:UML中从系统静态角度来描述的系统.主要包括类图,对象图,包图三种.系统静态图主要是相对于系统动态图(活动图,状态图,交互图而言)而言. 

  类图(Classdiagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等.从类图的组成上看,系统中的每个类都有名称,属性,方法等.其中的属性有具有可见性,范围,抽象性,多重性等特点.从类与类之间的关系来讲,最基本的四种关系:关联关系,依赖关系,泛化关系。

  关联关系:Association关联关系表现为变量(has a )。描述了两个或多个类之间的结构性关系.给定关联的2个类,可以从其中的一个类的对象访问到另一个类的相关对象。例如如果A依赖于B,则B体现为A的全局变量。在UML图中,关联关系用一条实线来表示。

  关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。同时关联中还有两种类型:一种是组合,一种是聚合.对于二者区别:组合描述的是子类和父类的依赖关系,没父类就没有子类;而聚合则不是严格的依赖关系.例如:火车与发动机关系式聚合,一个引擎可以属于一个活多个火车,引擎可以脱离火车而存在。链表和节点的关系是组合,节点必须属于一个链表,节点不能脱离链表而存在.

  依赖关系:表现为函数中的参数(usea)。依赖是一种使用关系,它表明了一个事务规格说明的变化会影响到使用它的另一个事务,反之未然.依赖关系用一根带箭头的虚线表示,箭头直线被依赖的类.例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。

  泛化关系:Generalization(泛化)表现为继承或实现关系(isa)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。

 

  对象图:对象图(ObjectDiagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。在UML中,对象图使用的是与类图相同的符号和关系,因为对象就是类的实例。下图显示了对象图的模型。其中节点可以是对象也可以是类,连线表示对象之间的关系.如前面所说的那样,对象图是类图在某一时刻的具体的实例化,那么我们可以这样理解,对象图具有类图所具有的属性,事件和方法等.

  对象图的作用:

             ·   捕获实例和连接

  · 在分析和设计阶段创建

  · 捕获交互的静态部分

  · 举例说明数据/对象结构

  · 详细描述瞬态图

  · 由分析人员、设计人员和代码实现人员开发

 

  包图:包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。

 包的作用是:

1)对语义上相关的元素进行分组;

2)定义模型中的“语义边界”;

3)提供配置管理单元;

4)在设计时,提供并行工作的单元;

5)提供封装的命名空间,其中所有名称必须惟一

包的构成:,接口,构件,用例

包之间的关系:泛化,细化,继承