模块化程序设计

来自计算思维百科
跳转至: 导航搜索
模块化程序设计.jpg

模块化程序设计是一种程序设计方法,在这种方法中,程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,然后定义好各个框架之间的输入、输出关系。最后再把每个子程序或是子过程的逐条代码写出来。这种逐步求精的过程得到的就是一系列以功能块为单位的算法描述。模块化程序设计的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。

基本概念

程序设计的目的其实就为了完成某个任务,在特定这个问题之前,我们首先要确定程序要完成的主要任务。,再将这些 任务分解为子任务,后者称为原来模块或者父模块的子模块。有些子模块可能还会被分解为自己的子模块,只要为了解决给定问题有必要定义子任务,这种分解过程就可以一直继续下去。这样一个问题分解为越来越简单的子问题的过程,称为模块化程序设计。

各个模块在设计时需要具有以下的性质:

标准化:标准尺寸和标准接口;

可组装:多个模块可以方便灵活地组合;

可替换:改变系统的局部功能;

可维护:对模块进行局部修改或者设置这几个要求。

 

模块化程序设计的优点:

•程序读起来更容易,减少了定位程序错误的时间。

•进行程序设计、编码和测试时,针对一个模块比针对整个程序更容易,这会提高不同程序员或项目中所有程序员的效率。

•不同的程序模块可以由不同的程序员员分别进行设计和编码,当创建大型的复杂程序时,这是必不可少的。

•有时一个模块可以在程序内多出使用,减少程序代码的数量。

•完成常见程序设计任务的模块可用于多个程序。建立这些模块的程序库可减少设计、编码和测试时间。

 

应用范围

程序设计或是工作流程的制定。

使用方法及步骤

在对产品进行功能分析的基础上,将产品分解成若干个功能模块,预制好的模块再进行组装,最终将一个大任务分解成若干个独立的小任务,这些个小任务组合起来,可以成为一个具有完整功能的产品。

应用案例

应用1-准备去野餐

案例:一个母亲要为全家去野餐做准备

解决步骤:

首先明确了大的任务是去野餐,去野餐的需要开车去,所以需要给车加油,然后野餐需要吃午饭,所以要煮食物装好,之后需要全家合照所以要买一个照相机。这里我们将去野餐这个大的任务分解成了三个小任务,给车加油、煮饭和买相机,这三个小任务之间相互独立互不影响并且共同组成了野餐所需要的准备,这体现了模块化程序设计的思想。

应用2-早晨起床准备上班

案例: 小明早晨起来洗漱、吃早餐准备上班

解决步骤:首先明确目的是要上班,所以必须干干净净能量准备充分,迎接新的一天。这个过程中需要刷牙、洗脸、准备早餐、吃早餐、穿衣。这五个小任务构成了上班这个大任务,其中准备早餐是吃早餐的前提,也就是说准备早餐要为吃早餐提供接口,才能保证吃早餐顺利进行;而刷牙、洗脸、穿衣这几个小任务之间互不影响,小明是传西装还是休闲装都完成了穿衣这个小任务,这就是接口的作用,只要接口功能保证了,就可以保证大任务的完成。

可以体现的计算思维

模块化程序设计体现了计算思维的抽象和分解的特点。我们把完成一个任务分解为若干个小任务,每个小任务可以有多种完成方式,但只要完成的接口是一致的,都可以保证大任务的完成,这就是分解的特点;每个子任务被独立抽象出来,其内容实现相互独立,仅通过接口发生关系,这体现了抽象的特点