1、第6章 用例图1用例图用例图 l用例图(Use Case Diagrams)是UML中用来对系统的动态方面进行建模的7种图之一(另外6种图是活动图、状态机图、顺序图、通信图、定时图和交互概览图)。l用例图描述了用例、参与者以及它们之间的关系。2用例图用例图l三种主要建模元素:l用例(Use Case)。l参与者(Actor)。l依赖、类属和关联关系。l可选元素:l注释和约束。l包。l系统边界框。3用例图用例图4参与者参与者l参与者代表与系统接口的事物或人,它是具有某一种特定功能的角色,因此参与者是虚拟的概念,它可以是人,也可以是外部系统或设备。l同一个人可能对应多个参与者,因为一个人可能扮演多
2、个角色。l参与者不是系统的一部分,它们处于系统的外部。l如何识别出参与者?l参与者代表角色。l参与者不是对职位进行建模。5用例用例 l用例是对系统行为的动态描述,它可以增进设计人员、开发人员与用户的沟通,理解正确的需求;还可以划分系统与外部实体的界限,是系统设计的起点,是类、对象、操作的来源,而通过逻辑视图的设计,可以获得软件的静态结构。l如何识别用例?6事件流文档模板事件流文档模板l事件流文档模板:lX.用例XX(用例名)的事件流lX.1 前置条件(Pre-Conditions)lX.2 后置条件(Post-Conditions)lX.3 扩充点(Extension Points)lX.4
3、事件流lX.4.1 基流(Basic Flow)lX.4.2 分支流(Subflows)(可选)lX.4.3 替代流(Alternative Flows)7用例与脚本用例与脚本 l脚本或场景(Scenario)是系统行为的一个特定动作序列。l脚本与用例的关系就象实例与类的关系,即脚本是用例的一个实例。8用例间的关系用例间的关系l类属关系l如同类间的类属关系。即,子用例继承父用例的行为和含义,子用例可以添加新行为或覆盖父用例的行为。lInclude关系(包含关系)l用例间的包含关系表示在基用例的指定位置,基用例显式地包含另一个用例的行为。l被包含的用例是不能独立存在的,只是包含它的更大用例的一部
4、分。lExtend关系(扩充关系)l扩充关系用来说明可选的、只在特定条件下运行的行为。l扩充关系用衍型为的依赖关系表示,并在基用例中列出基用例的扩充点,这些扩充点是出现在基用例的流中的标记。9类属关系类属关系 Validate user Validate password Scan IDCard 10Include关系关系 Create new account Delete existing account Modify account information Log in 11Extend关系关系 Take exam Extension points fail Make up exam Finish homework Have lessons Student 12 用例图的应用用例图的应用 l 用例图的应用 l为系统的上下文建模。l为系统的需求建模。13