结构化程序设计方法

   一个结构化的程序就是用计算机语言表示的结构化算法,用三种基本机构组成的程序必然是结构化程序。这种程序便于编写、阅读、修改和维护,这就减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。

    一个复杂的问题,是难以一下子写出一个层次分明、结构清晰、算法正确的程序的。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。

    具体说,就是采用以下方法来保证得到结构化程序:

    (1)自顶向下

    (2)逐步细化

    (3)模块化设计

    (4)结构化编码


基本要点

1.采用自顶向下,逐步细化的程序设计方法。

    在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。

2.使用三种基本控制结构构造程序

    任何程序都可由顺序、选择、重复三种基本控制结构构造。

    (1)用顺序方式对过程分解,确定各部分的执行顺序。

    (2)用选择方式对过程分解,确定某个部分的执行条件。

    (3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。

    (4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。

3.主程序员组的组织形式

    指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。


原则

自顶向下

    程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

逐步细化

    对复杂问题,应设计一些子目标作为过渡,逐步细化。

模块化设计

    一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。

限制使用goto语句

    结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并证实了:

    (1)GOTO语句确实有害,应当尽量避免;

    (2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高;

    (3)争论的焦点不应该放在是否取消GOTO语句上,而应该放在用什么样的程序结构上。其中最关键的是,应在以提高程序清晰性为目标的结构化方法中限制使用GOTO语句。


特点

    结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。

优点

    由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。

    按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。

    结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。

    ①整体思路清楚,目标明确。

    ②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。

    ③在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。

缺点

    ①用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。

    ②用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。

    ③系统的开发周期长。


你可能感兴趣的:(结构化,自顶向下,基本结构,逐步细化)