计算机软件技术基础论文范文
计算机软件技术基础论文范文
计算机软件技术专业是计算机科学的一个分支,软件技术专业的侧重点在开发和技术的实际应用。下面是学习啦小编带来的关于计算机软件技术基础论文的内容,欢迎阅读参考!
计算机软件技术基础论文篇1
浅谈计算机软件开发技术的应用
21世纪是计算机化、信息化的时代,在这个时代,计算机网络成为信息传输媒介,软件开发技术成为计算机未来发展的导向。为了满足计算机网络对软件不断增多的需求,软件开发技术必须不断发展,才能为构建完善的计算机网络系统提供可能。
1 计算机软件开发技术概述
计算机软件主要指系统软件、应用软件。系统软件是监控、管理和维护计算机的软件,比如操作系统和自检程序等。而应用软件则是解决用户具体问题的软件,比如人事管理软件和学习管理软件等等。不管是系统软件还是应用软件,都为用户提供了利用计算机代替或简化一种计算机的工作环境,对于用户来说,接触计算机其实是接触计算机软件。早在20世纪五六十年代,计算机软件的开发多是手工方式,这种软件开发技术不仅出错率较高、生产效率低下,而且不能满足软件生产需要。随着商品化、大型化软件的开发,人们意识到计算机软件的开发需要规范的文档来确保程序设计、调试和运行。到了20世纪八十年代,人们将软件工程定义为:实现计算机程序功能采取的规则、方法及与之相关联的文档和在计算机上运行程序所需的数据都是计算机软件。
软件工程的发展大体经历了程序设计时代、软件时代和软件工程三个时代。以建筑工程开发为例,可以看出计算机软件开发过程与建筑工程开发有较大的差异。建筑工程开发过程中,设计蓝图设计之后,之后的每一步都不存在回溯的问题,但计算机软件工程在开发的过程中,每一步都有可能经历多次的修改、适应等回溯问题,另外,软件开发成功投入使用后,要考虑到软件运行和维护的问题等等。
2 计算机软件开发技术的重要性
软件开发技术是软件工程较为关键的技术之一,对计算机网络发展有着极大的助推作用,计算机软件开发技术能够促使计算机网络技术的创新,使一些网络支持、远程控制成为可能。软件开发技术的应用使得计算机网络形成开发性、共存性的一种网络模式,对于计算机网络的发展有促进作用。解决了软件开发落后计算机网络需求的问题,随着软件开发技术的不断提高,软件的安全性、可靠性和便捷性也有了较大的提高。上述的计算机软件开发重要性推动了。
3 计算机软件开发方法
目前,计算机软件开发方法主要有原型化方法、软件生命周期法和自动形式的系统开发方法三种。原型化方法:软件开发之前要进行严格定义和预说明,要求用户及软件开发人员对系统整体功能及信息需求有全面、深刻、准确的认定。如果用户给出的软件目标不能详尽描述输入处理及输出需求,或者软件开发者不能确定算法效果、系统适用性或未来使用的人机界面形态,此时,适合采用原型化方法进行软件开发设计。软件生命周期法:软件生命周期法从时间角度出发对软件开发、定义、维护等问题分解成若干阶段,每一个节段的开始和结束均有标准。软件生命周期通常由6个时期,也就是6个阶段。自动形式的系统开发方法:这个方法是利用第4代技术[3]中的软件作为开发工具,其要求软件开发者说明软件实现的内容和目标,而不需要说明如何实现,这种开发方法根据系统的要求自动设计和编码。
4
计算机作为一个工具,计算机软件开发者的存在使为了让计算机能更好地服务于人类,因此计算机软件开发技术要真正实现其应用价值才能被称得上成功。这里我通过一个计算机软件开发实例说明价值。采用两种方式开发两个产品,其中第一个产品是运用VB6.0+Acess、单机版运行模式进行开发设计,第二个产品是运用Web+Xml+ActiveX和高级数据库服务器进行开发设计。现利用两种产品分别安装客户机端,其中,采用第一个产品的话,在客户机可直接安装,因为VB虚拟机和Acess驱动均是微软历史版本,所以系统可自动兼容;采用第二个产品的话,在客户机要安装ActiveX组件,这时,要更改浏览器安全设置,这就要求客户端安装第二个产品的时候需要多个安装步骤。
客户端安装成功后,经过一段时间运行,第一种安装方法运行稳定、无问题,若需备份还原数据或修复安装,用户可单独完成,缺点是随着客户端使用时间的增长用户数据越来越多,在客户端运行后期运行速度会下降,这时需要人为转档。而第二种安装方法在安装、运行上受浏览器安全设置或系统操作版本的限制,给用户的使用带来了一定的不便。这两个例子引起软件开发者对问题的认知。计算机作为一种工具,其存在是为了更好地服务于人类,目前,计算机已经成为大众化工具,计算机软件开发者不能要求使用计算机的工作人员都是专业化人才,因此,在计算机软件开发的过程中要根据需求、实际情况进行投入和开发。在计算机软件开发中要本着“以人为本”的理念,体现软件的易用及功能强大。
5 结束语
计算机软件以硬件为载体,是计算机思想的体现,其处理大量的逻辑、信息,为人们提供一种方便、快捷的信息处理手段。在当前这个信息化时代,软件开发技术有极大的应用价值,因此,科学运用计算机和软件开发知识,以期通过较少的投入获 取高质量、高效率、满足人们需求的软件产品,对于推动现代化、信息化发展大有裨益。
计算机软件技术基础论文篇2
浅议机电技术中的计算机软件应用
引言
随着机电技术的进程加快加深,机电一体化系统中对软件系统的设计要求也越来越高。在很多机电一体化系统的设计中,设计者对软件系统的设计过程中还是存在很多片面的理解,软件设计中存在很多不规范的因素,甚至有些存在严重的不足。本文就机电一体化系统中软件系统的开发进行了一些探讨,并对软件在机电一体化系统中的发展进行了一些展望。
1.机电一体化系统中计算机软件系统的重要性
1.120世纪70~80年代为机电一体化系统的蓬勃发展阶段。这一时期,计算机技术、控制技术、通信技术的发展,为机电一体化的发展奠定了技术基础。大规模、超大规模集成电路和微型计算机的迅猛发展,为机电一体化的发展提供了物质基础。
1.2在机电一体化系统发展中,智能化是一个很重要的发展方向。人工智能在机电一体化建设中的研究日益得到重视,机器人与数控机床的智能化就是重要应用。这里所说的智能化
是对机器行为的描述,是在控制理论的基础上,吸收人工智能、运筹学、计算机科学、模糊数学、心理学、生理学和混沌动力学等新思想、新方法,模拟人类智能,使它具有判断推理、逻辑思维、自主决策等能力,以求得到更高的控制目标。诚然,使机电一体化产品具有与人完全相同的智能,是不可能的,也是不必要的。但是,高性能、高速的微处理器使机电一体化产品赋有低级智能或人的部分智能,则是完全可能而又必要的。
1.3从机电一体化系统的发展过程中和未来的发展方向上看,计算机技术始终处于一个关键的位置,是一体化、自动化、智能化进程中的关键纽带。然而,计算机只是一个软件运行的平台,它所提供的是高效率的数据处理,而真正在机电一体化系统中起作用并控制计算机做有效工作的则是凝结了人们智慧结晶的各类软件。一些大型的并且独立的软件(比如:pro/e、AuIoa气D、ANSYS等)并不在这篇文章的讨论之中。虽然它们在机电一体化系统中起着至关重要的作用,并且已经发展地相当成熟,但本文所讨论的是针对那些具体的工程中,在机电一体化系统的设计中,为了满足具体工程所提出的具体要求和细节而需要我们独立开发和设计的软件系统。
2.当前机电一体化系统中软件系统存在的问题
随着机电一体化系统的飞速发展,软件系统的发展并没有跟上其步伐。相比程序语言的发展和软件在其他领域的应用中,则更显落后。主要表现在:
2.1编程语言不够强大目前,在机电一体化系统的开发过程中,大量应用的还是汇编语言和C语言,C++语言应用也很广泛,所用的开发平台无外乎BC、TC、VC等。之所以说其不够强大,并非指这些语言本身不能够胜任目前的机电一体化系统的要求。相反,它们在机电一体化系统的开发中有不可比拟的优势,这也是这些语言得以存在并还将继续存在的原因。但是,我们也应看到编程语言的迅速发展状况。例如JAvA和例等,各类功能更加强大的开发平台如:
2.2JBuilder、N1玎的出现。虽然这些语言和平台还不能很好的适用在机电一体化系统之中,但是它们的发展趋势决定了它们将在越来越广泛的领域中成为主流的开发工具,它们的优势也越来越明显的表现出来:如方便、快捷、高效、高安全性等。2.2编程风格差一般在机电一体化系统开发过程中,从事软件系统开发的技术人员一般不是专门从事软件开发的人员,他们尽管对机电系统中的软件开发很熟悉,而且有过硬的技术和奇妙的思想,但是他们之中还是有部分人在软件系统的开发过程中不能形成良好的编程风格,比如清晰的注释、遵守一定意义的命名规则和匀称合理的代码布局。
2.3软件系统往往不能满足用户需求或不能按期完成软件产生之初,便存在了问题,最主要的问题就
是不能恰当地了解用户的需求,不能提供给非专业用户更多、更广的选择范围,不能考虑到用户未考虑到的其他应用中将会遇到的问题,从而造成开发出来的软件无法满足用户需求的问题。因此,软件系统发展过程中借鉴了工程的方法,形成了成熟的软件工程理论,用工程学的方法知道软件系统开发,从而提高了软件开发的效率。但是在机电一体化系统的软件系统设计过程中,技术人员可能更多地关注其他系统的开发,而没有按工程的理念来开发其中的软件系统,从而使得软件系统没有达到用户的需求,甚至不能按期完成工程项目。
2.4软件系统开发中重复劳动较多等问题机电一体化系统中的软件系统还存在另一个问题,就是开发过程中,重复劳动较多。这是因为每个工程之间本身就存在很大差异,即便是实现相同功能的软件系统,嵌入到不同的工程之中的时候,都会有所变化,甚至要进行较大的修改,这就导致了一个工程中开发的软件系统无法为另一个工程所使用,技术人员要进行大量的重复劳动,即浪费时间,又没有效率。
3.解决机电技术系统中计算机软件系统开发问题需要采取的措施
要解决在机电一体化系统中,软件系统开发过程中出现的一些问题,首先还是应该呼唤工程概念的回归。即,重新在机电一体化系统中的软件开发中建立工程的概念。严格按照工程学方法来指导软件系统的开发,遵循合理的开发流程。从可行性分析、需求分析到具体的设计,再到最后的封装测试,都按照严格的工程体系,建立清晰可靠的文档,形成良好的工作流程。其次,需要有专门人员来研究机电一体化系统中,软件模块的开发和封装。以组件的概念来开发软件系统,研究如何划分高内聚低耦合的模块,如何提供模块的接口,如何尽可能提高软件模块的可重复利用率。最后,要提高那些更高级的编程语言在机电系统中的应用率,这需要机电一体化领域和计算机领域更进一步的融合。
4.对于机电技术系统中应用计算机软件的展望
要提高机电一体化系统中软件系统的开发效率,解决出现的一些问题,还需要进行更多的研究和两个领域在更高层次上的融合。采用更高层的面向对象的语言如J烈,A等,它们在网络的领域可以说是如鱼得水,但是,在机电一体化系统中,似乎还是无用武之地。然而随着机电一体化的发展,网络制造和网络合作发展迅速。专业的划分越来越细,人工智能飞速发展,自动化程度要求越来越高,现代控制理论越来越成熟,机电系统需要更高效、更智能化、能提供更高安全性的语言来进行其中的软件系统开发。因此,一些经典的编程语言在将来肯定不能满足机电一体化系统的要求,这就迫切需要机电一体化领域和计算机领域进一步的、高层次的融合,要出现更适合机电系统的编程语言,要对机电系统中的软件系统提出更高的要求和规范。这一切,还都需要我们进行更多的研究和努力。
结束语
本文分析了当前机电技术系统中的计算机软件开发过程中遇到的一些急需解决的问题,并从理论上分析了问题产生的原因和解决的方法。并对机电系统中的软件系统开发进行了一些展望。相信能给目前机电工程的技术开发提供一些有价值的参靠。
计算机软件技术基础论文篇3
浅谈计算机软件安全检测技术
1 软件安全状况简介
在计算机的软件开发及运用过程中,安全检测是其不可忽略的一个重要环节。安全检测的目的是为发现软件运行时出现的故障,然后针对其隐藏的风险进行修补,以保证软件的正常运行。但是目前的计算机检测技术无法完全避免错误和漏洞的出现,不能保证软件绝对是安全的,当下的检测手段通常是用为数不多的检测来达成广泛的覆盖检测范围,找出的只是其中比较明显的漏洞。
比较各种类型的软件漏洞间的不同,软件安全方面的缺陷主要包括下列几个特点:首先,计算机软件安全缺陷通常并非是测试软件的专业人员发现的,反而是由某些妄图获得不法利益的黑客找出的。其次,一般在发现危害性不强的软件漏洞后,通常都未做到立即修复,而是等到该软件的下一个版本才会进行修复,但一旦软件漏洞未被及时修补,极易给软件用户造成损失。最后,就危害程度而言,普通的软件漏洞不会造成特别严重的危害,但其安全缺口一旦被别有用心的人利用,就会使用户的使用安全出现巨大风险。
计算机的软件安全测试主要由功能测试、渗透测试以及验证过程三方面构成。与其他种类的软件相比,软件安全测查所注重的不是其能做什么,反而是测试其不能做什么。一般而言,安全检测主要是安全漏洞方面的检测及安全功能方面的检测构成的。软件安全功能检测所要求的范围十分宽泛,包括访问控制和授权、机密性以及安全管理等方面,检测软件安全功能能否达到其安全要求的过程即其安全功能检测。
2 安全检查应注意的问题
在需要对计算机软件进行安全检测的时候,有哪些问题需要注意:
2.1 要制定科学的检测方案。要在充分的了解,把握待检测软件的特性的基础上,来对其开始进行安全性能测试,并根据安全测试的具体情况,有针对性的确定有实用性的检测方法对其进行编制,使方案得到真正有效的实施。此外也对具体执行检测的人员提出了相应的要求,在安全检测过程中,必须由熟练掌握检测知识的人员与熟悉被检测软件的人员进行通力合作。只有两方面的专业技术人员的配合,才能真正保障安全检测的效果。
2.2 做到系统且全面的分析。计算机软件有程序复杂、规模庞大等特点,故而在进行安全测试时需要分别对代码级、系统级以及需求级进行有针对性的详尽检测。如果遇到特大规模的软件,还需从结构设计等方面进行细致的分析。并根据实际情况,按照详细分析的过程选择其所需要的相关分析技术。
软件的安全检测是系统化的一个过程,要解决整个系统内全部的安全问题,普通的方法是十分困难的,故进行具体的安全检测时,如何选择有效的、具有可行性的方案,是软件检测员必须认真思考的问题。
3 软件安全检测的具体方法
3.1 科学的规范化流程。在较大规模的软件系统中,大多数都会有若干个子系统,而每一个子系统又由多个功能模块组成。
模块测试、组装系统、系统结构的安全检测、性能检测、系统检测是计算机软件安全检测必不可少的五个环节。模块检测我们又可以称为单元测试,所检测的对象是软件设计中最小的功能单位。为准确发现每个系统功能中可能存在的漏洞,需要进行模板测试,以达到细节化、全面化的检测。在具体的模板检测完成后,需要进行的是系统的组装过程,要根据其自身的设计理念来进行。在实际的组装操作过程中应该对相关的每个体系结构进行相应的安全检测。在模板测试及系统结构的测试都完成后,为使软件可以达到用户的使用要求,还需对其进行功能有效性进行测试。直至所有步骤完成之后,再结合计算机的硬件、数据库等进行一个系统的测试。
3.2 行之有效的具体方法。
软件安全检测包括动态的检测及静态的检测两种手段。动态检测主要指内存的分析,环境变量等的修改,结合其运行环境已进行测试的,想增强程序保密性实行软件的安全运行,就可以通过动态检测的方法来完成。静态检测是通过程序分析、程序源代码的解析以而找到程序中导致异常的原因。静态分析技术的两个重要的指标就是错误率和误报率,这两个指标的出现是成反比的。静态分析的主要问题在于其结果常常只是真正结果的近似值,不能够真正反应出实际情况。但是其同时也具有不需软件真正运行就可以检测,实行相对方便。两者比较而言,静态检测因为其技术有较高的自动化,检测速度较快且过程方便,故更受操作人员的欢迎。
(1)安全检测方式实行形式化。
安全检测方式的形式化,是指通过在需检测软件之上建立科学模型来检测的。其在确立相应模型后,在规范的形式语言支持下做出形式性规格说明。当前主要运用的形式规则语言主要有行为语言和模型语言以及有效状态语言等。手段也主要分为模型检测及定理证明等方式。
(2)实行以模型为基础的检测方式。使用结构建模方式及软件行为构建测试模型,以达到预期的理想检测效果。以模型为基础的检测过程并不苛求软件在各种具体情况下的一致性,其主要通过一些生成的试用例来测评的,并通过测查被测软件系统与理想模型结果是否相同来进行安全检测的。
(3)运用语言测试技术。
在静态检测技术中最早出现的检测方法就是语言检测技术,它所检测的对象是软件程序的源代码及可能产生威胁的C语言函数库调用,语言检测常用的方式是进行对反应的研究,其过程通常是进行软件接口的语言识别,再进行语法的定义,直至生成试用例来实际进行安全检测。
(4)以故障注入技术为基础。
如果想要检测的比较全面,则可以用基于故障自如的安全测试。这种方式运用故障分析树以产生用于检测的试用实例来进行检测。故障分析树指的是把系统中出现可能最低的事件作为顶事件,再通过仔细检测来找出事故发生过程中的中间事件及底事件。以逻辑门符号,将项事件和中间事件以及底事件连成完整的一棵故障树的方式。
(5)践行模糊测试法。
建立在白盒检测的基础之上的检测方法我们把它叫做模糊测试法,它有效的将动态检测技术和传统检测技术合二为一,相对于传统的检测技术有了较大的发展。其具体方式是通过对被检测系统提供大量无价值的、非预期的、随机的输入,以发现软件的异常状况。其具有成本低,运用简单,自动化程度高等许多优点。
(6)利用根据属性的检测方式。
要实行这种检测方式,先要明确被测软件的具体编程规则,并将其作为安全属性,以检测目标软件的程序代码是不是符合相关规则,通过这样来确定其安全性。和其他检测方式相比,这种方式可以全面的、系统的分析软件存在的安全漏洞交互性及扩展性。
(7)测试技术的多样化发展。
近年以来,针对WEP安全所展开的相关测试技术,发展速度也十分惊人,如分布式的软件安全检测技术等等。总的来说,软件的安全检测具备的主要功能是解决软件在设计分析及其具体运行过程中存在的问题,以优化计算安全性能,保证其可以维持整体软件系统的正常运转。
4 结束语
在当代,计算机软件的安全检测工作在软件实际应用体系中具有日益重要的作用。只有通过不间断的积累、创新,并在具体实践中践行,才能促进相关技术的不断提高。与此同时,还应不断提高我们自身的安全保障意识及防测技术,以真正保障软件安全应用,维护软件使用者的切身利益,从而促进市场的平稳健康发展。
猜你喜欢: