软件设计分为结构化设计(SD)与面向对象设计(OOD)。

其中结构化设计SD是一种面向数据流的方法,它以SRS(软件需求规格说明书)和SA(结构化分析)阶段所产生的和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。

SD方法的基本思想:

将软件设计成由相对独立且、具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。

概要设计:又称为总体结构设计,主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。

概要设计将系统开发的总任务分解成许多个基本的、具体的任务,而为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。

SD遵循的原则:高内聚,低耦合;

内聚:表示模块内部各成分之间的联系程度,是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做目标单一的一件事情;

耦合:表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松敞耦合表示模块之问联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。