UML—Use Case Diagram
来源:互联网 发布:中国网络巨头 编辑:程序博客网 时间:2024/05/29 14:28
用例图是软件需求分析到最终实现的第一步,用于描述人们希望如何使用一个系统。
用例图显示了谁是相关的用户、用户希望系统提供什么服务,以及用户需要为系统提供的服务。
Use Case Diagram是由参与者(Actor)、用例(Use Case)以及他们之间的关系构成的用于描述系统功能的动态视图。
用例图的组成
一:参与者(Actor)
系统外部并直接与系统进行交互的人、系统、子系统、类的外部实体的抽象。
每个参与者可以参与一个或多个用例,每个用例可以有一个或多个参与者。
二:用例(Use Case)
是参与者(角色)可以感受到的系统服务或功能单元。
它把系统当作一个黑盒子,并不关心系统内部是如何完成它所提供的功能,表达了整个系统对外部用户可见的行为。
三:关系
1> 参与者之间的关系
泛化关系(继承关系)
2>用例间的关系
1泛化关系(generalization)
2扩展关系(extend)
在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例(extension),原有的用例叫基础用例(Base)
应用:往往被用来处理异常或构建灵活的系统框架。
优点:降低系统的复杂度,有利于系统的扩展,提高系统的性能。
3包含关系(include)
用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为
作为自身行为的一部分。
优点:*不但可以避免在多个用例中重复的描述同一段行为,而且还可以避免在多个用力中对同一段行为描 述的不一致。
*提高了用例模型的可维护性,当需要对公共需求进行修改时,只需要修改一个用例而不必修改所有 与其相关的用例。
泛化关系
包含关系
类似于继承,把多个例子中的共性抽象成一个父用例,子用例在继承父用例的基础上可以修改。子用例之间是相互独立的。
把多个基础用例中的共性抽象为一个被包含的用例,被包含的用例就是基础用例中的一部分,基础用例的执行必然引起被包含用例的执行。
所有子用例都有相似的目的和结构,他们是整体上的相似
基础用例在目的上可以完全不同,单他们都有一段相似的行为,他们相似是部分的相似,而不是整体的相似
扩展关系
包含关系
基础用例的执行并不一定会涉及到扩展关系,扩展用例只会在一定条件下才会被执行
基础用例执行后,被包含的用例一定会执行
基础用例提供了一个或多个插入点,扩展用例为这些插入点提供了需要插入的行为
插入点只能有一个
没有扩展用例,扩展关系中的基础用例本身就是完整的
基础用例在没有被包含用例的情况下是不完整的存在
绘制用例图步骤
01.需求分析
02.识别参与者
03.识别用例
04.构件用例模型
- UML—Use Case Diagram
- UML----Use Case Diagram
- uml中的use case diagram
- UML::Use Case Diagram(UCD)
- 【UML】用例图Use Case diagram
- UML 用例图 use case diagram
- Use Case Diagram(用例图)——UML
- 【UML学习】用例图 —— Use Case Diagram
- UML——Use Case Diagram(用例图)
- UML总结—用例图(Use Case Diagram)
- UML总结—用例图(Use Case Diagram)
- UML建模学习5:Use-case Diagram
- 【UML】用例图(Use Case Diagram)
- Visual Studio 2010 架构图之——用例图(UML Use Case Diagram)
- [读书笔记-- Learning UML 2.0, OReilly, April 2006] Use case diagram
- UML研发--- Use case, Activity, Class Diagram 的协同使用
- Visual Studio UML Use Case Diagram(1)
- Visual Studio UML Use Case Diagram(2)
- 谈入职一年感想
- Leetcode409. Longest Palindrome
- JavaScript两大定时器
- 【数据结构】栈的队列的实现
- POJ 2728Desert King
- UML—Use Case Diagram
- margin,padding,position固定的值都是轻松的应用百分比呢?
- ImageView控件属性分析
- mac-dev
- Mybatis传多个参数(三种解决方案)
- 线性代数学习笔记7
- Redis 集群教程
- The Suspects POJ1611(简单并查集)
- C++11系列-什么是C++11