UML 用例图详解

news/2024/6/29 10:53:49 标签: uml, 软件工程

一、概念

用例(英语:use case),或译使用案例、用况,是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。

二、用例和场景的关系?什么是主场景或 happy path?

场景是用户与系统之间的交互行为,是用例的实例;用例是相关的成功或失败的场景集合。

主场景(happy path)是实现用户目标的最简单,最直接的场景,是一个没有异常或错误条件的默认场景。

三、用例有哪些形式?

三种形式:

Brief(high level):简介型,简洁的一段式概要,通常用于主成功场景。

Casual:非正式型,非正式的段落格式,用几个段落覆盖不同场景。

Fully:完整型,详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证。

对于复杂业务,为什么编制完整用例非常难?

复杂业务的应用场景十分复杂,用户使用的情况很多,在前期的考虑中,很难不遗漏一些业务条件和需求。同时,复杂用例的可读性也较差。因此编制完整用例非常困难。

四、什么是用例图?

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图,也是外部用户所能观察到的系统功能的模型图。

五、用例图的基本符号与元素?

参与者(Actor):表示系统中的用户,即与系统交互的对象

用例(Use Case):用户与系统的交互行为,可以理解为用户可以使用系统做的事情

系统边界(system):用来表示正在建模系统的边界

包含关系(include):被指向用例为指向用例的行为之一

拓展关系(extend):被指向用例为指向用例的拓展功能

泛化关系(generalization):被指向用例为指向用例的特例之一

关联关系(association):表示参与者与用例之间的关联关系

六、用例图的画法与步骤

绘制系统边界

确定参与者

确定参与者之间的关系

识别用例

确认用例间关系

确认用例与参与者的关系

确定外部接口

用例图给利益相关人与开发者的价值有哪些?

用例图列举出了各种用例,使得用户可以清晰地了解到该系统的各个功能单元。

用例图便于用户理解系统,从而从用户处获取需求。

用例图可以在整个开发过程的工作流中起到指导作用。

用例图可以作为开发者的蓝图,使开发者对系统的架构有更清晰的概念。

七、建模练习题(用例模型)

选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:

请使用用户的视角,描述用户目标或系统提供的服务

粒度达到子用例级别,并用 include 和 exclude 关联它们

请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例

尽可能识别外部系统和服务

淘票票

携程

原文出自:火龙果软件


http://www.niftyadmin.cn/n/178457.html

相关文章

测绘转债上市价格预测 - 大肉又没我的份

测绘转债基本信息转债名称:测绘转债,评级:A,发行规模:4.066821亿元。正股名称:测绘股份,今日收盘价:14.97元,转股价格:13.48元。当前转股价值 转债面值 / 转…

仪表和中控车机GUI界面开发工具介绍

汽车中控IVI,也有人称之为车机,HUD+仪表盘(Cockpit)+车载娱乐信息系统(In-Vehicle Infotainment,IVI)三个组成了智能座舱域。中控的屏幕也是大小不一,比如问界M7就采用了10.25英寸的液晶仪表盘和15.6英寸的中控悬浮大屏设计,液晶仪表盘显示信息丰富。而这些液晶屏大部分是LC…

学习笔记-剖析k8s之Pod使用-3月day15

文章目录前言Pod字段volumeSecretConfigMapDownward APIService Account容器健康检查和恢复机制PodPreset(Pod预设置)小结附前言 作为Kubernetes项目里最核心的编排对象,Pod携带的信息非常丰富。其中包括资源定义(比如CPU、内存等…

java与Spring的循环依赖

java与Spring的循环依赖一、循环依赖是什么有什么危害二、循环依赖在Spring中的体现和类型三、Spirng如何解决循环依赖四、总结一、循环依赖是什么有什么危害 什么是循环依赖 java中循环依赖用一张图来说就是下图:在对象的创建过程中多个对象形成了依赖闭环&#xf…

GameFramework之Network网络模块Protobuf工具

前言 GameFramework(下面简称GF)Demo中,已经给我们提供了Network模块使用的protobuf使用的动态链接库protobuf-net.dll,但是GF并没有给我们提供protobuf相关的工具链,比如: 1.proto文件自动导出对应c#的Packet类和PacketHandler类 2.导出Packet类继承IReference以便使用…

如何高效的导出 百万级别的数据量 到 Excel?

文章目录如何高效的导出 百万级别的数据量 到 Excel?传统方式:代码实现:其他方式:1. 基于 Apache POI 的方式。2. 基于 EasyExcel 的方式。总结:结语如何高效的导出 百万级别的数据量 到 Excel? 传统方式: 使用基于流…

echarts:legend 图例形状,图例文字颜色与图例一致及图例文字多种颜色的配置

一、图例形状 这里看常用的两种,更多可以查看https://blog.csdn.net/rudy_zhou/article/details/111474179?spm1001.2014.3001.5502 1、icon包括: circle, rect, roundRect, triangle, diamond, pin, arrow, none legend: {top: 5%,left: center,item…

3x-movie之 4、Nginx部署

本文使用 Kuboard 进行 Nginx的部署操作。 Kuboard的部署可查看 3x-movie之 2、搭建K8S集群 本文创建前,k8s已创建 apps 的 namespace,应用均部署于此 namespace 部署计划 1、部署 1-2个nginx pod,使用 k8s service 暴露服务 2、nginx.conf …