打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
结构化程序设计方法

1.结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。
2.结构化程序设计方法的基本思路是:把一个复杂问题的求解过程 分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。

 
结构化的程序:
自顶向下;
逐步细化;
模块化设计;
结构化编码。

 
模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。

 
划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。

 

 

 


结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构构造 。
  详细描述处理过程常用三种工具:图形、表格和语言。
  图形:程序流程图、N-S图、PAD图 表格:判定表
  语言:过程设计语言(PDL)
  结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是:
  (1) 没有GOTO语句;//在有资料里面说可以用,但要谨慎严格控制GOTO语句,仅在下列情形才可使用:
  ·用一个非结构化的程序设计语言去实现一个结构化的构造。
  ·在某种可以改善而不是损害程序可读性的情况下。
  (2) 一个入口,一个出口;
  (3) 自顶向下、逐步求精的分解;
  (4) 主程序员组。
  其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。
结构化程序设计的三种基本结构
  结构化程序设计的三种基本结构是:顺序结构、选择结构、循环结构
结构化程序设计原则和方法的应用
  基于结构化程序设计原则、方法以及结构化程序基本构成结构的掌握和了解,在结构化程序设计的具体实施中,要注意把握如下要素:
  1. 使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;
  2. 选用的控制结构只准有一个入口和一个出口;
  3. 程序语句组成容易识别的块,每块只有一个入口和一个出口;
  4. 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现;
  5. 语言中没有的控制结构,应该采用前后一致的方法来模拟;
  6. 严格控制 GOTO语句的使用。其意思是指:
  ( 1 )用一个非结构化的程序设计语言去实现一个结构化的构造;
  ( 2 )若不使用 GOTO 语句会使功能模糊;
  ( 3 )在某种可以改善而不是损害程序可读性的情况下。

 

自顶向下
  程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
逐步细化
  对复杂问题,应设计一些子目标作为过渡,逐步细化。
模块化设计
  一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
限制使用goto语句
  结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并证实了:
  (1)GOTO语句确实有害,应当尽量避免;
  (2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高;
  (3)争论的焦点不应该放在是否取消GOTO语句上,而应该放在用什么样的程序结构上。其中最关键的是,应在以提高程序清晰性为目标的结构化方法中限制使用GOTO语句;
编辑本段结构化程序设计方法的基本要点
  1. 采用自顶向下,逐步求精的程序设计方法
  在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。
  2. 使用三种基本控制结构构造程序
  任何程序都可由顺序、选择、重复三种基本控制结构构造。
  (1)用顺序方式对过程分解,确定各部分的执行顺序。
  (2)用选择方式对过程分解,确定某个部分的执行条件。
  (3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。
  (4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。
  3. 主程序员组的组织形式
  指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。

 

结构化程序设计方法的特点  结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。
优点
  由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
  按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合: 顺序结构、选择结构和循环结构来实现。
  结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。
缺点
  ①用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
  ②用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。
  ③系统的开发周期长。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C中的结构化程序设计
软件开发基本知识
软件工程——结构化方法
计算机二级的公共基础
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
C# 知识点 goto【学习笔记】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服