UML用例图详解用例图(UseCaseDiagram)是用来显示一组用例参与者以及它们之间关系的图。它描述了

用例建模是实现系统需求分析的一个很好的方法,通过它可以使得系统分析员和客户之间能够更好地沟通系统的需求。

在介绍中我们说到用例图是显示一组用例、参与者之间关系的图。接下来的内容详细的阐述了什么是用例、什么是参与者以及他们之间有什么样的关系。

参与者也叫角色,它表示了系统的用户。这里需要注意的是:这里的用户并不特指人,如果我们开发的是公共API项目,那么这个时候,API的调用者就是我们的用户。

参与者指的不是用户本身,而是它在系统中所扮演的角色。举个例子来说,张三是淘宝店的店主,这个时候他参与淘宝的交互时,他既可以是店主这个角色,也可以作为买家在淘宝上购买东西,这个时候张三在系统中扮演了两个角色,这两个角色是两个不同的参与者即买家和卖家。

参与者的作用是:

我们先来看两个案例:

例:销售员每天下班前将当日销售情况通过邮件发送给销售经理,由销售经理将总的销售记录进行汇总录入到系统中。

这个时候和系统进行交互的人是销售经理,所以销售经理是系统的参与者。

参与者在我们代码中,本质上还是类,所以在参与者中也存在继承的关系(分析阶段一般用泛化关系来表示继承)。泛化关系(Generalization)表示一个一般性的参与者(父参与者)和另一个特殊参与者(子参与者)之间的联系。参与者之间的泛化关系用带空心箭头的实线来表示,箭头端表示父参与者。

在上面的图中,我们可以发现,管理员和普通用户都是用户的特殊化,所以可以抽象出一个父参与者来,管理员和普通用户都拥有用户的全部特性,同时还具有自己特殊的特性。

需求分析是软件开发流程中必不可少的一个环节,其主要目的就是建立待开发系统的模型,而用例则是建立这些的最好方法。

用例是对一组动作的描述,系统通过执行这些动作将对用例的参与者产生可以看到的结果。用来描述参与者可以感受到的系统服务或者功能。

在UML中,用例通常用一个椭圆形符号来表示:

在电商系统中,“加入购物车”就是一个用例,在社交软件中,“发送消息给某人”就是一个用例。

使用用例进行系统需求分析的特点:

一般情况下,我们如果向其他人描述一个一个功能的具体信息呢?我们通过文字来对功能进行讲解。用例图只是简单的用图形方式描述系统,关于功能的完整解说还是需要用文字来表达。所以,对于用例,我们需要由详细的说明,这样才能让其他人更加清楚的了解这个系统。这个时候我们就需要编写用例描述了。

通常不会对用例描述做硬性规定,但是一些复杂的或者是重要的用例还是要编写用例描述。用例描述一般包括用例编号、用例说明、前置条件、基本事件流、其他事件流、异常事件流和后置条件等。

下面是“加入购物车”用例的详细描述:

说完用例,我们来说说用例之间的关系

包含关系指的是两个用例之间,其中一个用例(基本用例)的行为包含了另外一个用例(包含用例)。

扩展关系是对基本用例的扩展,基本用例是一个完整的用例,即使没有子用例参与,也可以完成一个完整的功能。扩展的基本用例中存在一个扩展点,只有扩展点被激活时,子用例才会被执行。扩展关系是从扩展用例到基本用例的关系,它说明扩展用例如何插入到基本用例中。

扩展用例的使用场景:

泛化关系指的是一般(父用例)与特殊(子用例)的关系。当多个用例共同拥有一种类似的结构和行为时,可以将它们的共性抽象为父用例,其他的用例作为泛化关系中的子用例。

在一些用例图中,用例数量可能很多,这个时候就需要把这些用例组织起来。

创建用例图模型主要包含3部分内容:

这部分工作通常由系统分析员通过和客户沟通来完成。

要获取系统的用例,首先要找出系统的角色。

要获取系统角色可以在与客户沟通时,询问用户一些问题来识别角色。可以参考下列问题:

当我们获取到系统角色后,我们可以通过角色来列出它的用例。可以通过回答下列问题来识别用例:

将已经确定并细化的角色和用例放入用例图。再借助包含、扩展和泛化的关系给出用例之间的结构模型。

在系统需求分析中需要考虑系统用例图模型需要哪些视图、每个视图包含什么内容,以及视图中成员是否需构成包。

用例建模是实现系统需求分析的一个很好的方法,使得系统分析员和用户之间能够更好地沟通系统的需求。

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