UML建模与软件开发设计(二)——UML概述

1.UML的定义
UML的全称为Unified Modeling Language,即统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。UML是一种建模语言,而不是一个开发过程。
UML规范用来描述建模的概念有,类、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。

2.UML的要素
UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的公用机制。

3.UML的基本组成
UML是一种主要用图形符号的建模语言,主要由图、视图、模型元素和通信机制4种元素构成。下面分别对其进行介绍:
UML建模与软件开发设计(二)——UML概述_第1张图片

3.1.图
图(Diagram)是描述UML视图内容的图形。UML从考虑系统的不同角度出发,定义了如下9种图形:
UML建模与软件开发设计(二)——UML概述_第2张图片

(1)用例图(Use Case Diagram):描述用户、需求、系统功能单元之间的关系;
(2)类图(Class Diagram):描述系统的静态结构;
(3)对象图(Object Diagram):描述系统在某个时刻的静态结构;
(4)组件图(Component Diagram):描述了实现系统的元素的组织;
(5)配置图(Deployment Diagram):描述了环境元素的配置,并把实现系统的元素映射到配置上;
(6)状态图(State Diagram):描述了系统元素的状态条件和响应;
(7)序列图/时序图(Sequence Diagram):按时间顺序描述系统元素间的交互;
(8)通信图(Communication Diagram)/协作图(Collaboration Diagram):按照时间和空间顺序描述系统元素间的交互和它们之间的关系;
(9)活动图(Activity Diagram):描述了系统元素的活动;
其他还包括用来描述包间关系的包图(Package Diagram)等。

3.2.视图
视图(View)视图是由许多图形组成的一个抽象集合,用于从不同角度来表示待建模系统。根据图形在不同架构视图的应用,可以把9种图形分为5大类:用户模型视图、结构模型视图、行为模型视图、实现模型视图和环境模型视图:
(1)用户模型视图由专门描述最终用户、分析人员和测试人员看到的系统行为的用案组成,它实际上是从用户角度来描述系统应该具有的功能。用户模型视图所描述的系统功能依靠外部用户或者另外一个系统来激活,为用户或者另一系统提供服务,从而实现用户或另一系统与系统的交互。系统实现的最终目标是提供用户模型视图中所描述的功能。在UML中,用户模型视图是由用案图组成。
(2)结构模型视图描述组成系统的类、对象以及它们之间的关系等静态结构,用来支持系统的功能需求,即描述系统内部功能是如何设计的。结构模型视图由类图和对象图构成,主要供设计人员和开发人员使用。
(3)行为模型视图主要用来描述形成系统并发与同步机制的线程和进程,其关注的重点是系统的性能、易伸缩性和系统的吞吐量等非功能性需求。行为模型视图利用并发来描述资源的高效使用、并行执行和处理异步事件。除了讲系统划分为并发执行的控制线程之外,行为模型还必须处理通信和这些线程及进程之间的同步问题。行为模型视图主要供系统开发人员和系统集成人员使用,它由序列图、协作图、状态图和活动图组成。
(4)实现模型视图用来描述系统的实现模块它们之间的依赖关系以及资源分配情况。这种视图主要用于系统的配置管理,它是由一些独立的构件组成的。实现模型视图由构件图组成。其中构件是代码模块,不同类型的代码模块形成不同的构件。实现模型视图主要供开发人员使用。
(5)环境模型视图用来描述物理系统的硬件拓扑结构。例如,系统中的计算机和设备的分布情况以及它们之间的连接方式,其中计算机和设备统称为节点。在UML中环境模型视图是由部署图来表示的。系统部署图描述了系统构件在节点上的分布情况,即用来描述软件构件到物理节点的映射。部署图主要供开发人员、系统集成人员和测试人员使用。
此外,还可以根据它们描述的是系统的静态结构还是动态行为,可以将9种图形分为静态图和动态图两类。如下图所示:
UML建模与软件开发设计(二)——UML概述_第3张图片

3.3.模型元素
模型元素用来代表面向对象中的类、对象、消息等概念及这些概念之间的关系,例如类图包括依赖、关联、泛化和实现关系等等,是构成图的最基本的元素。

3.4.通信机制
通信机制用于表示其他信息,比如注释、模型元素的语义等。另外,UML还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。

你可能感兴趣的:(UML建模与软件开发设计,uml,java,StarUML,开发设计)