结构化程序设计缺点有:
1、难以适应大型软件的设计:在大型多文件软件系统中,随着数据量的增大,由于数据与数据处理相对独立,程序变得越来越难以理解,文件之间的数据沟通也变得困难,还容易产生意想不到“副作用”。
2、程序可重用性差:结构化程序设计方法不具备建立“软件部件”的工具,即使是面对老问题,数据类型的变化或处理方法的改变都必将导致重新设计。这种额外开销与可重用性相左,称为“重复投入”。
这些由结构化程序设计的特点所导致的缺陷,其本身无法克服!而越来越多的大型程序设计又要求必须克服它们,这最终导致了“面向对象”设计方法的产生。
结构化程序设计由迪克斯特拉(E.W.dijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。