ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UML建模

2022-09-11 15:00:09  阅读:263  来源: 互联网

标签:关系 对象 控制流 建模 用例 状态图 组件 UML


软件工程中的各种图

70%项目的失败不是由于技术原因导致的,而是由管理不善导致的。

UML(Unified Modeling Language,统一建模语言)是一种基于面向对象的可视化语言。

它采用一组形象化的图形(如类图)符号作为建模的语言。使用这些符号可以形象的描述系统的各个方面。UML是通过建立图形之间的各种关系(如类之间的关系)来描述模型。

UML图形一共有十种,分为静态模型图和动态模型图。其中静态模型图主要描述系统的静态结构,动态模型图主要描述系统行为的各个方面。

静态模型图:类图、对象图、包图、组件图、部署图。

动态模型图:用例图、时序图、协作图、状态图、活动图。

动态模型图

用例图

也被称为用户模型图,是从软件的需求分析的到最终实现的第一步,它是从客户角度来描述系统功能的。它包含三个基本组件:参与者(使用系统的人或事物)、用例(代表系统的某项完整的功能,在图形中使用椭圆型表示)、关系(泛化关系、扩展关系、包含关系)。

扩展关系:如果一个功能在完成的时候,偶尔会执行另外一个功能,使用扩展关系表示。

泛化关系:表示同一个业务的不同技术实现。其实就是继承关系的一种。

包含关系:是指一个用例可以含有其他用例具有的行为。

img

时序图

时序图用于描述对象之间的传递信息的时间顺序。即用例中的行为顺序。当执行一个用例时,时序图中的每一条消息对应了一个类中操作或者引起转换的触发事件。

纵轴表示时间时间轴向下延伸。横轴代表协作中的各个独立对象。对象存在时。消息用从一个对象的生命线到另个对象的生命线的箭头表示。箭头以时间的顺序在图中上下排列。

用户登录时序图

协作图

也叫做合作图,是一种交互图。时序图主要侧重于对象之间的消息传递在时间上的先后关系。而协作图表达对象之间的交互过程及对象之间的关联关系。

img

img

共同点:时序图与协作图均显示了对象间的交互。

不同点:时序图强调交互的时间次序。 协作图强调交互的空间结构。

img

活动图

活动图本质上就是流程图。它用于描述系统的活动,判定点和分支等。活动中的动作状态,原子的、不可已中断的动作。

这里要区别的是分支与合并和分叉与汇合。

分叉用于将一个控制流分为两个或多个并发运行的分支,汇合用于将两个或多个控制流合并到一起形成一个单项的控制流。如果一个控制流在其他控制流到达之前到达了连接,它将会等待,直到所有控制流都到达了才会向连接传递控制权。

泳道表明每个活动是由哪些人或哪些部门负责完成。在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中每个活动只能明确地属于一个泳道。

img

添加泳道后的活动图

img

状态图

状态图包括状态、转换、初始状态、终止状态。

状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流。

image-20220911144204435

也可以用竖线或横线代表并发。

静态模型图

类图

类图是面向对象系统建模中最常用的,也是定义其他图的基础。它主要是用来显示系统中的类,接口及他们之间的关系。类图中包含的主要元素有类、接口、和关系。其中的关系有关联关系、泛化关系、依赖关系、实现关系。在类图中也可以包含注释和约束。

未命名文件 (1)

泛化关系:表示类与类,接口与接口之间的继承关系。

关联关系:这一个类中引用另一个类,是关联关系(可统一用箭头+实线表示),包含:

  • 聚合(aggregation):一种弱拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分(比如雁群和大雁)
  • 合成(composition):也称为组合,是一种强拥有关系,体现的是严格的部分和整体,生命周期一样。(比如鸟和翅膀)

类中的方法参数如果包含其他类,称为依赖关系

对象图

对象图是类图的实例,用于显示系统执行时的一个可能的快照。即在某一个时间系统上可能出现的样子,对象图用带有下滑线的对象名称表示对象。

img

包图

由包与包之间的关系组成,包的图标就如同一个带标签的文件夹。

img

组件图

组件图用来建立系统中各种组件之间的关系。各个组件通过功能组织在一起。在UML中,组件使用左侧有两个小矩形的矩形来表示。组件图用来设计系统的整个架构。

组件图中的元素包括组件、接口、关系、端口和连接器,其中组件与组件之间有依赖关系,组件与接口之间有实现关系。

img

部署图

部署图是用来帮助开发者了解软件中各种组件驻留在什么硬件位置,以及这些硬件之间的相互关系。

img

标签:关系,对象,控制流,建模,用例,状态图,组件,UML
来源: https://www.cnblogs.com/yrxing/p/16684010.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有