统一建模语言Unified Modeling Language 简称UML 的应用领域很广泛它可以用于商业建模business modeling 软件开发建模的各个阶段也可以用于其他类型的系统它是一种通用general 的建模语言具有创建系统的静态结构和动态行为等多种结构construction 模型的能力UML 语言本身并不复杂也不很专业化它具有可扩展性和通用性适合为各种多变的系统建模
本章主要介绍UML 语言的概况使大家了解UML 的结构和基本元素基本元素只给出简要的描述更详细深入的讨论将在后继章节中叙述因此读者在本章的学习中只要知道与UML 有关的概念即可并不需要完全理解图例
UML 由视图views 图Diagrams 模型元素Model elements 和通用机制generalmechanism 等几个部分构成,视图用来表示被建模系统的各个方面从不同的目的出发建立为系统建立多个模型这些模型都反映同一个系统且具有一致性视图由多个图Diagrams 构成它不是一个图片graph 而是在某一个抽象层上对系统的抽象表示如果要为系统建立一个完整的模型图只需定义一定数量的视图每个视图表示系统的一个特殊的方面就可以了另外视图还把建模语言和系统开发时选择的方法或过程连接起来图由各种图片graph 构成用来描述一个视图的内容UML 语言定义了种不同的图的类型把它们有机地结合起来就可以描述系统的所有视图模型元素代表面向对象中的类对象消息和关系等概念是构成图的最基本的常用概念一个模型元素可以用在多个不同的图中无论怎样使用它总是具有相同的含义和相同的符号表示通用机制用于表示其他信息比如注释模型元素的语义等另外它还提供扩展机制使UML 语言能够适应一个特殊的方法或过程或扩充至一个组织或用户
2.1 视 图
给复杂的系统建模是一件困难和耗时的事情从理想化的角度来说整个系统像是一张画图这张图画清晰而又直观地描述了系统的结构和功能既易于理解又易于交流但事实上要画出这张图画几乎是不可能的因为一个简单的图画并不能完全反映出系统中需要的所有信息描述一个系统涉及到该系统的许多方面比如功能性方面它包括静态结构和动态交互非功能性方面定时需求可靠性展开性等和组织管理方面工作组映射代码模块等完整地描述系统通常的做法是用一组视图反映系统的各个方面每个视图代表完整系统描述中的一个抽象显示这个系统中的一个特定的方面每个视图由一组图构成图中包含了强调系统中某一方面的信息视图与视图之间有时会产生轻微的重叠从而使得一个图实际上可能是多个视图的一个组成部分如果用不同的视图观察系统每次只集中地观察系统的一个方面视图中的图应该简单易于交流且与其他的图图用图形符号表示图符号代表系统中的模型元素和视图有关联关系。
UML 中的视图包括用例视图Use-case view 逻辑视图Logical view 组件视图Component view 并发视图Concurrency View 展开视图Deployment View 等五种能够使用的其他视图还有静态动态视图逻辑物理视图工作流程workflow 等视图但UML 语言中并不使用这些视图它们是UML 语言的设计者意识中的视图因此在未来的大多数CASE 工具中有可能包含这些视图当用户选择一个CASE 工具作图diagram 的时候一定要保证该工具能够容易地从一个视图导航navigate 到另一个视图另外为了看清楚一个功能在图中是怎样工作的该工具也应该具备方便地切换至用例视图或展开视图的长处因为用例视图下可以看到该功能是怎样被外部用户描述的展开视图下可以看到物理结构中该功能是怎样分布的即确定在哪台计算机中得到该功能
2.1.1 用例视图
用例视图Use-case view 用于描述系统应该具有的功能集它是从系统的外部用户角度出发对系统的抽象表示用例视图所描述的系统功能依靠于外部用户或另一个系统触发激活为用户或另一个系统提供服务实现用户或另一个系统与系统的交互系统实现的最终目标是提供用例视图中描述的功能。用例视图中可以包含若干个用例use-case 用例用来表示系统能够提供的功能系统用法一个用例是系统用法功能请求的一个通用描述用例视图是其他视图的核心和基础其他视图的构造和发展依赖于用例视图中所描述的内容因为系统的最终目标是提供用例视图中描述的功能同时附带一些非功能性的性质因此用例视图影响着所有其他的视图
用例视图还可用于测试系统是否满足用户的需求和验证系统的有效性用例视图主要为用户设计人员开发人员和测试人员而设置用例视图静态地描述系统功能为了动态地观察系统功能偶尔也用活动图activity diagram 描述
1
2
3
4
5
6
7
8
9
10
下一页>>