UML及软件建模 主讲人:李唯 Clx7000@163.com
Page 1 UML及软件建模 主讲人 :李 唯 clx7000@163.com
第六章用例 什么是用例 创建、包含和扩展用例背后的思想 如何开始一个用例分析
Page 2 第六章 用例 什么是用例 创建、包含和扩展用例背后的思想 如何开始一个用例分析
概述 当用例视图在外部用户前出现时,它捕获到系统、子 系统或类的行为。它将系统功能划分成对参与者即系 统的理想用户)有用的需求。而交互功能部分被称作用 例。用例使用系统与一个或多个参与者之间的一系列 消息来描述系统中的交互作用。参与者可以是人,也可 以是外部计算机系统和外部进程
Page 3 当用例视图在外部用户前出现时,它捕获到系统、子 系统或类的行为。它将系统功能划分成对参与者(即系 统的理想用户)有用的需求。而交互功能部分被称作用 例。用例使用系统与一个或多个参与者之间的一系列 消息来描述系统中的交互作用。参与者可以是人,也可 以是外部计算机系统和外部进程。 1、概述
用例( ISe ease) 用例是外部可见的一个系统功能单元这些功能由系统单元所提供并通过 系列系统单元与一个或多个参与者之间交换的消息所表达 用例的用途是在不揭示系统内部构造的情况下定义连贯的行为。 用例的定义包含用例所必需的所有行为执行用例功能的主线次序、标准 行为的不同变形、一般行为下的所有异常情况及其预期反应。从用户角度 来看,上述情况很可能是异常情况;从系统角度来看,它们是必须被描述和处 理的附加情况。 在模型中每个用例的执行独立于其他用例,虽然在具体执行一个用例功能 时由于用例之间共享对象的缘故可能会造成本用例与其他用例之间有这样 或那样的隐含的依赖关系。每一个用例都是一个纵向的功能块,这个功能 块的执行会和其他用例的执行发生混杂
Page 4 2、用例(use case) 用例是外部可见的一个系统功能单元,这些功能由系统单元所提供,并通过一 系列系统单元与一个或多个参与者之间交换的消息所表达。 用例的用途是在不揭示系统内部构造的情况下定义连贯的行为。 用例的定义包含用例所必需的所有行为—执行用例功能的主线次序、标准 行为的不同变形、一般行为下的所有异常情况及其预期反应。从用户角度 来看,上述情况很可能是异常情况;从系统角度来看,它们是必须被描述和处 理的附加情况。 在模型中,每个用例的执行独立于其他用例,虽然在具体执行一个用例功能 时由于用例之间共享对象的缘故可能会造成本用例与其他用例之间有这样 或那样的隐含的依赖关系。每一个用例都是一个纵向的功能块,这个功能 块的执行会和其他用例的执行发生混杂
用例的动态执行过程可以用UML的交互作用来说明,可以用状态图 閣协律集要现排正奖该参秦份电图糖验骛(甭 翻箭是订维柔歪统对处部围启四提东省月例蝶 持 接受参与者的 用例玛可以被像 系统和独立 元所M 示了系统 分是现 例如,某个类的 连贯 这 甭稠是该关提铁给系统内其他有将米作用的类的,一个关订有多 甩侧是型系统部分功能的逻描述 不是明显的用于系统实现的 值如此 类 用例城巨系统的鉴相映 类在
Page 5 ◼ 用例的动态执行过程可以用UML的交互作用来说明,可以用状态图、 顺序图、合作图或非正式的文字描述来表示。用例功能的执行通过类 之间的协作来实现。一个类可以参与多个协作,因此也参与了多个用 例。 ◼ 在系统层,用例表示整个系统对外部用户可见的行为。一个用例就像 外部用户可使用的系统操作。然而,它又与操作不同,用例可以在执 行过程中持续接受参与者的输入信息。用例也可以被像子系统和独立 类这样的小单元所应用。一个内部用例表示了系统的一部分对另一部 分呈现出的行为。例如,某个类的用例表示了一个连贯的功能,这个 功能是该类提供给系统内其他有特殊作用的类的。一个类可以有多个 用例。 ◼ 用例是对系统一部分功能的逻辑描述,它不是明显的用于系统实现的 构件。非但如此,每个用例必须与实现系统的类相映射。用例的行为 与类的状态转换和类所定义的操作相对应。只要一个类在系统的实现 中充当多重角色,那么它将实现多个用例的一部分功能。设计过程的 一部分工作即在不引入混乱的情况下,找出具有明显的多重角色的类 ,以实现这些角色所涉及的用例功能。用例功能靠类间的协作来实现