01.用例图

用例图的4组成

①参与者(Actor)、用例(Use Case)、关系、系统

(一)参与者

  • 参与者是系统外部的一个实体,它以某种方式参与用例的执行过程
  • 参与者可以是人,也可以是事物,也可以是时间、气压、温度等环境因素或者其他系统等
  • 它在系统之外,与系统直接交互,可以用一个群体概念给参与者命名,反应该参与者的身份和行为(例如用户、管理员等)

(二)用例

  • 用例代表系统某项完整的功能,是动作步骤的集合
  • 系统的功能是通过参与者使用用例来实现的

(三)关系

  • 用例与参与者之间的关联关系
  • 参与者之间的泛化关系
  • 用例之间的包含关系、扩展关系、泛化关系
表达关系的符号
  • 关联关系(实线,带箭头)

  • 泛化关系(实线,空心箭头,指向功能少的一方)

  • 包含关系(虚线,实心箭头,《include》,箭头指向被包含的一方)(一定会发生)

    该用例 执行时 一定会发生 所指向用例

  • 扩展关系(虚线,实心箭头,《extend》,箭头指向扩展的一方)(可能会发生)

    该用例 可能会在 指向用例执行时 发生

泛化关系

用例与用例之间的泛化关系,通常表示同一业务目的(父用例)的不同技术实现(各个子用例)[子用例指向父用例]

用户与用户之间的泛化关系,(指着谁就拥有谁的用例)

(四)系统

系统是指一个软件系统,一项业务,一个商务活动或一台机器等

系统功能通过用例来表现(所有用例共同构成了整个系统)

其他

参与者+用例 构成主谓宾结构

参与者一定是用例的主语


02.用例文档

重点内容

  • 用例描述:简单描述用例的主要作用

  • 前置条件:参与者启动这个用例之前必须完成的所有用例

  • 后置条件:执行这个用例对系统所做的改变

  • 部署约束:即描述访问这个用例的所有约束

  • 事件流:描述参与者在完成用例的过程中发生的一系列交互行为,事件流有以下三种

    (1)基本事件流:

    (2)可选事件流:描述由参与者引起的变更

    (3)异常事件:描述由系统引起的变更

简化的用例文档

  • 用例编号
  • 用例名
  • 用例描述
  • 参与者
  • 前置条件
  • 后置条件
  • 事件路径
  • 扩展点
  • 补充说明

注意事项

前置条件:必须是系统在用例开始之前能检测到的。

后置条件:用例执行后对系统产生的所有改变

事件路径:书写尽量使用主动语句,以参与者或者系统为主语,不要涉及软件实现的细节(例如选择菜单、单击按钮或者修改数据库等)

事件路径的扩展点:一般是由参与者或系统引起的变更而形成的事件流


03.活动图

活动图用于描述系统、子系统、用例和程序模块中的工作流,帮助理解系统高层活动的执行过程

主要组件

建模活动图步骤

  • 定义活动图范围,确定开始和结束状态

  • 添加活动,建模主路径

  • 寻找分支和并行情况,建模扩展路径

  • 根据需要划分“游泳道”

    游泳道:将活动图的活动状态分组,每一组表示负责那些活动的业务组织

【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模的更多相关文章

  1. 2018.1.4 UML 第三章 用例图

    第三章 用例图 (1)参与者 是指系统以外的需要使用系统或与系统交互的外部实体,吧阔人.设备.外部系统等. (2)参与者之间的关系 泛化关系的含义是参与者的共同行为提取出来表示成通用行为,并描述成超类 ...

  2. uml活动图

    uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些 ...

  3. 重构之字段改名 UML行为图 用例图 时序图&协作图 状态图&活动图 依恋情结

    简单的使用一下字段改名 为什么使用字段改名: ​ 你在一个软件上做的工作越多,对这个软件的数据的理解就越深刻,你需要把这些理解融入到代码中.利用名字的解释作用,让代码更容易被理解. 如何找到该变量的所 ...

  4. 用rose画UML图(用例图,活动图)

    用rose画UML图(用例图,活动图) 首先,安装rose2003,电脑从win8升到win10以后,发现win10并不支持rose2003的安装,换了rose2007以后,发现也不可以. 解决途径: ...

  5. UML基础系列:用例图

    1. 概述 用例图(Use Case Diagram)描述“用户.需求.系统功能单元”之间的关系,是参与者所能观察和使用到的系统功能模型图. 用例图用于需求分析阶段 用例图包含6个基本元素:参与者(A ...

  6. UML 用例图,时序图,活动图的定义以及区别

    1.用例图,时序图,活动图的定义 1.用例图:  用例图描述了系统提供的一个功能单元.用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色" ...

  7. (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图

    面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...

  8. 产品需求文档写作方法(三)用例文档(UML用例图、流程图)

    在产品和技术领域里都有UML的技能知识,而对于产品人员的UML则更多的是指用例图,也就是我所称呼的用户流程图.在讲PRD文档写作的第二篇文章里,我提到了用户流程图的制作,实际上用户流程图是我在产品规则 ...

  9. UML uml高级知识之用例图

    uml高级知识之用例图 建模工具推荐使用 visio2010: include:选择菜单栏中的'UML'->单击’构造型‘->新建->构造型那里输入include->基类那里选 ...

  10. DataUml Design 介绍10 - DataUML 1.4版本功能(增加UML活动图和用例图)

    DataUml Design 1.4版本正式发布 1.解决软件自动关闭的问题 2.增加UML活动图和用例图功能 详细介绍稍后继续...........................

随机推荐

  1. SpringBoot.3中的aot.factories到底有什么用?和以前的spring.factories一样吗?

    首先,我们来澄清一下 aot.factories 和 spring.factories 之间的区别.这两个文件不仅名称不同,而且在功能上也存在显著差异.接下来,我们将深入探讨这两个文件的具体作用以及它 ...

  2. vue2基于 vue-cropper插件对图片裁剪

    <template> <div id="app"> <div class="model" v-show="model&q ...

  3. Android复习(三)清单文件中的元素

    <action> 向 Intent 过滤器添加操作. <activity> 声明 Activity 组件. <activity-alias> 声明 Activity ...

  4. jmeter测试rpc接口-使用dubbo框架调用

    1.下载用于测试dubbo的spring boot项目 参考文章: http://t.zoukankan.com/111testing-p-11297038.html https://zhuanlan ...

  5. AMCL 原理解读

    AMCL(adaptive Monte Carlo Localization)自适应蒙特卡洛定位,A也可以理解为augmented,,源于MCL算法的一种增强,是机器人在二维移动过程中概率定位系统,采 ...

  6. C++ 简易消息循环

    前言 本文将向大家介绍如何使用 C++ 的标准库实现一个异步和并发编程中都非常重要的编程模式:消息循环(Event Loop).尽管市面上存在不少库也提供了同样的功能,但有时候出于一些原因,我们并不想 ...

  7. Python一些常见的技巧及语句!!

    题记:关于遇到的一些python代码或者不清楚用法的函数.类别等我会在这里记录下来,方便日后学习和交流.之后研究生三年我会持续更新学习,可能得记录几千个吧. 1. copy.copy()和copy.d ...

  8. 在昇腾Ascend 910B上运行Qwen2.5推理

    目前在国产 AI 芯片,例如昇腾 NPU 上运行大模型是一项广泛且迫切的需求,然而当前的生态还远未成熟.从底层芯片的算力性能.计算架构的算子优化,到上层推理框架对各种模型的支持及推理加速,仍有很多需要 ...

  9. Dash 2.18.2版本更新:模式匹配回调性能大提升

    本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...

  10. vue-amap接入高德地图示例

    通过 CDN 的方式我们可以很容易地使用 vue-amap 写出一个 Hello world 页面. 什么是CDN? 定义是这样的:CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通 ...