计算机软件开发调试技术研究
2017-05-30黄正宝
DOI:10.19392/j.cnki.16717341.201722051
摘要:在现代社会中计算机在多个领域中都具有极为广泛的应用,作为计算机系统的重要组成部分,计算机软件在实际应用中发挥着重要的作用,只有进一步加强计算机软件开发调试技术的研究才能充分发挥计算机软件的作用,实现生产效率的全面提升,基于此种情况,在本文当中笔者结合自己的实际工作经验对相关问题进行了必要的分析与研究。
关键词:计算机;软件开发;调试
在现代社会当中计算机已经被广泛的应用于多个领域当中,从而有效的实现了生产力水平的全面提升。计算机在实际生产中的应用必须要建立在必要的计算机软件基础之上才能实现。在最近几年当中随着“互联网+”时代的带来,计算机软件在各个领域当中都具有极为广泛的应用,这也对现阶段的计算机软件提出了新的要求,只有进一步加强计算机软件的开发与利用才能满足人们对于计算机实际应用的需求。在计算机软件开发过程中开发与测试是计算机软件开发与利用的关键所在,从这两方面入手是提升计算机软件应用的关键所在。基于此种情况,在本文当中笔者结合自己的实际工作经验对计算机软件的开发与调试技术进行了必要的分析与研究。
一、计算机软件开发
(一)计算机软件的特点
计算机系统包含了硬件与软件两个不同的组成部分,二者都是计算机系统的重要组成部分,也是实现计算机全面应用的关键所在,计算机硬件是计算机系统运行的物理条件,而计算机软件则是计算机能够在多个领域中实现应用的虚拟环境,只有针对不同的应用需求开发出对应的软件才能满足计算机软件在实际中的应用需求。在探索计算机软件开发技术之前首先必须要对计算机软件的特点进行仔细的分析,具体来说计算机软件的特点主要包含以下几个方面的内容:(1)计算机软件能够有效提升工业生产的实际效率,例如,通过计算机软件的应用能够实现对生产过程的自动控制,实现了人力资源的有效节约,提升了生产效率;(2)计算机软件的组成较为复杂,开发过程相对较为艰难。计算机软件的开发必须要满足特定的需求,即针对具体工作需要进行软件需求,并需要符合不同产业的实际情况,在这个过程当中必须要根据实际条件,采用多种技术,因此,软件开发过程存在着较大的难度;(3)软件开发必须要设置软件保护机制。计算机软件也属于知识产权的范畴当中,同时由于计算机软件开发过程相对较为复杂,计算机软件知识产权的保护就显得尤为必要了,基于此种情况,在计算机软件开发过程中必须要设置对应的保护机制避免计算机软件成果被他人窃取。
(二)计算机软件开发的常用方法
根据计算机软件开发方法之间的差异,可以将计算机软件开发方法分为:生命周期法、原型化法以及自动形式法三种不同的方法。
第一,生命周期法。从时间角度出发,软件生命周期法对软件定义、开发、维护等问题拆分成若干个阶段,每一个阶段的开始和结束都有自己严格的标准。软件生命周期通常有6个时期,即6个阶段。通常来说,这个生命周期是六个月左右。
第二,原型化方法。传统的生命周期方法要进行严格定义以及预说明,并要求用户与软件开发人员在开发刚开始的时候就要对系统整体功能及信息需求有全面、准确、深刻的认定。如果用户给出的软件目标没有详尽描述输入处理以及输出需求,或者软件开发者不能确定系统适用性、算法效果以及未來使用的人机界面形态。 这时,开发人员可以采用原型化方法,通过原型化系统的研究阶段,确定软件自身的要求。 与此同时,充分利用先前所得到的概念进行系统基础建模、原始系统建造以及开发人员的评审,从而达到修改阶段以至于最后完工。
第三,自动形式法。自动形式法软件开发方法借鉴了第四代软件开发技术中的开发工具,属于一种自动化软件开发方法。这种开发方法在软件开发中的应用,开发者只需要说明拟开发的软件所需要具备的基本功能,这种方法就可以自动进行软件开发,在完成软件开发之后,开发人员只需要对所开发的软件进行必要的验证就可以完成了。
二、计算机软件调试
计算机软件调试也是计算机软件开发的重要环节,在计算机软件开发中可能会存在着一定的漏洞,从而对计算机软件在实际生产中的应用造成较大的影响,严重的还会导致应用过程中会进一步造成较大的经济损失,因此,在将所开发的软件投入实际应用之前必须要对计算机软件进行进一步的调试。在下文当中笔者将对现阶段软件调试中较为常用的三种调试技术进行进一步的探讨。
(一)黑盒调试
由于计算机软件自身固有的复杂性,软件调试工作一直以来都需要耗费大量的人力物力,同时也是软件开发的重点内容。软件调试从本质上来说属于一种逆向思维的过程,即开发调试人员需要从软件的实际使用情况所反映出来的信息入手对软件可能存在的故障进行分析。在许多情况下,这种逆向的思维往往并不存在一定的必然性,因此,许多时候需要依赖于调试人员的经验甚至是直觉。软件测试可以分为白盒测试与黑盒测试,所谓白盒测试是指测试人员对于软件架构与组成具有充分了解前提下所进行的测试,黑盒测试则完全相反,即在测试人员并不了解软件内容的前提之下所进行的测试。但是在实际测试当中黑盒测试占据了大部分,这主要是由于软件后期的维护人员往往并没有参与到软件开发过程当中,对于软件的构成并不是非常的了解。其次,在实际软件开发过程中,由于进度要求可能并没有及时保留相关的文本信息,从而导致实际调试过程中无法有效查询相关的文本信息。黑盒测试存在着较大的难度,由于测试人员对于软件的了解程度明显不足,调试往往无从下手,主要依赖于调试人员从表面问题到有关代码之间的反推能力。其次,反向定位技术也是解决黑盒测试的关键技术。
(二)软件故障定位技术
在计算机软件调试当中,软件故障定位技术是一种极为常见的技术,在黑盒调试当中工业具有极为广泛的应用,在最近几年当中随着计算机软件应用范围的不断拓展,软件调试的任务量也不断提升,故障定位技术也逐渐发展起来。软件故障定位技术可以分为静态分析技术以及调试的故障分析技术两种不同的类型,所谓静态分析技术是指计算机软件在非工作状态下所进行的软件测试技术,静态故障定位技术主要是针对计算机软件的语句、符号、形式以及指针等进行检测而得出故障的技术,这种技术在实际中的应用能够有效检测出许多漏洞,但是也存在着一定的局限性,即对于软件运行过程中可能存在的问题无法有效的检测出来。基于调试的故障分析技术即需要在软件运行的条件之下实现对故障的定位,在现阶段的软件调试当中大都采用这种技术,通过该技术的应用能够有效识别出计算机软件可能存在的问题,从而避免软件漏洞的存在。
(三)巨型机调试技术
随着计算机软件在实际生产中应用范围的不断拓展,许多计算机软件被应用到巨型机当中,巨型机中所运行的计算机软件一般都相对较为复杂。因此,其测试也相对较为复杂。基于此种情况。从体系结构角度看,巨型机为提高主频,结构设计与工艺技术都非常复杂,往往很难对调试工具的实现增加特殊支持(如比较寄存器等);为使系统具有极高的速度潜力,巨型机普遍采用了多处理机、多功能部件、全流水、向量处理等技术,并行计算给软件程序的运行带来了很大的不确定性.这些都是研制巨型机软件调试工具的难点。由于汇编语言能充分体现巨型机结构特色,为了更好地发挥机器效率,巨型机软件的很多主要模块仍采用汇编语言编程,高效灵活地支持汇编级调试成为巨型机调试工具的主要需求之一。
三、结语
为了促进计算机软件在实际应用中的进一步拓展,分别从计算机软件开发与调试两个方面对计算机软件开发过程中的重点技术进行了必要的分析与研究。当前阶段计算机软件开发必须要严格按照既定程序,并将上面的技术积极主动的应用于实际开发过程,进一步提升计算机软件的开发效率。
参考文献:
[1]孙莉.水泥生产关键设备故障诊断系统软件开发与仿真调试[J].水泥,2017,(05):5456.
[2]王晓蔚,习新魁,胡文平,杨立波,梁賓,李均强.基于D5000系统的变电站综自调试试验系统方案与问题分析[J].电力系统保护与控制,2016,44(23):190196.
[3]盛建忠,王胜,张庆文.GDB RSP协议与USB通信在嵌入式调试系统中的应用[J].电子与封装,2013,13(03):4348.
[4]黄亚齐,刘树彬,封常青,安琪.基于LabWindows/CVI的空间暗物质粒子探测预研系统的数据获取软件设计[J].核电子学与探测技术,2012,32(04):407411.
[5]柴承文,陈元旭,王仪明.基于GTDesigner的气动包装机械手的设计与研究[J].中国印刷与包装研究,2010,2(S1):300303.
[6]LabVIEW单元测试工具包和LabVIEW桌面执行追踪工具包可帮助开发人员有效调试、验证软件[J].国外电子测量技术,2009,28(03):79.
[7]曾洁,贾世杰,陈少华.基于串口通信方式实现对工控微处理器的代码下载与调试[J].化工自动化及仪表,2009,36(01):8688.
作者简介:黄正宝,男,汉族,河南信阳人,苏州大学硕士,无锡商业职业技术学院物联网技术学院,讲师,研究方向:软件技术。