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. centos7 nginx+php7yum安装

    centos7 nginx+php7yum安装. 一.安装nginx 1.安装yum源 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/ ...

  2. C#/.NET/.NET Core优秀项目和框架2024年9月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍.功能特点.使用方式以及部分功能截图 ...

  3. Nuxt3+PM2集群模式启动及勘误

    起因 之前写过一篇 Nuxt3 的文章,Nuxt3 环境变量配置,用到了 PM2,但是里面的一些配置存在问题,最近有空又验证了一下,这里做一个勘误. 问题 PM2 的启动配置中有一项是exec_mod ...

  4. Nuxt.js 应用中的 modules:done 事件钩子详解

    title: Nuxt.js 应用中的 modules:done 事件钩子详解 date: 2024/10/16 updated: 2024/10/16 author: cmdragon excerp ...

  5. 一些新奇的玩意【php篇--持续更新】

    人不进步就等于退步! 接触越多的人以及事就能学到更多的东西. 以下仅为本人记录的一些新奇的东西,不喜勿喷! 1.??运算符号,在新的项目中突然发现很多红线报错,还以为是错误!看了下,是??运算的问题, ...

  6. vi指令总结

    VI常用技巧 ​ VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐 ...

  7. 经验总结之 _DEBUGGER _01 _Invalid coercion null-node{} as xsstring _20210909

    经验总结之 _DEBUGGER _01 _Invalid coercion null-node{} as xsstring _20210909 今天喜提一个bug,报错情况如下: 该项目使用的是 sp ...

  8. 安装了多个python版本指定pip安装目录

    #检查库安装的目录import os import numpy as np import pandas as pd print(os.path.dirname(np.__file__)) print( ...

  9. Vulhub WebLogic漏洞复现

    目录 前言 任意文件上传漏洞(CVE-2018-2894) 管理控制台未授权RCE漏洞(CVE-2020-14882 & CVE-2020-14883) 未授权RCE漏洞(CVE-2023-2 ...

  10. Rework:每个程序员都应该读的一本书

    来源: 萌萌的博客 每一个程序员都有改变世界的梦想,他们不甘平凡,他们想要与众不同,他们想要创立世界上最酷的公司,那具体该如何做呢?风靡全球的<Rework>将告诉你答案. 37signa ...