第 3 章 用户角色建模
- 通过头脑风暴,列出初始的用户角色集合
对项目的角色进行头脑风暴时,要坚持“已确认的角色代表的是一个用户”。 - 整理最初的角色集合
尽量坚持一个原则:用户角色定义的是人,而不是其他外部系统。 - 整合角色
- 提炼角色
一些适用于任何角色建模的角色特征:
1、用户使用软件的频度。
2、用户在相关领域的知识水平。
3、用户使用计算机和软件的总体水平。
4、用户对当前正在开发的软件的熟悉程度。
5、用户使用该软件的总体目标。有些用户注重使用的便捷性,有些关注丰富的用户体验,等等。
两个额外的技术:
1、虚构人物
对于有些更为重要的用户角色,再进一步为角色创建一个虚构人物是很值得的。虚构人物是假象的用户角色代表。
2、极端人物
可以考虑那些有鲜明个性的用户。
小结
- 大部分项目小组只考虑单一的用户类型。导致软件忽略原本需要的一些用户类型。
- 为了避免从单一用户的角度编写所有故事,要识别与软件交互的不同用户角色。
- 通过对每个用户角色定义相关特征,可以更清楚地看到不同角色间的不同点。
- 对于有些用户角色而已,用代表人物来描述会很有帮助。虚构人物是假想出来的用户角色代表。他们有名字,有照片,还有足够的相关细节,因为对项目成员来说,很真实。
- 对于有些应用程序,极端人物可能有助于搜集原本被遗漏的故事。
开发人员职责
- 负责参与确认用户角色和虚拟人物的过程。
- 负责理解每个用户角色或虚拟人物,以及它们之间的异同。
- 开发软件时,负责考虑不同的用户角色对于软件如何运行的不同偏好。
- 负责确保在识别和描述用户角色时,它们只是这个过程中的工具,不应超越作为工具之外的任何用途。
客户职责
- 负责寻找用户(多多益善),并识别恰当的用户角色。
- 负责参与识别用户角色和虚构人物的过程。
- 负责确保软件没有关注不恰当的用户。
- 在编写故事时,负责确保每个故事都能和至少一个用户角色或虚构人物联系起来。
- 开发软件时,负责考虑不同的用户角色对于软件如何运行的不同偏好。
- 负责确保在识别和描述用户角色时,它们只是这个过程中的工具,不应超越作为工具之外的任何用途。