Visio--用例图、类图、顺序图、活动图_visio画用例图-程序员宅基地

技术标签: uml  前端  

花了一天时间简单了解了一下画图,做个小结

目录

一、用例图

二、类图(初步领域概念模型)

三、顺序图

四、活动图


一、用例图

关系类型 说明 表示符号
关联 参与者与用例之间的关系
泛化 参与者之间或者用例之间的关系
包含 用例之间的关系
拓展 用例之间的关系

  • 拓展关系:

    • 当一个用例明显的混合了两种/两种以上的不同场景,可以根据情况发生多种分支,那么这个用例就可以分为一个基本用例和多个拓展用例,这样子可以让描述更加清晰

      • 例如:当操作者进行登录Login的时候,忘记密码,可以拓展到找回密码,没有账号,可以拓展到注册账号,但是这两个是拓展用例,不一定会执行(在操作者拥有账户且没有忘记的情况下)

    • 拓展关系中基本用例的基本流执行的时候,拓展用例不一定执行,即:拓展用例只有在基本用例满足某种条件的时候才会执行。

    • 拓展的箭头从子例指向基本用例!

  • 包含关系:

    • 当从两个/两个以上的用例中提取公共行为的时候,应该使用包含的关系来表示,其中提取出来的公共行为作为抽象类

    • 例如:修改成绩、录入成绩后,都需要对成绩进行保存,把这个保存提取出来作为抽象类,那么这两个用例就包含了这个公共行为抽象类

    • 其中箭头方向指向的是抽象类

    • 包含关系中的基本用例的基本流执行的时候,包含用例一定执行

      • 例如在对成绩进行增删改后,需要进行保存用例的执行

 举例一题

画出学生成绩管理系统的用例图

用例有:登录、找回密码、录入成绩、修改成绩、保存成绩、查询成绩、删除成绩

参与者:学生和教师

  • 分析:

    • 用例可以看成功能,把参与学看成不同身份有不同权限的用户

    • 教师的权限>学生权限,所以有些功能只给教师去用,学生只能进行一些简单的用例,但是有一些功能是可以拓展、包含的

  • 画图

    • 1、打开Visio,新建文件,搜索UML,找到模板

      • 开始制图

      •  

      • 教师和学生都可以关联到登录,如果登录的密码有问题,就可以通过登录用例拓展到找回密码的用例、也可以有注册账号等,教师和学生都可以查询成绩

      • 教师除了登录和查询,还可以删除成绩

      • 教师在修改和录入成绩的时候,数据发生变化的时候,包含了保存成绩的用例

在画图的时候,需要注意拓展、包含等有箭头符号的指向

二、类图(初步领域概念模型)

如果说用例图适合去找动词性的语句

类图就适合去找名词性的语句(例如:年级、班级、班主任、学生等就是名词性语句)

  • 泛化/继承

    • 泛化可以将它们的共性“抽象”为一个父用例

      • 例如:线下开户和线上开户,它们的共性都是实现用户注册,这个用户注册就是父用例

    • 泛化/继承的三角箭头一般指向父类

  • 关联

    • 普通关联:(表格中的普通关联符号有箭头,但是平时画的时候一条直线即可)

    • 组合:一对一的关系(整体和部分,部分不能脱离整体)

    • 聚合:一对多的关系(整体可以有多个部分,部分可以脱离整体)

举例画一个初步领域概念模型

  • 请按照下面描述建立领域概念模型

    • 一个年级有多个班级(一对多)

    • 一个班级有多名学生(一对多)

    • 每个班级有一名班主任(一对一)

    • 每个班级可能有一个副班主任

  • 画图

    • 打开类图用例: 

      •  

三、顺序图

顺序图亦称为序列图、循序图或时序图

  • 顺序图是一张 二维图

    • 纵向 代表 时间轴,事件沿垂直方向向下延申

    • 横向 由多个参与 交互的对象 构成

  • 一张基本的顺序图由以下图形元素构成

    • 对象及其生命线与活跃期

    • 消息传递

    • 注解

  • 在Visio中打开UML序列

  • 画一题:

    • 当用户A给用户B打电话,会经历:拿出手机和启动手机、进行拨号、接收来电、接通来电,返回通话、交谈、挂断、忙音、挂断电话阶段

四、活动图

节点

活动图有初始节点和活动终点以及活动节点

  • 初始节点:

    • 用一个实心圆表示

  • 活动终点:

    • 用一个圆圈内加实心圆表示

  • 活动节点:

    • 用矩形(四角圆弧表示)

功能

  • 转换:

    • 一个活动到另外一个活动叫做转换,使用 带箭头的直线表示

  • 逻辑分支判断:

    • 在进行活动转换的时候需要进行逻辑判断,每个离开转换都会有一个监护条件,用来表示满足什么条件的时候指向活动转换,用四角菱形表示,例如

    • 在a满足不同的条件下进入不同的活动

  • 分岔和汇合

    • 活动图可以表示并发的活动,并发的活动代表:一个活动过来之后,通过下面的图形做成一个并发,这样子就形成了分岔

    • 在有分岔的同时也有汇合,在下图中两个活动汇合成了一个活动,并且横向和竖向都可以做表示

    • 当多个不一样的活动完成后走向同一个活动,这时候需要使用一个横线来表示汇合。

    • 当要同时执行不一样的活动,需要用到横线来表示。

  • 泳道
    • 我们以泳道代表不同的用户

    • 那么,泳道里面的活动,就是说这个用户所属的活动

    • 在图中知道是哪个对象产生的活动,需要用泳道来框出不同对象的活动

案例

  • 使用以上的功能画一个:订单案例

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_63141957/article/details/129352912

智能推荐

Code Blocks 安装后编译出现“编译器无效”问题。_codeblocks编译器无效-程序员宅基地

文章浏览阅读2.2k次。编写程序并编译后出现如上图报错,大致意思为:编译器安装无效,所以编译器无法运行编译器,请检查编译器路径有没有正确配置,并且给出了个修改步骤,最后说设置的路径没有找到编译器文件。。。解决方法:S1:首先我们要确定我们下载安装Code Blocks是带有编译器版本的,就是带有MinGW的版本:下载地址:http://www.codeblocks.org/downloads/26S2:然后给软件指定MinGW的所在路径:菜单栏Settings -> Compil..._codeblocks编译器无效

神操作!一行Python代码搞定一款游戏?给力!-程序员宅基地

文章浏览阅读475次。点击上方“Python大本营”,选择“置顶公众号”Python大本营 IT人的职业提升平台来源:pypl编程榜一直以来Python长期霸占编程语言排行榜前三位,其简洁,功能强大的特性..._python好游戏代码

ubuntu 1604 random: crng init done 后无反应_random: fast init done-程序员宅基地

文章浏览阅读2.4k次。服务器安装Ubuntu1604报错报错内容:kernel panic - not syncing attempted to kill the idle taskrandom: fast init donerandom: crng init done错误原因:使用了错误的安装镜像,CPU位宽64位使用了i386的安装镜像,切换amd64安装镜像后无报错..._random: fast init done

Git学习系列(一)初识Git-程序员宅基地

文章浏览阅读718次。Git作为一个版本控制工具,在工作中我们常常会用到它,尤其是在移动开发中,Git可谓是版本管理神器。下面让我们来认识一下Git:Git是一个分布式版本控制软件,它是由Linux的作者Linus用C写的一个分布式版本控制系统。如果大家对Git的历史比较感兴趣,可以点击链接进入官网了解:A Short History of GitGit主要特点有如下:1、速度:Git在本地上保存着所有

餐饮行业怎么才能玩转大数据?-程序员宅基地

文章浏览阅读154次。编者按:用数据将传统餐饮门店信息搬到线上,大众点评兴起;以数据化为基础,餐饮门店经营实现移动化,点单、叫号、排队模式火了。目前,餐饮行业的数据应用更多在供应链管理和餐饮门店运营状况实时监控分析,每个餐饮商家各自为战,实际数据的应用比大数据的应用更多,而大数据更多用于用户画像和少数大企业的经营管理。不过,基于大数据在电商的应用和餐饮的发展趋势,大数据的应..._如何获得每个城市的餐饮大数据

Dialog异常 Unable to add window, token not valid_token not valid-程序员宅基地

文章浏览阅读584次。好记性不如烂笔头问题描述 Activity 延时显示 Dialog ,在显示之前, Activity 已经销毁 报错 Unable to add window -- token android.os.BinderProxy@e6ee7d8 is not valid; is your activity running?问题分析 错误信息很明确,是没有 token 导致的. 而 toke_token not valid

随便推点

配置NGINX同时运行 https 和 http_nginx 和 http无法同时启动-程序员宅基地

文章浏览阅读406次。SSL 是需要申请证书的,key和PEM文件要放到服务器路径。然后NGINX下要进行443端口和80端口的绑定。server { listen 80; server_name ietaiji.com www.ietaiji.com; root "D:/aaa/WWW/ietaiji"; index index.html_nginx 和 http无法同时启动

总结:linux之Service_linux service-程序员宅基地

文章浏览阅读1.3w次,点赞9次,收藏60次。service与systemctl关系梳理开机启动梳理_linux service

揭开数据中心光模块利润之源-程序员宅基地

文章浏览阅读194次。在数据中心里,光模块毫不起眼,当我们在高谈阔论各种数据中心高大上技术时,很少提及到光模块。不过,光模块却是数据中心的必需品,哪个数据中心也离不开光模块,而且需要的数量还不少,一块48端口网络设备就需要48个光模块,而一台框式网络设备通常有数百个端口,这些端口如果都使用上就需要数百个光模块,这样算起来数据中心需要的光模块数量是惊人的。数据中心在进行网络投资..._光模块 占 数据中心 成本

Java NIO SocketChannel简述及示例_niosocketchannel-程序员宅基地

文章浏览阅读596次,点赞2次,收藏3次。SocketChannel简述及demoJAVA NIO之SocketChannel1. 简述2. 特点3. 解决问题4. demo功能5. 工作原理6. 代码示例7. 涉及知识扩充JAVA NIO之SocketChannel1. 简述NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来..._niosocketchannel

docker内的debian9使用ntpdate同步时间时报错step-systime: Operation not permitted-程序员宅基地

文章浏览阅读3.8k次。场景在docker下使用tzselect设置时间,最后提示编辑profile追加TZ='Asia/Shanghai'; export TZvim/etc/profilesource /etc/profile发现时区正确了,但时间和宿主机相差几分钟....使用 ntpdate cn.pool.ntp.org同步时间提示ntpdate[534]: step-systime: Operation not permitted使用 ntpdate ntp.s..._step-systime: operation not permitted

基于功能安全的车载计算平台开发:硬件层面_mcu 不同通道 共因-程序员宅基地

文章浏览阅读537次,点赞18次,收藏6次。如果不具备关于复杂元器件的安全故障比例的详细信息,可假定安全故障的保守比例为50%,并假定通过内部自检和外部看门狗(表中的安全机制SM4)达到对违背安全目标的总体覆盖率为90%。这里的意图不是一定需要全面的分析,比如要求对于微控制器内或者来自于一个复杂的PCB板上任何理论可能的信号组合的桥接故障进行详尽的分析。根据硬件故障对安全目标产生影响的不同,硬件故障可分为安全相关故障与非安全相关故障,其中安全相关故障又进一步分为单点故障、残余故障、多点可探测故障、多点可感知故障、多点潜伏故障与安全故障。