文档介绍:软件工程
电子教案
王树林
第14章设计方法
设计的任务是从信息需求中综合出数据结构的表示、程序结构、接口特征和过程细节。主要描述高层各部分的相关关系和底层所需要的逻辑操作。
数据设计
数据设计是实施软件工程中的四个设计活动的第一个活动。数据结构对软件质量的影响是很深远的。信息隐蔽和数据抽象为数据设计提供了基础。无论哪种设计方法,好的数据设计将改善程序结构和模块划分,降低过程复杂性。
第14章设计方法
需求分析和设计经常重叠,我们常常考虑下面一组数据规约。
(1)用于功能和行为的系统分析原则也应用于数据。数据对象及其关系、数据流和内容表示也应该按步骤进行开发和复审。
(2)应该标识所有的数据组织结构以及其上的操作。
(3)应当建立数据字典,并用于数据设计和程序设计。
(4)底层的设计决策应该推迟到设计过程的后期。
第14章设计方法
(5)只有那些需要直接使用数据结构内部数据的模块才能看到该数据结构的表示。
(6)应该开发一个由有用的数据结构和应用于其上的操作组成的库。
(7)软件设计和程序设计语言应该支持抽象数据类型的规约和实现。例如Fortran, 实现一个链表或多层异构数组将是非常困难的,他不支持直接对这些数据结构进行规约。
第14章设计方法
体系结构设计
体系结构的设计目标是开发一个模块化的程序结构,并表示出模块中的控制关系。体系结构设计将程序结构和数据结构相结合,为数据在程序中的流动定义了接口。
具体设计前,应首先考虑软件的体系结构。先总体后具体。
第14章设计方法
贡献者
体系结构设计起源于早期强调的模块化的设计概念、自顶向下设计和结构化设计。
应用域
每种软件设计方法都有其长处和短处,选择设计方法的一个重要因素是其应用的范围。
第14章设计方法
几乎所有的软件系统开发都可以用面向数据流的设计方法,但象数据库应用、专家系统和面向对象的用户界面就不太适合用这种方法。
体系结构设计过程
面向数据流的设计是一种体系结构设计方法。他可以方便的从分析模型转换到程序结构的设计描述。过程如下:
(1)建立数据流的类型;(2)指明流的边界;(3)将DFD影射到程序结构;(4)用“因子化”的方法定义控制的层次结构;(5)用设计测度和启发信息对结构进行求精。
第14章设计方法
变换流
时间
外部表示
内部表示
信息
输入流
输出流
变换流
第14章设计方法
事物流
由于基本的系统模型隐含着变换流,可以把所有的数据流都归为这一类。然而,信息流经常可以被描述成有一个称为事物的单个数据项,他可以沿多条路径之一触发其他数据流。
第14章设计方法
T
事物
事物中心
动作路径