如何获取用例
UML 最适于的过程
?Use-case driven 用例驱动的
?Architecture-centric 以体系结构为中心
?Iterative & incremental 迭代的和增量的
Architecture Views
Logic Model Physic Model
Design View
Analysts/Designers
Structure
设计视图
Process View
Performance
Scalability
Throughput
System integrators 进程视图
Implementation View
Programmers
Software management
实现视图
Deployment View
System topology
Delivery,installation
communication
System engineering实施视图
Use-Case View
End-user
Functionality 用例视图
(0)业务
(1)需求
(2)分析:结构
(3)分析:行为
(4)设计
开发过程
Use Case Diagram
Purchase Ticket
Customer
Reserve Hotel
参与者 Actor
Who
Will Do
?????
Actor— 定义
?An Actor is someone or something outside
the system that interacts with the system,
C u st o m e r
( fr o m A c t o r )
Actor— 识别参与者
?参与者代表在系统边界之外的真实事物,
并不是系统的成分
?参与者透过系统边界直接与系统交互,参
与者的确定代表着系统边界的确定
?交互是有意义的
?参与者可以是任何事物
Actor— 识别思路
?谁使用该系统
?谁改变系统的数据
?谁从系统获取信息
?谁需要系统的支持以完成日常工作任务
?谁负责维护、管理并保持系统正常运行
?系统需要应付那些硬件设备
?系统需要和那些外部系统交互
?谁对系统运行产生的结果感兴趣
?时间、气温等内部外部条件
案例 1,航空售票系统
需求:
建立一个航空公司的机票预定系统,让客
户通过电话或网络买票、改变订票、取消
订票、预定旅馆、租车等等。
案例 1,航空售票系统
C u st o m e r
( fr o m A c t o r )
C u st o m e r S e r v i ce
R e p r e se n ta t i v e
( fr o m A c t o r )
C r e d i t S y st e m
( fr o m A c t o r )
F li g h t C o o r d i n a t o r
( fr o m A c t o r )
Airline
案例 2,库存管理系统
某汽车制造厂需要一套库存管理系统,
该系统实现的业务:生产工人根据生
产计划领取物料,库存操作员根据生
产系统的派单准备,交付给领料工人,
余料即时归还库房。库房管理人员定
期盘点库存,通知供应商供货,对长
期积存的货物,申请退货。
识别思路:
? 谁使用该系统
? 谁改变系统的数据
? 谁从系统获取信息
? 谁需要系统的支持以完成日常工作任务
? 谁负责维护、管理并保持系统正常运行案
? 系统需要和那些外部系统交互
? 谁对系统运行产生的结果感兴趣
? 时间、气温等内部外部条件
操作员,管理员
操作员,管理员
操作员,管理员
领料员,退料员,操作员,管理员,供应商
管理员
生产系统,供应商系统
操作员,管理员,领料员,退料员
时间
操作员 管理员 领料员 退料员
供应商 生产系统 供应商系统 时间
用例 Use Case
What to do
????
换句话说:
Actor 使用这个系统达到什么目标?
三种需求
以用例为核心组织需求
Use Case— 定义
?对一组动作序列的描述,系统执行该动作
序列来为 Actor产生一个可观察的结果值。
Purchase Ticket
用例,用户视角的需求组织形式
用例,需求按目标组织
用例,取款
? 基本路径
? 用户插入 ATM卡
? 系统要求输入密码
? 用户输入密码
? 。。。 。。。
? 系统显示交易结束
? 扩展路径
? 3a,用户输入密码错误
? 系统要求重新输入密码
? 用户重新输入密码
? 如果重新输入次数大于 3,吞卡。
? 补充说明
? 连接账户时间小于 60秒
? 在远程失败的情况下,保障可靠的恢复。
Use Case— 识别用例
?Actor希望系统提供什么功能
?系统是否存储和检索信息,如果是,这个
行为有哪个 Actor触发
?当系统改变状态时,通知参与者吗
?存在影响系统的外部时间吗
思考,航空售票系统用例
C u st o m e r
( fr o m A c t o r )
C u st o m e r S e r v i ce
R e p r e se n ta t i v e
( fr o m A c t o r )
C r e d i t S y st e m
( fr o m A c t o r )
F li g h t C o o r d i n a t o r
( fr o m A c t o r )
Airline
案例 1:航空售票系统
Purchase Ticket
Change Reservation
Cancel Reservation
View Itinerary
Reserve Hotel Room
Reserve Rental Car
Set Flight Schedule
Airline
案例 1:航空售票系统
Check Credit
Purchase Ticket
Change Reservation
Cancel Reservation
View Itinerary
Reserve Hotel Room
Reserve Rental Car
Set Flight Schedule
Airline
案例 1:航空售票系统
Customer Service
Representative
(from Actor)
Flight Coordinator
(from Actor)
Credit System
(from Actor)
Customer
(from Actor)
Check credit
关系
?参与者与用例之间
?关联关系
?用例与用例之间
?包含关系 (include)
?延伸关系 (extend)
?泛化关系 (generalization)
?参与者与参与者之间
?泛化关系 (generalization)
书写用例文档 — Who?
最完美:业务人员接受训练,写出优美
的用例文档
最现实:业务人员提供素材,开发人员
写用例文档
最糟糕:业务人员不管,完全由开发人
员杜撰
书写用例文档
书写用例文档
0
10
20
30
40
50
60
70
80
90
第一季度 第二季度 第三季度 第四季度
东部
西部
北部
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
书写用例文档
用例名称 检索图书
参与者 图书管理员 /读者
前置条件 图书管理员 /读者已经登录
后置条件 系统已显示读者所需的图书
基本路径 1,图书管理员 /读者提交检索条件
2,系统按检索条件检索图书
3,系统显示搜索到的图书列表
4,图书管理员 /读者选中某个图书
5,系统显示该图书的详细信息
扩展 扩展
2a,系统没有检索到所需图书:
2a1,系统显示“没有找到适合检索条件的图书”
2a2,用例结束
待解决问题
补充说明
注释
Course Registration System
? 课程注册系统简单的需求描述如下:
用户(包括学生,教师和注册员)使用该系统需
要登录。
?通过该系统学生能进行课程注册、查看所选课程的记录
(例如:以前所修课程的成绩、学分等);
?教师选择讲授的课程及提交学生成绩。所有的课程信息保
存在另外的系统中,学生注册系统可以访问。
?注册员要维护教师的信息,维护学生的信息,关闭注册
(开学两周后),并通知收费系统(注:不属于注册系统)
收费。
Context
Overview