开发编程论文(精选12篇)
开发编程论文 篇1
一、传统软件工程的方法
(一)传统软件工程方法概念
我们所说的传统软件工程方法主要指结构化软件工程方法,目前较新的部分文献将传统软件工程方法划分为以下阶段:系统工程,分析,设计,测试,软件后期维护。传统软件工程方法的前期工作主要集中在分析和设计阶段,实际上分析和设计师传统软件工程方法中最为重要的阶段。传统软件工程方法以功能,数据和数据流进行分析,也是基于数据的。在传统软件工程方法的分析阶段,所使用的主要工具有数据字典,实体—关系图,数据流图和状态—变换图;在传统软件工程方法的设计阶段,所使用的主要工具有针对总体设计的模块结构图和针对详细设计的流程图,在目前实际的软件开发中,通常不适用流程图,而直接通过编程完成详细设计,所以交心的部分文献中,设计阶段包括了总体设计,详细设计和编程阶段,三者之间的界限较模糊。
(二)传统软件工程方法的缺点
传统软件工程方法的主要缺点是在分析阶段以功能,数据和数据流进行分析,对问题域的认识和描述不是以问题与众的固有事物作为基本单位并保持他们的原貌,这些方法的分析结果不能直接的映射到问题域;在和客户沟通交流方面,在设计阶段分析的结果----数据流图和设计的结果---模块结构图是两种不同的表示体系,从分析到设计的转换实际上没有可靠的转换规则,带有人为的随意性,分工的不明确性,导致为软件开发带来隐患和实际结果与问题域偏差过大,工程延期,工程质量低下等。
二、极限编程工程方法
极限编程(XP)软件工程方法是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。在计算机的实践课程中,通常需要在一定的时间内(一学期)完成一门编程语言课程,一般采用理论与实践相结合的方法,其实验部分内容多为熟悉该语言语法的使用,掌握该语言基本的编写方法,实践时间往往较短,训练的内容较为简单,属于较低层次。而在计算机实践中需要综合各种知识进行设计开发的实践活动往往存在项目过于复杂、时间性短等原因无法达到很好的预期效果。这也使得学习的很多关于软件工程的思想和方法,仅停留于理论上,只有内容抽象的概念,缺乏实际的实践运用,而造成经常把编程等同于软件开发,形成对软件文档、测试等软件思想的误解,导致在做项目时仍处于个人编写代码的阶段,缺乏沟通和合作,只能开发小型的软件。软件的完成的好坏质量程度也局限于个人的能力,无法完成工程上的软件开发的目标。极限编程(XP)是以符合电脑自动开关机软件需要的软件为目标而产生的一种方法论,XP使开发者能够更有效的响应客户的需求变化,哪怕是在软件生命周期的后期。它强调,软件开发是人与人合作进行的过程,因此成功的摄像头软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认为文档、架构不如直接编程来的直接。XP实际上是一种经历过很多实践考验的一种软件开发的方法,它软件工程方法论了大概有5年,它已经被成功的应用在许多大型的公司,XP的成功软件工程方法论它对客户满意度的特别强调,XP是以开发符合计算机应用软件下载需要的软件为目标而产生的一种方法论,XP使开发者能够更有效的响应客户的需求变化,哪怕在软件生命周期的后期。伴随着全球信息化和经济化的潮流的影响,在世界范围内的软件开发发生了巨大的变化,传统上的软件开发由于软件需求的变化大、人员变动性等原因造成了软件开发效率低、周期长,无法满足需求快速变化的要求,不再适应于现在商业信息经济时代中的急剧的变化。因此,改变传统软件开发模式,提高软件开发的效率成为了软件开发人员研究的重点。20世纪90年代初,Kent Beck,Cunningham,Jeffries等人构建称之为极限编程(extreme Programming,简称XP)的基本元素。极限编程就是针对快速改变的软件需求而产生的。简单而言,极限编程就是一个高速迭代的过程。从软件工程方法论看,早期发现错误以及降低复杂度可以节约成本。极限编程强调我们将任务/系统细分为可以在较短周期解决的一个个子任务/模块,并且强调测试、代码质量和及早发现问题。通常,通过一个个短小的迭代周期,我们就可以获得一个个阶段性的进展,并且可以及时形成一个版本供用户参考,以便及时对用户可能的需求变更作出响应。
(二)XP软件工程方法的核心与传统编程模式的区别
XP方法的核心价值观包括点点:交流、反馈、简单、勇气。在这四点核心价值观的基础上,XP方法又定义了十二个的必须遵循的实践。其实这些实践的大多数都已经是一些经过测试和实践证明的老方法了。然而却常常被忽略,即便是在有充分计划的项目中。随着这些方法的兴起,XP方法把他们又融为了一个相互影响、相互促进的整体。
XP属于轻量开发方法中较有影响的一种方法。轻量开发方法是相对于传统的重量开发方法而言。简单地理解,“量”的轻重是指用于软件过程管理和控制的、除程序量以外的“文档量”的多少。XP等轻量常用工具软件论文方法认识到,在当前很多情况下,按传统观念建立的大量文档,一方面需要消耗大量开发资源,同时却已失去帮助“预见、管理、决策和控制的依据”的作用。因此必须重新审视开发环节,去除工程方法论累赘,轻装上阵。
摘要:近年来随着科学技术的发展,硬件设施有了飞速的发展之后,各种领域对软件系统提出了更高的要求。传统系统设计与分析与设计方法,从系统的功能入手,用它开发的系统是实现模块功能的函数和过程集合。
关键词:软件开发,极限编程,系统
参考文献
[1]Kent Beck.解析极限编程——拥抱变化(第二版)[M].雷剑文,陈振冲,李明树译.北京:电子工业出版社,2006.
[2]RobertMartin.敏捷软件开发:原则,模式和实践[M].邓辉译.北京:清华大学出版社,2003.
[3]Michele Marchesi等著.极限编程透视[M].卢庆龄等译.北京:电子工业出版社,2004
开发编程论文 篇2
另外,有一个问题一直是软件开发管理人员的心病:软件是工具,开发的是客户业务的应用,但客户不了解软件,开发者不了解业务,如何有效沟通是软件质量的重大障碍。把开发者变成客户业务的专家是个没有办法的办法,让软件企业付出的代价也是昂贵的。
瀑布模型、极限编程、敏捷开发是有代表性的开发模式,在对开发者、客户、最终的产品的关注上的变化,体现了软件开发管理者在管理模式上的变化。
一、瀑布开发
瀑布模型(Waterfall Model)是Royce在1970年提出的,他把大型软件开发分为:分析与编程,象工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。该模型非常符合软件工程学的分层设计思路,所以成为软件开发企业使用最多的开发模型。
瀑布模型的特点:
1、强调文档,前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期,才可以看到软件的“模样”。
2、没有迭代与反馈。瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应,瀑布就意味着没有回头路。
3、管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑。
瀑布模型的用户很多,也有一些反对的意见:
第一、瀑布模型不适合客户需求不断变化的软件开发,尤其是客户的业务管理的软件,业务随着市场变化,而软件初期的设计可能已经大大变化,而后期的需求更改成本是开始的10倍基数。在ERP盛行的软件市场里,一方面市场带动需求变化,另一方面初期客户对需求描述不清楚,都为瀑布模型的使用团队带来困难。
第二、瀑布模型是一种软件文档的开发,把开发者变成流水线上的机器,大量重复性的工作让编程人员提不起兴趣,工作很枯燥,没有激情,编程成了一种没有创意的机械劳动,这让一向以高科技为标志的高级程序人员大为恼火,
在这种背景下,极限编程(extreme Programming, XP)带来了新鲜的空气。
二、极限编程
极限编程诞生于一种加强开发者与用户的沟通需求,让客户全面参与软件的开发设计,保证变化的需求及时得到修正。要让客户能方便地与开发人员沟通,一定要用客户理解的语言,先测试再编码就是先给客户软件的外部轮廓,客户使用的功能展现,让客户感觉到未来软件的样子,先测试再编码与瀑布模型显然是背道而驰的。同时,极限编程注重用户反馈与让客户加入开发是一致的,让客户参与就是随时反馈软件是否符合客户的要求。有了反馈,开发子过程变短,迭代也就很自然出现了,快速迭代,小版本发布都让开发过程变成更多的自反馈过程,有些象更加细化的快速模型法。当然极限编程还加入了很多激励开发人员的“措施”,如结队编程、40小时工作等。
极限编程是一种开发管理模式,它强调的重点是:
1、角色定位
极限编程把客户非常明确地加入到开发的团队中,并参与日常开发与沟通会议。客户是软件的最终使用者,使用是否合意一定以客户的意见为准。不仅让客户参与设计讨论,而且让客户负责编写拥护故事(User Story),也就是功能需求,包括软件要实现的功能以及完成功能的业务操作过程。用户在软件开发过程中的责任被提到与开发者同样的重要程度。
2、敏捷开发
敏捷开发追求合作与响应变化。迭代就是缩短版本的发布周期,缩短到周、日,完成一个小的功能模块,可以快速测试、并及时展现给客户,以便及时反馈。小版本加快了客户沟通反馈的频率,功能简单,在设计、文挡环节大大简化。极限编程中文挡不再重要的原因就是因为每个版本功能简单,不需要复杂的设计过程。极限编程追求设计简单,实现客户要求即可,无需为扩展考虑太多,因为客户的新需求随时可以添加。
3、追求价值
极限编程把软件开发变成自我与管理的挑战,追求沟通、简单、反馈、勇气,体现开发团队的人员价值,激发参与者的情绪,最大限度地调动开发者的积极性,情绪高涨,认真投入,开发的软件质量就大大提高。结对编程就是激发队员才智的一种方式。
极限编程把软件开发过程重新定义为聆听、测试、编码、设计的迭代循环过程,确立了测试->编码->重构(设计)的软件开发管理思路。
来自:tech.it168.com/m/2008-01-11/200801111630786.shtml
★ 敏捷的近义词是什么
★ 敏捷的反义词是什么
★ 敏捷的反义词
★ 敏捷真的是玄而又玄的“文化”吗?
★ 创建适于敏捷的组织文化
★ 形容敏捷含有手的成语
★ 让孩子思维敏捷的训练良方
★ 训练思想敏捷、随机应变的团队游戏
★ 面试怎样调整最佳状态
开发编程论文 篇3
关键词:基于工作过程 数控编程与加工 课程开发
基于工作过程的课程开发是目前高职教育专业课程建设的主流模式。基于工作过程的课程要求课程体系从学科体系转向工作体系;课程内容从知识导向转向行动导向;课程目标从知识本位转向能力本位;课程顺序从知识逻辑为主线转向职业活动为主线;课程环境从课堂情境转向工作情境;课程实施从教师为主导转向学生为中心;课程价值从知识储备为主转向实际应用为主[1]。 按照这一课程理念,笔者对我院计算机辅助设计与制造专业开设的《数控编程与加工》课程的教学内容、教学组织实施、教学评价和教学环境等方面进行改革与实践,取得了一些经验,在此进行剖析,以期与同行探讨。
1.重构课程教学内容,设计学习情境
《数控编程与加工》是我院计算机辅助设计与制造(CAD/CAM)专业的专业主干课程之一,是学生专业能力培养的主要课程。在教学改革之前课程采用学科体系下的课程内容编排,注重知识的系统化、逻辑化,课程内容不能与企业、行业有效对接,授课主要采用“满堂灌”、“填鸭式”教学方式,先理论后实践的教学模式导致理论教学和实践教学相脱节,教学过程枯燥,学生对教学内容难以理解,兴趣不浓,厌学现象严重,教学效果不理想,更无法培养学生的职业能力。
我们在充分听取企业一线技术人员的意见和建议基础上,对职业岗位进行分析,结合中级数控操作工国家职业标准,重新确定课程标准,解构了原有的基于知识储备的《数控编程与加工》学科课程内容结构,重构了基于知识应用的工作过程导向内容结构,打破了原来的知识体系顺序,由企业实践专家和学院课程开发专家按工作过程重组、序化课程教学内容。根据职业岗位调研确定本课程的任务是使学生具有机械产品数控车床、数控铣床/加工中心加工工艺设计、程序编制和使用数控机床加工的能力,强调学生职业能力的培养。按照职业性、典型性、逻辑性、可迁移性的学习情境设计原则[1],设计了数控铣床/加工中心编程与加工、数控车床编程与加工两个模块的10个学习情境(见表1)。每个学习情境都包含了数控编程与加工岗位的完整工作过程,各学习情境之间具有平行、递进、包容的逻辑关系。
2.改革传统教学方法,实施行动导向的教学
任何工作任务均具有不同的工作内容,但其工作过程基本一致,即无论完成什么工作任务,基本要遵循资讯、决策、计划、实施、检查、评价的步骤。且无论工作任务的技术要求是否改变,使用的工作方法是否变革,其步骤是不变的[2]。
基于工作过程的课程要体现职业工作任务的完整工作过程,通过完成工作任务对学生进行“资讯、决策、计划、实施、检查、评价”的思维过程训练[3],培养学生的职业能力。教学实施中关键要强调6步思维过程训练,这是学生可持续发展的根本。教学组织形式也应更加灵活多样,符合学生活泼的天性,学生在动手做的过程中通过不断努力,解决碰到的各种问题,从而锻炼个人能力。各模块第一个教学情境实施中老师提供学生一个简单零件加工的数控程序,手把手教学生输入程序、输入参数、操作数控机床及安装调整工件,使学生了解数控加工的整个流程,能操作数控机床,会安装刀具工件等。在其他教学情境的教学中将全部同学分为五人一组,教师与各组学生按照零件数控编程与加工的工作过程完成教学。首先老师下达加工任务,引导学生分析加工任务、搜集并学习相关资料;然后组长组织同学进行加工工艺的讨论,确定一套合适的工艺方案,填写工艺卡,编写加工程序;接着对数控程序进行仿真调试和零件加工;加工完成后对照零件图纸进行零件质量的检验,分析讨论加工质量情况并提出改进措施直至零件加工合格,最后把完善工艺方案存档。针对不同的教学内容可以采用讲授法、讨论法、引导法、项目教学法、工作过程6步教学法等教学方法,将过去由教师主导、学生被动接受的教学模式向教师指导、学生为中心的教学转变。
表1 数控编程与加工课程学习情境
模块序号学习情境目标与内容学时
数控铣床/加工中心编程与加工
1操作数控铣床1、了解数控铣床结构、特点;2、会数控铣床的基本操作。8
2平面槽零件銑削加工1、 会使用数控加工仿真软件;2、 能进行刀具中心轨迹编程。12
3外轮廓零件铣削加工1、能进行刀具半径补偿编程;2、掌握外轮廓加工工艺;3、能通过调整加工参数提高加工质量。12
4含孔零件加工1、 初步掌握孔加工工艺;2、 能进行刀具长度补偿编程。14
5型腔零件铣削加工1、 掌握内轮廓及型腔加工工艺;2、 会合理规划刀具路径。18
数控车床编程与加工
1操作数控车床1、了解数控车床结构特点;2、会操作数控车床。6
2阶梯轴车削加工1、掌握数控车床编程特点;2、能进行外圆加工编程。8
3螺纹轴车削加工1、掌握螺纹、槽加工工艺及编程方法;2、能进行外圆轮廓、三角螺纹加工编程。12
4较复杂轴零件车削加工1、能合理安排车削粗精加工工艺;2、能利用计算机计算节点坐标。12
5套零件车削加工1、 掌握内圆加工工艺;2、 能进行内圆加工编程。10
学生在做中学,学中做,全程参与教学过程,课堂上很充实甚至有些忙碌,不时翻书查资料,或与同学讨论加工工艺,或者自己进行仿真调试程序,加工的时候更是注意力高度集中观察加工过程。每个任务完成都有一个可以看得见的学习成果,学生学习主动,兴趣浓厚,能进行独立思考,有些同学还能进行深入钻研,总结一些方法如何提高完成任务的效率和零件加工质量。课程结束后与学生交流,反映在数控编程与加工课程中有所收获,知道了做什么和怎么做,对胜任相关岗位工作的信心有所增强。
3.采用强调能力的教学评价
课程考核评价改变过去单一试卷考核的方式,采用过程考核与期终考核相结合的方式。过程考核使用评价表对学生完成的每个工作任务的情况进行个人、小组、老师三方的评价(见表2),重点考查学生能力、态度。期终考核采用试卷进行,主要用于考查学生理论知识点的掌握情况。过程考核与期终考核按7:3计入学生本课程总成绩。
表2 教学评价表
任务名称学生
评价指标评价标准配分完成情况
制定加工工艺工艺规范合理20
编制加工程序程序仿真合格20
零件加工质量符合图纸要求40
安全文明生产遵守车间制度10
个人学习态度态度积极主动10
学生自评(40%)小组互评(30%)老师评价(40%)总评
4.创设工作情境的教学环境
打破改革前理論与实践分离的教学环境,创设尽可能与实际工作环境接近的教学环境,将理论教学和实践教学集成,形成学习融
“教、学、做”为一体的课堂,把学生知识和技能的学习过程置于工作过程、工作岗位的环境中,实现教学环境与工作环境的有机融合。
数控编程与加工的教学在模拟真实工作环境的数控加工车间进行,在车间里设置工艺设计室,学生在此进行数控加工前的准备工作,准备完成后就可以到车间进行零件加工,呈现了真实工作情景,加工真实工作产品,实现真实工作过程。
5.总结
通过基于工作过程的课程开发与实践,在《数控编程与加工》课程教学中牢牢抓住“6步思维过程训练”这个核心,有所为,有所不为,提升了学生学习主动性,学习效果得到明显改善,学生曾在海峡两岸大学生数控技能竞赛中获得二等奖。通过探索和实践,《数控编程与加工》基于工作过程的开发与实践取得了一些成绩,但还应继续深化课程改革,为培养更多高素质、高技能一线人才服务。
参考文献:
[1]姜大源.工作过程导向的高职课程开发探索与实践[M].北京:高等教育出版社,2008.
[2]赵志群.职业教育与培训新概念[M].北京:科学出版社,2003.
[3]姜大源.论高等职业教育课程的系统化设计——关于工作过程系统化课程开发的解读[J].中国高教研究,2009,( 4) : 66-70.
开发编程论文 篇4
当今时代,国内有很多中小型软件项目开发时间紧迫,需求也经常发生变化,如果使用传统的软件开发方法,会导致开发资源浪费,甚至质量低下。敏捷开发方法为有效解决这种状况提供了良好的解决方案。其中,以极限编程XP(e Xtreme Programming)最为典型代表。XP是一个基于实践的、混乱而有序的方法,它通过非常短的迭代周期来应对需求的变化。
笔者正在做一个Android手机情景模式自动切换的软件开发创新训练计划项目,虽然不敢与国内的那些中小型软件项目相比,但是,自己也主动尝试使用敏捷开发方法。虽有不到与不周之处,但也小有收获。
2 流行的敏捷开发方法:极限编程(XP)
在所有敏捷开发方法中,XP(e Xtreme Programming)是最引人注目的,它适用于需求快速变动背景下的中小规模的开发团队。
XP所呈现的生命周期,如图1所示。
2.1 极限编程的四个核心准则
(1)沟通:注意开发人员、设计人员、测试人员及客户之间的沟通。
(2)简单:尽量保持代码的简单,只要它能工作就可以。
(3)反馈:尽快获得用户的反馈意见,且越详细越好,使开发人员能够保证自己的成果符合用户的需要。
(4)勇气:最重要的核心价值。因为XP强调要“拥抱变化”,因此对于用户的反馈,要勇于对自己的代码进行修改,丢掉坏的代码。
2.2 极限编程的五个基本原则
(1)快速反馈:XP提倡尽可能早的,迅速的反馈。
(2)假设简单性:XP倡导为完成今天的工作而工作,并不计划未来对软件的扩展。
(3)提倡更改:XP强调要“拥抱变化”,有快速的反馈,就应有对反馈结果的执行措施。
(4)递增更改:XP提倡小改动,用期望的功能逐步增强系统。递增更改应用在XP的诸多方面:设计、计划、团队等每次只改动一小点。
(5)优质工作:质量是最重要的。XP强调团队中的成员要对工作充满兴趣和信心,保持编程人员的最高热情和水平。
2.3 XP主要特点
最为一种轻量级方法论,XP明确放弃了系统建档和分析以外的任何外在活动。文档明确不予鼓励,编码才是最主要的活动。
基于测试驱动开发(Test-Driven Development,TDD)的思想,在编码开始之前将测试用例或者脚本设计好。
3 极限编程开发应用
3.1 发布计划
3.1.1 项目简介
开发一个软件,可以通过手机自带话筒收集手机周围的声音信息,通过软件对采集信息的分析和标示,选择默认设置或者用户预先设置里面对应的情景模式,进行模式的自动匹配选择和切换。本项目首先面向的对象是学生android手机用户。
3.1.2 项目模块划分
XP是明确不支持文档的,只要设计出系统架构,各模块不必详细设计,在测试驱动的开发中进行完善。本项目模块划分如表1所示。
3.2 开发
开发过程中主要分为以下过程:
(1)模块基本功能实现
在该阶段,团队队员进行分工,独立编写模块。由队长搭建模块架构,确定模块之间相互传递数据时的数据结构定义以及各模块函数命名等。规定各模块输入值和预期输出值。
(2)模块整合
按照主函数的结构安排,插入各模块的功能函数调用部分。对变量、结构体等进行初步检查,防止同名变量的影响。
(3)测试驱动
可以全部团队的人员(团队人数在3-4人时)加入测试设计和代码修改的过程中,避免忽略细节,同时也可以避免沟通不畅带来的不必要的麻烦。
对于不同的环境输入,进行运行过程和结果测试。
测试的典型环境选取、环境特点和测试内容表示如表2所示。
使用语句覆盖测试、分支覆盖测试、条件覆盖测试、谓词覆盖测试、路径覆盖测试、边界值测试、特殊值测试等单元测试方法,对代码进行测试和修改。消除代码错误,完善代码实现功能。
3.3 应用经验
(1)个人创新,为实现新技术的突破,解决遭遇到的许多新挑战、新困难,团队中的每一个人都需要创新意识。
(2)统一与一致,只有和所在团队规定的格式一致时,才能方便地对其他人的代码的理解。
(3)减少文档,对于小规模团队而言,直接的交流和沟通才是最有效的。
(4)民主和荣辱与共。
参考文献
[1]朱少民,左智.软件过程管理[M].清华大学出版社,2007.
[2]易金刚.极限编程理论的研究[J].计算机时代,2010.
[3]B.Kent.Test-Driven Development:By Example[M].PearsonEducation,Inc,2003.
[4]F.Michael.Working Effectively with Legancy Code[M].Prent-ice Hall,Inc,2004.
开发编程论文 篇5
我相信知识的力量,更相信技术的力量。它是无穷的,它可以创造出你意想不到的奇迹,譬如说当下最现实的工作问题,金钱问题等。我是一名计算机系大四毕业生,跟许多将面临毕业的大学生一样,我为自己准备了精致的简历,把在学校取得的相关荣誉和证书都打印好,到各人才招聘市场、网上投简历找工作。每天在公交车上的时间占了一大半,以至于晕车的自己现在却不晕车了。就是跑了一段时间下来,发现自己越来越没信心了,人才市场有一部分是真正想招一些高级人才的,需要的是有工作经验的人,但基本谈成的少,还有一部分就是不想招人来为自己企业做广告的,他们跟你交谈后假惺惺的说收一份简历留下等待联系,然后就长篇的介绍起了自己的公司,由于我面试的是技术性的工作,后来通知面试,之后又让来公司做套卷子,再后来就没有音讯了。这样的情况我经历多次了,失望、沮丧的感觉让我无从下手。我在参加培训的前半个月满怀欣喜的找了份自己喜欢的网站实习生的工作,那个老总说一个月八百,我当时就有点发蒙,自己上了这么多年学了,满怀信心的要工作了,工资却是一个月800块,而且说因为是实习生其它的补助都没有,但听他说起公司的时候,他反复的强调我可以在公司里学到东西,这些东西是书本上学不来的。更重要的是工作是我想干的,我想八百就八百只要我有了工作经验就好,可我一进公司就发现不是那回事,什么技术都不让接触,总让我干一些杂活,这样下来我感觉没有希望了,有一种被利用的感觉,好受打击啊。就这样反复了一次又一次,总是令人失望。难道我真的要离开计算机这个行业吗?
为此我做了好多的分析,大学里的同学又有哪几个从事这一行呢?我到底在坚持着什么?看他们工作的现状也挺好的,同学也劝过我,说试试就行了,现在结果也出来了,发现自己不行就马上调转方向吧……就在这时,在网上碰到我学姐,我们在同一所高中、一所大学,一个专业。问起我工作找的咋样了,我把自己的困惑说了出来,她鼓励我坚持自己想干的,想干就去,去行动!我说我想参加培训,可是现在的培训机构太多了,哪家才能学到真正的东西呢?实在是个未知数,每家都说自家的好,而且费用都贵的很。问到学姐现在的工作情况,她说还可以,待遇也不错,也是去年大三的这个时候参加了无限互联3G学院的iOS开发培训,顿时感觉这个机构不错,它可以让学生学到的东西很多,这是我对无限互联3G学院的第一个印象。由于学姐就是一个范例,所以疑问也少很多,她把无限互联3G学院老师的号码发给我,我又和老师了解了一下,了解了一些详情。后面还是不太放心,又登录官网看了一下网站,第二天又去上课的地方看了看,心里踏实多了,疑虑也在慢慢的消除。可是需要参加他们的培训班还需要等一个月的时间,因为不是每个月都开班的。开课之前看了很多书,但是都感觉似懂非懂的样子。终于熬到开课的时候我感觉到浑身都是劲,听陈为老师讲课我感觉真的自己的技术太烂了,他会把更多的东西交给我们,陈为老师说宁愿教我们十成,我们消化五成,也不想教我们五成,我们消化五成,无限互联3G学院的课程和大学里完全不同,没有很烦琐的理论,更多的是实战的练习,这样一来,让自己的傲气会消去,感觉还有好多东西我还不会,还要继续努力,另一方面让自己所学的东西可以运用,做出小的项目,当成功的一刻心里难免有一种成就感,这就是学以致用吧。
现在来这里已经两个月了,上课的环境很满意,设备也很好,教室里有摄影机,学完记忆不清的可以回去播放自己再研究研究,下面一人一个苹果本,随时和老师保持同步,课下和晚上也有老师在教室辅导,随时解答疑问,如果老师的讲课方式不适应也可以沟通来调解,每位同学都有一双渴求技术的目光,累是必然的,只有付出才能成功,每天面对代码,编程,这四个月的编程生活,我相信一定可以编出美好的生活来!
开发编程论文 篇6
关键词 多语言编程 软件开发 应用
中图分类号:TP31 文献标识码:A
随着计算机技术不断更新和进步,编程技术在软件开发过程中扮演者十分重要的角色,在以往的软件开发,往往采用单一语言进行编制程序,例如FORTRAN、VC、VB等,然而编程语言各有优缺点,纯粹使用某一种语言往往会影响软件开发速度和质量。基于这一点地考虑,很多程序员开始采用多语言编程的方法,各取所长、相互调用,从而来实现软件开发中各项设计和功能,因此,多语言编程能够提高软件开发的水准,增加开发人员的工作效率,必将成为今后软件开发中一项不可或缺的重要技术。
1多语言编程技术
在软件开发设计中,若单一使用某一种语言编程很难将软件功能完全实现,为此,多语言编程技术将各种语言糅合到一起,最大限度地实现软件的各项功能,然而由于各项语言编程的函数关系和映射条件并不完全相同。因此、多语言编程技术需要着重解决其调用规制和字符转换的问题,从而达到多种语言在软件开发中的协调一致。
(1)调用规则
不同类型的编程语言有着其独特的程序类型,其调用函数不尽相同,运算意义也存在着很大的差异,例如C++编程语言一般使用FUNCTION函数,VB可能调用API函数,函数的调用规则和类型不一样,在多语言编程过程中就会出现错误代码,因为不同函数的调用规则会直接改变编程语言的运算步奏和规律,直接影响程序设计者的初衷。因此,在多语言编程过程中,需要定义某一种特定函数来进行转换,例如在FORTRAN语言中可以采用INTERFACE来定义调用规则之间的转换,确保各种语言程序能够按照设计者的意向工作,从而实现软件开发的功能。
(2)字符转换
每种编程语言对字符的定义有着其特有含义,一般来说,不同编程语言之间的字符含义往往并不相同,甚至有些编程语言的特殊字符在另一种编程语言中根本就不存在,字符里的信息传递就会受到阻碍,难以实现编程目标。为此,在多语言编程过程中要想实现字符间信息涵义的传递,可以采用字符转换代码将字符含义进行转换传递,例如最早的编程语言FORTRAN中就没有空结束符,但是一些其他编程语言中存在特定含义的空结束符,C语言中就以(‘\0’)来表示空结束符,这就需要编写一定的转换代码进行字符转换,在字符转换的同时进行信息的正确传递。
2以VB和VC++为例分析多语言编程在软件开发中的应用
Visual Basic和Visual C++都是常用的可视化程序开发语言,Visual C++能够创建短小高效且运行速度快的代码,而Visual Basic提供了最迅速最简洁的应用平台。因此,将VB和VC++两种编程进行融合,以VB创建界面,VC++编写具体程序和代码,不仅能够提高程序的速率,而且还增加了程序运行的效率。
(1)VB和VC++多语言编程方式
VB和VC++融合编程的方式多种多样,就以目前实际编程效果而言,采用VC++语言生成动态链接库,再在VB界面中调用动态链接库导出函数的方法相对来说是比较可行的。具体一点讲,首先在VC++开发环境下新建一个Win64动态链接库(简称DLL),例如chdll工程动态链接库,并编写一定的函数声明,最终会生成chdll.dll文件即可,然后再VB工程中调用刚生成的chdll.dll文件中的函数,在调用之前还需进行函数声明,之后VB就可以对这个函数进行调用,其方法和调用VB自己函数时一样。通过上述方法,在VC++编程语言环境下建立动态链接库,再通过VB调用动态链接库中的函数,从而保证VC++高效精悍的函数代码与VB简洁迅速的工作界面有机的结合在一起,最终提高代码的效率和质量。
(2)VB和VC++多语言编程在软件开发中的应用实例
PKPM 3DMODEL软件在模型的建造、动态实时操作以及三维真实感显示等方面有着极为显著的功能,已经被广泛应用于全国许多的建筑设计单位所采用。最初在开发该软件时仅采用Visual Basic作为开发工具,但在实际模型的测试过程中存在很多问题,例如图片量大,三维图形的面片数较多时,软件的运行速率就相当缓慢,软件对于鼠标的点击往往会延迟几秒,这种软件品质很难得到操作者的认可。后来通过一段时间的摸索研究,采用VB和VC++联用的多语言编程方法,将影响软件运行速率的函数、映射等用VC++语言进行程序编写,并汇总到动态链接库中,最后在VB开发环境中调用,一下子就解决了困扰多时的难题。
总而言之,多语言编程技术可以充分利用各种编程语言的优点和长处,并将其高度糅合到一起,采用动态链接库技术,在不同语言编程开发工程上进行函数调用,从而弥补单一语言编程所带来的缺陷,随着计算机技术的革新,这种编程技术必将得到突飞猛进地发展。
参考文献
[1] 周家纪.多语言编程技术在软件开发中的应用[J].新疆大学学报,2002(05).
开发编程论文 篇7
21世纪机械制造业大量需求既懂一定理论知识,又具有实际操作技能的高素质应用型人才,其培养任务主要由高职高专院校来承担。然而,多年的培养结果表明:由高职毕业的数控专业学生远远不能满足制造业对数控专业技术人员的要求。鉴于此,数控专业课程体系改革势在必行[1]。课程及其教学模式改革成为高等职业教育发展面临的首要任务[2]。
根据教育部2006年16号文件精神,教育部明确提出高职教改要积极推行与生产劳动和社会实践相结合的学习模式,把工学结合作为高等职业教育人才培养模式改革的重要切入点,带动专业调整与建设,引导课程设置、教学内容和教学方法改革。
近年来,德国基于工作过程导向的高等职业教育理论以及在此基础上提出的“学习领域”课程建设方案,对我国高等职业教育领域产生了非常深远的影响。并迅速成为我国专业建设、课程开发、课程建设及其教学模式实施的理论指南[3]。
1 基于工作过程《数控编程与加工》课程开发
课程改革借鉴了德国职业教育模式,开展“工学结合”、任务驱动、引入行动导向教学法实施教学,根据课程学习要求,以8个学习情境为载体,综合运用项目教学法、引导文教学法、六阶段教学法等行动导向教学法,将过去由教师为主体、学生被动接受的教学方法向教师为指导、学生为学习主体的教学方法转变。
1.1 工作过程导向的课程
基于工作过程就是在课程教学设计时,通过对工作过程的分析,把复杂工作系统的劳动组织关系、工作内容、设备和工具、从业者应具备的技能、知识和态度等要素结构化的过程[4]。
基于工作过程的课程不是指向学科,而是来自职业行动领域里的工作过程[5]。图一简述了《数控编程与加工》课程学习领域开发步骤。
1.2 学习领域设计
本文针对《数控编程与加工》课程采用任务驱动、基于工作过程的课程开发方法进行课程设计,整个学习领域共分八个学习情境,学习情境设计主要考虑了以下因素:
(1)根据人才培养目标,数控技术应用专业定位在培养数控机床操作工。在数控加工生产单位,数控机床操作员主要工作任务是对数控进行操作并完成对零件的加工等。本课程每个学习情境设计都是以一个典型加工任务为背景来设计的,所谓典型指的是有代表性:有的是工厂常见加工任务,有的是综合性零件。要完成数控机床的操作与零件编程加工,需要掌握较多的知识与技能,还有社会能力和方法能力的获得。这需要学生在老师的指导下,按学习任务单要求,自主学习,独立完成。
(2)学习情境的设计是按照先易后难、先简单后复杂,结合学生的认知规律设计完成的。
2.3 学习情境设计(见表一)
2.4 实例说明(以学习情境二任务3为例)
任务3是简单轴套类零件的仿真加工编程与操作。
2.4.1 任务导入
给定零件图和参考加工程序,试用仿真软件完成程序调整、零件加工和测量。
2.4.2 信息
(1)FANUC系统哪个系列适用于数控车床。
(2)如何设置毛胚尺寸,以及设置装夹方式。
(3)如何选择刀具。
(4)普通数控车床选刀和车床加工中心选刀的操作异同。
(5)刀偏的输入。
(6)回零操作和工件坐标系的设定。
(7)程序输入的方法有几种,如何进行操作。
(8)程序输入中机床报警,如何找到出错行,如何判断程序出错原因。
(9)如何完成对刀操作。
(10)切换显示平面的是哪个键,如何进行操作。
(11)单行加工和循环加工的操作。
(12)加工完成后工件的测量用哪个键,如何进行操作。
(13)给定加工程序无法加工出合格零件,如何进行调整操作。
2.4.3 计划
仿真加工前将仿真加工的操作步骤记录填入表二中。
2.4.4 实施与检查
依照操作步骤进行工件的仿真加工,加工完成后测量工件的加工精度,并截图保存。
2.4.5 展示
将工件图进行展示,并描述加工程序的内容及加工操作的方法。
2.4.6 评价
综合以上工作过程,对各小组工作情况进行评价。
2.4.7 总结
在数控编程与操作的学习过程中仿真加工操作能否完全代替实际机床加工操作?为什么?
2.4.8 课后思考
系统那些系列可以使用,进行加工操作与FANUC系统有什么区别?
2.5 考核方式
课程总成绩可参考各班实际水平将各个学习情境成绩加权处理。
3 结束语
通过积极推行实现做中学、学中练,实践理论一体化教学方法转变,积极探索工学交替、任务驱动、项目导向、顶岗实习等有利于增强学生职业能力的教学改革,实现职业教育过程的实践性、开放性和职业性,提高课程教学质量。
参考文献
[1]胡炜.高职数控专业课程体系结构改革的思考[J].江苏技术师范学院学报(职教通讯),2009,24(2):67-68.
[2]曹庆旭.基于工作过程导向的《计算机应用基础》课程教学改革的探索与实践[J].中国成人教育,2009,(13):152-153.
[3]李勤道.基于工作过程和行动导向课程教学设计的认识与实践[J].山东电力高等专科学校学报,2009,12(3):1-6.
[4]刘志宏.基于工作过程构建高职《果蔬贮运保鲜技术》课程内容体系的探讨与实跋工[J].新疆捉业职业技术学院学报,2007,(2):21-24.
经济型图形数控编程系统的开发 篇8
我国的制造信息技术和产业己进入较快发展的时期,对制造业的改造起了较大的推动作用,在现代机械制造业中,数控机床已经成为主流的加工装备。我国是制造业大国,大量机加工作由中小企业承担,创造了巨大的效益,但劳动者整体素质偏低,专业基础较薄弱,制约了生产效率的进一步提升,随着企业之间竞争的不断增加,对高效、廉价的数控编程系统的需求日益增长。
1 系统结构及各模块功能
采用CAD/CAM集成技术编制数控加工程序是当今的主流技术,从目前国内外技术水平看,实现集成的途径有两条:1)建立一个统一的集成信息模型,使产品在其整个生命周期中可以进行信息共享与交换。这种系统功能较完善,但需要较高的技术水平和大量的资金投入,在中小型企业中采用不多;2)面向现有的CAD系统,通过二次开发,扩展其CAM功能。目前具有CAD/CAM功能的系统有Pro/E、Mastercam、CATIA、Cimatron等,但正版软件价格昂贵,保证系统稳定运转的环境要求较高,一般用户难以接受。因此,开发一种新的经济型图形编程系统十分重要。
本系统是以工程中应用最为广泛的AutoCAD系统为平台,采用AutoLISP为开发工具,研制开发的经济型图形数控编程系统,是一种易于掌握,经济、有效的CAD/CAM系统。
系统由图形输入、工艺处理、前置处理、加工模拟、后置处理和NC代码输出等模块组成。整个系统的总体框架如图1所示。
CAD图形输入模块:利用AutoCAD软件本身提供的绘图功能,完成图形的几何造型、编辑和修改等功能。
工艺处理模块:确定加工工艺过程,形成工艺文件。
前置处理模块:选择刀具;确定工件加工起刀点;确定主轴转速、进给速度及其它工艺参数;确定需加工的图形轮廓,提取编程信息,计算节点数据,完成必要的数值计算。
后置处理模块:设置后置处理文件;对其进行编辑,按规定的格式,定义数控加工指令文件所使用的代码、程序格式、圆整方式等内容。通过读取前置处理产生的信息,系统自动按要求生成所需的加工指令文件。
加工模拟模块:根据所画的图形,执行模拟加工命令,在计算机屏幕上可以看到加工后的刀具轨迹,实现加工仿真,可以检验系统工作的合理性。如果正确,则可用于加工输出,否则,返回工艺处理模块,重新进行处理。
NC代码输出模块:将后置处理生成的加工指令文件直接或间接传输给数控机床,控制其进行加工。
2 系统工作原理及实现过程
2.1 图形实体几何信息的获得
目前,通过Auto CAD软件平台获取图形实体几何信息的方法主要可以采用读取DXF文件信息、采集多段线实体的几何信息、交互方式选择实体提取信息等方法。考虑到本系统面向的是现场操作者,直观性和稳定性最为重要。采用交互方式,通过选择实体来获得单个实体以及与之相连的实体的几何信息。这种方式看似麻烦,却很实用,对各种二维图形都很有效。
一般情况下,简单的Auto CAD图形经过分解后,都可以变成直线或圆弧等基本单元。因此,系统实际要处理的图形实体主要就是直线和圆弧。直线的几何信息主要是起点和终点坐标;圆弧的几何信息主要是起点、终点、半径和圆心坐标。获得图形实体信息的流程图如图2所示。
利用Auto Lisp语言的entsel函数,通过光标点选某个图元对象,选定所需实体。然后,运用entget函数获取选定对象的图元数据,并将其存入相应的表中。通过读取图元数据表的各部分信息,就可以了解图形实体的目前状况。然后分析是否有与选定实体相连的其它实体,如存在其它实体,则继续读取其信息,并将所有采集的信息存入选择集中,为后置处理做准备。
2.2 工艺信息的分析
图形自动编程系统必须对零件进行工艺分析,其主要内容包括:
1)确定加工工艺过程;
2)确定走刀路径,选择工艺参数;
3)选择相应刀具;
4)确定工件坐标系、编程原点以及起刀点等。
2.3 自动生成数控加工程序及磁盘文件
系统得到工艺信息和图形几何信息后,通过相应的数学处理,得到加工零件各几何元素之间的基点和节点坐标、加工的走刀轨迹,形成刀位数据。按照ISO标准,根据实体数据,系统可以很容易的生成数控加工G指令,同时根据工艺信息生成数控程序的M代码,形成加工程序段。
由open函数打开数控程序磁盘文件,用princ函数将生成的程序段逐条写入磁盘文件中,所有刀位轨迹的加工指令都产生后,数控加工程序生成完毕,用close函数将文件关闭。最后,可以利用notepad函数展示程序清单。
加工程序的生成过程如图3所示。
2.4 加工轨迹模拟
数控加工是一个自动过程,为确保加工过程的正确性,避免干涉问题。本系统采用了加工轨迹模拟法。
模拟加工过程中的数据驱动是采用CL(Cutter Location,刀位)数据,可以直接被Auto CAD所接受,基于CL数据的模拟不考虑切削参数,将刀位数据读入后,系统将模拟生成刀具的运动轨迹,通过比较新生成的图形和零件图,就可以确定轨迹是否正确。如果出现问题,可以进行修改,并重新生成NC程序,以保证零件的加工质量,降低了系统的复杂性,大大提高了工作效率。
3 系统应用实例
数控编程系统提供了加工工艺编制、加工代码生成及轨迹模拟、工件加工模拟等模块,其中加工代码生成及轨迹模拟模块包括铣削加工和车削加工两个子模块,如图4所示。通过工艺过程和加工参数的设定以及交互的实体选择,系统可以获得零件加工的各种信息,并自动进行刀具半径补偿和生成NC加工代码,此外,系统还可以在Auto CAD环境下对加工过程进行模拟。
3.1 加工工艺编制
在数控机床上加工零件与普通机床上加工零件所涉及的工艺问题大致相同,处理方法也无太大差别。首先要对被加工零件进行工艺分析和处理,然后根据工艺装备(机床、夹具、刀具等)的特点拟定出合理的工艺方案,最后完成零件加工的工艺规程的编制。工艺规程的好坏不仅会影响机床效率的发挥,而且将直接影响到零件的加工质量,因而是数控加工自动编程技术中的一项重要的研究内容。图5所示为工艺卡编制对话框,借助该对话框可以输入各工序的内容,并保存为一个文本库文件,还可以很方便的进行修改、排序和增减。
3.2 数控加工代码的生成
数控程序由一系列指令代码组成,每一个指令对应于工艺系统的一种动作状态。本系统生成数控程序时,首先打开前面生成的刀位轨迹文件,在AutoCAD环境下显示轨迹图形,利用AutoCAD强大的图形处理功能,提取轨迹图形的各几何参数,结合输入的工艺参数,生成相应的G代码指令和M代码指令,并把节点坐标值赋给相应的变量,形成加工程序段,最后将程序存盘,生成加工程序的文本文件。
以铣削加工为例。点选菜单“铣削加工”项,弹出如图6所示的铣削加工编程对话框,在该对话框中可以定义数控程序的文件名以及铣刀进给量、铣刀半径、主轴转速、铣削深度等切削参数。
根据刀位轨迹图形,选定欲加工轮廓,系统能够自动搜索相连的轮廓各组成线段,并分析其性质。然后,视具体情况确定刀具偏置方向,即判断取内轮廓还是取外轮廓。系统会采用不同的颜色来绘制刀具的加工轨迹和中心轨迹。
如图7所示,系统能够动态的演示刀具的移动过程,并用序号标记刀具在各个节点的位置,可以方便直观地了解加工情况。
程序运行完后,系统自动运行记事本,显示加工代码,如图8所示。
如有其他待加工部分,可如法炮制,若需要,还可以把各NC程序段连接起来,形成一气呵成的总体加工程序。经验证无误,就可以将生成的加工程序代码通过接口传输给数控系统,来控制机床进行实际加工。
4 结束语
通过对Auto CAD的二次开发,实现了在AutoCAD环境下的图形数控加工自动编程,解决了手工编程效率低,通用型CAD/CAM系统成本高的问题,保证了加工的高效性和可靠性。尤其适于中小企业以此为基础开发典型产品的专用自动编程系统,在金融危机的背景下更具有明显的现实意义。
参考文献
[1]王占礼,王明环,王立学.基于AutoCAD的图形数控编程系统[J].长春工业大学学报,2002(8):5-8.
[2]闫占辉,刘宏伟.机床数控技术[M].华中科技大学出版社,2008.
数控编程软件的二次开发及应用 篇9
1 Mastercam软件编程特点
Mastercam软件是美国CNC Software.Inc公司开发的CAD/CAM软件,由于其功能很强大,且易学易用。它广泛应用于机械、汽车、航空和模具等行业的生产过程中,是目前应用最广泛的CAD/CAM软件之一。该软件包含CAD和CAM两大模块。
1.1 Mastercam软件的编程过程
数控编程软件的编程过程都需要经过图形的绘制、加工工艺分析、根据软件的特点进行加工参数的设定来生成刀具路径、接着由后处理文件来自动将NCI文件转换成NC程序、最后传送到数控机床来完成加工。其Mastercam软件数控加工编程的流程如图1所示。
从图中可知,读取转换程序.PST文件不同,则自动生成的程序格式也不同。由于不同的数控系统程序格式各异,而软件不可能提供一个适应于所有数控系统的转换程序,所以进行转换程序的二次开发非常重要。
1.2 Mastercam软件生成程序的格式
Mastercam软件所默认配置的后置处理文件是MPFAN.PST,其自动生成的程序格式如下:
以上程序的格式可直接应用于日本FANUC数控加工中心上加工生产,但对于数控铣床或其它数控铣削设备,其程序格式都有一定程度的变化,如数控铣床不需“T1M6”换刀指令等。不管是日本FANUC还是其它厂商数控系统的铣削设备,选用该通用的后置处理文件来自动生成的NC程序代码,都不能应用于数控铣床上直接加工。
2 数控编程软件的二次开发
根据数控机床和数控系统的具体情况,可以对Mastercam软件的后处理程序的数据库进行二次开发,编写出适应某一数控机床的专用后置处理转换程序.pst。来取代通用后置处理文件,使用新二次开发的后置处理文件可使Mastercam软件自动生成的NC程序能直接应用于数控铣床的生产加工。
2.1 Mastercam软件二次开发的步骤
Mastercam软件的后置处理程序采用的是纯文本格式的形式,该文本文件可以用记事本或写字板来进行编辑修改,要求数控人员具备软件基础开发的经验和对数控系统的熟练掌握才能编制出正确的后处理程序模块。其二次开发新的转换程序文件的过程如下:(1)用Mastercam软件存在的后置处理文件将已生成的刀具路径NCI文件自动生成的NC程序;(2)掌握所需作二次开发数控铣床所需标准程序文件的格式,与以上生成的程序进行比较其差异;(3)二次开发特定数控铣床新的后处理转换程序文件;(4)用新的后处理转换程序文件取代原来Mastercam软件的后处理程序文件,重新将刀具路径NCI文件自动生成的NC程序,将新的NC程序与原数控机床标准程序文件进行格式比较,直至成功为止。
2.2 Mastercam软件二次开发的过程
Mastercam软件所默认的后处理文件是MPFAN.PST,生成的程序能直接应用于日本FANUC数控系统的加工中心设备;而对于FANUC数控系统的数控铣床,其格式比较接近。但不管是加工中心还是数控铣床,选用该后置处理文件来生成NC程序代码,都不能直接应用数控铣床上生产,都需人工做一定的修改,这样,既浪费时间又容易出错,还可能造成不必要的加工事故。因此,有必要对不同的数控铣削设备开发专用的后置处理程序,发挥软件的CAM模块最佳效果。本文根据Mastercam软件的通用后置处理程序,结合FANUC数控铣床的特点,为了做到Mastercam软件自动生成的NC程序能直接用于该系统的加工生产,修改其后置处理文件的具体内容如下:
(1)取消换刀动作指令,删除原文件中语句行:
(2)取消刀具长补正指令,原文件为:
(3)关闭轴的旋转运动,原文件为:
(4)为读程序方便,在各指令中间增加一空格,原文件为:
(5)为使加工连续,需在程序前段增加指令″G5.1 Q1″,即在坐标系前增加语句行:
(6)在程序后段需取消加工连续功能,采用指令″G5.1Q0″,即在程序结束前增加语句行:
经修改后生成的部分程序代码如下:
二次开发后的后置处理文件,所自动生成的NC程序,已经通过生产的检验和学生实习的反复验证,完全能够做到不需要对程序进行任何修改,可直接应用于FANUC数控系统的数控铣床上加工生产。
3 结论
某学院《数控铣工综合实训》课程所使用的FANUC数控系统的数控铣床和GMI数控系统的数控铣床,就是使用以上的方法进行的Mastercam软件后置处理程序二次开发所产生新的FANUC-X.PST和GMI-X.PST后置处理程序文件,用它来把Mastercam软件产生的NCI文件自动转换为NC程序,并不需要人工对所生成的程序再做任何修改,可在同类型的数控铣床上直接加工各种不同类型的零件。对于其它数控系统铣削设备,可参照此方法来进行二次开发工作,来满足各种数控系统的生产和学生实习的需要。这样可缩短编程时间,节约生产成本,同时也可避免意外事故的发生。
参考文献
[1]潘子南.Mastercam X基础教程[M].北京:人民邮电出版社,2007.
开发编程论文 篇10
关键词:Android,Web Service,ksoap2
Web Service是一种面向服务架构(Service-oriented architecture,SOA)的技术,目的是实现不同平台的应用服务之间的相互调用。Android作为一个市场占有率第一的移动操作系统,其网络功能是最重要的特性之一。在Android开发中通过Web Service可以方便地实现不同平台之间的方法调用,从网上获取数据信息和实现功能扩展。Web Service通过标准的Web协议提供服务。
1 Web Service及协议规范
通过Web Service实现远程方法调用,获取数据信息,最关键的问题是数据访问和传输的协议规范。
SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个分布式网络环境下用于信息交换的通讯协议。在此协议下,应用程序和软件组件可以通过标准的Web协议进行通讯。SOAP使用基于XML的可扩展消息格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可以使用SMTP或XMPP。
WSDL是一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。
UDDI是用来发布和搜索WEB服务的协议,应用程序可藉由此协议在设计或运行时找到目标WEB服务。
2 Android开发中Web Service的实现
Java开发中的Web Service有很多种实现方式,如XML-RPC、XFile、Axis等等,可是这些库并不适合资源有限的Android手机客户端。在Java ME版本中,广泛使用的是KSOAP。虽然Android并不使用Java ME,但是KSOAP也有Android下的可用版本ksoap2-Android。
2.1 ksoap2-Android
k SOAP是Enhydra.org的一个开源作品,是Enhydra ME项目的一部分。ksoap2-Android是ksoap2在Android下的一个移植版本,利用它可以非常方便地访问Web Service。ksoap2的常用接口有:
org.ksoap2.Soap Object
org.ksoap2.Soap Envelopeorg.ksoap2.Soap Serializati
org.ksoap2.Soap Serialization Envelope
org.ksoap2.transport.Http Transport
Soap Object用于创建SOAP对象,实现SOAP调用;
Soap Envelope实现了SOAP标准中的SOAP Envelope,封装了head对象和body对象。
Soap Serialization Envelope是ksoap2中对Soap Envelope的扩展,支持SOAP序列化(Serialization)格式规范,可以对简单对象自动进行序列化(Simple object serialization)。
Http Transport用于进行Internet访问/请求,获取服务器SOAP。
2.2 ksoap2-Android的编译配置
使用ksoap2-Android,首先需要到http://code.google.com/p/ksoap2-android/下载文件ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar。
还需要把下载的jar文件添加到android工程的lib目录下:在Eclipse项目右击选择build path,选择configure build path,打开项目属性的Java Build Path属性,选择Libraries选项卡,点击ADD JARs按钮添加jar文件。
3 手机号码归属地查询程序
手机号码归属地查询是一个常用的服务,在国内http://Web Xml.com.cn/网站提供了免费的号码归属地查询Web Service。提供的调用方法有:
get Database Info获得国内手机号码归属地数据库信息。输入参数:无;返回数据:一维字符串数组(省份城市记录数量)。
get Mobile Code Info获得国内手机号码归属地省份、地区和手机卡类型信息。
输入参数:mobile Code=字符串(手机号码,最少前7位数字),user ID=字符串(商业用户ID)免费用户为空字符串;返回数据:字符串(手机号码:省份城市手机卡类型)。
3.1 界面设计
界面包含一个Text View控件,用来提示输入,一个Edit Text,用来输入电话号码,一个“查询”按钮,还有一个Text View控件,用来输出查询结果。
3.2 查询的代码
当输入手机号码,点击查询按钮时,访问Web Service,远程调用get Mobile Code Info方法来获得查询结果。访问Web Service的步骤如下:
1)实例化Soap Object对象,指定web Service的命名空间和调用的方法名称。
String service Name Space="http://Web Xml.com.cn/";
String method Name="get Mobile Code Info";
Soap Object request=new Soap Object(service Name Space,method Name);2
2)设置调用方法的参数。根据服务提供方描述的参数要求,需要两个参数。第一个为mobile Code,字符串类型,表示手机号码,第二个为user ID为商业用户ID,免费用户为空字符串。
request.add Property("mobile Code",str Phone Number);
request.add Property("user ID","");
3)通过实例化Envelope对象,设置SOAP请求信息,并注册Envelope对象。对应于不同的SOAP规范,需要使用不同的常量作为参数。常量Soap Envelope.VER10:对应于SOAP 1.0规范;常量Soap Envelope.VER11:对应于SOAP 1.1规范;常量Soap Envelope.VER12:对应于SOAP 1.2规范。
Soap Serialization Envelope envelope=new Soap Serialization Envelope(Soap Envelope.VER11);
envelope.body Out=request;(new Marshal Base64()).register
(new Marshal Base64()).register(envelope);
4)实例化传输对象,参数为传递SOAP数据的目标地址,即WSDL文档的URL。Http Transport SE是一个强大的Http传输类,可以完成Http传输过程。它封装了网络请求的一切,可以完全不用考虑序列化消息。通过把它的debug属性设置为true来启用调试信息。
String service URL="http://webservice.webxml.com.cn/Web Services/Mobile Code WS.asmx";
Http Transport SE transport=new Http Transport SE(service URL);
transport.debug=true;5
5)获取返回结果,并进行解析。
返回数据为字符串(手机号码:省份城市手机卡类型)。
if(envelope.get Response()!=null){
return(envelope.body In.to String());
}
4 结束语
在Android开发中使用ksoap2-Android可以很方便地实现Web Service功能,通过Web Service远程调用来获取数据。但是在开发中发现,直接访问Web Service来获取数据,会由于网络的延时而造成界面响应的短暂停顿,应该研究更好的方法,如通过后台异步数据传输来解决。
参考文献
[1]Rogers R,Meike B,Mednieks Z.Android应用开发[M].北京:人民邮电出版社,2010.
[2]Android Developers[EB/OL].http://developer.android.com.
[3]Ksoap2-android[EB/OL].http://code.google.com/p/ksoap2-android.
[4]Reto Meier.Android高级编程[M].北京:清华大学出版社,2010.
[5]Web Service Wiki[EB/OL].http://zh.wikipedia.org/zh/Web服务.
开发编程论文 篇11
关键词 多语言编程技术 软件开发 应用
中图分类号:TP312 文献标识码:A
1 动态链接库技术
动态链接库的英文翻译是Dynamic Link Library,因此动态链接库又叫DLL,在DLL中通常可以包含很多的代码和数据,而这些代码和数据可以同时被多个程序都是识别并使用,从而实现了各个编程技术的动态链接。DLL作为一个不可执行文件,同时提供了一个对普通程序的代码进行识别和调用的函数,使得多个程序可以在相同的时间段内访问和使用同一个代码。DDL文件一般都会带有.dll这样的扩展名,因此也可将DLL作为一种磁盘文件来看待,在这个文件中包含了所需的全部数据、服务函数以及其他资源,DLL模块也正是通过这些函数和数据资源实现动态链接以及提供服务。在动态链接库进行动态链接之前必须与相应的声明函数或是引入函数作为引导,否则就不可以实现程序的动态链接。比如在DLL代码中必须有像__declspec(dllexport) int MyFunction(int n);这样的导出函数以及像__declspec(dllimport) int MyFuncition(int n);这样的输入声明函数,当然仅仅拥有输入和输出两种声明函数是不能将其他程序连接到DLL文件上的,还需要其他的调用函数的配合。
2 多语言编程技术
在软件开发设计的过程中,如果仅仅使用一种或是很少的编程程序是不能将软件的实际功能完全实现的,因此多语言编程技术满足了软件设计多种编程语言的需要,也为多种编写代码实现链接提供了可能性。但是如果多种编程语言混合在一起,若想保证原来各种编程的运行速度以及整体的运行效率,对于多语言编程技术的首要要求就是具有一定的调用规则,主要包括命名规则、堆栈的使用等等,这些都是多语言编程得以实现的基础,也可以说是关键性的问题。以下将对多语言混合编程的函数调用规则以及数据结构作简要的分析。
2.1 调用规则
不同的语言编程,其程序类型也不尽相同,因此多语言编程技术的调用规则还需要满足不同的程序类型需求,比如C++语言常用的调用函数是FUNCTION函数。函数的调用规则决定了函数下一阶段的运行,它直接影响变量的传递和接受,还会对变量的顺序产生一定的影响。因此在一些类型的语言中,需要设定特定的函数进行转换的声明。另外调用规则还和函数的数据传输以及数据的传输形式具有一定的关联性,比如传递的是一个数值还是地址都和调用规则有联系。
2.2 字符转换
一般情况下,在C语言中字符出现的形式主要以指针为主,另外在C语言中的字符传递方式和地址的传递方式相同,但这并不包括字符长度的传递。而一般在C语言中都以字符‘\0’作为每一行的结束符,但是在一些其他的编程语言中,有的语言是直接不具有结束字符,比如在FORTRAN语言中就没有结束符,因此要想实现C和FORTRAN之间字符的传递,可以直接将字符转化为C字符或者是直接编写相应的程序接收字符,后者也可以实现在进行字符转换和传递的同时进行字符长度变量的传递。
3 多语言编程的实现
3.1 在C中调用FORTRAN的动态链接库
在DLL文件中的函数会根据相对应的符号名或是整数值进行函数表的归纳,当DLL引出一个符号时必须使用相对应的符号进行引出,将这些符号统称在一起就叫做符号的引入。在FORTRAN语言中,DLL用户可以直接通过文件的属性找到与之对应的函数或是代码,从而实现函数的声明。将一些类似的代码或是数据和多个函数进行链接之后就会生成所需要的test.dll和zc.dll文件。
当实现动态链接之后,接下来所要考虑的就是如何进行动态链接库的使用。一般情况下,无论是.LIB文件还是.DLL文件都采用隐式连接或是静态连接的方式,因此当有应用程序访问DLL文件时,动态链接库必须存在该程序的目录。这样就可以直接避免出现链接库路径连接错误。在实际的程序设计和软件开发中,采用动态联编的方式来实现链接库的调用比较多。
3.2 在FORTRAN中调用C的动态链接库
在实际的算法运行过程中,由于一些算法或是正反演算法的迭代使用和计算,这就对数据的传输和处理带来影响,并不是所有的数据结果处理都很精确或是合理,严重时还会导致算法或是整个编程运行停止,因此对于一些重要的参数或是函数进行监控室非常必要的。在VC++进行调用算法动态链接库时,如果将链接运行的信息即时显示在相关屏幕上就可以方便对程序运行工程的判断和分析。在VC++中可以编写几个控制动态链接库的函数,这些函数的声明也可以作为FORTRAN算法的引出函数,这时候在运行FORTRAN算法动态链接库的同时也可以将算法的信息显示给VC++的应用程序的状态窗口,根据窗口显示的函数返回值,用户就可以实现对于动态链接库的实时控制以及在FORTRAN中调用C的动态链接库。
4 结语
尽管当前编程技术日新月异,但是在系统或是软件设计中如何将这些云烟编程技术进行综合运用或是实现各个语言程序的相互连接问题,仍是当前在软件开发中仍需要考虑的问题。而在研究中发现,DLL作为一个可以由多个程序同时使用的代码和数据的库,实现了多语言编程技术的相互连接,实现了资源共享,是实现多语言编程技术在软件开发中的应用的基础和前提。
参考文献
[1] 杨小锋,陈艳燕.智能卡中JNI技术的应用实现[J].浙江师范大学学报(自然科学版).2005(03).
[2] 周涛,郭占元,郭向荣.FORTRAN与C#混合编程在土木工程计算中的应用[J].山东交通学院学报.2009(01).
[3] 汤洪志,周华中,胡文平,周亚东.VB与Visual Fortran混合语言编程及其在物探化探数值计算中的应用[J].物探化探计算技术.2002(01).
开发编程论文 篇12
本程序应用了Web网页程序设计技术,采用VB编程语言,利用myImage.Image绘图插件完成了图形坐标定义、颜色选择和曲线绘制等编程工作。限于篇幅,文中只列举梯型、折线型和三角点型曲线图的绘制,其他方法类似推导可得,下面从两个方面进行阐述:(1)主要曲线绘制原程序代码及注释;(2)程序运行模拟成果。
2主要原程序代码及注释
3 程序运行效果
程序运行的最终效果如图1所示。
参考文献
[1]徐尔贵.Visual Basic6.0教程.电子工业出版社,2001.
[2]王柯柯.Web网页设计技术.机械工业出版社,2011.
【开发编程论文】推荐阅读:
JAVA编程语言软件开发06-05
网络数据库讲稿(客户端开发编程)10-17
编程计算器论文06-28
编程课程教学论文11-30
plc实现编程论文09-06
数控编程技术的涵义论文06-28
高职编程类课程实施论文07-30
《网络编程技术》课程论文10-14
可编程控制器维修论文09-20
工程计算器编程测量分析论文08-26