架构真意:企业级应用架构设计方法论与实践
上QQ阅读APP看书,第一时间看更新

2.2 界面原型分析

需求分析之难,就难在用户自己常常弄不清楚自己的需求。在需求确认的时候说得好好的,一到软件上线的时候就不是那么回事了,这可没办法。但我们只要坐下来仔细分析就会发现,在需求分析的时候,我们跟用户常常是在“空对空”地讨论问题。用户不是专业人士,他搞不清楚软件到底会做成什么样,所以你跟他确认的时候他就认可了。但是,当软件上线后,他拿到了实物了,知道软件做成什么样了,一旦不满意他就会提变更了。这就应了那句名言,“当我看到了我就开始变更了”。所以,用户没有看到软件时说的一切都不算数,只有看到实物了才能跟你确认需求,需求分析的症结就在于此。

既然症结在此,毫无疑问,我们就应当在需求分析阶段尽快拿出实物,用实物与用户确认需求,这就是快速原型法的基本思想。快速原型法,简称原型法(Prototyping),是20世纪80年代提出的一种采用全新的设计思想、工具、手段的系统开发方法。它摒弃了那种一步步周密细致地调查分析,然后逐步整理出文字档案、设计开发、最后才能让用户看到软件结果的烦琐做法。当我们捕获了一批业务需求以后,就立即使用可视化工具快速开发出一个原型,交给用户去试用、去补充、去修改。当用户提出一些新的需求以后,再开发一版新的原型。原型法的关键就是这个快速开发出的原型,它不用考虑性能、美观、可靠性,其目的就是模拟客户的需求,用来与客户进行确认。

原型开发的速度与模拟到什么程度,是互相矛盾的,要由我们来把握。要快速开发,必然不可能和最终交付的软件系统一模一样,许多复杂问题被简化,非关键性流程被忽略,这就是所谓的模拟。因此,模拟到什么程度是关键问题,原型开发要既能说明问题,又不耽误时间。通常来说,能拿出界面,并可以走通关键流程,可以给用户演示,说明我们的设计,就足够了。一些快速开发平台为快速原型法提供了可能,如Axure(如图2-3所示)、墨刀等。

图2-3 采用Axure进行界面原型设计

用快速原型法,让用户提前看到未来软件的界面效果,能给用户一个非常美妙的体验。如果这个界面更加“酷炫”,操作更有科技感,用户体验就会更好。因此,用Vue框架进行快速界面绘制,也是一种不错的尝试。

当用户拿到原型、可以自己操作时,需求研讨的气氛立刻就变得不太一样了。当用户享受原型给他们带来的体验快感时,就会有针对性地提出需求。这时候的需求,就不再是枯燥无味的文字游戏,而是生动形象的图形界面。日后,如果项目采用迭代开发,让用户看着软件一点一点地成长,这又是多么美妙的体验。与此同时,你与用户的信任也在一步一步地建立起来,软件风险在降低,项目将朝着正确方向前进。

快速原型法是美妙的,它给你与用户带来了从未有过的体验。但美妙的同时,也可能会带来一些尴尬和不必要的误会,我们一定要注意。最常见的误会就是用户误以为原型就是最终交付的系统。开发一个系统需要持续数月,但你几天就搞定了,为什么还要在这个系统上投入大量资金呢?如果对方的领导开始有了这样的想法,双方就开发费用进行的谈判可能会不太顺利。所以在给用户看到原型前,一定要跟用户解释清楚。

总之,根据实际情况灵活运用原型法,就可以更加顺畅地与用户确认需求,甚至在编写需求规格说明书的时候,还可以将原型的截图放到每个用例描述的后面。用例模型描述的是系统后台的业务处理,界面原型描述的是系统前端的用户界面。将这一前一后描述清楚了,就可以准确把握用户需求,减少许多后续的软件研发过程中的变更风险。