公务员期刊网 精选范文 结构化程序设计范文

结构化程序设计精选(九篇)

结构化程序设计

第1篇:结构化程序设计范文

关键词:结构化程序设计 数据结构 算法 设计技巧

近年来,计算机程序设计技术已从结构化程序设计技术逐步向对象程序设计技术过渡,特别是当设计一个较大规模的应用程序时,面向对象设计思路成为首选。纵观计算机软件技术的发展,在局部功能的实现上及功能模块的设计上,结构化程序设计仍然有其不可替代的独特魅力。在结构化程序设计中(以C语言为例),巧妙地运用一些设计技巧,对增强程序的稳定性和可靠性,简化程序操作步聚,提高程序的运行效率十分有效。

结构化程序设计的概念最初是由荷兰学者E・W・DUKSTRA等人在20世纪60年代提出的,它的基本思路是:以模块化设计为中心,将原来较为复杂的问题简化为一系列简单模块的设计,也就是将一个大的计算任务划分为若干个较小的任务,这些小任务均由函数来完成。函数既可以是C语言定义的标准库函数,也可以是自定义函数。在实际应用程序中,一个具备一定规模的C语言程序往往由多个函数组成,其中必有一个命名为main的主函数,由main来调用其他函数。必要时,其他函数还可以调用另外的函数,同一函数可以被一个或多个函数调用一次或多次。

结构化程序设计把程序归结为用顺序结构、选择结构和循环结构等三种基本结构来描述的逻辑问题。顺序结构的程序流程是按语句的书写顺序依次执行;在C语言中,有4种语句是顺序执行的:即空语句、表达式语句、函数调用语句及复合语句;选择结构是对给定条件进行判断,根据判断结果决定执行两分支中的一个分支或多分支中的一个分支,选择语句有if语句和switch语句;循环结构是在给定条件成立的情况下,反复执行某个程序段,循环语句有for,while和do-while语句以及一些辅助流程转向语句如continue,break,go to等等。以上三种结构通过流程控制语句来实现。流程控制语句在程序设计中起着十分重要的作用,通过三种基本控制结构的合理调配使结构化程序具有唯一的入口和出口,不会出现死循环,而且程序的静态形式与动态执行形式之间具有良好的对应关系。

从以上结构化程序的基本特点分析,结构化程序设计主要强调的是程序。程序=算法+数据结构+程序设计方法+语言工具和环境,其中算法是灵魂,是解决“做什么”和“怎么做”的问题;数据结构是加工对象;语言是工具;编程需要采用合适的方法。具体解决主要问题包含以下几个步骤:

分析问题,找出解决问题的模型根据模型设计出适合计算机特点的处理方法即算法进行编程程序,以实现算法上机编辑(.c)、编译(.obj)、连接(.exe)、运行所编制的程序,直到得出正确结果对结果进行分析,整理出文字材料。

程序设计的任务不只是编写出一个能得到正确结果的程序,还应考虑程序的质量,否则编写的程序就会出现质量低下、可靠性差、开发周期长、维护费用高等不良后果,即所谓的的“软件危机”,它会严重阻碍计算机应用的发展。由于大多高级语言都支持结构化程序设计方法,其语法上都含有表示三种基本结构的语句,所以用结构化程序设计方法设计的模块从结构到程序的实现是直接转换的,只需用相应的语句结构代替标准的控制结构即可。笔者在实际应用中,总结出以下几点实用技巧。

一、通过引申法廓清思路,选准目标

“引申法”就是通过对某一结论的合理引申,结合已经解决的问题,因势利导,在此基础上解决相关联的其他问题。“引申法”可以培养人们在程序设计方面的发散思维,提高程序设计的应变能力。问题是活的,但程序是有章可循的;语法是有限的,可解决的问题是无限的。程序设计相当一部分工作是分析问题,找到解决问题的方法,再以相应的语言写出代码。要熟练掌握一些简单的算法,根据不同的问题,再灵活应用。如用100元钱买100只鸡,公鸡、母鸡、小鸡分别是5元、3元、1元一只。在数学上解三元一次方程,三个未知数,两个方程好像解不出来。通过“穷举法”,我们要费好大一番工夫才能算出结果,但是通过计算机“引申”编程运算却不用一秒钟即可解决问题。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。通过“引申”法,我们可使初学者对函数设计的关键问题有清晰的认识,利于从统筹全局的角度去考虑问题,体现了程序设计逐步求精的思路。

二、利用框架法培养全局思维和算法的整体设计能力

其具体体现在两方面。一是在有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句地讲解代码。这样可以层次分明,突出算法设计的关键,利于培养编程思路。二是在学习重点章节函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序,我们可以把着眼点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。结构化构造减小了程序的复杂性,提高了可靠性、可测试性和可维护性,使用少数的基本结构,就可使程序逻辑结构清晰,易读易懂,并且容易验证程序的正确性。

三、借助求异法引导新思路,启迪新思维

结构化程序设计方法的基本思路是:把一个复杂的问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。一个固定的问题,解决的方法可能不唯一,如果能启发人们多角度、多侧面去寻求解决问题的办法,则可激发思考的积极性,提高其学习兴致。对一个初学计算机语言的人来说,最重要的就是要有正确的程序流程概念,不仅要懂得,而且要灵活应用。由此可见,用结构化方法设计的结构是清晰的,有利于编写出结构良好的程序。在C语言中一题多解的情况有很多,有意识地引导新思路,鼓励新方法,以培养人们在编程中的求异思维,而不是死记硬背,墨守成规。结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。

四、选准切入口,合理划分功能模块“分而治之”

结构化程序设计的关键在于功能模块的选定和划分。模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务的划分以相对简单为前提。划分子模块时我们应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。具体应用时从问题本身入手,自顶向下,逐步细化,精益求精,将解决问题的步骤分解为由基本程序结构模块组成的通过程序流程图、N-S图、PAD图表格等表示的结构化程序框图。在实践应用中往往会出现以下几个问题:一是用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。二是用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。三是系统的开发周期较长。

为解决这些问题,我们要求模块的设计要简洁明了,语句的选用要直观,不要拖泥带水。下面是一段小程序,从中可以看出一些语句选用的技巧。

某淘宝商城为鼓励更多网友光临本店,对新老网友给出如下优惠:凡是购买10件以上者,打9折;20件以上者,8.5折优惠;30件以上者,8折优惠,40件以上者,7.5折优惠。如用习惯上的if嵌套语句编写程序如下:

Main()

{float x,y;

printf(“请输入优惠购额款X:\n”);

scanf(“%f”,&x);

if(x

y=x;

else if(x

y=0.9*x;

else if(x

y=0.85*x;

else if(x

y=0.8*x;

else

y=0.75*x;

printf(“网友应付优惠后款额Y为:y);}

显然,这段程序冗长,一旦情况有变化,难以扩展。转换为switch语句结构后,程序就变得相对简单:

Main()

{float x,y;

Int t;

Printf(“请输入优惠购额款X:\n”);

Scanf(“%f”,&x);

If(x>=40)

t =4;

elst

t=(in)(x/10);

switch(t)

{case 0:y=x;break;

case1:y=0.9*x;break;

case2:y=0.85*x;break;

case3:y=0.8*x;break;

case4:y=0.75*x;break;}

printf(“网友应付优惠后款额Y为:y);}

两种方法可谓异曲同工,但是对于程序的调试性和可维护性却有天壤之别。在结构化程序的编程实践中,我们要查找某些错误比较困难,所以要尽可能避免出现这些问题。编程技巧需要在编制和调试结构化程序时不断总结和完善,力求找出最简便、最直观的方法。

总之,结构化程序设计方法在实际应用中有许多技巧可以合理运用,这需要我们对算法和数据结构展开深入分析,寻找最佳结合点,有的放矢,对症下药;更需要在实践中不断总结和积累。在编写过程中我们觉得有些程序没什么问题,但是一上机调试,就出现这样或那样的问题,这说明程序还不完善,还需要调整或改进。当今,高效率和快节凑的生活与工作方式对程序的设计提出了更高的要求和更苛刻的标准,我们只有不断创新设计理念和方法,才能编制出更多高质量、高性能、低故障的优质程序。

参考文献:

[1]林锐等编著.高质量程序设计指南[M].北京:电子工业出版社,2002.

第2篇:结构化程序设计范文

[关键词]自动化生产线;操作手单元;机械结构;控制程序设计

中图分类号:TP278 文献标识码:A 文章编号:1009-914X(2017)22-0095-01

引言

至今时期,因为有着高速发展的科学技术为依托,机械制造业中的自动化生产技术也取得了更加广泛的运用,所据地位变得越来越重要。近年来各种各样的自动化生产线已经在汽车制造业、电子电气行业、食品行业、化工行业、冶金行业等领域研究和制造出并投入使用。随着自动化生产线投入的使用,不仅提高了产品品质和生产效率、同时也在改善作业员工作环境、减小能源消耗、降低原料成本等方面均取得了显著的成效。

1 自动化生产线设计

1.1 自动化生产线设计流程

自动化生产线的设计需要在熟悉产品生产工艺的基础上得以实现,首先只有在熟悉产品生产工艺的及产品特点的基础上来对自动化生产线进行设计,同时产品生产工艺也是一个产品装配过程的完整体现,产品生产过程中的每一道工序都对产品的每一步生产进行详细的要求与说明,并对相应的规格标准进行说明。因此,在对自动化生产线进行设计之前首先要对产品的生产工艺进行分析、熟悉。

1.2 自动化生产线的设计原则

在自动化生产线的设计过程中需要在满足使用功能的前提下尽可能的对工艺步骤进行优化,使设计过程最简化、设计成本最小化。在自动化生产线的设计过程中对于自动化生产线所使用的各个零件如传感器、PLC 等的部件应当尽量选择统一的标准,从而在降低自动化生产线成本的同时能够方便的对其进行管理、互换。

2 自动化生产线机械手发展概述

在科技日新月益的推进更新下,机械工作的灵活度与耐用度日益增强,机械手的出现促进了生产工作的进步。机械手可以惟妙惟肖地效仿人手和臂的部分行为功能,依设定程序进行拿取、搬送物品或操控工具的自动操作装置。只需我们利用编写程序来实现不同的预想动作,在结构和功能上就能同时拥有人和机械手种种的优点。常用的机械手一般由手部、活动机构两大部分组成。手部的首要任务就是实现工件的抓取,然后按照被抓取工件的材质、尺寸大小、形状、重量和动作需要设计成如托取型、吸贴型、夹持型等满足要求的各种结构类型。运动机构也就是让手部按照不同的角度不同运动轨迹进行翻转、转移或混合运动来满足产品的加工需要。运动机构的伸展与收缩、上升与下降、旋转等独自活动形式,被叫做机械手的自由度。要能够拿取任何地方或不同状态的工件,只要拥有 6 个或以上自由度的机械手就可以做到。因此机械手的自由度就最初设计时必须谨慎合理地考虑的重要参数。机械手的自由度越多,机械手的灵活性越大,通用性越广,其结构也越复杂。普通专用机械手有 2~3 个自由度。投入使用机械手,可以使生产线完全自动化,不仅能大幅削减人工,同时劳动强度也大大降低,而且系统稳定好、使用方便,同时还可以适时快速便捷地监控生产实际情况。当然对企业来讲最大的优势就是能够降低长期带来的人工成本,提高企业利润率。

3 自动化生产线操作手单元的机械结构及控制程序设计

3.1 操作手单元的机械结构

操作手单元主要由支架模块、滑槽模块、Pic Alfa 模块、I/O 接线端口,CPV 阀组、控制面板组成。

3.1.1 支架模块

接收上一个单元传送来的工件,并由漫射式光电传感器检测工件颜色。

3.1.2 Pic Alfa 模块

该模块由气抓手、气动无杆气缸、漫射式光电传感器等组成。主要完成工件的提取和传送。该模块具有高度的灵活性,末端位置传感器的安装位置可以任意调节。在提取装置上装有气抓手,通过给不同的缸体送气,控制气抓手的打开和关闭。

3.1.3 滑槽模块

在本单元中有两个滑槽模块,可以存储多个工件,其倾斜角度可以任意调节。

3.1.4 CPV 阀组

本单元的阀组由 3 个阀组成,分别控制无杆气缸、提升缸和气抓手。在结构上,它们都是带手控装置的单控电磁阀。

3.2 操作手单元的程序设计

工件到达支架后,由支架上的漫射式光电传感器检测工件颜色。检测到工件后,气抓手打开,操作手臂下行,到达工件位置。当气抓手上的漫射式光电传感器检测到有工件后,气抓手闭合夹住工件,操作手臂上行提取工件。在水平轨道上移动到达下一个工位上方,操作手臂下行到工位,打开气抓手将工件放置在 ROBOTINO(机器人)单元的检测区域。操作手臂上升,气抓手闭合,手臂返回到初始的左限位置。

按图1的控制流程,应用 PLC 编程,将所编写程序通过通信电缆下载到 CPU 中,进行实际运行调试,经过调试修改完善控制程序。

结语

随着自动化生产线的广泛应用,随着自动化控制技术发展的日新月益,对自动化生产线操作手单元机械组成的分析,可以为今后设备的调试、维护与排故奠定良好的基础。对控制程序的设计及分析,可以有效扩展单元的功能,提高生产率。

参考文献

[1] 彭辰阳.自动化生产线上计算机控制技术的应用探析[J].科技经济市场,2015,(09):10-11.

[2] 马勇.计算机控制系统在自动化生产线上的应用[J].自动化与仪器仪表,2014,(03):72-73+78.

[3] 于文新,楚书来.计算机控制技术在自动化生产线上的应用[J].煤炭技术,2013,(08):221-222.

[4] 李小笠,刘桂芝,尤正建,朱洪波.基于RFID的自动化生产线配套仓库管理[J].机床与液压,2013,(13):120-123+127.

[5] 卢泽旭.工业机器人在冲压自动化生产线中的应用研究[J].机电信息,2012,(12):49+51.

[6] 陈永方,陈明.浅谈自动化生产线的发展[J].广西轻工业,2011,(01):57+61.

第3篇:结构化程序设计范文

C语言 结构化程序设计 循环结构 效率

一、引言

学习和应用计算机高级程序设计语言的人都知道,在这些语言中为实现结构化程序设计,一般都会采用三种最基本的结构,即顺序结构、选择结构和循环结构。因此,掌握这三种基本结构的使用方法,是学习和掌握高级程序设计语言课的基础。这三种基本结构中,顺序结构和选择结构和我们平常的思维习惯相似。因此,最容易理解和掌握;而循环结构是这三种基本结构中最复杂的一种结构,与我们日常的思维习惯不尽相同,因此理解起来相对来说比较困难。但是,几乎所有的程序都离不开循环结构,利用它可以简化程序、提高工作效率。因此,学习和应用高级程序设计语言的人又必须要掌握循环结构。但是,通过本人近几年的教学发现,大多数学生在学到循环结构一段时间后,干脆将这门课给放弃了,原因是他们觉得循环结构太难理解了。用顺序结构和选择结构做一个小程序还可以,用循环结构实在难理解。鉴于这个原因,本人将日常授课中总结出来的一点心得从初学者的角度写出来,希望能对即将和正在学习高级程序设计语言课的人有所帮助。当然,我们在这里是以C语言为例来说的,其实这方面的知识对其他语言比如Visual Basic语言等同样适用。

在C语言中,循环结构主要是由For语句、While语句、Do-While语句三种结构来实现的。而在这三种循环结构语句中又以for语句的应用更为广泛。因为for语句在其开头语句中就已经包含了循环变量的初始值、循环变量的终止值、循环的判断条件以及循环变量的变化趋势等这些内容,因此在编写其循环体时,只用考虑其循环体应该包含的主要功能就行了,而不用在For语句之前对循环变量的初始值进行过多地考虑,同样也不用在循环内部考虑其循环变量如何变化。对大多数有程序设计经验的人来说,使用for语句实现循环结构是一件轻而易举的事情。但是,对于没有经验的初学者来说,要想将for语句的作用及使用方法掌握住也不是一件容易的事情,更不用说While语句、Do-While语句的使用了。因此,本文从初学者的角度,阐述了C语言中循环结构的几种典型应用。

二、用循环结构输出几何图形

在教学过程中,不管开设哪一种高级程序设计语言课,只要一讲到循环结构,大多数老师几乎不约而同地选择输出简单的几何图形来作为讲解循环结构的最好实例。

对于这种类型的题目,初学者往往最容易想到的方法就是采用多条输出语句来完成程序的设计。虽然这种方法很快能够实现所要效果,但其缺陷也是很明显的:缺乏灵活性、程序修改起来不方便,也不符合程序设计的思想。比如,我想让大家输出8行,每行36个“*”。这个时候,我们就不得不在输入“*”的时候特别仔细,因为一不小心可能个数就不对了。

但是,这样的问题如果用循环语句来实现的话,程序不但可以简化多,并且可以很灵活地将其修改成我们想要的效果。

因此,在讲解这一类图形时,授课教师最好引导学生按照正常的程序设计思想,先分析图形的组成结构,找出其中变化的规律,然后按照所找到的规律用循环结构来编写出相对应的程序代码,这样一旦要求有一点点变化不用大篇幅地修改程序,而只用找到关键的几个地方修改一下就可以了。教师在讲解的过程中,可以举一反三,多次修改、让学生反复练习,直到他们理解为止。

现在,我们来具体分析一下该图形,看看它有什么样的特点,然后我们利用For循环将它的程序代码编写出来。

三、结束语

以上关于循环结构的使用基本上都是在程序设计教学过程中的一些体会与总结,可能比较肤浅,但是对于初学者来说,掌握这些知识还是有必要的。在进行课程教学的过程中,将自己在学习过程中得到的一些好的方法传授给学生,让他们从中去实践、体会,从而引起他们更大的学习兴趣是必要的。如何让一名初学者尽快摆脱日常的思维定式,更加透彻地理解和掌握程序设计中的基本思想,领会程序设计的精髓,是高级语言程序设计这门课程在讲授过程中,应该时刻注意的问题。更希望学生在学习的过程中不只是从老师这里拿一些现成的经验去使用,更重要的是让学生学会自己去发现问题、解决问题,总结出一些更好的程序设计方法,为以后进行软件开发与设计打下良好的基础。

参考文献:

[1]谭浩强.C程序设计(第三版)[M].清华大学出版社,2005.

[2]苏运霖.计算机程序设计艺术第1卷・基本算法[M].北京:国防工业出版社,2002.

[3]谭浩强.C语言程序设计(第二版)[M].北京:清华大学出版社,1999.

第4篇:结构化程序设计范文

【关键词】软件开发 方法创新 发展过程

软件开发在今天这样一个日新月异的社会中对于软件行业的发展有着极其重要的作用,软件的开发是软件行业向前发展不可缺少的推动力,软件的开发可以说影响了软件行业发展的快慢。随着社会的不断进步,不同的经济发展条件下,对于软件的需求也是不同,因此要对软件的开发方法进行创新,尽可能的跟上时展的潮流。软件的开发经过一代又一代人的努力取得了今天的成就,但是我们还要不断的努力,对软件的开发方法进行创新。

1 软件发展的几大阶段概述

软件作为计算机的重要组成部分,它的发展是伴随着计算机的发展而发展的,从电子计算机产生,软件也随着相伴而生,可以说电子计算机和软件是相互依存的关系,经过长时间的发展,到现在为止,软件的发展历史大概可以分为三个阶段:结构化的程序设计阶段;面向对象的程序设计和系统分析阶段;基于组件软件的系统开发阶段。结构化的程序设计的概念最早是1965年提出的,它是软件开发历史上一个非常重要的里程碑,它的主要观点是采用一种自上而下、一步一步精细化和模块形式的程序设计方法,它主要使用三种基本结构控制结构构造程序,任何的程序都可以使用顺序、选择、循环三种基本结构进行结构构造的控制。结构化的程序设计主要强调的是程序的易读性;面向对象的程序设计是一种程序设计的典范,同时也是一种重要的程序开发的方法,它把对象作为程序设计基本单元,可以提高软件的实用性、灵活性。面向对象程序设计与传统的程序设计相比具有很大的优势,目前面向对象程序世纪的灵活性已经得到了证实,并且在许多大型的设计项目中被广泛的应用。我们现在所说的面向对象不仅是一种程序设计方法,也是一种程序开发的方法;组件化是软件技术发展到一定阶段的产物,是可以改善软件可靠性、实用性行之有效的办法。

2 两个主要软件开发的创新发展

2.1 面向对象软件开发方法的创新发展

面向对象软件开发方法是计算机发展到一定水平的必然结果,面向对象的软件开发方法是为了把电子计算机技术与现实生活中的问题结合起来的开发方法,能够更好的为我们的生活提供便利,计算机具有一定的虚拟性,虽然能够依靠先进的技术描绘出现实社会中的东西但是需要计算机技术与现实世界相符合。在面向对象的软件开发过程中主要有两种典型的方法,这两种典型的方法可以使计算机数据和我们的生活现实完美的结合到一起。面向对象的程序设计方法的目标是如何把计算机技术与现实社会的实际结合到一起,解决虚拟与现实结合的问题。软件一般都是有生命周期的,软件的生命周期是建立在面向软件的基础上的,存进了00D和00A两种方法的形成。面向对象软开发方法的创新发展是一个长期的过程,是需要我们不断的去探索的过程,随之时代的发展面向对象软件开发方法的创新发展对于社会发展来说是非常重要的。

2.2 结构化软件开发方法的创新发展

计算机发展中的两个主要软件开发方法另一个就是结构化的软件开发方法,对于计算机来说结构化的软件开发方法是非常重要的,结构化的软件开发方法主要可以分为几个主要的部分:结构化分析、结构化设计和实现的过程 。

3 结构化软件开发创新发展中的重要环节

3.1 软件开发中存在的问题

虽然软件的程序设计是一个精密的设计过程,但是在进行设计的过程中也会存在一定的问题,我们要及时地找出其中的问题,据调查在结构化软件开发出现之前,软件的开发活动主要以个体为主,只是注重自己的想法,不知道和他人进行配和,在进行编写程序是随自己的想法走,只要自己舒服就可以,有的人过分的追求程序编写的技巧,没有制定专门的编写软件程序的准则。还有的人认为开发软件知识编写程序,对于程序编写之外的一切事情都不关心,知识一味的按照自己的思想向前走,给软件的程序开发带来了严重的阻碍,也给软件事业的发展带来了极大的影响。

3.2 用创新的思维解决软件开发中的的问题

我们要解决软件程序设计中的问题就要对我们的软件开发思维进行创新,这种创新的思维观念要求我们在进行程序的编写是不要随自己心情,也不要过分的追求编写程序的技巧,要注重团队的力量,把软件的程序编写与我们的生活世纪结合起来,还要考虑到程序便捷性和实用性,还要合理的使用顺序、选择、循环着三种结构使我们编写的程序变得更加的完善。编写程序只是软件开发过程中的一个组成部分,还要加强对其他部分的重视力度,我们才能更好的进行程序的编写,我们在软件的设计过程中不能只重视程序的编写还要中和的考虑其他方面的问题。

3.3 对软件的核心技术进行创新

软件开发中的核心技术程序设计,因此要想实现软件的创新就要对软件的核心技术进行创新,软件的核心技术是一个非常重要的部分,按照新的思维模式对软件的设计进行创新,结合C语言和Pascal语言不断的完善软件设计,通过创新的思维模式我们可以更具有便捷性和实用性,给我们的软件行业带来好处,创新是任何行业都要面临的问题,同样的创新也是一个行业发展的不竭动力,会给行业的发展带来极大的便利。软件核心技术创新对于软件行业的发展有着非常重要的作用。

3.4 用创新的思维完善软件开发中的问题

目前,我们的软件开发的过程还是不够完善,软件开发中还存在一定的问题,我们要用创新思维来完善软件开发中的问题,完善的内容主要是将思维创新的观念应用到软件的设计和软件的结构化设计中去去,使我们设计的软件更加的完善。软件设计的完善会使我们的软件在应用的过程中减少食物,软件中的存在的缺点少,就更有利我们软件行业的发展,给软件行业的发展带来便利,是软降的使用更加的具有便捷性和实用性。

4 结语

软件可以说和电子计算机技术是相伴而生的,二者对于今天社会的发展是缺一不可的,从消费者的角度来看大多数的消费者希望软件在原有的质量的基础上变得更加的便捷化、简单化。通过上诉对软件创新过程的研究,我们可以知道软件带给我们的好处,软件的创新发展的研究给我们今天经济的发展也带来了一定的影响。创新是一个逐渐发展、逐渐渗透的过程,在创新发展的过程中,我们要先对软件设计的核心进行创新,通过创新可以更好的发展。

参考文献

第5篇:结构化程序设计范文

关键词:PLC程序程序设计编程思想

中图分类号:TP3 文献标识码:A 文章编号:1007-3973(2011)002-045-02

1 PLC程序设计的技术及其使用

1.1 PLC程序设计的特点及使用

PLC即“可编程控制器”,是为控制工业过程而开发制作的专业控制器,其核心程序及相关设备均与控制工业过程的系统连结成为整体,最大化地完善、扩充工业过程的控制系统。

PLC的程序设计具备以下几个特点:I/O接口模块的类型种类丰富,根据不同的作业情形设计不同的模块,各种模块切换方便,提高了程序控制的操作性能;为了与各种工业控制要求相适应,大部分PLC采取了模块化的程序结构,I/O、CPU等部件均采取模块化结构的设计,通过电缆和机架进行连接,用户可以根据自身的需要进行自由组合;PLC的编程采取梯形图式的设计形式,对于用户来说简单易学,无需掌握专业的计算机编程知识即可操作。

PLC程序的使用主要应用于以下几方面:控制模拟量,如在工业控制中对温度、流量、速度等模拟量的管理;控制工程中的圆周和直线运动,如机械、机器人的伺服电梯中的轴轮控制处理数据,采用现代数学的运算操作,来完成数值的分析比较,常用于大型工业的控制系统之中。

1.2 PLC程序设计的工作原理

PLC基本的工作原理是先通过最初的输入扫描,将信息读入进内存并记取,随后开始执行用户的程序指令,然后经由输出端向外部输出信号,启动外部程序运行指令。

2 计算机的基本编程思想

2.1 着眼于结构的编程设计

结构化的程序设计要求程序的编写者遵照合理有序、易于理解的规则和形式来编写,程序的应用运行依靠合理而易于验证的结构。结构化的编程思想涉及到以下几方面内容:

由基本的三种结构――顷序、选择、循环结构构成一个大型程序,程序只具有一个入口和一个出口,程序内部的各结构之间执行顺序的循环关系:由各个功能相独立的模块遵照逻辑的层次关系组合,形成大型复杂的程序功能;由上至下的进行任务级别的细化划分,将大型、直至将复杂的任务程序划分为可以独立进行编程操作的子模块,并将子模块遵由合理化的结构连结和调用,达到最终目标的程序设计。

着眼于结构的编程思维好处是能够将各模块的结构理顺清楚,以基本单元的方式将程序细化,易于调试、纠错和维护。

2.2 以对象为目标的编程设计

将对象作为目标的编程设计于近年得到广泛流行,其根本设计思路是将对象、类、继承以及封装作为编程的基本概念,来对程序进行编制。这种编程设计思想的好处是重在应用大量的成熟类库到程序设置中,可重用,因而能够缩短开发时间,增强可靠性,提高程序开发与编制的效率。

以结构为基础的编程设计和以对象为目标的编程设计并非相互排斥、各自独立,而是互有连结和支持的。

3 PLC程序设计中的几种编程思想与实例

3.1 数据库的编程思想

电梯控制系统的PLC采用了罗克韦尔公司的“ControlLogix 5000”,该PLC程序即采用数据库编程的模块化设计。

电梯控制系统的最大特点是需要大量数据进行输入、输出,因而在编程的过程中需要高强度大范围地对流动数据进行程序控制,简单的编程语言无法满足控制数据要求,调用时会使整个控制程序显得庞大、效率低下,因而采用数据库进行编程,充分发挥了数据库庞大的存储空间和便于调用数据的功能。当电梯运行时,控制程序会根据电梯楼层的位置检测信号,访问数据库查找匹配的数据后调用程序向外输出结果。

3.2 程序嵌套的编程思想

程序嵌套思想是以对象为目标的编程设计,其优势在于将程序细化为一个个能够独立运行操作的程序,简化程序的运行条例。在工程控制程序的运行中,如果出现一段程序需要多处执行同一种指令,则可以将此指令编程为一个独立的子模块,配以调用指令来将所有程序的操作集中在此子程序上,执行完毕后再回复到主程序继续下面的操作,由此大大缩短程序的调用响应时间,便于提高程序速度和调试。

在电梯控制系统的PLC中,可以采取程序嵌套的子模块编程方法,将各部分不同功能划分设计为独立的子模块,以便简化电梯控制程序,提高故障的维修效率。

在电梯控制程序的设计中,将各功能划分为以下独立的子模块:安全功能模块、运行方向模块、厅内呼梯模块、楼层外呼梯模块、楼层显示模块、呼梯信号灯显示模块等六大子模块,可以使主程序的框架更清晰、具条理,从而简化加速电梯的控制程序。

第6篇:结构化程序设计范文

1两个典型软件开发方法的创新发展过程

1.1结构化软件开发方法的创新发展的过程

结构化软件开发方法包括结构化分析方法、结构化设计方法和结构化实现方法,其核心是结构化程序设计方法。结构化软件开发方法是在结构化程序设计方法基础上逐渐形成和完善的。

在结构化程序设计方法出现之前,软件开发活动个体化特征非常严重,编写程序时个人随心所欲,过分追求程序编写技巧,没有一个行之有效的、大家共同遵循的开发准则,造成程序的可读性、清晰性、可理解性比较差,给软件维护工作带来极大的困难。

在结构化软件开发方法出现之前,由于当时的软件比较小,开发过程比较简单当时错误地认为开发软件只是编写程序,所以那时的软件开发方法只是考虑编写程序,软件开发方法内容极不完善,对编写程序之外的其它软件开发阶段没有给予重视。

随着软件规模的增大和复杂性的提高,这种个体化随心所欲编写程序的现象和只重视编写程序而忽视软件开发其它环节的软件开发方法导致许多问题出现。例如,由于过分追求程序编写技巧,一些程序很难阅读和理解,因此当软件出现问题时无法维护;例如,由于不重视需求分析工作,对用户需求了解的不全面、不细致,开发出的软件往往与用户要求有很大差距。这些问题成为软件危机的根源之一。

在结构化程序设计方法出现之前的相当长的时间里,人们对软件开发活动和软件开发方法的认识停留在上述层面上,形成了一种传统的思维观念,似乎开发软件就应该那样做,使软件危机日益严重。

为了消除软件危机,人们开始深入思考软件开发活动和软件开发方法。1968年Dijksm在写给ACM杂志编辑部的信中再次建议从一切高级语言中取消oo语句,围绕是否应该取消ot)语句,人们展开了一场激烈的争论。在这之前,1965年Dikstm首次建议取消吾句,1966年Bohn与JaooPiH正明了任何单入口单出口的没有“死循环”的程序都能由三种基本结构构造出来,这三种基本结构是顺序结构、选择结构和循环结构141。经过争论,最终人们认识到,不是简单的是否取消吾句的问题,而是应该改变传统思维观念,创建新的思维观念,在此基础上创建新的程序设计方法。

围绕gt语句争论的结果使人们形成了新的思维观念:编写程序时,在正确地实现了软件功能的前提下,必须将可读性、清晰性和可理解性放在首位,必须考虑到程序的可维护性,而不能个人随心所欲地去过分追求程序编写技巧。由于使用三种基本结构顺序、选择、循环)组成的程序具有良好的可读性、清晰性和可理解性,容易维护,所以应该使用顺序、选择和循环三种基本结构来实现程序,每个程序模块只有一个入口和出口,复杂结构由基本结构通过组合与嵌套来实现,采用自顶向下逐步细化技术进行设计。按照这样的新思维观念,形成了一个新的程序设计方法一结构化程序设计方法。1971年,IM公司在设计纽约时报信息库管理系统时使用结构化程序设计方法,成功完成了83000行程序的编写,成为结构化程序设计方法成功运用的一个范例。随后,结构化程序设计方法又在美国宇航局空间实验室飞行模拟系统的设计等许多项目中得到成功运用。

1973年,Nass和Shneidemarni出著名的盒图(N-S图)1974年ChaPir对盒图进行了扩展,这一创新为结构化程序设计提供了一个强有力的工具,改变了使用传统流程图容易产生随意性的弊病,使结构化程序设计方法得到完善。随后,日立公司的二村良彦等人提出了问题分析图(PAD图)问题分析图是结构化程序设计的又一个有效的工具,从而进一步丰富了结构化程序设计方法151。1971年Weh首先开发出Psa语言,1972年贝尔实验室的RCi设计出C语言,1983年美国正式公布AN—StPasra和AMSPC标准,以Pasca语言和Q吾言为代表的结构化程序设计语言的出现和完善,使结构化程序设计方法得到了更加广泛的应用。

在结构化程序设计方法基础上,人们开始从整体范围思考软件开发方法。软件生命周期理论的提出,是人们正确认识软件开发整体性的结果。一个软件从开始计划,到废弃不用,有一个完整的生命周分析、软件设计、编写程序、测试、维护。根据软件生命周期理论,开发软件不仅仅是编写程序,必须还要完成其它阶段的工作,编写程序只是软件开发的整体过程中的一项活动,因此开发软件时不能只重视编写程序而忽视其它软件开发活动。一个完整的软件开发方法,应该对软件生命周期中的每个阶段的任务和目标都能给出清晰的描述。1970年Rtce首先提出瀑布模型,瀑布模型将软件生命周期概念非常清晰地表达出来1<6,它的出现,标志着人们开始从软件开发的整体性出发来构建软件开发方法。在结构化程序设计取得巨大成功的推动下,以结构化程序设计方法为中心,开始形成结构化软件开发方法。1974年,SeversMYeis和Constantine发表文章“SwcuiKdAnalysis,提出了结构化分析和结构化设计的概念,随后许多专家为结构化分析和结构化设计方法的形成和完善做了大量工作,如1977年R°s^Schmng表文章“Srucmied八na—ysisfrRequiranentsDefinition,,如1978年MYe^出版著作《CcmposieStiucmiedDesg》如1978年Youijon和Constanfne出版著作《StucuredDe如1979年DMarco出版著作《Sttucutd八nalysjsandSystemSPeciifaton〉11],等等,在YoudanConsiantineDMar°oStevensMYera等人的积极工作和倡导下,结构化的思想被应用到软件开发的整体过程,逐渐形成了现在大家熟知的、包括结构化分析、结构化设计和结构化实现在内的完整的结构化软件开发方法。

结构化分析方法使用数据流图和数据字典以及ER图、层次方框图、Wamiel图、PO图等工具来描述软件需求。结构化设计方法使用模块化和自顶向下逐步细化技术根据数据流图等结构化分析的结果来设计软件系统总体结构,使用盒图或PAD图等工具来设计每个模块的算法和数据结构。结构化软件开发方法成为20世纪70年代和80年代占主导地位的软件开发方法,直到现在仍在发挥作用。它的广泛运用,有效地遏制了软件危机的蔓延。

1.2面向对象软件开发方法的创新发展的过程

面向对象软件开发方法包括面向对象分析方法、面向对象设计方法和面向对象实现方法,其核心是面向对象程序设计方法。面向对象程序设计语言的创新发展推动面向对象程序设计方法逐渐形成和完善,从而推动面向对象软件开发方法形成并发展。

面向对象软件开发方法的研究,1967年KistrnNgad和01已JohanDah开发了Simula语言,提出许多面向对象的概念。1972年,八laiKay引用smUa吾言中关于类和对象的概念,开发出3nalltalk语言。1980年,Xerox公司推出比较完善的Snaltk语言。1986年,DiSitalk公司推出了运行在IM—PC机的DOS环境下的Sialtk版本——3nallta]k/ySnallak语言是第一种真正的面向对象语言。面向对象语言的核心概念是类和对象,类和对象的概念的提出是软件开发历史上的一次重要的思维观念创新,正是这一思维观念创新推动了程序设计方法乃至软件开发方法的创新发展。结构化程序设计方法所代表的思维观念创新被称为程序设计方法的第一次飞跃,面向对象程序设计方法这一思维观念创新被称为程序设计方法的又一次飞跃。

在传统的程序设计方法中,数据和施加在数据上的操作被分离成两个独立的部分,而程序被看作是工作在数据上的一系列过程或函数的集合。实际上这样分离不利于使用计算机解决问题。原因在于:如果我们将客观世界中描述的实体称为问题空间中的对象,将计算机中的实体称为解空间的对象。因为客观世界的实体既有静态的属性(即数据)又有动态的行为(即对数据的操作)因此这两方面内容密切相关。由于传统的程序设计方法将这两方面内容分离,无形中加深了问题空间与解空间之间的裂痕,无法实现从问题空间到解空间的自然过渡,增加了软件开发的难度。从软件重复使用和软件维护的角度看,由于数据和施加在数据上的操作被分离成两个独立的部分,尽管传统方法也提倡软件重复使用,但局限于少数函数或过程的重复使用,重复使用的粒度比较小,不利于大型软件的开发;由于数据和施加在数据上的操作被分离成两个独立的部分,使模块的信息隐藏和独立性受到影响,因此传统方法开发的软件的可维护性较差。

在面向对象程序设计方法中,数据和施加在数据上的操作被封装在一起,形成类和对象的概念,用对象分解取代了传统方法的功能分解解所有对象被划分成各种对象类,按照子类与父类的关系组成对象类的层次结构,子类自动继承父类的所有特性,对象彼此间仅通过传递消息实现联系。这一思维观念创新使得问题空间与解空间的结构基本一致,使得从问题空间到解空间的过渡非常自然;使得软件重块的信息隐藏和独立性增强,有利于提高软件的可维护性;为开发者提供了随着对某个被开发系统的认识逐步深入和具体化的过程,与人们通常采用的认识客观世界、解决复杂问题的渐进式思维方式相一致。

Snalalk语言的引起了人们的广泛关注,随后产生了数十种面向对象语言。例如C++语言它是目前影响最广泛的面向对象语言之一。C++语言是贝尔实验室的BjameSwusrup在1980年开始开发,它是在C吾言的基础上进行的开发,当时称新开发出的语言为“含类的C,到1983年时取名为C++。例如Jaa吾言它是目前应用最广泛的面向对象语言之一。JaM吾言是Sun公司的JamesGoSjngPatrickNaughtoriChiWarihMikeSheridanBillJoy等人在1991年开始开发,最初该语言名叫“Oak嫁树)1992年秋Oak问世,后来Sun公司发现Qak吾言所具有的跨平台、面向对象和安全性高等特性非常符合互联网的需要,于是在1995年对该语言进行设计改进,然后在1995年5月正式以Java语言为名公开。

在面向对象程序设计方法基础上,从20世纪80年代中期到90年代初,人们开始从整体范围思考面向对象软件开发方法,面向对象的研究开始向软件生命周期的前期阶段发展,许多面向对象分析和设计((DA/CDD)方法被提出,比较著名的如1990年提出的Wtfs~Brock方法、1991年提出的Coa和Youdm方法、1991年提出的Ranbaugh方法(对象建模技术一CMI)、1992年提出的Jocobsm方法画向对象软件工程一OOE)1994年修改后的Boch方法。这些面向对象分析和设计方法各有各的特点,如何吸收它们各自的优点,将它们综合起来,形成统一的面向对象分析和设计方法,人们开始进行研究。BmC和Rambaugh首先合作,并于1995年10月了统一方法(UfedMehodlM.8版本然后Joobo也加盟到这一工作中来,这三人共同努力,将UM方法重新命名为IML(统一建模语言一UnifiedModelingLanguage)在1996年6月和10月分别了UML!9和UM091两个版本1997年1月正式公布UMU0版本。LML的开发得到了广泛的好评,1997年11月17日CMG賴际对象管理组织^ObjectManagementCtouP)接纳UMU.1版本为基于面向对象技术的标准建模语

法开始得到广泛的应用,成为二十世纪九十年代、直到目前占主导地位的软件开发方法。

2.对两个典型的软件开发方法的创新发展过程的分析

2.1结构化软件开发方法的创新发展过程的四个环节

我们根据前面叙述的结构化软件开发方法的创新发展的过程,可以看出整个过程由以下四个环节组成。环节1找出软件开发活动中存在着的问题。

问题是:在结构化软件开发方法提出之前,软件开发活动中的个体化特征非常严重,编写程序时个人随心所欲,过分追求程序编写技巧,没有一个行之有效的、大家共同遵循的开发准则;错误地认为开发软件只是编写程序,对编写程序之外的其它软件开发环节没有给予重视。

环节2为了解决问题而进行思维观念创新。

新的思维观念是:编写程序时不能个人随心所欲地过分追求程序编写技巧,必须将可读性、清晰性和可理解性放在首位,必须考虑程序的可维护性,要使用三种基本结构(顺序、选择、循环)来实现程序,采用自顶向下逐步细化技术进行设计。编写程序只是软件开发的整体过程中的一项活动,还要完成系统分析和系统设计等其它阶段的工作,因此开发软件时不能只重视编写程序而忽视其它阶段的活动。

环节3按照新的思维观念来构建结构化软件开发方法的核心部分。

核心部分是结构化程序设计方法,通过Pascal语言和C语言为代表的结构化程序设计语言的推出和完善,通过盒图(N—S图)和问题分析图(PAD图)为代表的结构化程序设计工具的推出和完善,结构化程序设计方法逐渐形成并完善。

环节4按照新的思维观念来完善结构化软件开发方法。

完善的内容主要是将新的思维观念应用于系统分析和系统设计过程,在结构化程序设计方法基础上,逐渐形成结构化分析和结构化设计方法(SA/3)方法)使结构化软件开发方法得以完善。

2.2面向对象软件开发方法的创新发展过程的四个环节创新发展过程,可以看出整个过程也是由四个环节组成。

环节1找出软件开发活动中存在着的问题。

问题是:传统软件开发方法将数据和施加在数据上的操作分离成两个独立的部分,导致问题空间和解空间的结构不一致,从系统分析到系统设计和实现的过渡不自然,软件重复使用的粒度小,不利于大型软件的开发,模块的信息隐藏和独立性不好,软件可维护性较差。

环节2为了解决问题而进行思维观念创新。

新的思维观念是:将数据和施加在数据上的操作封装在一起,形成类和对象的概念,用对象分解取代传统方法的功能分解解所有对象被划分成各种对象类,按照子类与父类的关系组成对象类的层次结构,子类自动继承父类的所有特性,对象彼此间仅通过传递消息实现联系。

环节3按照新的思维观念来构建面向对象软件开发方法的核心部分。

核心部分是面向对象程序设计方法,通过Snaltak吾言的推出和完善,通过C++和Java等许多面向对象语言的推出和完善,面向对象程序设计方法逐渐形成并完善。

环节4按照新的思维观念来完善面向对象软件开发方法。

完善的内容主要是将新的思维观念应用于系统分析和系统设计过程,在面向对象程序设计方法基础上,各种面向对象分析和设计(OOA/OOD)方法(Wifs_Brock方法、Coad和Youdon方法、Ranxbag方法、Jooobson方法)的提出,LMU统一建模语言-UnifiedMadefngLanguage)的出现和完善,使面向对象分析和面向对象设计方法逐渐形成并完善,从而使面向对象软件开发方法得以完善。

2.3小结

从上面分析我们看到,不论是结构化软件开发方法的创新发展过程,还是面向对象软件开发方法的创新发展过程,都由四个环节组成。这决不是巧合,这说明软件开发方法的创新发展过程具有其内在的规律性,结构化和面向对象软件开发方法作为两个成熟的软件开发方法,它们的创新发展过程都遵循这个规律。这个规律可以简单归纳为四个环节,环节L找到现存的某些问题,环节2:为了解决问题而进行思维观念创新,环节3按照新的思维观的思维观念来完善软件开发方法。

3其它软件开发方法的创新发展过程

以上由两种典型的软件开发方法创新发展的过程所总结出来的规律性,具有普遍意义。我们来看其它软件开发方法创新发展的过程,例如敏捷(A&ile)软件开发方法和面向八gm軟件开发方法,这两种软件开发方法正在发展中。

3 1敏捷软件开发方法

敏捷(ASle)软件开发方法包括XPSCRIMDSMFDDA3)等一类软件开发方法,这类方法在20世纪90年代后期逐渐发展起来,2001年

2月,敏捷软件开发方法的一些创始人在美国犹他州成立敏捷联盟(ASlAlliance),了敏捷软件开发宣言,公布了他们开发软件的新的思维观念,从而引起人们的广泛关注。

敏捷软件开发方法的出现,是人们针对传统的软件开发过程复杂繁琐、产生并且维护大量文档、缺乏对开发过程中各种变化的有效和及时的反应等问题,为了适应变化、充分发挥人的主观能动性、简化开发过程、提高开发效率,而研究并提出的。敏捷软件开发方法强调适应变化,强调以人为中心,强调简单化和快速反馈,提倡刚好够用,追求快节奏的软件开发,对软件生产率高度重视。

敏捷联盟宣布了敏捷软件开发方法的4条价值观和12条实践原则,这4条价值观和12条实践原则挑战传统观念,倡导新的思维。4条价值观是:(1重视个人的创造力和相互沟通甚于软件过程和软件工具;(2)重视当前软件甚于理解文档;(3重视用户合作甚于仅仅依赖合同;(4)重视对变动的响应甚于一味遵循计划。12个实践原则是:(1)优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意;(2)即使到了开发的后期,也欢迎改变需求;(3)经常性地交付可以工作的软件,交付的时间间隔越短越好;(4)业务人员和开发人员天天在一起工作;(5)围绕被激励起来的个人来构建项目,给他们提供所需要的环境和支持,并且信任他们能够完成工作;(6撮有效果并且富有效率的传递信息的方法,就是面对面的交流;(7)工作的软件是首要的进度度量标准;(8)提倡可持续的开发速度;(9)不断地关注优秀的技能和好的设计会增强敏捷设计出自于自组织的团队;(12)每隔一定时间,团队会在如何更有效地工作方面进行反省,然后对自己的行为进行调整。

敏捷软件开发宣言后,敏捷联盟的成员们纷纷著书立说,完善和发展敏捷软件开发方法的理论。例如敏捷联盟的发起人Mat在2002年出版了著名的《AgleSofWareDevelopnentPrjncp)]e,sPalesandPraefce》〉(《敏捷软件开发:原则、模式与实践》)一书,该书由邓辉译成中文,由清华大学出版社2003年9月出版;例如敏捷联盟的重要成员Highsnih在2002年出版了《AgeSOfwareDevelop—mentEoosystemS)(《敏捷软件开发生态系统》)一书,该书由姚旺生和杨鹏等译成中文,由机械工业出版社2004年1月出版;例如敏捷联盟的重要成员Cockbuin在2001年出版了《AgileSofwaieDevelop—men》(《敏捷软件开发》)一书,该书由俞涓译成中文,由人民邮电出版社2003年11月出版。目前敏捷软件开发方法还没有像面向对象软件开发方法那样成熟还处于发展之中。敏捷软件开发方法没有统一的开发模式,敏捷软件开发方法没有专用的编程语言,也没有专用的分析和设计的工具,因为敏捷软件开发方法的思维观念创新之处与结构化和面向对象软件开发方法不同,它可以充分利用现有的语言和工具。虽然敏捷软件开发方法不如结构化和面向对象软件开发方法那样成熟以及应用广泛,但在需求模糊或快速变化下的一些小型的软件项目的开发上还是非常适用的。

分析敏捷软件开发方法的创新发展过程,对照结构化和面向对象软件开发方法创新发展过程的四个环节,可以看出,敏捷软件开发方法的创新发展经历了环节1和环节2目前处于环节3环节1找出的问题主要是“传统软件开发方法的开发过程复杂繁琐、产生并且维护大量文档、缺乏对开发过程中各种变化的有效和及时的反应。”;环节2提出的新的思维观念通过敏捷宣言中的4条价值观和12条实践原则体现出;环节3是按照新的思维观念来构建软件开发方法的核心部分,以Main的名著《ASlSoftvareDevel°PmentPrjncJ^lesPatternsandPac#«》为代表的一批著述的发表,说明敏捷软件开发方法的核心部分正在逐渐形成之中,但是目前还没有形成一个统一的、能为大家所接受和认可的标准化方法。由于敏捷软件开发方法的思维观念创新之捷软件开发方法发展的环节4也一定具有自己的特点,不会照搬结构化和向对象软件开发方法的模式。我们期待着敏捷软件开发方法的进一步发展和完善。

3.2面向Agen软件开发方法

由于ntene的广泛应用,使得计算机软件的规模越来越大、复杂性越来越高,人们对计算机的要求也越来越高。人们期望将来计算机不仅仅被动地充当人类的“佣人”角色,还能够充当人类的“管家”和“”角色,能主动地、自发地为人类做更复杂的工作。人们希望通过使用Agern理论和技术开发出具有更高智能特征、更高灵活性并能更友好地与人类进行交互的计算机系统11411151。但是传统的软件开发方法难以担负这种具有智能特征的复杂软件的开发任务于是自20世纪90年代中后期以来人们陆续提出了一些面向Agen软件开发方法,比较有影响的包括MaS方法、MASCommonKADS方法、Gaia方法、AgentUML方法、Tropos方法等I16-181Agen概念来自于分布式人工智能研究领域,目前关于Agen概念的定义还有许多争论。一般认为Agen是一个具有自主性、交互性、反应性、社会性等特征、能在某一环境下持续发挥作用以实现设计目标的行为实体。Agen与对象是两个完全不同的概念,对象只是封装了属性和方法并且通过传递消息与其它对象进行交互的实体而Agen由于具有自主性等特征,所以它的抽象程度比对象更高,更贴近现实世界中的行为实体。

面向Agn软件开发方法基于Agen概念,它给软件开发带来新的思维观念,新的思维观念认为:任何一个系统,无论是应用系统还是软件系统,是由一个或者多个Agen购成的,每个Agen嘟是自主的行为实体Agen伺存在着复杂的结构关系,并通过高层的交互(如合作、协商和竞争等)来进行Agent间的相互作用,从而实现系统的整体设计目标。

目前将面向Agen軟件开发方法分为三类:基于知识工程的方法、基于对象技术的方法和基于角色、组织模型的方法1191120。基于对象技术的方法借助于面向对象软件开发方法,将Agen视为一种特殊的对象,通过对现有面向对象软件开发方法以及建模语言(尤其是UML)的扩充来支持对基于A-gn係统进行建模、分析和设计,MaSE方法和Agent法借助于知识工程(如人工智能、认知科学等)领域的概念、思想和技术对基于Agent系统进行建模、分析和设计。一种常用的方法是将Agent视为由各种认知部件所组成的意向系统,如信念、目标、意图、规划等等,MAS-ConnonKADS方法和TPos方法是这类方法的代表。基于角色、组织模型的方法借助于组织学和社会学的思想,将基于Agent系统视为是一个组织或者社会,利用社会学和组织学中的抽象概念(如角色、组织、组织规则、职责、权利)和思想来对基于Agen系统进行描述、分析和建模,Gaia方法是这类方法的代表。

上述各种面向Agent軟件开发方法都不成熟距离大规模的实际应用还有很大的差距,无法像面向对象软件开发方法那样为人们所接受。总体上看,面向aen軟件工程方法的研究与应用仍然处于探索阶段,目前还没有形成一个吸取了各种方法优点的、能为大家所接受的、统一的面向Agen软件开发方法。

分析面向Agen欺件开发方法的创新发展过程,对照结构化和面向对象软件开发方法创新发展过程的四个环节,可以看出,面向Agen軟件开发方法的创新发展经历了环节1和环节2目前处于环节3环节1所找出的问题主要是“开发具有更高智能特征、更高灵活性并能更友好地与人类进行交互的计算机系统。”;环节2所提出新的思维观念是“将任何一个系统都看成是由若干个具有自主性、交互性、反应性、社会性等特征的Agen构成的,它们能在某一环境下持续发挥作用以实现设计目标。”,环节3是按照新的思维观念来构建软件开发方法的核心部分,虽然目前各种面向Agen软件开发方法百花齐放,但没有形成统一的方法,并且没有一种成熟的面向Agen程序设计语言,所以面向Agen軟件开发方法的核心部分的形成还有很长的路要走。

4结束语

第7篇:结构化程序设计范文

本文主要从对网络可视化管理煤矿系统软件开发环境进行介绍,并在此基础上构思软件的总体设计,最后形成软件的总体设计,促进煤矿管理的信息化和数字化发展。

【关键词】网络可视化管理;煤矿软件;设计

煤矿工业是我国能源发展的一个重要环节,在我国的国民经济中占据着重要的经济地位,随着计算机网络技术的不断发展进步,煤矿管理的信息化和数字化进程也大大加快,并且成为了二十一世纪最整个能源生产行业的必然趋势,其中网络可视化技术的集成研究是当今煤矿数字化发展和建设的重要前沿。本文主要将可视化图形等计算机技术与传统的煤炭行业结合起来,并对煤炭的开采、管理等进行空间信息表示、安全信息管理、三维建模及可视化等相关技术进行研究,并在此基础上思考煤矿工程网络可视化管理的软件设计系统,主要的研究方面包括:煤炭工程动态可视化管理系统软件构造;煤炭工程属性数据录入系统研究;煤矿工程衔接计划编制管理研究;煤矿工程安全信息管理研究和煤矿工程三维可视化模型设计与实现。

一、网络可视化管理煤矿系统软件开发环境

(一)软件开发环境

软件开发环境采用WindowsXP操作系统,以及Autodesk公司开发生产的AutoCAD2002图形支撑软件,系统的硬件环境为普通的高配微机,另外需要相应的数字化仪、扫描仪、打印机等。

(二)开发工具的选择

对于煤矿软件的开发工具来说,都需要选择合适的开发工具,如VB、VBA、AutoCAD系统内嵌的Visual lisp语言等。首先,VB也就是Visual basic,是一种基于对象的额可视化程序开发工具,其便捷、简易的特点能够帮助软件成功的建立Windows应用程序。Visual basic是在原有的BASIC语言的基础上进一步发展得来的,他是微软公司自行研制的一种快速应用开发工具,具有简易、高校的辅助开发特点。而VB进行AutoCAD二次开发,在功能方面则变得更强大,还能实现仅用AutoCAD不能达到的效果,整体性强,运行速度快,整体配合起来,功能十分完善。

二、煤矿软件总体设计

(一)煤矿软件总体设计原则

面向对象原则。此方法是目前使用最为普遍的方式,它通过对实体进行抽象归纳,将实体属性与操作进行封装并形成类。

模块化设计原则。煤矿工程软件设计应该采用结构化和原型化相结合的方法,根据管理需要,自上而下的进行软件系统功能的解析与模块划分,在用户需求的基础上明晰软件系统子模块,通过对子模块的累积而逐渐形成上层模块,完善整个管理过程。

应用程序与数据分离的原则。为保证煤矿软件系统能有良好的可移植性和可维护性,在软件的结构化组织中坚持程序代码与图形数据库、属性数据库分离的原则。

软件界面友好原则。软件的用户界面是用户与计算机进行交流的中间媒介,也是应用程序中用户直观的系统运行部分。友好性应该满足软禁系统简单、操作对象突出、快捷现实帮助等条件,并遵循煤矿管理高校、规范和稳定的原则。

(二)煤矿软件总体设计特点

为更好的解决煤矿工程的网络可视化管理问题,应该结合矿井、采掘等具体的请况,从可视化模型出发,研究开发煤矿工程可视化管理系统。

煤矿管理软件系统采用属性数据混合管理模式管理数据,即采用图像属性化模式和数据库模式,让软件系统的集成化程度和数据处理效率大大提高;其次,软件有设计图形图素处理工具,满足了煤矿管理工程动态管理中图素属性数据化处理的要求;最后,软件的设计采用面向对象程序设计方法,是软件程序更具有通用性、可靠性和可移植性。

三、煤矿网络可视化软件程序结构设计

(一)组织程序结构方法

1.数据流驱动组织管理程序

在这种程序结构的组织方法中,要把对煤矿的数据处理的管理放在第一位,而把程序的优化放在其次。也就是说要按照数据处理的自然先后顺序,让每个数据流与一个相对独立的程序流对应。而在现实的煤炭管理中,数据流不会是一个简单的树状图形式,而是一种复杂的网状结构,如果用强制的方式把这种网状结构变成树型就会是程序的语句变得急剧膨胀,增加了管理录入的难度和失误率。

2.菜单驱动组织程序结构

随着计算机窗口技术的发展,使用菜单的用户越来越普及,对于煤炭管理来说,菜单系统的使用更能从程序上对煤炭的管理建立简洁的结构组织,并在此基础上建立一些子系统模块的划分,让整个煤炭管理的菜单功能的可维护性大大提高。

(二)组织程序结构策略

1.划分软件功能,缩小程序规模

应缩小程序,每个程序控制在一百行以下,这样的小程序有在应用和构造方面有很多的优势。首先小程序的可读性能好,因为对于煤矿工程来说,整个工程量复杂且多样,而一个一个小的模块就相当于把巨大的工程分给了很多小的部分,结构简单,处理起来也方便,对整个工程的管理控制也有很好的优化作用。其次,小程序因为作用单一,目标明确,重复使用的次数就多,在不同的项目中都能运用到这样的小模块,这也加快了不同系统的设计过程,实用性强。最后,因为小程序的文档容易编写,这对整个软件的组成质量也是很好的把握。

2.分层组织煤炭管理程序

把对整个煤矿管理的小程序组合起来就是最终的软件程序,对这些字程序的管理应该从程序的组织形式上进行考虑,一个层就是一个子程序库,要建立相应的软件使用制度,上层程序只能直接调用下属程序,不能跨层调用,下层程序也不能调用上层程序。层与层之间尽量使用参数的形式,少用全局变量,这样的组织为软件子程序维护和软件的下一步开发带来了很大的方便,保证了软件程序可移植性的同时,对其他相关的程序也不会有任何影响。

(三)界面设计

良好的界面设计可以提升煤矿管理的效率,并对从用户的角度进行软件的界面设计,因为对于windows的操作系统平台来说,是被大家广泛接受的,所以煤矿管理软件就是采用了windows标准。

综合来说,对煤炭的开采、管理等进行空间信息表示、安全信息管理及可视化等相关技术进行研究,并在此基础上对煤矿工程网络可视化管理软件进行系统设计,从而加快煤矿管理的信息化和数字化进程。

参考文献:

[1]刘玲.基于煤矿企业的PERT可视化决策支持系统研究[D].中国地质大学(武汉)管理科学与工程,2010

[2]刘芳.信息可视化技术及应用研究[D].浙江大学,2013

[3]邢存恩.煤矿采掘工程动态可视化管理理论与应用研究[D].太原理工大学,2009

第8篇:结构化程序设计范文

关键词:非标准;自动化;装配设备;设计要点

装配就是指将总成件或者是总的零部件全部按照相应的规定和质量要求来进行全部产品的连接与组合的过程,也被人们称作是各种总成件或者是零部件的位置关系的具体工艺过程。装配工艺在制造行业的发展中是极为重要的,伴随着制造业的发展,新材料与新工艺是极为广泛的,各种高性能与高质量的装配设备都在制造行业的需求中被研发出来,因此,可以说非标准自动化装配设备的设计工作是非常重要的,自身有着生产效率高、所需人工少、稳定性强的特点。

1 非标准自动化装配设备产品装配工艺

装配工艺对于装配设备有着一定的影响,能够在结构布局、实现方式。检测方式和控制方式上进行充分的控制。自动化装配工艺主要包括五个部分:装配工序、检测工序、调整工序、辅助工序、机械加工工序。

1.1 装配工序

装配工序主要分为两个步骤,一个是安装工序,另外一个是固定工序。安装工序主要是指自动装配设备上的一些专用工位进行相应的装配零部件的预备连接工作。一般情况下,固定工序是在设备的安装工序之后的,固定工序是装配设备设备安装中十分重要的环节,有些装配设备在安装的过程中,也可以将固定工序与安装工序结合在一起进行安装,放在同一个工位上来进行。装配任务是极为复杂的,但是也根据任务的具体情况而定,装配的过程是极为复杂的,需要有着多个装配的程序,装配设备的设计工作主要就是对这些装配程序进行设计,这样才能够保证装配的合理性。

1.2 检测工序

检测工序主要包括b配零部件的测试、检验和检查等环节,这样能够充分的保证整个装配的质量,例如装入的零部件方位知否是正确的、装入的零件是否有着缺陷、在装入之后装配质量、密封质量和尺寸的精度是否符合相应的工艺要求,装配设备在装配的过程中,一定要重视对于各种故障的处理,这也是检测工序中十分重要的环节,将检测工序做好,才能够充分的保证装配设备的正常进行。

1.3 调整工序

调整工序主要是指对于整个装配工序环节中可能存在的误差进行纠正。

1.4 辅助工序

辅助工序主要包括分选、打标记和清洁等环节。

1.5 机械加工工序

机械加工工序在自动化装配设备的设计的过程中主要表现在固定和安装上,能够对一个或者是几个零部件进行充分的加工,提高生产的效率。但是产品的生产装配工艺并不是唯一的,与产品要求相同的工艺是也有很多,在这样的情况下,就要对可行的装配工艺进行充分的分析,对于整个工艺进行充分的比较,根据产品生产的难易程度和功能来进行差异的比较,从而选择出最有的产品装配工艺。

2 非标准自动化装配设备的设计工作要点

2.1 结构布局设计

装配设备按照相关的自动化程度可以将其分为全自动装配机、半自动装配机和自动化装配机,装配设备的设计结构在布局上可以分为直线型的布局设计、环线型的布局设计和转盘型的布局设计。在这样的情况下,就要明确整个装配设备的运行过程,从而选择正确的结构布局设计,还要按照具体的生产情况,根据相应工艺的复杂性和装配设备的应用情况来进行全面的分析。

转盘型的布局有着操作方便、占地面积小和结构紧凑的特点,而且适合应用在装配工艺较为简单的自动化装配设计中,还要保证产品大小适中,其生产的环境是适合单机生产的,这样才能够保证自动化装配设备的设计更加的合理,布局符合生产的基本要求。但是由于装配设备的装配单元都是通过相应的转盘来进行相应的布局的,这样就导致了整个转盘装配机有着不宜改进、结构复杂和需要进行柔性化生产的缺点。环线型的布局是适合应用在装配工艺比较复杂的装配设备生产中,这样就能够最大限度节省设备的使用场地,而且环线型布局会增加整个装配的空间,也能够按照装配设备的生产要求来对整个功能单元进行增减,这样装配设备就有着柔性化的特点。

2.2 自动化机构系统设计

2.2.1 供料单元

供料单元是自动化装配设备的重要组成部分,从装配单机的上料机构到大型装配生产线的物料输送系统,供料单元是自动装配设备具有高效率的先决条件。供料机构单元必须保证各种装配零件能在准确的位置、时间和空间状态,从行列中分离并移置到相应的装配工位上。供料单元的检测的可靠性是影响自动装配过程故障率的主要因素。

2.2.2 装配主体机架单元

装配主体机架单元是指可完成装配主件输送功能的主体部分,它包括自动输送机构,实现装配主件的多工位同步或异步传递、夹取、装配和检测,还包括配置齐全的液、气压管路及电气配线装置,而且具有驱动某些装配单元的装配工作头的主动轴。

为了实现装配主件在输送过程中实现同步装配,需要选择和设计精确的机械分度控制装置,以保证每个装配单元的工装夹具与输送动作准确吻合。装配主体机架上一般应间隔排列装配工位和检测工位,以在上次装配工序完成后在下道检测工位上检测有无工件和装配位置是否正确,以保证发生错误时自动停机,以消除连续的误装配,避免生产浪费。

2.2.3 自动化装配单元

自动化装配单元布置在装配主体机架上,对应于各装配工位的装配功能,自动化装配单元可以由机构、液气压、电机拖动所构成,和装配主体机架相配合完成特定装配动作。

机械手或工业机器人可以在一次动作循环中完成各种动作,可以作为布置在主体机架上的装配单元进行复杂部件的装配。使用机械手可以简化装配主体机架的复杂程度,提高装配的可靠性。

2.2.4 分捡单元

保证最终装配成品的合格率,在装配自动化机构系统的设计中,要充分考虑和布置适当的分选换向机构,对各道装配工序中产生的次品按照要求进行分检和分流。

3 结论

综上所述,装配是决定产品质量的关键环节,根据自动化装配设备的特点,提出在自动化非标装配设备设计中,从装配工艺、结构布局、等方面进行总体设计,优化和合理的总体设计可以加快非标装配设备的设计进度,保证自动化装配设备系统的可靠性。

参考文献

[1]程广华.自动化装配系统及其应用[J].日用电器,2012(03).

第9篇:结构化程序设计范文

关键词:C语言程序设计;算法设计;能力培养;课程设置

《C语言程序设计》课程的教学目标着重培养非计算机专业学生使用计算机分析和解决实际问题的意识与方法。笔者在多年的C语言课程实践教学活动中发现,该门课程的教学普遍以知识的传授为主,注重语言基本语法知识讲解,轻视学生编程能力的培养。这种教学现状导致很多学生只能考试,不能编程。这种教学现象的存在与课程的教学目标是完全相违的。为此本文提出了以算法设计能力、编程能力和自主学习能力培养为目标的课程教学方案。

1基于能力培养为目标的程序设计方案的实施

程序设计是为解决实际的某一问题而设计的一系列求解活动的描述,其实现的关键就是构建出解决问题的算法。基于能力培养为目标的程序设计教学方案的实施,要抛弃传统的复杂的语法细节,以突出算法设计和编程能力为主要目标,并注重计算思维能力的培养。

1.1课程教学内容设置

以能力培养为目标的教学,注重对学生分析实际问题、构建算法、编程能力的培养。具体教学内容安排如下:(1)详细讲解算法知识。算法是程序设计课程的灵魂,掌握常用算法知识对程序设计课程的学习可起到意想不到的效果。在程序设计基础课程的教学中应树立算法这一核心思想。首先通过自然语言的描述引入算法概念,强调结构化程序设计中顺序结构、选择结构和循环结构的重要地位。(2)略讲基础语法中的数据类型和数据的输入与输出方法。对于C语言基础语法中的数据类型涉及到的繁琐的数据存储相关知识省略不讲,简化对数据类型自动转换与强制转换的讨论。简化数据输入输出方法,省略复杂的输入输出格式。通过顺序结构程序设计训练,掌握最简单的程序设计方法。(3)课程基础语法知识的的核心集中在三大控制结构、函数和数组。通过对大量的实际常用问题的算法设计,逐步建立问题求解一般过程。并通过对一些常见的算法的实现,强化编程能力的训练,使学生理解和掌握模块化的程序设计方法。

1.2多元化教学方法的使用

基于能力培养为目标的程序设计课程教学,授课过程中应采用多元化的教学方法,如案例教学法、任务驱动教学、互动式教学等。在理论课的教学中重点尝试使用了四段式互动式教学方法,该方法的实施由四个阶段组成:模仿编程、读程序、改写程序和独立编写。模仿编程适用于程序设计的初学阶段,采用类似书法学习中描红的方法,只需要按照授课老师给的一些程序例题进行模仿编程。读程序阶段需要授课教师事先准备好大量的程序例题,让学生逐行阅读,并逐行添加注释。改写程序阶段就是将一个已经阅读过的程序实例用不同方式进行实现。通过前面三个阶段的反复训练,学生已经掌握了C语言基本语法知识,最后就是让学生独立分析问题编写程序的训练。与传统教学方法相比,互动式教学方法有利于提高学生学习C语言程序设计的积极性,提高了程序设计课程学习的效率,可有效使学生从被动学习转换为主动学习。

1.3课程实验环节设置

改变C语言程序设计实验课中传统的“课前预习———课堂实验———撰写实验报告”的三段串行模式,重视程序调试环节。以能力培养为目标的程序设计课程教学,应注重程序调试方法和调试能力培养,要教会学生进行单步执行、观察数据变化、断点设置等。在实验课开设的初期,当遇到有学生请求教师进行排错,授课教师要抓住机会,讲解程序调试和查错的方法,以使学生在实验课的前期就能够掌握程序调试的方法。在实验课的教学过程中以培养学生能力为目标,使用了“结对编程”这一创新的教学模式。结对编程是指两名同学肩并肩地坐在同一台电脑前合作完成同一个程序设计。通过研究发现,采用独立编程的学生在实验过程中遇到语法错误、逻辑错误总是习惯请教老师。然而采用结对编程的同学,在整个实验期间则忙于广泛与其他同学交流和讨论,遇到问题时相互帮助,利用他们所学的知识积极解决问题。结对编程能够提高程序设计质量、减少程序代码的错误、提高编程技巧、增强团队之间的相互沟通、使每个参与者都能受益。

2实验教学效果分析

在实施以能力培养为目标的程序设计教学方案之前,武汉生物工程学院开设的C语言课程,大多数学生的编程能力和算法设计能力较低,学生学习该门课程的积极性不高,课程的教学质量偏低。通过改革方案的实施,在2012年秋季开始采用了以能力培养为目标的程序设计课程教学方案进行课程教学的开展,考试方式采用编程题占60%的试卷统一进行测试,近3年课程考试编程能力的结果分析见表1。从表1的数据分析可以看出,通过实施了以能力培养为目标的程序设计教学,授课教师认清了语言知识与编程能力之间的联系。在课程教学中有意识的突出对学生编程能力的培养,弱化了一些语言语法知识的讲解。这种教学方式不仅有效的提高了学生课程的学习兴趣,降低了课堂的流失率,还有效的提高了学生的算法构建、程序调试和编程能力的提高,考核效果较好。

3总结

以能力培养为目标的课程教学方案的使用,有效的改善了传统C语言教学偏重语言语法知识,忽视编程能力培养的教学误区。以能力为目标的程序设计课程教学,重在学生编程能力的培养。在保证能够描述算法的前提下简化语言的语法知识,改进教学方法、改革课程考核方法,总体提高了学生学习C语言程序设计课程的兴趣,取得了较好的教学效果。

参考文献

1李丽萍,王冬梅.C语言教学改革的探索与实践[J].辽宁工业大学学报,2009(2)

2王孝平,董秀成,谢维成.电器信息类专业高级程序设计教学内容和方法的探索与实践[J].武汉大学学报(理学版),2012(S2)

3袁红照,关涌涛.程序设计教学中结对编程的实践和效能分析[J].安阳师范学院学报,2011(5)

4詹英,王黎征.结对编程在程序设计课程实践教学中的应用[J].南阳理工学院学报,2009(3)

相关热门标签