企业进销存管理系统-用例视图介绍 (情境2-3-9)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用例视图
•类图的绘制过程及如何读懂一个类图?•
类图中的常用辅助建模元素有哪些?
知识回顾
本讲知识图谱
•用例和用例驱动开发•如何阅读用例图•如何绘制用例图•用例图应用说明
•
本章小结
本讲主要内容
就是一个小的,具有客户价值的功能,通常表示为
由客户参与编写,说明他们需要系统为他们做
什么,一般用客户的术语编写,其长度约为三句
话左右
用户故事(user story)描绘一个系统外在可见的需求情况,是代表系
统中各个项目相关人员(风险承担人,
Stakeholder)之间就系统的行为所达成的契约
用例(Use case)描述
实践名称•共性:站在用户的角度看待系统、定义系统;使用用户
能够看懂的语言来表述
现代需求实践
用例驱动开发过程
•知名的“用例驱动”的开发过程有两个,一个就是重型的RUP,另一个则是“离地1000公尺”的ICONIX •在这些开发过程中,开发人员首先捕获客户的需求,并
以用例的形式组织成用例模型。然后分析并设计系统来满足这些用例,因此在用例模型之后就是分析模型,接着是设计模型和实施模型。在实现了整个系统之后,还将根据用例模型设计出测试模型来对系统进行验证。•这些模型之间并不是线性转变的,它们是一个迭代、增量的开发过程。也就是在整个项目开发周期中,将会多次经过这五个模型的迭代,每次都将越来越精化
参与者
•参与者是为了完成一个事件而与系统交互的实体,是用户相对系统而言所演的角色
•参与者不仅可以由人承担,还可以是其它系统、硬件设备、甚至是时钟
1)其它系统:当系统需要与其它系统交互时,如ATM柜员机系统中,银行后台系统就是一个参与者;
2)硬件设备:如果系统需要与硬件设备交互时,如在开发IC卡门禁系统时,IC卡读写
器就是一个参与者;
3)时钟:当系统需要定时触发
时,时钟就是参与者
如何寻找系统的参与者•谁或为什么使用系统,交互中它们扮演什么角色。
•谁安装、维护、启动和关闭系统。
•与该系统交互的是什么系统。
•谁从系统获取信息。
•谁提供信息给系统。
•有什么事发生在固定事件。
•
用例实例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。一个用例定义一组用例实例。•
用例是由一组用例实例组成的,用例实例也就是常说的“使用场景”,就是用户使用系统的一个实际的、特定的场景
•
用例应该给参与者带来可见的价值,这点十分关键
用例
•特定参与者希望系统提供什么功能。•
系统是否存储各检索信息,如果是,这个行为由哪个参与者触发。•当系统改变状态时,通知参与者吗。•存在影响系统的外部事件吗。
•是哪个参与者通知系统这个事件。
识别用例的最好办法是从分析系统的参与者开始,考虑每个参与者是怎样使用系统。
如何识别系统的用例
Ø绘制下列用例图
课堂练习
用例图的组成元素
•图中的元素包括:参与者、用例和一些表示关系的连接线。
•参与者与用例的关系:在参与者和用例之间的关联是用
一根带箭头的线来表示的
•用例之间的关系:
1)包含关系
2)扩展关系
3)泛化关系
•被包含的用例(此例中的检查座位详情)不是孤立存在的,它仅作为某些包含它的更大的基用例(此例中的预订座位、安排座位)的一部分出现
•基用例是可以独立于扩展用例存在的,只是在特定的条件
下,它的行为可以被另一个用例的行为所扩展
包含与扩展关系
•可以用来表示参与者与参与者之间,用例与用例之间的特殊/
一般化关系
泛化关系
所绘制的用例图分析
•这张用例图首先定义了三个基用例:预订座位、安排座位和处理结账
•客户通过Internet启动“预订座位”用例,在“预订座位”用例的执行过程中,将“检查座位信息”(被包含用例),如果没有空闲的座位或
满意的座位,可以选择进入等候队列,这样就将启动扩展用例“处理
等候队列”。
•总台服务员在客户到棋牌馆时,启动“安排座位”用例,在执行过程
中,将启动被包含用例“检查座位信息”。
•当客户要离开棋牌馆时,总台服务员将启动“处理结账”用例,并且定义了两种“收款”用例,一个是“处理现金结账”,另一个是“处理银行卡结账”,而后一个用例将通过与外部系统“银联POS系统”交互来完成。
用例描述
•用例描述的是一个系统做什么(what)的信息,并不说明怎么做(how),怎么做是设计模型的事
•事件流:
[对该用例实现时需要考虑的业务规则、非功能需求、设计约束等]
规则与约束[对多次重复的事件流可以定义为子事件流,这也是抽取被包含用例的地方。]子事件流
……(其中可以包含子事件流,以子事件流编号来表示)1b [1a 表示是对1的扩展,其中应说明条件和活动]1a
扩展事件流
……(其中可以包含子事件流,以子事件流编号来表示)2
[在这里写出触发事件到目标完成以及清除的步骤。]1
活动步骤
基本事件流[描述当前目标完成后,环境变化情况。]成功保证
[即该用例完成之后,将执行什么动作。]后置条件
[即启动该用例所应该满足的条件。]前置条件
…………[从该用例获取的利益][项目相关人员名称]利益项目相关人项目相关人
利益说明
[该用例的次要Actor ,在此列出名称,并简要的描述它]次要参与者
[该用例的主Actor ,在此列出名称,并简要的描述它]主参与者
[用例的设计范围]范围
[用例的目标,一个概要性的描述]用例概述
[应为一个动词短语,让读者一目了然地知道用例的目标]用例名称
[为用例制定一个唯一的编号,通常格式为UCxx]用例编号
用例描述模板