`

深入剖析七大常用UML图

    博客分类:
  • UML
阅读更多
今天和大家重点讨论一下常用UML图,这里主要向大家介绍七种,用例图描述了系统提供的一个功能单元,而类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。至于其他图形作用,请看下文详细介绍。

最常用UML图

1.用例图

用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。用例图一般表示出用例的组织关系--要么是整个系统的全部用例,要么是完成具有功能(例如,所有安全管理相关的用例)的一组用例。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。角色和用例之间的关系使用简单的线段来描述,

2.类图

常用UML图中类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。类图可用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类--摇滚乐队、CD、广播剧;或者贷款、住房抵押、汽车信贷以及利率。类图还可用于表示实现类,实现类就是程序员处理的实体。实现类图或许会与逻辑类图显示一些相同的类。然而,实现类图不会使用相同的属性来描述,因为它很可能具有对诸如Vector和HashMap这种事物的引用。
类在类图上使用包含三个部分的矩形来描述,最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。

3.序列图

常用UML图中序列图显示具体用例(或者是用例的一部分)的详细流程。它几乎是自描述的,并且显示了流程中中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。
序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。

序列图的绘制非常简单。横跨图的顶部,每个框(参见图4)表示每个类的实例(对象)。在框中,类实例名称和类名称之间用空格/冒号/空格来分隔,例如,myReportGenerator:ReportGenerator。如果某个类实例向另一个类实例发送一条消息,则绘制一条具有指向接收类实例的开箭头的连线,并把消息/方法的名称放在连线上面。对于某些特别重要的消息,您可以绘制一条具有指向发起类实例的开箭头的虚线,将返回值标注在虚线上。就我而言,我总喜欢绘制出包括返回值的虚线,这些额外的信息可以使得序列图更易于阅读。

4.状态图

状态图表示某个类所处的不同状态和该类的状态转换信息。有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图。只对"感兴趣的"状态的类(也就是说,在系统活动期间具有三个或更多潜在状态的类)才进行状态图描述。

状态图的符号集包括5个基本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用具有开箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;以及一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。要绘制状态图,首先绘制起点和一条指向该类的初始状态的转换线段。状态本身可以在图上的任意位置绘制,然后只需使用状态转换线条将它们连接起来。
阅读序列图也非常简单。从左上角启动序列的"驱动"类实例开始,然后顺着每条消息往下阅读。记住:虽然图4所示的例子序列图显示了每条被发送消息的返回消息,但这只是可选的。

5.活动图

活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。常用UML图中活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。根据我的经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务如何运作等。这是因为与序列图相比,活动图在表示上"不够技术性的",但有业务头脑的人们往往能够更快速地理解它们。
活动图的符号集与状态图中使用的符号集类似。像状态图一样,活动图也从一个连接到初始活动的实心圆开始。活动是通过一个圆角矩形(活动的名称包含在其内)来表示的。活动可以通过转换线段连接到其他活动,或者连接到判断点,这些判断点连接到由判断点的条件所保护的不同活动。结束过程的活动连接到一个终止点(就像在状态图中一样)。作为一种选择,活动可以分组为泳道(swimlane),泳道用于表示实际执行活动的对象。

6.组件图

组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如,库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次2上显示。
组件图的建模最适合通过例子来描述。图7显示了4个组件:ReportingTool、BillboardService、Servlet2.2API和JDBCAPI。从ReportingTool组件指向BillboardService、Servlet2.2API和JDBCAPI组件的带箭头的线段,表示ReportingTool依赖于那三个组件。

7.部署图

常用UML图中部署图表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将在何处物理地运行,以及它们将如何彼此通信。因为部署图是对物理运行情况进行建模,系统的生产人员就可以很好地利用这种图。
部署图中的符号包括组件图中所使用的符号元素,另外还增加了几个符号,包括节点的概念。一个节点可以代表一台物理机器,或代表一个虚拟机器节点(例如,一个大型机节点)。要对节点进行建模,只需绘制一个三维立方体,节点的名称位于立方体的顶部。所使用的命名约定与序列图中相同:[实例名称]:[实例类型](例如,"w3reporting.myco.com:ApplicationServer")。

分享到:
评论

相关推荐

    Ext 深入剖析,使用UML对Ext类关系解读

    花费半年心血研究解读总结。包含了Ext的核心类解析,Ext对象原理,Ext事件模型,Ext布局模型,AJAX原理,Ext数据模型的本质原理;UML图例详解。

    uml常用图例介绍

    uml常用图例介绍uml常用图例介绍uml常用图例介绍uml常用图例介绍

    JAVA类生成UML图

    UML图可以帮助开发者、设计师和项目团队清晰地理解系统的设计和实现,从而提高沟通效率和代码质量。"JAVA类生成UML图"这个主题涉及到如何从已有的Java源代码自动生成UML类图,这是一种非常实用的技术。 1. **UML...

    斗地主 游戏UML图及java代码

    本文将深入探讨斗地主游戏的UML图,并结合提供的Java代码,解析其设计思路与实现细节。 一、UML图的作用与类型 UML图是软件设计的重要工具,它通过图形化的方式展示系统的静态结构和动态行为。在斗地主游戏中,...

    UML PAD(UML绘图工具)

    4. **全面的UML支持**:尽管小巧,但UML PAD支持多种UML图,包括但不限于用例图、类图、对象图、顺序图、协作图、状态图、活动图和组件图等,满足了大部分UML建模需求。 5. **快速绘图**:通过快捷键和预定义模板,...

    UML期末大作业

    在这个大作业中,你将接触到以下几种主要的UML图: 1. **类图(Class Diagram)**:类图是UML中最基本的图,用于描述系统的静态结构,包括类、接口、对象以及它们之间的关系,如继承、关联、依赖等。 2. **用例图...

    UML智能停车场设计图(本科大作业)

    通过深入分析和理解这些UML图,我们可以了解智能停车场系统的工作原理,学习如何运用UML有效地进行系统建模,这对于提升软件开发的专业技能和项目管理能力具有重要意义。同时,这也是一个很好的实例,展示了UML在...

    UML图书馆管理系统

    总结来说,"UML图书馆管理系统"项目借助UML的活动图、时序图和状态图,深入剖析了图书管理系统的业务流程、对象交互和状态变迁。这种建模方法不仅可以帮助开发者理解和设计系统,也能提高项目的可维护性和可扩展性。...

    uml 西工大课件 深入浅出讲解UML概念及其应用

    2. **元素**:UML图由各种元素构成,如类、接口、对象、用例、关系等。每个元素都有其特定的属性和行为。 3. **关系**:元素之间通过关联、依赖、泛化、实现等关系相互连接,反映系统内的结构和行为。 **深入浅出...

    23常用设计模式的UML

    学习这23个设计模式的UML图,可以帮助开发者理解每个模式的基本结构和实现方式。对于初学者,这些图是很好的学习工具,能够直观地理解模式的核心思想。对于经验丰富的开发者,这些图可以作为快速参考,帮助他们在...

    UML 大学讲义PPT

    1. **图**: UML的核心是各种类型的图,它们分别代表不同的视角和层次,如用例图、类图、序列图、状态图、活动图等。 - **用例图 (Use Case Diagram)**: 描述了系统外部参与者与系统之间的交互,展示系统功能的概览...

    UML图.xmind

    UML图( 内容来自公众号 鸭血粉丝 Java极客技术,非本人总结,仅作为学习使用

    图书管理系统uml图

    《图书管理系统UML图详解》 图书管理系统是一个典型的业务信息系统,其设计与实现涉及多种UML(统一建模语言...通过深入理解这些UML图,开发者可以更高效地进行系统开发,同时确保系统功能的完整性和用户体验的优化。

    学生管理系统UML图

    《学生管理系统UML图详解》 学生管理系统是一个广泛应用于高校、培训机构等教育机构的信息管理系统,其目的是为了方便地管理学生信息、课程安排、成绩记录、考勤情况等。本篇文章将详细探讨基于Reational Software...

    网上购物系统UML图

    #### 六、UML图概述 - **UML图类型**: - **用例图**:展示系统的功能需求,包括参与者与系统之间的交互。 - **活动图**:展示业务流程或工作流中的步骤,帮助理解系统的动态行为。 - **类图**:描述系统的静态...

    spring源码UML图

    在Spring框架的源码分析中,UML图能够帮助我们清晰地理解类与类之间的关系,如继承、关联、依赖等,从而更深入地理解其内部工作原理。 首先,"spring源码UML图"通常包括以下几种类型的UML图: 1. 类图(Class ...

    ArgoUML画UML图工具

    UML包含了多种图表类型,如用例图、类图、序列图、状态图等,每种图都有特定的用途: 1. **用例图(Use Case Diagram)**:用于展示系统与外部参与者之间的交互,表达用户需求。 2. **类图(Class Diagram)**:...

    UML期末大作业——PDF

    文档中虽然没有提供实际的UML图表,但提到了“UML期末大作业”,说明了作业内容中应包含了UML图表的设计,如类图、用例图等,以展示系统的结构和行为。UML图表是文档设计和描述系统功能的重要组成部分。 6. 系统...

    UML图的基本种类

    - **需求分析阶段**:在这个阶段,用例图是最常用的UML图,用于捕获系统的功能需求。 - **设计阶段**:类图、序列图、活动图和状态机图是这一阶段的关键,它们帮助开发者细化系统的设计。 - **实现阶段**:虽然在...

    23种设计模式UML图片

    结合"23种设计模式UML图片"这个主题,我们可以深入探讨这23个设计模式及其对应的UML表示。 1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。UML图通常表现为类图,其中一个类有一个私有的构造函数和一...

Global site tag (gtag.js) - Google Analytics