在软件需求开发过程中,我们常常使用Use Case技术和界面原型技术,如何把这两种技术很好地结合起来,更好地应用于我们的需求开发实践中呢?笔者在此提出一种实践概念,希望能起到抛砖引玉的作用。
在大部分的需求开发实践中,主要使用如下的四种文档作为需求分析的输出结果,它们分别是:
-
Use Case图
-
Use Case规格说明
-
用户界面原型
-
对用户界面原型的说明
我们发现这个过程和另外一个行业很像,那就是电影行业。
一部电影的制作过程也要有剧本大纲、剧本、拍出来的一个个镜头以及画外音,可以和我们的需求分析输出结果对应起来。具体来讲,Use Case图可以作为大纲(即剧本大纲),Use Case规格说明用来全面说明情况(即剧本),界面原型用来表达Use Case包含的思想(即一个个的镜头),界面原型说明文字用来辅助解释界面原型(即画外音)。
剧本是电影的灵魂,剧本的质量最终决定了电影的质量,而Use Case也能最终决定需求开发的成败。Use Case准确地界定了系统的边界,能够发掘出系统的各种应用场景和各种分支情况。高质量的Use Case基本上不会也不应该遗漏系统中重要的应用场景。
一图胜千言。正如剧本不能生动地表现出某个场景的所有细节和演员的表情一样,我们也需要使用界面原型来展示我们很难说清楚的细节、很难用文字表达的思想,以及Use Case中交互的结果。同时,电影拍摄过程中,一个镜头往往要NG多次,最后还要进行剪辑才能成为最终产品。界面原型的开发也是如此,只有不断地加深对需求的理解,不断地使我们的思想表达更清晰,不断地完善界面原型的细节,这样才有可能开发出高质量的界面原型。
不同的人对同一个画面的解读往往是不同的。在某些场合,为了不产生歧义,导演就会给一些场景加入画外音,用于说明一些背景资料,或是指出一些需要关注的东西。同样,我们也需要给一些复杂的界面原型加入一些说明性的文字,用于指出想要表达的思想主题,或者是指出那些有助于理解画面思想的具体细节。但是,一定要限制这类文字的使用,因为剧本或Use Case才是思想的核心,在画面能够足够说明问题时,可以干脆省略掉这些文字。没有哪部电影把画外音作为它的中心的,很多电影就根本没有画外音。
综上所述,我们可以通过对需求开发的几种文档进行明确的职责划分(如表一所示)来把Use Case技术和界面原型技术很好的结合起来。
表一:需求开发文档的职责划分
文档名称
|
职责
|
重要性
|
Use Case图
|
描述系统总体需求概况
|
必须
|
Use Case规格说明
|
详细、具体地描述系统需求,并能连接起一个个的界面原型
|
必须
|
界面原型
|
表达Use Case中的各种思想
|
一般情况下都要提供(非常简单才可省略)
|
界面原型说明
|
解释界面原型中的一些细节或指出界面原型要表达的思想
|
可以忽略
|