1
 软件工程
1.6.1 4.1 软件设计的概念

4.1 软件设计的概念

结构化设计(Structured Design,SD)方法是一种面向数据流的设计方法,它是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下、逐步求精和模块化的过程。结构化设计通常可分为总体设计和详细设计等两部分。总体设计的任务是确定软件系统的结构,进行模块划分,确定每个模块的功能、接口及模块间的调用关系。详细设计的任务是为每个模块设计其实现的细节。为了开发出高质量、低成本的软件,在软件开发过程中必须遵循如下软件工程原则。

1.抽象

抽象即抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象的办法可以控制软件开发过程的复杂性,有利于软件的可理解性和开发过程的管理。

2.模块化

模块化使程序由许多个逻辑上相对独立的模块组成。模块(Module)是程序中逻辑上相对独立的单元;模块的大小要适中,高内聚、低耦合。

3.信息隐藏

采用封装技术,将程序模块的实现细节(过程或数据)隐藏起来,对于不需要这些信息的其他模块来说是不能访问的,模块接口应尽量简单。按照信息隐藏的原则,系统中的模块应设计成“黑箱”模块,外部只能使用模块接口说明中给出的信息,如操作、数据类型等。

4.模块独立性

每个模块只能完成系统要求的独立子功能,与其他模块的联系较少且接口简单。模块独立的概念是模块化、抽象、信息隐蔽概念的直接结果。