UML图详解(二)——用例图

用例图(UseCaseDiagram):主要用于描述系统的行为及各种功能之间的关系,是描述参与者(Actor)与用例以及用例与用例之间关系的图。

用例图=参与者+用例+关系

用例图最常用来描述系统以及子系统。

通俗的来说:用例图与具体实现并不关联,从用户和外部系统的角度,分析和考察系统的行为,并通过参与者者与系统之间的交互关系描述系统对外提供的功能特性。

参与者可以是人或其他外界系统。

参与者时用力的启动者,参与者处于用例的外部并且能够初始化一个用例并参与用例的执行过程,但它并不是系统的一部分。

每个参与者可以参与一个或多个用例。

表示方式:

UML2.O表示参与者的方法:

发现参与者,可以根据以下问题来寻找系统的参与者:

谁或什么在使用系统;

交互中,他们扮演什么角色;

谁安装系统;

谁启动和关闭系统;

谁维护系统;

与该系统交互的是什么系统;

谁从系统获取信息,谁提供信息给系统;

参与者对于系统而言是外部的,它们在系统控制之外。

参与者直接同系统交互,可以帮助定义系统边界。

参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或事物。

一个人和事物与系统发生交互时,可以扮演多个角色。例:某个研究生担任某教授的助教,从职业的角度看,他扮演了两个角色----学生和助教。

每个参与者需要有一个具有业务语义的名字。

每个参与者必须有简短的描述,从业务角度描述参与者是什么。

参与者可以具有分栏,表示参与者属性和它可接受的事件。

参与者可以使用用泛化关系来描述多个参与者之间的公共行为。

用例是一组动作序列(业务工作流程)的描述,系统执行该动作序列为系统的参与者产生一个可观察的结果。

用例反映用户的需求。

用例是一个叙述型的文档,用来描述一个参与者使用系统完成某个事件时的事情发生顺序。(描述参与者与系统的交互)

用例是系统的使用过程,是对系统的用户功能需求的描述,用例表达了系统的功能和所提供的服务。

识别用例的方法:从分析系统的参与者开始,考虑每个参与者是怎样使用系统的。

以下几个问题可以帮助识别用例:<1>特定参与者希望系统提供什么功能;<2>系统是否存储和检索信息,若是,这个行为由哪个参与者触发;<3>当系统改变状态时,通知参与者吗;<4>存在影响系统的外部事件吗;<5>是哪个参与者通知系统这些事。

是参与者与用例之间最简单常用的关系

把几个用例的公共步骤分离成一个单独被包含用例;包含用例称为客户用例,被包含用例称为提供者用例。

用例A包含用例B,将A称为基用例,B称为被包含用例。

包含关系表示基用例会用到被包含用例。被包含用例的事件流在基用例的某个点处插入到基用例的事件流中。

包含关系表示:

基用例被连接在虚线箭头的尾部,箭头指向被包含用例,并在虚线处添加一个《include》标签以表示扩展关系。

使用场景:

如果两个用例有大量一致功能,则可以将这个功能分解到另一个功能。其他用例可以和这个用例建立包含关系;

一个用例的功能太多时,可以用包含关系建模两个小用例。

扩展使得每个用例可以通过扩展用例向基用例中添加额外的行为来扩展基用例的功能。

用例A扩展了用例B,那么A称为扩展用例或子用例,B表示为基用例。

扩展用例A的事件流在一定的条件下按照相应的扩展点插入到及用例中,这就需要在及用例中定义一至多个已命名的扩展点。(这和继承关系不一样)

选用扩展关系可以把一些可选的操作独立封装在另外的用例中,避免基用例过于复杂。

扩展用例被连接在虚线箭头的尾部,箭头指向基用例,并在虚线处添加一个《extend》表示扩展关系。

泛化关系是两个用例或两个参与者之间的关系。

泛化关系其实可以通俗理解为面向对象关系中的继承。将拥有一种类似的结构和行为的多个用例中的共性抽象为父用例,子用例继承父用例中的所有。

用实线加上空心的箭头表示,其中子用例被连接在箭头的尾部,箭头指向父用例。

相同点:

都是两个用例之间的关系。(只有泛化关系不仅可以表示两个用例,还可以是两个参与者之间)

不同点:

(1)条件性:

包含关系是无条件的

扩展关系是有条件的

(2)插入原则:

包含关系中被包含用例的事件流一定插入到及用例中去。

扩展关系可以根据一定条件来决定是否将扩展用例的事件流插入到基用例事件流。

(3)插入点:

包含关系中插入点只有一个。

扩展关系的插入点可以有多个。

需求:一个系统中的每个功能都有它的所属范围。并且在决定参与者、设计一个系统、子系统或某个部件的时候,划分系统边界对于决定系统的规模和分配责任是十分重要的。

系统边界(SystemBoundary)的表示:

UML中使用矩形框来表达系统的边界,在矩形框的左上方防止系统的名字。

THE END
1.UML用例图练习题及参考答案UML-用例图练习题及参考答案下载文档原格式(PPT原格式,共7页) 付费下载相关文档选课系统用例图 uml用例图 uml用例图实例 uml用例图实例讲解 uml状态图和活动图UML网上学生选课系统程序设计 面向对象的选课系统 选课系统用例图复习资料 uml网上选课系统 选课系统用例图 PPT 网上选课系统 学生选课系统完整的UML建模 选课...https://m.360docs.net/doc/d5027840af02de80d4d8d15abe23482fb4da0208.html
1.UML用例图实例,UML用例图实例UML用例图包括资源rose的uml用例图实例讲解_PDF 浏览:142 ###UML用例图详解及应用案例 ### 一、UML用例图概述 **用例图**是UML(统一建模语言)中的一种图形化表示方式,主要用于描述系统的功能需求,即系统需要为用户提供什么样的服务。它能够直观地展现出系统的主要... UML...https://download.csdn.net/download/A552426320/3362183
2.UML—用例图,UseCase用例图是描述用例、参与者以及它们之间关系的图。 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为。 用例图定义和描述了系统的外部可见行为,是分析、设计直至组装测试的重要依据。 用例图由如下几个概念组成: 参与者actor:角色,系统的用户; ...https://www.jianshu.com/p/3cde67aed8e9
3.UML用例图:参考MicrosoftLearn读取用例图 请参见 在Visual Studio 旗舰版 中,“用例图”用于概括使用您的应用程序或系统的用户以及该应用程序或系统的用途。 若要创建 UML 用例图,请在**“体系结构”菜单上,单击“新建关系图”**。 用例图重点描述用户需求。 它描述需求、用户和主要组件之间的关系。 它不会详细描述用户需求;在可链接到每个...https://docs.microsoft.com/zh-cn/previous-versions/dd409427(v=vs.110)
4.UML与Rose建模实用教程PDF下载Java知识分享网其中,第一部分包括软件工程与面向对象方法、UML概述、Rational Rose概述,第二部分包括UML概念模型、UML中的事物、UML中的关系、用例图、包图、类图、协作图、顺序图、状态图、组件图、活动图、部署图,第三部分包括统一软件开发过程,需求分析,系统分析,系统设计,系统实现、测试及部署,第四部分包括开发实例——博客网站...http://www.java1234.com/a/javabook/javabase/2021/0708/20430.html
5.UML系列内容之五:一个用例图的案例UML系列内容之五:一个用例图的案例 本文最早发布在本站的公众号:优雅的代码,共计14篇文章,将陆续转载到本站中。 微信搜索本站订阅号:优雅的代码。欢迎关注。 这篇文章将介绍用例图的一个案例——图书馆借阅系统。 案例结合某校实际情况,但数据和背景纯属虚构,仅为了说明问题。https://www.biye5u.com/article/prog/se/2022/6552.html
6.用例图教程(示例指南)腾讯云开发者社区Actor和用例之间的关联 Actor的泛化 扩展(extend)两个用例之间的关系 包括(include)两个用例之间的关系 如何创建用例图 到目前为止,您已经了解了在绘制用例图时至关重要的对象,关系和指南。我将以银行ATM系统为例解释各种流程。这是ATM的用例图模板。在学习UML时,ATM系统被广泛用作例子。ATM用例图是非常经典和流行...https://cloud.tencent.com/developer/article/1169876
7.UML用例图51CTO博客UML用例图 一、什么是用例图 用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者。通过用例来捕获系统的需求,在结合参与者进行系统功能需求的分析和设计 二、用例图的定义 由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图...https://blog.51cto.com/u_15903651/5957384