前言
这是基于我所学习的软件工程课程总结的第三篇文章。
原型模型又称原型化模型、快速原型模型
书上对于(快速)原型模型的描述是:快速原型是快速建立起的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌。通常,用户试用原型系统之后会提出许多修改意见,开发人员按照用户的意见快速地修改原型系统,然后再次请用户试用。一旦用户认为这个原型系统确实能做他们所需要的工作,开发人员便可据此书写规格说明文档,根据这份文档开发出的软件便可以满足用户的真实需求。(摘自 《软件工程导论》第六版 张海藩 牟永敏 著,有删改)
正文
1.原型
原型(prototype)
- 一个部分开发的产品,使得客户和开发人员能够对计划开发的系统的相关方面经行检查。
原型化的目的
- 明确并完善需求
- 研究技术选择方案
原型结果
- 抛弃原型
- 把原型发展成最终结果
2.原型模型
快速原型模型正是为了克服瀑布模型的缺点而提出来的,它通过快速模型构建起一个可以在计算机上运行的原型系统,让用户试用原型并收集用户意见的办法,获取用户的真实需求。
软件交给用户后,维护便开始了根据所需完成的维护工作种类不同,可能需要返回到需求分析、规格说明、设计或编码等不同阶段。
3.原型模型的优点
- 减少需求不明确带来的风险
- 软件产品的开发基本上是线性进行的
能基本上维持线性顺序开发的原因是:
- (1)原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。
- (2)开发人员通过建立原型系统已经学到了许多东西(至少知道了"系统不应该做什么,以及怎样不去做不该做的事情"),因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。
4.原型模型的缺点
- 构造原型采用的技术和工具不一定主流.
- 快速建立起来的系统加上连续的修改可能导致原型质量低下
- 设计者在质量和原型中进行折中
- 客户意识不到一些质量问题
5.原型模型的使用场合
客户定义一个总体目标集,但是他们并不清楚系统的具体输入输出。
或开发者不确定算法的效率、软件与操作系统是否兼容以及客户与计算机交互的方式。
用户无系统使用经验,需求分析人员技能不足,尽量借助原型模型。