第一篇:计算机软件工程师
计算机软件学院软件工程简历模版
“文档中国”搜集整理[]
2004应届毕业生个人简历
申请人 :戴永裕
院系及专业 :计算机软件学院软件工程
个人主页 :
软件工程专业介绍
华南理工大学软件是国家教育部批准的国家示范性软件学院。软件学院依托华南理工大学计算机学院办学,计算机学院师资力量雄厚,办学条件优良,毕业生深受华南地区企、事业单位的青睐,多年来毕业生一次就业率均为100%。软件学院与美国西北理工大学合作办学,聘请国外教授,采用国外最新教材及方法教学,保证一流的教学质量。软件学院已与国家十大软件园之一的天河软件园、IBM公司、中望集团等签订教学实习协议,建立高水平的、产学研紧密结合的实践基地。华南理工大学软件学院立足华南、面向世界,目标是培养具有国际竞争力的、高层次的、新型高级专门人才。
RESUME
Dai YongYu
Grade 2000 Software Engineering Department South China University of TechnologyPhone: 13560191996020-38672500 E-mail: wedneswallow@163.com
Specialty:
School of Software Engineering
Personal Data:
Birthday:Sep. 15. 1981Sex: Male
Height:170cmWeight:58kg
Permanent Region: ChaoYang GuangDong Province
Education:
9/2000~7/2004Bachelor of South China University of Technology, Guangzhou Academic Main Courses:
Mathematics:
Advanced Algebra, Discrete Mathematics, Probability, Linear Algebra
Computer Science:
C++ Program Design, Data Structure, Operating System, Database,
Software Engineering, Digital Design, Computer Networks, Computer Graphics,
Data-Centric .NET Programming with C#, IT Project Management,
Advanced JAVA2 Platform How to Program
English Skills:
College English Test Bank 4
Fluency in written and spoken English
Computer Skills:
Acquired professional certificate of “IBM Certified AIX User” Good at Graphics Design, and Network, Database programming Having a good command of computer hardware and software Familiar with many computer software technology, such as
Computer languages: C/C++, VC/C#, JAVA, HTML/XML, Database Programming,
Network Programming, etc
Operating System: DOS, windows, etc
Database: Oracle9i, SQLSever2000, Access, etc
Website Design:Dreamweaver, Flash, Fireworks, Swift 3D
Graphics Design: Photoshop, CorelDraw, Illustrator, PageMaker, etc
Program Experience:
Have written a program of„21 Points Game‟by VC language
Have owned a personal web siteused ASP.NET and DataBase
Technology
Have written a software engineering document with others
Have written some programs for the programmable machine
Have taken part in the IBM software-design match, use IBM WebSphere Portal
technology
Have so many experience about Graphics Design and Flash Design, the detail is in my
Chinese resume
Good at:
Painting, Flash Design, Degital Graphics Design, Website Design, Java ProgrammingCharacter:
Willing to work under pressure and with leadership quality. Ability to work well with others With good logistic and analytical capability. Strongly willing to take challenge
第二篇:计算机四级软件测试工程师试题及答案(推荐)
软件测试工程师是计算机四级考试类别之一,下面小编整理了计算机四级软件测试工程师试题及答案,希望对大家有帮助!
单选题
1.在软件测试中,白盒测试方法是通过分析程序的________来设计测试用例。
(A)应用范围
(B)功能
(C)内部逻辑
(D)输入数据
2.下列关于测试方法的叙述中不正确的是________。
(A)从某种角度上讲,白盒测试与黑盒测试都属于动态测试
(B)功能测试属于黑盒测试
(C)对功能的测试通常是要考虑程序的内部结构的
(D)结构测试属于白盒测试
3.在程序设计过程中,要为程序调试做好准备,主要体现在________。
(A)采用模块化、结构化的设计方法设计程序
(B)根据程序调试的需要,选择并安排适当的中间结果输出必要的断点
(C)编写程序时要为调试提供足够的灵活性
(D)以上全部
4.软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中最基础的是________。
(A)集成测试
(B)单元测试
(C)系统测试
(D)验收测试
5.下面的逻辑测试覆盖中,测试覆盖最弱的是________。
(A)条件覆盖
(B)条件组合覆盖
(C)语句覆盖
(D)判定/条件覆盖
6.下列关于逻辑覆盖的叙述中,说法错误的是________。
(A)对于多分支的判定,判定覆盖要使每一个判定表达式获得每一种可能的值来测试
(B)语句覆盖是比较弱的覆盖标准
(C)语句覆盖较判定覆盖严格,但该测试仍不充分
(D)条件组合覆盖是比较强的覆盖标准
7.下列叙述中,正确的是________。
(A)软件测试的目标是保证交付的软件产品不包含缺陷
(B)软件测试有利于降低软件产品发布后的维护费用
(C)测试包是指一个测试脚本,它由一组顺序执行的测试用例组成
(D)在V模型中,集成测试用例的设计对应于软件需求分析活动
8.一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过8个字符的字母数字串,那么,下面哪组值均属于用户名的无效等价类________。
(A)li1111111,Glenford Myers,123B12
3(B)Lin-Yie,Lin-feng,空值,linyifei
(C)lin-yifei,空值,Myers G.,genford
(D)lin-yifei,lin-fen,a111111,genford
9.下列情况通常会考虑使用自动测试的是________。
(A)对软件产品的次要部件进行测试
(B)所开发的软件产品的需求不稳定
(C)需要反复执行的测试,使用不同输入数据值进行反复测试
(D)由客户方组织的验收测试
10.同行评审是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。它主要分为管理评审、技术评审、过程评审和________。
(A)误差评审
(B)项目评审
(C)文档评审
(D)组织体系评审
11.以下哪种软件测试属于不属于软件性能测试的范畴_______。
(A)接口测试
(B)并发测试
(C)压力测试
(D)配置测试
12.软件可靠性测试的目的是________。
(A)发现软件缺陷
(B)预测软件正式运行中的可靠性
(C)控制测试过程
(D)修改软件缺陷
13.下列关于面向对象测试问题的说法中,不正确的是________。
(A)在面向对象软件测试时,设计每个类的测试用例时,不仅仅要考虑调用各个成员方法的输入参数,还需要考虑如何设计调用的序列
(B)构造抽象类的驱动程序会比构造其他类的驱动程序复杂
(C)类B继承自类A,如果对B进行了严格的测试,就意味着不需再对类A进行测试
(D)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
14.在面向对象软件的基干集成测试策略中,将基干中的模块形成基干子系统使用的集成方式是________。
(A)大突击集成方式
(B)自底向上集成方式
(C)自顶向下集成方式
(D)综合集成方式
15.以下哪一项不属于Web应用软件表示层测试关注的范畴是________。
(A)排版结构的测试
(B)链接结构的测试
(C)客户端兼容性的测试
(D)数据完整性测试
16.下面Web应用软件的测试策略中,不属于表示层的测试内容的是________。
(A)链接结构的测试
(B)浏览器兼容性的测试
(C)排版结构的测试
(D)服务器端程序的测试
17.下列不属于与浏览器兼容性测试考虑的问题是________。
(A)软件是否可以在不同的J2EE中运行
(B)不同的浏览器是否可以提供合适的安全设置
(C)脚本和插件是否适用于不同的浏览器
(D)符合最新HTML版本的页面能否在浏览器中正确显示
18.下列不属于易用性测试的是________。
(A)易安装性测试
(B)兼容性测试
(C)用户界面测试
(D)功能易用性测试
19.下列选项中,不属于面向构件提供者的构件测试目标是________。
(A)检查为特定项目而创建的新构件的质量
(B)检查在特定平台和操作环境中构件的复用、打包和部署
(C)尽可能多地揭示构件错误
(D))验证构件的功能、接口、行为和性能
20.在极限测试过程中,贯穿始终的是________。
(A)单元测试和集成测试
(B)单元测试和系统测试
(C)集成测试和系统测试
(D)集成测试和验收测试
21.没有正确修复的缺陷,需要进一步修复的缺陷是________。
(A)New More Info
(B)Diferred-Next Build
(C)Diferred-Next Main Release
(D)Reopen
22.软件过程管理最起码的要求是________。
(A)管理好软件缺陷报告
(B)管理好软件测试用例
(C)管理好测试过程工具
(D)管理好测试说明文档
23.若是软件企业内部测试团队开展的软件测试,最适合采用________来组织测试。
(A)H模型
(B)V模型
(C)W模型
(D)X模型
24.测试人员和开发人员交流的纽带是________。
(A)软件设计报告
(B)测试说明文档
(C)软件缺陷报告
(D)测试执行报告
25.用QESAT/C工具进行软件分析与测试时,以下说法错误的是________。
(A)白盒测试又称为程序结构测试,它主要进行程序逻辑结构的覆盖测试
(B)在进行测试之前,必须先建立以.prj为后缀的测试项目
(C)被测源文件可放在任意目录下
(D)进行软件静态分析不必运行被测程序
第三篇:计算机四级软件测试工程师模拟试题及答案
计算机等级四级是对计算机的熟练程度以及掌握程度进行评估的一种国家型等级考试。考试分为笔试和机试两种。那么计算机四级考试怎么考?以下仅供参考!
一、选择题(1-25每题2分,共50分)
下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1.问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是________。
(A)激活状态
(B)非激活状态
(C)已修正状态
(D)关闭状态
2.关注在一连串的测试中如何选择合适的程序或子程序路径来执行有效的检查,这种测试极有可能是________。
(A)结构测试
(B)黑盒测试
(C)功能测试
(D)静态测试
3.下面说法正确的是________。
(A)软件测试仅是在编程之后进行的测试。
(B)需求规格说明、概要设计规格说明、详细设计规格说明、源程序这些并不全是软件测试的对象。
(C)测试配置是软件配置的一个子集。
(D)错误发现的越晚,改正的代价就越大,这个代价是呈现接近线性增长的趋势
4.在结构化测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(也称分支覆盖)、路径覆盖等,其中________是最强的覆盖准则。
(A)语句覆盖
(B)条件覆盖
(C)判定覆盖
(D)路径覆盖
5.因果图方法是根据________之间的因果关系设计测试用例。
(A)输入和输出
(B)设计和实现
(C)条件和结果
(D)主程序和子程序
6.软件测试的目的是________。
(A)证明软件的正确性
(B)尽可能多地发现软件系统中的错误
(C)找出软件系统存在的所有错误
(D)证明软件系统中存在错误
7.仅根据规格说明书描述的程序功能来设计测试用例的方法称为是________。
(A)白盒测试法
(B)黑盒测试法
(C)静态分析法
(D)人工分析法
8.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试________。
(A)结构合理性
(B)软件外部功能
(C)程序的内部逻辑
(D)程序正确性
9.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试________。
(A)集成测试、确认测试、单元测试
(B)单元测试、集成测试、确认测试
(C)单元测试、确认测试、组装测试
(D)确认测试、集成测试、单元测试
10.下列说法正确的是________。
(A)语句覆盖使得每个判定的每个分支至少执行一次
(B)判定覆盖使得每条语句至少执行一次
(C)条件覆盖使得每个判定每个条件应取到各种可能的值
(D)条件组合覆盖使得每个判定中各条件的每一种组合至少出现一次
11.集成测试时,能够较早发现高层模块接口错误的测试方法是________。
(A)自底向上渐增式测试方法
(B)自顶向下渐增式测试方法
(C)非渐增式测试方法
(D)系统测试方法
12.在软件测试信息流中,输入的的信息主要有________。
(A)软件配置
(B)测试配置考试大()
(C)测试工具
(D)以上全部
13.以下关于软件测试方法,说法正确的是________。
(A)单元测试涉及编码和详细设计的文档
(B)系统测试涉及概要设计信息
(C)确认测试涉及编码和需求规格说明书
(D)集成测试设计其他的系统元素
14.下列软件质量特性中,一般不作为系统测试重点的是________。
(A)产品版本升级是否容易
(B)软件是否符合有关的国家和行业标准
(C)软件产品是否易于理解和使用
(D)可复用的软件部件所占的比例
15.一般来说,大多数软件缺陷源于软件开发项目的________阶段。
(A)软件测试阶段
(B)程序编写和调试阶段
(C)需求和设计阶段
(D)加班工作期间
16.一般说来,对一个程序单元的测试应满足一些具体的技术要求,或达到一定的技术指标。下面选项中属于单元测试相关的技术要求或指标的是________。
(A)语句覆盖率达到100%
(B)局部变量的边界条件处理正确
(C)逻辑比较和控制流处理正确
(D)以上全部
17.下列软件缺陷中,________是活动状态,________是非活动状态。
(A)打开和解决;关闭
(B)打开;解决和关闭
(C)通过;失败
(D)打开;待验和关闭
第四篇:计算机技术软件工程课程设计题目
软件工程设计题目 1. 超市收银系统 以超市收银业务为背景,对“超市收银系统”软件进行分析和设计。 要求: 建立商品信息文件,商品信息包括商品编号、商品名、商品类别、商品数量、商品价格等。建立商场收银系统, 功能包括: 1, 系统登录:运行系统时,收银员应输入姓名(或编号)及密码,验证后方可使用系统。 2, 收银操作:收银员逐条输入商品编号及数量,系统自动计算金额,输入完毕后显示应付款,当输入实收额后,计算出找赎值。交易完成后按一定格式显示回单(格式参照一般超市中的打印小票)。 保存所显示的回单。如果,买家持有会员卡,则记录本次消费,并且买家将根据卡的类别享受相应优惠。 3, 4, 自动按销售情况更新商品信息文件中的数据。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个
1、买家 1)会员注册、登录、查看订餐记录、修改资料和密码、管理收餐地址; 2)显示菜单、在线订餐,支持不同的折扣率; 3)购物蓝、在线结算; 4)会员查看订单的送餐的状态。
2、卖家 1)配送订单:订餐管理、更改订餐状态、订餐、送餐归类; 2)食品信息:发布、修改、编辑食品项目、食品配料及价格,可以上架和下架; 3)会员信息:会员信息的录入和管理,分大客户和个人客户,大客户可以设置服务专员; 4)图文内容:网站一些介绍性内容的发布和管理; 5)字典设置:可以设置以下内容:会员分类、食品分类、配送范围、图文分类、送餐方式、配送时间、送餐时间、会员组等。 6)系统设置:可以设置会员卡信息、在线订餐的折扣率及送餐费用等。另外可以管理后台管理员和客户端用户;修改后台登录密码。 城市路径建议及查询系统 城市路径建议及查询系统可以帮助人们查询某次出行的路径,当你找到一条你认为合适的路径的时候,你可以通过这个系统来查看人们对这条路径的评价。也许你会得到一些积极的评论:这条路上公共设施完善,这条路上的斑马线设置的很合理,这条路很适合车辆通行;当然,也可能会有一些负面的评价,例如:某个地段交通在某时段容易瘫痪,某个地段需要绕路,某个地方夜里不安全等等。使用者可以根据这些意见来选择出行的路线。 系统的功能要求: 1. 用户能够提供个人的信息。提供建议的用户和寻求建议的旅行者都需要提供自己的个人信息。 2. 用户能够给出个人的建议。用户可以对某个地点提出自己的看法。这些看法可以是文本的,也可以是多媒体的。 3. 用户能够通过系统查询路径。用户可以通过输入出发地和目的地来获得一条可能的路径。同时用户可以对路径做一些限制,系统可以返回一条尽可能合理的满足用户需求的路径。 4. 用户能够查询关于某条路径的建议。用户在获得路径以后,可以通过系统查询关于此路径的评价。同时系统能够根据一定的要求对意见进行筛选 分布式团队开发认知工具 目前的软件开发团队已经不仅仅局限于某个单一的团体。某些软件的开发可能需要依靠分布在世界各地的多个团队来完成。在这种情况下,开发团队间彼此的交流就显得十分重要。在设计,执行,Bug处理,整体进度等方面,各个团队需要保持认知上的一致性。设计这个工具的目的,就是能够让开发者能够尽快的了解项目上最近发生的变化,合作者的行动,以帮助各个团队更好的交流,完成合作的目的。对于项目变化的描述,可以是显示在某个网页上的,也可以显示在某个独立的客户端上,或者是其他的设备。系统应该是能够将基本的开发信息显示出来,开发者能够轻易的发现自己想要的信息并且通过系统来查询该信息的具体内容。 项目要求: 1. 系统应该是运行在尽可能小的干扰下的。 2. 系统的可靠性必须得到保证。 3. 关于项目变化的输入和查询都应该较为便捷。 虚拟在线读书网 1. 为使广大喜欢在线看书的同学能够小试笔杆,切磋文笔技艺,同时交流各自喜欢的书籍和看书心得,现在要求做一个虚拟的在线看书写书的网站,仅供内部交流和使用。主要功能描述: 用户分为不同身份:可以是读者也可以是作家,另有一个专用账号属于管理员。 2. 作家及其简介在主页面显示,按作家得到的分数总和多少排列。点击作家名可以进入作家的个人主页,主页上有作家发表的各种文章,按书名排列,并显示发表的时间和点击数。主页面上有搜索功能,可以按题目或作者名称查询。主页面还要求有能根据读者的读书记录推荐相关或类似书籍的功能等,具体自定义。 3. 读者可以对自己的相关资料进行管理,包括读书的权利可以通过某个版面交易,交易完成后积分和读书权应相应发生改变。读者可以给作家留言,打分,每次留言读者可以得到积分。各书可由作者决定价钱(即所耗积分数),读者付给积分后就可以看到内容,并且以后都可以看到。读者可以对某本书进行举报,但必须说明理由 人事管理系统 为学校人事部建立简易管理系统,需建档的人员目前分为教务部、人事部、后勤部、信息部共4个部门。 1. 为各部门员工建立个人档案管理,员工考勤即每日工作证识别和记录管理,出差报告记录,请假记录,每月薪酬清单管理等。 2. 要求各个功能有专用的输入界面和相应的输出界面。并且个人有各自的记录可以按姓名或工作证查询得到。 3. 要求考勤记录按时间保存,出差记录和请假记录按月保存,薪酬清单按个人保存。个人只能找到自己的各项记录,只有人事部的人员可以找到所有人的记录。 4. 要求自定义至少5条薪酬计算规则,如每月底薪个人可以不同,每月缺勤3次以上扣费多少,5次以上更多等。在薪酬清单中体现出来。 简易日记管理器 1. 参考Microsoft word,做一个简易日记管理器,要求有标题栏、菜单栏、常用工具栏、文本编辑区和已有日记的目录显示区。 文本编辑区可分页,并自动显示当天日期等,格式编排自定。目录显示区按时间顺序显示已有日记,并且点击任意一个日记课相应在文本编辑区显示日记内容。 2. 功能包括文件处理如新建、打开、保存、另存为,编辑功能如剪切、复制、粘贴、查找、全选等,工具如日期插入、图片插入、文字放大或缩小、文字颜色选择等功能。要求在文字编辑的同时会显示光标的位置,总页数和当前所在页数,当前字数统计等;有快捷键可以实现翻页功能。 3. 每个功能都可以选择是否在工具栏上显示,并在菜单中标志出来。 4. 其他功能可自定义。 5. 其他要求: 6. 各个菜单必须包括上面提到的功能,并且菜单栏不少于5个选项,每个选项下拉不少于5个功能,除此外还要求主界面上有不少于5个快捷键帮助文本编辑。所有功能不得重复,超过规定个数可以根据实现的效果加分。
第五篇:计算机软件反向工程版权保护的界定
百有论文网()
计算机软件反向工程版权保护的界定
百有免费在线资料库() 收集
计算机软件反向工程(Reverseengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。其目的一般是分析研究程序的功能特性、诊断和排除原程序中存在的错误、开发原程序的附属产品或兼容产品(包括功能相似产品),再就是分析某一程序是否侵害其他程序的著作权,提供研究报告,供法院裁决时参考等。
计算机软件反向工程的合法性,一直是计算机软件知识产权保护中争议较大的问题。从国际版权保护的基本原则来讲,只有计算机软件思想、概念的表达形式 (Expressionofidea)受著作权法的保护,而不是思想、概念本身。从他人的计算机软件产品中还原出的思想、概念,再以该思想、概念为基础进行新的表达,原则上应当不构成对他人计算机软件著作权的侵犯。问题在于这两种表达之间往往存在不同程度的相同或相似。事实上,还原工程较难做到只利用原软件的思想和概念,而不利用思想和概念的表达,这就是导致争议的关键所在。
事实上,在计算机软件开发的过程中,为了保障计算机系统的兼容机会,就同一功能进行移植性开发是必不可少的。因此,就他人计算机软件产品进行反向工程进而分析其功能、算法、结构等设计要素,把它用于自己准备开发项目的可行性研究、拓展思路、发现问题和进行成本核算等,在计算机软件业是常见的行为。计算机软件的反向工程如果运用得当,还可以为计算机软件产业的法律诉讼提供技术支持。
目前,法律界有人主张,未经授权,对他人计算机软件进行反向工程将构成对该软件著作权的侵害。其主要观点是:
(一)把他人计算机软件的目标程序通过反编译和反汇编(Decompilation)还原成该软件的源程序,并打印在纸张上以便阅读分析,是反向工程不可避免的步骤,它构成对该目标程序的复制行为;
(二)通过反向工程对他人计算机软件源程序进行分析,将获得该程序的处理过程和流程图,而处理过程和流程图是该程序的演绎作品,这是演绎他人作品的行为;
(三)从反向工程对他人计算机软件的使用行为的目的和后果来看,具有明显的商业性且严重影响该软件的市场销售和使用价值。
也有人认为,应该不禁止人们通过反向工程对计算机软件进行分析而得到其思想。既然计算机软件是作品,反向工程实际上只是计算机软件的合法复制品所有人对其进行阅读和理解的使用方式,其合法性是毋庸置疑的。在法律规定的范围内,合理、谨慎地运用反向工程,可以推动创新、打破垄断、活跃经济,帮助维护经济社会的进化规则。
最初确认计算机软件反向工程的合法性是在1991年5月14日欧共体通过的《计算机程序保护指令》。欧共体委员会在起草《计算机程序保护指令》过程中一直意图尽可能充分地保障计算机系统的兼容机会。《计算机程序保护指令》第6 条明文规定,为了获得必要的信息来独立开发出兼容的程序,合法用户可以对程序进行复制和编译(Translateand& nbspedit),而无须经过权利人的同意。但该条同时对用户的行为作了如下限制:
(一)只有合法用户或“以合法用户的名义”才能进行反向工程;
(二) “必要的信息”不能从其他途
百有论文网()
径轻易取得;
(三)只能对生产兼容程序所必要的那部分程序进行反向工程;
(四)通过反向工程获得的信息不能用于非兼容程序的目的,不能扩散给对开发兼容产品不必要的第三人,也不能用于开发、制作或销售表达形式类似或有其他著作权侵权因素的程序;
(五)反向工程不得不合理地损害权利人的正当利益或妨碍计算机程序的正常使用。这条规定很值得我们借鉴。需要强调的是,美国也作出了在符合一定条件时,反向工程合法的判例。在Sega公司诉Accolade公司一案中,1992年4月,初审法院美国加州北部地区联邦法院认为,出于开发和生产兼容性程序的目的,未经许可对目标代码程序进行反汇编或反编译是侵犯版权行为。同年10月,二审法院美国第九巡回上诉法院推翻了地区法院的判决。理由是不能错误的借用版权法锁定硬件平台,即锁定软件的运行环境。
一直以来,国外学术界对反向工程进行了大量的研究。美国加州伯克利大学的 PamelaSamuelson教授和SuzanneScotchmer教授合作发表的关于反向工程的研究专著《反向工程的法律和经济》(《THELAW &ECONOMICSOF& nbspREVERSEENGINEERING》),被认为是对反向工程里程碑式的研究总结。其开篇
第一段话这样说道:“反向工程是一种从人造物品中提取技巧和知识的过程,这种做法被接受和实践已经有很长时间。律师和经济学家认可反向工程是获取这些信息的恰当手段,即使其意图是制造一种产品并从被反向工程的厂商手里夺取客户。既然有这一共识,过去几十年里反向工程所遭受的非议是令人吃惊的。”这说明学术界已经接受了反向工程。
我国《计算机软件保护条例》第三条第㈠项规定:“计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。”按照这一解释,笔者认为,计算机软件的合法复制品所有人可以不受任何限制地对源程序进行反向工程。但其目的应受到限制。即反向工程是否构成侵权应该主要看反向工程的目的。如通过反向工程对源程序进行分析、了解后,只是吸取其设计思想,就不应该认为是侵权。如果将反向工程获得的信息应用于以下方面:
(一)用于独立开发计算机软件取得兼容性以外的目的;
(二)传播他人,除非为取得独立开发的计算机软件的兼容性所必须;
(三)用于开发与该计算机软件的表达形式具有实质性相似的计算机软件或为任何侵犯著作权的行为。则构成著作权的侵权。
即使这样,一般情况下,计算机软件反向工程也是违法的。理由是:
(一)一般商家都会在其销售的计算机软件产品包装盒上印有版权信息,其中含有禁止用户采用各种形式对该计算机软件进行反向工程的条款,用户一旦购买,就意味着要接受所有条款,当事人之间形成的法律关系受合同法保护。因此,再对计算机软件进行反向工程就会违反购买软件时承诺的合同义务。
(二)网络上下载的共享软件或者免费软件,在安装时也会提示一些信息作为安装计算机软件所必须接受的协议条款,其中也含有禁止进行反向工程的内容,只有同意所有条款才能够继续安装。如在MSNMessenger7.0版本的安装向导中,“使用条款”和“隐私声明”窗口就有这样的条款:“您不得对‘服务’中包括的任何软件或任何机器进行分解、反编译或反向工程(除非并且只有当适用法明确允许时)”。实际上,这已经是计算机软件行业一种特有的保护形式了。