版权归原作者所有,如有侵权,请联系我们

[科普中国]-程序划分

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

在计算机科学中,程序划分在程序设计、编译、存储三个阶段,对应着不同的解释。在编译过程中,程序划分可以定义为将待编译的程序分块进行分析编译的过程。在存储中,程序划分通常是指将程序中程序段和数据段,然后按照不同内存管理方式在进行划分。

模块化程序划分一个程序或系统模块可定义为一个较大的程序的逻辑上自含的并可分离的部分。因此一个完整的 程序可看作是模块的集合。一个结构适当的模块,接 受定义良好的处理动作,并产生定义良好的(就内容 与结构而论)输出。如该术语通常使用的情况一样, 一个结构适当的模块只有一个入口点,且只有一个 出口点。如果它是一个例程,它总是只返到调用它的语句之后的语句。

在许多语言中,一个子例程在功能上等效于一 个模块,虽然大多数语言容许违反上述的原则,例如 容许多个入口与出口点。

模块化程序设计的目的是把一个复杂的任务断开成几个较小与较简单的子任务,它至少方便了正 确的程序的编写。由范围设计适当(典型地至多一页 或二页代码)的几个模块组成的一个程序,编写与检 查起来比不是如此模块化的同一个程序要简单得 多。此外,一个程序或系统的各部分之间的相互作用 就可严格限制在各模块之间,它大大简化了对于一 个程序是如何工作的理解。

在由几个程序员小组开发大的软件系统中,如果不同程序员编写的各部分要有效地且在合理的时后,由于所有使用了一段时间之后的程序与系统 须进行维护与修改,良好的模块化也有助于更快地和更准确地做这些杂务。好的程序设计以程序的功能的最通用的定义开 始,通过一系列逐渐详尽的说明进行。这种方法,称为自顶向下的设计,它是结构化程序设计的一个方面,并被模块化程序设计所大大提高。

优点易实现:模块化设计适合团队开发,因为每个团队成员不需要了解系统全貌,只需关注所分配的小任务。另外团队可以灵活地增加人手,新人只需直接接手某个模块,不会影响系统其他模块的开发。

易测试:每个模块不但可以独立开发,也可以独立测试,最后组装时再进行联合测试。

易维护:如果需要修改系统或者扩展系统功能,只需针对特定模块进行修改或者添加新模块。

可重用:很多模块的代码都可以不加修改地用于其他程序的开发

步骤(1) 定义问题。把所要解决问题划分成输入、输出和处理3个部分。处理部分由所要完成的一系列事务构成。

(2) 确定组成程序的模块。把事务按组分解成子任务或功能模块以进一步模块化。应记住模块是程序的一部分,它主要执行单独的功能。注意并不是所有的模块都可以在此阶段确定下来,只有程序结构图的第一级模块可在这时确定,其余的更多从属模块要在以后的工作中确定。

(3) 绘出程序结构图。主要用来清楚地描绘模块及模块之间的相互关系。程序的结构一经确定,就可以考虑各个模块的处理次序问题,还可以在这一步考虑模块间通信及参数调用问题。

(4) 用流程图等算法表示方法确定主程序的逻辑结构。主程序除了应该包括循环前的最初处理,循环内的处理,以及退出循环后的最终处理外,还应该包括对程序主要处理模块的调用,以及程序自身要容易阅读、易理解等。

(5) 为程序结构图中每个模块编写算法。当程序结构图中最底层模块的算法开发完毕时,也就完成了整个程序设计模块化过程1。

(6) 最后审查整个算法。首先检查主控模块,然后依次检查每个从属模块,直到没有任何逻辑错误为止。

编译过程中程序划分源程序源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。通常由高级语言编写。源程序可以是以书籍或者磁带或者其他载体的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机可执行的程序。

目标程序目标程序,又称为“目的程序”,为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名----由语言处理程序(汇编程序,编译程序,解释程序)将源程序处理(汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运行的程序,该程序叫目标程序。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。2

可执行程序可执行程序(executable program,EXE File)是指一种可在操作系统存储空间中浮动定位的可执行程序。在MS-DOS和MS-WINDOWS下,此类文件扩展名为·exe。

WINDOWS操作系统中的二进制可执行文件,分两种:

一种后辍名为·com,另一种是·exe 。

DOS规定,有重名的exe和com,运行时优先执行com文件。如果只有A.exe,就可以直接输入A,而不用输入全名。但如果有A.com和A.exe,输入A则优先执行A.com,要运行A.exe只能输入A.exe而不能输入A。一般用于DOS,在WINDOWS系统中的执行文件一般都是.exe文件。在 MS-DOS 中,用以标识可执行文件的文件扩展名。用户在提示行输入不带 .exe 扩展名的文件名后按 Enter 键或者点双击就能运行可执行程序。