欢迎来到优发表网,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

购物车(0)

期刊大全 杂志订阅 SCI期刊 期刊投稿 出版社 公文范文 精品范文

计算机软件论文(合集7篇)

时间:2022-04-06 04:59:10
计算机软件论文

计算机软件论文第1篇

软件运行出现性能方面的故障也是不可靠性问题之一。软件产生运行故障特指客户在使用软件时,忽然出现故障问题,致使软件产生了不科学的反馈。例如软件忽然跳出或者造成系统死机。当前市场上几乎所有的软件都不可避免地存在运行问题。拿微软最著名的WORD软件来讲,用户在应用软件过程中,会发生软件没有任何征兆地跳出的情况。假使客户事前没有保存文档,就会导致之前编辑的内容统统作废。这时,软件的BUG就会给客户使用软件造成非常大的麻烦。此外,一些软件存在着安全漏洞,伴随着科学技术的不断发展,计算机网络化成为未来发展的走向,用户通常会在网络环境中应用计算机软件。但是用户发现部分软件的性能没有问题,安全方面却存在着巨大的纰漏,一旦使用这些存在安全漏洞的软件就会加大本地计算机的安全风险。我国名企生产的QQ软件,就是由于出现安全漏洞才使用户密码经常被人盗走,给用户带来非常大的麻烦。

2软件不可靠的解决对策

2.1做好软件的评估审核

在实施软件技术发展研究的过程中,需要随时做好软件的审核评估工作,以减少错误现象的发生概率。为保障软件技术发展各个环节的标准一致,我们需要把软件开发设计依据程序化实施,规避出现开发环节的跳跃性问题。能够在软件开发过程当中要及时进行对软件的审核评估,这样可以随时察觉开发过程中出现的问题。有关的审核人员需要由管理、设计及保障人员共同组成,也包括不同岗位、各个领域的专家,以确保审核的专业水准。软件的评估审核主要课题是考察设计人员交付的软件文档是否与之前文档的准则与要求相统一,而且需要在考核后通过书面报告的形式得出相关的处理方案和评估结论,而质量保障工作人员则能够根据审核的意见与结论进行具体的操作。通过这一系列环节的任务能够有效降低软件开发的不可靠风险,以提升安全可靠性。另外,我们必须建立系统的质量监控体系,完善管理机制,不应该一味地实施软件开发人员的编码、独立设计与单独测试,规避增加技术管理缺陷的发生概率。

2.2功能设计合理化

对计算机软件进行合理化功能设计是非常有必要的。应当知晓软件设计出来是要让客户使用的,因此,我们必须意识到客户是使用的主要群体,而且软件的功能设计必须符合客户的普遍需要,这样该软件的开发才有意义。假使客户要求的功能没有,用户则会以为软件设计技术存在着重大的失误。所以,软件在开发之前,程序员不能总是以满足自己的喜好来实施设计,必须要按照客户的需求合理取舍,实现软件设计与用户需求的平衡。另一方面,使用适当的语言设计软件程序过程中,如若选择的语言设计相对比较合适,就会取得事半功倍的效果,假如使用的语言设计不合适,那么该语言就很有可能不符合软件的需求。譬如你要设计一款管理学校图书馆的应用软件,就必须依据图书馆数据量的大小挑选最能符合软件功能需求的数据库软件,再选择兼容性比较强的接口软件。

3结语

计算机软件论文第2篇

分层技术在计算机软件开发中的应用,大大提高了开发的速度和质量,是现阶段我国软件开发中最为重要的技术种类之一。为了能够更好地发挥其技术优势,下面针对其各部分重点内容进行分析研究:在计算机软件开发中,分层技术的应用需要严格按照一定的措施和规律和进行,首先必须要将分层技术的相关理论以及概念进行掌握和熟悉。分层技术包括了计算机以及物理学两个方面的含义,在这两个方面中,物理含义的内含较为复杂。具体来说,在计算机软件研发的时候,分层技术就是将不同过程的解决方案置于不同的概念领域中,然后这整个层面就会形成一个较为封闭的体系,而这个体系中包括的不同层面在级别上都是平等的。针对软件开发的构架方面,分层技术的优势得以有效凸显,在最初的时期,软件开发构架只是一种单层的构架,直到20世纪后期才得以快速发展,并在一些小型的数据库中得以应用。而单层结构向双层结构发展,则是从服务器与计算机之间的建立联系开始的,服务器与计算机得以联系,并快速发展,从而不断完善,形成了目前的计算机软件结构。由于计算机的双层结构中存在很多难以避免的缺陷,因此在不断发展的过程中,其弊端也更加凸显,在无法满足人们需求的情况下,分层技术的出现有效解决了上述问题,并逐渐发展成为我国计算机软件开发技术的主要发展趋势。

2分层技术在计算机软件开发中的应用

分层技术目前在我国已经成为了主流的技术种类,其在我国计算机软件开发中的应用也越发普及,下面进行具体分析:

2.1双层技术的应用

从种类方面来看,分层技术主要有三层、四层以及多层次之分,但是这些都是在双层技术的基础上发展起来的。在不断的发展过程中,软件的开发效率也得以提升。我们首先针对双层技术进行研究,这项技术在我国软件开发中的应用,主要就是针对两个端点进行,也就是客户端和服务器。客户端会依据不同用户的资料为其提供所需要的使用界面,处理其中所产生的各种逻辑关系,然后服务器是用来接受客户的各项信息,在经过数据库进行相关的计算和总结,最终向客户端传达并使用。这项技术的应用大大提高了计算机的运行效率,但是其必要的条件就是用户所使用的服务器,性能方面要有所保障,同时用户使用不适合太多。一旦这两个要素没有保障,就会导致服务器因为工作负荷过重而出现系统性错误、计算机反映慢等问题也会出现,这样一来成本就会不断增加,问题严重的话,还会导致人格数据的丢失,所以说在当今的研发中,这项技术已经逐渐被其他技术所取代。

2.2三层技术的应用

上文已经提到,三层技术的研发是建立在双层技术基础之上的,针对双层技术中不完善以及有缺陷的部分进行改进,并相应地增加了应用服务器,这种服务器在计算机使用方面发挥着巨大作用,能够针对用户的各种数据进行储存和整理,同时也大大提高了计算机信息访问的效率,最为关键的一点是实现了人与计算机之间的交互。这种三层技术实际就是将业务处理、界面层次以及数据层次相结合,建立一个有机整体,相互独立运行,共同为计算机服务。其中的界面层主要是进行科学的收集用户使用软件的需求,收集完成后需要将这些需求发送到之后进行工作的业务处理层,其次由业务处理层通过对这些用户的需求进行分析,做出相关的申请请求在数据层进行数据的提取与处理,最后在数据层进行相应的处理,对相关的各种信息进行查询,针对这一系列的分析之后,将结构反馈给业务层,最终是由业务层完成工作的处理,再回到最初的界面层。以上所阐述的整个过程就是对系统的建立过程,正是因为这样的处理,实现了系统工作效率的提升。

2.3四层技术的应用

在计算机软件的开发中,双层技术和三层技术都难以应对计算机使用复杂的环境,需要将三层次技术中的界面层、业务处理层和数据库层科学地分开,这样才能够不断降低这几个层次之间的相互影响,因此需要将三层技术逐渐向四层技术发展,其中四层技术主要包含有业务处理层、web层、数据库层以及存储层。

2.4中间件技术的应用

分层技术在计算机软件开发中的应用,可以针对不同部门进行优化,目的就是充分发挥其潜能,实现优势互补,提高计算机整体的运行效率。正是因为分层技术的合理应用,才使得软件开发的质量大大提升。另外,还有效地降低了各种复杂问题的发生,简化了计算机操作,只要利用单项操作就可以独立完成计算机软件的开发,进而实现我国计算机软件开发的高效性与高质性。

3结语

计算机软件论文第3篇

每一个软件在实际的运行过程中,都会出现一些细节上和实际不相符的部分,在此情况下,就需要设计该软件的单位根据现有的情况和需求,对开发的软件进行不断地修正和完善,通过改变软件自身来使其适应现有运行平台对软件提出的各种要求,这一过程称之为软件维护。根据软件进行维护的目的性不一样,可以将维护的过程分为四种类型,分别是纠正错误类型、预防错误发生类型、适应运行平台类型、改善软件自身类型。在这四个类型当中,“纠错”是指软件在运行的过程当中,针对其显示出的各种自身问题进行分析,并且提出解决的对策;“预防”即要求软件的开发者能够预见到现有的,以及即将产生的各种病毒类型,提前对软件进行设计,防止其日后受到病毒的侵入;“适应”是指软件在自身不断的运行过程中,根据运行平台等外部环境对其提出的各种需求,不断做出调整,以求适应该运行平台;“完善”是指,根据每个需求的特点,软件能够不断地改进自身的性能,能够更好地满足各种需求。软件的可维护性主要有四种突出的特性。一是其容易被分析。即指针对软件内部存在的各种毛病、漏洞,能够即时地被发现,诊断出来;二是易改动。该特性是指,一旦发现了该软件存在一些问题,其是否能够被及时地修改和完善;三是稳定的特性。发现了软件存在问题,就要对其进行修改和完善,那么软件自身能否应对由此产生的各种风险,这就是稳定性的本质;四是易测试性。在修复了软件存在的各种问题的时候,针对修复的效果能否在较短的时间内,进行估测。

二、影响软件维护的要素分析

(一)设计团队的变化:很多软件设计团队,在完成了一项软件设计的时,会解散该团队,很快各自都找到新的团队,开展新的软件设计工作。原本对该软件设计有所了解的成员逐渐离开了团队,随着人员的不断变动,到最后余下的员工很可能对该软件最初开发的目的、方法都不是很了解,导致该软件无法在后期得到修复和完善,最终导致报废。这样不仅会浪费大量的人力、财力、物力,同时也会给新的工作团队平添工作量。

(二)用户的需求:在最初签订软件的开发和修改合同的时候,维护人员和客户没有进行很好的沟通,没有很好的了解顾客的需求,导致在后期的修改当中,很多设计人员按照自己的意思来对软件进行修改,和客户的需求根本不相符。

(三)隐性错误:很多维护软件的工作者,在对软件进行维护的时候,会在软件的内部加入一些隐性的风险,降低了软件的整体质量。(四)团队素质:一个团队素质的高低,同样也对软件维护的质量到很大的影响。员工是否具有软件维护的专业技能,能否解决顾客提出的各种问题。该团队是否是属于急功近利型,一味追求经济利益,而忽略了质量的追求等等,都是需要考虑的因素。

三、软件维护的策略

对软件的维护,主要分为九个主要的步骤。首先要仔细阅读客户对自己软件提出的需求说明,在了解客户需求的基础上,来针对问题软件继续拧修改设计,列出设计方案进行评审,评审通过后,开始重新编码,然后进行单位测试、集成测试、回归测试这三项测试,待测试完成之后,确认测试,最后在一次进行评审。对软件的维护工作,不能大意,因此应有一只专门团队来对软件进行维护,且在团队内部要明确每一个成员的工作任务和责任,避免资源的重复利用和未充分利用。在接受客户需求时,要为客户发一张需求登记表,客户在该表上填写软件出现的问题,包括问题的具体类别,希望通过修改达到的效果,软件运行的平台,出现问题的场合和时间等。在对软件进行修改和完善的过程中,要仔细分析源编码设计的原理、习惯,对其进行遵守,不要轻易地更改,以保证软件在修改前后能够保持和谐。若是一个客户提出了多个维护的需求,可以更具需求等级的高低,对其进行顺序的划分。在修改该软件之前,要对该软件进行备份处理,在软件完成修改之后,要对软件进行及时地调试,最后开会对该软件进行评议,并且做出总结,从本次软件的修改当中,能够收获成功的经验,同时也能吸取失败的教训。软件的修改人员之间要互相交流和分享彼此的经验。若是软件修改的幅度比较大,修改人员应当针对自己修改的情况制定一个修改的说明书,具体说明修改了哪些部分,被修改之后的软件如何使用和进行日常的维护。除了编写说明手册之外,还可以编写参考手册。针对该软件可能会发生的错误情况进行预测,并在该手册中写出会出现的情况,具体解决办法。注意该语言的运用要通俗易懂,因为很多客户并不具备很多的计算机专业知识。在对该软件完成维护之后,要进行回归测试,测试圆满完成后,可交给客户去使用。一个软件,在进行了多次修改和完善之后,其维护性就会逐渐降低,当其降低到一个最低程度时,再一次修改已无法满足客户提出的需求,因此应当放弃该软件,重新根据客户需求开发新的软件。

四、软件维护的副作用

对软件进行反复的修改和完善,虽然可以满足客户提出的不同需求,但是其自身也有一定的风险。因为从理论上来说,在每一次对软件进行修改的同时,都增加了错误发生的可能性。对该错误的发现,可以通过文档的设计和最后的回归测试来解决,但是仍然不能忽视一个问题,就是维护软件会产生的负面效果。其主要表现在如下的几个方面:代码修改:对代码的修改一定要谨慎,不到逼不得已,尽量不要修改。因为一个看似很简单的代码修改工作,就可能对整个软件产生很大的影响,影响可能大到整个软件无法正常运行。虽然副作用有大有小,但是不可否认的是,对代码进行修改很可能就会产生一些错误,而正是由于这些看似很小的错误,导致软件质量的下降。因此,在代码修改过程中,一定要贯彻一个法则,即Murphy法则。数据结构的修改:在修改软件过程中,会不可避免地对数据结构也进行一定的修改。数据结构在整个软件中,占据很重要的地位。因此在对其进行维护的时候,需要对立面的部分要素进行完善,完善过后的软件可能无法再适应现有的数据,导致其在日后的运行出现错误。这就需要软件维护者,在设计文档的时候小心谨慎,降低数据修改带来的风险。

五、结束语

计算机软件论文第4篇

将自身的功能发挥出来。插件功能的发挥必须通过软件预留的接口。软件在开发的过程中需要在软件中留下接口,其意图就是为软件后期插入插件做准备。具体插件的形式和规范由设计者来定。所以在软件的使用期间,只要开发者将该软件的接口规范公开,其他的开发人员就能根据这个接口规范,进行相应的插件开发。动态链接是一种灵活多变的模块,这个模块可以不同的程序使用,只要这个程序具备可以连接的接口,形成的文件名字为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结束语

计算机软件论文第5篇

一、计算机软件立法保护的沿革

(一)计算机软件的概念及特征

计算机软件是指计算机程序及其有关文档。“计算机程序”是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或可被自动换成代码化指令序列的符号化指令序列或符号化语句序列。计算机程序包括源程序和目标程序,同一程序的源文本和目标文本应视为同一作品。“文档”是指用自然语言或形式化语言所编写的文字资料和图表,用来描述程序的内容、组成、设计、功能规格、开况、测试结果及使用方法。

计算机软件具有自身的特点。首先,它是人类脑力劳动的智慧成果。计算机软件的产生,凝聚了开发者的大量时间与精力,是人脑周密逻辑性的产物。其次,它具有极高的价值。一部好的计算机软件必然具有极高的社会价值和经济价值,它能应用于社会的各个领域,而且还能促进软件产业的发展,并取得良好的经济效益。再次,它具有易复制、易改编的特点,往往成为不法分子盗版和篡改利用的对象。

(二)计算机软件立法保护的沿革

1、计算机软件版权立法保护的历史发展及现状

由于计算机软件具有上述特点,自七十年代以来,世界各国普遍加强了计算机软件的立法保护。1972年,菲律宾在其版权法中规定“计算机程序”是其保护对象,成为了世界上第一个用版权法保护计算机的软件的国家。在美国,美国版权局于1964年就已开始接受程序的登记,国会于1974年设立了专门委员会,研究同计算机有关的作品生成、复制、使用等问题,并于1976年和1980年两次修改版权法,明确了由版权法保护计算机软件。随后,匈牙利于1983年,澳大利亚及印度于1984年先后把计算机软件列为版权法的保护客体。由于软件版权具有严格的地域性,通过订立国际条约实现软件版权的国际保护就显得十分必要。目前,尚没有关于计算机软件保护的专门性国际条约。世界知识产权组织曾于1978年公布了称为《保护计算机软件示范条款》的建议性文件,作为对各国保护立法的一种建议和参考,但在公布后的实践中,该师范条款并未发生多大影响。1983年世界知识产权组织提出了《计算机软件保护条约》草案,要求参加条约的国家使之国内法律能达到一定的“最低要求”,以防止和制裁侵犯软件权利人权利的行为。但是各国专家普遍认为,缔结新条约的难度较大,且在目前情况下,大部分国家都以版权法保护计算机软件,只要能将计算机软件纳入版权法的国际公约中,就能达到保护的目的。1994年4月15日,关贸总协定乌拉圭回合各缔约方在马拉签署了《与贸易有关的知识产权包括假冒商品贸易协议》(TRIPS),其第10条规定“计算机程序,无论是原始资料还是实物代码,应根据《伯尔尼公约》(1971)作为文学作品来保护。”另一方面,世界知识产权组织于1996年12月20日通过了《世界知识产权组织版权条约》,其第四条明确规定不论计算机程序表达方式或表达形式如何,均作为《伯尔尼公约》第2条意义上的文学作品受到保护。这两个《协议》和《条约》为国际间计算机软件版权保护提供了统一的标准和依据。

2、计算机软件专利保护的立法。

在大多数国家,都没有直接把计算机软件纳入专利法的保护范围,因为一开始计算机软件被认作是一种思维步骤。根据各国的专利法,不能成为专利法的保护客体。但在实践中,人们认识到当计算机软件同硬件设备结合为一个整体,软件运行对硬件设备带来影响时,不能因该整体中含有计算机软件而将该整体排除在专利法保护客体范围之外,计算机软件自然而然地应当作为整体的一部分可得到专利法的保护。固在日本1976年公布的有关计算机程序发明审查标准第一部分、英国1977年公布的对计算机软件的审查方针,及美国1978年对计算机软件发明初步形成的FREEMAN两步分析法审查法则及它们的后续修改中普遍规定:单独的计算机软件是一种思维步骤,不能得到专利法的保护;和硬件设备或方法结合为一个整体的软件,若它对硬件设备起到改进或控制的作用或对技术方法作改进,这类软件和设备、方法作为一个整体具有专利性。

在国际上,涉及计算机软件专利保护的国际性公约有两个,一个是1973年10月5日签署,1977年10月7日生效,1979年6月开始实施的欧洲专利公约,它规定对软件专利的审查标准要注重实质,一项同软件有关的发明如果具有技术性就可能获得专利。另一个是1976年6月19日签署,1978年1月24日生效的专利合作条约,它规定了软件专利的地域性限制:一个软件在他国获得专利的前提是进行专利申请。

3、计算机软件商业秘密保护的立法。

在未采用版权法保护计算机软件之前,人们一直使用商业秘密法对软件进行保护,当现在国际上大多数国家纷纷将软件纳入版权法保护范围时,与计算机有关的某些数据和信息仍受商业秘密法的保护。但绝大多数国家都没有专门的商业秘密法(除美国等个别国家外)。在这些国家商业秘密法的内容散见于合同法、反不正当竞争法、刑法及侵权法中。但是国际上对计算机软件采取何种方法保护并未达成共识,各国法学家在版权法、专利法、商业秘密法、专门立法中冥思苦想,比来较去。日本、韩国和巴西都曾试图不用版权法,而采用另行制订新法的方法来保护计算机软件。他们指出无论采用专利法还是版权法来保护计算机软件,都是不合适的,力主制定专门的法律来保护。但由于美国强烈反对,迫于压力,日本、韩国和巴西最终仍通过修改版权法,把计算机软件列为保护对象。

二、计算机软件版权保护的利与弊

计算机软件立法保护的是可能受到侵害的权利人的权利。复制、抄袭或者剽窃是侵害计算机软件权利人权利的主要方式,这一点与传统的文学作品权相类似。而版权法的一大主要内容就是禁止他人非经权利人许可而复制、抄袭、剽窃其作品。因此,将计算机软件列为版权法的保护对象具有以下的优点:首先有利于满足软件权利人禁止他人非法复制、抄袭、剽窃其软件的要求。由于计算机软件本身具有的易复制易改编特点,侵害软件权利人的行为十分容易进行。但计算机软件的开发需要耗费开发者的大量时间、精力,投入大量的物力、财力,如不对其进行有效的保护,显然不利于促进整个软件行业的发展。将计算机软件纳入版权法保护,有利于打击猖厥的侵权活动,保护权利人的合法权益。其次,有利于国内国际对计算机软件的保护。世界上大多数建立版权保护制度的国家都是《伯尔尼公约》和《世界版权公约》的成员国,如果这些国家都利用版权法保护计算机软件,则很容易做到软件的国际性保护,而无需再耗费时间、精力订立新的专门的软件保护多边公约。再次有利于软件的创新和优化。版权法只保护软件的表达方式,而不保护构思软件的思想本身,这样其他开发者就可以利用已有软件的创作思想,从中得到启发,开发研制出新的软件,促进软件的优化与科学技术的进步。再次保护范围广泛。版权法要求保护对象达到的标准不高,只需要具有独创性,因此几乎所有的计算机软件都可以受到版权法的保护。最后保护手续简便。最多仅需要注册登记,而且在我国,实行的是软件自动产生版权原则,登记注册手续仅仅是提出软件纠纷行政处理或诉讼的前提,而非获得版权的必要条件。

但计算机软件到底不同于一般文学艺术作品,其具有一般文学艺术作品不具备的属性:作品——工具两重性。说它是作品,是指计算机软件可以借助于文字、数字、符号等表现出来,并能用磁带、磁盘、光盘、纸张等媒体加以固定;说它是工具,是指计算机软件一般都具有功能性,都是为了解决一定问题或达到一定目的。且它都是通过控制计算机硬件,实现一定的逻辑运算过程,来达到预期的效果。

由于计算机软件具有不同于一般文字艺术作品的特殊性,用版权法保护计算机软件的严重缺陷日益暴露出来:1.版权法只保护计算机软件的表现方式而不保护其思想内容。但计算机软件中最重要的就是其思想。软件的构思技巧和技术方案是一部计算机软件成功的关键,也是其最有价值的部分,权利人希望对这些构思技巧和技术方案享有较长时间的专有权。可是版权法不保护思想,使其他开发者能轻易的使用这些“思想概念”开发出表现方式不同的软件,这对原软件权利人是极不公平的。2.版权法中没有关于禁止使用的规定。计算机软件的价值在于其使用性,而版权法规定为个人学习、研究和欣赏,使用他人已经发表的作品为合法,这是有悖于软件性质的。由于软件具有易复制性,其在私人之间的传递使用,必然造成计算机软件市场销售份额的减少,从而损害软件权利人的经济利益。因此,即使是为个人的学习、研究而复制使用软件,也应认定为不合理使用。3.计算机软件侵权认定困难。由于版权法所保护的计算机软件表现方式与不保护的思想之间很难划出一条明显的分界,所以使得侵权行为难以认定,纠纷难以解决。虽然在国际上有的学者提出实质性相似加接触来认定计算机软件的侵权,但是由于该标准主观性太强,于侵权认定并无多大帮助。

鉴于版权法保护计算机软件存在着上述严重的弊端,许多学者开始考虑其它方法来保护计算机软件。专利法、商业秘密法就是这些学者考虑的方法之一。

三、专利法、商业秘密法的保护计算机软件的利与弊。

用专利法保护计算机软件,相对于版权法保护有以下三个比较明显的优点:第一专利法保护计算机软件创造性方法,及计算机软件所特有的源代码。源代码也称源程序,是计算机软件开发者创造的一种特有的书写计算机程序的语言,只要掌握源代码则可对软件开发者的现有软件进行任意的修改,使之成为另一个表现形式不同的软件。由于版权法保护表现方式不同的作品,则非法取得软件开发者源代码而较轻易改编成的其他软件很可能受到版权法的保护,这对软件的开发者是很不公平的,但专利法保护,软件开发者创作的源代码,则非法改编成的计算机软件是不受保护的,故在这一点上,专利法保护计算机软件优于版权法的保护。第二专利法对计算机软件的保护程度高。专利保护具有强烈的独占性、垄断性,一旦计算机软件被授予专利权后,其他相同或相似的软件就再也不能取得专利权。这对强调保护所谓计算机软件思想即软件构思技巧、技术方法的计算机软件开发者是十分重要的。如果其他计算机软件开发者再开发与已取得专利权的软件表现方式或思想相同或相似的计算机软件将被认定为侵权。第三专利权保护计算机软件的期限比较合理。专利法对发明的保护期限为20年,明显低于版权法的国际通例——作者有生之日加死后50年(《伯尼公约》)或25年(《世界版权公约》),这比较接近计算机软件的实际经济寿命,且有利于推动科学的进步。但是专利法保护计算机软件仍然有一系列无法克服的弊端,这些弊端在实践中体现的特别明显:1.专利的公开性有悖于软件开发者的意愿。依专利法规定,在受理一项专利申请后,必须将该申请的相关文件向公众公开,其中必然包括计算机软件专利申请人所提供的软件思想与表现方式,这正是大部分软件开发者所不愿意做的。2.取得专利权所应有的“三性”大多数软件并不具备。专利权的取得必须是申请的发明同时具备新颖性、创造性与实用性三大条件,但只有极少数的计算机软件能同时具备这些条件,而且专利的三性审查一般是通过专家的评估与检验,计算机软件的三性往往无法被实际测出,这又降低了计算机软件取得专利权的可能。3.专利权取得的法律手续相对繁琐。申请专利需要续行一系列的法律手续,在专利被批准前,须经过十八个月到三年的审查期限,这与计算机软件高开发、高淘汰的客观情况极不适应。

从上述分析可以看出,用专利法对计算机软件加以保护困难重重,所以有的学者把目光投向了商业秘密法。商业秘密是指不为公众所知悉,能为权利人带来经济利益,具有实用性并经权利人采取保密措施的技术信息和经营信息。对于计算机软件来说,如其核心——源代码,是符合商业秘密所独具的非公开性、商业价值性和保密性三性的。而且适用商业秘密法保护计算机软件还具有以下二个优点:第一,商业秘密法没有关于保护期限的规定。因为商业秘密的专有权是靠保密来维持的。只要权利人能保密,则其专有权的保护期就能是无限的。因此,在不泄密的情况下,计算机软件权利人的利益能得到最大限度的保护。第二,以商业秘密保护计算机软件,商业秘密权利人比传统的知识产权(专利权、版权、商标权)多了两项权利:制止他人披露和制止他人获得有关信息。所以计算机软件权利人有权制止其他人未经许可而披露、获得或使用有关信息、技术。那么,用商业秘密法保护计算机软件是否十全十美了呢?不,这里仍有两个重大缺陷:首先,属于商业秘密的,必须是“并非通常从事有关信息工作之领域的人所普遍了解或容易获得的”未披露过的信息(具《与贸易有关的知识产权包括假冒商品贸易协议》第39条),但是由于“通常从事有关信息工作之领域的人”的地域性限止,可能导致某项在国外已不属于商业秘密的信息在国内仍然未被披露,如果据此保护该商业秘密在国内的权利,这对国内的相关业者显然不公平的。对计算机所含有的某些商业秘密来说,也是如此。其次,商业秘密法并未规定反向研究的禁止。反向研究又叫反向编译,是通过对一计算机软件进行反编译,得到该程序的源代码。前面已经说过计算机软件的源代码是一部软件的书写语言,是软件核心秘密,其对于软件开发者而言,是一种非常宝贵的技术资料。一般来说,计算机软件开发者不愿公开源代码,并采取了保密措施,因此不论软件是否公开,软件源代码都应该做为商业秘密受到保护。但是,大部分有关商业秘密所有人有权禁止和(或)获得损害赔偿的行为的立法都没有规定对反向研究的禁止。

综上,专利法和商业秘密法保护计算机软件虽然都有一定的优点,但它们仍旧存在着一系列有待各国立法乃至各国司法进一步研究、解决的问题,因此用它们保护计算机软件仍是不成熟的,固各国学者最终把注意力集中到了对计算机软件的专门立法保护。

四、计算机软件单独立法保护的必要性。

知识产权是人们对无形的智慧成果加以保护,对其所享有的专有权,它是将具有“社会公共财产”性质的信息纳入私权的范围,若不加注意就会出现保护过强,损害社会公共利益的情况,但若保护过弱,又达不到知识产权保护的本意。在现代社会中,由于存在着诸多对知识产权限制与反限制的选择,因此存在一定程序创作者、开发者、传播者、使用者行使权利中的对峙等现实,知识产权法作为以促进科学文化事业发展,保障开发者、所有者及其他主体利益、实现社会公平为价值目标的法律,如何能统筹兼顾,真正发挥作用,唯有坚持平衡协调各种可能相互冲突的因素。从这个意义上说,平衡是知识产权法的基本精神。但是,由于社会经济、技术、文化意识传统的多方面制约和影响,知识产权权利人和社会公共利益之间,绝对的平衡状态在现实中是不存在的。如何能在现行的法律模式中达到知识产权权利人与社会公共利益的最大化平衡,即平衡的最优化,是立法者主要考虑的问题,因此在论及版权法、专利法、商业秘密法保护计算机软件时,学者们虽都认识到它们之间的优缺点,但正是由于版权法、专利法、商业秘密法保护计算机软件都不能最大效率的平衡权利人与社会公共利益,固学者们都趋向于制订一部能最优平衡保护计算机软件的专门立法。

前文已经讲过计算机软件保护的客体主要为其表现方式和思想。尤其计算机软件的思想棗技术构思是计算机的核心。本文在谈到计算机软件思想时曾以源代码为其表现性的一种。源代码对计算机软件的开发十分重要,一项计算机软件的创新性往往是由所使用的源代码的创新性带来的。而且,使用同一源代码可以写出语句表达不同而功能相似的计算机软件。因此,软件行业强烈要求保护源代码方面的创造性成果是可以理解的。但版权法不保护作品的思想,作为作品的计算机软件所使用的源代码属于其技术构思,所以从我国的《计算机软件保护条例》第7条到美、日、韩等国家的版权法规都有不予保护的规定。显然,为了保护自己独自开发出来的新源代码的权利,开发者可以将其作为商业秘密采用保密的手段加以保护。但法律并不禁止对计算机软件的反向研究。因此以商业秘密保护计算机软件是不可靠的,相反在专利法方面,由于计算机技术水平的飞速发展,在美、日等国出现了大量利用他人创造的源代码开发出功能相似,但并不侵害他人计算机软件版权的计算机软件,因此,美、日等国已逐步调整了对计算机软件的专利审查基准,把计算机软件本身的专利问题同计算机软件设计技术的专利问题区别对待,把源代码本身同利用源代码解决的技术问题区别对待,大大放宽了相关限制。最近十多年,在美、日都各有数百项有关计算机软件的发明获得专利权,其中包括不少同源代码有关的发明。

综上所述,作者认为为实现计算机软件权利人与社会公共利益之间的最优平衡,为实现对计算机软件表现方式与思想的双重合理保护,对计算机软件的立法保护应采取版权法与专利的双重模式,即所谓的工业版权法。以工业版权法保护计算机软件在国际上虽然没有明确的立法,但我们推敲各国的相关法律,仍有迹可寻。如我国的计算机软件保护采用的是版权保护方式,但却规定了受保护的软件应是提交登记,这是传统版权法所没有的。如日本版权法规定了“在计算机使用上明知是侵犯他人版权的程序复制品”则使用人也将被视为侵犯程序权之人。而在传统的版权法中,是没有使用权的,只有在专利权的权利内容中,才存在“使用权”。如美国在简单地把软件纳入版权法后,近年又通过一系列判例加入工业产权的内容。事实上,无论同意还是反对以“工业版权”保护计算机软件的国家,都从不同方面朝着工业版权保护发展。

五、工业版权法保护计算机软件的构想。

以工业版权法保护计算机软件是计算机软件立法保护的大势所趋,现在笔者就工业版权法对计算机软件进行保护的立法所应具有的特点,提出自己的一些观点:

1、计算机软件工业版权法保护的客体包括软件的表达方式,除此之外,还在一定程度上包括软件的思想。对计算机软件表达方式的保护是版权法保护计算机软件的主要内容,也是现有法律体制下对计算机软件法律保护的最大贡献,在工业版权法中当然应该延续下来。对计算机软件思想的保护,历来是学者们争议的焦点,但从实践来看,对“和硬件设备或方法结合为一个整体,对硬件设备起到改进或控制的作用或对技术方法做出改进的软件”,其本身的思想是可以因具有专利性而受到工业版权法的保护的。

2、计算机软件工业版权法采取自愿登记制及审查制,要求软件公开。为避免重复开发及有利于国家对软件行业的管理,工业版权法应采取登记审查制。即计算机软件只有在经过登记并审查合格后,才能获得工业版权法的保护。主管机关应及时将通过审查的计算机软件有关资料向社会公开,供其他软件开发者在开发初期自行检索,以避免重复开发。

3、软件开发者有权选择商业秘密法保护计算机软件。这是与上面软件的自愿登记制相对应。由于登记审查制要求将软件的相关资料公开。而部分软件开发者并不愿意这样,他们认为公开软件只会使他人更为容易地获得其软件秘密。且因为软件时效性较短,诉讼成本较高,使他们不愿接受登记审查制。计算机软件工业版权法的自愿登记制满足了这部分软件开发者的愿望,他们可以自行选择是否进行登记,以取得软件工业版权保护。在不进行登记的情况下,软件开发者获得的是商业秘密法的保护。

4、计算机软件工业版权法的审查标准高于版权法,低于专利法。其审查标准为创造性、新颖性与功能性。创造性即软件是由其开发者所完成,这是计算机软件开发者取得任何有关该软件权利的前提。新颖性是指计算机软件的表达方式(某些情况下包括其思想)与其他以取得工业版权的软件有所区别。功能性是指申请取得工业版权的计算机软件应当具备一定的功能,仅仅是程序语句的组合而不具备任何功能的软件不能获得工业版权的保护。

5、计算机软件工业版权规定的软件保护期较短。由于计算机软件本身生命周期较短,也为了促进科学技术的进步及计算机软件业的发展,计算机软件的保护期不宜过长。工业版权对计算机软件的保护期规定以十五年为佳。

6、计算机软件工业版权法的权利人的权利包括公开权、复制权、使用权、出售权、租赁权、修改权等。计算机软件开发者拥有使用权,即不经许可而使用他人的软件将构成侵权。根据使用权,软件开发者可要求一份软件只能用于一步计算机,其他任何情况下再次使用均构成侵权。计算机软件开发者的修改权是一种有限的修改权,软件开发者可以提出对软件的“补丁”或升级版本,但是否使用,由软件用户自行决定。

制定单行的计算机软件工业版权法可能与现今版权法保护计算机软件的流行趋势相背,但从长远看,笔者认为这是计算机软件立法保护的最终模式。

参考资料:

《知识产权纵横论》惠永正、段瑞春、郑成思上海科学文献出版社

《著作权的管理和行使文论集》国家版权局上海译文出版社

《知识产权的法律保护》李强中国政法大学出版社

《美国专利法判例选析》张乃根中国政法大学出版社

《知识产权法教程》刘春田中国人民大学出版社

《计算机法律概论》(美)刘江彬北京大学出版社

《计算机软件的版权与保护---计算机软件保护条例应用》丁国威、赵钰梅、李维宜复旦大学出版社

计算机软件论文第6篇

一、 引言 人类社会已经踏入了21世纪。科学技术的发展使人类的活动范围不断扩展,计算机网络的进步与发展将人类社会推进了信息社会和知识经济时代,并创造了一个超时空的网络空间,其中,计算机软件产业的发展在很大程度上影响着一个国家的社会经济,并迅速地渗透到人们的生活,产生巨大的冲击力。可以说:我们生活在一个网络时代。 但互联网提供给我们的并不只是一个新的平台,它还给人们提供了一个迥异于传统市场经济的追逐利益的场所和手段,而正是由于这种新的场所和手段,在增进经济发展和社会进步的同时,也打破了原有法律体系所建立起来的利益平衡。 自20世纪60年代软件产业兴起开始,计算机软件被侵权的现象就逐渐凸显,几乎在同一时期,德国学者首先提出了计算机软件的法律保护问题。至此,关于计算机软件的法律保护问题的讨论,一直争论不修。目前,对计算机软件进行保护,国际上比较流行的做法是将其纳入版权法,有些国家除版权法外,还兼采用专利法、商业秘密法对其进行综合保护,另外,还有一些国家采取专门立法的方式进行保护。在理论上,还有学者认为应单独采用专利法进行保护。⑴本文试从法律、技术角度出发,结合目前我国和国际上的相关规定,介绍并评析当前几种主要的软件知识产权保护模式,并进一步阐释计算机软件的保护机制,以求完善我国计算机软件知识产权保护立法,适应国际计算机软件知识产权保护趋势。 二、 计算机软件概述 “软件”一词于20世纪60年代初从国外传来,英文“software”,有人译为“软制品”,也有人译为“软体”,现在人们统称它为软件。目前公认的解释认为软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。⑵在通常的论述中,计算机软件一词经常与计算机程序混用。但是,根据世界知识产权组织(WIPO)1978年公布的《计算机软件保护标准条款》中对计算机软件的定义,计算机软件包括三部分:(1)计算机程序:包括附者于任何媒介上的原始码、目的码、微码等以任何语言、文字或符号所完成之计算机程序;(2)程序描述:包括资料结构、演绎法则、流程图;(3)辅助资料:包括程序规格书、操作手册、使用手册。在我国,计算机软件是指计算机程序及其有关文档。计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。文档,是指用来描述程序的内容、组成、设计、功能、规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。⑶因此,计算机软件包含了计算机程序并且不局限于计算机程序,还包括与之相关的程序描述和辅助资料。笔者认为,从某种角度上讲,区分两者的意义不大,甚至在普通公众将两者视为同一的情况下,区分两者可能带来更大的困惑和不便,因此本文将计算机软件和计算机程序作为同一概念加以论述。 计算机软件具有以下特点: 1.软件是一种逻辑实体,不是具体的物理实体。具有抽象性。与计算机硬件和其他工程对象有着明显的差别。人们可以把他记录在纸面上,保存在计算机的存储器内部,也可以保存在磁盘、磁带和光盘上,但却无法看到软件本身的形态,而必须通过观察、分析、思考、判断,去了解其功能、性能和其他特性。 2.软件的生产与硬件不同,在其开发过程中没有明显的制造过程,也不象硬件那样,一旦研制成功,可以重复制造,在制造过程中进行质量控制。软件是通过人的智力活动,把知识与技术转化成信息产品。一旦某一软件项目研制成功,即可大量复制,所以对软件的质量控制,必须着重在软件开发方面先工夫。也正是由于软件的复制非常容易,因此出现了对软件产品的保护问题。 3.在软件的运行和使用期间,不会出现硬件的机械磨损、老化问题。任何机械、电子设备在使用过程中,其失效率大都遵循“浴盆曲线”。在刚投入使用时,各部件尚未作到配合良好、运转灵活,容易出现问题,经过一段时间的运行,即可稳定下来。而当设备经历了相当长的时间运转,就会出现磨损、老化,使失效率越来越大,当达到一定程度时,就达到了寿命的终点。而软件不存在磨损和老化问题只存在退化问题。在软件的生命周期中, 为了使他能够克服以前没有发现的问题使他能够适应硬件、软件环境的变化以及用户的新的要求,必须多次修改(维护)软件,而每次修改又不可避免引入新的错误,导致软件失效率升高,从而使软件退化。 4.软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。软件不能完全摆脱硬件而单独活动。有些软件依赖性大,常常为某个型号的计算机所专用,有些软件依赖于某个操作系统。 5.软件的开发至今尚未摆脱手工艺的开发方式。软件产品大多是“定作”的,很少能作到利用现成的部件组装所需的软件。近年来,软件技术虽然取得了很大进展,提出很多新的开发方法,例如利用现成软件的复用技术、自动生成系统研制了一些有效的软件开发工具和软件开发环境,但在软件项目中采用的比率仍然很低。由于传统的手工艺开发方式仍然占统治地位,软件开发的效率自然受到很大限制。 6.软件本身是非常复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,例如,它所反映的自然规律,或是人类社会的事物,都具有一定的复杂性;另一方面,也可能来自程序逻辑结构的复杂性。软件开发,特别是应用软件的开发常常涉及到其它领域的专门知识,这对软件开发人员提出了很高的要求。软件的复杂性与软件技术的发展不相适应的状况越来越明显。 7.软件的开发成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,因此其成本比较高,美国每年投入软件开发的费用要高达几百亿美元。 8.相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理方式等问题,甚至涉及到人的观念和心理。⑷计算机软件按功能区分,包括系统软件和应用软件两大类。 系统软件的功能在于提供人与计算机的沟通桥梁,将使用者的命令转换成计算机的可执行程序,驱使计算机执行工作,之后把结果输出给使用者,系统软件主要包括作业系统、翻译程序、连结程序、载入程序、公用程序、程序语言、资料库管理系统及监督程序。 应用软件主要是用于解决某些特定问题,种类和用途年繁多。 三、 计算机软件的版权保护 由版权法保护计算机软件是目前国际上主要采用的方式。1964年,美国版权局正式接受计算机软件的版权登记,并提出三个条件:第一,有关的计算机程序必须具备足够的独创性;第二,程序出版时必须载有版权声明;第三,如果有关程序是以单一的机器可读形式出版的,请求出版登记者必须交存一份“自然人”可以阅读的程序复件。但是此时美国的版权法并没有作出相应的反应。⑸1972年11月,菲律宾率先在其成文版权法(著作权法)中确认计算机程序是其保护对象,成为世界上第一个以版权法保护计算机程序的国家。1980年,美国国会通过“96-517号公法”,修订1976年著作权法第101条和第117条,正式将计算机软件纳入著作权法的保护范围。随之,许多国家都加强了计算机程序版权保护问题的研究和立法、司法活动。再此期间,美国采用大规模的外交、经济、法律等多种途径,推动全球的计算机软件的立法走向版权法保护的轨道。目前世界上已有40多个国家和地区采用版权法保护计算机软件。根据各国不同情况可以分为三种类型:一是对版权法进行修订,以明确规定计算机程序是版权法的保护对象,如英国、法国、加拿大和我国台湾地区;二是在版权法范围内,单独颁布一项法规,实施对软件版权的保护,如韩国、巴西;三是通过判例、命令等方式确认计算机程序受版权法保护,如阿根廷、泰国和土耳其等近20个国家。⑹之所以目前大多数国家对计算机软件加以版权法保护,其理由在于:一是计算机软件具有创造性和可复制性特征,与版权法的保护客体具有相似之处。而且,对计算机的侵权行为主要表现为复制、演绎以及对非法复制品的销售(传播)行为,这些行为也正是为大多数国家版权法所禁止。二是版权法实行自动保护原则,计算机软件一旦开发完成,相关权利人即可享有版权保护,便于软件权利人版权的取得与维护,手续简便,费用低廉,有利于先进技术的推广。三是版权仅保护作品的表现形式,而不保护其思想,便于其他软件开发者利用、借鉴已获版权保护的软件作品去开发、创作新的软件,以推动技术的不断进步。四是从国际保护来看,由于美国的推动,世界上已有的计算机软件知识产权保护公约如《与贸易有关的知识产权协议》(TRIPS协议)和世界知识产权组织版权公约》均把计算机程序纳入了版权法的保护体系,逐渐形成了以版权法为软件保护模式的潮流。我国《著作权法》和《计算 机软件保护条例》也把计算机软件纳入版权法保护体系。 但是,对于计算机软件采用版权保护方式并非十全十美,以版权法保护计算机软件有其自身的缺陷:一是传统版权法只保护作品的表现形式,而不保护思想本身。 TRIPS协议第9条第2款规定:版权保护应延及表达,而不延及思想、工艺、操作方法或数学概念本身。与传统作品不同,计算机软件中的构思技巧和技术方案恰是软件作中最具有价值的部分,是程序作品的精华所在,专业人士只要掌握这种构思,即可开发出大同小异的软件,版权保护不能解决采用不同表达方式抄袭同一程序方案的问题,因此,版权法对计算机软件的保护显然不够充分。另外,软件作品的思想与表达之间的界限往往难以区分,因为将流程图代码化的工作对于专业人士来说是件非常简单的事情。二是版权法并不禁止他人使用作品,而软件的价值正是终于使用,这是由其功能性和技术性所决定的。计算机软件的目的是解决特定问题,同硬件相结合以获得某种经过和实现某种功能,而并非为了满足人们的精神享受。因此从某种意义上说,传统版权法的保护范围对于软件权利人来说显得过于狭窄,使得本应由软件权利人享有的专用权出现了大量空白。三是版权法对作品的保护期一般是作者有生之年加亡后50年。对软件作品来说,生命周期都较短。软件的实用性推动着软件开发者不断推出新的软件,计算机软件更新换代的速度不断加快,对软件作品加以50年的保护期是没有必要的,反而不利于软件产业技术水平的提高。因此,寻求计算机软件其他保护方式越来越受到人们的重视。 四、 计算机软件的专利权保护 对于软件是否使用专利保护,争议很大,目前国际上只有少数国家肯定了对软件的专利权保护,并在具体适用中做了较为严格的规定。由于计算机软件版权保护的局限性,随着计算机应用的普及和软件对人类生产生活及经营活动的影响,计算机软件的专利权保护被重新提出并越来越受到重视。 如所周知,计算机网络发端于美国,在知识产权保护领域,美国的研究水平和保护是首屈一指的。同样,在对计算机软件的专利权保护方面,美国也走在了世界的前列。 1981年,美国联邦最高法院在Diamond v. Diehr案中第一次向软件专利打开了大门,成为美国计算机软件专利史圣约翰的一个重要里程碑。该案的基本案情是:Diehr的专利为处理橡胶于模具当中最佳硫化的时间,其利用由模具内部所量取的实际温度,自动输入一台利用Arrhenius方程式不断重新计算橡胶硫化时间的电脑内。当利用方程式所计算的时间与实际花费的时间相等时,便可以自动打开压模机。1976年,专利局认为其专利请求书中新颖的部分是利用计算机软件控制而进行的步骤,认定其不属于法定标的物,而其余部分皆为常规的和该工序所必不可少的。1979年,关税与专利上诉法院推翻了专利局的决定,认为此专利利用计算机软件完成先前须以人工方式完成的步骤,是方法上的改进,属于可专利标的。即一项发明是否可获得专利,关键不在于它是否涉及电脑的使用,只要专利申请的内容符合专利法的规定,即使该发明在实施过程中涉及了电脑,也应能够获得专利。该项申请的专利要求并没有导致数学算法或改进的计算方法,而是一种通过解决橡胶产品压模中产生的实际问题,进行橡胶产品压模的改进工序,可以授予专利。1980年,专利局要求最高法院复审,最高法院支持了关税与专利上诉法院的判决,决定授予该项发明专利权。在判决书中,法院首先承认了专利保护的对象不及于自然法则、自然现象和抽象观念,并总结道:某属于法定主题的权利要求并不会仅仅因为它利用了数学公式、计算机程序或数字计算机而变得不属于法定主题。⑺1971年起草的《欧洲专利公约》第52条第2款明文排除了计算机软件的可专利性,被认为第一个将计算机程序本身排除在发明之外的国际公约。欧洲专利局 1978年的专利审查基准也表示,一项发明归既有技术的贡献若仅表现在计算机程序,则应驳回其专利申请,而不论其专利请求范围如何表现此项发明。根据该审查基准,载体上的计算机程序本身不具备可专利性。这种限制使得软件产业在欧洲无法获得对抗竞争者商业活动所需要的最大保护而广受各界批评。然而在事实上,该局至2000年初为止核发软件相关之发明专利已有15000件,其专利种类繁多,涉及专家系统、神经网络、商业及生产管理系统、计算机辅助设计、制造系统、计算机绘图、应用程序、自然语言处理、最佳化软件、科学分析、仿真、语音辨识、语言组合、电子表格、教学系统及文字处理软件等。与此同时与,欧洲一些国家如德国虽在专利 法中遵循《欧洲专利公约》的上述规定,但德国最高法院却一再表示计算机程序与专利之技术思想并非对立、互斥之概念,一项发明是否具有可专利性与其是否被定性或称为或包含计算机程序无关。依据这类判决,计算机程序可分为技术性与非技术性两大类。前者与技术工具及技术处理过程结合,自然属于技术领域而具备可专利性;反之,后者只有在“为数据处理设备提供新颖的建构方式,或该设备可从中得出以往既非常见亦非显而易见之新的使用方式时”,始具有可专利性,范围很小。德国联邦法院在司法判决中明显放宽承认计算机程序具备技术性质之情形,使得直接涉及计算机本身功能并且使得计算机之组件得以共同作用者亦具备技术性与可专利性。2000年10月30日欧洲专利立法机构(即行政理事会)关于欧洲专利公约修正草案的决议已经决定删除将计算机程序本身排除在专利对象之外的规定。⑻从发展趋势上看,计算机软件尤其是其中的程序部分与专利法的关系可能回越来越密切。一台计算机如果没有程序,只是一堆硬件的堆砌,不能实现任何技术功能。只有在其中安装了系统程序后,计算机才可能在系统程序的指挥下实现其最为基本的功能。根据特定的需求编制专门的软件,安装在计算机中便可使计算机具备所需要的特定功能。当第一次将某种硬件与程序组合在一起构成一台具有某种新功能如运算、控制等功能的机器,这台机器应当可以获得专利。⑼现在,美国专利局、欧洲专利局和日本特许厅都已经修改了专利审查指南,为涉及计算机软件的专利申请的权利要求开发了绿灯。在我国,关于计算机软件的专利保护在专利法和专利法实施细则中并没有明确的规定,而是体现在国家知识产权局的《专利审查指南》之中。根据2001年国家知识产权局《专利审查指南》,凡是为了解决技术问题,利用技术手段,并可以获得技术效果的涉及计算机程序的发明专利申请属于客人给予专利保护的客体。因此,涉及计算机程序的用于工业过程控制或用于测量或测试过程控制的或用于外部数据处理的发明创造主题,以及涉及计算机内部运行性能改善的发明创造主题属于可给予专利保护的对象。 以专利法保护计算机软件,优势在于:一是当一项计算机软件发明取得专利权后,专利权人在一定的时间、地域内就拥有了对该项软件发明的专有权,从而使得发明人在控制市场占有及后续产品的开发上具有更多优势,而且还有利于打破大公司的技术垄断;二是专利权的取得,以公开技术方案为前提,计算机软件源代码的公开,能够有效避免公众对对已有软件的重复开发,也在一定程度上控制的啊公司垄断技术;三是专利权的保护期较短,对于软件的保护较之版权法,更具有合理性;四是专利法较之版权法,有一套完善的鼓励发明发明创造的机制,有利于软件技术的创新;五是计算机软件的核心在于程序,而不在于相关文档,对程序的保护更接近对技术方案的保护,而不像版权法仅仅拔海程序的表达方式。但是用专利法保护计算机软件也有其不足之处:一是对计算机软件发明专利的审查周期长,而软件的生命周期一般较短;二是各国专利法对专利的审查规定了严格的实质要件、审查标准和流程,因此要获得专利权较之获得版权要困难得多;三是高昂的专利维持费,增加了软件的保护成本。⑽ 五、 计算机软件的商业秘密保护 基于软件的版权和专利权保护都不能令人满意,软件权利人自然想到了用其他法律手段来满足自己的合理要求,通过商业秘密保护就是其中之一。 虽然目前国际上对商业秘密一词尚未作出统一定义,但很多国家的法律和国家公约明确规定了计算机软件属于商业秘密范畴。我国最高人民检察院、国家科学技术委员会1994年联合的《关于办理科技活动中经济犯罪案件的意见》将技术秘密解释为不为公众所知悉,具有实用性、能为拥有者带来经济利益或竞争优势,并为拥有者采取保密措施的技术信息、计算机软件和其他非专利技术成果。各国法律并未对运用商业秘密保护计算机软件设置障碍,重要计算机软件符合商业秘密的构成要件即可作为商业秘密受到法律保护。 根据我国《计算机软件保护条例》,作为商业秘密保护的计算机软件的范围包括保密的源程序、虽公开销售,但并未或不容易被反向工程破解的目标程序、未完成的程序、保密的计算机文档如安装手册、操作指南、维护检验手册等、计算机程序的结构、顺序和组织。 用商业秘密保护计算机软件,优势在于:作为商业秘密的软件既可保护表达,也可保护思想,任何采取不正当手段或违约获取和使用信息的行为都在禁止之列;二是计算机软件的商业秘密保护突出了软件作为一种智力成果受法律保护的属性;三是以 商业秘密保护软件不必经过审批程序,更不需要公开计算机软件的核心内容;四是计算机软件权利人对其未发表而被他人窃取的资料数据或流程图可以主张商业秘密权;五是通过商业秘密保护可以限制员工跳槽后利用原单位获取的信息开发出与原单位功能相同或相似的计算机软件。缺点在于它需要花费大量的成本和严密的措施防止泄密,而且不能阻止第三人通过自行开发、反向工程产生同样功能的软件。 六、 计算机软件的商标专用权保护 计算机软件作为知识产品,是一种特殊的商品,理应获得商标专用权的保护。但是目前,软件开发者大多忽视计算机软件的商标保护。 根据传统商标法理论,当一项软件获得商标权后,商标权利人可以禁止他人基于商业目的未经授权许可擅自使用其商标,或将商标权利人的商标主要部分用作自己的商标并用于和商标权利人生产或经营的商品相同或类似的商品上,混淆消费者的认识。⑾ 七、 计算机软件的组合保护 通过以上分析可知,用任何一种现有体系保护计算机软件都有些力不从心。笔者认为,采取对计算机软件专门立法的方式进行保护是合理的,也是比较可行的。我国目前以行政法规附属于著作权法的方式进行保护,具有很大局限性,笔者建议,应当由全国人大常委会制定的《计算机软件保护法》进行保护,理由在于:一是计算机软件保护客体的特殊性决定了其不宜纳入任何现有的法律体系;二是计算机软件知识产权有其自身特点;三是用专门立法保护计算机软件符合我国国情;四是用专门立法保护有利于软件产业的发展,且不会破坏我国现有法律体系。

计算机软件论文第7篇

1 关于计算机软件测试的介绍

1.1 软件测试的概念

软件测试是指在软件运行之前,对软件的产品介绍和代码进行审核,从而保障软件的正常运行。软件测试不仅代表软件系统出现问题的可能性,同时还表示软件能够完成预定功能的程度,这两部分对于软件测试都有重要的意义。

1.2 软件测试的特点

1.2.1软件测试的动态性

软件测试是在规定输入值的情况下运行的,是一种动态的检测软件的运行状态的过程。

1.2.2软件测试的有限性

在对软件进行测试的过程中,测试的次数是有限的,不可能无限制的测试下去,同时,整个测试过程还要具有可管理性,即在测试时需要平衡测试需求与测试资源之间的关系。

1.2.3软件测试的预测性

进行软件测试之前,应该判断测试的结果是否妥当,常常采用预示程序来预测运行的可能结果,但预测程序也是软件测试技术的一大难点。

2 软件测试技术的过程分析

2.1软件测试的方案

在进行软件测试之前,都需要制定一个合适有效的软件测试方案,以确定软件测试的目的和过程,为软件测试的完成提供一个清晰有效的目标。

2.2 软件测试的开发设计

软件测试设计就是在软件开发的过程中进行的软件质量测试工作,在测试时需要提供规范的应用说明、程序设计情况,同时,软件测试设计在软件测试过程中有着重要的作用。测试设计的基本步骤为:首先利用先进的技术手段设计分析样式,然后讨论测试结果,并做成有效的测试方案,最后确定每一项测试任务都完成了,从而保障测试结果的有效性。

2.3 软件测试的准备

在测试方案开始前,需要先进行测试准备,列举测试方案中所需要的重点问题,这些问题常常有测试数据集、驱动程序和实际执行测试所需的软件等,同时需要为整个测试过程寻找合适的测试环境和测试工具。

2.4 软件测试的实施

参照之前设计的软件测试方案,利用测试用例对软件测试的项目进行全面有效的测试,并将测试情况与实际运行情况对比起来研究,从而判断测试是否成功,并进行下一步测试工序。在测试的过程中对软件的质量问题进行记录,并进行有效的修改,修改之后再按照之前的测试步骤重新进行测试,观察问题是否会再次出现,从而确保软件的质量。同时,应制定合适的测试计划,定期将软件运行测试,以保障之前测试的问题不会在出现。每完成一个测试部分,比较整个运行结果与测试方案的不同之处,并针对不同之处进行有效的调整。

2.5 软件测试的报告

将软件测试阶段得到的运行结果拿来观察和处理,观察测试观点是否完整,确认方法是否有效,并依次评定软件测试过程中的测试用例和软件质量等级,并进行测试报告总结。

3 软件工程中存在的测试问题

软件工程出现后,软件的运行质量越来越受到人们的关注,软件测试技术也开始慢慢发展,但在软件工程中常常出现一些测试问题,导致软件的质量受到影响。下面笔者就软件工程中常见的测试问题进行阐述。

(1)目前很多软件开发公司没有比较正规的软件开发手段,没有产品说明书,因此,在进行软件测试时需要先利用试探性测试技术。而利用试探性测试技术需要先了解软件的特性,并对软件的运行情况进行有效的记录,全面描述软件的功能特点,然后应用常用的几种软件测试技术来找出软件的质量问题。但在这样的情况下,一些错误、非法的没有利用价值的数据容易被作为输入数据,这样测试软件的输出结果存在较大问题,对于软件测试的进行有较大的影响。

(2)在进行软件测试时,首先要对软件的逻辑流程进行了解,描述软件的详细状态,但在一些规模很大、结构复杂的软件测试中,了解软件的运行情况是很困难的,这时,就需要降低软件测试的状态以及数量。但是在测试中,必须对每种状态都进行测试,但在实际测试中往往忽略这一问题,这将会大大影响到软件测试的效果,并产生一定的后果。

4 计算机软件测试的常用技术

软件测试技术对于计算机软件行业的发展有重要的促进意义,关系到计算机软件的运行质量,同时,还能方便人们的日常生活。计算机软件测试主要有两种手段,即白盒测试和黑盒测试,下文笔者将对此进行阐述。

4.1 白盒测试

白盒测试即逻辑驱动测试或结构测试,该方法是对系统的内部构造进行测试,检测整个应用软件内部是否正常运行的手段,在测试中,把待测系统当作一开放的盒子,通过对系统的内部程序结构进行测试来检测它的逻辑路径,从而根据在不同区域的检测信息来测试软件的实际运行情况是否与预期结果相同。目前,采用白盒测试技术常用的方法有:基本路径测试法、逻辑覆盖法、静态结构分析法和代码检查法等。与其他的软件测试技术相比,白盒测试技术需要充分了解到系统的内部构造,以便对系统的全部逻辑路径进行检测。在应用这种测试技术时,首先要检查系统的内部构造,并从整个应用的逻辑来

统计检测数据。另外,白盒测试技术对于软件测试人员快速发现软件运行异常情况,提高软件的运行效率有重要的现实意义。 4.2 黑盒测试

黑盒测试即功能测试,该方法是对软件产品的功能进行测试,从而观察软件能否正常运行的手段,在测试中,把测试系统看成封闭的黑盒子,不需要考虑整个软件系统的内部特征,只需要依靠传输数据来得出检测结果。黑盒测试主要对软件的界面和功能进行测试,仅仅只需要考虑系统的外部结构,从而达到有效进行软件测试的目的。同时,黑盒测试主要测试软件的功能,常常用于检测这样几种错误:运行界面、程序初始化和终止、数据库的访问情况、软件性能和功能等错误。在黑盒测试之前,需要采取合适有效的测试方案,以保障软件测试有计划的进行。相比其他的软件测试技术,黑盒测试操作方便,设计代码也很简单,能够从用户的角度出发去解决问题,并实现软件的功能。