文档介绍:软件工程
电子教案
王树林
总体设计
––– Structune Design
一、引言:
又称概要设计(Preliminary Design)
或结构设计(Architectural Design)
1. 基本任务:
(1) 将系统划分为模块。
(2) 决定每个模块的功能。
(3) 决策模块的调用关系。
(4) 决定模块间的接口。
2. 模块:(Module)
指具有独立功能的使名的一段程序语句。
例如,过程、函数、子程序、宏、程序包和类等。
3. 主要内容:
(1) SD方法和描述方法。
(2) 模块划分的质量度量。
(3) 结构优化准则。
(4) 基于DFD的结构化设计方法。
二、软件工程学的基本原则:
1. 模块化:(Modularity)
按一定原则把程序划分为若干个模块。
使每一个模块完成一个子功能。
Th1. 问题X的复杂性C(X),工作量E(X)。如果有问题P1, P2 ,
且 C ( P1) > C ( P2)
且 E ( P1) > E ( P2)
Th2. 如果P = ( P1+ P2 ),则:
C ( P) > C ( P1) + C ( P2)
E( P ) > E ( P1) + E ( P2)
最佳区
开发软件的总工作量
定义模块接口的总工作量
开发模块的总工作量
模块总数
工作量
2. 抽象: (Abstraction)
就是从一些事物中抽取其本质的共同的特性,而忽略其非本质的细节的差异。
例:1993,Windows NT
输入/ 输出系统。
3. 信息隐藏:(Aiding)
指在设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不可访问的。