文章目录
用户体验优先
对于一个应用程序来说,最有趣的事通常发生在领域模型层里,这里也是你构建引擎并赋予整个系统生命与动力的地方。从领域模型层开始设计当然是可以接受的,也是常见的。但我们打算在这里推行另一个可以节省时间和精力的方案,尤其在你对领域比较不熟悉而且用例也与用户密切相关时。在过去的某些演讲里,Dino把这种方案称为“软件开发之哥白尼革命”。哥白尼并未看到过去没人看得到的东西。相反,他只是为一些东西提供了全新的视角,为每个人都经历过的白天和黑夜等东西提供了不同的解释。
同样地,我们并未声称有一种新的可以拯救世界的特效药。简单地说,我们想分享一种设计方案,把注意力集中在表现层,关注任务,以及让你在用户界面被用户验证、经过提炼和批准之后可以着手处理最有趣的东西。一切仍会改变,但大多数表现层的问题都会被解决。用户体验优先是用户体验优先的简写,顾名思义,这种软件设计方案的核心是表现层和用户系统交互。
为什么关注交互
写软件的目的是让客户以他们喜欢的最有效的方式开展他们自己的业务。任何软件都会产出结果,不管是通过屏幕、文件还是数据库更新。毫无疑问,越是了解预期结果,就越能有效地制定开发计划。
当预期结果涉及与之用户交互的某个图形界面时,先关注那些交互就是一个很自然的决定了。关注交互会引出基于任务的设计。
基于任务的设计
有时候你所面临的复杂性太大而无法一次处理。从模型开始处理又有点“杀鸡用牛刀”的感觉。较为轻量级的做法是关注要实现的任务、每个任务需要的输入以及每个任务产生的输出。
那么,不断地从列表领取任务,绘制用户界面的草图及其背后的工作流。这正是统一建模语言(UML)用例图的用途。
在UML里,用例图提供应用程序用例的图形表现。用例描述系统和其中一个参与者之间的交互。具体地,用例图展示了哪些参与者要做什么。参与者是与当前描述的系统进行交互的用户或者任何其他外部系统(如数据库)。系统不能控制参与者;参与者定义在系统本身之外。