详解类和用例的UML包图应用

开发 架构
UML包图的概念你是否了解,UML包图是在UML中用类似于文件夹的符号表示的模型元素的组合。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。

本文和打击重点讨论一下UML包图的概念,一个"UML包图"可以是任何一种的UML图组成,通常是UML用例图或UML类图。包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。

UML包图简介

UML包图是在UML中用类似于文件夹的符号表示的模型元素的组合。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。使用UML包图可以将相关元素归入一个系统。一个包中可包含附属包、图表或单个元素。

一个"UML包图"可以是任何一种的UML图组成,通常是UML用例图或UML类图。包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。包被描述成文件夹,可以应用在任何一种UML图上。虽然UML包图并非是正式的UML图,但实际上他们是很有用处的,创建一个UML包图是为了∶
◆描述你的需求高阶概述。
◆描述你的设计的高阶概述。
◆在逻辑上把一个复杂的图模块化。
◆组织Java源代码。

一、类UML包图

1.创建类UML包图,以在逻辑上组织你的设计

??图1描述了一个组织成包的UML类图。除了以下介绍的包原则之外,应用下列的规则来把UML类图组织到UML包图里:

把一个框架的所有类放置在相同的包中。一般把相同继承层次的类放在相同的包中。彼此间有聚合或组合关系的类通常放在相同的包中。彼此合作频繁的类,信息能够通过UML顺序图和UML合作图反映出来的类,通常放在相同的包中。

 

图1.一个类UML包图。

2.创建UML组件图,以在物理上组织你的设计。

??如果你的组件比较接近技术,例如那些通过EnterpriseJavaBeans(EJB)或VisualBasic的组件,你应该优先选择UML组件图来描述物理设计,而不是UML包图。图1的版本源自于组件图章节中。就像你看到的,这个图最适用于物理设计。永远记住遵循敏捷建模(AM)(Ambler2002)的实践--应用合适的Artifact,为工作挑选***的模型。

3.把子包放置在母包的下面。

??图1描述了包间的继承,你可以看到,继承的包显示在母包支下。这和UML类图中的在超类下面放置子类的指南是一致的。

4.垂直地分层类UML包图。

??包间的依赖表明,从属的包的内容依赖于另一个包的内容,或结构上依赖于其它包的内容。在图1中你可以看到图中的??类交互,领域类又使用基础结构类,基础结构类访问数据库。传统的,这种分层的顺序是以从上到下的方式描述的。#p#

二、用例UML包图

??用例通常是面向对象开发方法学中的最主要的需求artifact,当你的方法是统一过程(Kruchten2000;Ambler2000)实例是尤其如此。而且对于大的项目UML包图来说,通常是创建用来组织使用需求的。

1.创建用例UML包图,以组织你的需求

??除了以下介绍的包原则之外,应用下列的规则来把UML用例图组织到UML包图里:
??把关联的用例放在一起∶included、extending、和inheriting的用例放在相同的包中,就像base/parent用例一样。
??组织用例应该以主要主角的需要为基础。例如,在图2中,Enrollment包包含与登记班级的学生有关的用例,一个大学提供的重要服务集合。

 

图2.一个包含主要的包的UML用例UML包图。

2.在用例UML包图上包含角色

??图2包含UML包图上的角色,这有助于把包放在上下文中理解,这样UML包图就会更容易为读者所理解。

3.水平地排列用例UML包图

??用例UML包图的主要受众是项目干系人。因此图的组织应该能够反映他们的需求。图2中的包是水平放置的,从左到右画出的依赖关系反映了西方文化的阅读习惯。

【编辑推荐】

  1. 解析UML包图的目的和准则
  2. 九步实现UML包图创建
  3. UML建模风格之UML包图
  4. UML包图中的包引入和包合并
  5. UML包图概念及常见问题解析

 

责任编辑:佚名 来源: hudong.com
相关推荐

2010-06-13 14:37:04

UML实践

2010-06-08 17:01:34

UML用例图

2010-06-18 14:56:15

UML综合实例

2010-06-13 15:43:32

UML用例图

2010-06-10 10:20:21

2010-07-06 15:57:58

UML图形

2010-06-29 16:43:54

UML用例建模

2010-07-12 09:37:26

UML建模

2010-07-09 09:00:22

UML建模

2010-06-29 12:30:15

UML实例中ATM类图

2010-06-30 17:36:58

UML用例图

2010-06-13 14:51:27

UML实践

2010-06-10 09:04:18

UML用例图

2010-06-09 18:56:44

UML用例图

2010-07-01 12:53:34

UML用例图

2010-07-06 16:38:47

UML用例建模

2010-07-02 08:57:45

UML用例图

2010-06-10 09:17:40

UML用例图

2011-11-17 09:30:00

UML

2010-06-17 12:32:54

UML用例建模
点赞
收藏

51CTO技术栈公众号