前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇共享软件的开发范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
管理信息系统开发与其他领域一样,尤其自身多个方面的特点,例如开发过程复杂、规模比较大、开发受思想限制等等。但也正是因为这些原因,当下的管理信息系统开发面临着多个方面的问题,总结起来主要有以下几个方面:
1.1模型呆板,理论化严重管理信息系统开发过程中软件工程思想
应用所面临的问题有很多,但是就笔者看来,最为严重的一个问题就是其模式比较呆板,不能跟上时展的步伐,同时,开发过程中过度的依赖理论化。而这两个问题就导致了管理信息系统在开发的过程中仅仅只是重视理论与技术,却忽视软件工程思想的重要性,而缺乏了软件工程思想的信息管理系统势必不能满足当下客户的普遍需求。因而,在系统开发过程中,模式呆板,理论化、技术化严重成为了管理信息系统开发过程中一个老大难问题。
1.2结构化分析无法解决复杂的技术和管理问题
结构化问题在管理信息系统开发的过程中也存在着很多的问题。这是由于管理信息系统的开发过程在理论分为三个阶段。第一阶段是十分重要的一个阶段,也就是系统分析阶段,在系统开发理论里,也常被称为结构化分析。这种分析方法运用在管理信息系统的开发过程中可以在很大程度上使得分析变得简单化,同时系统的开发也更加符合标准。但是,这种结构分析法却又一个十分严重的弱点,即一旦系统的使用环境发生变化,那么一些软件将不能正常使用,进而很可能会使得整个软件的开发陷入困境,甚至导致软件开发失败。
1.3缺少管理,造成质量评估不准
虽然在管理信息系统开发的过程中,技术以及相关理论的运用是十分重要的。但是,如果没有进行有效的管理,那么开发的过程就会变得比较混乱,没有秩序可言,同时也会很有可能导致对软件开发的质量评估不准确。在当下的管理信息系统开发过程中,这种问题是普遍存在的。
1.4闭门造车,导致开发周期过长
软件工程思想在管理信息系统开发中运用存在的问题除了有以上几个方面外,还有一个比较严重的问题就是闭门造车,开发周期较长,这一问题也是管理信息系统开发领域长期面临的一个困难。我国管理信息系统开发的专业人士虽然有很多,但是许多人士都没有认识到向先进主体学习的重要性,对于一个软件的开发,总是倾向于一个人且从头开始进行,不去学习他人的优秀开发方法,也不总结相关的开发经验,如此一来,就大大的延长了管理信息系统开发的时间,使得开发的周期过长。
2软件工程思想在管理信息系统开发中的应用措施
由上述可知,软件工程思想对于管理信息系统开发具有十分重要的作用。然而,在当下的管理信息系统开发中,软件工程思想的应用却在技术、管理等多个方面存在着严重的问题,且这些问题的存在阻碍了管理信息系统的开发进度。笔者在此对软件工程思想在管理信息系统开发中应用的措施进行了一定的研究,希望能够为解决上述中存在的问题而做出一些贡献。
2.1将软件工程方法引入到管理信息系统开发中
通过上述分析,可以很明显的看出,运用软件工程思想来进行开发管理信息系统是一件十分复杂的研究。在开发的每一个过程,都需要开发人员进行认真、仔细的思考和研究。因此,将软件工程方法运用到该系统的开发过程中,可以使得软件的开发更有效率。
2.2面向对象分析法的应用
面向对象分析法在软件开发中得到了广泛的应用,并且已经处于了一个相对成熟的阶段,因此在管理信息系统开发中完全可以大胆的对其进行使用,使面向对象技术能够在管理信息系统开发中发挥其作用。例如,将对象概念进行引入,对实体进行描述,结合类图、数据传递图等分析非结构信息,从而建立合理的非结构模型。如果情况需要,我们也可以将形式化方法引入到系统开发之中,用严谨的语言对客户的需求进行定义。这样系统开发人员可以依据语言和图,对用户的需求进行详细、合理的分析,最终开发出让用户满意的系统。
2.3加强项目管理工作
要想加强软件工程思想在管理信息系统中的应用,还要加强系统开发的项目管理。系统开发是一个十分复杂的过程,同时每一个阶段,阶段与阶段的衔接都很重要。所以,如果项目的管理工作能够很好的展开,那么管理信息系统在开发的过程中就能够有序的、顺利的进行,不会形成糟烂无章的局面。所以,加强项目的管理工作十分重要。与此同时,可以利用一些软件开发的理论,通过对软件进行评估,来加强软件开发的管理,使得软件开发的成功率大幅度提高。
2.4对原有软件原型进行利用
软件原型一般来讲都是建立在成功经验基础之上的,基本上都能够取得客户的满意。所以,对于管理信息系统来说,消除软件原型是一项比较好的技术。与此同时,原型的建立还有一个好处就是能够纠正系统开发过程中一些不正确、不合理的地方,如此一来,可以使得系统开发过程中所承担的风险变小、同时变得更加透彻,促进管理信息系统的顺利开发。所以,对原有软件原型进行利用意义重大。
2.5利用构件技术避免重复开发
要想加强软件工程思想在管理信息系统开发中的应用,除了要做到以上几个方面外,利用构件技术来达到避免重复开发的目的也是十分重要的一个方法和措施。所谓的构件技术听起来特别复杂,而实际上构件指的就是一个模子,其目的是用来生产预制板。使用构件可以很有效的通过实例,来对应用的软件进行组装并且加以控制。与此同时,使用构件技术还有一个比较好的好处,即一旦一些条件发生变化时,相关人员可以对系统进行进一步的调控,同时,相关人员可以通过研究,制定出一套可行的方案,促使系统的开发成功。事实上,在管理信息系统开发的过程中,软件工程思想的应用涉及到多个方面。然而,以上仅仅只是其应用的几个方面,并且每一个方面的探索都还比较浅显。因而仅仅凭借这些研究来促进软件工程思想在管理信息系统开发中的应用水平还是远远不够的。因此,对于软件工程思想应用的研究还需要系统开发领域的专业人士进行进一步的研究和探索。
3结语
【关键词】软件开发技术分析
众所周知,自从计算机技术应用到社会发展中来,我国的各项经济建设活动和人们的日常社会都发生了翻天覆地的变化,并且计算机信息技术的发展速度相当迅速。在计算机的发展过程中,计算机软件系统的发展起了决定性的作用。随着近年来,信息技术的发展和更新速度越来越快,国家对软件系统的开发和要求越来越高,我国的软件自主开发工作面临着挑战和困境。鉴于此,增强我国的软件自主开发和创新能力,完善软件开发技术,是当前我国软件开发面临的重点工作。
一、 软件开发的重要意义
软件系统是计算机信息技术发展的关键部分,软件功能直接决定了计算机的发展水平。新时期,计算机技术经过十多年的发展,已经在人们的社会生活和国家的经济发展的过程中得到了最广泛和最普遍的应用,并且对计算机发展水平的要求越来越高。计算机技术发展的核心就是软件技术,因此,这就对计算机软件的开发提出了更高的要求。计算机软件技术的发展直接推动了计算机发展水平的提高,特别是软件开发在计算机运行的安全性和稳定性方面,做出了突出显著的成绩,并为软件开发的应用提供了光明的发展前景,为未来计算机的发展提供了新的方向。
二、当前我国软件开发技术的困境分析
(一)软件危机
目前,我国的软件工程在开发与发展过程中越来越暴露出各种弊端,国内的软件危机(Software Crisis)层出不穷。在软件的开发上无法满足社会的高质量需求,导致软件产品数量膨胀。软件开发经费不足,人才技术力量匮乏,再加上我国的软件开发受到国外的巨大冲击,严重打击了我国的软件开发产业。
(二)软件开发与国外发展水平差距较大
随着现代科技力量的不断发展,信息技术已经成为人们生活中不可分割的一部分。人们也越来越重视对软件的开发工作,不少国家已经把软件的开发作为国家重点发展的产业,我国也不断加强对软件开发的研发。但是,由于我国发展较晚,软件开发技术基础相对薄弱,并且软件开发的技术人才后续力量不足,与国外的软件开发技术水平有很大的差距。从总体上来看,我国的软件开发技术还有很长的路要走。
三、完善我国软件开发技术的相关措施
软件技术的发展水平决定了一国计算机技术的发展水平,当前,国家也越来越重视软件开发的技术。我国的软件开发技术与西方发达国家相比仍有很大的差距,因此采取必要的科学手段和措施,努力促进我国软件开发技术的进步是当前面临的重要工作。
(一) 严格遵循软件开发技术的原则
计算机的软件系统包括系统软件和应用软件两个部分。总体上来讲,软件的开发是一项有一定难度的工作,庞大的数据库计算机程序语言,并且需要耗费大量的时间和精力,更重要的是要求比较严谨和细致。基于以上特征,这就要求我们在软件开发技术的过程中,严格遵循相应的原则和规范。首先,软件技术开发的模型要以分阶段生命周期来进行;其次,在开发的过程中要严格按照软件的质量指标和要求开展;最后,还要对开发好的软件产品,利用先进的技术和方法对其进行必要的检测和评估,确保其质量达标。
(二)软件复用技术和软件构件技术
软件复用和软件构件技术是我国未来软件开发技术的新方向,其中软件技术的核心就是软件构件,软件开发的手段是软件复用。把软件复用技术逐渐应用到软件的开发工作中来,改变了软件开发技术人员传统的用手来抄写计算机程序语言代码的方式,极大的提高了开发的工作效率,缩短了开发的时间,实现了软件工程开发的大规模化进行。软件复用技术的出现为软件开发提供了新的工具,而软件构件则为软件的开发提供了新的结构模型。目前,软件开发使用的结构模型主要有:"4+1"模型,EJB模型以及COM/COM+模型,他们建模的支持工具都是采用软件复用和软件构件技术支持的UML工具。软件复用和软件构件技术w为软件开发技术的未来发展创造了良好的发展环境。
结语:
综上所述,计算机技术的应用与发展,为我国的各项经济建设与活动的展开,提供了新时期的发展手段和技术。而软件系统的开发又对计算机信息技术发展水平的提高,发挥着不可替代的作用。因此,我们要认清我国当前软件开发技术上缺陷和不足,采用先进技术创新手段和方法,全力推进我国软件开发技术的新发展。
参考文献:
[1]邱树伟.基于复用理念的软件开发技术分析[J].太原师范学院学报(自然科学版),2009(09)
[2]张世海,梁晓梅.论计算机软件开发技术的应用[J].电子技术与软件工程,2013(03)
关键词:工作过程导向;项目继续;“三段式”实训过程;任务模块
中图分类号:G642 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-02
1 软件开发综合实训教学存在的问题
软件开发综合实训是针对软件开发职业岗位群的任职要求所设置的具有综合性质的实训课程,几乎所有高职高专院校的计算机专业均开设了此类课程,但教学效果参差不齐。
在近几年的课程建设和人才培养模式改革中,通过引入项目教学,基于工作过程导向设计教学过程,很多软件类课程的教学效果大幅度提高[1]。因此,将工作过程导向的思路应用于软件开发综合实训的课程改革中,对课程的教学内容、教学组织、教学方法、考核方式等进行一系列的改革,就显得尤为重要。
2 基于工作过程导向的教学改革
软件开发实践课程要求学生掌握的知识结构是基础开发平台、软件开发技术、工程能力、行业知识、沟通能力、协作能力等[2],围绕这个教学目的,基于工作过程导向的教学改革思路包含“一个开发方向,两个贯穿线索,三个实训阶段,四种知识覆盖,五个任务模块”。
一个开发方向指的是实训针对.NET开发方向进行;两个贯穿线索指项目开发和软件工程的工作过程始终贯穿实训过程;三个实训阶段指按照由简至难、循序渐进的顺序将实训划分为实训准备阶段、实训主体阶段和能力拓展阶段等“三段式”实训过程;四种知识覆盖指实训的内容作为对两年专业学习的总结,涵盖了程序设计语言、数据库应用、网站前台设计和软件工程等四类课程群;五个任务模块是将每个项目的实施过程分为需求分析、软件设计、软件编码、软件测试和软件推广等五个阶段,全面锻炼软件开发岗位群需要的软件开发能力、团队合作能力、人际沟通能力、语言表达能力、工程应用能力等。
3 具体改革措施
3.1 实训项目的选取。将实训内容作为“真实的企业案例”以“教学的形式”来完成“软件开发人才的培养”[3]。这就要求合理选取实训项目,既能够满足职业能力的要求,又能够照顾到学生的接受能力,让学生便于实施,乐于实施。在学生熟悉的应用领域中选取项目,避免由于对项目的不熟悉而导致的学习压力增大、厌学等现象。
基于此,笔者提出一种新的选取思路――“项目继续”,即校企合作确定的项目不应只体现在软件开发综合实训中,在先修课程的学习中就应该涉及到。学生提前接触过项目,可以有效的树立学习的自信心,避免对项目的抵触心理。但实训过程中的项目内容绝对不是对先修课程项目的重复,而是项目的深度完善和细化。同一个项目主题,软件开发综合实训中的教学和先修课程的教学有很大的不同,具体如表1所示。
3.2 团队组建。采用情景模拟教学,将班级组建为一个虚拟的“软件工厂”。软件工厂下分多个软件开发团队,每个软件开发团队由5~6名学生组成,组长负责团队的任务分配、计划制定、小组互评等整体工作。除组长以外,根据五个实施模块,每个成员分别担任如下角色之一:
1.需求分析经理:主持需求分析过程中的工作,制定需求分析计划,负责主要的用户沟通,问题汇总等。指挥其余组员共同完成需求分析的任务。2.软件设计经理:主持软件设计过程中的主要工作,制定设计计划,指挥组员完成软件的概要设计和详细设计任务。3.开发经理:开发团队组长担任,负责编码过程中任务分配、计划制定、进度管理等。4.测试经理:负责测试计划的制订,组织测试实施及管理。5.推广经理:负责项目的推广和答辩工作。
3.3 项目实施过程。综合实训过程由浅入深按照“三段式”方式展开。第一阶段为实训准备阶段,让学生复习熟悉开发环境;第二阶段为实训主体阶段,学习B/S、C/S两种系统的开发能力;第三阶段为能力拓展阶段,让学生自主选题,自主开发,发挥创造力,提高实践技能。
3.4 考核方法。基于工作过程导向的实训教学要配合以工作过程考核为主体的课程考核体系,以合理评价学生的职业能力,同时调动学生的积极性和参与度。
软件开发综合实训的课程考核采用过程考核和考试项目考核相结合的方式。过程考核主要考核学生在实训过程中各个阶段的表现和学习效果,为了提高学生的团队意识,这部分考核又分为个人考核和团队考核两部分。个人考核包含项目参与性、考勤纪律、个人开发能力和项目贡献、学生自学能力等;团队考核包括团队计划的制定和完成、分工协作情况、团队管理情况等。
为了最直观的反应实训的教学效果,最后设置专门的考试项目考核。考试项目为小型数据库系统,涉及数据库软件开发中最常用的技术,重点考核学生对这些常用技术的熟练程度。
4 取得的效果
基于工作过程导向的改革能够有效提高软件开发综合实训的教学效果。首先,灵活的授课形式有效提高学生的学习兴趣,锻炼各个阶段的软件开发能力;其次,情景化教学还培养了学生的人际沟通能力,团队协作能力,语言表达能力等职业能力,并且有效提高的学生的个人责任感,培养了学生的职业道德素养;再次,考核体系的创新能够最大限度调动学生的项目参与度,感受软件开发的成就感、荣誉感,进而树立行业工作的自信心。
5 小结
改革后的软件开发综合实训类似于企业的岗前培训。实训项目来源于企业,人力组织模拟企业,实训过程效仿企业,整个实训过程让学生一方面熟悉企业工作和管理方法,另一方面熟练应用常用开发技术,提高实践技能,有力的提高了学生的就业竞争力,毕业生受到用人单位的普遍欢迎。但新的改革也对教师提出了更高的要求,借助企业力量,加强教师锻炼,提高教师驾驭课堂和指导学生的水平将是下一步的工作研究的重点。
参考文献:
[1]姜大源.当代德国职业教育主流教学思想研究[M].北京:清华大学出版社,2007.
[2]肖蕾,钟瑛,翁伟.软件开发综合实训课程的教学改革与实践[J].计算机教育,2012,10:104-110.
1.1雨量信息交换报文设计雨量信息共享的双方都已经建设了自己独立的系统,不仅具有信息采集、存储、处理和查询等功能,还有完善的数据定义和不同的数据库结构。为了将共享的雨量信息融合到对方的系统,便于信息的存储和查询,结合FTP文件传输协议的形式,雨量信息交换采用报文交换的方式。雨量信息报文交换的前提是确定报文编码和译码的标准,定义报文雨量信息要素,包括站码、时间、时段标示和雨量值。站码是每个雨量测站的编码,必须具有唯一性,双方系统按照自己的测站编码规定,对新增的测站进行编制。时间是降雨量值的截止时间,这里规定每小时进行一次雨量信息交换;时段标示是区分小时数据和日数据的标志,日数据按8时来分界。雨量值是时段内将雨量的累计值,如果时段内没有降雨按0处理,这样处理的好处是根据系统有无数据来判断共享测站是否正常运行,在实践应用过程中更加准确地处理雨量数据。
1.2雨量信息共享软件模块功能设计雨量信息共享软件共设计了4个模块,分别为:雨量信息交换模块即主程序模块、系统基本参数设置模块、测站参数设置模块和补数模块。雨量信息交换模块主要完成程序运行控制和雨量信息自动交换功能;系统基本参数设置模块主要完成FTP和数据库相关信息的配置功能;测站参数设置模块主要完成共享测站相关信息的设置功能,对于此模块还设计有独立的数据库表结构,便于程序的实现;补数模块主要完成规定时间内雨量信息的补传功能。
1.3雨量信息交换流程设计雨量信息交换是雨量信息共享软件的核心部分,主要包括:报文上传和下载、报文生成和分解、SQL生成、雨量信息提取和入库以及定时器的设定等环节,各个环节在程序执行过程中要清晰、严谨。程序设计的基本思路见图1。
2雨量信息共享软件开发
雨量信息共享软件采用Java语言开发,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,正是基于Java面向对象程序设计的本质,将软件所需要的报文上传和下载、报文生成和分解等实体抽象出来,封装或继承为信息上传、信息下载、报文形成等抽象类,围绕程序的数据(对象)和针对该对象而严格定义的接口来组织程序,按照程序设计的模块、流程逐步完成程序代码的编译和程序的调试。
3雨量信息共享软件关键问题的解决
3.1雨量信息交换a.雨量信息FTP上传和下载是通过引进.ftp.FtpClient类来实现的。FtpClient类涵盖了几乎所有的FTP功能,利用这些类的方法,可以远程登录到FTP服务器,列举该服务器上的目录,设置传输协议,以及传送文件。b.雨量信息交换的时间配合。考虑到各种系统雨量信息采集的时间差和上传、下载的时间差,分别限定了上传和下载的时刻并可修改,在一定的条件下保证雨量信息的真实性和时效性。c.保证雨量信息无漏报。造成信息漏报的有网络、硬件保障以及误操作等多种因素。为了避免此问题,程序设定了记录上传、下载信息时刻的临时变量,记录程序上次完成信息交换的时间,保证雨量信息的连续性,同时也编写了雨量信息补传功能模块。
3.2软件运行的稳定性处理雨量信息共享软件是实时运行系统,保证其稳定运行十分重要。在软件测试过程中发现,由于网络不稳定等原因会造成上传或下载数据超时,从而导致程序“假死”现象。经过测试,设置FTPClient中setDe-faultTimeout()、setConnectTimeout()、setDataTimeout()方法的超过限定时间,消除了程序“假死”现象。另外,对于因数据库读取、数据转换等非正常情况下的错误而造成的程序中断,采用了捕捉异常实现程序跳转保证其正常运行。捕捉程序异常日志见图2。
4雨量信息共享软件应用
经过两年的实际运行,共享软件满足了程序开发的需求,对运行过程中出现的BUG也及时做了修正,能够完成雨量信息的共享,并且能够保证数据传输的准确性和时效性。共享的雨量信息对等雨量面图的制作提供了更多的信息支持,便于流域降雨特点的分析。雨量信息共享软件运行图见图3。
5结语
关键词:自由软件
在95年11月武汉水利水电工程地质计算机会上,首次公开进行了本专业的自由软件展示与交流,尽管会议上提供的自由软件只有4个,但都是些实用性强的软件,与会代表争相自由拷贝,气氛异常活跃,成为本次会议的一大特色。《会议纪要》认为:自由软件的广泛交流,体现了信息社会共同发展的合作精神,抛弃了传统封闭的小农意识。封闭是没有出路的,只有交流才能发展,这是我们计算机应用事业的保证。
什么样的软件是自由软件?自由软件与商品软件是什么关系,本文便是笔者的一些粗浅认识。
1.软件按商业性质分类
如果按软件的商业性质来分类,大致可分为商品软件、自由软件、共享软件和转让软件等四大类。现分述如下:
1.1商品软件
所谓商品软件,是将软件当成商品出售,具有商品的使用价值和价值两个属性。一般来说,商品软件要求有一定数量的用户群,有一定范围的销售网络,有较为健全的咨询和软件维护技术队伍,有开发队伍不断地进行软件升级。
按国家规定,要在市场上销售的商品软件首先要经过国家或社会普遍公认的软件评测机构(如中国软件评测中心)的质量认证。认证的标准和依据是国家有关标准或行业标准,例如:GB8566-88、GB8567-88、GB9385-88、GB/12504~12505-90、GJB437-88等,同时还应取得beta测试版用户的测试报告。
软件是逻辑产品而不是物理产品。软件生产集中于开发而不是制造,起决定作用的是人的智能的高效率的发挥。软件是看不见(或读不懂)摸不着的以磁盘、磁带、光盘等记录/读取介质为载体的计算机程序编译代码。鉴别软件的优劣、功能的强弱、使用的价值等等,可按国家对软件开发的规范标准组织评审,或由国家专门的软件评测中心进行评测。对于应用软件来说,笔者认为最权威的鉴定和评测是软件的直接使用者---用户。
软件能否形成商品,当然要看是否具备商品的一些基本特性,要看是否有一定数量的用户,即是否具备商品的使用价值。能够形成商品的软件,要有极强的商品意识和版权保护,这是无庸置疑的。而不能形成商品的软件,又可分为两大类:
一类是开发难度大专业性很强用户很少的软件,或为特殊要求而开发的软件,或研究课题在理论上还不成熟的软件。例如控制卫星发射的软件或高精尖科学研究的专门软件,既不会卖,一般用户也不会买,显然不是商品软件。又如为一种新的尚未越过探讨阶段的结构设计理论而编制的软件,至少在新理论未经实践检验没有被广泛承认尚无规范认可阶段,不是商品软件。还有一些专业性软件,标准化程度低,规范性差,软件维护困难,没有售后服务,仅仅是单位之间的有偿引进或转让,自然也算不上商品软件。
另一类是开发难度不大,多为个人单干开发的小型软件、小工具、单一功能的小程序块等,反映出程序设计中的一些技巧和经验,有一定的使用价值,如果没有经过包装,用户不多,也很难形成规模性的商品软件。
1.2自由软件
自由软件(freeware)又称免费软件,由国外类似活动中freeware一词转译而来,指经软件作者同意或软件版权所有者授权,免费提供给用户的非商业性质的软件产品。自由软件可以有著作权(版权)或无著作权。
有著作权的自由软件,其作者声称版权所有,但免费或收取很少的费用提供给用户,让人几乎没有限制地使用或拷贝或与他人分亨,一般不公布源程序代码(一些公开发表源程序代码的短小程序当然也属于自由软件)。例如许多国内外广泛流行的磁盘拷贝、磁盘文件管理、硬件测试、文本编辑器、文件图形格式转换等等工具类软件,Internet网络BBS(电子公告板)上可随时下载的软件,以及许多商品软件的低版本、演示版、教学版、简版等软件,均属于此类。另外,国内的一些优秀汉字系统如王码WMDOS5.0以及后来升级的6.0和8.0、UCDOS3.0简版、UCDOS5.0试用版、213L等,还有一些汉字输入法、办公排版系统等,亦为有版权的自由软件。96年初,深受用户喜爱的中文优秀制表软件CCED的版权人朱崇君先生宣布难以忍受软件销售70%的收入被销售商拿去的现实,将正在热销的CCED5.0以CCED5.03版本加入到有版权的自由软件行列而成为96年中国软件行业和用户们议论纷纷的重大新闻之一。
没有著作权的自由软件,是指在软件技术发展过程中已经形成了的大批标准的子程序和常用模块,它们已经在很多软件产品中被多次使用过,或被收入教科书和公开出版的源程序代码集中,实际上已经弄不清是谁原创的,即已不清楚谁是版权人。还有一些软件,其开发者在发表时公开声明放弃版权,供社会公众自由使用,对于这些已经成为社会公共财富的软件,在开发中使用是不会构成侵权的,可放心引用。
1.3共享软件
共享软件(英文:shareware)有别于自由软件,需收一定费用,但仍为非赢利软件。共享软件所收费用仅限于资料的成本费和发行费。共享软件鼓励用户自由拷贝,自由应用,软件不加密,如果喜欢该软件,有义务向发行公司注册,只需付很少的注册费就可得到更多的技术支持以及进行技术交流,发行公司所收取的少量的注册费也仅是为了进一步发展和支持该软件。例如近来到处做广告的"王特绿色MIS4.0"和"雅奇MIS6.2"属于数据库与管理信息系统自动编程一类的大型软件,可以减少应用系统大量的编程工作,也推出了共享软件版本。
1.4转让软件
一些专业性较强,开发难度较大(多为单位开发),用户群有限,无规模性销售网络,无健全的咨询和软件维护技术队伍,达不到商品软件的要求,但又有用户需要,于自由软件和共享软件与商品软件之间的软件,笔者暂且将此类软件称之为转让软件。水利水电系统中各单位之间互相以商品软件形式出现的绝大多数专业软件均属此类软件。
转让软件的纠纷较多,单位之间的转让往往没有履行严格的合同手续,是以单位、领导、熟人和朋友之间的信誉为转让基础的。转让软件专业性较强,维护困难,售后服务差或根本没有售后服务,是发生纠纷的主要原因。
2.国内外的自由软件交流
自由软件的价值在于交流,这种交流没有国界,不讲阶级立场,不分专业,不论社会地位,所有参加软件交流的人全球平等,就象在Internet网络上发送E-mail,参加各种论谈一样。
2.1自由软件的国际交流
在发达国家,自由软件已是较普遍采用的一种方式。从商业意义上讲,商品软件的测试、反馈、改进、交流与传播,都离不开免费试用、交流共享这种方式。在极端强调知识产权的美国,自由软件却十分普遍,国内广泛流行的外国自由软件多为美国自由软件,《软件世界》杂志不定期公布的自由软件目录清单中有相当一部分是自由软件联谊网国际交流部提供的美国自由软件。事实上,我们每个计算机用户手中都有一些如磁盘拷贝、磁盘整理、文件管理等实用工具软件,基本上都是这种国外自由软件。
业界振臂高呼网络就是计算机,计算机就是网络,以至于Internet网络热得一塌糊涂,BBS作为Internet的重要组成部分,大量的信息资源和自由软件供广大电脑爱好者免费取用,这也许是Internet最吸引人的功能,用户只要通过Modem和电话线即可使用。BBS为自由软件的交流提供了公开场所,很受电脑爱好者们的喜爱。
2.2自由软件在国内的大气候
在中国软件行业协会中有一个分会---自由软件分会,该分会于93年4月面向全国各行各业成立了自由软件联谊网,三年多来的自由软件联谊活动在全社会引起了极大反响,数千位个人网员和单位网员遍布全国29个省、市、自治区。联谊网成功地举办过自由软件展示会,组织自由软件参加计算机交易会和计算机应用成果展示会。联谊网除了向网员直接寄发自由软件信息和自由软件拷贝外,在《软件世界》杂志上设置有专门的自由软件栏目,不定期公布自由软件目录清单,截至1996年第6期止共了十七期近180余个自由软件,有时还刊登自由软件的功能介绍,凡是入了网的单位和个人,均可免费获得网上的自由软件。
自由软件联谊网的活动得到了一大批计算机软件专家、软件开发研制单位和软件公司的大力支持。著名的王码、希望、晓军、新天地等电脑公司向联谊网提供了各自优秀软件的自由软件版本;天汇、中国龙、利方、超想、CCED等国内优秀软件的自由软件版本也在联谊网中广为传播;王特绿色MIS和雅奇MIS等国内优秀数据库自动编程软件系统也纷纷加入了共享软件的行列;CCED的版权人朱崇君先生多次为自由软件发表高见。众人拾柴,越办越火。可以说,自由软件已经成为中国软件业的一个重要组成部分。
《软件世界》杂志对自由软件的高度评价:联谊网的自由软件活动将有助于提高全民族的知识产权保护意识、加快软件的研制开发、促进优秀计算机软件在我国的普及,这是经过了计算机行业多年的发展和酝酿,在新的市场经济的促进下,接受了国外Freeware的启发并结合我国的具体实际情况而逐渐成熟起来的。自由软件是推广普及计算机知识、造福社会、培养下一代计算机人才的科普性社会公益事业,是计算机事业的希望工程。
3.自由软件的存在基础
自由软件为什么会有如此巨大的社会反响和热烈火爆的交流市场?用户积极索取自由软件,说明自由软件决不是一些滥竽充数毫无用处的劣质软件,否则尽管不花钱,取之无用,反而占据磁盘空间,谁还会去花时间和精力瞎折腾。另一方面,有大量的自由软件提供者,显然不是一种简单的计算机行业软件的流通与交换现象,如果有人能从社会科学、人文科学、政治经济学、市场经济学、心理学、人性的本能等多学科广角度全方位去研究这一问题,肯定会有惊人发现,说不定能获得诺贝尔奖。
作为商品软件的试用版、测试版、普及版和低版本,以自由软件的形式广为散发,有其商业广告和市场策略的性质;而一些工具类和小技巧类自由软件则毫无商业意义,为什么仍然有广泛的提供者呢?
编程序很累,调试程序常常会通宵达旦,能做到这一点,单从个人对经济利益的追求来解释是不全面的,对于某些利已主义者来说也许是这样,而对于那些电脑迷程序狂计算机人而言,所谓的工作激情、思想根源和行为动机显然是争取诺贝尔奖获得者们的重大研究课题。科学家的执着追求,发明家的废寝忘食,科技工作者不计报酬撰写论文(近年来在一些学术刊物上发表学术论文不但无稿费可言,反而要交版面费)等等事例,都不能完全用经济利益来解释。《组织人事报》称:当前人才流动的主要动机不再是追求高薪收入,而是寻找自身价值发挥的最佳环境。可见,现实生活中人性的本能反映与人的需求和欲望的多元化,使得对某些事物的解释众口异说,有人就是愿意将自己的劳动成果无偿奉献给他人,并以此为自己生活中的一大乐趣,我想这正是自由软件存在的基础的基础。
软件是有生命的。软件的生命就是软件的生存周期,即从提出软件产品开始,直到该软件产品被淘汰的全过程。软件的生存周期说明,软件不具备收藏价值,不存在增值意义。软件的发展非常迅速,更新换代十分频繁,新版本出来老版本基本上就没有什么商业意义了,这也许是商品软件提供自由软件版本的原因之一。个人开发的形不成商品的软件,在生命周期内不进行交流,个人的劳动价值就没有得到社会的承认,是不是有点冤枉?
4.关于工程地质自由软件与转让软件
我们的许多地质计算机人员在长期的生产实践过程中积累了大量的编程技巧、实践经验和实用程序(软件),来之不易,弃之可惜。由于水利水电工程地质专业的特殊性和复杂性,专业软件的难度较大,用户群又十分有限,标准化程度低,规范性差,各家自主开发,极少进行交流,又难以形成商品,与其如此自编自用自生自灭,还不如贡献出来作为自由软件或共享软件在系统内广为交流,互通有无,实现这些知识产品的真正价值。
事实上,水利水电系统各单位自行开发的一些实用软件一般达不到商品软件的要求,因此,完全没有必要各自为政,互相封闭,低层次的重复开发,实在是得不偿失。其实,提倡软件交流,反对低层次的重复开发,早已是许多领导讲话和技术干部献计献策中多次提及的,绝不是笔者个人的大声疾呼。当然,软件作者不愿意将自己的作品作为自由软件提供出来交流,也是无可非议的。
需提请用户注意的是,要钱的软件并不都是好软件,反之亦然。特别是单位之间的引进和转让软件,纠纷较多。该类软件维护困难,要价很高,没有售后服务,有可能是一锤子买卖,近年来在本系统中已经有类似现象,用户在引进时一定要慎重。我们也希望那些不太成熟的软件要自重,一锤子买卖不旦损害了兄弟单位的利益,而且损害了自己的声誉,眼前利益短期行为不可取!
我们曾经为个别软件写过推荐意见,其目的在于请更多的用户去试用和测试,绝对没有要用户掏钱购买这类没有经过严格测试和相当数量的用户群检验的不成熟软件。我们已经多次声明不搞软件鉴定,而将软件鉴定这一神圣职责交给用户。目前由水利总院勘测处主办的《工程地质计算机应用》刊物上刊登的各类专业软件介绍,完全是出于信息交流的目的,建立起沟通软件开发者与用户之间的桥梁和纽带。各单位在进行专业软件引进和转让时风险自负。