对软件的需求,可以从不同的角度做划分:
- 对产品功能性的需求:要求产品必须实现某些功能。
- 对产品开发过程的需求:要求软件的开发流程必须满足某些约束条件。
- 非功能性需求:这也叫“服务质量需求”
- 综合需求:有些需求并不是单单一个软件模块就能满足。
典型用户的模板可以包括以下内容:
- 名字
- 年龄和收入
- 代表的用户在市场上的比例和重要性
- 使用这个软件的典型场景
- 使用本软件、服务的环境
- 生活、工作情况
- 知识层次和能力
- 用户的动机、目的和困难
- 用户的偏好
用例:和典型人物、典型场景的方法类似,用例也是很常用的需求分析工具。
用例的基本元素:
标题:描述这个用例要达到的目标
角色:和软件系统交互的角色,例如用户,其他实体,甚至时间。
主要成功场景:一系列步骤描述角色是怎样和系统交互,从而达到目标的。
步骤:描述每一步的交互。
扩展场景:描述一些扩展的交互,例如一些意外情况。
规格说明书(Specification简称Spec),分为以下两种:
- 软件功能说明书,主要用来说明软件的外部功能和用户的交互情况(把软件当做一个黑盒子)。
- 软件技术说明书,又叫设计文档,主要用来说明软件内部的设计规范(把软件当作一个透明的箱子)。
功能说明书:功能说明书从用户的角度描述软件产品的功能、输入、输出、界面、功能的边界问题、功能的效率(对用户而言)、国际化、本地化、异常情况等,不涉及软件内部的实现细节。
技术说明书:技术说明书又叫设计文档,它用于描述开发者如何去实现某一功能,或相互联系的一组功能。
功能驱动的设计:
第一步:构造总体模型
第二步:构造功能列表
第三步:制定开发计划
第四步:功能设计阶段
第五步:实现具体功能
用户体验的要素:
- 用户的第一印象
- 从用户的角度考虑问题
- 软件服务始终都要记住用户的选择
- 短期刺激和长期影响
- 不让用户犯简单的错误
- 用户体验和质量
- 情感设计
用户体验的评价标准:
- 尽快提供可感触的反馈
- 系统界面符合用户的实现惯例
- 用户有控制权
- 一致性和标准化
- 适合各种类型的用户
- 帮助用户识别、诊断并修复错误
- 有必要的提示和帮助文档