用户给我们的需求,通常是不完整的,不精确的.
有时,一些很重要的细节,需求中并没有写出来,也许是用户真的忘记了,但更多的是他们认为那些事儿很自然,习以为常. 但这些"自然的事"开发人员并不清楚.
不管用户的需求文档写的多少好, 我们都有必要和用户反复的沟通来细化需求,澄清细节.往往"细节决定成败".
Use case是一个和用户沟通的好工具,你可以直接用文字书写各个case,也可以用UML画case. 将你理解的Use case发给用户确认是一种沟通的好方法.
不管用什么形式,每个use case都有三个东西:
1. 有明确的目标
2. 有起点和终点
3. 有发起者(人或外部接口,外部系统)
关于需求的补充:
- 好的需求,可以确保你的系统是客户真正想要的
- 检查你的系统做到了所有usecase中的描绘的步骤和路径
- 帮助客户找出他们可能忘记的需求(或忘记告诉你的需求)
- 没有一成不变的需求,需求总在变化(或成长)
- 利用use case可以帮你找到不完整或不正确的用户需求