软件开发方法之原型法
结构化方法和面向对象方法有一个共同点:在系统开发初期必须明确系统的功能要求,确定系统边界。然而对于信息系统建设而言,明确问题本身不是一件轻松的事情。
原型的目的是:明确并完善需求、探索设计选择方案、发展为最终的产品。
1.原型的分类
(1)按原型是否实现功能
①水平原型:也称行为原型,水平原型通常只是功能的导航,但并未真实实 现功能。水平原型主要用在界面上。
②垂直原型:也称结构化原型,实现了部分功能。垂直原型主要用在复杂的算法实现上。
(2)按原型的最终结果
①抛弃型原型:也称探索型原型,是指达到预期目的后,原型本身被抛弃。抛弃型原型主要用在解决需求不确定性、二义性、不完整性、含糊性等。
②演化型原型:为增量开发品提供基础,是螺旋模型的一部分,也是面向对象软件开发过程的一部分。演化型原型主要用于必须易于升级和优化及适用于Web项目。
2.原型类型的选择
如果是在需求分析阶段要使用原型化方法,必须从系统结构、逻辑结构、用户特征、应用约束、项目管理和项目环境等多方面来考虑,以决定是否采用原型化方法。
适用原型法 | 不适用原型法 | |
系统结构 | 联机事务处理系统,相互关联的应用系统 | 批处理、批修改等结构 |
逻辑结构 | 有结构系统,如操作支持系统、管理信息系统、记录管理系统 | 基于大运算法的系统 |
用户特征 | 不满足于预先做系统定义说明,愿意为定义和修改原型投资,愿意承担决策责任,积极参与的用户是适合使用原型的用户 | |
应用约束 | 己经运行系统的补充 | |
项目环境 | 系统规模很大、要求复杂、系统服务不清晰 当性能要求较高时,在系统原型上先做一些试验也是很必要的 |
原型法适合于用户需求不明确的场合。在开发过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。