在大型管理信息系统开发中,若不经自顶向下的整体划分,而是一开始就自底向上地采用OO方法开发系统,会造成系统结构不合理、各部分关系失调等等问题。OO方法和结构化方法在系统开发中相互依存、不可替代。

为什么需要面向对象方法[1]

软件作为系统的重要元素,是最复杂、最具智慧型的人类产品。软件是一种无形的媒介,开发人员通常难以精确估计它的特性。除了非常小的系统之外,软件开发是需要一组人员共同努力才能完成,而人的因素又会进一步使问题复杂化。虽然软件开发的工具越来越先进,人们的经验也越来越丰富,但是需要解决的问题却越来越复杂。人们发现开发出的软件系统常常出现开发周期长,费用超过预算,最终产品又不能满足用户需求,系统的可维护性差,产生软件危机。
软件工程的方法就是基于软件危机的问题提出来的。最广泛使用的模型是结构化生命周期模型。它将软件开发分为几个不同的阶段需求分析、系统设计、系统实现、系统测试、试运行及维护等。它的目的是模仿工程中的一些方法,将软件开发规范化,每阶段形成一定格式的文档,下一阶段以上一阶段的文档为原料。这种方法可以控制软件开发的进度,合理分配人力和资金,以及最重要的因素—实现软件的可靠性及可维护性。