UML学习手记(一):用例分析之用例与需求的关系
粟卫民http://www.gisdev.cn/ http://blog.youkuaiyun.com/suen/ 日期: 2007-11-28
保留所有版权。如需转载,请联系作者,并在醒目位置注明出处
在Alistair Cockburn所著的《Writing Effective Use Cases》一书中,详细地论述了用例和需求的关系,现在整理如下:
(1)用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约,一个用例是不同场景(scenario)的集合;
(2)虽然可以用流程图、顺序图、Petri网或程序设计语言来表示用例,但是从根本上说,用例是文本形式的。
(3)用例编写者必须掌握三个概念:
范围(scope):真正被讨论的系统是什么?
主执行者(primary actor):谁有要实现的目标?
层次(level):目标的层次是高,还是低?这个以目标的处理时间长短来度量,可分为“用户目标级(user-goal level)”和“概要级(summary level)”等
(4)用例确实是需求,用例不是所有的需求,用例可以比喻成素描中的轮廓图,是大致轮廓加局部细化;
(5)用例分析步骤:按执行者和目标、用例概述和主成功场景、失败情况、失败情况处理顺序来分析用例
(6)用例分析之前先用一个系统使用叙述(usage narrative)热身
附:一个可行的需求大纲
第1章 目的和范围
1a . 整体范围和目标是什么?
1b. 项目相关人员(谁关心?)
1c . 什么在范围之内,什么在范围之外?
第2章 使用的术语/词汇
第3章 用例
3a . 主执行者及其总体目标
3b. 业务用例(操作概念)
3c . 系统用例
第4章 采用的技术
4a . 这个系统有什么技术需求?
4b. 这个系统会与哪些系统发生交互,其需求是什么?
第5章 其他需求
5a . 开发过程
Q1. 哪些人是项目参与者?
Q2. 项目的价值反映在哪些方面(简单、及时、迅速或灵活)?
Q3. 用户或出资人希望得到什么反馈或项目可见性?
Q4. 什么是可以买到的,什么是我们必须要创建的,我们在哪些方面是有竞争的?
Q5. 还有什么其他的过程需求(如测试、安装等)?
Q6. 项目运行依赖哪些条件?
5b. 业务规则
5c . 性能
5d. 操作、安全、文档
5e. 使用和可用性
5f . 维护和可移植性
5g . 还未解决的问题和推迟解决的问题
第6章 人工备份、法律性、政治性和组织性问题
Q1. 为系统操作所作的人工备份是什么?
Q2. 有什么法律性和政治性的需求?
Q3. 这个系统完成后对人们的影响是什么?
Q4. 有哪些培训需求?
Q5. 对人类环境有哪些假设和依赖性?
本文探讨了用例和需求之间的关系,明确了用例作为系统行为契约的角色,以及它如何通过不同场景的集合来体现。文章强调了用例的文本性质,并介绍了用例编写时需要考虑的范围、主执行者及层次等概念。

被折叠的 条评论
为什么被折叠?



