面向对象分析与设计3-用况图_第1页
面向对象分析与设计3-用况图_第2页
面向对象分析与设计3-用况图_第3页
面向对象分析与设计3-用况图_第4页
面向对象分析与设计3-用况图_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本章的主要概念本章的主要概念系统边界、参与者、用况、包含、扩展、泛化系统边界、参与者、用况、包含、扩展、泛化问题的提出:在系统尚未存在时,如何描绘用户需要一个什么样的问题的提出:在系统尚未存在时,如何描绘用户需要一个什么样的系统?如何规范地定义用户需求?系统?如何规范地定义用户需求?考虑问题的思路:把系统看作一个黑箱,看它对外部的客观世界发考虑问题的思路:把系统看作一个黑箱,看它对外部的客观世界发挥什么作用,描述它外部可见的行为。挥什么作用,描述它外部可见的行为。系统是由一条边界包围起来的未知空间只通过有限的接口与外部交互系统边界以外是与系统进行交互的参与者把内外交互情况描述清楚,就确切地定义

2、了系统的需求用况图用况图:主要用于对系统:主要用于对系统(子系统子系统)的功能行为进行建模。的功能行为进行建模。益处:益处:通过表示在语境中参与者如何与系统交互,使得系统、子系通过表示在语境中参与者如何与系统交互,使得系统、子系统和类对于用户和开发者易于探讨和理解。统和类对于用户和开发者易于探讨和理解。易于对需求规范化易于对需求规范化有利于进行有利于进行OOA有助于发现主动对象有助于发现主动对象对系统测试来说,产生测试用例。对系统测试来说,产生测试用例。有助于人机界面设计有助于人机界面设计系统边界系统边界系统:系统:是由是由“用户用户”使用的软件,以及所有与其相关的硬件。指使用的软件,以及所有

3、与其相关的硬件。指被开发的计算机软硬件系统,不是指现实世界的系统。被开发的计算机软硬件系统,不是指现实世界的系统。系统边界系统边界:一个系统所包含的所有系统成分与系统以外各种事物的分界线。系统成分:系统成分:在OOA和OOD中定义,在编程时加以实现的系统元素对象参与者参与者( (人员人员) )参与者参与者( (设备设备) )参与者参与者( (外系统外系统) )参与者参与者:在系在系统边界以外,统边界以外,与系统进行交与系统进行交互的事物互的事物人员、设备、人员、设备、外系统外系统3.1 系统边界系统边界现实世界中的事物与系统的关系包括如下几种情况:现实世界中的事物与系统的关系包括如下几种情况:

4、某些事物位于系统边界内,作为系统成分。如超市中的商品,某些事物位于系统边界内,作为系统成分。如超市中的商品,抽象为系统内的抽象为系统内的“商品商品”对象。对象。 某些事物位于系统边界外,作为参与者。某些事物位于系统边界外,作为参与者。某些事物可能既有一个对象作为其抽象描述,而本身(作为现某些事物可能既有一个对象作为其抽象描述,而本身(作为现实世界中的事物)又是在系统边界以外与系统进行交互的参与者。实世界中的事物)又是在系统边界以外与系统进行交互的参与者。如超市中的收款员,他本身是现实中的人,作为参与者;在系统如超市中的收款员,他本身是现实中的人,作为参与者;在系统边界内,又有一个相应的边界内,

5、又有一个相应的“收款员收款员”对象来模拟其行为或管理其对象来模拟其行为或管理其信息,作为系统成分。信息,作为系统成分。某些事物即使属于问题域,也与系统责任没有什么关系。如超某些事物即使属于问题域,也与系统责任没有什么关系。如超市中的保安员,在现实中与超市有关系,但与所开发的系统超市市中的保安员,在现实中与超市有关系,但与所开发的系统超市商品管理系统无关系。这样的事物既不位于系统边界内,也不作商品管理系统无关系。这样的事物既不位于系统边界内,也不作为系统的参与者。为系统的参与者。认识清楚上述事物之间的关系,也就划分出了系统边界。认识清楚上述事物之间的关系,也就划分出了系统边界。 简言之,参与者是

6、在系统之外的与系统进行交互的任何事物。 一个参与者定义了用况的使用者在与这些用况交互时所扮演的一组功能高内聚的角色。 参与者是与系统交互的任何事务。收款检查参与者可以发出对系统服务的请求参与者可以发出对系统服务的请求参与者能够初始系统部分的动作参与者能够初始系统部分的动作按系统的要求提供服务按系统的要求提供服务响应系统的请求响应系统的请求通过参与者和系统之间服务请求的复杂对话与系统交互通过参与者和系统之间服务请求的复杂对话与系统交互所有参与者的请求所有参与者的请求/响应的完全集构成了可以觉察到的系统的响应的完全集构成了可以觉察到的系统的问题域边界。问题域边界。一个参与者的一个实例代表以一种特定

7、的方式与系统进行的单一个参与者的一个实例代表以一种特定的方式与系统进行的单独的交互。独的交互。尽管在模型中使用参与者,但参与者实际上并不是系统的一部分。它尽管在模型中使用参与者,但参与者实际上并不是系统的一部分。它们存在于系统之外。们存在于系统之外。 q一些参与者可能具有共同的对系统调用的请求。一种做法是显一些参与者可能具有共同的对系统调用的请求。一种做法是显式地将这样的每一个请求与每一个参与者相关联。(不推荐)式地将这样的每一个请求与每一个参与者相关联。(不推荐)q如果一组参与者具有共同的性质,可以把这些性质抽取出来放如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,它

8、们再从中继承,把这种关系称为参与者之在另一个参与者中,它们再从中继承,把这种关系称为参与者之间的泛化关系。间的泛化关系。 从参与者从参与者A A到参与者到参与者B B之间的之间的泛化关系泛化关系是指,是指,A A的实例能与的实例能与和和B B实例实例进行通讯的用况实例进行通讯的用况实例进行通信。进行通信。BA下面是一些指导:下面是一些指导:1首先将精力集中于启动系统行为的参与者。这些是最容易识别首先将精力集中于启动系统行为的参与者。这些是最容易识别的参与者,从中可以找出其他参与者。的参与者,从中可以找出其他参与者。2从用户的角度考虑,怎样使用这个系统。从用户的角度考虑,怎样使用这个系统。3识别

9、单个参与者在系统中可能担当的角色,然后确定参与者的识别单个参与者在系统中可能担当的角色,然后确定参与者的各个角色。各个角色。4.4. 对识别出来的参与者,记录它们的责任。对识别出来的参与者,记录它们的责任。5. 5. 通过识别一般的或较特殊的角色来组织参与者。通过识别一般的或较特殊的角色来组织参与者。 用户用户从直接使用系统的人员中发现参与者。从直接使用系统的人员中发现参与者。这里强调的是直接使用,而不是间接的。这里强调的是直接使用,而不是间接的。特定的人,在系统中可扮演不同的角色。特定的人,在系统中可扮演不同的角色。例如,添加数据、使用数据及产生报告的那个人就扮演了三种不同的角例如,添加数据

10、、使用数据及产生报告的那个人就扮演了三种不同的角色,反映为三种不同的参与者。色,反映为三种不同的参与者。 例如,用户角色的类别可为:目标终端用户、管理员、经理或顾客。例如,用户角色的类别可为:目标终端用户、管理员、经理或顾客。 外部系统外部系统所有与系统交互的外部应用系统都是参与者。所有与系统交互的外部应用系统都是参与者。从系统边界的角度,应该把与软件系统一起运行以完成特定任务的应用从系统边界的角度,应该把与软件系统一起运行以完成特定任务的应用系统,看作是外部的应用。相对于当前在正在开发的系统而言,外部应用系统可系统,看作是外部的应用。相对于当前在正在开发的系统而言,外部应用系统可以是其他子系

11、统、上级系统、下级系统或任何与它进行协作的系统,但对它的开以是其他子系统、上级系统、下级系统或任何与它进行协作的系统,但对它的开发并不是当前系统的开发小组的责任。发并不是当前系统的开发小组的责任。 设备设备识别所有与系统交互的设备。识别所有与系统交互的设备。这样的设备与系统相连,向系统提供外界信息,或在系统的控制下运这样的设备与系统相连,向系统提供外界信息,或在系统的控制下运行。通常,不包括监视器、键盘、鼠标和其它的标准的用户接口类型设备,但行。通常,不包括监视器、键盘、鼠标和其它的标准的用户接口类型设备,但我们考虑外部传感器(输入信息)和受控马达(输出信息)。我们考虑外部传感器(输入信息)和

12、受控马达(输出信息)。总结:如何发现参与者?总结:如何发现参与者?人员人员系统的直接使用者系统的直接使用者直接为系统服务的人员直接为系统服务的人员设备设备与系统直接相联的设备与系统直接相联的设备为系统提供信息为系统提供信息在系统控制下运行在系统控制下运行不与系统相联的设备不与系统相联的设备计算机设备计算机设备外系统外系统上级系统上级系统子系统子系统其它系统其它系统超市销售管理系统收款员供货员上级系统收款员、供货员、导购员、经理、保安、顾客收款机? 用况是对参与者使用系统的一项功能时所进行的交互过程的描述。用况是对参与者使用系统的一项功能时所进行的交互过程的描述。 用户需求是分析工用户需求是分析

13、工作的起点,但分析员能够得到的反映用户需求的材料常常是不够规范或不够准确作的起点,但分析员能够得到的反映用户需求的材料常常是不够规范或不够准确的。通过全面、认真地定义用况,可把用户对系统的功能需求比较准确地在用况的。通过全面、认真地定义用况,可把用户对系统的功能需求比较准确地在用况中表达出来,并且在形式上是较为规范的。中表达出来,并且在形式上是较为规范的。 。系统、子系统可能会很复杂,充系统、子系统可能会很复杂,充满了操作和其它部分。通过用况,可以帮助这些元素的使用者根据他们将如何使满了操作和其它部分。通过用况,可以帮助这些元素的使用者根据他们将如何使用这些元素而直接地认识它们。用况使一个元素

14、的作者可以就元素应该如何被使用这些元素而直接地认识它们。用况使一个元素的作者可以就元素应该如何被使用,表达意图。用,表达意图。 用况用况是对参与者使用系统的一项功能时所进行的交互过程的一个文是对参与者使用系统的一项功能时所进行的交互过程的一个文字描述序列字描述序列。几点说明:几点说明:(1 1)一个用况描述参与者对一项或几项系统功能的使用情况。)一个用况描述参与者对一项或几项系统功能的使用情况。而且只有当外而且只有当外部的参与者与该系统或类目进行交互时,该功能才发挥作用。部的参与者与该系统或类目进行交互时,该功能才发挥作用。 (2 2)用况中描述的行为实际上是系统级的。在用况内所描述的交互中的

15、动作用况中描述的行为实际上是系统级的。在用况内所描述的交互中的动作应该是详细的,准则是对用况的理解不产生歧义即可应该是详细的,准则是对用况的理解不产生歧义即可;若描述得过于综合,则若描述得过于综合,则不易认识清楚系统的功能。不易认识清楚系统的功能。(3 3)陈述参与者和系统在交互过程中双方所做的事。而且描述彼此为对方直)陈述参与者和系统在交互过程中双方所做的事。而且描述彼此为对方直接地做什么事,不描述怎么做,接地做什么事,不描述怎么做,内部细节不要在其中描述。内部细节不要在其中描述。 (4 4)用况既表达了系统的功能需求,也表达了系统的功能划分。用况既表达了系统的功能需求,也表达了系统的功能划

16、分。 2 2 定义及表示法定义及表示法(5 5)描述应力求准确、清晰,允许概括,但不要把双方的行为混在)描述应力求准确、清晰,允许概括,但不要把双方的行为混在一起。一起。(6 6)系统执行该动作序列来为参与者产生一个可观察的结果值。系统执行该动作序列来为参与者产生一个可观察的结果值。(7 7)用况描述的是一个参与者所使用的一项系统功能,该项功能应用况描述的是一个参与者所使用的一项系统功能,该项功能应该相对完整。这就要求一个用况描述的功能,即不能过大以至于包含该相对完整。这就要求一个用况描述的功能,即不能过大以至于包含过多的内容,也不能过小以至于仅包含完成一项功能的若干步骤。过多的内容,也不能过

17、小以至于仅包含完成一项功能的若干步骤。 (8)用况描述中的一个步骤应该描述且仅描述参与者或系统要完成)用况描述中的一个步骤应该描述且仅描述参与者或系统要完成的一件事情。的一件事情。 (9)可以使用类图、活动图等对用况进行详细说明。)可以使用类图、活动图等对用况进行详细说明。 例如,在ATM 系统中,描述一个用况“验证用户验证用户” 可以采用以下方式: 基本流:在系统提示顾客输入PIN编号时,用况开始。顾客通过按键输入PIN号。顾客按“输入”按钮确认登录。系统校验这个PIN 号是否有效。如果有效,系统承认这次登录,该用况结束。 可选流:顾客可以在任何时间通过按“取消”按钮取消一个事务,这样,该用

18、况重新开始。顾客的账户未发生改变。 可选流:顾客可以在确认之前的任何时刻清除PIN号,并重新输入一个新的PIN号。 可选流:如果顾客输入了一个无效的PIN 号,用况重新开始。如果连续3 次无效,系统将取消整个事务,并在60 秒内阻止该顾客与ATM 进行交易。收款员收款收款员收款输入开始本次收款的命令;输入开始本次收款的命令; 作好收款准备,应收款总作好收款准备,应收款总 数置为数置为0 0,输出提示信息;,输出提示信息;for for 顾客选购的每种商品顾客选购的每种商品 dodo 输入商品编号;输入商品编号; if if 此种商品多于一件此种商品多于一件 thenthen 输入商品数量输入商

19、品数量 end ifend if; 检索商品名称及单价;检索商品名称及单价; 货架商品数减去售出数;货架商品数减去售出数; if if 货架商品数低于下限货架商品数低于下限thenthen 通知供货员请求上货通知供货员请求上货 end ifend if; 计算本种商品总价并打印编号、计算本种商品总价并打印编号、 名称、数量、单价、总价;名称、数量、单价、总价; 总价累加到应收款总数;总价累加到应收款总数;end forend for; 打印应收款总数;打印应收款总数;输入顾客交来的款数;输入顾客交来的款数; 计算应找回的款数,计算应找回的款数, 打印以上两个数目,打印以上两个数目, 应收款数计

20、入帐册。应收款数计入帐册。例用况示例用况示例表示形式表示形式:名称(参与者,功能)名称(参与者,功能)行为描述行为描述控制语句控制语句括号或标号括号或标号收款员收款3 用况与参与者之间的关系用况与参与者之间的关系 用况用况与参与者间的关联是参与者在用况中的参与(也就是参与者与参与者间的关联是参与者在用况中的参与(也就是参与者实例与用况实例之间的相互通信)。实例与用况实例之间的相互通信)。若没有进行特殊的说明,任何一方都可发送和接收消息。即交互若没有进行特殊的说明,任何一方都可发送和接收消息。即交互是双向的,参与者能够产生对系统的请求,或系统要求参与者采是双向的,参与者能够产生对系统的请求,或系

21、统要求参与者采取某些动作。取某些动作。这是参与者和用况之间的唯一关系。这是参与者和用况之间的唯一关系。把参与者和用况之间的关联表示成参与者和用况之间的一条实线。把参与者和用况之间的关联表示成参与者和用况之间的一条实线。 用况的一个用况的一个场景场景是指用况执行过程是指用况执行过程中的一个特定的实例或执行路径。中的一个特定的实例或执行路径。收款检查一个用况可能要与系统的一个或几个参与者交互。一个用况可能要与系统的一个或几个参与者交互。 在下述情况下,就需要考虑产生新的用况,并在用况间建立关系:在一个用况中存在着几处重复使用的动作序列;在几个用况中存在着重复使用的动作序列;一个用况中的主要动作序列

22、或分支动作序列过于冗长或复杂,而且分离它们有助于管理和理解。If AIF CIF AIF C A C用况X用况YIF (A)IF (C)IF(A)IF (C)用况X用况Y 从基用况到扩展用况的扩展关系表明:按基用况中指定的从基用况到扩展用况的扩展关系表明:按基用况中指定的扩展条件,把扩展用况的行为插入到由基用况中的扩展点定义扩展条件,把扩展用况的行为插入到由基用况中的扩展点定义的位置。的位置。 通过敞开的虚线箭头表示用况之间的扩展关系,该箭头从通过敞开的虚线箭头表示用况之间的扩展关系,该箭头从提供扩展的用况指向基用况。这个箭头用关键字提供扩展的用况指向基用况。这个箭头用关键字标记。可以在这个关

23、键字附近表示这个关系的条件。标记。可以在这个关键字附近表示这个关系的条件。基用况基用况扩展用况扩展用况extend基用况是可单独存在的,但是在一定的条件下,它的行为可以被另一个用况的行为扩展。扩展用况定义一组行为增量,扩展用况定义的行为离开基用况单独是没意义的。 一个扩展用况可以扩展多个用况,一个用况也可以被多个用况扩展,甚至一个扩展用况自身也可以被其他扩展用况来扩展。 适应之处:适应之处: (1)异常情况 (2)正常的变形描述时,而且希望采用更多的控制方式时,采用扩展。即在一个变化点上一个附加多个变体的场合下使用。 (3)用扩展关系来区分可实现系统的可配置部分。定义定义:一个扩展点是用况中的

24、一个位一个扩展点是用况中的一个位置,在这样的位置上,如果扩展条件为置,在这样的位置上,如果扩展条件为真,可就以插入扩展用况中描述的全部真,可就以插入扩展用况中描述的全部动作序列或其中的一部分,并予以执行。动作序列或其中的一部分,并予以执行。执行完后,基用况继续执行扩展点下面执行完后,基用况继续执行扩展点下面的行为。如果扩展条件为假,扩展不会的行为。如果扩展条件为假,扩展不会发生。发生。 可以把扩展点列在用况中的一个题可以把扩展点列在用况中的一个题头为头为“扩展点扩展点”的分栏中。以一种适当的分栏中。以一种适当的方式给出扩展点的位置描述,通常采的方式给出扩展点的位置描述,通常采用普通的文本。用普

25、通的文本。 AA A用况X用况Y(A)(A)用况X用况Y 从基用况到供应者用况的包含关系表明:基用况在它内部从基用况到供应者用况的包含关系表明:基用况在它内部说明的某一(些)位置上显式地使用供应者用况的行为的结果。说明的某一(些)位置上显式地使用供应者用况的行为的结果。 通过一个敞开的虚线箭头表示用况之间的包含关系,该箭通过一个敞开的虚线箭头表示用况之间的包含关系,该箭头 从 基 用 况 指 向 被 包 含 的 用 况 。 这 个 箭 头 用 关 键 字头 从 基 用 况 指 向 被 包 含 的 用 况 。 这 个 箭 头 用 关 键 字标记。标记。 包含关系使得我们在一个用况中局部化多个用况

26、中共同的活包含关系使得我们在一个用况中局部化多个用况中共同的活动序列。这样,可以避免多次描述同一事件流;当这个共同的动序列。这样,可以避免多次描述同一事件流;当这个共同的序列发生变化时,这样就显现出优势,即只需要在一个地方进序列发生变化时,这样就显现出优势,即只需要在一个地方进行改动。行改动。 包含用况不能修改被包含用况中的内容,只是对结果的引用。包含用况不能修改被包含用况中的内容,只是对结果的引用。供应者供应者基用况基用况include 用况之间的泛化关系就像类之间的泛化关系一样。子用用况之间的泛化关系就像类之间的泛化关系一样。子用况继承父用况的行为和含义;子用况还可以增加或覆盖父用况继承父

27、用况的行为和含义;子用况还可以增加或覆盖父用况的行为;子用况可以出现在父用况出现的任何位置(父和况的行为;子用况可以出现在父用况出现的任何位置(父和子均有具体的实例)。子均有具体的实例)。 用一个指向父用况的带有封闭的空心箭头的实线来表示用一个指向父用况的带有封闭的空心箭头的实线来表示用况之间的泛化关系。用况之间的泛化关系。 BA 资金转帐 扣除费用 不允许透支也可以使用包含处理取款单处理取款单业务员输入处理取款命令Include 检查口令收集客户的取款单上的信息;加急(扩展点)如果客户选择了加急 extend 处理加急取款单1)利用参与者捕获用况)利用参与者捕获用况 对所有的参与者(把自己作

28、为参与者),提问下列问题:对所有的参与者(把自己作为参与者),提问下列问题: 每个参与者的主要任务是什么?每个参与者的主要任务是什么? 为了达到某种目的,它们参加什么活动?该参与者是否将读写为了达到某种目的,它们参加什么活动?该参与者是否将读写系统的任何信息?参与者是否该把系统外部的变化通知系统?参与系统的任何信息?参与者是否该把系统外部的变化通知系统?参与者是否希望系统把预料之外的变化通知自己?者是否希望系统把预料之外的变化通知自己? 在交互过程中,它们是怎样使用系统的服务来完成它们的任务在交互过程中,它们是怎样使用系统的服务来完成它们的任务以达到目的?以达到目的? 它们参加了什么在本质上是

29、不同的过程?它们参加了什么在本质上是不同的过程? 是什么事件引起了与系统进行交互的序列?是什么事件引起了与系统进行交互的序列? 能完成特定功能的每一项活动明确地是一个用况。这些参与者能完成特定功能的每一项活动明确地是一个用况。这些参与者参与的活动,通常会导致其它用况。参与的活动,通常会导致其它用况。 用于本步骤的一些简单的指导如下:用于本步骤的一些简单的指导如下:(1) 一个用况描述一项功能,这项功能不能过大。例如,把一个企业信息管一个用况描述一项功能,这项功能不能过大。例如,把一个企业信息管理系统粗略地分为生产管理、供销管理、财务管理和人事管理等几大方面的功理系统粗略地分为生产管理、供销管理

30、、财务管理和人事管理等几大方面的功能,就显得粒度太大了,应该再进行细化。能,就显得粒度太大了,应该再进行细化。(2 2)全面地认识和定义每一个用况,要点是以)全面地认识和定义每一个用况,要点是以穷举的方式穷举的方式考虑每一个参与者考虑每一个参与者与系统的交互情况,看看每个参与者要求系统提供什么功能,以及参与者的每与系统的交互情况,看看每个参与者要求系统提供什么功能,以及参与者的每一项输入信息将要求系统作出什么反映,进行什么处理。一项输入信息将要求系统作出什么反映,进行什么处理。(3 3)以以穷举的方式穷举的方式检查用户对系统的功能需求是否能在各个用况中体现出来。检查用户对系统的功能需求是否能在

31、各个用况中体现出来。(4 4)一个用况应该是一个完整的任务,通常应该在一个相对短的时间段内完一个用况应该是一个完整的任务,通常应该在一个相对短的时间段内完成。如果一个用况的各部分被分配在不同的时间段,尤其被不同的参与者执行,成。如果一个用况的各部分被分配在不同的时间段,尤其被不同的参与者执行,最好还是将各部分作为单独的用况对待。最好还是将各部分作为单独的用况对待。(5 5)考虑对例外情况的处理。针对用况描述的基本流,要详尽地考虑各种其考虑对例外情况的处理。针对用况描述的基本流,要详尽地考虑各种其他的情况他的情况 场景用况抽象3)、使用场景技术、使用场景技术 如果不能顺利地确定一个用况的描述,可

32、尽早使用人们熟知的“角色扮演”技术。 用况名用况名描述:对该用况的一句或两句的描述。描述:对该用况的一句或两句的描述。参与者:参与该用况的参与者。参与者:参与该用况的参与者。包含:该用况所包含的用况,以及包含它的用况。包含:该用况所包含的用况,以及包含它的用况。扩展:该用况可以扩展的用况,以及扩展它的用况。扩展:该用况可以扩展的用况,以及扩展它的用况。泛化:若该用况的子用况和父用况。泛化:若该用况的子用况和父用况。前置条件:启动此用况所必须具备的条件。前置条件:启动此用况所必须具备的条件。细节:该用况的细节。(基本流与可选流)细节:该用况的细节。(基本流与可选流)后置条件:在该用况结束时确保成

33、立的条件。后置条件:在该用况结束时确保成立的条件。例外:在该用况的执行的过程中可能引起的例外例外:在该用况的执行的过程中可能引起的例外*。限制:在应用中可能出现的任何限制限制:在应用中可能出现的任何限制*。注释:提供可能对该用况是重要的任何附加信息。注释:提供可能对该用况是重要的任何附加信息。 用况图展示了用况之间以及同用况与参与者之间是怎样相互联用况图展示了用况之间以及同用况与参与者之间是怎样相互联系的。用况图用于对系统、子系统或类的行为进行可视化,使用户系的。用况图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。能够理解如何使用这些元素,

34、并使开发者能够实现这些元素。 用况图用况图呈现了一些参与者和一些用况,以及它们之间的关系。呈现了一些参与者和一些用况,以及它们之间的关系。 在图形上,用况图是一幅由一组参与者、一组用况以及这些元在图形上,用况图是一幅由一组参与者、一组用况以及这些元素之间的关系组成的图。这些关系是参与者和用况之间的关联、参素之间的关系组成的图。这些关系是参与者和用况之间的关联、参与者之间的泛化,以及用况之间的泛化、扩展和包含。与者之间的泛化,以及用况之间的泛化、扩展和包含。 可以选择把一些用况用一个矩形围起来,用来表示系统、子系可以选择把一些用况用一个矩形围起来,用来表示系统、子系统或统或“类类”的边界。的边界

35、。 用况图可以包含注解和约束。用况图可以包含注解和约束。 use case ause case b use case c用况图用况图参与者 s参与者 g被包含的use case该用况应优先开发运 输 公司职员订购货物获取订单状态获取目录取消订单客户退货客户代表运送货物发送货物计算运费供货商? 通过识别系统周围的参与者来建立系统的语境。 对于每个参与者,考虑它期望的或需要系统提供的行为。 把上述的行为命名为用况。 分解公共行为,放入新的用况中,以供其他的用况使用;分解异常行为,放入新的用况中,以延伸较为主要的控制流。 在用况图中对这些用况、参与者以及它们的关系进行建模。 用陈述非功能需求的注解或

36、约束来修饰这些用况,可能还要把其中的一些附加到整个系统。注:有人把不与系统进行内外交互的情况也作为一个用况,如在一个信用卡验证的系统中,把系统内的对信用卡的欺诈检查也作为一个用况*。 确定系统环境中的所有角色,并都归入了相应的参与者。确定系统环境中的所有角色,并都归入了相应的参与者。 每个参与者都至少和一个用况关联;每个参与者都至少和一个用况关联; 若一个参与者是另一个参与者的一部分,或扮演了类似的角色,考虑在若一个参与者是另一个参与者的一部分,或扮演了类似的角色,考虑在它们之间使用泛化关系;它们之间使用泛化关系; 每个用况都至少和一个参与者相关;每个用况都至少和一个参与者相关; 若两个用况有相同或相似的序列,可能需要合并它们,或抽取出一个新若两个用况有相同或相似的序列,可能需要合并它们,或抽取出一个新用况,在它们之间使用包含、扩展或泛化关系。用况,在它们之间使用包含、扩展或泛化关系。 若用况过于复杂,为了易于理解,考虑进行分解;若用况过于复杂,为了易于理解,考虑进行分解;若一个用况中有完全若一个用况中有完全不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论