结构化设计与面向对象设计

        上次例会我们就一直在讨论到底是该用结构化分析方法还是面向对象分析方法,以下是他们的区别与优势。

        结构化方法和面向对象方法对于不同的软件系统各有优劣。结构化方法把解空间分数据和功能两部分,可以更加清晰地进行需求分析和功能分解,数据流图能够细致地说明数据在各个功能模块之间的流动和变化,更适于系统设计的前期阶段。设计人员清楚地了解数据和系统要求的操作后,

        面向对象方法能够把数据和功能以对象为单位封装成一个整体,更直观地表达对象的状态变化和对象间的交互,更加准确地分析功能的实现过程,更适于在软件后期细化系统的具体行为。

       基于此,设计的混合式软件开发方法如下: 

  1)    使用SA进行需求分析,建立数据字典,构建总的和分层的数据流图。

  2)    使用模块结构图设计系统的独立功能块,做出模块内的程序流图。

  3)    结合数据流图,聚合同类模块,规约类,根据程序流图,设计类的属性和类的方法。

  4)    使用OOD建立系统的动态模型,分析对象的行为和协作。

  5)    总体面向对象程序设计,细节结构化程序设计优化,实现代码层。

  使用混合式方法,我们能够充分利用两种方法的优点,扬长避短,提高开发的效果和效率。

  无论是结构化方法,还是面向对象方法,都是用来解决日益矛盾的软件危机的系统方法。从直接开发,到结构化方法,再到面向对象方法,软件构件的愈发独立、可重用,开发在一个更高的层次进行,分析层、设计层和代码层关联性减少。这些都有利于系统开发员更加关注功能本身,提高软件质量。硬件性能的提高会使计算机的使用越发广泛,软件工作的环境更加复杂,软件的功能更加丰富,软件的性能更需提高,对软件开发方法提出了更多的要求,会涌现更高层次的新的方法。无论使用哪种开发方法,或者是混合哪几种开发方法,我们都要因地制宜,依据需求分析和系统要求,做出最适合的软件。

posted @ 2018-04-29 10:35  fascinateu  阅读(2232)  评论(0编辑  收藏  举报