《软件编码及结构化程序设计风格.ppt》由会员分享,可在线阅读,更多相关《软件编码及结构化程序设计风格.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1软件编码及结构化软件编码及结构化程序设计风格程序设计风格 第五章第五章2 2 系统分析和设计的目的,是将软件的定义转换成系统分析和设计的目的,是将软件的定义转换成能在具体计算机上实现的形式。这种转化,必须通过能在具体计算机上实现的形式。这种转化,必须通过软件编码才能实现。详细设计说明书是软件编码阶段软件编码才能实现。详细设计说明书是软件编码阶段的设计依据与基础。的设计依据与基础。作为软件设计的一个步骤,编码是软件设计的结作为软件设计的一个步骤,编码是软件设计的结果,因此,程序的质量主要取决于软件设计的质量。果,因此,程序的质量主要取决于软件设计的质量。但是,程序设计语言的特性和编码途径也
2、对程序的可但是,程序设计语言的特性和编码途径也对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。靠性、可读性、可测试性和可维护性产生深远的影响。本章主要讲解软件设计中的程序设计部分,即:本章主要讲解软件设计中的程序设计部分,即:软件编码,包括软件编码的要求、程序设计语言的选软件编码,包括软件编码的要求、程序设计语言的选择、程序设计语言的特点、风格等;接着前面讲解的择、程序设计语言的特点、风格等;接着前面讲解的结构化软件设计方法,介绍结构化程序设计的原则;结构化软件设计方法,介绍结构化程序设计的原则;另外,讲解我们在编码时的注意事项,也就是程序设另外,讲解我们在编码时的注意事项,也就是程
3、序设计时应该注意的程序设计的风格。计时应该注意的程序设计的风格。3 35.1 5.1 软件编码软件编码 软件编码就是选择某种程序设计语言,按照编程规范,将详细设计的结果变换成用某种程序设计语言编写的可在计算机上编译执行的具体程序,它与设计人员使用的可安装在计算机中的程序设计语言的特性和设计人员的程序设计风格密切相关。4 45.1.1 5.1.1 软件编码的要求软件编码的要求 软件编码要产生在实际计算机上可以经过编译执行的代码,因此,选择程序设计语言就显得重要了。对于编制程序过程有如下要求:5 55.1.1 5.1.1 软件编码的要求软件编码的要求(1)编写的源程序易于代码的翻译;(2)源程序或
4、代码易于移植;(3)为提高生产率,减少差错,提高质量,尽量利用代码生成工具;(4)编写的程序易于维护;(5)使用高效的编程环境;6 65.1.2 程序设计语言的选择 程序设计语言是实现将软件设计转化到实际执行代码的基本工具。程序设计语言自身的特性将不可避免地影响到设计人员的思维方式和解决问题的方式,影响到程序设计的质量和设计风格。尽管程序设计语言种类繁多,但按影响设计方法的表现形式上看可以分为两类:面向计算机的汇编语言和面向设计人员的高级语言。7 75.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 汇编语言也称面向机器的语言,它依赖于计算机的硬件结构,不同的计算机有不同的汇编语言。
5、汇编语言的指令系统随机器而异,生产效率低,难学难用,容易出错,难于维护。但运行效率高,易于与系统接口,在一些实时应用场合和底层控制过程的小规模程序设计中仍在使用,在复杂软件开发中较少使用。8 85.1.2 程序设计语言的选择 高级语言是当前使用最广泛的语言,高级程序设计语言中使用的符号与人们通常使用的概念和符号较接近,一般不依赖单一类型的计算机,一条语句的作用顶得上多条汇编指令,通用性强,易于移植。因此,开发复杂的软件系统,均选用高级程序设计语言作为编码的主要设计工具。9 95.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 选择程序设计语言有以下标准:(1)选用的程序设计语言应该有
6、理想的模块化机制,具有较好的可读性控制结构和数据结构,能减少程序错误,结构清晰;(2)选用的程序设计语言所对应的开发环境能够尽可能多的自动发现程序中的错误,便于测试和调试,提高软件的可靠性;10105.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 (3)选用的程序设计语言有良好的机制,具有符号表达的一致性和语义上的一致性,表达方式简洁,语法简单,便于记忆,易于学习掌握,以降低软件开发和维护成本;(4)选用的程序设计语言能够满足应用领域功能和性能的要求;(5)选用的程序设计语言能够满足描述程序模块算法复杂性的要求;11115.1.2 5.1.2 程序设计语言的选择程序设计语言的选择
7、(6)选用的程序设计语言具有配套的软件工具,有利于提高软件开发的生产率;(7)选用的程序设计语言有较好的移植性、兼容性和适应性;(8)结合程序设计人员的知识水平和用户要求,标准化程度、系统开发规模,现有设计人员对语言的熟悉程度等因素进行选择。12125.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 如果与其它标准不发生矛盾时,应选择开发人员熟悉的并在以前的项目中成功应用过的语言。当一种语言不能满足要求时,可选用一种语言为主,其他几种语言为辅助语言,进行混合编程,满足软件设计的总目标。13135.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 高级语言中又可按其特性分为过程
8、性语言和非过程性语言,过程性语言需要描述算法实现的细节,而非过程性语言不需规定具体实现的细节。一般传统的程序设计语言(如标准C和标准PASCAL等)属于过程性语言,现代的高级语言有些是非过程性语言(如数据库管理系统中的国际标准SQL语言等),有些高级语言具有以上两种特性。14145.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 不同的应用领域需要有与之相适应的语言的特性,科学计算需要使用计算能力强,运算速度快的高级语言,如多种传统的C、Pascal等语言;商业管理和一般的信息管理需要具有较强的数据管理和多种查询能力的高级语言,如各种数据库管理语言;而实时处理和控制需要具有处理速度快
9、,有能方便的与系统进行接口的程序设计语言,如汇编语言、C语言等;15155.1.2 5.1.2 程序设计语言的选择程序设计语言的选择 智能系统和知识表达系统需要使用具有表达较强逻辑推理能力的语言,如Lisp、Prolog等语言,根据具体应用领域的情况、用户要求、设计人员的背景、经验知识和应用环境的具体要求选用。因为对于设计人员来说,掌握一种新的设计工具是要花费一定的学习时间的,达到熟练程度才能灵活应用。16165.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 当前广泛使用的方法是结构化程序设计方法SP(Structured Programming),它是与结构化分析SA和结构化
10、设计SD方法相衔接的。SP方法是围绕着GOTO语句的争论,首先由E.Dijkstra提出的,是用于软件编码的基本技术,目的在于写出结构清晰、易于理解也易于验证的程序。17175.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 人们已经证明:顺序结构、IF_THEN_ELSE选择结构、DO_WHILE(含FOR_DO)或REPEAT_UNTIL重复结构,这三种基本结构,就足以表示所有形式的程序控制结构。这三种基本结构有着一个共同的特征:每种结构严格地只有一个入口和一个出口单入单出结构。这三种基本结构又可以层层嵌套,形成复杂的程序,多年的软件设计经验表明,具有这种结构的程序是具有良好
11、结构的程序。18185.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 使用结构化程序设计技术,用遵循下列结构化程序设计的主要原则:(1)使用语言中顺序、选择、重复等有限的基本控制结构表示程序的逻辑结构;(2)严格选用单入单出的程序控制结构;(3)由程序语句组成的程序块,也应该具有单入单出的形式;19195.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 (4)复杂的程序结构也应该用基本控制结构的组合、嵌套来实现;(5)语言中没有的控制结构,可用一段等价的程序段来模拟,该段程序在整个系统中应保持前后一致;20205.2 5.2 结构化程序设计的主要原则结构化程序设计
12、的主要原则 (6)严格控制GOTO语句的使用,仅在下列情况下才使用它:用一个非结构化的程序设计语言去实现一个结构化的构造;在某种可以改善而不是损害程序可读性的情况下;21215.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 大量采用GOTO语句实现程序的路径控制,会使程序的路径变得复杂而混乱,使程序变得不易阅读,给程序的测试和维护带来困难,还会增加程序出错的机会,降低程序的可靠性,因此,要控制GOTO语句的使用。但也有例外的情况,有时完全不用GOTO语句进行编码,比用GOTO语句编出的程序可读性还差。例如,在查找结束、文件访问结束、出现错误情况时要从循22225.2 5.2 结
13、构化程序设计的主要原则结构化程序设计的主要原则 环中转出,使用布尔变量和条件选择结构来实现就不如用GOTO语句来得简洁易懂。如果教条性地套用固定结构形式,就会降低效率,而新增的控制逻辑测试又增加了软件的复杂性,使控制流含混不清,增加出错的可能性,对软件的可靠性和易维护性反而产生不利影响。为解决此问题,可采用两种方法:23235.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 一种是重新设计过程,避免中间出口,但这种方法可能会增加程序的复杂性,难度加大;另一种是有限度地超越结构化的约束,设计一个从嵌套中转移出来的有约束的分支,提高程序的易读性、灵活性和效率。例如:设在闭区间a,b上
14、函数f(x)有唯一一个零点,如图5-1所示,用二分法求方程f(x)=0在区间a,b中的根。24245.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 图5-1 函数f(x)曲线 ab25255.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 下面给出用C语言写出的求解方程的程序段:其中,x0、x1是当前求根区间的上下界,xm是该区间的中点,n为迭代的最大次数,用于限制循环计算时的迭代次数,epslon是给定的一个很小的正数,用于判断迭代的收敛条件。程序段1中采用了GOTO语句和对应的转移入口标号finish,用于控制在循环中途求得方程解时转出循环。26265.2 5
15、.2 结构化程序设计的主要原则结构化程序设计的主要原则 【程序段1】f0=f(a);f1=f(b);if(f0*f1=0)x0=a;x1=b;for(i=1;i=n;i+)xm=(x0+x1)/2;fm=f(xm);if(fabs(fm)epslon|fabs(x1-x0)0)x0=xm;f0=fm;elsex1=xm;finish:printf(“nTherootis%fn”,xm);27275.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 在程序段1中,出现了两个循环出口:一个是for循环的正常出口,当循环控制变量i超出循环终值时退出循环;另一个是for循环的非正常出口,当
16、满足条件时,从循环中间某处转出循环,执行循环后面的语句。它不满足结构化的要求。28285.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 【程序段2】f0=f(a);f1=f(b);/计算初始区间两端的函数值if(f0*f1=0)/区间中有根存在才继续计算 x0=a;x1=b;/设置当前求根区间的两个端点 for(i=1;i=n;i+)29295.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 xm=(x0+x1)/2;fm=f(xm);/利用中点,二分区间 if(fabs(fm)epslon|fabs(x1-x0)0)/未得到根,缩小当前求根区间 x0=xm;f0
17、=fm;else x1=xm;f1=fm;printf(“n The root is%fn”,xm);/输出求得的根值 30305.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 这段程序仍然不是结构化程序,它利用了C语言中的break语句,将控制转移到它所在循环后面的第一个后续语句处。它完成的功能与上一个程序段相同,转移语句与转出条件直接联系在一起,可读性较好。31315.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 【程序段3】f0=f(a);f1=f(b);if(f0*f1=0)x0=a;x1=b;i=1;finished=0;while(i=n&finis
18、hed=0)xm=(x0+x1)/2;fm=f(xm);32325.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 If(fabs(fm)epslon|fabs(x1-x0)0)x0=xm;f0=fm;else x1=xm;f1=fm;i+;printf(“n The root is%fn”,xm);33335.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 这段程序中的各种结构均为单入单出口,且没有GOTO语句,是结构化程序,结构简单,仅有一重循环,它完成的功能与上一个程序段相同,但由于引入一个布尔变量来控制循环的结束,将布尔变量的赋值设置语句与结束判断条件分在不
19、同的位置,可读性不如前两个程序段好。如果在多重循环中可读性就差了。34345.2 5.2 结构化程序设计的主要原则结构化程序设计的主要原则 除了在一些特殊情况下用 GOTO语句外,一般情况下尽量不用,可以保持较好的程序设计风格。一个好的程序结构,在保证程序功能正确的前提下,应能做到:程序质量高,具有一致性、可移植的程序代码,易于测试、维护和调试,易于修改,设计结构简单,程序执行效率高。35355.3 5.3 程序设计风格程序设计风格 从程序设计技术启蒙时期开始,过去有很长一段时间,人们认为,程序是给机器执行的,只要程序逻辑正确,机器能执行,完成指定的功能就行了,将程序风格看得无关紧要。随着软件
20、规模的增加,复杂性增加,人们才认识到程序的易读性和程序设计风格的重要性,人们在维护、调试、测试程序时经常需要反复地阅读程序,甚至阅读程序的时间比编写程序的时间还要多。36365.3 5.3 程序设计风格程序设计风格 程序不仅设计者本人要多次阅读,开发小组的其它设计人员和维护人员也要反复阅读,阅读程序是软件开发和维护过程中的一个重要组成部分。程序员在编写程序时,应当意识到今后会有人反复阅读这个程序,并沿着自己的思路去理解程序的功能。37375.3 5.3 程序设计风格程序设计风格 在编写程序时多花些工夫,讲求程序设计的风格,这将大大减少人们阅读程序的时间,从整体上看,提高了效率。因此,良好而规范
21、地表示程序的逻辑结构是软件设计人员应具有的程序设计风格。38385.3 5.3 程序设计风格程序设计风格 从阅读的角度来看,程序实际上也是一种供人阅读的文章。有些文章优雅、整洁,引人入胜,有些文章晦涩难懂,无法过目。这就是文章的风格所起的作用。在程序编写中也存在程序设计风格的问题,我们应编写具有良好风格的程序。39395.3 5.3 程序设计风格程序设计风格 主要有四个方面影响着程序设计的风格:源程序的文档化;数据说明的方法;语句表现的结构形式;输入输出的方式和格式。(1)源程序的文档化包括选择标识符名称,对源程序合理安排注释,源程序具有良好的视觉组织等;40405.3 5.3 程序设计风格程
22、序设计风格 一般对变量和标识符的命名采用匈牙利命名规则(变量名用类型加限定词构成),如Windows程序设计中,使用了这种合理的命名规则,现在已经开始流行起来了。标识符名称(包含模块名、变量名、常量名、标号名、子程序名、数据区名、缓冲区名等)应该选用容易理解的、与特定应用含义相关的、有明确意义的名称,避免引起混淆,同一名称不应有多种含义,对使用的一切变量都要显式地说明,并做出注释,说明其确切含义。41415.3 5.3 程序设计风格程序设计风格 对源程序的注释分为序言性注释、功能性注释和状态性注释。大多数高级程序设计语言允许用自然语言进行注释。序言性注释一般放在模块的最前面,给出模块的整体说明
23、,引导人们理解程序,包括标题、模块功能分类说明、目的,使用的主要算法,接口说明(调用形式、参数描述、子程序清单等),数据描述(重要变量及用途、约束与限制条件等),模块位置,开发简历、设计者、复审者、复审日期、设计日期、修改日期等有关说明。42425.3 5.3 程序设计风格程序设计风格 功能性注释一般放在实现该功能的程序段的前面,状态性注释一般紧跟在引起状态变化语句的后面,描述功能的注释应解释程序段,而不是解释每一条语句;使用空格、括号、空行、间隔标志使注释与代码容易区分。注释要正确,错误或有歧义的注释容易引起误解。4343【程序段2】/求函数在两点之间的根,运用的算法:中点法f0=f(a);
24、f1=f(b);/计算初始区间两端的函数值if(f0*f1=0)/区间中有根存在才继续计算 x0=a;x1=b;/设置当前求根区间的两个端点 for(i=1;i=n;i+)5.3 5.3 程序设计风格程序设计风格 4444 xm=(x0+x1)/2;fm=f(xm);/利用中点,二分区间 if(fabs(fm)epslon|fabs(x1-x0)0)/未得到根,缩小当前求根区间 x0=xm;f0=fm;else x1=xm;f1=fm;printf(“n The root is%fn”,xm);/输出求得的根值 5.3 5.3 程序设计风格程序设计风格 45455.3 5.3 程序设计风格程序
25、设计风格 (2)程序的视觉组织主要利用空格、空行、缩进格式和分层结构表达来实现。如果一个程序写得凌乱,分不出层次来,是很难让人看懂的。具有良好的程序设计风格的程序,看起来层次分明,结构清楚错落有致,一般利用缩进(向右缩格或移行)格式,呈现出程序语句的阶梯方式,使程序逻辑结构更加清晰,层次更加分明。4646 (3)语句结构表现的形式:力求构造简单、直接、不能因为片面追求效率而使语句复杂化;程序设计中编写语句时应遵循如下规则:一行内只写一条语句或密切相关的语句,并采取缩进格式;在不影响功能与性能时,做到结构清晰第一,效率第二;5.3 5.3 程序设计风格程序设计风格 47475.3 5.3 程序设
26、计风格程序设计风格不能刻意追求技巧,力求简洁,直截了当;首先保证程序正确,再设法提高速度;使用括号来清晰表达算术表达式和逻辑表达式;尽可能使用库函数,保证质量;尽量采用结构化设计的三种基本控制结构来编写程序;设立公共过程时应确保具有独立的功能;4848避免采用过于复杂的条件测试;避免不必要的转移;避免过多的循环嵌套和条件嵌套;利用信息隐藏,确保各个模块的独立性;确保所有变量使用前都进行初始化;不要用浮点数作相等比较;5.3 5.3 程序设计风格程序设计风格 4949避免从循环引出多个出口;设计应遵循标准;大程序应分块编写,测试,调试后再集成;还有一些规则不一一列出,可以在设计中细心体会。5.3
27、 5.3 程序设计风格程序设计风格 50505.3 5.3 程序设计风格程序设计风格 (4)输入/输出格式:输入输出信息是与用户的使用密切相关的,应尽可能方便用户的使用,让用户乐于接受。51515.3 5.3 程序设计风格程序设计风格 对所有的输入数据都进行检查,识别错误的输入,确保输入数据的有效性,检查输入数据各种重要组合的合理性,必要时报告输入状态信息,保持简单的输入格式,简单的输入步骤,允许使用自由格式输入,允许使用缺省值,尽量利用结束标志而不需指定输入数目,在交互方式下,使用提示符,状态信息,指明输入过程。52525.3 5.3 程序设计风格程序设计风格 确保输入格式和输入语句的一致性
28、。对输入/输出加注解,设计输出报表格式。考虑用户的使用习惯和行业特点,设计高效的输入输出格式。改善输入/输出质量和效率,适当安排缓冲区,减少频繁的数据交换。5353本章要点本章要点 1.软件编码的目的是什么?2.选择程序设计语言应考虑哪些方面?3.如何使用注解?4.对于你过去编写的程序进行改造,满足结构化设计要求和具有良好程序设计风格。5.什么是结构化程序设计?6.对于信息管理系统的应用,可选用哪几种语言?5454本章要点提示本章要点提示 1、软件编码的目的是什么?软件编码的目的,是将软件的定义转换成能在具体计算机上实现的形式。详细设计说明书是软件编码阶段的设计依据与基础。5555本章要点提示
29、本章要点提示 2 2、选择程序设计语言应考虑以下方面:、选择程序设计语言应考虑以下方面:(1 1)选选用用的的程程序序设设计计语语言言应应该该有有理理想想的的模模块块化化机机制制,具具有有较较好好的的可可读读性性控控制制结结构构和和数数据据结结构构,能能减减少程序错误,结构清晰;少程序错误,结构清晰;(2 2)选选用用的的程程序序设设计计语语言言所所对对应应的的开开发发环环境境能能够够尽尽可可能能多多的的自自动动发发现现程程序序中中的的错错误误,便便于于测测试试和和调调试,提高软件的可靠性;试,提高软件的可靠性;(3 3)选选用用的的程程序序设设计计语语言言有有良良好好的的机机制制,具具有有符
30、符号号表表达达的的一一致致性性和和语语义义上上的的一一致致性性,表表达达方方式式简简洁洁,语语法法简简单单,便便于于记记忆忆,易易于于学学习习掌掌握握,以以降降低低软软件件开发和维护成本;开发和维护成本;(4 4)选选用用的的程程序序设设计计语语言言能能够够满满足足应应用用领领域域功功能能和性能的要求;和性能的要求;5656本章要点提示本章要点提示 (5 5)选选用用的的程程序序设设计计语语言言能能够够满满足足描描述述程程序序模模块算法复杂性的要求;块算法复杂性的要求;(6 6)选选用用的的程程序序设设计计语语言言具具有有配配套套的的软软件件工工具具,有利于提高软件开发的生产率;有利于提高软件
31、开发的生产率;(7 7)选选用用的的程程序序设设计计语语言言有有较较好好的的移移植植性性、兼兼容容性和适应性;性和适应性;(8 8)结结合合程程序序设设计计人人员员的的知知识识水水平平和和用用户户要要求求,标标准准化化程程度度、系系统统开开发发规规模模,现现有有设设计计人人员员对对语语言言的熟悉程度等因素进行选择。的熟悉程度等因素进行选择。如如果果与与其其它它标标准准不不发发生生矛矛盾盾时时,应应选选择择开开发发人人员员熟熟悉悉的的并并在在以以前前的的项项目目中中成成功功应应用用过过的的语语言言。当当一一种种语语言言不不能能满满足足要要求求时时,可可选选用用一一种种语语言言为为主主,其其他他几
32、几种种语语言言为为辅辅助助语语言言,进进行行混混合合编编程程,满满足足软软件设计的总目标。件设计的总目标。5757本章要点提示本章要点提示 3 3、如何使用注解?如何使用注解?对对源源程程序序的的注注释释分分为为序序言言性性注注释释、功功能能性性注注释释和和状状态态性性注注释释。大大多多数数高高级级程程序序设设计计语语言言允允许许用用自自然语言进行注释。然语言进行注释。序序言言性性注注释释一一般般放放在在模模块块的的最最前前面面,给给出出模模块块的的整整体体说说明明,引引导导人人们们理理解解程程序序,包包括括标标题题、模模块块功功能能分分类类说说明明、目目的的,使使用用的的主主要要算算法法,接
33、接口口说说明明(调调用用形形式式、参参数数描描述述、子子程程序序清清单单等等),数数据据描描述述(重重要要变变量量及及用用途途、约约束束与与限限制制条条件件等等),模模块块位位置置,开开发发简简历历、设设计计者者、复复审审者者、复复审审日日期期、设设计日期、修改日期等有关说明。计日期、修改日期等有关说明。5858本章要点提示本章要点提示 对对使使用用的的一一切切变变量量都都要要显显式式地地说说明明,并并做做出出注注释,说明其确切含义。释,说明其确切含义。功功能能性性注注释释一一般般放放在在实实现现该该功功能能的的程程序序段段的的前前面面,描描述述功功能能的的注注释释应应解解释释程程序序段段,而
34、而不不是是解解释释每每一一条条语语句句;使使用用空空格格、括括号号、空空行行、间间隔隔标标志志使注释与代码容易区分。使注释与代码容易区分。状状 态态性性注注释释一一般般紧紧跟跟在在引引起起状状态态变变化化语语句句的的后后面面,注注释释要要正正确确,错错误误或或有有歧歧义义的的注注释释容容易易引引起误解。起误解。5959本章要点提示本章要点提示 4、对于你过去编写的程序进行改造,满足结构化设计要求和具有良好程序设计风格。提示:选择你以前编写的部分程序段,参照P269有关保持良好程序设计风格应遵循的主要原则进行改造。6060本章要点提示本章要点提示 5 5、什么是结构化程序设计?什么是结构化程序设
35、计?当当 前前 广广 泛泛 使使 用用 的的 是是 结结 构构 化化 程程 序序 设设 计计 方方 法法 SP(StructuredSP(StructuredProgramming),Programming),它它是是与与结结构构化化分分析析SASA和和结结构构化化设设计计SDSD方方法法相相衔衔接接的的。是是用用于于软软件件编编码码的的基基本本技技术术,目目的的在在于于写写出出结结构构清清晰、易于理解也易于验证的程序。晰、易于理解也易于验证的程序。(1)(1)它它仅仅使使用用顺顺序序结结构构、选选择择结结构构、重重复复结结构构,这这三三种种基基本本结结构构,每每种种结结构构严严格格地地只只有
36、有一一个个入入口口和和一一个个出出口口单单入入单单出结构。这三种基本结构又可以层层嵌套,形成复杂的程序。出结构。这三种基本结构又可以层层嵌套,形成复杂的程序。(2)(2)由程序语句组成的程序块,也应该具有单入单出的形式;由程序语句组成的程序块,也应该具有单入单出的形式;(3)(3)复复杂杂的的程程序序结结构构也也应应该该用用基基本本控控制制结结构构的的组组合合、嵌嵌套套来来实现;实现;(4)(4)严格控制严格控制GOTOGOTO语句的使用,仅在下列情况下才使用它:语句的使用,仅在下列情况下才使用它:1 1)用用一一个个非非结结构构化化的的程程序序设设计计语语言言去去实实现现一一个个结结构构化化
37、的的构造;构造;22)在某种可以改善而不是损害程序可读性的情况下。)在某种可以改善而不是损害程序可读性的情况下。6161本章要点提示本章要点提示 6 6、对对于于信信息息管管理理系系统统的的应应用用,可可选选用用哪哪几几种种语语言言?开开发发信信息息管管理理系系统统的的应应用用软软件件,一一般般选选用用具具有有较较强强的的数数据据库库管管理理功功能能的的语语言言和和工工具具。如如SQLSQL语语言言及及 含含 有有 该该 语语 言言 的的 开开 发发 工工 具具,Oracle Oracle、SybaseSybase、InformixInformix、IBM-DBIBM-DB系系列列、ParadoxParadox、FoxproFoxpro、AccessAccess、DelphiDelphi、PowerBuilderPowerBuilder开开发发工工具具、LotusLotus系系统统环环境境和和工工 具具 以以 及及 其其 他他 高高 级级 语语 言言 如如 C+BuilderC+Builder、Visual Visual BasicBasic、Visual CVisual C语言等。语言等。
限制150内