【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
01.用例图
用例图的4组成
①参与者(Actor)、用例(Use Case)、关系、系统
(一)参与者
- 参与者是系统外部的一个实体,它以某种方式参与用例的执行过程
- 参与者可以是人,也可以是事物,也可以是时间、气压、温度等环境因素或者其他系统等
- 它在系统之外,与系统直接交互,可以用一个群体概念给参与者命名,反应该参与者的身份和行为(例如用户、管理员等)
(二)用例
- 用例代表系统某项完整的功能,是动作步骤的集合
- 系统的功能是通过参与者使用用例来实现的
(三)关系
- 用例与参与者之间的
关联关系 - 参与者之间的
泛化关系 - 用例之间的
包含关系、扩展关系、泛化关系
表达关系的符号
关联关系(实线,带箭头)
泛化关系(实线,空心箭头,指向功能少的一方)
包含关系(虚线,实心箭头,《include》,箭头指向被包含的一方)(一定会发生)
该用例 执行时 一定会发生 所指向用例
扩展关系(虚线,实心箭头,《extend》,箭头指向扩展的一方)(可能会发生)
该用例 可能会在 指向用例执行时 发生
泛化关系
用例与用例之间的泛化关系,通常表示同一业务目的(父用例)的不同技术实现(各个子用例)[子用例指向父用例]


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

(四)系统
系统是指一个软件系统,一项业务,一个商务活动或一台机器等
系统功能通过用例来表现(所有用例共同构成了整个系统)
其他
参与者+用例 构成主谓宾结构
参与者一定是用例的主语
02.用例文档
重点内容
用例描述:简单描述用例的主要作用
前置条件:参与者启动这个用例之前必须完成的所有用例
后置条件:执行这个用例对系统所做的改变
部署约束:即描述访问这个用例的所有约束
事件流:描述参与者在完成用例的过程中发生的一系列交互行为,事件流有以下三种
(1)基本事件流:
(2)可选事件流:描述由参与者引起的变更
(3)异常事件:描述由系统引起的变更
简化的用例文档
- 用例编号
- 用例名
- 用例描述
- 参与者
- 前置条件
- 后置条件
- 事件路径
- 扩展点
- 补充说明
注意事项
前置条件:必须是系统在用例开始之前能检测到的。
后置条件:用例执行后对系统产生的所有改变
事件路径:书写尽量使用主动语句,以参与者或者系统为主语,不要涉及软件实现的细节(例如选择菜单、单击按钮或者修改数据库等)
事件路径的扩展点:一般是由参与者或系统引起的变更而形成的事件流
03.活动图
活动图用于描述系统、子系统、用例和程序模块中的工作流,帮助理解系统高层活动的执行过程
主要组件

建模活动图步骤
定义活动图范围,确定开始和结束状态
添加活动,建模主路径
寻找分支和并行情况,建模扩展路径
根据需要划分“游泳道”
游泳道:将活动图的活动状态分组,每一组表示负责那些活动的业务组织
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模的更多相关文章
- 2018.1.4 UML 第三章 用例图
第三章 用例图 (1)参与者 是指系统以外的需要使用系统或与系统交互的外部实体,吧阔人.设备.外部系统等. (2)参与者之间的关系 泛化关系的含义是参与者的共同行为提取出来表示成通用行为,并描述成超类 ...
- uml活动图
uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些 ...
- 重构之字段改名 UML行为图 用例图 时序图&协作图 状态图&活动图 依恋情结
简单的使用一下字段改名 为什么使用字段改名: 你在一个软件上做的工作越多,对这个软件的数据的理解就越深刻,你需要把这些理解融入到代码中.利用名字的解释作用,让代码更容易被理解. 如何找到该变量的所 ...
- 用rose画UML图(用例图,活动图)
用rose画UML图(用例图,活动图) 首先,安装rose2003,电脑从win8升到win10以后,发现win10并不支持rose2003的安装,换了rose2007以后,发现也不可以. 解决途径: ...
- UML基础系列:用例图
1. 概述 用例图(Use Case Diagram)描述“用户.需求.系统功能单元”之间的关系,是参与者所能观察和使用到的系统功能模型图. 用例图用于需求分析阶段 用例图包含6个基本元素:参与者(A ...
- UML 用例图,时序图,活动图的定义以及区别
1.用例图,时序图,活动图的定义 1.用例图: 用例图描述了系统提供的一个功能单元.用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色" ...
- (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- 产品需求文档写作方法(三)用例文档(UML用例图、流程图)
在产品和技术领域里都有UML的技能知识,而对于产品人员的UML则更多的是指用例图,也就是我所称呼的用户流程图.在讲PRD文档写作的第二篇文章里,我提到了用户流程图的制作,实际上用户流程图是我在产品规则 ...
- UML uml高级知识之用例图
uml高级知识之用例图 建模工具推荐使用 visio2010: include:选择菜单栏中的'UML'->单击’构造型‘->新建->构造型那里输入include->基类那里选 ...
- DataUml Design 介绍10 - DataUML 1.4版本功能(增加UML活动图和用例图)
DataUml Design 1.4版本正式发布 1.解决软件自动关闭的问题 2.增加UML活动图和用例图功能 详细介绍稍后继续...........................
随机推荐
- 使用hexo进行github博客搭建
1.你必须建一个存储库,这个存储库要和你的github名称一致(不然就会404),如下图: 2.如果是window配置,需要安装git和node.js 3.下载hexo npm config set ...
- js中有哪些定时器 , 它们的用法和区别?
js有setInterval() 间隔函数 和 setTimeout()延迟函数 2 种定时器 1. setInterval间隔函数 setInterval() 方法可按照指定的周期(以毫秒计)来调用 ...
- CSharp的Where底层实现
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...
- logback.xml文件
<?xml version = "1.0" encoding="UTF-8"?> <configuration debug = "f ...
- 0201 为什么 Pytorch 定义模型要有一个 init 和一个 forward,两者怎么区分
https://www.bilibili.com/video/BV1GB4y1H7hq?spm_id_from=333.999.0.0&vd_source=b1ce52b6eb3a9e6c23 ...
- Buffer和Channel
IO 和 NIO 区别: 可简单认为:IO 是面向流的处理,NIO 是面向块(缓冲区)的处理 面向流的 I/O 系统一次一个字节地处理数据. 一个面向块(缓冲区)的 I/O 系统以块的形式处理数据. ...
- SSIS作业提示所请求的 OLE DB 访问接口 Microsoft.ACE.OLEDB.12.0 尚未注册
没有跨不过的坎,也没有解决不了的问题,那些曾经没有把我们打死的困难,最终都会让我们变得更加强大 最近在使用ETL获取Excel数据时,在本地运行没有任何问题,部署到服务器后,使用作业运行时便一直提示以 ...
- React h5架构
目录 目录 初始化项目架构 React h5架构 工具 技术栈 搭建流程 一.Vite构建项目 二.添加 git 三.运行项目 四.配置 Eslint 校验代码 五.配置 Prettier 格式化代码 ...
- 每日学学Java开发规范,集合处理(附阿里巴巴Java开发手册(终极版))
前言 每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量. 想细看的可以去 ...
- Windows编译运行webrtc全过程,并实现屏幕共享
文章分为三部分,代码获取/编译/运行. 第一步获取代码,打开cmd执行以下指令即可 set WORKSPACE=E:\webrtc mkdir %WORKSPACE% cd /d %WORKSPACE ...