时间:2023-03-29 09:26:41
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇软件测试论文范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是"为了发现错误而执行程序的过程"。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。
二、影响软件测试的因素
影响测试效率的因素除了测试方法之外,主要因素还有人为因素、软件类型、错误类型、测试充分度等。下面对这些因素作一个简要分析。
1.人为因素
软件测试中的许多工作是由人来完成的,因此,人为因素是影响测试效率的一个重要方面。这样的差异并非偶然,这是因为测试人员在应用一个测试方法时具有很大的灵活性,从而使测试人员的经验和学习能力可以有较大的发挥余地。所以只能采用越来越严格的测试方法和过程来有效地避免人为因素对测试效率的影响。
2.软件类型
软件类型也是影响测试效率的一个重要因素。即使是同一个测试者,测试不同类型的软件的效率和发现软件错误的能力也是不尽相同的。测试什么类型的软件的效率较高则因人而异,这往往与测试者的相关知识、经验与专业训练有关。
3.测试充分度
测试充分度反映了一个测试是否得到了良好的执行,它直接关系到测试的效率。1993年Frankl和Weiss发现,只有当充分度十分接近100%时,才能使测试发现错误的能力得到发挥。因此,在测试软件时,必须设法使充分度十分接近100%,否则将难以保证测试质量。
三、加强对测试工作的组织和管理
随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。然而,为了尽可能多地找出程序中的错误,生产出高质量的软件产品,加强对测试工作的组织和管理就显得尤为重要。
从软件的生存周期看,测试往往指对程序的测试,这样做的优点是被测对象明确,测试的可操作性相对较强。但是,由于测试的依据是规格说明书、设计文档和使用说明书,如果设计有错误,测试的质量就难以保证。即使测试后发现是设计的错误,这时,修改的代价是相当昂贵的。因此,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行严格的审查。
虽然测试是在实现且经验证后进行的,实际上,测试的准备工作在分析和设计阶段就开始了。
1.测试的过程及组织
当设计工作完成以后,就应该着手测试的准备工作了,一般来讲,由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全面测试。
在实现组将所开发的程序经验证后,提交测试组,由测试负责人组织测试,测试一般可按下列方式组织:
(1)首先,测试人员要仔细阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。
(2)为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试和验收测试。
(3)代码会审:代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。会审小组由组长,2~3名程序设计和测试人员及程序员组成。会审小组在充分阅读待审程序文本、控制流程图及有关要求、规范等文件基础上,召开代码会审会,程序员逐句讲解程序的逻辑,并展开热烈的讨论甚至争议,以揭示错误的关键所在。实践表明,程序员在讲解过程中能发现许多自己原来没有发现的错误,而讨论和争议则进一步促使了问题的暴露。例如,对某个局部性小问题修改方法的讨论,可能发现与之有牵连的甚至能涉及到模块的功说明、模块间接口和系统总结构的大问题,导致对需求定义的重定义、重设计验证,大大改善了软件的质量。
(4)单元测试:单元测试集中在检查软件设计的最小单位-模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。由于模块规模小、功能单一、逻辑简单,测试人员有可能通过模块说明书和源程序,清楚地了解该模块的I/O条件和模块的逻辑结构,采用结构测试(白盒法)的用例,尽可能达到彻底测试,然后辅之以功能测试(黑盒法)的用例,使之对任何合理和不合理的输入都能鉴别和响应。高可靠性的模块是组成可靠系统的坚实基础
(5)集成测试:集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如数据穿过接口时可能丢失;一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。
2.测试的人员组织
为了保证软件的开发质量,软件测试应贯穿于软件定义与开发的整个过程。因此,对分析、设计和实现等各阶段所得到的结果,包括需求规格说明、设计规格说明及源程序都应进行软件测试。基于此,测试人员的组织也应是分阶段的。
(1)软件的设计和实现都是基于需求分析规格说明进行的。需求分析规格说明是否完整、正确、清晰是软件开发成败的关键。为了保证需求定义的质量,应对其进行严格的审查。
(2)设计评审:软件设计是将软件需求转换成软件表示的过程。主要描绘出系统结构、详细的处理过程和数据库模式。按照需求的规格说明对系统结构的合理性、处理过程的正确性进行评价,同时利用关系数据库的规范化理论对数据库模式进行审查。
由于实时嵌入式软件主要是对外部接口设备进行控制,而被送检的软件需要大量不同的硬件环境,在进行测试时,由于无法建立大量不同的接口设备的硬件仿真环境,每当执行输入输出指令时,程序便无法继续运行,因此,测试软件无法完整地覆盖整个程序的各个分支和语句。同时,被测试软件常常需要多个模块同时对某个外设进行共同测试,需要通过网络环境进行集中测试。
为了完成对各种实时嵌入式软件的测试工作,我们研制开发了基于网络的接口设备的软件仿真环境,使得用户程序运行时不再需要真正的接口硬件设备,而是与仿真软件进行通讯,交换数据,从而使得被测程序在脱离硬件的环境中顺利运行。本课题主要解决C语言和汇编语言混合编程中,把所有原来控制外设的输入输出指令都修改成与仿真软件进行通信的函数,同时,把原来由硬件触发的中断处理功能转由软件触发,以及通过网络环境完成多模块的集中测试。
本课题的意义在于建成一种通用的方法,使得不同软件开发的程序都能够使用这些功能模块与接口仿真软件进行通信,从而顺利地进行软件测试。
被测软件的运行环境绝大多数是基于DOS的,在仿真环境下进行测试时,由于原来的硬件环境不再存在,因此要求对被测软件进行相应的修改,使其在一个新的系统模型当中运行:原来与硬件进行I/O的指令,变成对仿真软件通讯动态链接库中函数的调用;由硬件触发的中断信号变成来自仿真软件的消息;更重要的是,原来由CPU负责调度的中断服务函数必须由新的模型来负责(因为不再有硬件中断信号),而由于DOS是一个单任务的操作系统,系统模型需要解决以下的问题:系统如何在程序运行的时刻检测到通过网络发过来的“中断信号”,如何中断当前的程序,去执行相应的中断服务函数,如何具有中断嵌套的功能。
基于以上要求,系统模型采用以下两种:
基于DOS的多任务调度系统模型
基于Windows多线程环境的系统模型
2.基于DOS环境的多任务调度模型
2.1实现原理
想要在DOS环境下实现多任务调度,必须使每个任务具有自己的堆栈。首先,栈用来实现任务切换,其次,它用来存贮任务的局部变量。
任务的切换是通过调用一个子程序来实现的,该子程序将堆栈指针由原来指向老任务的堆栈置为指向新任务的堆栈。程序返回时,新的任务指令指针(IP)就从栈中弹出。新任务就开始自动开始执行。
这个负责调度的子程序是通过时钟中断来定期触发的。当产生时钟中断时,需要做两件事情。首先,将标志(Flags)寄存器的内容压入栈中,其次,紧跟在指令指针(IP)之后,将CS(代码段)也压入栈中。最后,将中断服务子程序的段地址装入CS寄存器中,将偏址装入IP寄存器中.这样可以使ISR开始运行.中断返回时,CS,IP和Flags寄存器的内容自动弹出。为了实现任务的调度,新的时钟中断服务函数要完成两项工作。首先,它将除了栈指针(SP)和栈段(SS)寄存器之外的所有寄存器的值都存到栈中。(SP和SS的值存在另外的位置)。其次,它改变SS和SP寄存器的值,使它们指向另一个任务的堆栈。因此,当ISR返回时,新的任务的堆栈被弹出到各寄存器中,这使得机器的状态是针对新的任务的。由于IP中也是弹出的寄存器的值,因此新任务就开始执行。
在任务运行前,它必须按一定方式使堆栈初始化,这样使得当第一个时间片到来时,从栈中弹出的值能够使该任务从头开始运行。因此,任务的堆栈必须初始化并存放正确的寄存器值,同时指令指针也必须指向程序中的第一条指令。
2.2调度内核实现所用到的数据结构
interrupt类型
当说明一个函数为interrupt类型时,它告诉编译器自动保存所有寄存器(sp和ss除外)的值,并且IRET指令终止该函数。每当进入到interrupt函数时,执行下列指令:
pushax,pushbx,pushcx,
p
ushdx,pushes,pushds
pushsi,pushdi,pushbp
发生中断时,CPU自动将Flags,cs和IP寄存器压栈。因此,在interrupt函数入口处,堆栈如图2.2.1.2所示。我们将利用interrupt函数的栈的安排方式对要执行的任务的堆栈进行初始化。
Bp<-topofstack
DI
SI
DS
ES
DX
CX
BX
AX
IP
CS
PLAGS
任务中使用的寄存器的数据结构
typedefstructint_regs{
unsignedbp;
unsigneddi;
unsignedsi;
unsignedds;
unsignedes;
unsigneddx;
unsignedcx;
unsignedbx;
unsignedax;
unsignedip;
unsignedcs;
unsignedflags;
};
此结构严格按照interrupt函数入口处堆栈的结构定义,初始化时,将结构中的代码段(CS),指令指针(IP)设置成构成此任务的函数的段地址和偏移地址。
用于任务管理的数据结构
structtask_struct{
unsignedsp;
unsignedss;
unsignedchar*stck;
unsignedLastTask;
unsignedIntNum;
unsignedStatus;
}
当执行任务切换时,sp和ss保存当前栈指针和堆栈段地址,而任务调度程序将当前栈指针(_SP)和栈地址(_SS)设置成下一个将要执行的任务的栈指针和栈地址,当调度程序结束运行时,由于从栈中弹出的各个寄存器,包括代码段和指令指针都是指向新任务的,因此,新任务将自动运行,从而达到任务切换的目的。
2.3应用多任务调度功能实现对中断的仿真处理
由于被测试的用户源程序是工作在仿真环境下,无法接收硬件产生的中断信号从而自动执行相应的中断服务程序。因此,改编后的程序应该能够定期检查是否有从仿真软件发过来的中断信号,若有,则中断当前程序的执行,转入相应的中断服务函数执行。
因为用户的程序当中显式地设置中断向量,在改写用户的程序时,将每个中断服务函数入口都置于一个向量数组当中,此数组即为全局中断向量表,将任务号与相应的中断号一一对应。
当时钟中断触发任务调度程序时,调度程序首先检测由仿真软件发来的中断信号,如果有,则调度程序在当前运行的任务的数据结构中保存堆栈段段地址寄存器(_SS)、栈指针寄存器(_SP)、当前任务号,并将堆栈段段地址寄存器和栈指针寄存器设置成新的中断服务程序所在的任务的相应的值,使得当调度程序返回时,能够从新的任务开始运行。然后生成一个新的任务,在此任务当中调度对应于此中断号的中断服务程序这样就可以实现中断功能。
3.基于Windows多线程环境的系统模型
3.1实现原理
考虑部分由C语言编写的实时嵌入式程序经过适当的修改可以由VC编译后,在Windows环境中运行。因此可以利用Windows的多线程特性构造系统模型:把用户的主函数放在系统初始化时生成的一个主线程当中运行,同时,系统主函数监测由Socket端口发来的数据,如果是一个中断产生信号,系统主函数挂起当前正在执行的线程,新生成一个新的线程,并在新线程中执行相应的中断服务函数。
3.2系统的结构
由于CSocket类不能够由各个线程之间共享,而各个线程内部又要通过Socket端口接收和发送数据,因此应建立高效而又防止各线程之
当线程需要通过Socket接口收发数据时,首先检测/设置相应函数的信号量,若此资源不能使用,则线程被自动挂起。系统的主调函数负责轮询来自Socket接口的数据以及各个信号量资源,当资源可用时,唤醒相应的线程,完成其请求的操作。如果接收到中断产生信号,则生成新的线程,并挂起当前的线程,从而完成对中断请求的响应。
4.结束语
本文介绍了针对实时嵌入式软件的测试工具的研究与完善工作,根据不同的软件特点,
构造了两种系统模型。通过实际的使用,都达到了比较满意的结果。
这两种系统模型经过适当的修改,可以应用在其它语言编写的软件上,从而可以实现通用的模块功能。
参考文献
吕强杨季文等C语言的DOS系统程序设计清华大学出版社
李沐孙TURBOC常驻内存实用程序及窗口式软件编程技术北京科海
陈宗海基于C/S体系的工业过程仿真模型调试环境.计算机应用.1999,4
国际互联网的快速增长,使WEB技术对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在移植到互联网上,电子商务迅速增长。因此,电子商务应用系统的测试也变得十分重要,它对软件测试提出了新的挑战,要求采用新的测试方法展开软件测试工作。这种对应用系统的测试不但能检查是否满足设计的要求,还需要能测试系统每个层面是否正常,确保系统的整体性能、安全性和可用性满足需要。
一、典型系统结构
随着电子商务的兴起,Web方式的应用系统发展迅速,它将成为电子商务技术领域的主流。在电子商务应用系统中,目前普遍采用的是三层C/S结构,即表示层、业务层和数据层。这种结构使软件测试人员能采用“局部分层测试”和“系统整体测试”想结合的方法,对应用系统进行测试。即先对每一层进行独立的测试,再开展系统整体测试,这样更容易发现应用系统缺陷和错误。如果仅仅依赖系统测试,要确定存在问题的特定部件十分困难。
二、局部分层测试
1.表示层。测试表示层就是检查并应用程序的前端是否存在错误。本层次是应用系统的外表,因此,表示工作对建立一个健壮的、高质量的应用系统至关重要。
(1)内容测试。内容测试用来检验Web应用系统提供信息的正确性、准确性、相关型等人机界面元素,信息的正确性是指信息是可靠的还是误传的,例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确型是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用MicrosftWord的“拼音与语法检查”功能;信息的相关性是指是否在当前也面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中所谓“相关文章列表”。此外,还要检查字体类型、屏幕布局、色彩、图形分辨率及其他直接会影响最终用户体验的特性。
(2)Web站点结构。测试Web站点的结构是检查结构上存在的错误,发现无效的连接。链接测试可分为三个方面。首先,测试所有链接是否按指示的安阳确实链接到了该链接的也面;其次,测试所连接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
(3)用户环境。测试用户平台和浏览器。市场上有很多不同的操作系统平台,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容型问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能在会运行失败。此外,要测试浏览器。浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java、javascript、ActiveX、plug-ins或不同的HTML规格有不同的支持。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。操作系统(OS)和浏览器的组合非常多,不仅要测试每一个浏览器的配置,还要测试同一个浏览器的不同版本。
2.业务层。业务层测试的重点是发现应用系统的业务逻辑中的问题。测试业务逻辑层与测试单机程序非常类似,通过测试去检查应用系统是否满足系统性能方面的需求。
(1)性能测试。主要负载测试,即带负载情况下的响应时间和吞吐率。负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。此外,还要进行夜里测试。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。
(2)数据验证。测试从用户采集到的数据,通常是以表单形式。当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果表单只能接受指定的某些字符,测试时可以跳过这些字符,看系统是否会报错。如果Web应用系统使用Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上。
(3)业务测试。测试系统的业务处理过程的正确性,其中包括信用卡处理、电子邮件验证以及消费税计算等。电子商务系统必须在全部的时间里正确处理业务,无一例外。因此,要通过测试确保业务处理的正确性。
3.数据层。数据层的测试,主要是指对应系统用于储存和获取信息的数据库管理系统的测试。在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的Web应用系统中,一般情况下,注重数据库操作的响应时间、数据存储的完整和数据库系统的容错。
(1)响应时间。应量化数据操作语言(DML,包括结构化查询语言SQL中INSERT、UPDATE和DELETE)、查询(SELECT)及事物的完成时间。电子商务系统运行速度缓慢会引起客户不满。因此,我们应该积极确保网站能够及时响应用户的请求和操作。在测试数据层的响应时间时,我们要确保单个的数据操作能够快速完成,不至于阻塞其他操作。
(2)数据完整性。验证数据存储适当且正确。所谓数据完整性测试,即在数据库表中发现不准确数据的过程。这项测试与数据确认有所不同,后者在测试业务层时进行。数据确认测试试图发现数据收集中的错误,而数据完整性测试是尽力要在数据存储的方式中发现问题。
(3)容错性和可恢复性。最大化平均故障间隔时间(MTBF),最小平均故障恢复时间(MTTR)。一般来说,数据库操作的一个目标是最大化MTBF,最小化MTTR。
数据库的恢复具有重要意义。可恢复性测试的目标是设计出数据库无法恢复的场景出来。在某些时间,数据库会崩溃,因此须制订一些规程以便快速恢复。恢复计划开始于获得有效的备份,在进行可恢复性测试时,如果无法恢复数据库,那么需要修改备份策略。
三、系统整体测试
1.整体界面。整体界面是整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,能否找到信息所在地方,整个Web应用系统的设计风格的总体效果。
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
2.安全性。安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登录的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登录后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登录才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
3.导航。导航描述了用户在一个页面内操作的方式。在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
导航测试就是检查应用系统的页面结构、导航、菜单、连接的正确性。确保用户知道Web应用系统里面的内容,以及内容所在位置。
四、结束语
在未来电子商务领域,Web软件的测试是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器的显示是否合适。因此,我们必须为测试复杂的基于Web的系统不断研究新的方法,满足软件开发人员的需要。
参考文献:
[1]AnnScblosser.TheexperienceandWebsitesuccess[J].TheE_businessReview,2003,41(6):20
目前,全国有500余所本科院校开设计算机专业,对一所像中国计量学院样的普通高校而言,如何在这种庞大的专业规模和激烈的专业竞争中办好自己的专业,专业特色是一个重要的立足点。不同类型高校计算机专业的人才培养应当具有不同的定位,人才培养模式要充分依托各自学校的办学优势体现专业特色。
中国计量学院是我国质量监督检验检疫行业唯一的本科院校,学校在29年的办学过程中,逐步确立了“计量立校、标准立人、质量立业”的办学理念,形成了“培养具有牢固质量观念、明确标准意识和较强计量能力的高素质人才”的人才培养和在计量、质量、检测、标准、检验检疫等方面具有鲜明的办学特色。
中国计量学院计算机专业面对目前国内软件测试人才失衡及培养渠道缺失现状,针对软件测试人才的职业素质要求,依托学校计量测试的办学优势,以培养社会急需的软件质量与测试人才市场为目标,研究探索了具有鲜明计量特色的“软件质量与测试平台+模块”的计算机专业应用型人才培养模式和课程结构与体系,构建了由实验教学、软件度量与测试专业技能训练和校内外软件质量与测试实践基地的计量特色实践教学体系,培养了z生软件质量意识和积极探索、勇于创新的学习动机。
1计量学与软件测试间的关系
计量学(metrology),简称计量。随着人类文明和科学技术水平的发展,计量学的内涵与外延在不断变化。就内涵而言,计量学曾被称为度量衡学和权度学,一般指关于测量的科学,具体指以技术和法制手段保证量值准确可靠、单位统一的测量,此处的“量”主要是有形的、物化的量,可通过“测”来获取。而广义的计量学,则突破“测”的手段来获取无形的量[1]。
在传统计量时期,社会经济活动较简单,计量主体是度量衡和时间度量,随着近现代数学、原子物理和量子物理学的发展,现代计量的对象和范围不断拓展,从一般物理量扩展到工程量、化学量和生物量等,甚至还包含了现代社会的商贸、医疗、贸易,出现了形态计量学、经济计量学、文献计量学、情报计量学、网络计量学。计量学已经涉及自然科学、人文社会科学的各方面[1]。
科学仪器是计量的重要组成部分,一流科学研究往往离不开一流的科学仪器。随着计算机技术的飞速发展,“计算机软件就是仪器”、“计算机软件就是设备”早已成为的事实。20世纪90年代以来,计算机应用领域不断拓宽,软件应用的复杂性和规模不断扩大,IEEE、ANSI和ISO等一系列关于软件质量控制和测试的国际标准均相继问世,使软件质量和软件测试得到了普遍的重视。人们认识到软件测试不单纯是发现错误的过程,而且包含软件质量评价的内容,是软件质量保证的重要手段。2004年ISO和IEC的第一联合技术委员会(ISO/IEC/JTCl)提出的软件工程标准术语中给软件测试下的定义是:软件测试是为评价、改进软件产品质量、标识软件产品缺陷和问题而进行的活动。即软件测试并非传统意义上产品交付前单一的“找错”过程,而是贯穿于软件生产过程的始终,是一个科学的质量控制过程[2]。因此可以说传统计量测试技术与计算机技术的交叉与融合是实现软件测试技术的基础,软件测试技术是传统计量测试技术的延伸与拓展,是现代计量技术的一个重要分支。传统的计量测试也是测定某个系统的性能是否满足需求,或弄清预期结果与实际结果之间的差别。软件测试技术与传统计量测试技术的主要区别在于被测对象不同[3].
2具有计量特色的软件测试应用型人才需求分析
何谓具有计量特色的软件测试应用型人才?笔者认为所谓具有计量特色的软件质量测试应用型人才是指“具有牢固软件质量观念、明确计量标准意识和较强软件质量和测试能力的高素质应用人才”。其特点是对软件度量、标准、质量方面的问题非常敏感、理解非常准确、工作上手非常快。
软件质量度量是对影响软件质量的属性所进行的定量测量,其实现的基础是软件测试,测试作为一种通用的度量方法,其重要作用在于软件质量保证、功能的验证和确认,以及产品可靠性的评估等。随着经济全球化的进一步推进,中国软件行业面临更加广阔的国际市场。经过几年来的市场竞争,业内人士已清醒地认识到:“优质的产品、一流的服务、良好的信誉”是软件产业发展壮大的基础。在注重软件开发过程规范化的同时,通过测试的手段保证软件产品的质量,贯穿于软件产品研发周期内每一个环节中,在整个软件开发的系统工程中占据着相当大的比重[4]。
目前,我国软件业服务范围广泛,从电子消费到医疗航天,已渗透进社会的各个领域。据了解,随着软件行业产业结构的调整,各大软件公司对国内软件市场、软件外包业务的争夺愈演愈烈,软件质量不得到改善,我国软件行业就无法和美、日、德、英、法等软件大国竞争。然而由于我国软件企业对软件测试认识较晚,现阶段大多数软件企业中测试人员数量还不足开发人员的五分之一,远远落后于国外1:1的比例,且具备5年以上行业经验的资深软件测试工程师不超过两万人。据相关数据统计,目前我国软件测试人才缺口已达30万人。
国内软件测试人才的来源主要有三方面:一是以前做软件开发转行的技术人员;二是来自计算机专业的高等学院毕业生;三是经过一定的培训,具有很强的实战经验的专业人员。据51Testing调研数据显示,目前国内软件测试从业人员的学历集中在本科,其比例为70%,大专学历次之,其比例为23%,高学历者(包括硕士、博士)占6%,大专以下的有1%。因此高等学院计算机专业本科毕业生将是我国今后软件测试人才的主要来源。
3具有计量特色的软件测试应用型人才的培养
(1)培养目标的定位
高等学校计算机专业人才培养目标的确立依据有二:一是学校的办学特色和自身的专业条件;二是社会对专业人才的需求。在专业建设和人才培养目标的定位过程中,我们认识到近年来随着大学计算机专业在规模上蓬勃发展,各高校均面临着专业特色不明显以及教育质量需要提高等问题。认为在新形势下,只有以特色立校,扬长避短,才能以特色强校,以特色取胜,才能凸现学校的品牌与地位。
中国计量学院地处IT技术发展非常迅猛的浙江省,是我国质量监督检验检疫行业唯一的本科院校,其办学特色是计量、质量、检测、标准、检验检疫等方面。因此我们的人才培养目标的定位是立足于浙江省和国家的需求,依托学校计量测试的办学优势,根据国内外在软件测试和质量控制创新教育方面研究的现状和发展趋势、新形式下社会对软件测试和质量控制的计算机专业人才的需求,特别是对软件测试和质量控制专业人才在应用动手创新能力和综合素质方面的需求,在我们专业实力、专业水平和专业学生的知识能力基础上,结合计量学院在计量、质量、检测、标准、检验检疫等方面的办学特色,突出计量测试特色,培养具有鲜明的计量特色的计算机专业人才。
具有鲜明的计量测试特色计算机专业人才培养目标,一方面可以提高我校计算机专业在培养人才和为社会发展服务等方面的创造力、在招生、就业,争取科研课题方面的竞争力和对浙江省和国家的软件测试和质量控制领域的技术发展和进步的贡献力,另一方面也有助于提高我校计算机专业的水平和实力,争取更多的社会资源和企业支持。
(2)课程体系和计量特色实践教学体系
根据教育部计算机科学与技术专业教学指导分委员会在《中国计算机本科专业发展战略研究报告》中提出的以“培养规格分类”为核心思想的计算机专业发展的要求,我们的教学计划和培养方案以应用型为基础,整个课程体系设计首先强调计算机科学和应用工程基础,但专业课程的重点放在现代软件质量工程和软件测试理论和软件测试新技术方面。培养计划强调软件测试领域的应用实用型特点,重点加强软件测试实践性课程,培养学生的独立进行软件测试的能力。课程体系分为以下几个层次实现:
①专业基础:包括计算机专业引导性课程和数学物理等方面的基础课程,如程序设计基础、数据结构与算法、计算机组成等,重点培养学生对计算机基础的理解和掌握。
②专业课:包括计算机专业自身的核心课程,如数据库原理、操作系统、计算机网络、软件工程等传统的计算机学科核心课程,同时软件测试与质量控制的核心类课程也是教学的重点。在高年级专业的专业方向学习阶段,采用专业方向平台教学手段,学生可根据自己的专业兴趣、发展方向、就业趋向等选择合适的平台课程进行学习。根据社会对计算机专业人才需求和自身专业特点,设置软件测试与应用方向平台、网络工程及应用方向平台、嵌入式系统设计及应用方向平台等三个专业方向平台。在专业方向平台课程中,除侧重点不同外,都具有计量测试特色,如软件测试与应用方向平台包含软件质量工程、软件测试技术、软件能力成熟度模型(CMM)等,嵌入式系统方向平台包含软件质量工程和嵌入式系统测试技术等。
③选修课:与质量测试领域、职业发展素质和一般工程方法相关的选修课。如计量学概论、产品质量工程概论、检测技术与仪器等,以增强学生的质量测试意识和职业素养。另外软件的测试的行业或领域非常强,掌握领域专业知识也是非常关键,我们通过聘请相关行业或领域的专家以技术讲座方式使学生初步掌握相关行业或领域知识,以避免学生缺乏领域知识。
④实践教学:根据软件测试人才能力素质的要求,我们设置了相应的实践教学体系,包括课程实验、课程设计和专业实践三个环节。课程实验主要让学生在真实或模拟的环境中进行大量操作、实践,熟悉各种测试软件和测试工具;课程设计通过安排小型的软件测试项目,让学生运用测试工具进行测试,锻炼学生的综合分析能力和综合运用知识的能力;专业实践结合毕业设计,一方面安排学生走出学校,参加实际的软件测试项目。另一方面我们专门设计针对电信/互联网服务和典型行业(金融、银行、保险等)等应用领域的软件测试和质量控制的实践项目,并在实践过程中模拟企业的质量管理体系,训练学生项目管理、团队合作、学习创新的能力。
另外,我们还与知名软件测试职业培训机构合作,建设校内培训基地,充分利用校内的实验条件、生源条件;培训机构的师资、技术、资金资源。通过合作办学,建立良好的测试环境(各种流行测试工具),引入科学、系统的课程体系,利用双方的互补资源优势,相互学习、协作、促进,实现双赢。同时与省内软件企业合作,建立校外实习、实训基地,学生在教师和企业专家的指导下,参与实际测试项目。与第三方测试机构合作,承接了力所能及的测试项目,实施了大学生科研计划。
(3)计算机学科和计量测试相关学科知识的相互渗透和融通
在软件质量测试应用型人才培养过程中,为了体现计量、质量、检测、标准、检验检疫等方面的办学特色,我们将“明确标准、注重量化、追求质量”渗透于人才培养的过程中,努力达到“标准先进、计量精确、质量可靠”的人才培养目标,突出计量测试特色,在研究计算机学科和计量测试相关学科各自特点基础上,提出了计量测试大学科意识,实现了两学科知识的相互渗透和融通。以选修课的形式在计算机专业开设如计量学概论、产品质量工程概论、检测技术与仪器、技术监督法律法规、质量管理体系认证、标准化概论等课程,将计量测试相关学科基础知识的渗透和融通到计算机学科,使计算机专业学生能建立起标准意识、质量意识和法制意识,对计量、标准、质量方面的问题更敏感、理解更到位、工作上手更快。近三年来,学生共有50余项与专业特色相关的专利申请被受理,参与的学生人数和专利项目申请数均列省属高校前茅。学生在各级各类学科性竞赛中所获得的奖项多数也与专业特色密切相关。
4结束语
中国计量学院属于行业性较强的学校,计量学本身涉及自然科学、人文社会科学和工程领域等多个方面,由计量派生出来的相关学科、领域和方向也在不断增加。在计量这个大框架下建立我们计算机专业特色,是我们培养能够适应21世纪科技、经济和社会发展需要,具有良好质量意识和软件测试技能的应用型人才的必然选择,开展具有计量特色的软件质量测试应用型人才的培养模式的研究是迫切的现实需要,这一能够满足国家对专业人才的需求,培养社会急需的软件度量与测试人才,也更能提高我校计算机专业在培养人才和为社会发展服务等方面的创造力和竞争力,也有助于提高我校计算机专业的水平和实力,争取更多的社会资源和企业支持。
参考文献
[1]林建忠.现代计量工程教育模式探索[J].高等工程教育研究,2007,(6):78-82.
1、1变电站管理
变电站管理功能按照不同电压等级、间隔名称,分层次多级目录管理若干装置。可新建、打开和关闭变电站工程;支持在人机界面中输入装置地址发起连接请求创建装置;支持装置重命名、排序、复制、粘帖和导入导出等操作。以层次树的资源管理器方式展示变电站结构。装置分离线和在线两种状态,离线模式下可进行数据分析、离线定值设置、主画面编辑等操作,在线模式下可进行程序维护、状态浏览、数据归档收集等操作。
1、2装置程序维护保护测控装置调试软件设计与实现上传配置文件、日志文件等文本。控制方下发需要上装的文件名,监视方打开文件,并分段上传数据,到达文件尾部后给出结束帧标记,控制方将数据存储到文件。上装是下载的反向过程。在程序运行调试过程中,往往需要通过调试相关变量进行状态诊断。在调试上位机程序时,可以使用IDE或gdb等进入调试状态,设置断点并查看变量值。嵌入式装置在运行状态下,监视相关变量时不能随意切换到调试状态,而是将调试变量作为一个实时响应的处理线程。通过调试变量协议,控制方下发需要调试的变量名,装置侧获取相关变量的地址信息和类型后,访问变量地址,读取数据,周期上送变量值,控制方显示实际值。调试变量的关键步骤是获取变量的地址,全局变量可以通过分析编译器形成的map文件获取,对于动态分配的内存,则需通过辅助手段实现。为此制定相关嵌入式程序编程规范,用结构体元件来封装各功能模块数据。元件结构体的内存是动态分配的,编译器在编译时没有为其分配静态地址,map文件里没有这些变量的地址信息。需要在装置启动阶段才能得到变量地址。对于动态分配内存的结构体变量,装置侧提供注册接口,可记录首地址。调试软件根据输入的元件结构体类型名、成员变量名、文件存放路径和CPU字节对齐等信息,对相关的文件进行词法分析和语法分析,进行宏表达式求值,计算出变量在结构体中的偏移量,并下发相对偏移信息。装置侧程序由结构体首地址+变量的相对偏移地址得到变量的真正地址。调试人员只需输入层次实例名,不需手工计算变量地址,调试软件在计算相对地址时已考虑了各种CPU的字长对齐设置。调试变量的流程如图3所示。可通过查询内存的功能实现一次查看连续区域内存数据。控制方可下发查询起始绝对地址,监视方一次回复若干个字节的内存数据。也支持通过下发变量名的方式查询内存。
1、3在线浏览操作在线浏览的通信协议基于继电保护国际标准规约IEC60870-5-103协议[6],可以实现不同厂家的设备、后台的交互通信,减少了私有协议转换过程,方便运行管理和维护。其协议结构如图4所示。类结构图如图5所示。在线浏览操作功能包括:装置模拟量开关量实时显示、装置定值整定和比较、可编程逻辑编辑和状态显示、事件查看、动作报告显示、波形文件上传和分析、HMI遥控模拟、信号复归等。通过在线浏览模块,可实时显示装置的状态数据、参看监视报文、分析跳闸逻辑、查看并设置定值、开关分合遥控等操作。其中涉及到遥控、定值整定、报告清除等关键操作,需要输入用户名和密码,进行权限校验。以定值设置整定为例,其报文交互流程如图6所示。
1、4一键归档分析通过一键归档操作,批量上装日志文件、配置文件等文件,自动截取装置当前的断面数据(包括装置模拟量、状态量、定值、报告、用于问题诊断的特定变量等内容),将各分立文件压缩存储为一个数据包。当现场运行的装置出现异常或跳闸动作时,通过一键归档,可自动打包相关数据,并以邮件方式发送到指定邮箱,装置研发人员可离线打开查看分析。
2软件风格设计
2、1基于软件管家模式由于软件功能复杂,采用了模块化设计思想,进行分层、分模块设计,以去除界面、数据、接口之间具体耦合,方便扩充。调试软件由引导主进程和按照功能划分的子进程组成。如图7所示,引导主进程是安装软件的启动程序,提供变电站资源管理器功能,在左侧树形区域点击装置节点时,会在右侧按照模块划分,分类显示相关功能。点击功能图标,传入形参,启动独立的子进程。通过组件化的设计思路,可确保增加一个新的模块时,不会影响已经稳定的模块。基于子进程的软件管家模式,也减少了人机界面的操作复杂度,用户在一个时间段内只需专注于单一图4在线浏览报文协议结构图5在线状态浏览类结构图图3调试变量流程图2《工业控制计算机》2014年第27卷第11期的功能,并可快捷地切换到另一个功能的操作界面。
2、2类浏览器界面风格当各个子进程启动后,为避免顶层窗体过多,采用类似Chrome的界面风格,用标签页管理子进程的界面。对各子进程的界面、颜色进行了统一设计,基于QT-CSS技术,设计了统一的界面风格库,并提供风格设置接口,可设置标签页QTabWid-get、层次树QListTreeWidget、停靠栏QDockWidget等控件的边框、缩进、标题、字体、颜色等内容。类浏览器的界面规范使不同人员开发的子进程在风格上高度统一。
3软件分层设计
除按照主进程-子进程的模块化设计外,单个通信子进程按照分层原则设计,共分为三层,最底层为数据收发层,中间层为数据处理层,最上层为展示层。如图8所示:图8软件分层结构数据收发层的功能是负责从装置接收报文并将数据处理层的报文发送到装置。针对不同类型的装置,该层需要支持串口通信、以太网链路层通信与以太网传输层通信三种通信方式。同时为了保证通信状态的可靠性,数据收发层还支持出错重传及超时重传机制。其中网络通信采用ACE中间件实现,串口通信采用Qt的QExtSearialPort实现。数据处理层是整个系统的主体部分,主要负责报文解析,报文生成,提供接口供展示层调用,实现了业务与操作接口的分离。展示层提供数据的展示与用户交互功能,不涉及具体的业务流程处理。针对不同的数据,展示层提供二维表格、层次树等不同的展示方式,采用Qt的Model-View模式,可高效快速显示刷新数据。展示层还提供个性化的右键菜单、按钮与工具栏。当用户点击某个菜单或按钮时,展示层会调用数据处理层的对应接口,对用户的操作进行处理。
4结果
实现与分析软件主界面如图9所示:左侧为资源管理器,用来管理变电站,变电站下支持新建多个装置。右侧为工作区,用来展示当前活动装置支持的功能。图9软件主界面点击工作区某个功能按钮,主进程将启动相应的子进程。以在线浏览功能为例,图10所示为装置报告查看界面。
前言
现阶段,计算机得到人类社会的广泛应用,在这种情况下,人们在对其进行充分运用的过程中,对其软件安全性的要求越来越高,然而现阶段这一问题多种多样,如软件动态破译问题、安全漏洞和质量问题及非法复制问题等,要想利用计算机促进人类社会的不断进步,就应当有针对性的对这些问题进行解决,提高使用者对计算机的信用度。在制定计算机软件防护策略的过程中,可以从技术层面、组织管理层面等分别进行提高。
1 计算机软件概述
1.1 含义
计算机在日常工作中,要想得到正常的系统运行,需要内在程序及文档共同发挥作用而进行,而这些文档和程序的总称就是软件。它们实际上拥有不一样的含义,程序指的是相关数码编制,具有系统性和特定性等特点。而文档指的是能够帮助使用者更好的熟悉和掌握计算机程序的软件,它能够对相应的数据资料进行详细的说明。这两种软件在计算机中存在不同的功能,程序是计算机运行使用的基础,是计算机的必备软件,而计算机在正常运行状态下,是可以脱离文档的。
1.2 分类
而计算机软件的分类,从整体上来看有两种,即系统软件和应用软件。首先,系统软件。计算机要想维持正常的运行,是绝对离不开不同的操作系统,这就是系统软件,其功能是管理及调节不同的硬件,促使其在计算机系统中相互协作,正常运行。这种软件是由基础操作工具和操作系统组合而成,如软件连接、驱动管理等。可以说,计算机的这一组成是促使使用者、计算机及其内部操作系统紧密相连的基础,促使三者在运行过程中构建为统一整体,在这一整体运行中是可以忽略掉其内部硬件的运行。现阶段市场上主要的系统软件宝库UNIX、Windows等。
其次,应用软件。这类型软件在使用过程中以达到某种用途为目的,通常状况下它以特定的形式展现自身的功能,如图像浏览器等,这种功能表现相对单一;同时还有系统功能的展现,如Office办公软件等,同时还包括人们熟知的数据库管理系统,这一软件系统的组成包含几个独立程序。现阶段人类开发出来了多种应用软件,最常使用的有工具软件、游戏和管理软件等。
2 计算机网络信息安全的含义
在信息技术飞速发展的背景下,网络技术逐渐取得进步,在一定程度上极大的完善了技术机的网络体系。但是计算机网络的构建单纯依靠研发相应管理空间或者促使硬件设备简单实现对接是无法完成的,这是因为该网络的构建最主要的目标是能够为使用者提供更加完善的服务,这就要求网络中能够容纳大量的使用者信息和数据,同时能够更加快捷的促进资源共享。这些信息和资源,一旦发生泄漏将会给使用者带来极大的损失。因此在计算机使用越来越普及的状态下,构建计算机网络信息安全成为人们广泛关注的话题。而要想实现真正意义上的安全,最大限度的保护用户信息,现阶段信息技术的发展,其最主要的工作内容就是实现软件安全。
现阶段,针对计算机网络的信息安全问题,IOS将其定义为要充分采取有效措施来保护网络内计算机的硬件、软件、使用者信息和数据等,有效防止因意外、恶意操作,造成的信息资源泄露或篡改,只有做到这一点,才能够促使互联网在长时间内为人们进行服务的过程中,始终保持着高度的稳定性和安全性,从而为人类带来更加快捷、便利的生活。
计算机的网络安全包含物理和逻辑安全两个方面。前者指的是应用物理保护措施促使计算机硬件及网络连接部位始终处于安全工作状态,减少因意外导致的数据或信息丢失;后者指的是计算机网络系统在日常工作中应处于整体的维护和正常工作状态下,这样一来能够极大提高整个系统的完整性,促使信息泄露的可能大大降低。在这种状况下,安全性在软件当中的体现成为最重要的因素之一,这是因为计算机软件在日常工作状况中,不但可以对别人实施攻击也可以有效的提高自身安全性,起到保护自己的作用。
3 计算机软件安全问题
3.1 对软件的动态破译
在运行过程中,安全问题对软件的威胁就是计算机软件安全,在解决这一问题的过程中,首先应当有效防护软件,保证其运行过程中没有被人为的滥用、破解及随意修改等现象,这样一来,就能够确保其工作状态中充分发挥自身的功能。从技术角度来观察这一问题,就要构建一个稳定平台,包含所有系统硬件,从而实现软件的正常使用;同时还应当加强防护措施,严禁跟踪事件的发生,此时就应当对监测、干扰及随意修改软件的行为进行严格控制。
计算机软件自产生之日起,就面临着各种跟踪及控制的问题,一些掌握计算机技术的人员能够直接修改和读写计算机中的不同格式文件,在将其源代码进行窃取之后,会对计算机的密钥和防复制能力进行破坏,这样一来就能够动态破译任何一个软件,不法分子会在接下来的工作中将一些数据公开或非法买卖。
计算机中的跟踪调试软件具有强大的动态跟踪功能,现阶段该技术能够有效的进行跟踪程序并保证其逐条运行,其中主要使用的是断电中断和单步中断两种技术,分别以静态和动态跟踪两种形式进行。在静态跟踪当中,可以对反编译工具进行充分的运用,在此基础上能够实现源代码的产生,从而促使分析工作更加便利;动态跟踪当中,是对调试工具的充分运用,这样一来能够在某处促使程序得到中断,从而实现其单步执行,达到跟踪的效果。从以上两点可以看出,对软件的动态破译是计算机软件的一个重要安全问题[1]。
3.2 安全漏洞问题
开发软件是一项复杂而系统的工作,其中包含了大量的限制性因素,这就导致现阶段计算机中所使用的软件或多或少都会存在一定程度上的漏洞,严重威胁软件的安全,但是这一现象即使是现阶段世界顶级的计算机软件开发公司也无法对其进行全部避免。也就是说,日常工作及生活过程中,计算机软件始终都存在安全漏洞,有些时候无法得到安全运行。近年来,多发软件安全事件当中,多数都是由于安全漏洞引起的,即使多数使用者会将杀毒软件和防火墙等安装于计算机当中,但是这一问题始终无法被完全杜绝,这是因为当防护软件不断发展的过程中,那些专门实施软件破坏的技术工作者也在不断的摸索,也就是人们常说的“网络高手”。同时,当使用者在计算机当中安装防漏洞软件时,很可能导致更多软件漏洞的出现[2]。
3.3 非法复制问题
在时代的不断进步中,知识密集型产品被大量研发,计算机就属于这一类型,这一特点导致大量的人力和物力将被应用在对计算机软件进行研发和使用的过程中。在计算机软件的研发中,很多硬件在使用过程中所创造的经济效益甚至远远低于其研发成本。然而,现阶段非法复制问题却严重威胁着大量的计算机软件。具调查表明,近年来,每年都有非法盗版的现象发生,这些盗版软件导致一百三十多亿美元的损失出现,并且这一损失数据每年都在上升。现阶段,世界上各国都开始对非法盗版及复制问题加以高度的重视,并对该现象造成的法律、税收等问题进行了一定程度的解决,而这一过程是非常艰难的,在我国这种发展中国家的状态下,现阶段并没有相对完善的管理措施,我国社会受到了非法复制问题的严重影响。
4 计算机软件防护策略
计算机软件在研发的过程中,不仅需要耗费大量的人力和物力,同时其所研制出来的产品属于知识密集型,从这两个角度来看,是值得人们对其给予高度尊重的。现阶段在加强计算机软件防护的过程中,人们不仅可以从法律的角度对其进行严格而强行的约束和管理,从技术层面和组织管理层面加强防护措施具有重要意义,因为这样一来能够更有效的制约软件的动态破译、安全漏洞和非法复制等问题。
4.1 技术层面的提高
技术层面的提高可以从非法复制的防止开始。现阶段我国在保护软件的过程中还没有足够大的力度,开发商所采取的措施是加密。然而为了追求经济效益,大部分已经被破解的软件仍然没有停止使用,而它所带来的危害就是会将多数捆绑后台程序进行启动,来威胁用户数据。这样一来,相关行业领域应及时加强技术研究,有效研制出防止非法复制出现的软件,促使其在对计算机软件进行充分保护的同时能够对计算机软件产生较小的威胁。同时也可以从对用户数据进行加强保护的方面入手,加强密钥的研究[3]。
在对反跟踪技术进行研究的过程中,由于该技术是对调试工具进行充分利用,那么就应当研发相关技术防止该工具被非法利用。现阶段计算机的软件系统当中,都具有一定的结构特点,对于CPU的严重依赖,导致一旦该软件被监控,就会泄漏大量的信息,在这种情况下,应及时将该技术中的安全漏洞进行消除,同时对反跟踪技术进行完善,最大限度的实现对软件的保护。
4.2 组织管理层面上的提高
计算机软件防护策略中,国家应充分发挥管理职能,不仅要构建专门的单位或部门,还应当对软件开发商进行严格的管理,这样一来,就能够保证软件从研发之日起一直到被使用者进行使用,都能够受到严格的监督及管理,从而有效的防止非法复制问题。
相关部门在加强组织管理的过程中,专业的软件安全监督机构的设立是非常必要的,以专题小组的形式进行非法复制和动态跟踪,能够极大的提高打击力度,同时还应当提高对使用者使用过程的管理,严格限制软件的拷贝和移植等[4]。
4.3 防火墙技术的应用
保护计算机软件过程中,首要工作内容就是对专业杀毒软件的应用,同时值得注意的是,另外一个关键技术措施就是对防火墙技术的应用。该技术使用者在应用电脑访问相关网络时,电脑内部网络有时会受到外部网络的不正当攻击,防火墙技术的有效应用,最显著的效果就是能够对外部网络不必要的攻击进行预防和阻止,促使电脑中相关软件免受威胁,从而始终处于正常运行状态。可以说系统内部是否能够稳定运行是防火墙正常工作的重要内容。当电脑内部网络被部分用户访问时,防火墙的功能是始终维护自身系统的正常运行;当电脑内部网络被非法访问时,防火墙的功能是对其进行有效拦截。现阶段,世界上研发出来的防火墙技术具有较高的稳定性和可靠性,因此得到了较广泛的应用,黑客入侵状况逐渐减少,安全性始终存在于电脑软件系统网络当中。
4.4 加强硬件系统安全防护
在维护计算机系统安全的过程中,对其硬件系统进行加强防护具有重要意义。使用者在日常工作和生活中对电脑和网络的使用,需要记忆硬件系统高度的重视。这是因为,硬件系统一旦发生安全威胁将会从两个方面进行,即物理安全和设置安全。前者指的是机柜或交换机等物理设备发生安全问题,这需要使用者在日常工作中提高管理和维护力度,促使电脑免受外力的影响而发生破坏;后者指的是有效设置设备,硬件受到外来入侵的几率就会大大降低。
4.5 数据加密技术的应用
在实施计算机软件安全防护策略的过程中,现阶段最后的防御手段就是对数据加密技术的充分应用。该技术在使用过程中能够有效的促使一个网络系统始终处于安全状况之下,同时在针对部分重要而机密性的信息和数据进行保护时,这一手段也是最有效的方法。要想有效处理这一问题,使用者可以对相关文件进行加密,使用密钥,文件经过加密后,会形成某列无法及时识别的代码,这样一来,只有熟知代码的人员才能够在输入密码以后对其进行访问,也才能够清楚的看见文件的真实内容。在这种情况下,数据加密技术的有效应用能够实现对计算机软件的有效管理和保护。
5 结束语
当今时代是信息技术时代,人们在对计算机进行充分运用的过程中应注重对其软件安全问题的研究,从而提高使用者使用过程中的安全性。现阶段软件安全问题最严重的有软件动态破译问题、安全漏洞及非法复制等问题,在对其进行解决的过程中,首先要加强技术研究,通过提高技术水平来对其进行有效控制,还可以提高管理力度,同时防火墙技术、硬件系统的保护及数据加密技术的应用都能够促使计算机软件得到安全防护,现阶段促使相关部门能够有针对性的对各种问题进行加强解决同样具有重要意义。
参考文献
[1]于翔.扬州智能电网信息平台的安全防护研究[D].华北电力大学,2012.
[2]姚轶敏.校园网不安全信息检测系统的设计与实现[D].苏州大学,2010.
[3]吴塍勤.对计算机软件安全问题的分析及其防御策略[J].电脑编程技巧与维护,2013,2:87-88+109.
[4]陈宏,朱秀娟.计算机软件安全问题的分析及其防御措施研究[J].河南科技,2014,1:5+15.
[5]张建宏.基于复杂网络的计算机病毒传播模型及其并行计算研究[D].国防科学技术大学,2006.
[6]熊雪波.计算机软件安全问题的分析及其防御措施研究[J].电子技术与软件工程,2014,22:231.
[7]刘涛.试论对计算机网络信息和网络安全及其防护策略[J].信息与电脑(理论版),2012,9:2-3.
中图分类号:TP434文献标识码:A文章编号:1672-7800(2012)010-0200-02
基金项目:铜仁学院2011年教学改革项目(2011)
作者简介:蒲天银(1974-),男,硕士,铜仁学院计算机科学系副教授,研究方向为项目管理、信息安全;饶正婵(1976-),女,硕士,铜仁学院计算机应用研究所讲师,研究方向为项目管理、数据挖掘。
0引言
当前,软件工程作为一个相对年轻的独立学科,在高校受到越来越多的关注,不仅如此,软件工程作为一种产业已成为软件发展的关键技术。因此,作为一名当代大学生,想要成为合格的信息技术人才,掌握一定的软件工程新技术、新方法是必不可少的。
随着现代计算机技术的飞速发展,软件业也得到了很快的提高,为跟上世界信息技术发展的步伐,从20世纪80年代起,我国大多高校在计算机科学与技术专业人才培养方案中开设了软件工程基础,此门课程一般安排在三年级进行,课程的开设对学生在大学四年的软件理论掌握中取得了不错的效果。但纵观近几年来高校的毕业设计可以看出,在实践性教学和教学效果检验等方面还存在着不少问题。课程教学中从教材的选用上看,重理论轻实践的现象比较突出,学生毕业后往往通过要用人单位长时间培训后才能适应岗位的要求,使得高校教育与社会的实际需求的脱节;造成了资源的严重浪费。
高校培养人才的目标是以社会需求为导向,计算机专业人才的培养也不过如此,学校的教育教学应该围绕这个导向定位来组织教学内容和配备教学资源。随着软件工程技术的发展,软件工程领域的教学内容不断丰富,教育教学手段日新月异,教学改革已势在必行。
1软件工程教学的现状概述
在计算机科学与技术本科专业的课程体系中,软件工程作为一门基础课程来开设,很多高校选择教材均为由清华大学出版社出版、张海藩教授编著的《软件工程导论》。教师在课程教学中,一般采用讲授与实训相结合的教学方法,即课堂上由教师讲授理论、原理,实训时由学生动手设计一个项目。由于该教材以理论内容为主,因此,该课程的教学存在诸多的问题,具体表现在:
(1)从教学内容上看,由于教材的局限性,目前的软件工程教学是以传统的教学方法为主,实验内容以生命周期法体系为主要内容,这样容易造成学生的学习时效性差,跟不上信息产业技术发展的步伐,大多新技术还没有传授给学生,特别是近几年新发展起来的构件技术、234建模技术。传统教学方式在课堂上主要讲授理论知识,学习者似乎能听懂,可听完后大部分学生还是似懂非懂。当学生在实训中进行设计时却不知从何入手,该运用什么知识、哪种方法。
(2)实践环节少且不够理想。总体来讲,目前在软件工程实训环节可供该课程选用的合适的项目不多,所以学生做实验所达到的效果与教学要求存在一定的差距。一方面是学生不能把理论知识有效地运用到实践活动中;另一方面学生没有真正掌握基础理论及运用理论的技能和方法。所以,在进行毕业论文设计时,不能将软件工程的理论充分运用到他们的设计实践中去,导致很多学生选题时无从下手,不知怎么做,大多学生即使选择了软件开发,但在开发的软件和撰写的文档在结构、内容等方面错误百出。
(3)教师问题。目前,除专门的软件工程学院的院校外,大多开设有计算机专业的综合院校软件工程课程的主讲教师本身也是一个问题。由于软件工程这门课程对授课教师的素质要求高,它不仅要求教师对工程内涵本身有深刻的理解,还要求教师必须要掌握一定的软件开发经验和一定的项目和工程背景,这样教师才能从自己的开发实践中理解软件工程的基本原理与方法,讲授时才能将理论与实践相结合,学生能直观地感觉到该门课程的重要性,从而产生强烈的学习兴趣。正是因为以往教学中存在的这些问题,导致教学效果不明显,并直接影响学生的就业竞争力。
2高校毕业设计现状
目前大多高校计算机专业毕业设计不很理想,具体表现在两个方面:
(1)从学生方面看,首先是学生入学后,通过3年的学习,学生在前三年级中一般都较为系统地学习了计算机软硬件方面的知识,并进行了实验、课程设计等多方面的训练。但由于大多实验、课程设计等实践训练属于考查范围,有一些学生抱着一种得过且过的心态,没有达到既定的学习目的,这样就造成既没有扎实的理论知识,也没有较强动手能力的尴尬局面。同时,目前大多高校将学生选题时间定在四年级第一学期,学生在导师的指导下准备毕业设计内容。但由于指导教师考虑到学生就业等实际情况,平时并没有对学生进行严格的时间要求和进度管理,很多学生直到毕业离校时才仓促完成任务,整个论文也是东拼西凑、质量不高。
(2)从指导教师方面看,首先是选题问题,指导老师把关不严,很多同学由于没有扎实的专业基础,30%左右的同学不敢选择设计类的问题,选择设计类的项目同学也存在问题,有的题目过大,如银行管理系统的开发,有的题目过小,如抢答器的设计;其次是指导过程不科学,在设计环节中,不论是软件开发还是硬件设计,大多同学只注重核心功能的实现,而忽略培养学生规范的设计过程及良好的设计习惯,使得毕业设计没达到对学生的锻炼价值。比如,在进行软件开发时只注重功能的实现,没有认真进行需求分析、设计方案的讨论、设计书的编写、编码风格的规范以及软件测试的要求。
3以毕业设计为导向,做好软件工程课程教学改革
3.1教学过程的正确引导
针对学生在毕业设计过程中存在的很多问题,作为教师如何将新的技术和方法传授给学生,使他们能真正掌握基本的软件工程的原理和方法是课程教学改革的核心内容。为此一般要求授课老师要能正确地把握目前软件工程的发展方向,掌握最新的软件开发技术,并能结合软件开发的实际例子,将该门课的精华有效地传授给学生。
3.2强化可行性分析与开题任务的结合
在学生毕业设计中,开题的任务是由指导教师与学生共同确定所选的毕业设计题目是否符合本科毕业设计基本要求。在软件开发过程中,可行性分析的主要任务是从经济、技术等方面分析拟将开发的系统在技术、花费财力、人力与物力等方面是否可行。首先,师生要分析所选的题目在法律上是否可行,有无违反国家的相关法律,有无违反当今社会的道德行为规范;其次,分析所选的题目在技术上是否可行,即所选的题目技术含量很高,现有市场还没有类似的产品,且该产品一旦开发成功,将带来巨大的收益;再次,如果该题目在法律上、技术上都是可行的,还应考虑经济上是否可行。
3.3将需求分析阶段在毕业设计过程中有效实施
软件需求分析的目的是澄清用户的要求,并把双方共同的理解明确地表达成一份书面文档——软件需求规格说明书。需求分析阶段对锻炼学生的沟通能力有很大的帮助,按照传统软件工程学的原理,需求分析的目的主要有3个:一是功能性需求分析,确定待开发软件需要哪些方面的功能;二是性能需求分析,确定待开发软件在性能方面有哪些具体的要求;三是数据需求分析,确定待开发软件在数据信息方面的需求。确定这3个需求的依据均源于对客户的了解,因此,需求分析的一个至关重要的任务便是与客户沟通。
在实际应用中,需求分析也是一个让人头疼的问题。用户的不配合是需求分析阶段的最大困难所在,在这种情况下,教学过程中可以考虑把学生分为若干小组,大家互相作为开发人员与用户,把即将完成的毕业设计题目作为项目,可以让学生身临其境地体会作为开发人员在需求分析阶段所应完成的任务,体会实际开发过程中用户以各种理由拒绝合作的无奈,以及应该以何种方式与客户沟通,如何调动客户的积极性与主动性。同时,也可以让学生体会作为客户与用户可以享受的权利及其应该承担的义务,使其走向软件编程的工作岗位时能更加懂得如何从客户与用户口中获取项目所需的功能、性能与数据。
3.4环环相扣,全面提升课堂教学的有效性
学生通过可行性分析、需求分析两个阶段的实践后,既学到了教材上的理论知识,又能与实践很好地结合起来,相信对课程教学已有了浓厚的兴趣。在接下来的设计环节中,作为教师要充分将工程体系的知识应用起来,结合现实生活中的工程问题举实例,让学生能主动地进入角色,处理好这些问题后,相信后面的问题就迎忍而解,既解决了理论课堂学习的枯燥无味,又帮助学生完成了毕业设计任务,全面提升了课堂教学的有效性。
参考文献:
[1]熊仕勇,张登国,黄星华.试论“软件工程”课程的实践性教学[J].重庆邮电大学学报:社会科学版,2007(6).
中图分类号:G424 文献标识码:A
1 绪论
1.1 研究的意义
目前高校逐步建立了电子商务专业综合实验室,通过计算机硬件和电子商务软件来构建综合电子商务实验环境。电子商务是集经济学科、管理学科、信息学科、计算机学科的交叉和边缘学科,它的综合性学科特点决定了电子商务理论知识和实验教学具有复杂性和多样性的特点。电子商务理论知识是实践教学的基础,理论知识让学生深入了解整个电子商务框架结构,而实验教学则是实现专业实践教学的重要训练手段,只有通过实验教学,模拟现实环境和参与企业实践,才能使学生深刻领会电子商务的理论框架、概念模型、技术手段、表现形式、交易规则,应用途径、技巧方法等,才能让学生了解企业电子商务需要什么专业人才。电子商务设计实验课程的合理性,实验教学方式多样性,实验教学的先进性都将直接影响到电子商务人才培养质量和培养目标。因此建立一个动态的、多层次、多样化的适合现代社会需求的电子商务实验室是电子商务专业建设目前亟需解决的一项重要工作。
1.2 研究的思路与结构
以建立一个现代的、动态的、多层次、多样化的电子商务实验环境也叫做实践教学体系为目标,综合运用现代实验教学方面的最新研究成果,通过对电子商务实验教学必要性和目前电子商务实验教学开展现状的分析,最终建立一个现代的、动态的、多层次、多样化的电子商务实践教学体系。
(1)现状背景分析:了解目前理论界对电子商务实验教学环境的研究和电子商务实验教学中存在的问题。
(2)理论模型构建:综合运用现代实验教学方面的最新研究成果,结合电子商务专业的特点,建立现代的、动态的、多层次、多样化的实践教学体系模型。
(3)核心观点形成:探讨如何运用此模型选择适当的电子商务实验教学模式。
1.3 国内外电子商务实验教学研究综述
目前电子商务实验教学环境作为电子商务课程教学的重要内容和组成部分,对于高校培养电子商务专业人才具有重要作用,影响到课程教学质量乃至人才培养目标的实现(杨红兵,2008)。国外高校较早开始了电子商务模拟环境的研究和尝试(Philip Joyce,1999;Howard Rosenbaum,2000),已经有很成熟的教学方法和实验环境,而国内高校电子商务实验环境与教学方式目前不是很成熟,主要是购买一些软硬件,学习国际上的成功案例(马洪娟,2010;樊斌,2010;陈晴光,2010;张金辉,2010;李曼,2009)。但是模拟实验软件内容很难与电子商务日新月异的发展速度相匹配,与实际电子商务也存在差距。伴随电子商务快速发展,在实验经费不足、实验课程内容复杂,教材更新速度慢,与社会联系少导致实际环境脱节,学生学习较为被动的局面,是一个亟需解决的问题(谈晓勇,2010)。目前电子商务教学方法研究上主要有,建立建全完善的电子商务教学体系,大融合的电子商务教学方法,个性化需求的电子商务教学方法和面向实际应用的电子商务教学方法等。
2 电子商务实验教学必然性
2.1 由电子商务的学科特点决定
电子商务人才培养模式中,除了强化理论教学外,还需要通过一些实践环节使学生对电子商务整个应用过程进行深入了解,同时学生也应该经常浏览和参与目前的电子商务网站的交易活动,才能有更清晰的认识。由于目前不可能让每个学生都到电子商务企业去参与各个方面的实习,所以电子商务实验教学成为链接电子商务理论与实践内容的重要桥梁与纽带。
2.2 由电子商务人才社会需求决定
21世纪是网络经济、知识经济和互联网高速发展的时代,电子商务领域的商业模式创新发展使得电子商务的人才需求范围得以持续扩大。而互联网的普及应用和移动商务的快速发展,包括电子商务、移动商务应用在内的互联网应用开始提速,相关的人才需求数量也相应增加。企业招聘电子商务人员多数希望招到既掌握一般计算机网络技术,又具有商务策划、营运推广、物流管理的综合型商务人才。对于电子商务人才必须要掌握相应的理论知识和网络技术在实践中的应用,两者相辅相成,缺一不可。因此,电子商务人才市场社会需求的特点,也决定了电子商务实验教学的必然性。
3 目前电子商务实验教学环境的现状
3.1 目前电子商务实验教学的主要环境
良好的实验环境是开展课程实验教学的基础,目前电子商务实验教学的主要环境有基于电子商务模拟软件的实验教学,基于互联网准公司的实验教学,基于实战型实验教学。基于电子商务模拟软件的实验教学,优势在于创立一种高度仿真系统,使学习者如身临其境,和现实情况很相似,更贴近真实的电子商务活动,自由空间更多,更加符合学生的思维习惯,学生在实验中学会电子商务工作的主要业务技能。目前电子商务模拟实验软件有多个开发公司开发,没有统一的标准,存在着流程固定、内容形式和版权保护等问题。随着电子商务在企业和用户中广泛应用,模拟实验软件内容很难与实际电子商务相似,于是基于实际电子商务网络应用的实验教学环境得到大多数老师和学生的喜爱。基于互联网准公司的实验教学环境为学生提供了一个全面、系统和灵活的实验训练,几乎和实际环境一样,保证了与现实发展同步,有效地解决了课程教学与实际需求脱节的矛盾。基于实战型实验教学是指在学校建立校园网网上商城,通过在学校内部进行推广使用,通过校内的电子商务对学生的实践能力,技术应用能力、社会活动能力的培养有更积极直接的影响,为学生提供了电子商务真实活动环境,为毕业以后的工作奠定了坚实的基础。
3.2 目前电子商务实验教学中存在的问题
目前,电子商务实验室建设在实际使用和操作中,主要存在以下问题。首先,电子商务实验室功能上的不完善,过多重视电子商务业务的实现,而忽视了一些辅助业务的环节,电子商务网站最大的优势是给学生提供了一个真实的实验环境,例如阿里巴巴、易趣网、京东商城、苏宁易购等电子商务网站,通过这些企业电子商务网站不仅使学生学习更具有现实意义,而且也可以为学生日后网上开店积累经验,对于提高学生的电子商务应用技能极为有利。但网上实验环境的缺陷是无法看到电子商务运作的全部流程,无法全面了解电子商务技术和管理内容,如域名申请与解析,搜索引擎设定,网络营销服务,第三方的业务接口等。因此,在实验教学中,必须和企业结合使用企业的电子商务系统让学生亲自体验电子商务中的厂商、消费者、银行、认证中心、物流等各环节的具体操作过程和管理内容。电子商务模拟软件将电子商务的业务流程固定化、实验流程固定化,系统一定开发完成,很少能够根据各学校的应用需求进行个性化和本地化的开发,虽然业务固化固然加强学生对这一流程的深入了解,但是过于强调流程固化,对学生创造性思维培养极为不利。由于电子商务的快速发展,教学老师具有很深的理论知识,但是缺乏一定的实践经验,和实际有可能有些脱节,因此,加强教师队伍建设,让教师进入企业实习,提高教师的实践动手能力也是重要的内容。
4 现代化电子商务实验教学体系的构建
电子商务教学实验环境不应仅仅包括实验教学的软硬件设备,而应该是一个现代的、动态的、多层次、多样化的立体实践教学体系。既要考虑学校的基础条件,也要考虑今后发展的可扩展性,它应该既要包括传统的实验室教学软硬件,同时还应该包括完整的教学组织模式和丰富灵活的教学支持。
为了弥补传统的电子商务实验教学环境的不足,我们应在此基础上进行扩展,首先,以专业竞赛带动实践教学,组织教师和学生参与政府、企业和学校举办的各种专业竞赛,师生通过专业竞赛能够调动大家的主观能动性和学生参与电子商务竞争意识,培养学生的学习兴趣和创造性思维能力。
其次,利用互联网资源。比如目前有很多的电子商务网站,通过电子商务网站流程了解一部分实验环境,同时利用互联网上电子商务网站源代码,下载并安装在学校的服务器上,让学生了解建立互联网网站的整个过程,同时熟悉网站的管理流程、资金结算等信息。
另外,通过校企合作开展电子商务实验。企业永远站在市场的最前沿,通过企业建立学生实验实训基地,教师利用企业实训基地进行现场教学,学生参与商业软件测试版测试,到企业直接顶岗实习,同时企业也为学生建立实习导师,采用双导师制,同时指导学生将理论知识应用到企业实践中,双导师根据学生的实习情况给予指导,开展现场教学,使学生在实验中得到锻炼,了解目前电子商务可能会出现的各种问题,进而提高分析问题、解决问题的能力。
最后,学校组织编写实验大纲、实验教材,教学指导书、学生实验报告、实验记录卡,师生答疑与反馈交流平台等,对学校组织学生参与电子商务实验教学而言,都是必不可少的。
通过建立电子商务教学动态实验环境,按照体现基础性、先进性、系统性、综合性和创新性的原则,建立分层次、多模块、互相衔接的、科学系统的实验教学体系,全面提高电子商务实验教学水平,使学生完整、系统地掌握电子商务实验的基本原理、方法和技能,才能培养满足社会需求的电子商务实用人才。
参考文献
[1] 齐向明.经济管理类本科专业“五三一”实践教学体系研究[J].中国科技论文在线,2007.11.
[2] 曾晓彬.试论经济管理类本科人才培养的实践教学体系[J].实验室研究与探索,2007(1).
[3] 毛太田,邹凯.电子商务专业课程体系与培养模式探讨[J].中国科技论文在线,2004-02-13.
[4] 何宏贵,何建民.电子商务专业实践教学研究[J].中国现代教育装备,2007(7).
[5] 杨红兵.电子商务教学实验模拟系统的分析与设计[D].电子科技大学,2008.
[6] 马洪娟.电子商务专业实践教学体系的研究与构建[J].商业经济,2010(12).
[7] 陈晴光.电子商务课程群实验教学内容体系研究[J].中国科教创新导刊,2010(13).