UML1——用图说话

本文介绍了UML作为面向对象开发的标准语言,用于系统设计和文档编制。UML包括类图、对象、抽象、封装、继承和多态等概念。文中提到了一些常用的UML工具,如Drawio、PowerDesigner等,并详细阐述了UML图的各种类型,如用例图、类图、状态图等,以及各种关系的强度顺序。此外,还讨论了UML在设计、实现、处理和部署等阶段的应用。
摘要由CSDN通过智能技术生成

目录

一、前言

二、使用工具

三、UML面对对象

四、UML图标

4.1 事物

 4.2 关系

4.3 关系线数字

4.4 关系图示例

五、UML开发思路


一、前言

不管是系统项目工程师,还是开发人员,熟悉使用UML都必不可少。UML 是一种为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言;它是一种模型语言也是面对对象的分析和设计的继任者,能集成UML的IDE工具可以生成各式各样的编程语言,如C++,Java等。在设计产品系统架构,与客户进行需求确认,UML使得需求清晰明了。

二、使用工具

Drawio, 可以绘制各种流程图,UML图包括活动图、时序图、状态图、SysMl系统模型图、Uml图统一模型图。

PowerDesigner

Eclipse UMLet

VS Enterprise

三、UML面对对象

类图是使用面向对象的社会最流行的 UML 图。它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。

对象:数据、控制数据的方法。数据包括对象的状态、属性,可能包含其他类对象。它代表一个实体的基本构建块

类:对具有相同特点或者方法的归纳为一个类别

抽象:不同类进一步提炼出相同的方法

封装:将数据绑定在一起,隐藏外部世界的机制

继承:对已有类进行扩展,派生新的类

多态:同样的方法以不同的方式存在,比如参数个数,参数类型

面向对象的分析的最重要的目的是要设计一个系统来识别对象,因此设计要确定一个系统中的对象,确定它们之间的关系,做一个设计,使用面向对象的语言可以转换为可执行文件。

  • 三个基本模块:事务,关系,图
  • 四种事务   
    1. 结构事务:类,接口,协作,用例,活动类,组件,节点
    2. 行为事务:交互,状态机
    3. 分组事务:包
    4. 注释事务:注释
  • 四种关系
    1. 依赖
    2. 关联
    3. 实现
    4. 泛化
  • 十种图
    1. 用例图:从用户角度描述系统功能,指出各功能的操作者,来捕捉系统的动态性质
    2. 类图:表示系统的静态视图,是唯一可以直接映射到面向对象的语言UML图
    3. 对象图:看作是类图在某一时刻的实例
    4. 包图
    5. 部署图:从系统工程师的角度设计节点间的关系,是应用软件开发的一个组成部分
    6. 活动图:是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动
    7. 状态图:着重描述从一个状态到另一个状态的流程,主要有外部事件的参与
    8. 序列图:显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互
    9. 协作图:描述对象间的协作关系,显示对象间的动态合作关系
    10. 组件图:包括物理组件,如库,档案,文件夹等,从实施的角度使用元件图表示整个系统

四、UML图标

 UML主要有事物,关系和图;书屋是实体抽象化的最终结果,是UML构建块最重要的组成部分,包括结构事物、行为事物、分组事物、注释事物。

4.1 事物

类指具有相同属性、方法、关系和语义的对象集合。

 接口指类或组件所提供的服务,描述了类或组件对外的可见动作

 协作定义了元素之间的相互作用

 用例定义了执行者(系统外部和系统交互的人)和被考虑的系统之间的交互来实现一个业务目标

 组件描述了物理系统一部分

 节点可以被定义为在运行时存在的物理元素

 交互被定义为一种行为,包括一组元素之间的消息交换来完成特定的任务。

 状态机由一系列对象的状态组成,表示一个对象在其生命周期的状态

 分组事物可以看作一个盒子,模型可以在其中被分解。只有一种分组事物“包”,存在于开发阶段,而组件在运行时存在。

 注释用于捕捉UML模型元素的言论,说明和注释

 4.2 关系

UML类图各符号含义 :类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形,符号顺序代表了类与类之间关系的耦合度越向右耦合度越高

理解记忆: 一般箭头指向被关系的一方。

虚线:是一种约束

实线:是一种关联,连接

箭头:一般

空心箭头:具体

实心箭头:更具体

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

依赖关系:两个事物之间语义联系,相互影响;类之间的联结;元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;如人和车的关系;举个例子,如某人要过河,则人与船的关系就是依赖,人过河之后,与船的关系就解除了,因此是一种弱的连接。在代码层面,为类B作为参数被类A在某个方法中使用。人箭头指向船

关联关系:元素间的结构化关系,是一种弱关系,是类与类之间的联结,它使一个类知道另一个类的属性和方法,可以单向也可以双向;如唐僧和徒弟是师徒关系; 实线,箭头

 泛化关系:可以被定义为一个专门的元件与一个广义的元素,描述了对象世界的继承关系。实线,空心箭头

 实现关系:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。元素A定义一个约定,元素B实现这个约定,则B和A的关系是Realize,B realize A。这个关系最常用于接口(操作,执行函数)。uml中用空心箭头和虚线表示,箭头指向定义约定的元素。

 聚合关系:描述一组对象之间连接的结构关系,整体和部分间结构关系。聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。聚合关系是关联关系的一种,是强的关联关系。

组合关系:组合是聚合关系的变种,表示元素间更强的组合关系。如果是组合关系,如果整体被破坏则个体一定会被破坏,而聚合的个体则可能是被多个整体所共享的,不一定会随着某个整体的破坏而被破坏。组合也叫合成,是非共享的,虽然局部不一定要随整体的销毁而被销毁,但整体要么负责保持局部的存活状态,要么负责将其销毁,用一句话说是同生共死。如Employee和TimeCard,公司和部门。

4.3 关系线数字

 关系线上的数字含义:表示被连接方跟自己(数字)的关系。

多重性有哪些表示?

  • 1:        表示1个

  • 0..*:    表示任意多个( ≥0)(*可以换成n)

  • *:       表示任意多个( ≥0)

  • 1..*:    表示1个或多个(≥1)

  • 0..1:    表示0个或1个

  • 5..11:   表示5-11个

  • 1,3,8: 表示个1或3个或8个

  • 0,3..8: 表示0个或3-8个

4.4 关系图示例

五、UML开发思路

设计:系统设计包括类,接口和协作。 UML类图,对象图支持。

实现:实现定义的组件组装在一起,使一个完整的物理系统。 UML组件图是用来支持实施的角度。

处理:流程定义了系统的流动,可以使用活动图。因此,在设计中所用的相同的元件也可用来支持当前角度看。

部署:部署代表物理节点的硬件系统构成。 UML部署图是用来支持这个角度来看

参考:

UML概述_w3cschool

认识SysML图 | Enterprise Architect 用户指南 (uml.com.cn)

UML图及其含义_半路出家de程序猿的博客-CSDN博客_uml图标含义

UML学习笔记(4)——类图之间的关系 - 爱码网 (likecs.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值