考点7:结构化设计方法
1.软件设计的基础
需求分析主要解决“做什么”的问题,而软件设计主要解决“怎么做”的问题。从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。从工程角度来看,软件设计分两步完成,即概要设计和详细设计。
(1)概要设计:又称结构设计,将软件需求转化为软件体系结构,确定系统级接口、全局数据结构或数据库模式。
(2)详细设计:确定每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。
软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。
(1)抽象。抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。
(2)模块化。解决一个复杂问题时自顶向下逐步把软件系统划分成一个个较小的、相对独立但又不相互关联的模块的过程。
(3)信息隐蔽。每个模块的实施细节对于其他模块来说是隐蔽的。
(4)模块独立性。软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
模块分解的主要指导思想是信息隐蔽和模块独立性。
模块的耦合性和内聚性是衡量软件模块独立性的两个定性指标。①内聚性:是一个模块内部各个元素问彼此结合的紧密程度的度量。②耦合性:是模块间互相连接的紧密程度的度量。在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度。
2.总体设计(概要设计)和详细设计
1)总体设计(概要设计)
软件概要设计的基本任务是:
(1)设计软件系统结构。
(2)数据结构及数据库设计。
(3)编写概要设计文档。
……