原型法:
把系统主要功能和接口通过快速开发制作为“软件样机”,以可视化的形式展现给用户,及时征求用户意见,从而明确无误的确定用户需求。同时,原型也可用于征求内部意见,作为分析和设计的接口之一,可方便于沟通。面对不确定需求时通常使用原型法。(原型是一个演示系统,原型是一种工具)
原型法进行的步骤:
- 确定用户的基本需求(如功能、界面的基本形式、所需要的数据、应用范围、运行环境等)
- 构造初始原型
- 运行、评价和修改原型
- 形成最终的软件系统
原型的分类:
- 淘汰(抛弃)式(原型用户完全不接受)
- 演化式(原型用户部分接受,进行原型演化)
原型法优点:
- 符合人们认识事物的规律,系统开发循序渐进,鼓励用户积极参与,有助于解决用户之间的差异
- 能给用户一个最终系统的直观感受,开发周期短,成本相对低
- 反复修改,确保较好的用户满意度
- 由于有用户的直接参与,系统更加贴近实际
- 易学易用,减少用户的培训时间
- 应变能力强
原型法的缺点:
- 不适合大规模系统的开发
- 开发过程管理要求高,整个开发过程要经过“修改—评价—再修改”的多次反复
- 用户过早看到系统原型,误以为系统就是这个模样,易使用户失去信息
- 开发人员易将原型取代系统分析
- 缺乏规范化的文档资料
原型法适用范围:
- 处理过程明确、简单的系统
- 涉及面窄的小型系统
原型法不适用范围:
- 大型、复杂系统
- 难以模拟,存在大量运算、逻辑性强的处理系统
- 管理基础工作不完善、处理过程不规范
- 大量批处理系统
需求获取的方法总结:
- 用户调查法
- 面谈
- 现场观摩
- 原型法(不属于传统的需求获取方法)
- 观察与文档审查(事情的情境性)
- 从行业标准和规则中提取需求
- 文档考古
- 其他方法
非传统的需求获取方法:
- 基于知识的方法
- 基于观点的方法
- 联合应用设计(JAD、Joint Application Design)
- 质量功能部署(QFD、Quality Function Deployment)