结构化分析与设计方法是应用相当广泛而又成熟的软件工程设计和分析方法。它是在结构化程序设计的基础上提出来的。结构化分析以数据流图为工具,实现对问题空间即需求的描述。
它主要以数据流、数据变换为考虑对象,从这个角度来描述整个系统的状况。结构化设计以数据流图为蓝本,提出其数据变换部分,加以功能分解,一直到最小的功能元素单位。然后开发人员据此进行程序设计。
但人们在应用传统的结构化生命周期模型的过程中发现了许多难以克服的问题。如:这种方法要求分析人员在现实世界中跟踪数据的流动,但许多系统不以数据流为主干,在这种情况下数据流图DFD就不是十分有效。
(1)这种方法要求分析人员在现实世界中跟踪数据的流动,但许多系统不以数据流为主干,在这种情况下数据流图DFD就不是十分有效。
(2)划分加工十分困难,不知道哪一个划分是最好的。
(3)数据字典的规模非常大,这使得需求分析中的交流问题变得非常困难。
(4)数据流方法不强调数据结构,只说明数据存贮。
(5)结构化分析与结构化设计之间的过渡非常困难。
这一方面来自构造方法的转换,另一方面来自添加实施细节。
(6)生命周期模型必须在分析阶段结束后才能进入设计阶段,设计阶段完成后才能进入实现阶段,这样的话,上一阶段的错误或不完整性就会带到下一阶段。
面向对象的方法正是拓宽软件开发道路的一种方法。目前,运用面向对象方法的比例虽然不是很大,但采用这种方法成功的比例却远远高于其他方法。