当前位置: 首页 > news >正文

二、用例图

二、用例图

(一)、用例图的基本概念

1、用例图的定义:

用例图是表示一个系统中用例与参与者关系之间的图。它描述了系统中相关的用户和系统对不同用户提供的功能和服务。

用例图相当于从用户的视角来描述和建模整个系统,分析系统的功能与行为。

  1. 用例图的主要元素:

参与者、用例以及元素之间的关系。此外,用例图还可以包括注解和约束,也可以使用包将图中的元素组合成模块。

  1. 参与者:

1.1参与者的概念

参与者是与系统主体交互的外部实体的类元,描述了一个或一组与系统产生交互的外部用户或外部事物。

参与者位于系统边界之外,而不是系统的一部分

1.2确定参与者:名词

①主要业务参与者:主要从用例的执行中获得好处的关联人员

②主要系统参与者:直接同系统交互以发起或触发业务或系统事件的关联人员

③外部服务参与者:响应来自用例的请求的关联人员

④外部接收参与者:从用例中接收某些价值或输出的非主要的关联人员

1.3参与者的泛化关系

当系统中的几个参与者既扮演自身的角色,同时也有更一般化的角色时,可通过建立泛化关系来进行描述。

与类相似,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。

  1. 用例

2.1用例的概念

用例是类元提供的一个内聚的的功能单元,表明系统与一个或多个参与者之间信息交换的顺序,也表明了系统执行的动作

简单来说,用例就是某一个参与者在系统中做某件事从开始到结束的一系列活动的集合,以及结束时应该返回的可观测、有意义的结果,其中也包含可能的各种分支情况。

2.2用例与参与者

用例与参与者之间存在关联关系。

2.3系统边界

描述了系统的边界,以及描述了外部系统与系统之间交互的边界。

表示法:用封闭所有用例的矩形表示。

2.4用例的特征

用例是用例是由参与者启动的相对独立的、有可观测的执行结果的、是一个单元的动宾短语

2.5用例的粒度

用例粒度指的是用例组织信息的方式和细化程度

①在业务建模阶段,用例的粒度以每个用例描述一个完整的事情为宜。

②在概念建模阶段,用例的粒度以每个用例能描述一个完整的事件流为宜。

③在系统建模阶段,用例的粒度以一个用例能够描述参与者与计算机的一次完整交互为宜。

)、用例之间的关系

1、泛化关系

将特化的用例与一般化的用例联系起来。子用例继承了父用例的属性、操作和行为序列,并且可以增加属 于自己的附加属性和操作。

父用例同样可以定义为抽象用例。

2、依赖关系

(1)包含

1.1包含指的是

一个用例(基用例)可以包含其他用例(包含用例)具有的行为,其中包含用例中定义的行为将被插入基用例定义的行为中。

1.2包含的两个基本约束:

①基用例可以看到包含用例,并需要依赖于包含用例的执行结果,但是它对包含用例的内部结构没有了解;②基用例一定会要求包含用例执行。

2)扩展

2.1扩展指的是

一个用例(扩展用例)对另一个用例(基用例)行为的增强。

2.2在这一关系中,扩展用例包含了一个或多个片段,每个片段都可以插入到基用例中的一个单独的位置上,而基用例对于扩展的存在是毫不知情的。使用扩展用例我们就可以在不改变基用例的同时,根据需要自由地向用例中添加行为。

2.3扩展用例的使用包括四个部分:

①基用例:需要被扩展的用例

②扩展用例:提供所添加的行为序列的用例。

③扩展关系:使用虚线箭头表示,箭头指向基用例。

④扩展点:基用例中的一个或多个位置,表示在该位置会根据某条件来决定是否要中断基用例的执行,从而执行扩展用例中的片段。

  • 、参与者与用例以及用例之间的关系

  • 、用例描述与文档

1、用例描述概述

2、前置条件与后置条件

3、事件流

4、补充约束

5、用例文档实践

http://www.lryc.cn/news/515851.html

相关文章:

  • LWIP之一:使用STM32CubeMX搭建基于FreeRTOS的LWIP工程并分析协议栈初始化过程
  • 个性化电影推荐系统|Java|SSM|JSP|
  • UE5AI感知组件
  • 每日一学——日志管理工具(ELK Stack)
  • “智能筛查新助手:AI智能筛查分析软件系统如何改变我们的生活
  • DeepSeek v3为何爆火?如何用其集成Milvus搭建RAG?
  • linux-centos-安装miniconda3
  • html+css+js网页设计 美食 好厨艺西餐美食企业网站模板6个页面
  • QT-窗口嵌入外部exe
  • C#中使用系统默认应用程序打开文件
  • 如何在 Ubuntu 22.04 上配置 Logrotate 高级教程
  • java项目之校园管理系统的设计与实现(源码+文档)
  • 关于 webservice 日志中 源IP是node IP的问题,是否能解决换成 真实的客户端IP呢
  • Serializable接口
  • 如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
  • 【HDU】1089 A+B for Input-Output Practice (I)
  • lua库介绍:数据处理与操作工具库 - leo
  • 逆向入门(1)C篇-正儿巴经的第1个实验
  • vue数据请求通用方案:axios的options都有哪些值
  • 使用R语言绘制标准的中国地图和世界地图
  • 【PyTorch】迁移学习、数据增强
  • Lucas-Kanade光流法详解
  • python多张图片生成/合成gif
  • iptable限制多个端口出站
  • springmvc--请求参数的绑定
  • Redis查询缓存
  • 双馈风电DFIG并网系统次转子侧变流器RSC抑制策略研究基于LADRC和重复控制的方法
  • 国产编辑器EverEdit - 使用技巧:变量重命名的一种简单替代方法
  • 使用SSH建立内网穿透,能够访问内网的web服务器
  • JWT认证实战