【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(二)

简介: 【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(二)

6. 用例与用例之间的关系



(1) 泛化关系



定义 : 一个用例可以被列举为一个或多个子用例,父用例和子用例之间是泛化关系; 类似于类中的继承关系, 子用例是父用例的特殊形式, 子用例从父用例中继承行为和属性, 还可以添加行为或覆盖, 改变已继承的行为.


泛化关系表示 : 用例之间的泛化用带空心的箭头表示, 箭头方向指向父用例, 下图中系统管理员与查询用户是关联关系, 查询用户是父用例, 查询经理 查询员工是子用例;

image.png







(2) 包含关系



用例之间的包含关系 : 一个用例的行为包含了另一个用例.基础用例可以看到包含用例, 并依赖与包含用例的执行结果, 但是二者不能访问对方的属性.


包含关系表示 : UML中包含关系表示为虚线箭头, 并且在虚线箭头上有<<include>>字样, 箭头指向被包含的用例.

image.png







用例包含使用场景 :


a. 公用用例 : 为了复用用例, 当多个用例有重复的功能, 可以将重复的功能分解到另一个用例中, 将这个分解出来的用例与原来的多个用例建立包含关系.


b. 分解用例 : 为了简化用例, 当一个用例包含的功能太多的时候, 需要将用例分解成一个个子用例, 用例之间建立包含关系.




例子 : 管理员 修改用户, 删除用户 都要查询用户, 如果每次都编写事件序列, 那么用例会很复杂, 可以使用包含关系使 修改用户 删除用户用例 包含 查询用户;

image.png







(3) 扩展关系



定义 : 一个用例可以被定义为基础用例的增量扩展, 称作扩展关系.


作用 : 扩展关系可以把新行为插入到已有的用例的方法中.


扩展点 : 基础用例提供了一组扩展点,不必了解扩展用例, 这些扩展点中可以添加新的行为, 扩展用例提供了一组插入片段, 这些片段可以插入到基础用例的扩展点中;


扩展关系表示 : 虚线箭头指向基础用例, 箭头上加上<<extend>>;

image.png







基础用例与扩展用例关系 : 基础用例没有扩展用例也是完整的, 这一点与包含用例不同, 一个用例可以由多个扩展点, 每个扩展点可以出现多次.


扩展用例执行条件 : 一般情况下基础用例执行, 不会涉及到扩展用例行为, 如果特定条件发生, 扩展用例才会执行, 扩展关系为处理异常或构建灵活系统框架提供一种有效方法,发生的特定条件就是扩展点.

image.png



案例介绍 : 学生可以 查询图书, 借阅图书, 归还图书.


引入扩展关系 : 上面的用例图模型已经建好, 后来加上了如果借阅超期, 就要缴纳罚金, 更改用例图中的归还图书, 会使用例变得复杂, 因此可以在归还图书中简历扩展点, 在 图书超期 的特定条件下 , 将执行缴纳罚金 扩展用例;








四. 用例建模技术



1. 对语境进行建模



内部事物与外部事物 : 一个系统中, 会有一些事物存在其内部, 一些事物存在其外部.


语境定义 : 存在于系统内部的事物的任务时完成系统外部事物所期望的行为, 内部事物与外部事物存在交互,系统外部事物与内部事物构成了系统的语境, 语境又是系统的环境.


建模重心 : 用例视图是对系统的语境进行建模的,强调的是系统的外部事物, 即外部参与者;




对语境建模注意的方法 :


a. 外部参与者分类 :


从系统得到帮助以完成任务的组;


执行系统功能时所必须的组;


与外部硬件或其他软件系统进行交互的组;


为了管理维护系统而执行某些辅助功能的组.


b. 层次 : 将参与者组织成泛化/特殊化的结构层次;


c. 提供构造性 : 在需要的地方, 为每个参与者提供构造方法;


d. 通信路径 : 将参与者放到用例图中, 要说明参与者与用例之间的通信路径;




2. 对需求建模



需求 : 根据用户对产品功能的期望, 提出产品外部功能的描述;


需求分析 : 获取系统需求, 归纳系统索要实现的功能, 考虑系统做什么, 不去考虑怎么做;




对需求建模方法 :


a. 语境建立 :识别参与者, 建立系统语境;


b. 系统行为 : 考虑每个参与者期望的行为或需要系统提供的行为;


c. 命名原则 : 将公共行为命名为用例;


d. 包含扩展用例 : 确定供其他用例使用的用例和扩展其他用例的用例;


e. 建模对象 : 在用例图中对 用例 参与者 和 它们之间的关系建模;


f. 需求描述 : 注释用例图要描述非功能需求;




3. 用例粒度



学生去图书馆借书, 首先登陆系统, 输入账号, 输入密码, 提交. 但上面的几部每个都可以算作一个用例, 但是综合起来也可以将三部算作一个用例.


针对需求分析人员来说 : 用例粒度的粗细可以根据实际情况分析;


针对开发人员来说 : 用例的粒度越细越好;


image.png



目录
相关文章
|
30天前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
71 0
|
3月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
40 0
|
6月前
|
设计模式 IDE 测试技术
【设计模式——学习笔记】设计模式前置知识:UML类图入门
【设计模式——学习笔记】设计模式前置知识:UML类图入门
34 0
|
9月前
|
测试技术 uml 开发者
UML基础与应用之用例视图
UML基础与应用之用例视图
81 0
|
10月前
|
数据可视化 测试技术 uml
UML的五种视图——Rational Rose的四种视图
UML的五种视图——Rational Rose的四种视图
289 0
|
11月前
|
存储 Java 应用服务中间件
|
11月前
|
测试技术 数据库 uml
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
607 0
【UML建模】(8) UML建模之组件图
|
网络协议 uml
【UML建模】(7) UML建模之部署图
部署图是运行时进行处理的节点以及在节点上存在制品的配置的图。它阐述了在实际应用中软件和它的运行环境的关系,并且描述了软件部署在硬件上的具体方法。
387 0
【UML建模】(7) UML建模之部署图
|
测试技术 uml
【UML建模】(6) UML建模之状态机图
状态机图展示了一个对象如何根据当前状态对不同事件做出反应的动态行为。状态机图是一种行为图。
731 0
【UML建模】(6) UML建模之状态机图