结构化设计PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-
6
③ 模块间的信息传递:
当一个模块调用另一个模块时,调用 模块把数据或控制信息传送给被调用 模块,以使被调用模块能够运行。
而被调用模块在执行过程中又把它产 生的数据或控制信息回送给调用模块
-
7
④ 在模块A的箭头尾部标以一个菱形 符号,表示模块A有条件地调用另一 个模块B。当一个在调用箭头尾部标 以一个弧形符号,表示模块A反复调 用模块C和模块D。
➢IPO图
✓ 对于H图中的每个模块方框,都应该有一张IPO图描述这个方 框所代表的模块处理逻辑;
-
18
User’s Interface
Enter a New Room 1.0
Find a Room
2.0
Delete a Room
3.0
Establish a House 4.0
……
By Room ID 2.1
-
8
模块化
• 指解决一个复杂问题时自顶向下逐层把软件 系统划分成若干模块的过程。
• 每个模块完成一个特定的子功能,所有的模 块按某种方法组装起来,成为一个整体,完 成整个系统所要求的功能。
• 模块化是软件解决复杂问题所具备的手段, 为了说明这一点,可将问题的复杂性和工作 量的关系进行推理。
-
9
设问题x,表示它的复杂性函数为C(x),解决它
结构化软件设计可以分为以下两个阶段
➢ 总体设计阶段
➢ 详细设计阶段
-
3
模块(module)
模块:
在程序中是数据说明、可执行语句等程序对象的集合,或 者是单独命名和编址的元素,
如高级语言中的过程、函数、子程序等等。 在软件的体系结构中,模块是可组合、分解和更换的单元。
模块具有以下几种基本属性:
Find a Room
Delete a Room
View House
……
By Room ID
……
-
17
HIPO图
HIPO图
是由美国IBM公司发明的“层次图+输入/处理/输 出图”的英文缩写,
HIPO图实际上由两部分组成,
➢H图
✓ H图就是上面提到的层次图; ✓ 为了能使HIPO图具有可跟踪性; ✓ 在H图里除了最顶层的方框之外,每个方框都加了编号;
任务:
需求分析阶段的主要任务是确定系统必须“做什么”, 形成软件的需求规格说明书;
软件设计阶段的主要任务是确定系统“怎么做”,从软 件需求规格说明书出发,形成软件的具体设计方案.
方法: 软件设计可以采用多种方法,如:
结构化设计方法、
面向数据结构的设计方法、
面向对象的设计方法等。
阶段:
➢在结构图中用矩形表示功能单元,称为“模块”, ➢连接上下层模块的线段表示它们之间的调用关系. ➢处于较高层次的模块是所谓的”控制模块”,它所代表
的功能相对复杂而且抽象; ➢处于较低层次的是从属模块,它们的功能相对简单而且
具体.
-
12
在总体设计阶段,每个模块还处于黑盒子级, 模块通过外部特征标识自己,比如:
E(P1+P2)>E(P1)+E(P2)
由此可见,开发一个大而复杂的软件系统,将它进
行适当的分解,不但可降低其复杂性,还可减少开发
工作量,从而降低开发成本,提高软件生产率,这就
是模块化的依据。
-
10
模块数越多越好?
如果模块式相互独立的,当模块变得越小,每个模 块的内部结构就变得越简单,花费的工作量也越低。
但当模块数增加,模块间的联系也随之增加,把这 些模块连接起来的工作量也随之增加。
存在一个模块个数M,它使得总的开发成本达到最 小。
最小成本区
软件总成本
接口成本
成 本
成本 / 模块
-
11
模块数目/模块大小
问题2 总体设计阶段的主要任务及其过程?
总体设计阶段的主要任务是:
把系统的功能需求分配给软件结构,形成软件的 模块结构图(MSD)。
名字、
输入、
输出等。
这样在总体设计阶段就可以避免过早的陷入 模块的逻辑,算法设计,从而能够更好的确 定模块和模块之间的结构与调用关系。
-
13
软件总体设计的过程
采用某种设计方法,将系统按功能划分 成模块的层次结构
确定每个模块的功能 建立与已确定的软件需求的对应关系 确定模块间的调用关系 确定模块间的接口 评估模块划分的质量
层次图很适合于在自顶向下设计软件的过程中使 用。
-
16
User’s Interface
Enter a New Room
Find a Room
Delete a Room
Establish a House
……
By Room By Square By Type
ID
Footage of Floor
……
Add a Room
所需要的工作量函数为E(x)。对于问题P1和P2,
如果 C(P1)>C(P2) 即P1比P2复杂
那么 E(P1)>E(P2) 即问题越复杂,所需要
的工作量越大。
根据解决一般问题的经验,规律是:
C(P1+P2)>C(P1)+C(P2)
即一个问题由两个问题组合而成的复杂度大于分别
考虑每个问题的复杂度之和。这样,可推出:
By Square Footage 2.2
By Type of Floor
2.3
-
14
问题3:总体设计的Leabharlann Baidu示形式及其内容?
在总体设计阶段,一般来说,用于表示软件 结构的工具主要包括:
1. 层次图 2. HIPO图 3. 结构图
-
15
层次图
层次图(H图)
是软件总体设计阶段最常使用的表示形式之一; 用来描绘软件的层次结构;
➢图中的每个方框代表一个模块; ➢方框间的连线表示模块的调用关系;
第四章 结构化设计
4.1 总体设计的目标及其表示
-
1
问题1,软件设计阶段的主要任务、方法、阶 段是什么?
问题2,总体设计阶段的主要任务及其过程? 问题3,总体设计的表示形式及其内容? 问题4,什么是结构化设计方法? 问题5,数据流图的分类 问题6,变换设计与事务设计
-
2
问题1
软件设计阶段的主要任务、方法、阶段是什么?
接口:指模块的输入与输出。 功能:指模块实现什么功能。 逻辑:描述内部如何实现要求的功能及所需的数据。 状态:该模块的运行环境,即模块的调用与被调用关系。
功能、状态与接口反映模块的外部特性,逻辑反映 它的内部特性。
-
4
①模块的表示:模块用矩形框表 示,并用模块的名字标记它。
-
5
② 模块的调用关系和接口:模块之 间用单向箭头联结,箭头从调用 模块指向被调用模块。