分享
 
 
 

第5章 用 例 视 图

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

5.1 概述

当用例视图在外部用户前出现时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互功能部分被称作用例。用例使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互作用。参与者可以是人,也可以是外部计算机系统和外部进程。图5-1表述了一个电话目录销售的用例视图。此例是实际系统简化后的例子。

图5-1 用例图

5.2 参与者

参与者是与系统、子系统或类发生交互作用的外部用户、进程或其他系统的理想化概念。作为外部用户与系统发生交互作用,这是参与者的特征。在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。

每个参与者可以参与一个或多个用例。它通过交换信息与用例发生交互作用(因此也与用例所在的系统或类发生了交互作用),而参与者的内部实现与用例是不相关的,参与者可以被一组定义它的状态的属性充分描述。

参与者可以通过泛化关系来定义,在这种泛化关系中,一个参与者的抽象描述可以被一个或多个具体的参与者所共享。

参与者可以是人、另一个计算机系统或一些可运行的进程。在图中,参与者用一个名字写在下面的小人表示。

5.3 用例

用例是外部可见的一个系统功能单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用例的用途是在不揭示系统内部构造的情况下定义连贯的行为。用例的定义包含用例所必需的所有行为—执行用例功能的主线次序、标准行为的不同变形、一般行为下的所有异常情况及其预期反应。从用户角度来看,上述情况很可能是异常情况;从系统角度来看,它们是必须被描述和处理的附加情况。

在模型中,每个用例的执行独立于其他用例,虽然在具体执行一个用例功能时由于用例之间共享对象的缘故可能会造成本用例与其他用例之间有这样或那样的隐含的依赖关系。每一个用例都是一个纵向的功能块,这个功能块的执行会和其他用例的执行发生混杂。

用例的动态执行过程可以用UML的交互作用来说明,可以用状态图、顺序图、合作图或非正式的文字描述来表示。用例功能的执行通过类之间的协作来实现。一个类可以参与多个协作,因此也参与了多个用例。

在系统层,用例表示整个系统对外部用户可见的行为。一个用例就像外部用户可使用的系统操作。然而,它又与操作不同,用例可以在执行过程中持续接受参与者的输入信息。用例也可以被像子系统和独立类这样的小单元所应用。一个内部用例表示了系统的一部分对另一部分呈现出的行为。例如,某个类的用例表示了一个连贯的功能,这个功能是该类提供给系统内其他有特殊作用的类的。一个类可以有多个用例。

用例是对系统一部分功能的逻辑描述,它不是明显的用于系统实现的构件。非但如此,每个用例必须与实现系统的类相映射。用例的行为与类的状态转换和类所定义的操作相对应。只要一个类在系统的实现中充当多重角色,那么它将实现多个用例的一部分功能。设计过程的一部分工作即在不引入混乱的情况下,找出具有明显的多重角色的类,以实现这些角色所涉及的用例功能。用例功能靠类间的协作来实现。

用例除了与其参与者发生关联外,还可以参与系统中的多个关系(如表5-1)。

表5-1 用例之间的关系

如图5-2,用例用一个名字在里面的椭圆表示,用例和与它通信的参与者之间用实线连接。

图5-2 用例之间的关系

虽然每个用例的实例是独立的,但是一个用例可以用其他的更简单的用例来描述。这有点像一个类可以通过继承它的超类并增加附加描述来定义。一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。在这种情况下,新用例不是初始用例的一个特殊例子,而且不能被初始用例代替。

一个用例也可以被定义为基用例的增量扩展,这叫做扩展关系。同一个基用例的几个扩展用例可以在一起应用。基用例的扩展增加了原有的语义, 此时是本用例而不是扩展用例被作为例子使用。

包含和扩展关系可以用含有关键字<<include>>和<<extend>>的带箭头的虚线表示。包含关系箭头指向被包含的用例,扩展关系箭头指向被扩展的用例。

一个用例也可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。

用例泛化与其他泛化关系的表示法相同,都用一个三角箭头从子用例指向父用例。图5-2表示了销售中的用例关系。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有