第六章实用程序设计技巧 ◆6.1程序的模块化结构 62模块的组装 ◆6.21文件包含与头文件的使用 ◆6.22模块间的连接 ◆6.24条件编译 宏定义
❖ 6.1 程序的模块化结构 ❖ 6.2 模块的组装 ◆ 6.2.1 文件包含与头文件的使用 ◆ 6.2.2 模块间的连接 ◆ 6.2.4 条件编译 ❖ 宏定义 第六章 实用程序设计技巧
6程序的模块化结构 程序设计是一种工程性的工作,通过对任务进行分 析和功能模块分解,将大任务分解为若干子任务,子任 务分别进行设计之后,再进行组合,合并为功能强大而 复杂的一个整体 611软件工程的思想 系统设计分四方面内容: 体系结构设计 模块设计 数据结构与算法设计 用户界面设计
6.1 程序的模块化结构 程序设计是一种工程性的工作,通过对任务进行分 析和功能模块分解,将大任务分解为若干子任务,子任 务分别进行设计之后,再进行组合,合并为功能强大而 复杂的一个整体。 6.1.1 软件工程的思想 系统设计分四方面内容: ◼体系结构设计 ◼模块设计 ◼数据结构与算法设计 ◼用户界面设计
6程序的模块化结构 612模块设计 在设计好软件的体系结构后,已经在宏观上明确 了各个模块应具有什么功能,应放在体系结构的哪个 位置。保持“功能独立”是模块化设计的基本原则 因为“功能独立”的模块可以降低开发、测试、维护 等阶段的代价。 功能独立并不意味着模块之间保持绝对的孤立。 个系统要完成某项任务,需要各个模块相互配合才 能实现,此时模块之间就要进行信息交流。 在设计一个模块时不仅要考虑“这个模块就该提 供什么样的功能”,还要考虑“这个模块应该怎样与 其它模块交流信息
6.1.2 模块设计 在设计好软件的体系结构后,已经在宏观上明确 了各个模块应具有什么功能,应放在体系结构的哪个 位置。保持“功能独立”是模块化设计的基本原则。 因为“功能独立”的模块可以降低开发、测试、维护 等阶段的代价。 功能独立并不意味着模块之间保持绝对的孤立。 一个系统要完成某项任务,需要各个模块相互配合才 能实现,此时模块之间就要进行信息交流。 在设计一个模块时不仅要考虑“这个模块就该提 供什么样的功能”,还要考虑“这个模块应该怎样与 其它模块交流信息”。 6.1 程序的模块化结构
6程序的模块化结构 模块化设计时通常是将一个大型的程序自上向下 的进行功能分解,分成若干个子模块,每个模块对应 了一个功能,有自己的界面,有相关的操作,完成独 立的功能。各个模块可以分别由不同的人员编写和调 试,最后将不同的模块组装成一个完整的程序。 评价模块设计优劣的三个特征因素: 信息隐藏、内聚与耦合、封闭-开放性 在C语言中,用函数实现功能模块的定义,程序的功 能可以通过函数之间的调用实现
6.1 程序的模块化结构 模块化设计时通常是将一个大型的程序自上向下 的进行功能分解,分成若干个子模块,每个模块对应 了一个功能,有自己的界面,有相关的操作,完成独 立的功能。各个模块可以分别由不同的人员编写和调 试,最后将不同的模块组装成一个完整的程序。 ➢评价模块设计优劣的三个特征因素: 信息隐藏、内聚与耦合、封闭--开放性 在C语言中,用函数实现功能模块的定义,程序的功 能可以通过函数之间的调用实现
6程序的模块化结构 个完整工程项目的C程序可能由多个源程序文件 组成,每一个文件中又可以包含多个函数。 程序 文件1 文件2 文件3 main函数函数 函数g1 函数n2 函数g2 函数g3
➢一个完整工程项目的C程序可能由多个源程序文件 组成,每一个文件中又可以包含多个函数。 6.1 程序的模块化结构 程序 文件1 main函数 文件2 函数f1 函数f2 文件3 函数g1 函数g2 函数g3