`

UML类图

 
阅读更多
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) 是显示了一组对象和他们之间的关系。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。
[对象图]

对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。
  对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。








  • 大小: 25.5 KB
  • 大小: 19.9 KB
  • 大小: 16.9 KB
  • 大小: 34 KB
分享到:
评论

相关推荐

    JDK UML 类图大全

    在JDK中,UML类图可以帮助我们理解和分析Java类库的结构,包括类、接口、继承关系、关联、聚合和组合等。 **类图的基本元素** 1. **类(Class)**: 类图的核心元素,表示具有共同属性、操作和关系的一组对象。在...

    spring源码全部uml类图

    在"spring源码全部uml类图"中,我们可以深入探讨Spring框架的内部结构和设计模式。 首先,Spring框架的核心组件包括IoC(Inversion of Control,控制反转)容器和AOP(Aspect-Oriented Programming,面向切面编程)...

    计算器 UML类图 c++

    在IT行业中,UML(统一建模语言)是一种标准的...学习这个案例,你可以了解如何将业务逻辑转化为UML类图,再将类图转换为实际的C++代码。这有助于提升你对面向对象编程的理解,同时也能掌握UML在软件工程中的实际应用。

    eclipse画UML类图的jar包.zip

    "eclipse画UML类图的jar包.zip"是一个包含Eclipse插件的压缩文件,这些插件允许用户在Eclipse环境中绘制UML类图。UML类图是UML中的核心元素,它用于表示系统的静态结构,包括类、接口、继承关系、关联关系等。 这个...

    六大UML类图以及关系

    ### UML类图关系详解 #### 一、引言 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的图形化语言,它帮助开发者理解和设计系统。其中,UML类图是最常用的一种图示方式,用于描述系统...

    UML类图的各符号含义及表示

    下面我们将详细解释UML类图中各符号的含义。 1. 类(Class):在UML类图中,类通常用三层矩形表示。第一层写类的名称,如果类是抽象的,则名称以斜体显示。第二层列出类的属性(fields)和字段,第三层列出类的方法...

    UML类图中的类 抽象类,具体类,主动类等

    综上所述,UML类图中的类是系统建模的关键元素,它们通过抽象类和具体类的区分来表达层次结构,通过主动类和非主动类来描述行为发起者和接收者。属性和操作则构成了类的核心特性,帮助我们理解和设计系统的结构和...

    uml 类图实例

    uml 类图实例 oom powerdesigner 绘制

    从UML类图到关系数据库表的代码生成方法

    从UML类图到关系数据库表的代码生成方法研究 UML(统一建模语言)是一种用于软件系统建模的标准化建模语言,它的类图是其中最常用的一种图示,用于表示系统中类的静态结构。关系数据库是目前主流的数据库管理系统,...

    登录图UML类图.zip

    本文将深入探讨"登录图"在UML类图中的应用,以及如何通过类图来描绘和理解复杂的系统结构。 首先,UML类图是UML中的核心元素之一,它提供了一种图形化的方式来表示系统的静态结构。类图展示了类、接口、对象之间的...

    网上书店UML类图建模

    网上书店UML类图建模 基于提供的文件信息,我们可以总结出以下知识点: 1.UML类图建模: UML(Unified Modeling Language)是一种通用的建模语言,用于描述、设计和文档化软件系统。UML类图是一个静态结构图,...

    图书管管理系统UML类图

    《图书管理系统的UML类图解析》 在软件开发领域,UML(统一建模语言)是一种标准化的建模工具,用于描绘系统的设计和结构。本篇将详细讲解基于UML类图的图书管理系统的构建过程,以帮助读者理解如何通过类图来描述...

    简单工厂模式uml类图

    java设计模式 简单工厂模式uml类图,一张图就让你秒懂简单工厂模式

    酒店管理信息系统UML类图

    酒店管理信息系统UML类图 酒店管理信息系统UML类图是酒店管理信息系统的设计蓝图,该系统旨在自动化酒店的日常管理行为。该系统包括三个操作角色:酒店管理员、前台服务员和经理,每个操作角色的权限不同。系统的...

    23种经典设计模式UML类图汇总

    在这个“23种经典设计模式UML类图汇总”中,你将找到有关这些模式的详细解释和它们在UML中的表示方式。 1. **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。UML类图中,单例类通常有一个私有的构造...

    进销存管理系统UML类图

    进销存管理系统是一种广泛应用于商业运营中的软件工具,主要用于跟踪和管理商品的进货、销售和库存情况。在软件设计过程中,UML...同时,UML类图也提供了良好的沟通工具,使得项目团队成员能够共同理解和改进设计方案。

    阿里巴巴Java代码规约插件UML类图

    UML类图是UML中最基础的图表之一,它用于描绘类的结构和类之间的关系,包括继承、关联、聚合、组合等。通过类图,开发者可以直观地理解系统的设计,便于代码的分析和重构。在Java开发过程中,UML类图可以帮助设计...

    UML类图关系大全

    ### UML类图关系详解 #### 一、引言 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的图形化规范,用于描述软件系统的结构和行为。UML类图作为UML中的一种重要图表类型,主要用于...

    工厂方法模式uml类图

    java设计模式 工厂方法模式uml类图,一张图就让你秒懂工厂方法模式

    UML类图画法全程解析

    在UML类图中,主要元素包括: 1. 类(Class):类是一个复杂的数据类型,包含数据(属性)和操作(方法)。在UML图中,类通常用三层矩形表示,第一层写类名,第二层列属性,第三层列方法。类的访问修饰符(public、...

Global site tag (gtag.js) - Google Analytics