赞
踩
目录
(1)需求分析:
- 研发分析需求说明书
- 判断需求的可实现性
(2)概要设计:
- 用到具体的技术点
- 大致模块划分
(3)详细设计:
- 详细到可以为编码做支持
- 类和类的关系,类的设计
- 函数设计
- 各个接口的细节
- 数据库表的关系,字段关系
(4)编码:
- 依托于详细设计进行编码操作
(5)测试
(6)维护:
- 上线后也需要持续维护
每个阶段之间有明确的输入和输出,各个阶段按顺序执行,前一阶段完成后才能进入下一阶段。这使得开发过程比较可控,适用于对需求比较稳定、具有明确规格的项目。
优点:
- 结构清晰:明确的阶段和顺序,使开发过程结构化和可控。
- 文档化程度高:每个阶段都有相应的文档产出,有利于项目的管理。
- 易于管理和控制:依次进行阶段,有利于项目的管理和进度控制。
缺点:
- 不适应需求变化:对需求变化和调整较为困难,一旦进入下一个阶段,很难回头修改前面阶段的成果。
- 风险控制较晚:风险可能在后期才被发现,导致修复成本高。
- 缺乏灵活性:由于瀑布模型的开发过程是线性的,开发人员每个阶段的选择和决策都相对受限,缺乏灵活性和创新性。
- 可能导致较长的交付周期:由于每个阶段需要完成后才能进入下一个阶段,可能导致较长的交付周期。
在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
优点:克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的形目开发风险
缺点:不太适合大型系统的开发(适合小型的、灵活性高的系统)
优点:引进风险分析,有助于降低风险,并及时采取措施解决问题。
缺点:风险分析需要专业的知识和人员,需要有经验的项目团队来管理和执行。
V模型本身是软件开发模型瀑布模型的变种,反映了测试活动与分析和设计的关系。
V模型表明了测试过程本身存在不同的阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
- 阶段性对应:将开发过程和测试过程相互对应,每个开发阶段都有与之对应的测试阶段。
- 明确的验证:强调在开发阶段都有相对应的验证,以确保开发过程的正确性和产品的质量。
- 逐步递进:采用逐步递进的方式进行开发和测试,每个阶段都构建在前一个阶段第基础上。
- 测试驱动:强调了测试的重要性,将测试的活动作为开发活动的驱动力,以确保软件的质量。
优点:
- 提前测试:在早期开发阶段就注重测试,早期发现问题和解决问题,减少后期的成本和风险。
- 明确的验证:确保开发过程的正确性和产品的质量。
- 易于理解和实施:结构清晰,容易理解和实施,能够明确各个阶段的任务和目标。
缺点:
- 不适用于需求变更频繁的项目
- 对需求变更的适应性较低
测试伴随整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
- 强调测试活动:测试活动与开发活动相互对应,每个开发阶段都有与之对应的测试阶段,测试伴随整个软件开发周期。
- 并行测试:鼓励在每个开发阶段并行进行测试活动。
优点:
- 强调测试活动:明确了测试在软件开发过程中的重要性。
- 早期测试:在开发早期就开始测试,有助于及早发现和修复问题,减少后期成本和风险。
- 全面的测试覆盖:通过阶段性的测试活动,确保了从需求到维护的全面测试覆盖。
缺点:
- 不适用于需求变更频繁的项目。
- 对需求变更的适应性较低。
- 使用起来技术复杂度高,对于需求和设计的测试要求高,实践起来困难。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。