文章目录
- 1.参与者Actor
- 2.用例Usecase
- 3.寻找用例
- 4.用例图中的关系
- 5.用例描述:UseCase description
- 6.用例模型
- 6.用例模型小结
1.参与者Actor
- 定义
(1)代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统等)
(2)通过它,可以对软件系统与外界发生的交互进行分析和描述
(3)通过它,可以了解客户希望软件系统提供哪些功能 - Actor的图形表示
(1)参与者是人,用“小人图”
(2)参与者是某个系统时用方框图,构造型 《actor》 - 依据下面的问题来寻找系统的参与者
① 谁使用系统? Who or what uses the system
② 谁安装系统、维护系统? Who installs the system? Who maintains the system
③ 谁启动系统、关闭系统? Who starts and stops the system
④ 谁从系统中获取信息,谁提供信息给系统? Who gets and provides information to
the system
⑤ 在系统交互中,谁扮演了什么角色? What roles do they play in the interaction
⑥ 系统会与哪些其他系统相关联? What other systems interact with this system
⑺ 内/外部定时器 Does anything happen at a fixed time? - eg:
2.用例Usecase
- 系统为响应参与者引发的一个事件而执行的一系列的处理/动作,而这些处理应该为参与者产生一种有价值的结果
- 这些动作
(1)不但应包含正常情况的各种动作序列
(2)而且应包含对非正常情况时软件系统的动作序列的描述, Exception / Alternate - 用例图
(1)边界
(2)参与者
(3)用例
(4)关系
3.寻找用例
- 可以根据下面的一些问题来识别用例
①参与者希望系统提供什么功能 Start with actors, then identify what they want to do What functions will the actor want from the system ?
②系统是否存储和检索信息
③当系统改变状态时,是否通知参与者 Are any actors notified when the system changes ?
④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件 Are there external events that notify the system ?
⑤哪个参与者触发了活动? Which actors trigger activity ? - 每个用例都有一个名称,用短小精悍的“动名词”
4.用例图中的关系
- 1)参与者与用例之间
关联关系: 用实线表示 - 2)参与者/参与者之间的关系
泛化关系:实线+空心箭头 - 3)用例之间的关系
泛化关系 例如、发出订单 - 网上发出订单
含关系《include》
扩展关系《extend》 - eg:
5.用例描述:UseCase description
- 仅有用例图还不够,还需要详尽的文字描述!
- 主事件流: 一切正常时的动作序列
- 异常事件或者可选事件流: 主事件流的每一步都有可能出现异常, 此处描述异常情况的处理
- eg:
- 一种用例描述的格式
6.用例模型
- 用例模型包括
系统边界
参与者
用例
用例图
用例描述 - 用例模型是系统分析的结果、是系统设计的输入
- eg:
6.用例模型小结
- 是软件开发人员分析客户业务流程的结果
- 是面向对象分析的结果
不一定完全是面向对象分析的结果 - 是面向对象设计的输入
- 是开发部门与顾客之间的合同
- 是软件设计部门与软件工程师之间的合同
- 是开发部门领导、 非直接开发人员, 了解系统的主要信息来源
- 一旦用例模型有错误, 代价是很大的!