UML(Unified Modeling Language的缩写)统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML最适于数据建模,业务建模,对象建模,组件建模。
最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。
用例图Usecase
用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。
类图 Class
类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构
类在类图上使用包含三个部分的矩形来描述,最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")
1. 类(Class):使用三层矩形框表示。
第一层显示类的名称,如果是抽象类,则就用斜体显示。
第二层是字段和属性。
第三层是类的方法。
注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。
2. 接口:使用两层矩形框表示,与类图的区别主要是顶端有<<interface>>显示。
第一行是接口名称。
第二行是接口方法。
3. 继承类(extends):用空心三角形+实线来表示。
4. 实现接口(implements):用空心三角形+虚线来表示
5. 关联(Association):用实线箭头来表示,例如:燕子与气候
6. 聚合(Aggregation):用空心的菱形+实线箭头来表示
聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如:公司和员工
组合(Composition):用实心的菱形+实线箭头来表示
组合:部分和整体的关系,并且生命周期是相同的。例如:人与手
7. 依赖(Dependency):用虚线箭头来表示,例如:动物与氧气
8. 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的
序列图Sequence Diagram
序列图显示具体用例(或者是用例的一部分)的详细流程。它几乎是自描述的,并且显示了流程中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。
序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。
状态图Statechart Diagram
状态图表示某个类所处的不同状态和该类的状态转换信息。有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图
包括5个基本元素:
初始起点,它使用实心圆来绘制;
状态之间的转换,它使用具有开箭头的线段来绘制;
状态,它使用圆角矩形来绘制;
断点,它使用空心圆来绘制;
以及一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。
要绘制状态图,首先绘制起点和一条指向该类的初始状态的转换线段。状态本身可以在图上的任意位置绘制,然后只需使用状态转换线条将它们连接起来。
活动图activity diagram
是阐明了业务用例实现的工作流程
状态图是描述某一对象的状态转化的,它主要表现的是该对象的状态。从状态图中可以看出,该对象在接受了外界的某种刺激之后,会做出什么样的反应。描述的是一个对象的事情。可以说是对类图的一种补充,帮助开发者完善某一类。
活动图是描述系统在执行某一用例时的具体步骤的,它主要表现的是系统的动作。从活动图中可以看出,系统是如何一步一步的完成用例规约的,主要用于业务建模阶段。活动图描述的是整个系统的事情。可以说活动图是对用例图的一种细化,帮助开发者理解业务领域。
比如说:
学校用的学生选课系统。
在系统中,学生是一个对象(UML中的对象,不是编程语言中的对象),那么学生“未登录”“已登录”“未完成选课”“已完成选课”“已选XX课”“未选XX课”等都是学生的状态。描述这些状态之间是如何转化的,就要用状态图。
而学生选课的这个动作涉及到:学生、课程、教师、学生课表等多个对象。同时这个动作也是学生选课系统的一个用例,所以要描述它就要用到活动图。
组件图 组件图(component diagram)是用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。使用组件图可以将系统划分为内聚组件并显示代码自身的结构。
组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。一般情况下,组件表示将类、接口等逻辑元素打包而形成的物理模块。一个组件包含它所实现的一个或多个逻辑类的相关信息,创建了一个从逻辑视图到组件视图的映射。
有3种类型的组件:配置组件(Deployment Component)、工作产品组件(Work product component)和执行组件(Execution Component)
(1)、配置组件是运行系统需要配置的组件,是形成可执行文件的基础。操作系统、Java虚拟机和数据库管理系统都属于配置组件。
(2)、工作产品组件包括模型、源代码和用于创建配置组件的数据文件,它们是配置组件的来源。工作产品组件包括UML图、Java类和JAR文件、动态链接库(dll)和数据库表等。
(3)、执行组件是在运行时创建的组件,是最终可运行的系统产生的允许结果。EJB、Servlets、HTML和XML文档、COM+和.Net组件以及CORBA组件都是执行组件的例子。
部署图(deployment diagram,配置图)是用来显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式
对象图(Object Diagram) 是显示了一组对象和他们之间的关系。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。
[对象图]
对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
相关推荐
### UML复习提纲知识点详解 #### UML复习提纲概览 UML(Unified Modeling Language,统一建模语言)是一种用于软件工程的图形化语言,旨在帮助软件工程师设计、构造和文档化软件系统。本复习提纲由教师精心整理,...
【UML复习题完整版】 UML(统一建模语言)是软件开发中用于建模和设计的一种标准化语言,它提供了图形化的表示方法来描述软件系统的需求、结构和行为。以下是一些关于UML的关键知识点: 1. **需求收集**:软件的...
【UML复习试题2012武汉理工复习4】这篇资料主要涵盖了UML(Unified Modeling Language)的基础知识,包括术语、关系以及建模方法。UML是一种标准的建模语言,用于描绘软件密集型系统的结构和行为。以下是相关知识点...
"UML与UML复习题与答案" UML(Unified Modeling Language)是一种标准的建模语言,用于描述软件系统的结构、行为和架构。它提供了一种通用的语言和notation来描述软件系统的设计、分析和实现。 UML的三个主要特性...
**UML复习知识点详解** UML(统一建模语言)是一种用于软件系统分析和设计的图形表示法,它提供了一套标准符号和图形,帮助我们可视化地表达软件系统的各种概念。以下是对UML中关键概念的详细解释: 1. **类图关系...
在复习UML时,你需要理解每个图的用途、符号和构造规则。例如,在类图中,了解类的属性、操作、关联、泛化和接口等概念。在用例图中,掌握用例、执行者和关系的表示方法。此外,学习如何通过关系(如关联、聚合、...
### 2015广工UML复习知识点详解 #### 面向对象的基本概念 1. **面向对象的两个层次**: - **面向对象思想**:这是一种思维方式,强调从现实世界的角度来理解问题域,通过模拟真实世界的实体及其相互之间的关系来...
【UML复习内容】 UML(Unified Modeling Language)是一种标准化的通用建模语言,用于软件密集型系统的可视化、详述、构造和文档化。它帮助软件开发者和其他利益相关者理解和交流系统的设计。以下是对UML及其相关...
"UML复习总结.pdf" UML(Unified Modeling Language)是一种面向对象软件设计的统一、标准、可视化的建模语言。它适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML 的定义包括 UML 语义和 UML ...
天津理工大学软件学院UML复习笔记 本笔记涵盖了软件工程、面向对象技术和UML建模的相关知识点,旨在为软件开发和维护提供系统化的方法和技术。 软件工程 软件工程是指按照工程化的原理和方法来开发和维护软件的...
UML 复习大纲总结整套版 UML(Unified Modeling Language)是一种标准化的建模语言,广泛应用于软件开发、系统设计和业务建模等领域。以下是 UML 复习大纲总结整套版的知识点摘要: 软件工程 * 软件概念:软件是...
**UML复习题综合版**,是学习和掌握统一建模语言(Unified Modeling Language,简称UML)的重要参考资料。UML是一种图形化语言,用于软件系统的设计、建模和交流,它涵盖了多种图表,帮助开发者直观地理解系统结构和...
总结来说,这个UML复习提纲涵盖了软件工程的基本概念,尤其是面向对象编程的关键点,对于理解和应用UML进行系统建模非常有帮助。通过深入学习和实践,开发者可以更有效地设计和实现复杂的软件系统。
UML复习.ppt
《UML复习总结》 UML,全称为统一建模语言(Unified Modeling Language),是面向对象软件设计领域中一种标准化的、可视化的建模工具。它的主要目标是提供一种通用的语言,使得开发者能够清晰地理解和表达软件设计...
**UML复习知识点详解** 1. **可见性符号**:在类图中,"#"代表的可见性是**私有(Private)**,这意味着该成员只能在同一个类内部被访问。 2. **接口实现**:在类图中,通常用一个空心的三角形和一条实线表示一个...
集美大学UML复习资料
### 统一建模语言UML复习知识点梳理 #### 一、基础知识概述 **统一建模语言(UML)**是一种面向对象的标准化建模语言,用于软件工程中描述、可视化、构造和文档化软件系统的架构。UML通过一套丰富的图形符号支持...