敏捷开发框架下的软件工程/第二轮迭代/交互设计/对话
要点:映射用户执行任务时的交互方式。时间:开发时间的 5%。
输入:任务过程证据:对话图。客户:讨论、测试。
对话:用户与系统之间交互的序列。
对话图用于可视化映射用户任务中的步骤。与用户任务一样,重点是用户与系统的交互。通过绘制交互中涉及的步骤,可以发现可能被忽略的操作。
您会遇到不同类型的对话图。您可以使用对您的项目最有意义的类型。
1. Hoffer 侧重于界面(参见第 484 页)。图中的框代表用户实际看到的屏幕。框之间的箭头代表屏幕之间的路径。重要的是要指示通过系统的所有可能流程(向前和向后)。这些图非常适合网页和应用程序,在这些应用程序中,每个用户操作都发生在单独的界面上。它们可以用作网站地图的基础,显示导航路径。
2. 我们更喜欢一个结构较少、更详细的对话图,它考虑了用户可能在一个页面上执行许多操作。我们有兴趣捕捉用户任务的所有细节,因此请绘制出您能想到的所有步骤。这里,框描述了用户和界面之间发生的事情(例如,输入地址详细信息),箭头指向下一个事件。关键问题是:“接下来会发生什么?”
您不需要制作完美构造的图表。像往常一样,我们喜欢看到开发的证据。这个对话图是草稿。
您的图表很重要
• 易于理解 - 它们是否帮助您和客户了解您的系统的工作原理?
• 准确地代表您的任务
• 完整 - 不要让您的用户陷入死胡同。
最初,我们只包含展示“直通”路径的那些步骤。在考虑系统中所有其他可能路线之前,拥有完整的对话图非常重要。请记住,您的所有用户都是独一无二的,而且没有一个是可预测的。
接下来,您需要绘制代表其他路径的链接。关键问题:“如果……?”如果可能,复印您的对话图并用不同的颜色笔进行编辑。
• 用户可以从任何屏幕保存他们的更改吗?
• 他们可以从任何屏幕退出吗?
• 如果他们犯了错误,他们是否需要返回?这会重置表单吗?
• 他们可以在以前的屏幕上编辑他们的条目吗?
• 忘记密码。
• 用户可能会看到哪些错误消息?
• 系统如何处理不完整的条目?
• 每个屏幕上都有帮助功能吗?
不要包含诸如“计算机崩溃”之类的选项;除非此类因素是您开发环境的特定功能,否则假设计算机和网络正常运行。
将类似的动作组合在一起。例如,“输入姓名”,“输入街道”,“输入城市”等通常可以包含在一个单独的动作“输入个人详细信息”中。
有时,几个相关的任务可以合并到一个大型图表中。
您可以根据您的任务测试您的对话图。让小组成员大声朗读任务中的步骤,同时您检查图表。任务需要编辑吗?
使用交互案例测试您的系统。如果您是 Joe Student,您将如何执行此任务?记下有关您的系统测试的笔记。
对于一个时尚网站,任务“评论用户的衣橱”扩展成了以下对话图。尽管这里代表了交互的复杂性(参见下一页以获取整理后的视图),但线框界面(这里左上角的初始视图)显示了一个单一的连贯界面。
白板版本进行了整理,以生成一个有效的对话图,同时开发了数据模型(遵循“无魔法相互影响”的方法)。案例研究:首次呼叫解决
对于一个支持呼叫中心运营商的系统,功能需求“提供课程信息”生成了任务“向呼叫者提供课程信息”。在开发对话图时,很快就发现,这个高级任务隐藏了大量的复杂性。
对话步骤“查询呼叫者”被证明形成了一个结构化的对话,可以走很多不同的路线。开发线框界面的技巧在于将所有这些不同的路径带回一个单一的连贯界面。