深入理解用例建模
uml的用例模型

UML(Unified Modeling Language)统一建模语言是一种用于对软件密集系统进行可视化建模的标准化建模语言。
用例模型是UML中的一个重要概念,主要用于描述系统的功能需求和行为。
用例模型主要由三个部分组成:参与者(Actor)、用例(Use Case)和它们之间的关系。
参与者(Actor):参与者是与系统进行交互的用户或其他系统,可以是外部实体或内部实体。
用例(Use Case):用例描述了系统执行的功能,即参与者与系统之间的交互行为。
一个用例通常描述了一个单一的功能或业务过程。
关系:关系描述了参与者与用例之间的交互,包括关联(Association)、泛化(Generalization)和依赖(Dependency)等。
在构建用例模型时,通常首先识别参与者,然后确定系统的功能需求,为每个功能需求创建一个用例。
接着,通过添加关系来描述参与者与用例之间的交互。
用例模型的主要目的是帮助开发人员理解系统的功能需求和行为,以便更好地设计和实现系统。
通过用例模型,开发人员可以更好地理解系统的边界、参与者与系统的交互以及系统的功能需求,从而更好地进行系统设计和开发。
软件工程之用例模型总结

软件工程之用例模型总结一、用例模型1.用例概念用例:使用系统时发现的功能性需求,不应过于复杂,简单的来说就是你希望系统能够有什么功能,能够增加系统的价值。
用例模型包括用例描述和用例图,我们主要把中心放在用例描述上。
用例模型包含参与者和场景,场景包括成功场景和失败场景。
因此用例模型中有多个场景;每个场景是一个用例。
用例必须注重为用户提供可观察的返回值,就是系统触发了一个用例之后能够给用户带来什么。
一般用例都是黑盒用例,即不考虑如何实现。
e Case Description每个用例都有一个描述。
怎样确定用例?(1)确定一个功能;(2)写一个用例;(1)主要参与者:调用系统服务完成目标的人。
(2)次要参与者:为系统提供服务的人。
(3)写出每个项目相关人员的理想需求,从中分析功能。
(4)PreCondition:执行到这个用例之前必须为真的情况,比如必须已成功登录或通过验证。
(5)PostCondition:成功执行完此用例后的情况,比如登录用例的后置条件是成功登录(不考虑其他失败情况)。
(6)main flow:将最理想的步骤列出。
一般main flow步骤如下:(1)参与者发生动作。
(2)系统验证。
(3)返回结果。
(7)extension flow:扩展步骤,通常格式为:(1)系统检测到**有问题;在main flow中的第一步扩展,则用1a,1b,1c;3.如何确保正确的用例EBP原则:一般用例都需要遵守这个规则,即确定主要用例。
用例中的主要用例是一些重复做但是有意义的事,比如收银员收钱,重复多次是有意义的,因为钱收得多了;但是像登录系统,这种做100次却没有意义的用例,不能被称为主要用例;(1)EBP(基本业务过程)原则的用例写入;(2)如果要写编辑A,删除A,添加A,可以合并成“管理A”;4.用例图每个用例描述都是一个用例,左边是主要参与者(希望系统为他提供服务)和次要参与者(提供给系统服务的人);在次要参与者中不能有数据库,因为在用户角度看是不知道系统有数据库的;关系:(1)泛化关系,在参与者和用例中都能泛化。
uml用例需求模型的基本概念、主要内容、设计

uml用例需求模型的基本概念、主要内容、设计
UML用例需求模型是软件开发过程中的一种重要工具,它主要用于描述系统的功能需求和用户与系统之间的交互关系。
该模型包含了多个不同的元素,包括用例、参与者、关系、扩展点等,这些元素共同构成了一个完整的需求模型。
在UML用例需求模型中,用例是最基本的元素,用于描述系统的功能需求。
每个用例都由一个或多个参与者触发,并且完成一定的工作。
参与者是系统的外部用户或其他系统,用于触发系统中的用例。
关系描述了参与者和用例之间的交互关系,包括关联、泛化、包含和扩展等。
扩展点用于描述用例的可扩展性,允许系统在未来的发展中增加新的功能需求。
在进行UML用例需求模型的设计时,需要遵循一些基本原则,包括用例应该具有可测性、粒度应该适当、应该避免用例之间的重复等。
此外,还需要注意用例的关注点应该集中在用户需求上,而不是系统实现细节上。
总的来说,UML用例需求模型是软件开发过程中非常重要的一部分,它可以帮助开发人员更好地理解用户需求,从而更加准确地设计和实现系统功能。
- 1 -。
用例建模

10 1-10
ATM例子 寻找参与者 – ATM例子
1)如果我们所要定义的系统边界仅限于ATM机本身, 如果我们所要定义的系统边界仅限于ATM机本身, ATM机本身 那么后台服务器就是一个外部的系统, 那么后台服务器就是一个外部的系统,可以抽象为一个 参与者。 参与者。
2)如果我们所要定义的系统边界扩大至整个银行系统, 如果我们所要定义的系统边界扩大至整个银行系统, ATM机和后台服务器都是整个银行系统的一部分 机和后台服务器都是整个银行系统的一部分, ATM机和后台服务器都是整个银行系统的一部分,这时 候后台服务器就不再被抽象成为一个参与者。 候后台服务器就不再被抽象成为一个参与者。
17 1-17
使用角色和用例图组织你的用例
用例图是在一个图上显示了多个用例, 用例图是在一个图上显示了多个用例 它是一组用例的 全景图. 有时候角色我们称呼为用户,但是常常会指定一 全景图 有时候角色我们称呼为用户 但是常常会指定一 个具体的角色名称(比如 顾客).用户或者说角色位于系 比如:顾客 个具体的角色名称 比如 顾客 用户或者说角色位于系 统边界之外. 而系统在边界内. 统边界之外 而系统在边界内 角色也可以指非人类的外 部系统,但有时候许多人对这一点迷惑不解 但有时候许多人对这一点迷惑不解,我们已经发 部系统 但有时候许多人对这一点迷惑不解 我们已经发 现使用机器人这种图标可以消除这种迷惑误解. 现使用机器人这种图标可以消除这种迷惑误解 在用例和角色之间的连线表示这个角色是用例的执行者. 在用例和角色之间的连线表示这个角色是用例的执行者 这根连线也表示责任.比如 一个Customer(顾客 指向用 比如:一个 顾客)指向用 这根连线也表示责任 比如 一个 顾客 表示这个顾客负责执行check out(结帐 结帐) 例check out,表示这个顾客负责执行 表示这个顾客负责执行 结帐 可以有多个角色指向同一个用例.表示这个用例与多个 可以有多个角色指向同一个用例 表示这个用例与多个 角色关联.同样的 一个用户可以拥有多个角色.同一个用 同样的,一个用户可以拥有多个角色 角色关联 同样的 一个用户可以拥有多个角色 同一个用 户可以是一个职员,也可能是一个管理员 也可能是一个管理员. 户可以是一个职员 也可能是一个管理员
用例模型知识点总结

用例模型知识点总结一、概述用例模型(Use Case Model)是一种对系统需求的抽象描述,用来捕获系统和外部实体之间的交互。
用例模型是软件开发过程中的重要工具,能够帮助团队理解系统需求,设计系统架构,定义测试用例等。
本文将对用例模型的基本概念、构建过程和应用场景进行总结,以帮助读者更好地理解和应用用例模型。
二、基本概念1. 用例(Use Case):用例是用例模型的基本要素,它描述了系统和外部实体之间的交互。
用例通常由一个或多个参与者(Actor)和一个或多个动作(Action)组成,描述了系统如何响应外部事件。
例如,“用户登录”、“用户发表文章”等都可以作为一个用例。
2. 参与者(Actor):参与者是与系统交互的外部实体,可以是人、其他系统或设备等。
在用例模型中,每个参与者都有一个或多个关联的用例,用例描述了参与者与系统的交互过程。
3. 执行路径(Flow of Events):执行路径描述了在一个特定情景下,系统和参与者之间的交互过程。
它包括了用例的基本流程(Main Flow of Events)和一些可选的或替代的流程(Alternative Flow of Events)。
4. 扩展点(Extension Point):扩展点是用例模型中的一个重要概念,用于描述用例的可扩展性。
通过定义扩展点,系统可以在特定条件下触发额外的行为,从而实现用例的扩展。
5. 系统边界(System Boundary):系统边界是用例模型的一个重要概念,用于描述系统和外部实体之间的边界。
在系统边界之内的交互被视为系统行为,而在系统边界之外的交互被视为外部事件。
三、构建过程构建用例模型的过程通常包括以下几个步骤:1. 确定参与者:首先,团队需要确定系统的参与者,包括主要参与者和次要参与者。
主要参与者通常是系统的最终用户或主要功能模块,而次要参与者通常是其他系统或设备。
2. 确定用例:然后,团队需要确定系统的用例,包括主要用例和次要用例。
业务建模及用例建模

业务建模及用例建模1. 业务建模业务建模是指通过对企业业务流程的描述和分析,来描绘企业的运营过程和业务逻辑关系。
它可以帮助企业理清业务流程,优化业务流程,并对业务进行管理和改进。
在软件开发过程中,业务建模也起到了重要的作用。
1.1 业务建模的目的和意义业务建模的目的是帮助企业更好地了解自己的业务流程,找出其中的问题和瓶颈,提出解决方案,并设计出更加高效的业务流程。
通过业务建模,企业可以减少资源浪费,提高业务效率,提升客户满意度。
1.2 业务建模的方法和工具在进行业务建模时,可以采用多种方法和工具,常用的有以下几种:•流程图:用于描述业务流程中的各个步骤和流程之间的关系。
可以直观地展示业务流程,帮助人们理清业务逻辑。
•EPC图:由由事件、功能和控制流组成的图形结构,用于描述业务流程中的各个步骤和流程之间的依赖关系。
•UML:包括用例图、活动图、类图等多种图表,用于描述软件系统的需求和设计。
1.3 业务建模的实施步骤进行业务建模时,可以按照以下步骤来进行:1.确定建模范围:明确需要建模的业务过程范围,确定建模的目标和侧重点。
2.收集业务信息:收集相关业务信息,包括业务流程、业务规则等。
3.描述业务流程:使用合适的建模工具,如流程图、EPC图等,描述业务流程中的各个步骤和流程之间的关系。
4.分析业务流程:对业务流程进行分析,找出问题和瓶颈,并提出改进建议。
5.优化业务流程:根据分析结果,对业务流程进行优化,设计更加高效的业务流程。
6.审核和验证:对优化后的业务流程进行审核和验证,确保其符合实际需求。
7.实施和改进:根据实际情况,将优化后的业务流程付诸实施,并不断进行改进和优化。
2. 用例建模用例建模是指通过对系统的功能需求进行描述和分析,确定系统与用户之间的交互行为和功能。
它可以帮助开发人员更好地理解用户需求,设计出更符合用户期望的系统。
2.1 用例建模的目的和意义用例建模的主要目的是用于系统需求分析和系统设计。
用例建模

38
与系统交互的Actor
Registrar Professor
Student Billing System
39
寻找用例
• Actors的行为决定了他们的需求
– – – – 注册管理员:管理和维护课程表 教师:请求学生名单 学生:维护自己的课程安排 计费系统:从注册系统获取费用信息
Maintain Curriculum
27
功能:
订票
1. 2. 3. 4.
传输/接收 电源/基站 输入输出(显示、键盘) 电话簿管理
顾客 查询车次 用户观点
。。。。。。
用例:
1. 2. 3. 4. 呼叫某人 接听电话 发送短消息 记住电话号码
顾客
处理订票
显示车次 系统观点
。。。。。。
28
!!!在用例描述中不要包 含GUI设计,因为用例是针对 需求的,而界面设计是“设 计”,不要把设计的东西放 进需求里。
A T M 取 款 用 例 描 述
1, 储户插卡;
2. ATM机提示输入用户口令; 3.储户输入口令; 4.ATM机口令验证通过,提示输入钱数; 5.储户输入钱数; 6.ATM机进行钱数有效性检查,提示操作成功,吐出 卡和钱;
24
7.储户取走卡和钱;
8.ATM机屏幕恢复为初始状态。 扩展点 4a. ATM机验证用户口令不通过 4a1. ATM机给出提示信息,并吐出信用卡; 4a2. 储户取出卡; 4a3. ATM机屏幕恢复为初始状态.
30
顾客
<<extend>>
签订汽车购买合同
签订保险单
顾客
<<extend>>
下载软件
UML用例建模基本知识讲解

本节和大家一起学习一下UML用例建模的一些基本知识,主要包括基本文档,用例模型,用例规约和补充规约等内容,相信通过本节的学习你对UML用例建模一定会有所了解。
下面就让我们一起来看一下详细介绍吧。
UML用例建模基本知识基本文档:用例模型:记录功能性需求用例图:描述参与者和用例之间的关系用例规约:描述每一个用例的细节信息补充规约:记录一些全局性的功能需求、非功能性需求和设计约束等词汇表:记录一些系统需求相关的术语------------------------------用例模型:用例图比较简单,主要有参与者和用例组成;参与者之间可以有泛化(Generalization)关系用例之间有包含(include)、扩展(extend)和泛化(generalization)关系。
包含是子函数,扩展是备选流泛化比较少用,也是备选流;UML用例建模中用例规约:简要说明(BriefDescription)简要介绍该用例的作用和目的。
事件流(FlowofEvent)包括基本流和备选流,事件流应该表示出所有的场景。
用例场景(Use-CaseScenario)包括成功场景和失败场景,场景主要是由基本流和备选流组合而成的。
特殊需求(SpecialRequirement)描述与该用例相关的非功能性需求(包括性能、可靠性、可用性和可扩展性等)和设计约束(所使用的操作系统、开发工具等)。
前置条件(Pre-Condition)执行用例之前系统必须所处的状态。
后置条件(Post-Condition)用例执行完毕后系统可能处于的一组状态。
UML用例建模的补充规约补充规约记录那些在用例模型中不易表述的系统需求,主要包括以下内容。
功能性功能性需求主要在用例模型中刻画,但是也有部分需求不适合在用例中表述。
有些功能性需求是全局性的,适用于所有的用例,如出错处理、I18N支持等,我们不需要在所有的用例中描述这些功能性需求,只需要在补充规约中统一描述就可以了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UML用例建模解析刘伟UML(统一建模语言)是当前软件开发中使用最为广泛的建模技术之一,通过使用UML 可以构造软件系统的需求模型(用例模型)、静态模型、动态模型和架构模型。
UML通过图形和文字符号来描述一个系统,它是绘制软件蓝图的标准语言。
熟练掌握UML建模技术是一个优秀的软件从业人员所必备的基本技能之一,越来越多的软件企业在招聘中也需要应聘者具备一定的UML知识基础和实践经验。
作为UML的初学者,很多人也在尝试使用UML中的图形来描述一个软件系统,构造一个软件系统的蓝图。
然而,在使用UML的过程中,一部分人并没有深入理解这些图的作用,以及这些图在绘制过程中的一些技巧。
我将陆续通过几篇文章来帮助大家更快更好地学习UML,在软件项目中合理使用UML来提高软件开发效率并规范软件开发流程。
在本文中我将结合库存管理系统来深入浅出地讲述UML建模中的第一个模型——需求模型的构造,即用例建模,包括如何绘制规范的用例图、如何编写简洁而又清晰的用例文档、以及怎样通过用例图和用例文档来构造软件系统的需求模型。
在UML中,需求模型又称为用例模型,它主要用于描述系统的功能性需求,即软件可以实现的功能,如登录、注册、入库、出库、查看库存报表、增加员工信息等。
常规的用例建模一般包括两个组成部分:绘制用例图和编写用例文档。
1. 绘制用例图用例图是UML中比较简单的一种图形,它包含两个主要组成元素,分别是执行者(Actor)和用例(Use Case)。
执行者又称为参与者或角色,用例又称为用况或案例。
在用例图中,执行者用一个“小人”符号表示,用例用一个“椭圆”符号表示,因此用例图又有一个名字为“小人椭圆图”。
最简单的用例图如下:入库仓库管理员在该用例图中,“仓库管理员”表示执行者,“入库”表示一个用例,即系统的一个功能。
执行者是指直接和系统交互的一类事物,执行者主要有如下三类:(1) 直接使用系统的人,如使用一个库存管理系统的仓库管理员、仓储部经理等用户,仓库管理员可以通过系统进行入库和出库操作,仓储部经理可以通过系统查看各种报表,如库存报表、财务报表等;(2) 与该系统相关的其他系统,如在库存管理系统中如果涉及到付款操作,需要使用另一个软件——支付系统,此时支付系统就是库存管理的执行者之一;(3) 自动发生的事件,如时间、温度等自动事件,如果库存管理系统要求每晚零点执行一个数据汇总操作,此时时间就成为该操作的执行者。
识别一个系统的执行者是用例建模的第一步,在识别出一个系统的执行者后,需要寻找系统的用例,即功能需求。
用例是执行者对系统操作的一个动作序列,每一个用例对应执行者对系统的一个完整操作流程。
如库存管理系统中,仓库管理员可以登录系统,可以进行入库、出库等操作,在这里登录、入库、出库都是用例,它们都对应系统所提供的一个功能。
执行者通过执行用例来完成相应的工作。
用例体现了执行者和软件系统的交互过程,因此只用一个简单的“椭圆”来表示用例太过简单,对于每一个用例,需要编写一个详细的用例文档,在下一节将介绍如何编写用例文档。
在找出执行者和用例之后,下一步就是用例图的绘制了,这个过程看似简单,实际上要绘制出一个规范、标准、可读性强的用例图并不是件很容易的事情。
绘制用例图的关键在于理清各种图符之间的关系,包括执行者与用例之间的关系、执行者之间的关系以及用例之间的关系。
(1) 关联关系关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“经理”和用例“查看库存报表”之间建立一个关联关系,关联关系用实线表示。
查看库存报表经理(2) 泛化关系执行者之间的关系只有一种,即泛化关系,用一个带有空心三角形的实线表示,如下图所示,在该图中,仓库管理员、系统管理员、经理都是员工的一种,因此员工拥有的功能这三者都拥有,如登录、修改个人信息等,为了减少用例的个数并且使系统更加符合面向对象设计规范,可以对执行者进行泛化,将各类执行者都具有相同的功能移至父执行者,而将每类执行者特有的功能保留在子执行者中。
修改个人信息登录入库增加员工信息查看库存报表常见的用例之间的关系有两种,分别是包含关系和扩展关系,下面介绍这两种关系的含义以及在用例图中如何表示。
(3) 包含关系如果多个用例都具有一部分相同的行为,可以将这部分相同的行为作为一个单独的用例抽取出来,与原来的用例形成一个包含关系。
如仓库管理员在进行入库、出库等操作之前需要先登录,登录是入库、出库流程的基本组成部分,因此用例“入库”和“出库”包含用例“登录”。
为了更加清晰地描述多个用例的相同行为,在用例图中提供了用例与用例之间的包含关系。
在UML中,包含关系用依赖线(虚线)加一个<<include>>表示,由原始用例指向包含用例,如下图所示:<<include>><<include>>仓库管理员入库出库登录(4) 扩展关系扩展关系又称为延伸关系,如果一个用例在执行时可能会使用到另一个用例,或者使用一个新的用例对原有用例的行为进行扩展时可以使用扩展关系,如仓库管理员在入库时发现某种商品在系统中暂不存在,则可以增加新的商品信息;如果入库商品均已存在,则无需增加商品信息,此时用例“增加商品信息”可以作为用例“入库”的扩展用例。
在需要扩展的用例(原始用例)中需指定一个扩展点(即需扩展的位置),在下一节编写用例文档中将学习如何设置扩展点。
在UML 中,包含关系用依赖线(虚线)加一个<<extend>>表示,由扩展用例指向原始用例,如下图所示:<<extend>>入库增加商品信息关于包含关系和扩展关系箭头的指向,可以记住两句口诀:包含进来,箭头向外;扩展出去,箭头向里。
除了上述的包含关系和扩展关系外,用例之间还存在一种与执行者泛化类似的泛化关系,但不太常见,在这里不予以详细介绍。
2. 编写用例文档绘制用例图只是完成了用例建模最基本也是最简单的一步,用例建模的核心在于编写用例文档,用例文档又称为用例规约或用例描述。
顾名思义,用例文档是用于描述用例的文档,每一个用例对应于一个用例文档,在用例文档中需要用文字的方式描述用例的执行过程,即执行者与系统的交互过程。
用例文档需要通俗易懂,不仅项目的开发人员能够理解,系统的用户以及客户也能够看懂用例文档。
一个完整的用例文档包括用例编号、用例名、执行者、前置条件、后置条件、涉众利益、基本路径、扩展路径、字段列表、业务规则、非功能需求和设计约束等组成部分。
一般在系统中需要给所有的用例一个统一规范的编号,如库存管理系统,可以使用StockUC001、StockUC002等来对用例进行编号。
每一个用例都需要提供一个清晰易懂的用例名,一般使用“动词+名词”的形式,如“查看库存报表”、“增加员工信息”、“增加商品信息”等,对于一些俗语可以使用简写,如“登录”、“注册”、“入库”、“出库”等。
前置条件是用例执行之前系统所处的状态,它必须是软件系统可以识别到的状态,如用例“入库”的前置条件是“仓库管理员已成功登录”,而不能是“仓库管理员已打开电脑”,因为是否“打开电脑”库存管理系统不能识别到;后置条件是用例执行之后系统应该具备的状态,它也必须是系统能够识别到的,如用例“入库”的后置条件是“系统保存入库信息,更新相关商品的库存量”,而不能是“用户退出系统”,因为“用户退出系统”不是“入库”操作所达到的系统状态。
涉众利益是对用例执行过程和结果很关心但不直接操作用例的人,如仓库管理员在入库和出库时,虽然经理不直接入库,但是他们对这个过程和结果很关心;如在火车站买票时,直接使用售票系统的是售票员,但是乘客很关心用例的执行结果,担心是否会弄错时间和车次,因此乘客是涉众。
执行者是直接执行用例的人,他们通过用例来直接执行系统提供的功能;涉众是执行者操作用例时的观众,他们对用例的执行过程和结果很关心,因为涉及到他们的利益。
路径又称为“流程”,是指执行者和系统交互的过程。
用例文档中最关键的部分是基本路径,基本路径又称为“正常路径”或者“开心路径”,它是用户最想看到、也最关心的路径,是用例建模核心中的核心。
在路径中包含若干步骤,这些步骤构成了一个完整的交互过程,在描述基本路径时,每一个步骤一般以执行者或者系统作为主语,如“仓库管理员输入待入库商品信息”,“系统验证该商品库存是否达到上限”等。
在编写路径时需要注意以下几个问题:(1) 需要对步骤进行编号,一般用阿拉伯数字1、2、3、…进行编号,表示步骤的先后次序。
(2) 不能出现专业术语,因为用例文档需要系统的客户和用户都能够看懂,因此不能出现诸如“JDBC”、“SQL”这样的专业术语。
(3) 尽量使用主动语句,每一个步骤均以执行者或系统作为主语。
(4) 不要涉及到界面细节,如不能出现“仓库管理员在文本框中输入帐号”、“仓库管理员在密码框中输入密码”等句子,应该使用“仓库管理员输入帐号和密码”来代替。
(5) 如果出现大量数据输入或处理,需要将数据放入“字段列表”中,如系统管理员在增加员工信息时,需要增加员工帐号、员工密码、员工所在部门、员工电话、员工邮箱等信息,可以在用例文档中使用“系统管理员输入员工信息”来代替,而对于“员工信息”的详细描述可以放在用例文档的“字段列表”中进行详细说明。
(6) 注意分支和循环的处理,在用例文档中,分支可放在接下来要介绍的扩展流程中;而循环可以直接放在步骤描述中,如在入库时可以一次入库多个商品的资料,中间某些步骤如下:“2. 仓库管理员输入待入库商品信息;3. 系统验证该商品库存是否达到上限;4. 系统提示该商品入库信息增加成功;”,如果需要重复这几步,可以在基本路径中用如下语句描述:“如果还有商品需要入库,重复第2-4步”。
基本路径是用例文档的核心,通过路径可以清楚了解执行者如何通过用例来实现相应的功能,因此,在编写用例文档时,需要认真细致编写基本路径,确保非专业人员都能够在读完基本路径后理解执行者和系统的交互过程。
除了基本路径之外,很多用例都存在一些替换路径和异常路径,通常可以将替换路径和异常路径统称为扩展路径。
识别出一个用例的基本路径并不难,但是要找到所有的扩展路径是件很辛苦的工作。
一个优秀的系统分析人员应该认真分析业务流程,试图寻找出在基本路径中每一个步骤可能存在的扩展方式,寻找出所有可能的扩展路径。
如仓库管理员在入库时可能会发生一些异常情况,如“供应商不存在”、“待入库商品不存在”、“入库时商品超过库存上限”等,需要使用扩展路径对这些情况进行清晰的描述,如“供应商不存在”,则需要设置一个扩展点,先执行“增加供应商信息”用例,再选择供应商编号,在扩展流程中可以这样表示:“1a. 供应商不存在 1. 扩展点1:执行用例——StockUC003增加供应商信息;2. 仓库管理员选择供应商编号。