系统开发基础:UML中图的相关知识笔记(上)

           

1、图的概念

图(Diagram) 是一组元素的图形表示,大多数情况下,把图画成顶点(代表事物)和弧(表示关系)的连通图。

2、UML中图的分类

UML2.0中的图主要有:类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、组合结构图、包图、交互概览图、时序图。

2.1 类图

类图主要展现了一组对象、接口、协作和它们之间的关系。面向对象系统最常见的就是类图。类图给出系统的静态设计图。包含主动类的类图给出了系统的静态进程视图。

类图中包含的内容:类、接口、协作、依赖、泛化、关系、注解、约束、包、子系统。

作用:对系统的静态设计视图建模。主要包括对系统的词汇建模、对简单的协作建模、对逻辑数据库模式建模。

             

 

2.2 对象图

对象图展现了一组对象以及它们之间的联系。对象图描述了在类图中所建立的事物的实例的静态快照。

             

 

对象图组成:对象和链。

作用:从真实的或原型案例建立系统的静态视图或静态进程视图,主要用来支持系统的功能需求。

2.3 用例图 

用来描述系统需求的方法,展现了一组用例、参与者以及它们之间的关系。

组成:用例、参与者、用例之间的关系。

             

 

 

参与者:指存在系统外部并于系统进行交互的任何事物,可以是系统的用户,也可以是其他外部系统和设备等外部实体。

用例之间的关系:包含、扩展、泛化。

  • 包含:当可以从两个及以上的用例中提取公共行为时,应该用包含关系来表示它们。

  • 扩展:如果一个用例明显地混合了两种及以上的场景,也就是根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和多个扩展用例。

  • 泛化:当多个用例共同拥有一种类似的结构和行为时,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。

作用:对系统的静态用例图进行建模。主要有对系统的语境建模、对系统的需求建模。

2.4 交互图

序列图、通信图、交互概览图和时序图都被成为交互图,它们主要用于对系统的动态方面进行建模。一张交互图显示的是一个交互,由一组对象和它们之间的关系组成。包含它们之间可能传递的消息。

顺序图强调时间顺序;通信图强调接收和发送消息的对象的组织。

作用:交互图用于对一个系统的动态方面的建模、对用例的特定的控制流进行建模。

组成:对象、链、消息。

(1)、序列图

序列图是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。

特点:序列图由对象的生命线、序列图由控制焦点。

             

 

(2)、通信图 

通信图强调收发消息的对象的结构组成,早期也被称为协作图。

特点:通信图有路径、通信图有顺序号。序列图和通信图是可以相互转换的。

(3)、交互概览图

交互概览图是UML2.0 新增的交互图之一,它主要描述交互(特别是关注控制流),但是抽线掉了消息和生命线。它使用活动图的表示法。

(4) 时序图 

它主要描述对象状态随着时间改变的情况,很像示波器,比较适合分析周期和非周期性任务。

 

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python循环顶帖_设计Python数据库连接池1-对象的循环引用问题

在Python中如果对象定义了__del__方法的话,在对象的引用记数为0时会自动调用__del__方法(很象c中的析构函数),但如果A对象引用B对象,B对象又引用A对象,就形成循环引用,此时A,B对象引用次数都为1。python就无…

编译时类型 和运行时类型的 区别(1)

class T{ void f(int x){ System.out.println("int in T:" x); } void f(double x){ System.out.println("double in T:"x); } void f(Object x){ System.out.println("Object in T:" x); }} class S extends T{ void f(int x){  //子类覆盖基…

系统开发基础:UML中图的相关知识笔记(下)

1、状态图状态图展现了一个状态机,它由状态、转换、事件、活动组成。状态图关注系统的动态视图,它对于接口、类、协作的行为建模尤为重要,它强调对象行为的事件顺序。组成:简单状态、组合状态、转换(事件和动作&#x…

java京东左侧固定层_京东首页右侧固定层

需求说明制作京东首页右侧的固定层,6个图标:京东会员、购物车、我的关注、我的足迹、我的消息和咨询JIMI默认状态下仅显示图标,背景颜色为深灰色;当鼠标移至图标上时,背景颜色为深红色,并且显示文本css*{ma…

云开发技术应用python_云开发技术应用(Python)

本书共14章,从Python语言的语法特性开始,介绍了Python的安装和配置、数据类型及表达式、流程控制、序列和字典、文件处理、函数等,由浅入深,循序渐进,逐步引入高级话题,包括面向对象编程、模块和包、异常处…

记录下Linux难记实用的命令

1 看文件大小:du -sm * | sort -n 2 合并多个文件,可以跨文件夹合并:cat *_.txt >> news.txt 3 给文件改编码:iconv -f GBK -t UTF-8 原文件名 -o 新文件名 4 查找文件内容:grep "thermcontact" */*.i…

系统设计基础:系统设计基本任务相关知识

1、系统设计的目的提前为系统指定蓝图,在各种技术和实施方法中进行权衡,精心设计,合理利用各种资源、最终确定新系统的详细设计方案。2、系统设计的内容系统设计的内容主要包括系统总体结构设计、代码设计、输出设计、输入设计、处理过程设计…

java7 3dm下载_3DM游戏运行库合集安装包v2.8

游戏运行库大全 游戏运行环境 所有游戏组件 32位 64位系统常用运行库合集 3DM游戏常用运行库安装包 下载 幸姨作品本安装包集成32位和64位运行库,是目前互联网上最新最全的常用运行库合集,能自动识别系统版本以提供适合您的组件,无人值守自动…

uci数据集_干货收藏!三大领域常用十大开源数据集

全文共1144字,预计学习时长2分钟机器学习的研究与实现离不开大数据。知晓通用的开源数据集,一方面可以验证自己算法,另一方面也可以与其他算法进行比较。本文介绍了计算机视觉、自然语言处理和语音识别三大领域的十个开源数据集以供你参考&am…

系统设计知识:系统设计的基本原理介绍

1、抽象抽象主要用来将复杂的现象简化到可以分析、实验或者可以理解的程度。抽象的最低层就是实现该软件的源程序代码。在进行模块化设计也可以有多个抽象层次,最高抽象层次的模块用概括的方式描述问题的解决方案。较低层次的模块是对更高抽象层次模块对问题描述的细…

Wpf Binding.Path设置

Binding.Path 获取或设置绑定源属性的路径。 每个绑定通常都具有四个组件:绑定目标对象、目标属性、绑定源,以及要使用的绑定源值的路径。有关这些数据绑定概念的更多信息,请参见数据绑定概述。 使用 Path 属性可以指定您要绑定到的源值&…

java内存溢出怎样查找代码_JVM - 内存溢出,问题查找

当内存溢出会抛出 java.lang.OutOfMemoryError: Java heap space 的异常,那这个时候怎样去分析到底哪里导致内存溢出呢?我们可以通过在vm的参数, -XX:HeapDumpOnOutOfMemoryError 记住这个理是大写XX。当内存溢出后,显示java.lang…

系统设计知识:系统模块结构设计知识笔记

1、什么是模块?模块可以认为是组成系统的基本单位,它具有可组合、分解、更换的特点。系统中任何一个处理功能都能看成是一个模块。模块根据具体化的程度可划分为逻辑模块和物理模块。模块的要素:输入输出:模块的输入来源和去向都是…

安卓扫一扫自动跳转软件_ipad软件使用技巧

适用于三款ipadipad pro 1ipad pro2ipad 2018三个ipad软件分别是notability、goodnotes、和MarginNote,这三个软件各有特点。其中notability、goodnotes是笔记软件,同样都可以自己创立笔记本配合苹果笔像手写一样做笔记,也可以导入pdf作为阅读…

第12章 使用Samba或NFS实现文件共享

章节简述: 本章节为读者讲述文件共享系统的作用,了解Samba与NFS服务程序的开发背景以及用法。 详细逐条讲解Samba服务配置参数,演示安全共享文件的配置策方法,并使用autofs服务程序自动挂载设备, 学会后即可实现Linux…

ExtClassLoader和AppClassLoader是Launcher类的两个内部类

sun.misc.Launcher他是一个java虚拟机的入口应用 看下Launcher类 ExtClassLoader和AppClassLoader是Launcher类的两个内部类

Java后端带参跨域访问_java后端解决请求跨域

跨域跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨…