优点:
从系统整体全局出发,强调在整体优化的前提下“自上而下”的分析和设计,保证了系统的整体性和目标一致性;
用户至上,根据用户需求开发,系统具有较强的适用性;
严格区分工作阶段,每个阶段都有其明确的任务,每一步工作都及时地总结,发现问题及时地反馈和纠正,避免了开发过程的混乱状态;每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制;
文档规范化,在系统开发的每一步骤和每一阶段,都按工程标准建立了标准化的文档资料,有利于系统的维护。
缺点:
由于用户的素质或系统分析员和管理者之间的沟通问题,在系统分析阶段很难把握用户的真正需求,易导致开发出不是用户需要的系统;
开发周期长,一方面使得用户在较长时间内不能得到一个实际可运行的系统,另一方面,难于适应环境变化,一个规模较大的系统经历较长时间开发出来后,其生存环境可能已经发生了变化;
结构化程度较低的系统,在开发初期难于锁定功能要求。