本章重点:
- 典型用户(Persona)和场景(Scenario)
- 软件功能说明书(Functional Spec)和技术说明书(Design Doc)
- 功能驱动的设计(FDD)
- 用例(Use Case)
1 典型用户和典型场景
1.1 定义典型用户
要定义典型用户,我们首先要定义用户的角色:
- 受欢迎的典型用户:指哪些按设计者的期望使用系统的用户;
- 不受欢迎的典型用户:指哪些有不正当目的的用户。
典型用户的模板可以包括以下内容:
- 名字
- 年龄和收入
- 代表的用户在市场上的比例和重要性
- 使用这个软件的典型场景
- 使用本软件/服务的环境
- 生活/工作情况
- 知识层次和能力
- 用户的动机、目的和困难
- 用户的偏好
注意:我们的软件不是为所有人服务的。
1.2 从典型用户到场景
有了典型用户之后,我们还得决定每一个典型用户的目标:他/她使用系统想要达到什么目的(如购物、卖产品、滥发广告等)。
1.3 从场景到任务
有了场景,下面就由架构设计师和各个模块的负责人一起,沿着子系统/模块的所属关系把场景划分开。(如UI层+逻辑层+数据库)
1.4 场景/故事/Story的模板
模板 |
---|
场景/故事/Story 版权信息/版本信息/维护人信息/版本记录 1.背景 (1)典型用户 (2)用户的需求/迫切需要解决的问题 (3)假设 2.场景 关于这个场景的文字描述 3.其他资料 |
2 用例(Use Case)
用例的基本元素:
- 标题:描述这个用例要达到的目标;
- 角色(Actor):和软件系统交互有关的角色,例如用户、其他实体、甚至时间(在描述一些和时间相关的场景时哟用);
- 主要成功场景(Main Success Scenario):一系列步骤描述角色是怎样和系统交互,从而达到目标的;
- 步骤(Step):描述每一步的交互;
- 扩展场景(Extension):描述一些扩展的交互,例如一些意外情况。
3 规格说明书
规格说明书(Specification)简称Spec,分为以下两种:
- 软件功能说明书(Functional Spec):主要用来说明软件的外部功能和用户的交互情况(把软件当做一个黑盒子);
- 软件技术说明书(Technical Spec):又叫***设计文档(Design)***,主要用来说明软件内部的设计规范(把软件当做一个透明的箱子)。
4 功能驱动的设计(Feature Driven Design,FDD)
FDD由下面几个步骤构成:
- 第一步:构造总体模型(Develop an Overall Model)
- 第二步:构造功能列表(Build a Feature List)
- 第三步:制定开发计划(Plan by Feature)
- 第四步:功能设计阶段(Design by Feature)
- 第五步:实现具体功能(Build by Feature)