分析和设计方法的分类

     方法(method):方法是一个规范过程,该过程用定义明确的符号来生成描述开发中的软件系统各个方面的一组模型。

     方法论(methodology):方法论是软件开发周期应用的方法的集合,这些方法还统一于某些一般的哲学方法。

     与软件系统复杂性的增长相对应,方法也在不断演化中。许多20世纪60年代提出的设计方法都提到了这个增长着的复杂性。其中最有影响的是自顶向下的结构化设计(也称“合成设计,composite design”)。这种方法直接受到传统的高级编程语言的拓扑结构的影响。在这些语言里,分解的最基本单元是子程序,而所得程序的形式是树结构,在这种结构中子程序通过调用其他子程序来完成自己的任务。这就是自顶向下的结构化设计采用的方法:利用算法分解将大的问题分为小步骤。

     由于结构编程的局限,之后人们又提出了几十种设计方法,大多数方法都可以归结为以下三种之一:

  • 自顶向下的结构化设计
  • 数据驱动设计
  • 面向对象设计

     自顶向下的结构化设计曾经是最为流行的设计方法,但是结构化设计并没有涉及到数据抽象和信息隐藏问题,也没有提供强档地方法解决并发性。结构化设计与极其复杂的系统的增长不成比例,而且此类方法并不适于与基于对象和面向对象的编程语言一起使用。

     数据驱动设计中,软件系统的结构由映射到系统的输入到输出导出。数据驱动设计被应用于大量的复杂领域,尤其是信息管理系统,它涉及到系统的输入和输出的直接关系,但对时间紧要的事件考虑很少。

     面向对象的分析和设计的根本概念是应将软件系统模拟为协作对象的集合,将单个对象看做类层次中一个类的实例。面向对象分析和设计直接反映了现今更高级的编程语言的拓扑结构。

 

你可能感兴趣的:(方法)