首页 > 文章中心 > 计算机软件开发教程

计算机软件开发教程

开篇:润墨网以专业的文秘视角,为您筛选了八篇计算机软件开发教程范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

计算机软件开发教程范文第1篇

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

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

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

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

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

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

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

参考资料:

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

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

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

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

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

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

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

计算机软件开发教程范文第2篇

关键词 计算机;网络软件;应用

中图分类号TP39 文献标识码A 文章编号 1674-6708(2012)72-0210-02

目前,随着网络技术的发展,计算机网络软件已经被广泛应用到人们的生活当中,与人们的生活息息相关,因此,要加强计算机网络软件的应用与功能的研究和探讨,切实保障人们的利益。

1 计算机网络软件的功能

一般情况下,我们主要将计算机网络软件统分为两大类:一、应用软件;二、系统软软件。

首先,应用软件。所谓应用软件,主要就是指结合用户的不同领域使用各种程序设计语言,应用需求而提供的部分软件。简单来讲,应用软件的开发可以是为了某一个专用的目的。例如:我们所经常提到的办公自动化软件,这就是款典型的应用软件。应用软件又可以分为:多媒体软件、互联网软件、分析软件以及商务软件等等。在这里我们所要重点阐述是商务软件,到目前为止,在我国范围内,商务软件的应用范围是应用软件当中最为普遍的一种,目的就是为了有效防止企业的非法用户对企业信息流的分析以务业务特征的获取,使得信息在传递的过程中能够有效安全,而且,商务软件所涉及到的范围也比较多,如:会计软件、企业资源计划以及企业的业务流程等等。通过商务软件,避免企业信息数据的复制、篡改,一方面,不仅可以及时查询企业的业务信息和会计信息,加强对企业经营状况的动态实时了解;另一方面,还可以避免企业在业务劳动中的一些工作上的重复,加强对企业各项业务以及工作的集中管理,提升企业效益。可以说,应用软件的使用,可以满足不同领域、不同层次用户的不同需求,是一种比较有效的计算机系统软件。

其次,系统软件。在计算机系统中,系统软件是其中必备的一种软件程序,其主要用来加强对计算机系统中各种应用程序的管理和运行,并且可以编译应用程序等。一般而言,系统程序主要就是指各种服务程序系统,分为:编译系统、操作系统、数据库管理系统等等。其中,编译系统就是我们常提到的语言处理程序,在计算机系统中,通过机器语言与汇编语言,进行程序语言的设计。如,通过网络对异地外部设备的控制,如高速打印机,首先将信息存入共享服务器中,保持信息的随时获取,一方面,加强了集中管理,使得企业的工作效率得以提升;另一方面,还在一定程度上,控制了成本,有效降低了企业的运营成本。而所谓操作系统,其主要功能就是对计算要贩硬件、软件资源进行管理、监督和控制,使得计算机的效率得到充分发挥,一般有设备管理、作业管理、处理器、存储器以及文件管理等等。

2 计算机网络软件的应用

目前,随着科学技术的发展和网络技术的发展,计算机网络软件在设计方面也在不断的优化,使用得大量的网络软件被应用到计算机系统中,而且在这个发展的过程中,越来越多的网络建设者、设计者和使用者加强了对计算机网络软件问题高度关注。尤其是对于企业、工程以及学校和银行这些领域,他们在计算机软件的应用方面较为普遍,安全问题与企业单位的自身发展有着重要的联系。与此同时,计算机网络软件的安全问题还在一定程度上关系到国家的发展和稳定,为此,在当前的社会信息体系条件下,计算机网络软件有着不可忽视的重要作用。因此,要加强对我国计算机网络软件安全状况的分析。

计算机网络软件存在安全问题:

第一,软件跟踪。一些非法用户在计算机软件开发和研究之后,总是利用一些违法手段,通过各种分析工具和调试工具,对软件进行逐条的运行和跟踪,使用得软件源码被破坏,加密功能被取消,进而使得相关信息被复制,造成软件的动态破译。

第二,非法复制。计算机网络软件的非法复制对产品的权威性造成了极大的影响。因为软件在开发和研制的过程中,其所需要花费的时间和精力是比较大,而且动用较大的人力和物力,与计算机的硬件设备相比,其成本高出了几十倍甚至于上百倍。根据相关数据分析:全球的软件行业,因软件的非法复制,每年损失至少140亿美元,而且,这种现象还在逐年上升,一些国家软件的非法复制和盗用率竟然高达96%,因此,软件的非法复制对社会造成了严重的危害,是当前一个社会存在的严重问题。

第三,软件本身的问题。在软件开发和研制的过程中,其会受到各种因素的影响,再加上软件开发商方面存在的问题,进而导致了软件本身质量上的严重缺陷,这是全球最大的软件公司也无法避免的事情。所以,软件本身的质量问题为软件的安全带来了安全隐患。尤其是近些年来,由于软件本身质量问题而引起的安全事件频繁发生,这是非常危险的现象。

因此,要充分认识到网络安全问题的重要性。加强对计算机网络软件安全使用情况的分析,保障人们的切身利益。

计算机网络软件作为一种公认的网络软件方案,通过应用程序,加强对各种数据的分析和动态绑定,有着为人们提供了获取信息渠道的重要功能。因此,为了确保和延续计算机网络软件的优秀特性,完善其综合性能,满足经济发展的需求和人们社会生活的需求,需要加大对新技术的研究和应用,将这些新技术与计算机软件进行有机的融合,提高计算机网络设计水平。目前,应用较为普遍的几种新技术主要有:

首先,反跟踪技术。反跟踪技术一般与加密技术结合应用,其可以有效地预防利用跟踪软件或者是调试工具对信息的复制和盗取,而且反跟踪技术如果出现问题,还在很大程度上会影响到加密技术的可靠性。

其次,加密技术。从某种性质上讲,计算机软件作为一种特殊商品,加密是保护其产权的一种重要手段。当前信息市场上的软件大都进行了一定的加密处理。目前主要应用到的加密技术有软件自校验方式、密码方式以及硬加密技术等等。其中,硬加密技术是目前使用比较广泛的一种加密方式。

然后,就是预防非法复制技术。在软件运行的过程中,极易发生被复制的现象,因此,开发了一种自卫手段,就是防止非法复制技术,它可以有效地避免重要数据的篡改和丢失,提高软件的可靠性,保障软件用户的利益。

3 结论

总而言之,用户在使用软件的过程中,一定希望软件系统是可靠的、安全的,因此,要加大新技术的研究和应用,避免给用户造成更大的损失。

参考文献

[1]晁永胜,郑秋梅.基于模型的软件安全预测与分析[J].计算机工程与设计,2011(12).

计算机软件开发教程范文第3篇

关键词:项目教学法;软件开发;教学策略;PowerBuilder

中图分类号:G642 文献标识码:B

文章编号:1672-5913(2007)16-0085-04

1问题的提出

CCC2002指出:“计算机科学与技术学科除了具有较强的科学性外,还具有较强的工程性”,因此,计算机课程的教学应该是面向设计的。特别是计算机软件开发类课程,如“面向对象程序设计”、“数据库技术与应用”、“软件工程”、“软件开发工具与环境”更是具有极强的实践性。对这类课程的教学,必须突出其工程性和实践性。

我们在教学实践中,于2004年开始尝试以项目为导向的教学策略,取得了良好的效果。下面以PowerBuilder课程的教学为例,予以详细阐述。

PowerBuilder是一套十分优秀的计算机应用系统开发工具,具有面向对象的开发方法和可视化的开发界面。它不仅能够设计传统的高性能、基于客户机/服务器(Client/Server)体系结构的应用系统,也能够方便地构建和实现分布式系统,随着Internet的飞速发展,PowerBuilder提供了对OLE、OCX、跨平台等技术的全面支持,因此也已经成为World Wide Web应用环境下的开发利器。

由于PowerBuilder的上述优点,目前不少高校选用其作为“数据库开发”和“软件开发工具与环境”相关课程的背景环境,也成为很多高校学生毕业设计所选用的开发工具。

1.1传统的教学方法及缺点

传统的计算机课程教学一般是采取知识结构驱动的教学法,教师循序渐进地讲授一门课程的知识点,学生按部就班地学习知识点。虽然大多数教学环节也有实例,但是作为整个课程来说,这些实例是彼此没有联系的、孤立的。

这种教学模式的主要缺点是:

(1) 学生在学习过程中,看不到当前所学的局部知识的用处,缺乏学习的兴趣和内在动力,容易产生厌倦情绪。

(2) 学生在学习中难以抓住重点,往往过分注重细节,以至于淹没在知识细节的海洋中,难以把握整体的知识框架。

(3) 主要是以教师为中心,学生只是被动的听讲和练习,难以激发学生的积极性、主动性。

(4) 学生学完后,所掌握的知识是零碎的、不系统的,只见树木,不见森林,缺乏对一门课程的整体把握能力。

(5) 学生学完后,即使考试成绩很好,但仍然缺乏实际能力。学生对一个完整项目的整个分析和设计过程不甚清楚,不能把所学的知识完整地应用起来,解决实际问题时显得很茫然。

1.2项目教学法

我们认为,学生学习一门软件开发与设计课程,其主要目的并不仅仅是为了学习一些关于这门课程的知识,而更重要的是为了“掌握”和“运用”:即在掌握了基本的概念和关键的技术要点后,具有实际的应用开发能力。对于计算机专业的学生,采用多种模式、启发自主学习、重视实践环节、培养创新意识、树立团队精神显得尤为重要。

我们在长期教学实践和开发实践的基础上,在教学中运用了基于项目的教学法,它是教和学互动的模式。其基本思路是:以一个完整的软件开发项目贯穿整个课程教学过程的始终;以项目的构建过程为线索安排教学步骤;整个教学过程是由项目的任务驱动。学生在学习过程中参与一个完整项目的分析、设计、实现的全过程,这样就在课堂教学中把理论和实践教学有机地结合起来,学生在教学过程中就不是被动的接受者,而是积极的参与者,这种开放性、创新性的教育思想和模式,有利于克服以往的教学模式的弊端,极有利于学生在计算机信息管理应用方面实际水平的提高。

2项目的选择

在基于项目的教学法中,项目的选择是一个非常关键的问题。所选择的项目应该具有以下特点:

1. 项目应具有一定的代表性,虽然一个项目不可能具有某一类问题的全部特征,但要能反映问题的本质特征。

2. 项目应具有一定的实用性。项目最好来源于实际工作需求,尽可能选择与实际需要相结合的项目。可结合科研任务、技术开发项目、信息工程建设的需要及实际应用的需要进行选择。

3. 项目的规模要适中。项目规模过大则在一门课程的教学时数内难以完成,学生也难以把握;项目规模过小则难以涵盖主要的知识点,也缺乏整体性和挑战性。

4. 任课教师对所选项目应该非常熟悉,最好是教师亲自开发的项目。

5. 项目应和学生生活比较贴近,这样一方面增强学生的兴趣,更重要的是便于学生理解和接受,使学生专注于项目的技术问题。

基于以上考虑,我们在PowerBuilder课程的教学实践中,选用了“高校学生管理信息系统”作为项目案例。系统主要模块如图1所示。

3教学设计过程

3.1分析“高校学生管理信息系统”项目需求和系统主要功能模块。

把一个项目分成若干个模块,每个模块根据对应的知识点再分成若干部分课堂教学内容,将教学目标和内容融入对实际项目的理解和实践中,教学过程实际就是项目的建构过程。具体做法是:

每一个教学单元围绕一个主题,提出项目设计目标,然后利用项目的设计过程,讲解教学内容,最后给学生布置项目任务。

3.2项目教学的整体构想

项目教学的实施按照以下步骤进行:

(1) 认识PowerBuilder集成开发环境,建立一个新的Workspace和一个新的Application。

(2) 掌握窗口:窗口的创建、属性、常用函数、事件、基本窗口编程。创建系统主窗口。

(3) 学习和掌握PowerScript语言。

(4) 创建数据库。创建学生数据库以及数据表。

(5) 学习和掌握常用的窗口控件:命令按钮,单选钮、复选框、分组框、编辑框、编辑掩码控件等。创建信息录入窗口。

(6) 学习和掌握数据窗口技术。这一部分是PowerBuilder的核心内容,也是学习的重点内容。

(7) 学习和掌握高级窗口控件:下拉列表框、树状视图等。创建信息查询窗口。

(8) 菜单的使用。建立系统主菜单,对前面创建的窗口进行统一管理。

(9) 学习和掌握SQL语句。创建信息修改等窗口。

(10) 学习和掌握游标。创建学生成绩管理等窗口。

(11) 进行功能调试和系统测试。

(12) 将Application编译成可执行文件,制作安装盘,交付使用。

3.3项目教学的实施案例之一

(1) 主题:窗口与常用控件

(2) 项目任务:创建学生基本信息录入窗口。如图2所示。

(3)、教学目标:学习和掌握常用的窗口控件:命令按钮,单选钮、复选框、分组框、编辑框、编辑掩码控件。

(4) 教学过程:在此环节中学习创建窗口对象,熟悉各种窗口控件及特性。学会对象属性、方法的引用格式,事件过程的创建。让学生创建一个窗口实现向student表添加本班同学信息的功能,这样可以添加的同时也能体会到成功的喜悦,使学生深入理解和掌握面向对象分析问题的方法。

3.4项目教学的实施案例之二

(1) 主题:数据窗口技术

(2) 项目任务:创建学生信息综合查询窗口。如图3所示。

(3) 教学目标:学习和掌握数据窗口技术。

(a) 使学生掌握数据窗口对象和数据窗口控件的概念,特别是分清这两者的区别。

(b) 使学生掌握事务对象的概念。

(c) 使学生掌握数据库连接和断开的概念和方法。

(d) 使学生掌握数据提取的概念和方法。

(e) 在以上4项的基础上,使学生熟练掌握使用数据窗口的步骤。

(4) 教学重点和难点分析:

数据窗口技术是PowerBuilder的核心专利技术,数据窗口能够从5种数据源提取数据,并且开发者可以从11种显示风格中进行选择,这样在应用程序开发过程中,开发者利用这种技术可以以方便、直观、简捷的方式操作数据库,因此可以把精力主要放在应用系统功能的实现上,提高了开发效率,所以掌握数据窗口技术是使用PowerBuilder进行软件开发的关键。

由于这一部分进入的新概念较多,数据窗口的使用步骤也较为复杂,因此掌握数据窗口技术也是本课程的一个难点。

(5) 教学过程:

(a) 提出项目任务。

(b) 概述数据窗口技术。激发学生兴趣和积极性。

(c) 演示使用数据窗口画笔创建数据窗口对象:dw_student。

(d) 演示创建一个新窗口,添加数据窗口控件:d_student。

(e) 演示通过数据窗口控件的属性设置和编写代码这两种方法,将数据窗口控件与数据窗口对象建立关联。

(f) 演示编写代码。连接数据库,提取数据,修改数据库的数据,断开连接等。

(g) 给学生布置项目任务。让学生通过数据窗口控件在窗口对象做学生表、课程表及三表连接的修改、删除和查询及浏览页面,并且和窗口对象创建的浏览页面进行比较。

(h) 给学生布置拓展任务。要求学生在学习了“学生”信息更新和查询后,自己独立完成“课程”,“成绩”等查询窗口的设计,以收举一反三之功效。

4考核方式

采用项目教学法必须进行课程考核方式的改革。我们尝试的考核方式为:形成性考核、期末笔试和整个项目完成情况考核三部分相结合的方式。这三所占比例为20:40:40。

形成性考核主要是对学生的平时作业、学习过程中的学习行为表现、上机实践环节等方面进行考核评价。

笔试考核学生对基本概念、基本理论、基本技能的掌握。

项目完成情况考核主要考核学生综合运用所学知识解决问题的能力和实际开发设计能力。

5教学效果

基于项目的教学法在实践性较强的计算机课程教学中,具有无可比拟的优点,它使学生能够融会贯通地掌握一门课程的精髓;强化学生的计算机应用软件开发能力;提高学生以计算机软件工程的原则对开发项目的分析、架构、设计、管理、文档编写等能力;给学生毕业后继续在计算机技术方面自我发展奠定了良好的基础;培养了学生的合作共事的能力和团队协作精神。

我们采用项目教学法两年多来,收到了明显的成效。从表1可以看出,学生无论是考试及格率,还是职业技能鉴定通过率和毕业设计良好以上比例,都有了明显提高。

尤其可喜的是,由于学生的实际软件开发能力得到明显提高,大大增强了他们的就业竞争力。例如三名学生通过Internet把自己的设计作品上传给某软件企业,企业对他们开发的软件表示认可,很快就到软件公司从事专业的软件开发工作。

6结束语

计算机技术与应用的飞速发展,促使我们必须对传统的计算机课程教学模式进行改革,不断更新教学观念、教学内容、教学方法、教学手段。基于项目的教学法,作为我们在教学改革实践中的探索,尽管取得了一定的成效,但也面临着挑战,例如,项目教学法对教师的教学水平提出了更高的要求,要求教师不仅要具有一定的理论水平,也要具备较为丰富的开发经验。我们将在今后的教学实践中继续探索,以达到提高学生专业技能和综合素质的目的。

参考文献

[1] 郑阿奇. PowerBuilder实用教程[M]. 北京:电子工业出版社,2005.

[2] 明日科技. PowerBuilder管理信息系统完整项目实例剖析[M]. 北京:人民邮电出版社,2005.

作者简介:牛军涛(1969-),男,河南襄城人,计算机软件与理论专业工学硕士,讲师,高级程序员,现任河南质量工程职业学院信息工程系主任,研究方向:数据库,软件工程。

计算机软件开发教程范文第4篇

关键词:软件工程;概念和术语;实例;实践

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c

Designing a Software Engineering Teaching Scheme

WEN Zhi-xiong,CHEN Zhen-ting

(Brief Introduction of Kunming Metallurgy College, Kunming 650033, China)

Abstract: This paper proposes a teaching scheme based on the idea of software engineering, which is teaching together with examples, attaching importance to convey the key concepts, persisting in engineering awareness cultivating and practice training during all the school period.

Key Words: Software Engineering; Concepts and terminology; Example; Practice

1 引言

高职软件技术专业培养目标是:“能够从事软件企业桌面应用开发、软件生产企业编码、系统支持、软件销售与应用开发、非IT企业事业单位信息化等工作。”

软件工程是专业培养方案核心课程之一,它是指导计算机软件开发与维护的一门工程学科。

计算机专业的学生毕业之后,无论从事软件开发、维护还是销售,都离不开软件工程的知识。可以说,软件工程概论课是他们参加工作后马上就要直接应用的一门专业课。

但是,由于下述原因:

(1)由于为了推进就业,各学校都采取最后一个学期进行毕业设计和就业实习的做法,所以,学制三年的高职,课堂学习时间两年半;作为国家紧缺人才培养工程的二年制软件技术专业,课堂学习时间一年半。而学习软件工程涉及的前驱课程比较多,学习时间紧。

(2)计算机高职学生对动手解决实际问题的能力较强,但对《软件工程》理论学习,普遍感到内容比较抽象,不易理解,学生学习的积极性很难调动起来。

因此,如果没有一整套科学、合理的教学方案设计,就不可能在短时间内,培养出具有较强工程能力的软件人才。

2 教学方案设计的依据

(1)在软件工程的理论学习中,有些概念、术语反复出现,它们对内容的理解起着至关重要的作用,所以,我们的教学要重视这些概念的传达。

(2)Jennifer Niederst Robbins在他的广受读者欢迎的著作《学习Web设计》一书中写到:“很多人通过读书和理解并修改存在的例子自学JavaScript”[1],等。所以,实例软件工程教学是一种好方法。

(3)L.G.Alexander在其编著的《新概念英语》教程中,就外语学习的基本原理,致教师和学生:“学习语言与学习乐器十分相似”。同样,“软件设计是一个创造性的过程。从书本上学不会设计,只能经过实践,通过对实际系统的研究和实践才能学会”[2]。所以,我们的软件工程教学要加强实践教学。

总之,通过重视关键概念、重点难点内容的讲解,实施实例教学以及加强实践环节,使学生成为教学的主体,通过自主学习来了解、掌握相关知识和技能。

3 教学方案设计

3.1 重视几个重要概念和术语的传达

在软件工程中有几个出现频率非常高的术语,理解掌握它们对促进学生的自我学习将起到一两拨千金的作用。

3.1.1 模型

(1)定义:模型就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成[3]。

(2)建立模型的一般步骤:1)客观、正确地调查和分析所要解决的问题;2)在明确问题的性质和关键所在后,根据知识进行归纳和总结;

(3)抽象地建立起求解问题的模型;4)考察和证实模型是否准确地反映了实际问题运行的规律。

结构化分析主要建立功能模型和数据模型。数据流图是建立功能模型的基础,实体-联系图是用于建立数据模型的图形。软件设计的目标是设计出所要开发的软件的模型,等等。

3.1.2 抽象

人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。人们在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面(共性)。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节,即在解决问题的过程中集中考虑与当前目标有关的方面,忽略与当前目标无关的方面。

软件工程中从软件定义到软件开发要经历多个阶段。在这个过程中每前进一步都可以看作是对软件解法的抽象层次的一次细化。抽象的最低层就是实现该软件的源程序代码。

3.1.3 逐步求精

逐步求精是一种求解问题的技术。Miller在他于1956年3月发表的著作"The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Procession Information"中指出,一个人在任何时候只能将注意力集中到7+-2的信息块上。

1971年,Wirth在他的"Program Development by Stepwise Refinement"中首先提出了逐步求精的开发技术。他指出,逐步求精可以帮助工程师将精力集中到当前的开发阶段,而忽略其他细节问题。Miller规则是人类的智力限制,我们不可能战胜我们的自然本性,所以我们要与之共存,接受自身局限,并在这个前提下尽我们的最大努力。

所以,逐步求精是一种“为了求解重要问题而尽量推迟对细节进行考虑”的基本解题方法。

3.1.4 演绎、归纳

归纳和演绎是人们认识过程中的两种推理形式。归纳是从个别事实走向一般的结论、概念的思维方法。演绎法是从一般原理、概念走向个别结论的思维方法。

3.2 在校期间持续培养工程意识

针对学制短、时间紧的情况,在前驱的课程中就要让学生了解软件工程框架、熟悉模型元素。如在结构化程序设计课程教学中坚持用用流程图表达算法思想,在面向对象程序设计课程中,表达面向对象的思想时使用UML图和图素(基本图素如角色、用例、类、接口等);在对应的课程设计中,教师以软件工程框架(目标、过程和原则)来指导学生的设计,并要求同学使用相应的开发工具(如C,VC#.NET)来实现老师给出的(或与同学一道做出的)软件模型。总之,要求同学要具有按“图”(模型)施“工”(编码)的能力,为更深入地学习和今后从事软件工程打下良好的基础。

计算机软件开发教程范文第5篇

关键词 软件工程;教学改进;实践

一、引言

提起软件,在当今社会人们并不陌生,正是由于软件的发展,使计算机应用逐步渗透到社会生活的各个角落,使各行各业都发生很大的变化。这同时也促进人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而,软件的规模越大、越复杂,人们的软件开发能力越显得力不从心。于是,人们开始重视软件开发过程、方法、工具和环境的研究,软件工程应运而生。

软件工程是计算机软件专业一门综合管理课程。它涉及计算机科学、工程学、管理学以及经济学等多门学科,是一门根据人们的软件开发经验总结出来的理论课程。本课程的教学目的和任务是通过学习使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术,了解软件工程各领域的发展动向,掌握如何用工程化的方法开发软件项目,知道在开发过程中应遵循的流程、准则、标准和规范。作为一门实践性和综合性很强的课程,对培养学生的软件素质,提高学生的软件开发能力具有重要的意义。

二、课程特点

1.课程综合性强

软件工程与其他计算机课程,如程序设计语言、数据结构、编译原理、数据库以及操作系统等课程都是相互作用和影响的。在一定程度上说,软件工程讨论的是在实际开发当中综合运用这些课程中讲过的理论和方法,将这些课程的理论和方法放在一个统一的目标下,这个目标就是在有限的时间及预算条件下,开发出高质量的令用户满意的软件。

2.课程内容不断更新

软件工程课程的教学培养目标应该以市场需求为导向,使课程培养的学生真正能够在软件行业中发挥作用。因此,在授课时,我们不能拘泥于教材内容的限制。在讲解基本原理、基本概念和基本方法的同时,介绍一些新方法、新技术。这样,有助于开拓学生的视野和培养创新意识与开发能力,使他们走向社会后不至落伍。

3.课程的实践性强

软件工程是一门实践性很强的课程,它是各种开发经验的总结与提炼。在学习过程中不但应注重概念、原理、方法和技术的掌握,更应注重方法、技术的实际应用。学习软件工程必须投身于软件开发的实践,才能真正领悟软件工程的精髓。

三、软件工程教学中存在的问题

软件工程是一门理论性较强的课程,在日常教学过程中存在以下问题:

(1)学生对软件工程的抽象理论容易感到枯燥乏味软件工程涉及众多专业领域,它是一门多学科交叉学科,课程内容具有抽象化、系统化、理论性强等特点。不像程序设计课程能随时动手设计实现程序,激发学生学习的兴趣和热情。学生在接受抽象理论的时候,容易感到内容空洞、枯燥乏味,学习时就缺少主动性,难对这门课程产生兴趣。

(2)实践环节不理想。目前可供该课程选用的合适的实验项目少,实验效果与教学要求差距较大,学生不能把理论知识有效地运用到实践活动中。

(3)不能较好地因人施教。学生的基础水平参差不齐,个体差异较大,现行的教学模式很难满足全体学生的要求。

由于学生没有真正掌握基础理论及运用理论的技能和方法,学习过程中又没有参加实际软件项目的机会,不能将软件工程的理论充分运用到设计实践中去,给毕业设计,以及毕业后参加工作带来很多麻烦。

实际教学当中,这门课的教学效果往往不是很理想,教师觉得这门课教起来较困难,学生学习中多数也觉得枯燥无味,很难达到较好的教学效果或获得较强的实践能力等预期目的。如何改善?结合软件工程的课程特点,可以从以下几个方面来改进《软件工程》的教学质量。

四、软件工程教学改进的内容和方法

1.教学过程引入实际案例

软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生。因此,在教学过程中引入案例,将复杂抽象的概念用具体生动的实例进行诠释,能够收到事半功倍的效果。例如,在授课时、可结合一个“学生信息管理系统”实例,给学生介绍具体的开发过程和方法。

2.组织课堂讨论,形成教学互动

我国有句名言:“授人以鱼,不如授人以渔”。学生是教学活动的核心,教师要利用合适的方法调动学生的积极心理和参与意识,改变传统的教师高高在上的教学方式,让学生参与教学过程,有机会发表自己的看法。

比如在讲授需求分析这章内容时,可结合“学生信息管理系统”这个案例,要求学生按照软件工程教学的思想和方法认真做好需求分析。在实施过程中,首先由学生独立思考,给出解决方案。然后在课堂上,组织学生进行讨论,分析各自解决方案的优劣,并进行综合。最后由老师进行总结和评价,指出该案例所涉及的理论知识及其应用方法,就学生提出的问题进行解答。这样通过组织学生讨论,可使学生进一步理解和掌握课程内容的方法和步骤,使抽象的知识变得看得见,用得着,大大激发了学生学习的兴趣和自信。

3.加强实践环节

从本质上看,软件工程的实践性和综合性是其他相关课程难以比拟的。因此,必须结合设计项目和实际应用加以施教,才能取得良好的教学效果。那么,在把握教学进度的同时,必须及早安排好课程设计,让学生同步开展课程设计。这样,理论课讲完了,课程设计也基本结束,学生们能从理论和实践的结合上,加深对软件工程知识难点、重点的理解,进一步深刻理解软件过程和系统消化理论知识,训练项目设计的思路,锻炼实际开发能力,培养严格规范的项目开发方法和步骤,体验文档编写整理、阶段性评审总结以及软件测试等各个方面的工作流程,直接培养了学生从事实际开发的能力。

4.以“项目小组”形式完成软件开发过程管理

为了培养学生的团队精神和求知欲,我们采用“项目小组”的开发形式,每个小组5-6人自由组合,分工合作,学生们不再是旁观者,而是分别担任客户、项目经理、系统分析员、程序员、测试员和评审人员的角色,要求运用软件工程中面向对象技术、方法和按照软件过程规范分阶段实施,学生所做课题贯穿整个学期的学习过程,每个课题都来自实际需求,每个小组课题不允许重复,这种方法在提高学生的兴趣和和学习主动性,以及发挥学生的专长和创造力等方面,收到了很大的成效。

五、总结

通过一轮的教学改革,软件工程课程的教学效果有了比较明显的改善,学生对软件工程的原理及概念都有了比较深刻的理解。同时学生的实践动手能力、团队协作的能力、解决问题的能力以及文档的编写的水平都有了比较明显的提高。目前看来,新的教学模式取得了比较好的效果,但是其实施过程还需要在实际的教学过程中不断的修正和完善。

参考文献:

[1]张海藩.软件工程导论第四版,清华大学出版社.

[2]陈明.软件工程学教程,科学出版社.

[3]尹锋.软件工程课程教学改革初探.长沙大学学报,2004(12):79.

计算机软件开发教程范文第6篇

关键词:双语教学;软件工程;计算机专业;独立学院

中图分类号:G642 文献标识码:A

1引言

由于软件国际化和本地化研发、国际交流和学习先进计算机开发技术的需要,英语在IT行业的地位越来越重要。重点和一般本科院校的计算机专业普遍开设双语课程,以达到提高学生的英语应用能力的目标。

软件工程学科涵盖软件开发、维护和管理的基本概念、基本原理、开发软件项目的工程化方法和技术以及开发过程中应遵循的流程、准则、标准和规范等。因此,在软件工程课程实施双语教学,能够有效地规范课程、革新教法、重新定位培养目标和改善教学效果,实现计算机软件专业人才培养进入国际化轨道。

目前,大多数独立学院都开设了计算机专业,独立学院的人才培养基本目标是培养创新应用型本科人才,因此,在独立专业教学中开展双语教学是大势所趋。独立学院计算机专业学生的英语水平与重点或者一般本科院校学生的相比有较大差距,开展双语教学时面临一些新问题。

某独立学院在2007年春季学期对2004级计算机专业软件工程课程进行双语教学改革,总结经验教训后,决定在2008年春季学期对2005级计算机专业软件工程课程恢复普通教学。本文介绍了具体情况。

2教学目标

软件工程课程教学的主要目的是使学生通过课程学习掌握开发高质量软件的方法、有效管理软件开发活动并为参加大型软件开发项目打下坚实的理论基础。课程教学

包含课堂教学、实验教学和课程设计三个环节。课堂教学侧重于讲授软件工程的相关原理和概念;实验教学要求学生了解并掌握常用软件开发工具;课程设计主要通过适当规模的软件系统的需求分析、设计、实现、测试与部署,培养学生软件工程实践能力、遵循软件工程规范撰写软件开发文档的能力、团队协作精神和软件项目管理能力。

3教学实施

3.1基本情况

该学院计算机专业2004级和2005级学生人数、通过大学英语四级考试人数和第一次问卷调查时学生对双语教学持赞成态度的比率、Java与数据结构课程的平均成绩见表1。另外,2004级和2005级分别有24%和20%的学生在软件工程课程开课前参加了IT培训机构举办的软件设计培训。笔者此前担任这两个年级Java、数据结构课程的教学,试卷难度和知识覆盖情况基本保持一致。

上述基本情况表明两个年级学生的平均水平不显著。

3.2双语教学

课堂教学选用Ian Sommerville编著《Software Engineering》(Eighth Edition),参考教材为该教材的中译版。课程实验与设计教学采用自制的讲义。

该学院计算机专业人才培养计划规定,软件工程课程课堂教学是40学时、实验课时16学时、课程设计40学时(2周×5×8)。2008年春季学期的软件工程教学依然沿用该教学计划。2004级和2005级软件工程课堂教学均采用案例教学法,课程实验内容与课程设计的课题要求基本相同。

开展双语教学前,我们得到学院教务管理部门的大力支持,但未与学生协商。开课时,学生曾不愿意领发学院订购的《软件工程》教材,原因是学生担心教材看不懂和主讲老师会中途放弃该教材而换用其他教材。经过细致的解释工作,80%的学生领购该教材,20%的学生购买中译本。

在教学过程中,及时根据学生反馈调整教学形式。因多数学生感觉不适应“英语讲授+英文教案”形式,第9~20学时,调整成“汉语讲授+英文教案”形式;第21~34学时,调整成“汉语讲授+英文教案(中文对照)”形式;第35~3时,以小组为单位,学生报告自学教材部分章节。第40学时,点评学生自学情况和课程总复习。作业以中文或英文方式完成。

3.3普通教学

计算机专业课程教学中,专业课程教育应当是主线,“双语教学”只是给学生提供一个应用英语的机会,英语只是一个载体,实质还是应当培养学生掌握计算机专业的知识和技能。根据2005级计算机专业学生的基本情况和2004级双语教学的经验,我校2005级软件工程课程教学是采取普通教学形式。

教材采用《软件工程理论、方法与实践》(孙家广主编)。课堂教学课时安排和实验教学内容与2004级的基本相同,课程设计教材选用韩万江主编的《软件工程案例教程》。

3.4教学效果评价与分析

以两个年级工程课程的笔试成绩为依据,评价双语教学与普通教学的教学效果。自制试卷时,确保两个年级的试卷覆盖知识点和难度相同。被考察知识点分布、课时分配、平均成绩( , 表示第 个学生的成绩)和均方差( )见表2。第一列A~J分别表示概述、软件过程、需求工程、面向对象基础、面向对象分析、面向对象设计、软件实现、软件测试、项目管理各章和课程设计。“总计”行依次是总学时、总分、2004级和2005级的平均成绩、均方差。

表2中2005级的平均考试成绩比2004级的高,且均方差比2004级的小。显然,采取普通教学方式教学效果更好。

课程结束时进行第二次问卷调查(表3)。由表3可知:2004级使用英语教材的学生因为英语基础差,大部分精力浪费在对教材中的英语词句的理解上,平均每次课的复习时间比2005级学生多花费0.76小时;在回答对双语教学是否支持问题时,2004级计算机专业60%的学生赞成在专业课程教学中采取双语教学形式,比2005级的高。表明2004级学生在经历过双语教学后,清楚地认识到专业英语方面的差距,具有提高英语水平的强烈需求;两个年级有超过70%的2004级学生建议提前C/C++和Java语言程序设计等课程开展双语教学;近六成的学生建议“计算机导论”进行双语教学。2005级课程设计的教学效果好的主要原因是,他们能够在课余根据课程指导设计教材,进行自主学习。

4解决方案

独立学院确定在计算机专业课进行双语教学时需要重视如下问题:

(1) 应该对初次开设双语课程的学生进行双语教学的实质、教学形式以及意义等宣传,让学生从思想上与老师保持一致,这才有可能在教学过程中达到教学相长。

(2) 应尽力避免学生将主要精力浪费在对英语语句的学习方面。在双语教学前,需对学生进行英语水平调查,如果学生普遍英语水平不高,建议慎重考虑选择双语教学。

(3) 在开展计算机专业课程(如软件工程等)双语教学之前,建议在“计算机导论”、“C/C++”或“Java程序设计”等先导课程中先开展双语教学,并在第一学年第二学期开设专业英语选修课,以提高学生的专业英语阅读和应用水平。

(4) 应根据学生的实际英语水平灵活选择“汉语讲授+英语教材+中、英文作业”、“汉、英讲授+英语教材+中英文作业”或者“英语讲授+英语教材+英文作业”等形式。

计算机软件开发教程范文第7篇

关键词:软件水平考试;课程群;应用型人才

一、引言

计算机技术与软件专业技术资格(水平)考试(以下简称软件水平考试),是国家人力资源和社会保障部、工业和信息化部联合组织实施的国家级考试,其目的是科学、公正地对全国计算机与软件专业技术人员进行职业资格和专业技术资格认定、专业技术水平测试。

作为计算机专业的学生,尤其是软件工程、网络工程这两个专业,通过考试获得证书的人员,表明其已具备从事相关专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人中择优聘任相应专业技术人员。如果可以获得计算机技术与软件专业技术资格(水平)考试的一纸证书,对将来的就业和个人专业能力的提升都是有很大帮助的。

对于目前各大高校各个专业所实行的教学改革与课程群建设,其最终目的都是要将学生培养成真正的应用型人才。俗话说得好“技多不压身”,多一项技能就多一条求职门路。所以,针对计算机类诸如软件工程、网络工程等专业,将计算机技术与软件专业技术资格(水平)考试作为课程群建设的其中一项目标是很有必要的。

二、软件水平考试的意义与价值

1.知识掌握度的检测

由于计算机软件水平考试专业类别及等级的划分,决定了其知识面涉猎的广泛性,其中所涉及的知识点有C语言、C++、Java中的一种程序设计语言,相关数学的基础知识,算术和逻辑运算、数据库、网络和多媒体的基础知识,数据结构和常用算法等。而软件水平考试并不是单纯考查某一科目的知识,考查的是主干核心知识线及其开枝散叶的庞大知识体系,像我们的课程群建设一样,是一个整体,一个环环相扣的体系。

可见,对于计算机类的学生而言,常疑惑大学四年究竟学到多少东西,究竟掌握了多少专业知识,究竟能不能达到IT行业就业的需求匹配度。通过软件水平考试,就能检测到目前自己的知识掌握程度和行业需求是否匹配。

2.帮助学生做好目标定位

相信不只是计算机专业的学生,现在大部分的大学生对自己未来要走的路都缺乏方向,没有目标就导致浑浑噩噩、混日子的现象发生。抛开社会人员来讲,计算机软件水平考试为在校大学生提供的第一点好处,就是可以帮助他们在就业前尽快对自己做好目标定位。不管这个目标是短暂的还是长期的,起码让学生在大学期间通过软件水平考试,为自己定好要考的专业类别、资格级别,有方向、有动力地去学习。而计算机软件水平考试所面向的技术,都是IT行业的主流技术,也是生活中常见的实用技术。

3.帮助学生拓展知识

随着大学教育越来越普及,学校不断扩招。不管是从人员数量上,还是从时间有限性上,老师都只能在有限学时内按照教学大纲完成较浅知识面的教授,并不能真正达到社会需求。而计算机软件水平考试从初级资格到高级资格的每一个不同职称,知识涉猎广泛,会帮助学生在复习考试期间拓展自己的知识面,虽然并不一定深入研究,但是在此过程中也能帮助学生找到自己感兴趣的知识而能进一步去探究学习。

其实目前很多高校会要求学生参加软件水平考试,对此也存在着很多褒贬不一的评论。但是不管怎样,软件水平考试一定是利大于弊,将其作为我们课程群建设的一部分也是百利而无一害的。

三、针对软件水平考试的课程群建设

软件水平考试对于软件工程、网络工程等相关计算机专业同样具有一定的重要性,将其置身于目前各大高校相关计算机专业的课程群建设中,也是相当有必要的。

1.不同资格不同对待

软件水平考试按考试级别层次划分,可分为初级资格、中级资格、高级资格。而在不同的级别层次中又有对应于不同专业类别的资格名称。比如,在初级资格中对应于计算机软件专业的有程序员,中级资格中对应于计算机网络专业的有网路工程师等等。

虽然课程群讲求的是打破独立性、去除单一化,要将课程建设整体化、融合化,但是针对这些不同级别、层次的不同资格和职称考试,课程群的建设也应有计划、有层次地进行。例如,根据考试大纲要求,学生如果要考初级资格的程序员,必须熟练掌握C程序设计语言以及C++、Java中的一种程序设计语言,熟练掌握基本数据结构和常用算法。对数据库、网络和多媒体的基础知识,信息技术的标准、安全性,软件开发项目管理的常识等知识只需要了解。这样我们在针对应用型人才培养和学生未来就业的渠道开拓而进行课程群建设时,就能做到有的放矢。再比如中级资格中的数据库系统工程师,考试大纲除了要求熟练掌握基本数据结构和常用算法外,还要熟练掌握数据库原理及基本理论、常用的大型数据库管理系统的应用技术、数据库应用系统的设计方法和开发过程,而其余的课程知识则只需进行熟悉和了解。

可见,对待不同级别的资格考试要有重点、有计划地进行针对性的课程群建设。对于考试大纲要求熟练掌握的课程及知识点,应该作为课程群的核心去建设。之所以将软件水平考试作为纽带融入课程群的建设中,正是利用了课程群能避免重复、用有限时间精进教学内容、有主干有分支、互相连接脉络通畅等优势,从而真正培养出当前IT行业所需要的应用型人才。

2.大体系里存小体系

虽然同为计算机专业的一员,但是不同的专业类别,如计算机软件类的软件工程、计算机网络类的网络工程、计算机应用技术类的电子商务包括信息类的部分专业,需要考取的资格职称也不完全一样。所以,针对不同专业,我们在软件水平考试的课程群建设同样需要对症下药,一针见血。

整个计算机专业课程群的建设作为一个大体系,就好比我们的祖国,内部又包含着像各个省份一样的不同专业类别的小体系。

如图1所示大体系与小体系之间相互依附。先着手于小体系的课程群建设,才能支撑起大体系的课程群建设。而同时只有先建立好大体系的框架,才能有目的性、有针对性地填充每个小体系的内容。对于各个小体系而言,彼此之间既相互独立又相互联系。针对计算机中不同的专业类别,独立构建课程群小框架来填充内容,利用别的小体系来作为边缘性补充,这样才能将以软件水平考试为纽带的计算机课程群建设得扎实、精确。

四、结语

计算机技术与软件专业技术资格(水平)考试在全国范围内已经实施了很多年,社会和IT行业对其有着广泛的认同。对于计算机类专业的学生来讲,软考是一次为自己增加砝码的机会。虽然对软考的价值与意义存在着各种各样的评论,但是其有利的一面也不止前面提到的那几点。以软件水平考试为纽带进行计算机专业的课程群建设,通过对不同级别、不同专业类别、不同资格和职称的考试进行有针对性的建设,加之每一个不同的计算机专业作为小体系的课程群建设来架构起整个计算机专业课程群,都是一次新的尝试,同时也需要我们继续精进和探究。

参考文献:

计算机软件开发教程范文第8篇

关键词:JAVA 教学分析 措施

中图分类号:G642.4 文献标识码:A 文章编号:1673-9795(2013)05(a)-0148-01

1 JAVA概述

JAVA是一种计算机的编程语言,目前仍然是较为常见的计算机编程语言,具有效率高、覆盖面广、简单易用等特点,不但可以用来进行桌面程序的开发,还可以适用于与互联网应用的开发,在当前具有广泛的应用。JAVA是面向对象的编程语言,在计算机、网络和多线程等技术领域都涉及到JAVA的相关知识,学习JAVA编程语言应经成为软件技术开发相关人才培养的基础。在我国,随着计算机和互联网技术的不但发展,JAVA编程技术人员需求巨大,相关专业的就业前景很好,很多高校都开设了JAVA语言相关课程。

2 当前JAVA教学存在的主要问题

2.1 JAVA课程的认知困境

近年来,高校扩招和民办高校的发展,使得更多的学生进入大学学习,加上激烈的市场竞争和宣传,计算机编程专业成为很多学生心目中理想的学习和就业方向。在这种大趋势下,学习JAVA编程的学生显著增加,但由于很多的学生对JAVA知识并不了解,只是为了获得理想的就业而选择编程,在学习时缺乏主动积极性。JAVA语言作为计算机编程基础知识,需要学习者具有较好的逻辑思维能力、严谨踏实的态度和抽象思维能力。这些较高的要求使得JAVA学习成了很多学生的难点,产生了畏难和认知的偏差。

2.2 JAVA课程设置问题

当前大多数高校的JAVA课程设置,由于学生大多没有相应的基础,因此所设置的课程大多集中在以JAVA SE平台教学为主,包括有面向对象编程方法、JAVA多线程、JAVA界面及事件编程、JAVA数据库连接、网络编程等基础知识。但是这些知识并不能构建完整的JAVA知识体系,学生在学习之后不能了解JAVA与C++等计算机编程语言之间的关系,JAVA语言编程的优越性,并且认为这些知识就可以满足社会对JAVA人才的要求。其次是由于缺乏相应的后续自主学习能力,不能适应JAVA编程技术的新发展,在JAVAEE等新对社会流行编程技术面前感到吃力,学生在完成学习走向社会岗位时,仍然不能满足社会的要求。课程设置的不合理实际上从整体降低了JAVA学习的应有水平。

2.3 JAVA作业和实验设计中的问题

由于JAVA学习的特殊性,其作业和毕业实验设计等需要学生具有良好的自主思考和动手能力,但是在实际的教学中,学生对JAVA的动手实践和综合运用能力较差,不能独立的进行实际问题的解决;毕业设计等过度依赖已有的资料,套用现象严重,不能进行原创;学生在学习期间也没有形成良好的设计习惯,表现出对系统设计和实现的随意性。

2.4 JAVA教学老师的问题

JAVA技术是一门不断深入发展的技术,在当前的计算机网络多个方面有着广泛的运用,高校的JAVA教学老师缺乏长期的一线实践开发经验,不能适应发展的新技术,教学效果不理想。JAVA学习的特殊性要求其必须做好教学与实践之间的结合,对老师的教学内容和方法提出了更高的要求,很多老师并不能有效的实现学生理论知识与实践动手能力之间的协调发展。

3 JAVA的教学设计探讨

3.1 合理的规划教学内容

JAVA知识主要包括有JAVA基础知识、JAVA核心知识和JAVA提高知识三个部分。基础知识要求学生对面向对象的编程、JAVA的语法和异常处理、JAVA的环境等知识进行很好的掌握,是进一步学习JAVA知识的基础。核心知识部分要求学生对面向对象的继承性、封闭性、抽象性和多态性等,并掌握这些特性设计的技术。JAVA提高知识部分是指根据专业方向学习的不同需要,选择多线程、图形处理、数据库处理、网络等内容学习。教学内容的设置,要求学生在掌握基本的JAVA基础知识的基础上,建立面向对象思想、算法设计思想等,为更深入的学习和提高程序设计水平奠定基础。

3.2 案例教学,启发学生的编程思想

JAVA编程语言的学习,重要的是在基础知识学习的基础上实现对其编程思想的掌握,从而真正实现举一反三,能够进行独立的编程开发工作。编程思想的形成,需要在不断的实践观察、分析和思考总结的基础上完成,因此,在教学中采用案例教学,是符合JAVA知识特点的有效手段。采用的案例一定要小而精,符合学生已掌握的JAVA知识,使得学生可以在原有知识体系的基础上通过自我实践和探索,实现对新知识的学习和体系构建,不但可以实现对新知识的有效掌握,还可以实现对自学和设计能力的锻炼。

3.3 运用多媒体教学与传统教学方法相结合

多媒体教学作为新的教学手段,在教学实践中取得了良好的教学效果,在JAVA知识的教学中采用传统教学模式与多媒体教学相结合的形式,可以将多媒体直观、形象和吸引力强等优点充分发挥。老师在教学时以传统方式进行理论知识讲解,以多媒体技术进行实践和案例的讲解,增加理论与实践之间的结合。

3.4 加强实践教学,提高JAVA知识综合运用能力

JAVA程序设计是一门应用为目标的教学,要求学生具有很强的实践动手能力,当前高校的JAVA课程教学,应该在讲解代码、编程调试等基础知识外,还应该加强上机实践的相关内容。可以探索校企结合的教学模式,让学生在企业实际JAVA研发项目的参与中体会需求分析、设计、编写代码和进行测试等各个环节,增加学生的软件开发实践经验和培养专业的职业素质。

3.5 提高教师的专业素质

JAVA知识需要在不断的实践开发项目中进行提升和锻炼,这是当前教学老师所缺乏的。应该尝试建立老师的继续深造和培训实践制度,如定期参加合作单位的企业JAVA开发项目,获得实践经验和与一线开发人员进行交;参加JAVA程序培训班;对老师的入职考核加大力度,对JAVA的自主开发创新能力进行严格要求。

4 结语

JAVA语言是计算机软件和网络编程的重要语言之一,本文结合实际的教学经验对当前JAVA的教学现状进行了分析,并且提出了改变教学方法、合理设计教学内容和增强实践运用等方面的建议,以期促进JAVA教学事业的发展。

参考文献

[1] 耿祥义,张跃平.Java2实用教程[M].3版.北京:清华大学出版社,2006.