原型通常是指模拟某种产品的原始模型。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。在获得一组基本需求说明后,通过快速分析构造出一个小型的软件系统,满足用户的基本要求,使用户可在试用原型系统的过程中得到亲身感受和受到启发,做出反应和评价,然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高最终产品的质量。
1.原型的分类
由于运用原型的目的和方式不同,原型可分为以下两种不同的类型。
(1)抛弃型:先构造一个功能简单而且质量要求不高的模型系统,针对这个模型系统反复进行分析修改,形成比较好的设计思想,据此设计出更加完整、准确、一致和可靠的最终系统。系统构造完成后,原来的模型系统废弃不用。
抛弃型原型又细分为探索型和实验型。探索型原型的目的是弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。它主要针对开发目标模糊,用户和开发者对项目都缺乏经验的情况。而实验型原型用于在大规模开发和实现之前考核方案是否合适,规格说明是否可靠。
(2)追加型或演化型:先构造一个功能简单而且质量要求不高的模型系统作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统。
2.原型类型的选择
如果要在需求分析阶段使用原型化方法,则必须从系统结构、逻辑结构、用户特征、应用约束、项目管理和项目环境等多方面来考虑,以决定是否采用原型化方法。
(1)系统结构:联机事务处理系统,相互关联的应用系统适合用原型化方法,而批处理、批修改等结构不适合用原型化方法。
(2)逻辑结构:有结构的系统,例如,操作支持系统、管理信息系统、记录管理系统等适合用原型化方法,而基于大量算法的系统不适合用原型化方法。
(3)用户特征:不满足于预先做系统定义说明、愿意为定义和修改原型投资、不易肯定详细需求、愿意承担决策的责任、准备积极参与的用户是适合使用原型的用户。
(4)应用约束:对已经运行系统的补充,不能用原型化方法。
(5)项目管理:只有项目负责人愿意使用原型化方法时才适合用该方法。
(6)项目环境:需求说明技术应当根据每个项目的实际环境来选择。
当系统规模很大、要求复杂、系统服务不清晰时,在需求分析阶段先开发一个系统原型是很值得的。特别是当性能要求比较高时,在系统原型上先做一些试验是很有必要的。
展开