首页 > 其他分享 >UML总结----六种关系和九种图的作用

UML总结----六种关系和九种图的作用

时间:2022-12-23 11:07:51浏览次数:37  
标签:关系 泛化 元素 关联 ---- 用例 九种 UML


已经学习了UML,应该对UML有一个大概的认识,下面一张图是我画的一个思维导图。

UML总结----六种关系和九种图的作用_泛化

从图上可以看出UML可以大致分为视图、事物、关系以及它的9种图。

视图

在逻辑视图中:逻辑视图通常由类图、对象图以及包图表示,组件图通常由组件图表示,并发图通常由状态图、活动图、时序图、协作图表示,配置图通常由配置图表示,用例图通常由用例图表示。

结构事物也分为了类、接口、用例、协作、活动类、组件和节点

类:类是由具有相同属性、相同方法、相同语义和相同关系的一组对象的集合。一个类可以实现一个或多个接口。在UML图中,类用包括类名、属性、方法的矩形表示。

接口:接口是指类或组件所提供的、可以完成特定功能的一组操作的集合。即:接口描述了类或组件的对外的、可见动作,通常一个类实现一个或多个接口。

用例:用例定义了系统的一组操作,对特定的用户产生可以观察的结果。

协作:协作定义了交互的操作,表示一些角色和其他元素一起工作,提供一些合作的动作。一个给定的类可能是几个协作的组成部分,这些协作代表构成系统的模式的实现。在UML中,协作通常用一个虚线椭圆表示。

活动类:指类对象有一个或多个线程或进程的类。活动类和类相似,只是它的对象代表的元素的行为和其他元素同时存在。在UML中活动类的表示方法和普通类的表示方法相似,也是使用一个矩形,只是最外面的边框用粗线。

组件:组件是物理上可替换的,实现了一个或多个皆苦的系统元素。

节点:节点是一个物理元素,它在运行时存在,代表一个可计算的资源,在UML中,节点使用一个立方体来表示。

关系

关联关系:关联关系是一种结构化关系,指一种对象和另一种对象有关联。是一种拥有关系,使一个类知道另一个类的属性和方法,如:老师与学生、丈夫与妻子。关联关系可以有方向,表示该关联在某方向被使用。只在一个方向上存在的关联,称为单向关联,在两个方向是国内都存在的叫做双向关联。关联关系用一条实线表示。双向关联可以有两个或没有箭头,单向关联有一个箭头。

UML总结----六种关系和九种图的作用_UML_02

UML总结----六种关系和九种图的作用_UML_03

老师和学生是双向关联,老师可以有多名学生,学生也可以有多名老师,但学生与课程之间是单向关联,一名学生可以有多门课程,课程不拥有学生。

聚合:是关联的特例,聚合表示类与类之间关系时整体与部分的关系。聚合是整体与部分的关系,部分可以离开整体而单独存在,如果在聚集关系中储运部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚合。 在IUML中聚合关系用一段带有空心小菱形的直线表示,菱形端连接表示整体事物的模型元素,另一端连接的是部分事物的模型元素。

例如:一个评委可以参加多个比赛,表示歌唱大赛由评委等对象组成

UML总结----六种关系和九种图的作用_类图_04

组合关系:组合关系时再聚合关系之上的更紧密的耦合关系,描述元素之间部分与整体的关系。部分类需要整体类才能存在,当整体类背销毁,部分类将同时被销毁。组合关系用一端带有实心小菱形的直线表示,菱形端连接表示整体事物的模型元素,另一端连接表示部分事物的模型元素。

UML总结----六种关系和九种图的作用_类图_05

依赖:依赖关系描述两个模型元素(类、用例)之间的语义关系,是一种使用关系。其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变,将影响依赖于它的元素。箭头指向为被指用者。

UML总结----六种关系和九种图的作用_类图_06

泛化:是一种继承关系,表示一般与特殊的关系,指定了子类如何特化父类的所有特征和行为。泛化可分为普通泛化以及受限泛化。普通泛化就是没有给泛化添加约束。普通泛化关系用一条带有空心箭头的实线表示,箭头指向父类。受限泛化可以给泛化关系附加约束条件,说明该泛化关系的使用方法或扩充方法。

UML总结----六种关系和九种图的作用_泛化_07

实现:是一种类与接口的关系,表示类是接口的所有特征和行为的实现。再UML中用带三角的虚线表示,箭头指向接口。

UML总结----六种关系和九种图的作用_泛化_08

各种关系强弱顺序:泛化=实现>组合>聚合>关联>依赖

下图描述了各类的关系:

UML总结----六种关系和九种图的作用_类图_09

另外:用例图分为用例图;静态图分为:类图、对象图、包图;交互图:时序图、协作图

在需求阶段:采用用例图描述需求

分析阶段:用类图描述静态结构

设计阶段:采用类图、包图对类的接口进行设计

实现阶段:将类用某个面向对象的语言实现

集成交付阶段:构件图、包图、部署图

测试阶段:单元测试用类图和类的规格说明书,集成测试阶段用类图、包图、构件图和合作图,系统测试阶段用用例图来测试系统功能。

用例图:描述角色以及角色与用例直接按的连接关系。说明谁要使用系统,以及他们使用该系统可以做什么

类图:描述系统的静态结构,以及各个类之间的关系的静态视图。

对象图:描述系统在某个时刻的静态静态结构。它是类图的实例,对象图i西安市类的多个对象实例,而不是实例的类。

活动图:描述用例要求所要进行的活动,以及活动间的约束关系。

状态图:描述类的对象所有可能的状态,以及事件发生时状态的转移条件。

序列图:按事件顺序描述系统元素间的交互,用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。

协作图:显示对象间的活动合作状态,可以看成时类图和顺序图的交集,按时间、空间顺序描述系统元素间的交互,和他们之间的关系。

构件图(组件图):描述代码构件的物理结构以及各种构建直接按的额依赖关系。实现系统的元素的组织。

部署图:用来建模系统的物理部署。例如计算机和设备,以及他们之间是如何连接的,部署的使用者是开发人员。系统集成人员和测试人员。

 

以上是对UML的总结,如有不足指出,欢迎指正!


标签:关系,泛化,元素,关联,----,用例,九种,UML
From: https://blog.51cto.com/u_15902978/5965170

相关文章

  • 如何使用VS
    上一篇博客说到IDE,也就是集成开发环境。那么.net的集成开发环境就是vs。下面先介绍一下VS。VS介绍一个程序只有一个主入口,只有一个主方法(main),代码都是在主函数里书写。如图......
  • C#的注释、快捷键、字符和运算
    在写一个程序的时候,一个程序员的基本素质就是一定要写注释,这样老板看你的程序的时候,才不会小看你哦!C#的注释方法三种注释方法:1、单行注释:以“//”开头,后面内容为注释内容2、......
  • 安全重于泰山
    还有几天就快过年了,米老师、纪老师还有安全委员会的同学们为我们分享了好多关于安全的事情,我觉得我们每一个人都要重视起这个问题。一般情况下,我们我们都是健康的,但是一些意......
  • 学生信息管理系统之错误3021
    在敲学生的过程中,遇到了一个3021的错误,如图:这个时候就要具体了解一下EOF和BOF了。EOF(EndofFile)指当前记录位置位于Recordset对象的最后一个记录之后。BOF:(BeforeofFile)指......
  • 2019年十一总结
    到现在为止,我已经来提高班整整半年了,可能我比同期的小伙伴们要来的早一些,所以要比他们更多的了解了提高班。很有幸这个月可以做我们期的CEO(也多亏师哥师姐对我的认可)。其实......
  • 作品展总结
    2020年4月25日,我们17期进行了我们的作品展,对于这次作品展觉得成长了很多。作品展前准备我们当初把作品展定在了4月份,所以我们就开始了前期准备,作品展作品展当然是要准备作品......
  • 10.1假期一半总结
    今天是十月三号,这个的假期已经要过一半了,而且也觉得自己收获了不少。他们在家里休息,而我在这里提高自己各方面的能力力。今天我们新学习了怎么画流程图、怎么使用快捷键、学......
  • 10月26日上午小结
    今天又到了集体上课的一天,上午纪老师为我们讲了跟多我感兴趣的话题,比如以后的薪资、多少的差距、如何让自己变得更加优秀、软件更新等。就先拿以后的薪资来说吧,对于我一个今......
  • 重装系统(实践)
    今天和师傅一起重装了系统,最后成功的那一刻真的很开心,因为又学会了一项自己以前不会的技能。首先要先做一个优盘启动,一定要准备一个空的优盘,如果优盘里有东西,在制作的时候,就......
  • 2019再见,2020你好!
    今天是2020年1月1日,我来提高班已经整整8个月了,大学毕业已经六个月了,在这八个月里我不仅仅 知识上有很大的收获,在社交或者说是与他人沟通上都有很大的改变。六个月前在我还......