前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机与软件范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
将自身的功能发挥出来。插件功能的发挥必须通过软件预留的接口。软件在开发的过程中需要在软件中留下接口,其意图就是为软件后期插入插件做准备。具体插件的形式和规范由设计者来定。所以在软件的使用期间,只要开发者将该软件的接口规范公开,其他的开发人员就能根据这个接口规范,进行相应的插件开发。动态链接是一种灵活多变的模块,这个模块可以不同的程序使用,只要这个程序具备可以连接的接口,形成的文件名字为DLL,它本身是无法独立运行的,不过可以通过输入相应的函数和类等,或者是其他能独立运行的程序来调用其内部功能。静态调用和动态调用是动态链接的调用方式,静态调动是使用编译系统,对DLL进行加载,或者是在应用程序运行结束以后,把其相应的编码卸载掉。静态调用的代码比较少,而且比较简单实用,但是灵活性比较差。当加载的DLL没有引入例程或者不存在时,程序就会自动的停止运行。而且在加载之后,即使不需要,其也继续留在地址空间中;动态调用则是为了实现调用DLL的目的,编程人员主要是使用API函数来进行加载或者卸载DLL的方法。在应用方面,动态调用虽然比静态调用相对复杂,但是其可以很好的解决静态调用所存在的问题,在需要DLL时采用LoadLibrary函数,在不需要DLL时使用FreeLibrary函数,来实现DLL的引入和卸载,同时使用GetProAddress函数还能决定加载或者不加载DLL,指定不同的例程,当DLL出现错误时,API函数的调用失败,则该程序就不会自动终止。
2插件技术的功能
插件技术是在不对程序整体进行修改的前提下,对软件的功能进行扩展和更新。在软件开发人员将软件接口公开之后,不管是公司还是个人都可以对制作相应的插件来满足自己的需求,并完善软件的功能。计算机的软件系统是一个有层次的系统,一般来讲,由主系统和子系统。主系统是软件运行在系统上的基础,是子系统可以发挥其各自功能的平台。子系统的主要任务是通过对命令的识别,运行系统内部的计算程序,计算出对应的结果提交给主程序。插件是一个处于软件包外的子系统,可以按照用户对软件的需求程度进行选择,不使用插件也不会影响到整个软件的工作。插件是扩展系统中的重要一类。开发者在进行软件开发的过程中,无法得知用户对软件的全部需求点,就会在软件包中留下接口,允许在软件使用过程中安装扩展功能的插件。平台的功能是一个软件系统的基础和核心,同时也是一个软件系统的基本功能,其不仅可以提供给用户,而且还可以给插件使用。平台功能是由内部功能加上插件的功能共同组成的,插件是其中重要的部分。内核功能是软件的核心功能,完成软件设计时的基本功能,插件则是提供辅助功能,满足用户的个性化的需求。插件为平台功能的扩展以及满足时代需求有着很大的作用。这种补充作用是插件对软件最大的贡献。平台插件与软件连接在一起,需要软件提供两个标准的接口。一个是拓展接口,另外一个是插件接口。这两个接口有着各自的作用和使命,并不相互冲突,也不会在使用过程中出现矛盾。平台扩展接口只能是由平成,插件接口则必须是插件来完成,在各自完成的任务里,只能是调用和使用。平台扩展接口为插件接口完成单向通信,插件接口在想要获取主体的一切所需数据时要通过平台扩展接口来完成。主程序和插件之间进行交流的过程,是插件信息和主程序信息交换的过程。插件可以和主程序发生关离不开主程序的接口。对接口的创造可以有两种方式,其一是设计程序的工作人员在软件中保留了接口;二是在软件的后期开发过程中,其他的工作人员改变了主程序的结构,制造了接口。插件承担着进行接口对接的功能,在和主程序联合的过程中有着重要的位置。
3插件技术的类型
3.1类似于命令插件
类似于命令插件大部分都是文本格式的文件,自由度非常低,扩展性相对来说非常的弱小,功能层面上来说也是比较简单,容易实现。插件的使用过程中十分的方便,甚至对计算机程序有所了解的人都可以进行插件的简单设计,形成个性化的可执行的独立程序。如WinAmp的Skin,WinHacker经常使用这种软件,其运行的插件步骤可以先进行用户的选择,然后再进行输入,最后依据用户的输入内容,来完成那些事先就已经定义好的操作。
3.2脚本语言插件
脚本语言插件是插件一族中比较特别的一种,这种插件的编写代码比较复杂,不容易制作成功。脚本文件需要开发者提供对软件程序的解释,否则难以将脚本进行完善。宏是极爱本文件中的一种。宏可以独自完成一段程序,在计算机内进行计算,取得任务的最终结果。MicrosoftWord中对宏定义是可以一系列的可以进行操作的word命令,从而简化程序。
3.3已有程序环境插件
插件是在早已经成形的程序开发环境中,根据客观的需求或是软件功能的缺陷进行补救时使用的。我们在使用多种软件时,无论是国内制造的还是国外生产的都会出现插件。这种插件是软件进行自身功能的补充进而使用的。在功能强大的软件使用过程中,为了可以更好的使用软件,发挥软件的功能,对软件的原本设计进行补充,方便软件连接数据库中的多种成型的数据模型,简化对资源的利用程度。插件接口的存在也为开发者提供了拓宽自己思维的空间,为软件功能的丰富化提供了机会。
4插件在计算机软件中的应用
4.1插件技术在计算机软件中的开发
软件插件技术在软件研发的过程中起到了很大的作用,对软件的补充有着显著的优势。插件本身具备很多的优点,插件的研究经济花费比较小,获得收益十分大。只要将插件通过接口和选择的软件程序连接在一起就可以获得插件程序中的功能,为用户带来比较好的体验。对插件进行研究必须对其服务软件的主程序进行深入的了解,根据软件主程序的原理和方法进行研究开发。插件和系统的连接点在于二者之间通过接口连接在一起,发挥插件的作用。接口为插件提供了进入软件主程序的入口,同时也是将插件从主程序中撤出的分离端。对插件的创建和销毁程序都在宿主程序中。宿主程序和插件程序有着明确的协议,它规定将插件的所有内容全部放入一个子文件夹,为了不对软件主程序产生破坏对插件技术进行了比较严格的管理。因此,茶插件虽然和软件放在一起进行使用,但是,却保持着很高的独立性,对软件的影响达到了最低的程度。用户对插件的态度可以按照自己生活的需求进行选择,而不是一味地认定使用。在使用某款软件的使用,很多的用户将其附带插件删除,减少终端机的运行负载,这样的做法是没有任何问题的。
4.2插件技术在计算机软件中的具体应用
通过举出下面具体的例子,来具体介绍插件技术在软件系统的实际利用:(1)FLASH插件,它是安装在浏览器的FLASH插件,它的作用是用来播放浏览器中的swf文件(2)IE插件,即Plug-in是一种程序。浏览器一般都是直接调用插件程序,通过处理特定的文件,把他们变成浏览器自身的一部分。
5在计算机软件中插件技术的应用优势
计算机软件插件技术存在许多的应用优势,其主要包括五个方面(,1)插件的结构十分灵活,因为插件本身是许多小插件功能结构所组成的,它是通过接口为软件系统提供相关的服务,所以增加和删减都是很简单,并且不会对软件产生影响。(2)在很多方面,插件技术都存在许多优势,例如在项目的计划、产品的扩展及其生产上。(3)插件与插件之间不存在相互干扰的现象,结构十分简单,构造也很清楚,对软件系统的运行速度不会产生影响(。4)插件的重用率比较高,并且在调整软件的结构时,非常的方便简捷。(5)插件和插件之间以及插件和主系统之间有着十分紧密的联系。插件和主系统都可以通过执行操作命令进行相应的反应,存在着一定的耦合性。
6结束语
【关键词】计算机软件;软件技术;不可靠
计算机软件技术由于自身的方便、快捷、覆盖面广等特点,近年来发展迅速,并对人们生活、工作、学习等产生产生了深远影响。然而计算机软件开发设计程序比较复杂,并且与计算机系统软件系统紧密相连,一旦计算机软件跟不上软件开发技术,计算机软件很容易出现问题。计算机软件不可靠性,已经严重影响了计算机软件技术的发展。
1计算机软件技术不可靠
计算机软件技术指的是在一定条件和规定时间内完成计算机用户所下达的指令。根据这个定义计算机软件技术的不可靠性指的是在规定时间内计算机无法及时完成用户的指令。近年来,随着移动互联网的发展,计算机软件技术成为热门话题,市场上出现了很多软件产品。但是大部分的软件产品说明书上对产品功能介绍的比较全面,但是实际应用过程中,却无法正常使用这些功能,这些就是计算机软件的不可靠性。
2计算机软件技术部可靠性表现
2.1计算机软件设计缺陷
计算机软件本身存在一定的设计缺陷,由于计算机软件是由程序员或者软件设计师为满足用户需求设计而成,在设计环节中,很容易受到设计者自身思维影响,所以计算机软件技术的优劣往往取决于设计者的技术。在设计过程中,一个人的思维和能力是有限的,可能出现考虑不周全或者失误的情况,造成计算机软件缺陷,这种缺陷一般潜伏在程序中,软件测试方式很难发现,只有在特定的环境下才会出现,一旦出现可能造成计算机软件崩溃。
2.2计算机软件安全问题
计算机是伴随着网络技术发展起来的,网络给我们生活带来便利的同时,网络具有的开放性和共享性,因此给计算机系统带来一定的安全隐患。同时,由于计算机软件本身存在一定漏洞,网络病毒、木马等会入侵计算机系统。其次,一些网络黑客也利用系统漏洞,攻击计算机攻击,盗取系统中的数据信息,或者随意篡改计算机软件代码,导致计算机软件无法正常运行。
2.3计算机软件无法复原
计算机软件设计过程十分复杂,一旦遭到破坏,很难进行复原。只能对计算机软件进行修复、更新、卸载或者重新设计,这需要花费大量的时间和精力。
3计算机软件不可靠原因
计算机软件设计是一项系统、结构严密的工作,需要各个环节紧密配合,最后将软件进行整合优化。如果设计人员在工作的时候出现失误,比如没有按照设计要求设计,或者对软件设计理解不够透彻等,导致计算机软件无法达到预期的效果,导致计算机软件在运行过程中,频繁出现故障,影响软件的正常运行。其次,计算机软件技术缺乏有效地测试系统。目前很多科技公司的软件从开发到应用都是设计者自己在完成,这本身就存在一定的问题。计算机软件设计是由设计者本人开发和测试程序,受到自身思维的影响,设计者本人很难发现自己存在的问题。同时,由于缺乏一套完整的测试系统,使得软件测试本身的大打折扣。
4解决计算机软件不可靠问题策略
4.1软件设计人员的设计水平
软件设计人员的设计水平直接影响到软件的可靠性,当前,我国大部分的软件开发人员都是基础性的技术人员,缺乏高技术性的研发人员,所以使得计算机软件技术远远落后于发达国家。因此想要解决计算机软件技术的不可靠性,必须提高设计者自身的专业技能和综合素质。在设计的时候,设计人员首先根据用户的需求,作出有效地规划。其次,在设计的时候要重视文档、语法错误等技术性错误,发现问题以后,要立即解决。在日常工作中,设计人员要不断学习,了解最新的软件开发技术,不断提高自身的专业技能。在工作的时候,要不断积累经验,在设计的时候,才能避免一些常规性的错误。
4.2制定软件设计开发的标准化流程和管理制度
计算机软件不可靠性,主要是由于在开发过程中,需要各个环节的开发人员紧密配合,才能确保软件的严密性。但是在开发过程中,各个环节的相关技术人员配合不够紧密,导致软件技术的不可靠性。因此只有制定标准化的软件开发流程以及开发标准,所有技术人员必须按照标准化流程进行工作,避免开发过程中出现系统漏洞。其次,软件评审人员要严格按照测评标准,对软件进行测试,一旦发现问题要立即上报,并继续对软件进行修改,确保软件开发的质量。
4.3没有建立科学的检测制度
随着计算机技术的发展,目前国内也形成了一些计算机开发的相关制度和规范,但是还缺乏质量检测方面的管理制度,所以导致国内软件产品良莠不齐。所以,必须建立计算机软件开发技术的质量检测制度,从制度上减少软件开发的错误率,从而提高软件质量。
5结束语
计算机软件具有强大的功能性和便利性,因此广泛应用在社会各个领域,但是由于计算机软件自身的缺陷,导致软件在运行过程中,出现不少故障。因此,计算机软件开发人员要不断提高自身素质,减少开发设计过程中的错误率。同时,还要不断钻研,设计一套完整的测评系统,确保计算机软件的可靠性。
参考文献
[1]杨玥,王相伟.计算机软件技术的不可靠性管窥[J].才智,2015(23):330-330.
[2]于淼.计算机软件技术的不可靠性探究[J].建筑工程技术与设计,2015(24):1419-1419.
关键词:计算机软件;测试技术;保护技术
中图分类号:TP312 文献标识码:A 文章编号:1007-9599 (2012) 18-0000-02
1 软件测试技术
1.1 软件测试的概念和目的
(1)软件测试:在具体的指定条件下去完成测试系统或者组件的操作,通过观察发现问题、记录测试结果,并对测试系统或组件的各个方面做出评价的一系列过程。根据应用目标或者特性的不同,可以将软件测试分为以下几类:可靠性测试、安全性测试、适用性测试、健壮性测试、功能测试、性能测试等。
(2)软件测试的根本目的在于找出错误,解决问题。用户希望通过软件测试来发现软件中隐藏的问题,以此决定是否购买该产品;软件开发者则希望通过软件测试证明软件中不存在隐藏的问题,可以满足用户的要求,坚定用户购买的决心。
1.2 软件测试与软件质量的关系
人们的生活和计算机已经密不可分,软件种类呈几何级增长,复杂程度也在与日俱增,保证软件的质量成了开发者和用户共同关心的课题。软件质量保证贯穿于整个的软件开发周期。软件质量保证的方法是多种多样的,其中当属软件测试最具代表性。相当部分软件公司已经给予了软件测试足够的重视,据传微软的软件测试人员的数量竟是软件开发人员的两倍。未来相当长的一段时间内,软件测试都将是软件质量的重要保障。
1.3 软件测试技术的具体应用
(1)软件测试阶段。软件测试可分为四个阶段:一、单元测试,在相对隔离的环境条件下,测试单个的、独立的软件模块,找出它的缺陷。二、集成测试,以单位测试为基础,即将各个模块组装完成后,测试各个模块接口有无问题。三、系统测试,将软件系统和其他组成部分作为一个整体,确保各组成部分不但能独自接受测试,而且在各组成部分协调的情况下也无错误发生。四、验收测试,用户、软件开发人员、质量保证人员都要参与,且以用户为中心。测试内容有:功能测试、强度测试、用户操作测试、安全测试等。
(2)静态测试与动态测试。按是否运行程序可将测试技术分为两种:一、静态测试,即不运行程序的状态下,对系统中的有关文档(需求文档、设计文档、程序源代码等)进行研读、分析、检查。二、动态测试,该种测试需要运行程序,选择测试用例并执行,然后比对预期输出、实际输出,发现其中的问题、错误。
(3)白盒测试与黑盒测试。按是否可以查看源代码可将测试技术分为两种:一、白盒测试,先是分析并了解系统或组件的内部结构,以此设计针对性的测试用例,开展测试活动,白盒测试通常基于数据流、控制流或者代码覆盖测试。二、黑盒测试,该测试不必对软件的内部结构、具体代码进行了解,而是以规格说明书为基础进行的软件测试,黑盒测试技术包括等价类划分、决策表、状态测试、基于经验的测试等。测试的内容包括逻辑功能测试、兼容测试、稳定性测试、压力测试等。
(4)其他测试技术。其他常见的测试技术有:一、回归测试,当软件的错误之处完成修改后,有时候需要重复测试之前的测试用例,有时候则需要重新设计测试用例再进行测试。回归测试存在于软件的整个生命周期,包括白盒回归和黑盒回归。二、冒烟测试,指的是软件测试团队选取软件系统中最为主要的功能开展先期测试,若主要功能都不满足要求,那么可以直接否决,然后重新开发。三、随机测试,输入的测试数据全部都是随机生成的,目的是通过模拟用户操作,以找出某些边缘性的错误。
2 软件保护技术
2.1 软件保护技术的概念及目的
软件保护技术的根本目的在于防止合法软件被盗版,即防止被破解。软件保护技术可以概括为两个方面:一、基于硬件的保护方式。二、基于软件的保护方式。相较其他安全产品而言,软件保护产品是较为特殊的,涉及的内容十分广泛,包括应用软件、操作系统、驱动、网络等。软件保护产品属于一个综合的技术范畴,单一的某个方面是难以评判其安全与否的。
2.2 基于硬件的保护方式
(1)加密狗(加密锁)。加密狗也被称为加密锁,是一种智能性加密产品,可以同并口、串口或者USB接口相连。加密狗在安全性方面比基于软件的保护方式更具优势,但也存在一定的劣势,比如易用性不理想、价格较高等。加密狗目前常用于商业上对于安保需求较高的领域。
(2)光盘、软盘保护。被保护软件将一部分的密钥信息存放于光盘或者软盘中,当特定光盘或软盘完整且存在时,被保护软件才可以正常工作,这一方式常应用于单机游戏软件。这种保护方式的原理是:隐藏一个密钥于光盘的光轨上,使光盘刻录机不能复制该密钥,从而达到阻止“盗版”的目的。这种保护方式有两个缺点:一、若原盘损坏,用户则无法继续使用该软件。二、容易被具有专业知识的黑客找出判断代码处,用修改可执行文件的方法越过该段密码,从而破解软件。
2.3 基于软件的保护方式
(1)序列号保护。用户下载某共享软件到自己的电脑后,若想要完全正常使用,通常需要注册操作才可以。注册的过程一般是用户将私人信息(如账号名)发送给提供软件的公司,软件公司根据得到的信息制定一个具有唯一性的序列号,并把序列号反馈给用户,用户按照提示执行注册步骤,在相应的栏位输入注册信息、序列号,最后通过验证才能正常完整使用。这种加密方式操作简单,花费较低,因而广泛应用于网络共享软件的保护。
(2)Nag窗口。所谓的Nag窗口指的是部分软件通过弹出窗口的方式干扰用户的正常使用,促使用户购买正版。弹出的时机有的是通过定时来实现,有的是判断操作是否重要来实现。这种方式容易给用户留下坏印象,而且容易被破解,所以应用越来越少。
(3)时间限制。在软件保护方式中,时间限制在目前仍然是相当常见的,通常分为两类:一、单次运行超过一定的时长便自动关闭;二、对使用天数或者使用次数进行限制。
(4)功能限制。放出一个Demo版是最为常见的功能限制方式,将其中相对重要的功能选项进行灰色化处理,使其不能使用。功能限制主要分为两种:一、试用版、正式版二者代码完全一样,只是禁用了试用版的相关功能。这种功能限制存在风险,解密者只需要找到并修改这些被禁用功能的代码,便可获得正式版的功能。所以这种方法一般不被采用。二、第二种功能限制是第一种功能限制的改良版,不仅禁用试用版中的相关功能,且不将这部分的功能代码置于试用版中。解密者若想获得正式版的功能,只能通过自己添加功能代码的方式。所以该种功能限制在保护方面效果良好,建议选用。
(5)反反汇编、反调试技术。此类技术可以结合前文提到的六种保护技术共同使用,从而达到加强保护效果的目的。该类技术的存在就是为了防止Cracker使用SoftICE、IDA等调试器静态或动态跟踪、分析、破解需要被保护的软件。
3 结语
计算机软件测试技术与保护技术,对于保证软件的质量和安全而言至关重要,这两种技术的进步与完善是用户和软件开发人员的共同追求。
参考文献:
[1]王立新.软件测试数据的高效生成及测试方法研究[D].东华大学,2011.
[关键词]计算机;应用;软件开发
中图分类号:G72 文献标识码:A 文章编号:1009-914X(2015)44-0161-01
近些年来,随着计算机应用范围的不断普遍和软件开发技术应用范围的不断扩展,人们在享受计算机软件应用给人们带来的便利条件时,却缺乏对计算机系统的充分认识。由于计算机资源主要有硬件资源和软件资源这两类,因而优化和合理配置包含软件资源,对提升对计算机软件的监控、管理和维护工作具有重要的实践意义。优化和创新人事管理软件和学习管理软件等应用软件,有利于实现计算机工作的合理组织,为计算机本身提供良好的完整逻辑功能,还有利于优化计算机程序和计算机工作环境。
1.计算机应用简介
1.1 科学计算与信息处理
计算机的基础应用功能主要体现在科学计算功能和信息处理功能这两个方面。计算机应用软件以信息处理为主,以信息处理为辅。这就需要计算机软件技术开发人员应当合理架构计算机科学和信息科学专业的基础理论。计算机应用软件的开发和利用需要软件人员具备科学计算、软件设计和开发、软件信息的处理和编码等解决实际问题的能力。[1]计算机应用软件通过利用计算机自身的逻辑运算功能和信息储备功能有利于解决实践中的科学计算与信息处理问题,实现计算机语言和计算机应用程序语言的编写,进而实现程序的集合和有效处理。此外,作为人与计算机间重要沟通渠道的计算机应用软件的科学计算和信息处理功能使得计算机的应用范围不断拓宽,扩大了我国社会信息化的技术基础范围,因而对计算机应用软件的科学计算和信息处理技术进行深入的探讨具有重要的现实意义。
1.2 过程监控与辅助系统的应用
计算机应用软件系统中过程监控的应用主要体现在对变电站的运行进行有效的监视,这有利于实现软件系统的有效维护,促进软件系统的控制管理和科学操作流程。过程监控环节主要体现在对计算机数据进行有效的采集和报警处理,实现图形数据的显示工作、对历史数据进行完整归档和有效检索,实现报表操作的有效控制。计算机监控系统主要以Windows NT Server为平台,采用分布式客户服务器体系架构模式。[2]由于计算机过程监控管理系统具有较快的响应速度,因而能够有效满足计算机应用操作系统的实时性要求,有利于完善计算机的用户界面和数据库,优化数据库管理辅助系统,提升计算机软件应用系统的数据处理能力,完善数据查询和数据库资源的共享等工作,提升计算机软件系统运行的效率和质量,实现数据的有效采集和监控目标,计算机辅助审核系统主要包括经营管理、生产管理、专业资料和经管营销。优化计算机监控系统的运行设备,满足计算机软件应用用户的需求。为了规范计算机软件系统的辅助功能,软件技术人员应当完善审核程序,提升处理计算机数据的效率,推动计算机系统的硬件和软件资源管理。
1.3 人工智能与语言翻译
人工智能和语言翻译作为计算机软件开发系统的衍生功能,给人们的生产、生活、工作和学习带来了便利条件。计算机的语言处理功能主要是计算机功能程序设计的编译、汇编等语言翻译程序,还包括对计算机程序语言的解释程序。计算机软件开发系统的作用是实现计算机源程序的高效准确翻译,实现二进制代码机器语言的有效识别和强有力的执行力。计算机软件应用系统还具有调试、编写和运行等辅助程序和计算工具,有利于完善计算机的文本编辑程序,优化计算机软件应用系统的编程工具。计算机软件系统的人工智能化也为计算机软件应用系统的更新和完善提供了极大的便利条件,有利于满足人们对社会经济文化的发展要求。
2.软件开发简介
2.1 系统软件开发
计算机的系统软件作为计算机软件系统中最接近计算机硬件的一种软件,它与计算机的具体应用没有较大的关系,但是它为计算机系统所有的其他软件服务。 主要包括:操作系统、可视化的语言处理程序系统、编程工具和数据库管理系统。其中,计算机软件系统的编写程序主要包含调试、编写和运行等文本编辑程序,计算机系统软件的开发还应当完善数据库管理系统,做好数据库的构建和管理工作,实现数据信息的有效、合理保存,进而推动系统软件设计、施工和验收等各阶段的软件开发流程。
2.2 应用软件开发
计算机的应用软件开发是为了完成某种软件应用和解决某种软件开发问题而进行程序编制的专用程序。其主要包括WPS、Word等文字处理软件,Excel电子表格处理软件、千千静听、多媒体制作软件、看图工具、多媒体播放应用软件、超级解霸、浏览器、电子邮件等网络应用软件、金山毒霸、360卫士等杀毒软件、网页制作和游戏等计算机应用软件的开发等。因而,完善和创新计算机应用软件开发技术有利于确保计算机网络和各类计算机信息系统的安全,实现计算机信息和软件操作系统的合理运行。
3.计算机应用软件开发技术简介
3.1 计算机应用软件开发原则
计算机软件技术开发人员在计算机应用软件的开发过程中应当坚持存在的理由这一原则,即软件开发给用户提供的价值原则。第二个原则是简单、有效原则,即软件设计不是基于表面的概述,而是需要综合考虑各种因素,实现计算机软件的开发设计和软件系统的安全维护。第三个原则是保持远见原则,实现软件项目开发的顺利进行。计算机软件系统设计的完整性是计算机软件系统设计中最需要关注的问题,保证计算机软件系统开发的通用性。第四个原则是实现软件系统的真空使用,实现软件系统的维护和文档的设计。第五个原则是开放性原则,保证软件具有较长的生命周期,使得软件开发能够灵活适应各种突变问题。第六个原则是坚持重用计划,优化软件模式,不断重复机器代码。第七个原则是重视思考和创新原则,在进行软件设计的过程中应当具有清晰、完整的思路,对软件的学习和研究进行再思考,提升对计算机理论知识的再理解和深度掌握,完善软件系统的开发,保障计算机软件系统的开发质量。
3.2 计算机应用软件开发技术
计算机应用软件开发有较好的发展前景,应努力创新计算机应用软件开发的技术。计算机应用软件开发技术具有生命周期法、原型设计法和自动化系统开发这三种。其中严谨的生命周期法有利于分解整个应用软件开发程序,增强计算机应用软件开发的可行性,降低软件开发人员的软件开发难度,实现对计算机软件开发的详细说明。原型设计法应当充分考虑计算机软件系统运行中的信息需求量,巩固计算机应用软件开发的理论知识,保障计算机软件开发的顺利进行,有利于实现计算机输入程序的自动化和智能化,进而提高计算机软件开发的效率。
4.结语
综上所述,计算机应用软件的开发对推动社会经济的飞速发展至关重要,是推动社会信息化进程的巨大动力。随着计算机应用软件开发技术的不断更新和升级,软件技术开发人员应当严格按照计算机软件开发技术的设计要求,创新软件设计思想,优化软件开发技术,保障软件开发的设计质量和效率,进而推动我国计算机应用软件开发技术的创新发展。这有利于推动计算机控制程序的高效执行,完善计算机程序控制功能,实现计算机数据资源共享和集合。
参考文献
关键词:计算机;软件开发;保护技术
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 1-0000-01
Analysis on Computer Software Development and Protection Technology
Luo Yun Gao Qin
(Xihua University,Chengdu610039,China)
Abstract:The software industry related to national and economic development,culture and system security,reflecting a country's overall strength Based on the security of the software development process design, information security protection technology and code analysis of software development process of computer software security technology.
Keywords:Computer;Software development;Protection technology
软件是信息化的核心,信息、物资和能源已经成为人类生存和发展的重要保障,信息技术的快速发展为人类社会带来了深刻的变革。而在软件开发中,软件的安全开发过程和信息的安全成为重要的问题。
一、软件开发的安全设计
在构造应用程序自身的安全功能时,如果充分地引用现成产品所提供的安全功能,可以使得整个系统的安全功能成为一个整体。但更重要的是,这种做法可以弥补现成产品在安全功能上的不足,例如,现成产品一般不提供数字签名功能,它只能在应用程序中实现。业务授权、事务原子性、一致性等也要通过应用程序流程、参数等的控制才能实现。
在软件开发的安全工程过程中,在系统设计、实现阶段,通过总结计算机内部控制流程的特点,并转化为业务需求和系统运行参数,由技术部门在应用软件中直接给予控制,可以低成本实现很多业务环节的风险防范,提高系统的可靠性和稳定性。应用程序应进行的控制处理包括输入输出控制、处理控制等,用以保证输入输出数据的完整性、正确性和保密性,保证应用程序和文档管理的严密性以及该作业的完整性。为对输入数据进行审核,系统要编入有效检查程序与维护控制程序,确保输入屏幕的设计及输入程序的正确性。编制程序时,要确保程序符合全部的业务需求。应有足够的控制保证数据处理及传输的正确性,尤其要注意的是在交易发生错误时,要有完善的处理程序,提供清晰易用的错误提示、错误处理、断点恢复等功能,注意系统更正时手续的完备性及对发生错误的可跟踪审计性。
在安全程序的设计过程中,开发者需要创建一些模块并把它们安装在一起以提供所需要的安全服务。首先,需要创建一个整体的框架以指导每个模块的开发。其次,需要单独查看每一个需求,并为每个需求设计一个模块或者组件。在某些情况下,由于需求之间存在冲突,或者现有的密码模式是不充分的,系统可能不足以实现所需要的安全需求,但是如果系统可以满足安全需求的一个可以令人满意的子集,则可以降低系统安全需求,并且对系统运行环境和管理策略进行相关的调整,以使现有的安全设计可以进入实施阶段。对大部分安全需求,都可以具有多种实现机制,因而安全产品的实现过程可以相当灵活,但是为了抵抗其他可能的攻击,建议在其他条件允许的情况下,使用具有最强安全性的实现形式。
二、软件开发中的信息保护
程序中所产生的缺陷是由于程序员出现了错误。一些错误是源于对需求描述的误解,另一些则是由于过于复杂的程序或使用了型到内在容易引发缺陷的结构。所以,为了取得可靠性,应该使设计尽量简单,保护信息不受没有授权的访问,将不安全结构的使用减少到最低限度。通常军队里所采纳的信息安全原则是所谓的“只有需要才能知道”的原则,即只有那些与本职工作相关的信息内容才能得到,其余的信息对他们是不可得的。在程序设计过程中,也要用类似的原则去控制访问系统数据。程序组件应该只允许访问那些与自身实现相关的数据。使用程序语言中的范围解释规则把不该被程序其他部分访问的数据隐藏起来。如果使用了信息隐藏,隐藏的信息就不会被无关组件所破坏。如果接口保持不变,数据表示的改变将不会影响到系统中的其他组件。保护信息在Java中比在较老的程序语言(例如c或Pascal)中要容易得多。这些较老的语言中没有像对象类这样的封装结构,所以数据结构的实现细节不能够得到保护。程序的其他部分能够直接访问结构。当变更发生的时候,这将带来意想不到的副作用。使用面向对象语言编程,提供对对象属性访问和更新的方法,禁止其他对象对属性进行直接访问,这是一种比较好的实现方式。这样,对象属性表示的改变不会影响到使用这些属性的其他对象。这一点对于使用该方法于数据结构和其他复杂属性时特别重要。
三、代码的安全性
有些语言的固有属性对于安全的实现有很好的支持,使用这些语言可以避免一些通常的缺陷。使用强类型、具有越界检查的、模块化的、具有分段和分段保护的、具有垃圾回收和错误处理机制的编程语言所实现的系统是更可信的、更有安全保障的。例如,Java就是以实现安全代码为目标的程序设计语言。另一些语言,例如同样的脚本语言Perl语言,提供了一种“不洁模式”,可以监视程序的输入,并对程序不正确使用信息的行为进行报警。使用C语言实现的系统,其可靠性是有限的。因为C语言没有适当地限制指针的使用,并且只能提供最基本的错误处理机制,这导致C语言程序经常可以访问程序空间和程序分配的缓冲区以外的数据空间。额外的检查经常会存放到下一个连接的地址空间中,覆盖原有的数据。在编码阶段限制使用低级的编程语言。使用更高级的指令编程语言,可避免一系列主要的错误根源,并允许软件方案可以使用更少的人工合成码进行编程。使用良好的编程规范可以弥补语言在安全方面的一些不足。编写应用程序的时候,所建立的数据结构和函数都必须是能够被检验的。在程序编写过程中,所有函数和过程的执行过程都需要进行检查,以发现错误。每个函数的错误状态都必须加以检查。为增强程序的可读性,在命名规则、代码格式和注释规则方面应做出统一的要求或者建议。使用软件过程和安全保障技术可以确保所有的操作和操作数都是正确的。
四、结束语
计算机和网络应用在生活所占的比例越来越大,应用软件的开发成为用户享受各种服务的基本保证。只有通过软件开发的安全性和保护技术的不断深入研究,才能有效提高软件开发的安全级别,保证软件产品的安全性。
参考文献:
[1]陈玲萍.软件开发生命周期各阶段的应用软件安全性测试[J].企业科技与发展:下半月,2010,4:14-16
[2]常华.软件的安全性――IT业下一个热门领域[J].信息系统工程,2008,(8):20-20
作者简介: