用例建模指南

合集下载

用例建模

用例建模

用例(Use Case)是系统为特定的参与者提供的一个功能,它描述了参与者是如何使用系统实现其目标。

用例捕获被开发的系统(或子系统、类或接口)想要实现的行为,而不是说明这些行为是怎样实现的。

用例模型(Use Case Model)是表述用例和参与者所需的图及其描述的集合。

一个完整的用例模型并不是一次完成的。

每一个用例一般都要随着对系统需求认识的深入,有一个不断精化的过程。

随着对问题了解的深入,用例详述不断地添加细节。

因此用例详述可大致分为初始用例详述、基本用例详述和详细详述。

初始用例详述在需求分析开始阶段开发的用例详述,主要确定和粗略地描述由参与者初始化的系统行基本用例详述详细用例详述基本用例详述模板1、前置条件和后置条件应可验证和可测试的方式来记录。

2、前置条件必须反映用例执行前系统需要处于的状态。

3、前置条件和后置条件必须用现在时态记录。

4、给多个前置条件和后置条件分别编号。

5、可以用对象模型来补充前置条件和后置条件中的系统状态描述。

贷款申请活动图用例建模过程中主要包括以下活动组:1、准备用例建模并确定建模方法a)建立系统词汇的术语表。

b)进行涉众分析;选择团队成员并且识别所涉及的客户和用户。

c)选择及定制一个用例过程框架。

d)选择用例建模标准、模板和工具。

对粒度、语态和风格达成一致。

e)确定培训和顾问的需求。

2、进行初始用例建模a)创建初始用例模型图以及语境图。

b)识别主要参与者。

c)发现用例(初始用例详述描述)d)开始识别、精化候选的业务(领域)对象。

3、扩展用例模型a)开发基本用例详述。

b)迭代地细化基本用例详述并确定包含、扩展和泛化关系。

c)将用例映射到对象模型。

d)开发实例脚本4、组织用例a)开发业务功能包b)识别用例依赖流。

c)根据涉众的观点组织用例。

d)重构用例模型。

5、持续进行的用例管理a)让用户确认用例模型。

b)定义并执行测试案例。

c)跟踪持续进行的用例建模进展。

d)根据涉众的反馈更新并且定制框架。

用例建模

用例建模

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

5-用例建模

5-用例建模
Enterprise Selling Things Checkout Service Sales Tax Agency Goal: Collect taxes on sales Sales Activity System Customer POS System
Cashier
Goal: Buy items
Goal: Analyze sales and performance data
Goal: Process sales
11
根据边界识别参与者
12
参与者的类型
见p49
主要参与者 协助参与者 幕后参与者
13
寻找用例
14
利用参与者捕获用例
对所有的参与者(把自己作为参与者),提问下 列问题:
每个参与者的主要任务是什么? 为了达到某种目的,它们参加什么活动?该参与者是否将读、写或 修改系统的任何信息?参与者是否该把系统外部的变化通知系统? 参与者是否希望系统把预料之外的变化通知自己? 在交互过程中,它们是怎样使用系统的服务来完成它们的任务以达 到目的? 它们参加了什么在本质上是不同的过程? 是什么事件引起了与系统进行交互的序列?
以穷举的方式考虑每一个参与者与系统的交互情况, 看看每个参与者要求系统提供什么功能,以及参与者 的每一项输入信息将要求系统作出什么反映,进行什 么处理; 另外,要以穷举的方式,检查用户对系统的功能需求, 是否能在各个用例中体现出来。
16
捕获用例的策略
1. 2. 3. 4.
首先写下两个或三个最常见的简单场景(用例)。 当有两个或三个场景看上去很相似的时候,就试 着产生更“抽象”的场景(用例)。 “ ” 应谨慎选择用于不常见事件的附加的用例,并保 持在可管理的数量上。 以增量的方式进行分析。

用例建模指南

用例建模指南

I. 指南:用例II.主题解释如何查找用例用例如何演进 是否详细说明了所有的用例?用例的范围用例如何实现一个用例具有许多可能的实例用例实例的并行名称简要说明事件流 - 内容事件流 - 结构事件流 - 风格事件流 - 示例特殊需求前置条件和后置条件扩展点 用例图III. 解释以上定义中有几个关键词:用例实例。

以上定义所说的序列实际上是贯穿整个系统的某个特定事件流,即一个实例。

可能会有许多事件流,而许多事件流可能非常相似。

为了使用例模型便于理解性,应该将相似的事件流组合到一个用例中。

确定和说明某个用例实际上就是确定和说明一组相关的事件流。

系统执行。

这意味着系统提供用例。

主角和系统的某个用例实例进行通信。

可观测的结果值。

您可以给一个成功执行的用例赋予一个值。

用例应该确保主角可以执行某个具有可确定值的任务。

确定用例的正确级别或粒度是非常重要的事情。

正确级别是指所实现的用例不是太小。

在某些特定的环境中,可以将一个用例当作组织内的一个计划单元,该单元包括了担任系统的主角角色的个人。

动作。

一个动作就是一个计算或算法过程。

当主角向系统提供信号或当系统得到时间事件时,动作即被调用。

动作可能包含向调用的主角或其他主角进行的信号传输。

动作是不可分的,它要么完全执行,要么根本不执行。

特定主角。

主角是查找正确用例的关键,这尤其是因为主角可帮助您避开太大的用例。

例如,考虑一个可视化建模工具。

该应用程序有两个真正的主角:开发人员,他负责以该工具作为支持来进行系统开发;系统管理员,他负责管理该工具。

这两个主角对系统都有各自的要求,因而需要自己的用例集。

系统的功能由不同的用例来定义,每个用例都代表了一个特定的事件流。

用例说明将定义执行用例时在系统中发生的事件。

例如,在自动柜员机中,客户可以从帐户中提取现金、将现金转入帐户或核对帐户余额。

这些功能对应于可以用用例来代表的事件流。

每个用例本身就有一个要执行的任务。

所收集到的用例组成了所有可能的系统使用方法。

用例建模

用例建模

网上购物系统一个客户通过因特网购买所需要的商品,客户可以在商品列表的页面上选择订购商品。

要发出定单,客户必须填上运送和付款信息,可接收的付款方式为信用卡、支票或者其他付款方式,一旦定单被输入,系统向客户发送一个确认e-mail消息,并附上定单的细节,在等待商品送到的时候,客户可以在任何时候在线查到定单的状态。

后端定单处理包含下面所需的步骤:1. 验证客户的信任度和付款方式2.向仓库请求所订购的商品3. 打印发票并且请求仓库将商品运送给客户1 功能性需求1.1 客户使用商品列表的页面来查看所需要的商品,商品价格也同时显示出来。

1.2 客户可以通过留言板向我们提出需要什么样的商品,需要什么样的服务,对我们提出一些意见和建议。

1.3 客户可以选择在线订购商品,或者也可以要求销售人员在定单真正发出之前与自己联系,解释定单的细节、协商价格等。

1.4 要发出定单,客户必须填写在线表格关于运送和发票地址以及付款细节(信用卡、支票或者其他付款方式)。

1.5 在客户定单输入到系统之后,销售人员发送电子请求给仓库,附上所订购的商品的细节。

1.6 事务的细节,包括定单号和客户账号,要e-mail给客户,使得客户可以在线查看定单的状态。

1.7 仓库从销售人员那里获得发票,并给客户运送商品。

1.8 价格旁边,放置“添加到购物篮”按钮。

1.9 购物篮界面,系统应显示下列可选项:(1)从购物篮中删除(2)修改产品数量(3)结算(4)点击产品名称,应显示下列信息:产品编号、名称、数量和价格。

1.10 结算界面,ECP应显示下列可选项:(1)ECP应显示顾客订单概要信息,并包括"确认"订单可选项。

(2)顾客点击确认后,如果此时顾客尚未登录,应显示登录界面。

包括用户名和密码,以及注册按钮。

2.1 识别参与者1.客户2.销售人员3.仓库参与者描述2.2 识别用例用例名称简要描述MangeOrders Customer参与者可以创建、查看和修改订单。

用例建模法

用例建模法

用例建模法
用例建模是一种分析和设计软件系统的方法,它将系统看作一系列用例,每个用例描述了系统与用户之间的一个交互场景。

用例建模的步骤如下:
1. 确定系统的边界和参与者:确定系统与外部世界的交互范围,并确定参与系统的各种角色。

2. 鉴别用例:识别系统中的主要功能点和用户需求,每个功能点对应一个用例。

3. 描述用例:详细描述每个用例的功能特点,包括前置条件、主要场景、预置条件、异常场景等。

4. 绘制用例图:用例图是用例建模的核心图。

它通过图形的方式展示出各个用例之间的关系,包括参与者、用例和它们之间的关联关系。

5. 完善用例:根据需求分析的结果,不断完善用例的描述,使其更加准确和完整。

通过用例建模,可以清楚地了解系统的功能需求,识别系统中的主要功能点,帮助系统分析师和设计师更好地理解系统的需求,从而设计出更好的系统。

同时,用例建模也可以帮助开发人员和测试人员更好地理解系统的功能点,从而更好地开发和测试系统。

用例建模的步骤

用例建模的步骤

用例建模的步骤嘿,咱今儿就来聊聊用例建模的那些事儿哈!你知道不,用例建模就像是搭积木,一块一块地拼出个精彩的模型来。

首先呢,咱得搞清楚需求,就像你要去旅行,得先知道自己想去哪儿,想看啥风景。

这一步可不能马虎,得瞪大了眼睛,竖起耳朵,把各种需求都搜罗过来。

然后呢,就是识别参与者啦!这就好比是找到一起搭积木的小伙伴,谁来跟咱一块儿玩这个游戏呀。

这些参与者可重要啦,他们会在这个模型里扮演各种角色呢。

接下来就是确定用例啦!这就像给每个小伙伴分配任务,你负责搭这个部分,他负责搭那个部分。

每个用例都代表着一个具体的功能或者活动。

再然后呀,就是描述用例啦!这可不能简单几笔带过,得详细地说说这个用例到底是咋回事儿,就像给小伙伴讲清楚他的任务该怎么做。

接着呢,要对用例进行排序。

这就像是给搭积木的步骤排个先后顺序,可不能乱了套。

再接下来,要检查用例模型。

这就好比搭完积木后,要看看有没有哪里不牢固,有没有缺块少角的。

最后,就是优化用例模型啦!把那些不合适的地方改一改,让这个模型更加完美。

你想想看,要是这每一步都没做好,那最后搭出来的模型能好看吗?能牢固吗?肯定不行呀!就好比盖房子,地基没打好,那房子能稳吗?咱再打个比方,用例建模就像做菜,需求就是食材,参与者就是厨师和食客,用例就是各种菜品,描述用例就是菜谱,排序就是做菜的先后步骤,检查就是尝尝味道对不对,优化就是调整口味让菜更好吃。

你说,这每一步是不是都很重要啊?所以啊,咱可得认真对待用例建模的每一个步骤,别马马虎虎的。

这可是关系到最后成果的好坏呢!咱可不能瞎糊弄,得用心去做,才能做出漂亮的用例模型来呀!你说是不是这个理儿呢?。

用例建模指南

用例建模指南

用例建模指南用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。

用例方法最早是由Iva Jackboson博士提出的,后来被综合到UML规范之中,成为一种标准化的需求表述体系。

1. 什么是用例?传统的需求表述:"软件需求规约"(Software Requirement Specification)。

传统的软件需求规约基本上采用的是功能分解的方式来描述系统功能,在这种表述方式中,系统功能被分解到各个系统功能模块中,我们通过描述细分的系统模块的功能来达到描述整个系统功能的目的。

缺点:采用这种方法来描述系统需求,非常容易混淆需求和设计的界限,这样的表述实际上已经包含了部分的设计在内。

由此常常导致这样的迷惑:系统需求应该详细到何种程度?一个极端就是需求可以详细到概要设计,因为这样的需求表述既包含了外部需求也包含了内部设计。

在有些公司的开发流程中,这种需求被称为"内部需求",而对应于用户的原始要求则被称之为"外部需求"。

功能分解方法的另一个缺点是这种方法分割了各项系统功能的应用环境,从各项功能项入手,你很难了解到这些功能项是如何相互关联来实现一个完成的系统服务的。

所以在传统的SRS文档中,我们往往需要另外一些章节来描述系统的整体结构及各部分之间的相互关联,这些内容使得SRS需求更象是一个设计文档。

1.1 参与者和用例从用户的角度来看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,也就是被开发出来的系统将是如何被使用的,这就用例方法的基本思想。

用例模型主要由以下模型元素构成:∙参与者(Actor)参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。

∙用例(Use Case)用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。

软件工程5 用例建模

软件工程5 用例建模

系统必须知道哪些外部事件?参与者如何通知系统这 些事件?
系统需要进行哪些维护工作?
18
用例的描述
• 用例简述: 一段简洁的摘要,主要 描述用例的成功场景
• 下订单:
客户带着要购买的货物到收款处,收银员使用POS机
扫描记录每一种预购买的货物。系统计算总价并打印清
单。客户付款,系统验证并保存销售记录。系统更新库
界和范围; (2) 确定每一个参与者所期望的系统行为; (3) 把这些系统行为命名为Use Case; (4) 使用泛化、包含、扩展等关系处理系统行为的公共或
变更部分;
(5) 编制每一个Use Case的脚本; (6) 绘制Use Case图; (7) 区分主事件流和异常情况的事件流,可以把表示异常情况的事 件流作为单独的Use Case处理;
零售店销售管理系统
4
系统边界定义之一
5
系统边界定义之二
6
系统边界定义之三
7
用例图的主要元素
参与者(Actor) 与系统交互的人或外部系统 用例(Use case) 系统为参与者提供的有价值的服务功能 关联(Association) 用例图中用例与参与者之间的交互关系
Actor
Actor
Use Case
11
交互--关联(Association)
Actor 1
• 参与者与用例之间的交互通道 • 用一条直线表示交互——关联
Use Case
• 有箭头的关联指出是谁发起的交互 • 没有箭头则表明双方都可以发起交互
Actor 2
Actor 3
12
用例建型的步骤
(1) 找出系统外部的参与者和外部系统,确定系统的边
16

第四章 用例建模

第四章 用例建模

第四章用例建模什么是需求?需求包括哪几个方面?需求:客户可接受的、系统必须满足的条件或具备的能力需求包括:功能性、使用性、可靠性、性能、可支持性五大方面。

2、什么是需求分析?需求分析有何重要意思?需求分析可以分为哪几个步骤?答:"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输“做什么”。

意义:需求分析是一个重要的一个阶段。

软件需求分析的质量对软件开发的影响是深远的、全局性的,质量需求对软件开发往往起到事半功倍的效果,所谓“磨刀不误砍柴功。

在后续阶段改正需求分析阶段产生的错误将付出高昂的代价需求分析大致可分为以下步骤:绘制关联图:绘制系统关联图是用于定义系统与系统外部实体间的界限和接口的简单模型。

同时它也明确了通过接口的信息流和物质流。

2)创建开发原型:创建用户接口原型。

当开发人员或用户不能确定需求时,开发一个用户接口原型,这样使得许多概念和可能发生的事更为直观明了。

用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题。

注意要找出需求文档与原型之间所有的冲突之处。

3)分析可行性:分析需求可行性。

在允许的成本、性能要求下,分析每项需求实施的可行性,明确与每项需求实现相联系的风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。

4)确定需求优先级:确定软件工程需求的优先级别。

应用分析方法来确定使用实例、产品特性或单项需求实现的优先级别。

以优先级为基础确定产品版本将包括哪些特性或哪类需求。

当允许需求变更时,在特定的版本中加入每一项变更,并在那个版本计划中作出需要的变更。

5)为需求建立模型:为需求建立模型。

需求的图形分析模型是软件需求规格说明极好的补充说明。

它们能提供不同的信息与关系以有助于找到不正确的、不一致的、遗漏的和冗余的需求。

这样的模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图。

6)编写数据字典:创建数据字典。

(七)第五章 用例建模

(七)第五章 用例建模

第五章用例建模5.1 用例的基本概念⒈什么是用例用例(use case)是一种建模技术,用于描述新系统应该具备的功能,或者描述一个已有系统已经具备的功能。

用例规定了一个动作序列(可以有多种实现),系统可以执行这些动作并产生出一个对于特定活动者有价值的可见结果。

⒉为什么使用用例①用例提供了一种捕获功能需求的系统而且直觉的方法。

②用例驱动整个开发过程。

5.2 用例中的有关概念用例模型的主要组件:用例、参与者以及被建模的系统。

创建用例模型的过程:①定义系统;②发现参与者和用例;③描述用例;④定义用例之间的关系;⑤对模型进行确认操作。

5.2.1 系统与系统边界系统边界是一个系统所包含的所有成分与系统以外的各种事物的分界线。

这里所说的系统是指被开发的计算机软硬件系统。

Insurance Business图5.1 在用例模型中的系统5.2.2 参与者⒈参与者的概念参与者(Actor)是与该系统打交道的人或者其他系统。

⒉参与者的分类主要参与者(Primary actor):使用该系统基本功能的参与者。

次要参与者(Secondary actor):使用该系统次要功能的参与者。

主动参与者(Active actor):该参与者负责初始启动用例。

被动参与者(Passive actor):该参与者永远不会初始启动用例,而只是参与系统中的一个或多个用例而已。

⒊发现参与者·谁将使用该系统的主要功能(主要参与者)?·谁将需要该系统的支持以完成他们的日常工作?· 谁将需要维护、管理该系统,以及保持系统处于工作状态(次要参与者)?· 系统需要处理哪些硬件设备? · 系统需要与哪些其他系统打交道? ·谁或什么系统对本系统产生的结果感兴趣?⒋ UML 中的参与者图5.2 参与者的表示方法⒌ 参与者之间的关系泛化关系Insurance Agent(a )(b)图5.3 参与者之间的泛化关系Supplier ’s AgentRestockerCollectorCustomerPersonal Visit CustomerTelephone Customer5.2.3 用例⒈用例的定义UML中的用例定义是:系统执行的一组动作序列,这些动作可以产生一个特定参与者可观察的数值结果。

需求用例建模方法 ppt课件

需求用例建模方法  ppt课件

泛化
学生
在大学中注 册国际学生
在大学生中 注册家庭成员
国际学生
图 3-19 用例模型中的几种关系
练习:举例说明用例的含包关系和扩展关系的区别。
ppt课件
29
3.2.4 用例的文字描述 用例 = 椭圆 + 名字? —— NO!
用例模型
参与者 用例
用例规约
... 术语表
Name of the Use Case (用例的名字) Description (描述) Actor(s) (参与者) Flow of events (事件流)
事件流被插入到基用例的事件流中。 基用例不能独立存在,必须依赖于被包含用例。 被包含用例一定要执行。
ppt课件
22
例,包含关系的几种可能性
1
2
<<include>> <<include>> <<include>> <<include>>
3
4
<<include>>
<<include>>
<<include>> <<include>>
Basic flow (常规流) Event 1 (事件)
Event 2
…… Alternate flow (备选流) Pre-conditions (前置条件) Post-conditions (后置条件)
……
ppt课件
30
3.2.5 如何建立用例模型
在业务需求陈述的基础上: (1)建立初始的用例图。 确定参与者 确定用例 建立参与者与用例的关联 (2)进行用例的文字描述 (3)细化用例 进一步标明用例间的包含、扩展、泛化关系 (4)对用例进行分组,用包图表示。

用例建模法

用例建模法

用例建模法用例建模法是一种常用的需求分析方法,通过描述系统与外部参与者之间的交互,帮助我们理解系统功能与行为。

在这种方法中,我们考虑系统能够提供给参与者的不同用例或场景,并描述了参与者与系统之间的交互。

以下是用例建模法的相关参考内容。

1. 用例建模的基本概念:用例:用例是一个有序的事件序列,用于描述参与者与系统之间的交互。

参与者:参与者是与系统进行交互的外部实体。

它可以是一个人、一个组织或另一个系统。

系统边界:系统边界是用于定义系统与外部参与者之间的界限。

主要成功场景:主要成功场景是该用例的典型执行路径,描述了系统如何响应参与者的请求并达到预期结果。

2. 用例建模的过程:(1) 识别参与者:确定系统的外部参与者,并理解他们对系统的期望。

(2) 确定用例:识别系统能够为参与者提供的用例或场景,并描述其目标和预期结果。

(3) 建立参与者与用例之间的关系:描述参与者与用例之间的交互方式和角色。

(4) 确定用例间的关系:通过识别用例间的相互作用和依赖关系来整理用例。

3. 用例建模的优点:(1) 用例建模通过描述用例和参与者之间的交互,帮助人们理解系统的需求和功能。

(2) 用例建模提供了一种可视化表示方法,使得分析和理解需求更容易。

(3) 用例建模强调用户的角色,有助于设计出更加用户友好的系统。

(4) 用例建模可以帮助团队成员进行有效的沟通和协作。

4. 用例建模的步骤:(1) 确定系统的边界:定义系统与外部参与者之间的边界。

(2) 识别参与者:确定与系统进行交互的外部参与者,并描述他们的期望和角色。

(3) 识别用例:确定系统需要提供的用例或场景,并描述它们的目标和预期结果。

(4) 建立参与者与用例之间的关系:描述参与者与用例之间的交互方式和角色。

(5) 确定用例间的关系:识别用例之间的相互作用和依赖关系。

以上是用例建模法的相关参考内容。

用例建模是一种常用的需求分析方法,通过描述系统与外部参与者之间的交互,帮助我们理解系统功能与行为。

UML中的用例图绘制指南及注意事项

UML中的用例图绘制指南及注意事项

UML中的用例图绘制指南及注意事项引言:UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,它提供了一套丰富的图形符号和规范,用于描述系统的结构、行为和交互。

其中,用例图是UML中最常用的图之一,用于描述系统的功能需求和用户与系统之间的交互。

本文将为读者介绍UML用例图的绘制指南及注意事项,帮助读者更好地理解和运用这一工具。

一、用例图概述用例图是用例驱动开发方法的核心,它能够帮助开发人员和用户之间更好地沟通和理解需求。

用例图主要由参与者(Actor)、用例(Use Case)和关系(Relationship)三个要素组成。

参与者指的是系统的外部用户或外部系统,用例则表示系统的功能需求,关系则描述参与者和用例之间的交互关系。

二、绘制用例图的步骤1. 确定参与者:首先需要明确系统的各个参与者,包括用户和外部系统。

参与者应该是与系统有直接交互的实体,例如管理员、用户等。

2. 识别用例:根据系统需求,识别出系统的各个功能需求,每个功能需求可以看作是一个用例。

用例应该能够描述系统的一个具体功能或者一个用户场景。

3. 绘制参与者和用例:在绘制用例图时,首先绘制参与者,然后绘制用例,用椭圆形表示。

参与者和用例之间可以用直线连接。

4. 添加关系:根据实际情况,添加参与者和用例之间的关系,常见的关系有关联(Association)、包含(Include)和扩展(Extend)等。

5. 完善用例图:根据需要,可以添加用例的详细描述、前置条件和后置条件等信息,以便更好地理解和使用用例图。

三、用例图绘制的注意事项1. 简洁明了:用例图应该尽量简洁明了,避免过多的细节和冗余信息。

只保留关键的参与者、用例和关系,以便更好地传达系统的功能需求。

2. 层次清晰:用例图应该有良好的层次结构,将不同的用例和参与者分组显示,以便更好地组织和理解系统的功能模块。

3. 一致性:用例图应该与系统的需求文档和其他模型保持一致,避免出现冲突和矛盾。

实验七 用例建模

实验七 用例建模

实验六用例建模
[实验目的]
1、了解用例建模的方法;
2、掌握Rose的使用方法。

[实验内容]
按如下叙述建立用例模型:
某计算机厂商准备开发一个“网上计算机销售系统”以方便客户通过Internet 网络购买计算机。

客户可以通过Web页面登陆进入该系统,通过Web页面查看、选择、购买标准配置的计算机。

客户也可以选择计算机的配置或在线建立自己希望的配置。

可配置的构件(如内存)显示在一个可供选择的表中。

根据用户选择的每个配置,系统可以算出计算机的价格。

客户可选择在线购买计算机,也可以要求销售员在发出订单之前与自己联系,解释订单的细节,协商价格等。

客户在准备发出订单时,必须在线填写关于运送和发票地址以及付款细节(支票和信用卡)表格,一旦订单被输入,系统向客户发送一份确认邮件,并附上订单细节。

在等待计算机送到的时候,客户可以在线查询订单的状态。

后端订单的处理步骤是:验证客户的信用和付款方式、向仓库请求所购的计算机,打印发表并请求仓库将计算机运送给客户。

在客户订单输入到系统后,销售员发送邮件请求给仓库,附上所定的配置细节。

仓库从销售员那里获得发票,并给客户运送计算机。

[实验要求]
1、画出用例图;
2、说明建模过程。

[实验报告]
1. 报告要求用专门的实验报告纸书写,字迹清晰,格式规范;
2. 报告中写清姓名、学号、实验日期、实验题目、实验目的、实验要求;
3. 按要求完成实验;
4. 报告最后包含实验总结和体会。

用例建模

用例建模

上海财经大学信息管理与工程学院
-19-
第7讲 用例建模
7.3 需求用例建模过程
构造需求用例模型的步骤:
1. 确定业务参与者. 2. 确定业务需求用例. 3. 构造用例模型图. 4. 记录业务需求用例描述.
上海财经大学信息管理与工程学院
-20-
第7讲 用例建模
7.3 需求用例建模过程
1 确定业务参与者:
-34-
第7讲 用例建模
7.4 用例和项目管理
用例分级与优先级矩阵Use用例分级与优先级矩阵Use-case ranking and priority Use matrix – 用来评估用例并决定其优先级的工具。
思考:用例主要解决什么问题? 思考:用例主要解决什么问题?
系统开发最主要挑战:从关联人员那里提取正确的必要的系统需 求,并以关联人员可以理解的方式进行说明,以便需求可以得到 验证和证实。
问题:
软件需求说明容易混淆分析与设计的界限 数据和过程模型、原型、系统规格说明等工具,设计人员能够理 解但是用户很难理解。 导致范围蔓延、费用超支和进度蔓延等。
参与者Actor – 需要同系统交互以及交换信息的任 何事物。
上海财经大学信息管理与工程学院
-8-
第7讲 用例建模
7.2用例建模概念
四类主要参与者: 四类主要参与者: 主要业务参与者Primary 主要业务参与者Primary business actor 主要从用例中受益的关联人员。 e.g.收到发票的雇员 主要系统参与者Primary 主要系统参与者Primary system actor 直接与系统交互,发起或者触发业务或者系统事件的关联人员。 e.g. 银行出纳输入存款信息 外部服务参与者External 外部服务参与者External server actor 对用例请求进行响应的关联人员。 e.g. 信用卡部门认证一个信用卡支付。 外部接收参与者External 外部接收参与者External receiver actor 不是主要参与者但是可以从用例接收某些可度量的或者可观察的价值。 e.g. 接收打包单的仓库。

简述用例图的一般建模流程及步骤

简述用例图的一般建模流程及步骤

简述用例图的一般建模流程及步骤下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!用例图是一种用于描述系统功能的图形化工具,它可以帮助开发团队更好地理解系统的需求和行为。

注册业务用例建模

注册业务用例建模

注册业务用例建模1. 引言本文将对注册业务进行用例建模,通过分析用户需求和系统功能,定义合适的用例,并进行详细的用例描述和建模。

2. 用例图根据注册业务的功能和参与者,我们可以得到以下用例图:3. 详细用例描述3.1 注册新用户3.1.1 描述用户通过填写必要的信息来注册一个新账户。

3.1.2 参与者•用户:希望创建一个新账户的个人或组织。

3.1.3 前置条件用户访问注册页面,并准备填写相关信息。

3.1.4 后置条件•如果信息合法且未被占用,系统将创建一个新账户。

•如果信息不合法或已被占用,系统将给出相应错误提示。

3.1.5 正常流程1.用户打开注册页面。

2.用户输入用户名、密码、电子邮件等必要信息。

3.用户点击”提交”按钮。

4.系统验证输入信息是否符合格式要求。

5.系统检查用户名和电子邮件是否已经被占用。

6.如果验证通过且用户名、电子邮件未被占用,则系统创建一个新账户并显示成功消息。

7.用户收到一封确认邮件,点击确认链接完成注册流程。

3.1.6 替代流程•步骤4:如果输入信息不符合格式要求,系统给出相应的错误提示,并要求用户重新填写。

•步骤5:如果用户名或电子邮件已被占用,系统给出相应的错误提示,并要求用户修改用户名或电子邮件。

3.2 登录账户3.2.1 描述已注册的用户通过输入用户名和密码来登录账户。

3.2.2 参与者•用户:已注册并希望登录账户的个人或组织。

3.2.3 前置条件用户访问登录页面,并准备输入用户名和密码。

3.2.4 后置条件•如果用户名和密码匹配,系统将允许用户登录并跳转到主页。

•如果用户名和密码不匹配,系统将给出相应错误提示。

3.2.5 正常流程1.用户打开登录页面。

2.用户输入用户名和密码。

3.用户点击”登录”按钮。

4.系统验证用户名和密码是否匹配。

5.如果验证通过,则系统允许用户登录并跳转到主页。

6.如果验证不通过,则系统给出相应的错误提示。

3.2.6 替代流程•步骤4:如果用户名和密码不匹配,系统给出相应的错误提示,并要求用户重新输入。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 什么是用例?在介始用例方法之前,我们首先来看一下传统的需求表述方式-"软件需求规约"(Software Requirement Specification)。

传统的软件需求规约基本上采用的是功能分解的方式来描述系统功能,在这种表述方式中,系统功能被分解到各个系统功能模块中,我们通过描述细分的系统模块的功能来达到描述整个系统功能的目的。

一个典型的软件需求规约可能具有以下形式:采用这种方法来描述系统需求,非常容易混淆需求和设计的界限,这样的表述实际上已经包含了部分的设计在内。

由此常常导致这样的迷惑:系统需求应该详细到何种程度?一个极端就是需求可以详细到概要设计,因为这样的需求表述既包含了外部需求也包含了内部设计。

在有些公司的开发流程中,这种需求被称为"内部需求 ",而对应于用户的原始要求则被称之为"外部需求"。

功能分解方法的另一个缺点是这种方法分割了各项系统功能的应用环境,从各项功能项入手,你很难了解到这些功能项是如何相互关联来实现一个完成的系统服务的。

所以在传统的SRS文档中,我们往往需要另外一些章节来描述系统的整体结构及各部分之间的相互关联,这些内容使得SRS需求更象是一个设计文档。

1.1 参与者和用例从用户的角度来看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,也就是被开发出来的系统将是如何被使用的,这就用例方法的基本思想。

用例模型主要由以下模型元素构成:参与者(Actor)参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。

∙用例(Use Case)用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。

∙通讯关联(Communication Association)通讯关联用于表示参与者和用例之间的对应关系,它表示参与者使用了系统中的哪些服务(用例),或者说系统所提供的服务(用例)是被哪些参与者所使用的。

这大三种模型元素在UML中的表述如下图所示。

以银行自动提款机(ATM)为例,它的主要功能可以由下面的用例图来表示。

ATM 的主要使用者是银行客户,客户主要使用自动提款机来进行银行帐户的查询、提款和转帐交易。

通讯关联表示的是参与者和用例之间的关系,箭头表示在这一关系中哪一方是对话的主动发起者,箭头所指方是对话的被动接受者;如果你不想强调对话中的主动与被动关系,可以使用不带箭头的关联实线。

在参与者和用例之间的信息流不是由通讯关联来表示的,该信息流是缺省存在的(用例本身描述的就是参与者和系统之间的对话),并且信息流向是双向的,它与通讯关联箭头所指的方向亳无关系。

1.2 用例的内容用例图使我们对系统的功能有了一个整体的认知,我们可以知道有哪些参与者会与系统发生交互,每一个参与者需要系统为它提供什么样的服务。

用例描述的是参与者与系统之间的对话,但是这个对话的细节并没有在用例图中表述出来,针对每一个用例我们可以用事件流来描述这一对话的细节内容。

如在ATM系统中的"提款" 用例可以用事件流表述如下:提款-基本事件流1. 用户插入信用卡2. 输入密码3. 输入提款金额4. 提取现金5. 退出系统,取回信用卡但是这只描述了提款用例中最顺利的一种情况,作为一个实用的系统,我们还必须考虑可能发生的各种其他情况,如信用卡无效、输入密码错、用户帐号中的现金余额不够等,所有这些可能发生的各种情况(包括正常的和异常的)被称之为用例的场景(Scenario),场景也被称作是用例的实例(Instance)。

在用例的各种场景中,最常见的场景是用基本流(Basic Flow)来描述的,其他的场景则是用备选流(Alternative Flow)来描述。

对于ATM系统中的"提款"用例,我们可以得到如下一些备选流:提款-备选事件流备选流一:用户可以在基本流中的任何一步选择退出,转至基本流步骤5。

备选流二:在基本流步骤1中,用户插入无效信用卡,系统显示错误并退出信用卡,用例结束。

备选流三:在基本流步骤2中,用户输入错误密码,系统显示错误并提示用户重新输入密码,重新回到基本流步骤2;三次输入密码错误后,信用卡被系统没收,用例结束。

…通过基本流与备选流的组合,就可以将用例所有可能发生的各种场景全部描述清楚。

我们在描述用例的事件流的时候,就是要尽可能地将所有可能的场景都描述出来,以保证需求的完备性。

1.3 用例方法的优点用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。

在用例方法中,我们把被定义系统看作是一个黑箱,我们并不关心系统内部是如何完成它所提供的功能的。

用例方法首先描述了被定义系统有哪些外部使用者(抽象成为Actor),这些使用者与被定义系统发生交互;针对每一参与者,用例方法又描述了系统为这些参与者提供了什么样的服务(抽象成为Use Case),或者说系统是如何被这些参与者使用的。

所以从用例图中,我们可以得到对于被定义系统的一个总体印象。

与传统的功能分解方式相比,用例方法完全是从外部来定义系统的功能,它把需求与设计完全分离开来。

在面向对象的分析设计方法中,用例模型主要用于表述系统的功能性需求,系统的设计主要由对象模型来记录表述。

另外,用例定义了系统功能的使用环境与上下文,每一个用例描述的是一个完整的系统服务。

用例方法比传统的SRS更易于被用户所理解,它可以作为开发人员和用户之间针对系统需求进行沟通的一个有效手段。

在RUP中,用例被作为整个软件开发流程的基础,很多类型的开发活动都把用例作为一个主要的输入工件(Artifact),如项目管理、分析设计、测试等。

根据用例来对目标系统进行测试,可以根据用例中所描述的环境和上下文来完整地测试一个系统服务,可以根据用例的各个场景(Scenario)来设计测试用例,完全地测试用例的各种场景可以保证测试的完备性。

2. 建立用例模型使用用例的方法来描述系统的功能需求的过程就是用例建模,用例模型主要包括以下两部分内容:∙用例图(Use Case Diagram)确定系统中所包含的参与者、用例和两者之间的对应关系,用例图描述的是关于系统功能的一个概述。

∙用例规约(Use Case Specification)针对每一个用例都应该有一个用例规约文档与之相对应,该文档描述用例的细节内容。

在用例建模的过程中,我们建议的步聚是先找出参与者,再根据参与者确定每个参与者相关的用例,最后再细化每一个用例的用例规约。

2.1 寻找参与者所谓的参与者是指所有存在于系统外部并与系统进行交互的人或其他系统。

通俗地讲,参与者就是我们所要定义系统的使用者。

寻找参与者可以从以下问题入手:∙系统开发完成之后,有哪些人会使用这个系统?∙系统需要从哪些人或其他系统中获得数据?∙系统会为哪些人或其他系统提供数据?∙系统会与哪些其他系统相关联?∙系统是由谁来维护和管理的?这些问题有助于我们抽象出系统的参与者。

对于ATM机的例子,回答这些问题可以使我们找到更多的参与者:操作员负责维护和管理ATM机系统、ATM机也需要与后台服务器进行通讯以获得有关用户帐号的相关信息。

2.1.1 系统边界决定了参与者参与者是由系统的边界所决定的,如果我们所要定义的系统边界仅限于ATM机本身,那么后台服务器就是一个外部的系统,可以抽象为一个参与者。

如果我们所要定义的系统边界扩大至整个银行系统,ATM机和后台服务器都是整个银行系统的一部分,这时候后台服务器就不再被抽象成为一个参与者。

值得注意的是,用例建模时不要将一些系统的组成结构作为参与者来进行抽象,如在ATM机系统中,打印机只是系统的一个组成部分,不应将它抽象成一个独立的参与者;在一个MIS管理系统中,数据库系统往往只作为系统的一个组成部分,一般不将其单独抽象成一个参与者。

2.1.2 特殊的参与者――系统时钟有时候我们需要在系统内部定时地执行一些操作,如检测系统资源使用情况、定期地生成统计报表等等。

从表面上看,这些操作并不是由外部的人或系统触发的,应该怎样用用例方法来表述这一类功能需求呢?对于这种情况,我们可以抽象出一个系统时钟或定时器参与者,利用该参与者来触发这一类定时操作。

从逻辑上,这一参与者应该被理解成是系统外部的,由它来触发系统所提供的用例对话。

2.2 确定用例找到参与者之后,我们就可以根据参与者来确定系统的用例,主要是看各参与者需要系统提供什么样的服务,或者说参与者是如何使用系统的。

寻找用例可以从以下问题入手(针对每一个参与者):∙参与者为什么要使用该系统?∙参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是的话,参与者又是如何来完成这些操作的?∙参与者是否会将外部的某些事件通知给该系统?∙系统是否会将内部的某些事件通知该参与者?综合以上所述,ATM系统的用例图可表示如下,在用例的抽取过程中,必须注意:用例必须是由某一个主角触发而产生的活动,即每个用例至少应该涉及一个主角。

如果存在与主角不进行交互的用例,就可以考虑将其并入其他用例;或者是检查该用例相对应的参与者是否被遗漏,如果是,则补上该参与者。

反之,每个参与者也必须至少涉及到一个用例,如果发现有不与任何用例相关联的参与者存在,就应该考虑该参与者是如何与系统发生对话的,或者由参与者确定一个新的用例,或者该参与者是一个多余的模型元素,应该将其删除。

可视化建模的主要目的之一就是要增强团队的沟通,用例模型必须是易于理解的。

用例建模往往是一个团队开发的过程,系统分析员在建模过程中必须注意参与者和用例的名称应该符合一定的命名约定,这样整个用例模型才能够符合一定的风格。

如参与者的名称一般都是名词,用例名称一般都是动宾词组等。

对于同一个系统,不同的人对于参与者和用例都可能有不同的抽象结果,因而得到不同的用例模型。

我们需要在多个用例模型方案中选择一种"最佳"(或"较佳")的结果,一个好的用例模型应该能够容易被不同的涉众所理解,并且不同的涉众对于同一用例模型的理解应该是一致的。

2.3 描述用例规约应该避免这样一种误解――认为由参与者和用例构成的用例图就是用例模型,用例图只是在总体上大致描述了系统所能提供的各种服务,让我们对于系统的功能有一个总体的认识。

除此之外,我们还需要描述每一个有例的详细信息,这些信息包含在用例规约中,用例模型是由用例图和每一个用例的详细描述――用例规约所组成的。

RUP中提供了用例规约的模板,每一个用例的用例规约都应该包含以下内容:∙简要说明 (Brief Description)简要介绍该用例的作用和目的。

相关文档
最新文档