4.1 建立程序步骤概述
按图4-1的顺序来进行。
4.2 程序设计语言(PDL)
有效使用PDL的一些方针:1)用模拟英语的语句来精确描述每一个特定操作;2)避免使用最终程序语言的语句;3)在设计意向这一层次上写PDL;4)在足够低的层次上写出PDL,它几乎可以自动生成代码。
当PDL写好之后,就可以根据它来编码,而PDL则成为程序语言的注释。
使用PDL可以获得的益处:1)PDL可以使评审工作变得更容易;2)PDL可以帮助实现逐步细化的思想;3)PDL使得变动工作变得很容易;4)PDL极大地减少了注释工作量;5)PDL比其它形式的设计文件容易维护。
4.3 设计子程序
创建一个子程序的第一步是设计。设计子程序所需要进行的活动见图4-2。
检查先决条件、定义这个子程序将要解决的问题、给子程序命名、考虑效率、研究算法和数据结构、编写PDL、编写工作应该从抽象到具体、考虑数据、检查PDL、逐步细化。
4.4 子程序编码
设计好子程序之后,就要开始实现。图4-3给出了实现一个子程序时的步骤。
书写子程序说明:编写子程序的接口语句—编写过程或函数说明,应采用所需要的语言,无论Pascal、C或Fortran都可以,只要符合需要。
非正式地检查代码:在注释下面填上代码之后,可以对每一块代码作一简略检查;尽力想一下什么因素可能破坏目前的块,然后证明这种情况不会发生;一旦完成了对某一子程序的实现,停下来检查一下是否有误。
进行收尾工作:检查完代码是否存在问题后,再检查一下它是否满足本书所提到的通用质量标准;可以采取几个步骤来确认子程序的质量是否满足要求:1)检查子程序的接口;2)检查通用设计质量;3)检查子程序的数据;4)检查子程序的控制结构;5)检查子程序设计;6)检查子程序的文档。
按需要重复步骤:如果程序的质量很差,请返回PDL阶段。
4.5 检查子程序
在设计并实现了子程序之后,创建活动的第三个主要步骤是进行检查,以确认所实现的软件是正确的。
在心里对子程序进行查错处理:在前面提到过的非正式检查和清扫工作就是两种内心检查方法,另一方法是在心中执行每一个路径。
编译子程序:如果检查完了子程序,那就开始编译它;在编译时,尽可能地检查出全部错误的指导方针:尽可能把编译程序的警告级别调到最高;消除所有编译程序指出的错误和提出警告的原因。
使用计算机来检查子程序错误:子程序编译之后,将其放入调试程序,逐步运行每一行代码,要保证每一行都是按预期的运行。
消除子程序中的错误:一旦发现有错误,就要消除它。
4.5.1 检查表
创建子程序。
4.6 小结
(1) 要想写好PDL,首先要用易懂的自然语言,避免拘泥于某种程序语言,其次要在意向层次上写PDL,描述设计作什么而不是如何作。
(2) PDL到代码流程方法是详细设计的有力工具,而且使得编码非常容易;可以把PDL直接翻译成注释,但要注意保证注释是精确而有用的。
(3) 应该在工作的每一步中都检查子程序,并鼓励同事们检查;这样,可以在投入的资金和工作努力最少时便发现错误,从而极大降低改错成本。
本章小结:
本章介绍了建立子程序的步骤。
对于一个大的系统,我们不可能一下子就能够实现,这就需要先设计好一个个的子系统,然后将这些子系统组装为大的系统。对于程序来说,这些子系统其实就是子程序。
一句话,建立子程序的过程,其实就是软件开发的过程。