软件工程新技术范例6篇

前言:中文期刊网精心挑选了软件工程新技术范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

软件工程新技术

软件工程新技术范文1

关键词:软件工程工具;信息共享技术

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)09-2071-02

1 软件工程工具信息共享技术的含义

信息共享是指信息和信息产品在不同层次、不同部门的信息系统间达到交流与共用,将有用的信息资源与其他相关人员共同分享,以达到更加合理地配置资源,避免信息的重复采集、贮存和管理,提高信息的使用效率,避免浪费,从而更多地节约社会成本,创造社会财富,而信息共享的效率则依赖于信息系统的技术发展和传输技术的提高。在软件开发中,除操作系统以外的软件工具被统称为CASE工具,本文要探讨的CASE工具专指其中的软件工程工具,软件工程工具被广泛应用在其开发生命周期的各个阶段中,软件工程工具包括软件需求工具、软件设计工具、软件构造工具、软件测试工具、软件维护工具、软件配置管理工具、软件工程过程工具、软件质量工具和其他工具,使用软件开发工具的目的,主要是运用其在软件的分析、设计、实现等方面提供辅助作用,以减少流程中出现错误的几率,提高开发效率,节约开发成本。

2 软件工程工具信息共享技术的实现方式

软件工程工具的信息共享与工具的信息存储方式、信息通信方式、工具接口等方面有着密切的联系,可以实现信息共享的方法有很多,软件工程工具的信息共享可以是同一类的不同厂商的CASE工具,也可以是在软件开发的不同阶段所运用的CASE工具,不同的公司有不同的解决方案,下文将予以一一探讨。

2.1 通过工具间的接口实现

通过工具接口来实现信息共享,是指部分实力较强的软件厂商通过开发全套的、覆盖全部或者主要软件生命周期的CASE工具集合,软件厂商再通过定义CASE工具集合中不同的CASE工具的接口,通过接口来实现数据信息的相互交流。 通过接口来实现信息的共享可以很好地保证各个工具共享信息的完整性和兼容性,但是也有其弊端,由于整套的CASE工具都是由同一个厂商开发出来的,其内部接口也是软件厂商根据自身开发自定义的,这种接口常常都只针对本厂商的CASE工具,不能与其他厂商的工具相兼容,有很强的排他性。例如IBM公司开发的Rational系列工具,对整个软件生命周期中的CASE工具都进行了高度的集成化处理,其使用的需求管理工具是Requisite Pro,UML建模工具是Rose,而配置管理工具使用的是Clearcase。但是Boland 公司运用的相对应的工具分别为Caliber, Together 和 Starteam。对于每个公司的使用者来说,用户都可以很方便地从一个工具中调用另外一个工具,所以的信息传递和共享对用户来说是完全透明的,统一在后台得以实现。然而对于这两个公司开发的不同款软件,虽然都可以实现本软件使用者信息的共享,但是不同的软件由于CASE集中使用的工具不同,互相之间的接口是不相兼容的。

2.2 通过中间格式实现

通过中间格式来实现信息共享,需要制定一种统一的文件格式,然后各种软件工程工具约定采用所制定的统一的文件格式来存储各自产生的数据信息,这样,不同的CASE工具都可以通过读取所制定的中间格式的文件来实现工具与工具直接信息资料的共享,比如建模工具就是使用的这中方法。在实际应用中,很多软件工具都是在XML文件的基础上来制定中间格式的,因为XML文件比较通用,而且可扩展、标准化,很适合用作中间格式文件。XML(Extensible Markup Language)是由万维网协会在1998年2月正式的,其全称是可扩展置标语言,它是被设计来做存储和交换数据用的,采用的是结构化的数据表示方式,是一种格式良好的纯文本文件,与操作系统、硬件、编程语言和应用程序无关,因此,非常适合作为一种与平台无关的数据共享方法。比如IBM公司开发的建模工具Rational Rose就能够将UML模型转存为XML文件。XML得到了许多软件开发工具的支持,如今已经成为OMG的正式规范。Boland公司推出的建模工具Together 就可以读取XML文件,并且再毫无损失地将其还原为UML模型,这样,两种不同的建模工具,就通过XML文件作为中间格式,实现了信息共享。除此之外,美国电子协会EIA于1991年也了CDIF行业规范,它是CAD工具数据交换标准的扩展。CDIF是一种元模型,通过面向对象的实体关系模型来定义工具,定义工具间通过交换元数据的方式传递结构和内容,它解决了在软件开发的不同阶段CASE工具的数据交换问题。通过中间格式实现信息共享技术的原理虽然简单,但是制定和推广某种中间格式的实施难度很大,因此并未被普遍采用,目前也只有小部分的CASE工具能够支持同一种中间格式,如UML建模工具普遍都可以支持XMI。

2.3 通过信息库实现

通过信息库来实现软件工具信息共享技术,是指逐一将每个CASE工具所产生的数据抽取出来,然后再集中存储在一个信息库中,上层通过整套的管理系统来控制这个信息库中数据的交换与变更,在信息库内部,各个CASE工具通过统一的管理系统进行数据交流,实现信息共享。其基本原理就是将所有的信息统一存储管理,利用信息库来实现工具信息的共享,在具体的实际中没有固定的模式和框架,软件开发者可以根据实际的需要灵活运用实现。IBM公司所开发的应用开发框架(MVS)就是将不同的CASE工具、服务器、关系数据库管理系统共同集成到一个统一的开发环境中了,该框架的目标就是为了能够存储IBM公司数据库以及CASE工具的设计结果,通过MVS,软件系统开发周期的不同阶段上的CASE工具直接均可以共享设计结果,将数据集中在一起做处理,也十分有利于做影响分析。但是利用这种方法构建出来的系统也有其弊端,比如当其中一种CASE工具的版本有变时,其他的CASE工具也必须要做相应的修改以达到相互间的匹配,需要集成新的CASE工具时,必须得将系统的信息模型做相应的修改与调整。

2.4 通过总线实现

通过总线来实现工具信息的共享,是参考计算机硬件总线的设计方法而构造出来的,不同于硬件总线的设计,软件工具信息共享的总线是完全虚拟的,标准接口和工具总线将各种CASE工具连接起来,然后在工具总线上来进行信息的传输及共享。软件总线的构思,最早是由美国Maryland大学的James Purito和Richard于1994年提出来的,软件总线通过规定一个标准的接口,将符合这个标准接口的软件连接到总线上,与其他软件一起协同工作。其中,工具总线是一种寻的数据信息传输线,将工具构件互相连接在一起,每个工具都有一个规范的接口和工具总线连接,工具总线中包含一个公共的数据传输协议,这个协议规定了工具统一规范的接口、数据传输格式等,工具与工具间就是通过这个协议来进行信息的交互通信的。要实现工具总线信息共享技术的关键问题是要解决工具和工具总线的接口问题,目前该技术由于缺乏合理结构、实用和开放的接口标准,尚处于不成熟的发展阶段。

3 软件工程工具信息共享技术的应用

在实际的应用中,除了工具总线信息共享技术还处于理论发展阶段外,其他的三种共享技术都有现实应用。其中,通过中间格式和工具之间的接口实现工具信息共享的方式,都需要有工具生厂商的支持,因此,这两种方式的应用并没有大范围的普及,只是局限在部分的CASE工具里。而基于信息库的工具信息共享技术,由于其对厂商的要求少,实际运用灵活,在对软件开发的贡献中,相对而言成本更低,更具有可行性,因此,其普及度最为广泛。目前市场上有很多的商业CASE工具,大多集成环境功能强大,使用复杂而且价格昂贵,而那些免费的,简单易用的CASE工具,又缺乏集成化的环境,结构过于单一。软件开发组织,如果需要将一些CASE工具组合开发,使之适应自己的实际情况的话,就需要集成环境具有开放性。目前,软件系统的开发中,使用JAVA作为实现语言最为普遍。现代的软件开发,离不开CASE工具的支持,尤其是那些大中型软件系统,由于系统业务复杂,参与人员多,项目管理难,需要使用较多的CASE工具,在这种情况下,需要建立集成化的CASE工具环境,CASE工具集成环境有界面集成、工具集成、信息层集成等,然而由于市场上CASE工具的生产厂商众多,而且种类繁杂,分别支持不同的开发环境和领域,因此很大程度上制约了CASE工具间的互相协作与信息的彼此交流,集成化的CASE环境的建立也变得比想象中困难,因此,在实际应用中,要合理运用CASE工具来构建集成环境,避免因使用不当而产生负面效果。

软件工程新技术范文2

一、软件行业人才需求现状

1. 企业用人学历要求走高

据中国软件行业协会《2013年中国软件与信息服务业人才发展报告》(以下简称《报告》)调查统计,从全国软件企业对软件人才的需求来看,本科学历需求量最高,占51.6%,其次是大专学历,为36.2%。《报告》显示,2013年,软件企业对应届专科毕业生的不满意反馈比例最高,占到17.3%,表示比较满意的企业仅占35.2%。而对应届本科生毕业生的不满意率有所下降,为13.3%,但比较满意的评价也有所减少,仅为27.8%。相对而言,应届研究生更能得到软件企业的认同。

以上各项数据表明,企业对软件人才学历的要求已经呈现逐年走高的趋势。特别是90后进入职场以后,这一趋势更加明显。不难理解,自2011年开始,人口出生数量低谷导致生源数量急速下降,使得部分高校面临严峻的生存危机。为了完成招生指标,高校不得不降低门槛,伴随而来的就是生源质量的下降。随着90后进入高校,这种现象愈发显著。这也就迫使企业提高员工的学历要求,本科越来越成为最低入职门槛。

2. 软件行业技术的要求

伴随着移动互联、云计算、物联网、大数据等新技术新应用的飞速发展,软件技术呈现出两种走向。一种是面向移动互联等技术,以短平快的轻量级产品开发为主,要求开发人员不仅掌握开发技术,还要有比较开阔的视野,要对美工、产品设计、用户体验等多个领域有所领悟。另一种趋势是面向框架技术、云计算、物联网、大数据等背景,软件产品趋向于航母级规模,要求在某一领域技术非常精专的同时,要对软件有较高层次的视角和更全面的认识。无论是面向哪一种走向,对从业人员的要求都是越来越高,越来越全面。这也是对从业人员学历要求日趋走高的重要原因之一。

二、软件工程专业内涵

我国软件工程教育经过多年发展开始逐步走向成熟。2005年教育部组织编写了软件工程专业规范,2006年成立了软件工程专业教学指导分委员会,其重要任务就是要根据现代软件工程人才的培养要求,不断发展和改革软件工程专业教育,而改革的目标和重点在于培养高质量的、适应社会经济发展需要的软件人才。

软件工程专业是一门关于如何构建有效、实用、高质量软件的技术性学科。它涉及到计算机应用技术、程序设计语言、数据库、软件开发工具、系统平台、行业相关标准、设计模式、软件开发方法、软件开发过程、软件开发环境、软件测试技术、数字化技术、计算机辅助软件工程(CASE)、软件质量管理及软件经济学等方方面面的内容。由于软件工程要求应用计算机科学和数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量和成本的管理,因此,软件工程也是一门实践性非常强的学科,融合了计算机科学、数学和管理科学等现代科学。综上所述,软件工程专业的学生必须学会将理论原理和实践相结合,不仅要具备良好的软件设计能力,还要能够超越计算机学科获得其他应用领域的专业知识,从而支持其他应用领域软件系统的开发。

三、探索应用型本科的职业教育特色

目前,开办应用型本科专业的院校有两大来源,一是普通高等教育转型而来,二是原有高职院校升格而成。在开办应用型本科软件工程专业的过程中,既不能照搬原有高职专业课程体系,也不能一味模仿本科院校教学计划,而背离本科教育的优势和职业教育的特色。比较合理的思路是在尽可能保留现有专业优势的同时,将本科层次的优势和职业教育的特色有机结合。

1. 专业课程设置

无论是哪类院校开办应用型本科软件工程专业,都会在原有课程基础上设置部分新课程,还有部分课程虽然与原有课程名称相同或相近,但内涵和定位会有所区别,需要重新建設。因此,一项重要工作是研究课程关系,探索建立科学合理的课程体系,并在此基础上,确定各门课程的内涵。

为了顺应软件行业发展的趋势,应用型本科设置的专业课程,应突出深和新两个特点。一类课程在理论上有一定难度、深度,在某一领域引领学生深入开发或研究,并培养学生的专业理念,如操作系统、数据结构、软件工程以及一些框架级开发技术等类型的课程。另一类是新技术方面的课程,体现行业前沿技术和发展趋势,用以拓展专业视野,如移动互联应用开发、虚拟化技术与云计算、大数据处理技术等类型的课程。

高职、研究型本科和应用型本科的人才培养定位各有不同。高职层次的目标定位是培养技术技能型人才,普高研究型本科的人才培养目标是高素质研究型人才,而应用型本科的专业培养目标是高新技术应用型人才。因此,两种来源的院校在设置专业课程时,切忌简单照搬原有课程内涵,即使课程名称相同,教学内容也应有所区别。理论为主的课程,如上述操作系统、数据结构、软件工程及框架技术等类型的课程,在满足理论深度要求的同时,一定要保证理论与实践相结合,使理论能落地,避免空洞理论的堆砌,避免口说无凭。而在实践性较强的课程中,如软件开发、实操类课程中,要注重渗透理论性、理念性的内涵,强调精、专,内容上有一定的深度和广度,避免泛泛而谈,避免知其然不知其所以然。

因此,应用型本科的课程设置要注重理论深度和广度与坚持课程体系和课程内容的实用性和应用性相结合,才能较好地在满足本科层次要求的同时突出职业教育特色。

2. 校企合作共建软件工程专业

在建设职业教育特色的软件工程专业过程中,发挥行业企业的作用,可以有效地为校企合作搭建平台,开展企业参与办学、指导学生就业、资源共享、战略合作等一系列工作。

企业参与制定专业发展规划,可以对学校的办学定位、专业发展方向提出可行性建议。通过企业调研访谈,可以了解行业最新技术动态和用人需求,修正课程体系和课程内容设置的偏差,及时更新教学内容,共享先进技术,利于专业发展与行业需求无缝对接。

以专职或是兼职教师的方式引入企业人才,可以有效解决因新技术发展过快等因素而导致的师资力量不足和师资队伍培训的问题。组织学生到企业参观和实践,使学生了解企业工作模式和工作流程,感受企业文化,可以为今后就业作好准备。企业与学校共建实训基地,提供校外实习场所,选聘技术专家指导实习,协助落实学生就业,利于学生快速适应社会需求,实现就业的平稳过渡。

企业可以共享学校的场地、设备、人力等资源,学院可以共享企业的管理经验、企业信息、用人需求信息、软件项目和研发技术等资源。企业和学校合作完成科研项目,积极推进先进技术和科研成果转化,可以实现校企双方互利互赢。

总之,校企合作共建专业是达成为企业输送合格人才的办学目标,突出职业教育特色的便捷途径。

软件工程新技术范文3

1计算机软件工程的概述

计算机软件工程施利用计算机科学、逻辑学以及管理科学等原理进行软件开发、测试以及维护的工程。计算机软件工程开发属于极为复杂的工程项目,其经历了几十年的发展采取的现代成绩。纵观我国计算机软件工程起源于20世纪初期阶段。由于我国计算机技术比较落后,因此我国计算机软件开发专业人才匮乏、自主研发能力比较短缺,主要依赖于国外技术。随着我国自主创新的发展,我国计算机软件工程已经处理世界领先行业。实践证明,加强计算机软件工程管理与维护具有重要的现实意义:首先加强计算机软件工程管理维护是保障用户信息安全的基础。“互联网+”战略的实施,计算机已经成为人们生活工作所离不开的工具,例如人们通过计算机转账、通过计算机记录文件等等。在整个计算机运行系统中软件所发挥的作用非常突出,一旦出现软件故障不仅可能会造成用户信息的丢失,而且还会给用户造成巨大的经济损失;其次做好计算机软件工程管理维护有助于保障计算机软件的性能。计算机软件工程管理维护可以从根本上保障软件开发性能的实现,提高计算机软件管理的整体水平。例如通过计算机软件工程管理可以及时发现软件运行中所存在的漏洞,进而在以后的开发设计中采取相应的应对措施,实现软件性能的提升。

2计算机软件工程管理

2.1计算机软件工程管理的内容

有效的管理可以提升计算机软件工程的质量。由于计算机软件工程涵盖的项目比较多,结合工作经验,计算机软件工程管理的内容主要集中在以下几点:(1)软件研发团队的管理。计算机软件开发、设计以及测试等工作离不开研发人员的运作,因此软件工程管理必然要强调人的因素,需要结合团队成员的特点而采取不同的管理策略,制定合理的人力资源制度,降低软件工程风险;(2)软件开发品质管理。软件开发品质主要包括软件品质质量和软件配置品质。由于计算机软件开发的目的是被用户所接受,因此质量与配置品质是用户评价软件的主要依据。所以在计算机软件工程管理中必须要及时根据软件开发的进度进行质量检测,及时发现问题进而优化改进;(3)计算机软件风险管理。计算机技术发展速度比较快,软件更新周期快,因此存在开发的软件性能已经落后于市场的风险,所以计算机软件工程管理必须要注重风险;(4)软件档案管理。软件开发与应用需要严格的程序,而档案资料是准确记录软件性能的基础,做好相关资料档案的管理能够为软件后续维护等提供科学的建议对策,有助于提升软件工程管理水平。

2.2提升计算机软件工程管理的对策

计算机软件工程管理工作涉及诸多因素,结合相关理论研究及工作实践,提高软件工程管理的对策主要体现在:一是加强软件工程管理人员技能教育培训。计算机软件开发离不开研发人员,研发人员的业务能力直接影响软件的性能,计算机软件工程管理企业必须要加强对项目管理人才的教育培训,提高他们的专业技能。例如通过定期组织技能培训,可以让他们掌握最新的计算机软件管理技能,从而提高管理效率;二是要树立风险管理意识,控制软件开发进度。计算机软件工程管理具有一定的风险性,例如市场风险、技术风险等。因此在具体的管理中必须要树立风险意识,及时做好风险防范措施。同时还要严格控制软件开发的进度,保障软件开发工作在严格的程序下进行,避免出现某环节不规范的问题;三是加强对先进技术的引入,提高计算机软件工程管理质量。软件工程管理涉及诸多新技术,因此在具体的管理中需要密切结合市场技术发展趋势,及时引入世界上先进的软件开发技术,以此提升计算机软件性能。

3计算机软件工程的维护

维护是计算机软件工程质量保障的基础,只有不断维护计算机软件工程才能为用户构建满意的服务体系,才能提升软件工程整体水平的发展。由于计算机软件存在安全问题,因此在具体的维护中需要从以下方面入手:(1)计算机软件工程的防范维护。防范维护属于被动维护手段。网络的普及为人们带来巨大便利的同时也带来一定的安全威胁,例如病毒传播会造成计算机软件系统瘫痪,因此计算机软件工程维护必须要依赖于杀毒,通过建立杀毒系统保护计算机软件的安全。同时在计算机软件维护中还要加强对计算机硬件设备的维护管理,保障计算机硬件符合软件运行的要求,避免出现不兼容性问题。(2)计算机软件优化。计算机软件优化是根据用户的反馈以及软件在运行中所存在问题,通过计算手段对软件系统进行优化升级,以此消除各种问题的策略。软件测试是计算机软件优化的重要举措。通过测试可以让设计人员及时了解软件运行的状况,客观分析软件运行中是否存在漏洞或者错误,以此准确的对软件性能进行改进与优化。另外还需要对计算机软件数据进行优化管理。计算机软件在进入市场前需要对数据进行优化管理,这样可以有效避免软件在投入市场中后出现数据丢失或者被篡改的现象,进而威胁软件的核心技术。具体的软件数据优化策略就是软件研发人员利用专业的检验设备,对照相关流程对计算机软件系统进行检测,通过检测查找计算机软件系统所存在的缺陷,最后采取相关的技术手段优化。

4结语

综上所述,随着“互联网+”战略的实施,计算机软件工程迎来快速发展的契机。为保障社会经济的稳定发展,完善与优化计算机软件工程具有非常重要的战略意义。因此随着计算机软件系统性能的不断完善,我国必须要立足于我国现状,提高计算机软件工程管理与维护的能力,推动我国信息网络战略强国目标的实现。

参考文献:

[1]孙金录.浅谈计算机软件工程管理维护[J].中国新技术新产品,2016(04).

软件工程新技术范文4

摘要:本文结合实际教学的体会,对“软件工程”教学过程中存在的教材内容更新慢、教学实践薄弱、学生缺乏知识积累等问题进行了分析,提出了从更新教学内容、加强教学实践、调整课程设置、激发学生学习兴趣等方面进行改进的建议。

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

中图分类号:G642

文献标识码:A

1引言

“软件工程”是计算机专业的一门必修课,在计算机专业占据很重的分量。但基于软件工程自身的抽象性与应用性都很强的特点,在教与学的双向过程中存在不少问题,致使教学效果差强人意。如何提高“软件工程”的教学水平和质量,是很多国内外学者广泛探讨的话题。本文从“软件工程”教学中存在的问题出发,在教学内容的更新、教学方法与手段改进、加强实践环节、激发学生的学习兴趣等方面提出了一些具体的建议。

2 “软件工程”在教学中存在的问题

(1) 教材内容更新慢

“软件工程”作为一门迅速发展的新兴学科,新的技术、方法和工具不断涌现,而教材内容的更新却远远跟不上这种发展,这是一个不争的事实。如何保持教材内容的先进性与发展性是当前“软件工程”课程亟待解决的问题。

(2) 流行技术与学生知识积累之间存在矛盾

现代软件工程内容丰富,基于UML的面向对象建模技术、以新型技术支持的软件度量方法、测试方法、Rational Rose工具、RSA等开发工具。在软件管理方面,CMM、配件配置管理以及软件过程管理等。这都是些实用性很强的知识,但学生接受起来比较困难。并且在实际教学过程当中,有足够的课时全部讲到。怎样寻求一种行之有效的方法来解决学生的知识积累与目前计算机技术发展之间的矛盾一直是困扰教、学双方的难题。

(3) 教学实践环节存在难度

在教学中,如果只是单纯的进行枯燥模糊的课堂教学,而学生没有亲身开发体验,学生仅凭课堂和书本得来的知识理解软件工程很难,以至于学完之后觉得用处不大。要让学生相信和理解软件工程对软件开发的重要性,就是在学习期间完成一个中型左右的软件开发。但这种方法又相对复杂耗时,加上这门课一般在大三下学期以后开设,时间上来不及,并不适合初次接触软件工程的学生的教学实践。

(4) 教师的项目开发经验不足

讲好这门课对授课教师来说有一定的难度。它要求教师具备一定的软件开发经验,了解软件项目的管理和工程背景,这样才能在讲授时灵活地将理论和实践相结合,学生才能直观地感觉到该门课程的重要性。但是,很多院校的教师由于时间和环境的限制,自身从事软件项目开发经验不足,从而在教学中很难做到游刃有余,这就对教师提出了更高的要求。

3 “软件工程”教学改革的建议

3.1更新教学内容

“软件工程”教学改革的首要任务是对课程内容设置的改革。软件工程技术在高速发展,讲授的内容同样应该与时俱进,不要拘泥于教材的限制,主张在“软件工程”课堂教学内容和实践环节中强调面向对象方法,适当压缩结构化开发方法的教学时间,以此留出时间来介绍包括面向对象方法在内的一些新技术和方法,使学生尽快熟悉和掌握集成化CASE环境、软件重用及Java与网络环境下的软件开发技术等。对那些既无实用价值也无发展前景的传统技术尽量少讲。同时要保持教学内容对先进技术的跟进,介绍一些目前已经推出或较成熟的新方法,如基于组件的方法、面向Agent方法、敏捷软件方法、净室软件方法等,以便开拓学生的视野和培养学生的创新意识与软件开发能力。

3.2 “软件工程”与项目相结合,加强实践环节

对于“软件工程”的教学,实践环节显得尤为重要。在教学中,尽量利用一切可利用的条件来加强实践环节的实施。首先,软件工程教学应加强学生的分析与设计能力。在讲解软件工程理论知识的同时,教师适当地找一个实际的小项目,要求每个学生从项目的可行性分析、需求分析、总体设计、详细设计、数据库设计等方面进行分析与设计,并作为一次作业打印上交。通过作业,加强学生对所学理论的掌握,并初步具有对真实系统的分析与设计能力;其次,将案例教学引用到软件工程的课堂教学中。案例教学以史为鉴,吸取他人成功的经验或失败的教训,让学生置身于模拟的真实环境中,扮演不同的角色,身临其境,从一个真正“工程师”的角度考虑问题,学习如何应用知识解决问题。从而培养了学生独立思考和解决问题的能力。最后,要强化课程设计和毕业设计,并且要努力做到请进来,走出去。课程设计时将学生分成若干个小组,每组一个题目,小组成员按照软件项目开发各阶段进行分工合作,这样来锻炼他们的团队协作精神和相互沟通能力;毕业设计时应结合教师课题或市场需要设置实用性的题目,要求一人一题并按工程化的方法进行实现,这样可充分锻炼学生工程设计和实施的能力。请进来可邀请有实际经验的资深软件工程师、专家或邀请本校毕业并从事软件开发的学生回来以切身体验作讲座;走出去是鼓励学生到社会上的软件公司实习、兼职,这样可使学生切实感受到该课程的重要性,尽早接触软件工程的实际问题,了解软件开发的全过程,提高实践能力,增强对软件工程技术、方法和原理的理解。

3.3调整课程设置,重视学生知识的积累

解决流行技术与学生的知识积累之间的矛盾,可从调整课程设置入手, 要理清课程的背景及后延。“背景”即本课程的前驱课程,在该课程开设之前必须要学习的几门基础课,没有这些课软件工程的教学也就形同虚设。“软件工程”的前驱课程有:面向过程的编程语言、初步的面向对象技术、略见规模的程序开发、UML建模语言等,通过对这些课程的学习,让学生发现开发程序中潜在的一些问题,学生自己带着问题找到了学习的切入点,再引入本门课程学习,效果就大不一样。“软件工程”开设一般设在大三下学期、大四上学期这个时间段,在学生了解了软件工程的思路之后,开设一定的后继课程也是必要的,比如,软件设计模式、软件项目管理、系统分析设计教程等交叉学科,这样可以更好地扩充学生知识积累的程度,为学生毕业后从事实际的软件开发工作,做很好的知识铺垫。

3.4端正学生的学习态度,激发学生的学习兴趣

经多次与学生交谈发现,学生很容易进入了一个怪圈:学了不少专业课,就是不知道它到底有什么用,专业课之间有什么关联,为什么开设这门课,一头雾水。导致了一种学习的畸形状态,觉得学的东西没有用,自己也不知道该学什么才有用。毕业的时候,发现最无用的不是课,而是自己。所以,授课教师以及辅导员在学生的学习中要积极和他们交流,让学生尽快地找到对本专业的兴趣点,以点为面,展开大学的知识构建。学生一旦知道了自己想做什么,什么是自己的兴趣,学习起来就有目的性,就会收到较好的学习效果。同时要引导学生发现问题,提高学生自学的能力。教师不可能是个百宝箱,什么都通,什么都会,这就要求学生能够像软件工程所倡导的理念一样,阶段性、渐近式地自我学习、自我培养。这样,既提高了学生的学习能力,又把软件工程真正地落到了实处。

3.5创造条件,提高教师的业务水平

在整个教学过程中,教师扮演很重要的角色。教师的素质对于教育这项工程至关重要。学校应在人力物力财力允许的情况下,多给教师外出充电的机会,接触新型的技术与理念。特别对于计算机这个日新月异的专业,经常地选派教师到大公司去实践是很好的学习方式。教师把充电掌握的新技术、新理念及时带到课堂,能进一步体现课堂知识的实用性和先进性。

4实施效果

以上的诸多建议已在我校的计算机本科专业教学中进行了一系列的教学实践,在教学过程中,自编教材,收集了二十多个完整的工程案例并将学生分成了若干个开发小组,与教师一起分别参与了软件项目《教务管理系统》、《图书管理系统》《学籍管理系统》等的开发;实验期间,分批组织学生到软件企业实习,了解企业的实际操作与人才需求。从2005年至今开展了15个班级600多名学生的软件工程教学,学生的满意率达到了91%。具体调查数据见下表1,调查对象为从2006年开始的计算机专业大四的学生。

从调查的数据来看,教学改革在刚实施阶段,满意度较后期要低,随着改革的进展,各方面措施的逐步改进,教学效果逐年提高。但部分学生对实习满意度不高,主要是教师与企业协调方面存在一些问题,需在以后的工作中进一步加强。

5结论

通过近三年多的努力,采用自编教材的形式,使本课程在内容上紧跟时代的最新技术;课堂教学与工程案例相结合,提高了学生的学习兴趣;通过参与实际项目的开发,产学结合,使学生的编程能力、分析解决问题的能力、知识的综合运用能力,团队合作沟通能力得到了很大的提高。已毕业的学生受到了用人单位的一致好评,普遍认为学生的综合素质高、工程能力强,所具备的知识结构基本适合业界需求。

参考文献:

[1]Roger S. Software Engineering: A practitioner’s Approach[M]. 5th ed. 梅宏,译. 北京:机械工业出版社,2002.

[2]A project of the IEEE Computer Society Professional Practices Committee. Guide to the Software Engineering Body of Knowledge[EB/OL]. computer. org/certification/Swebok 2008.pdf.

[3]IEEE Computer Society. SWEBOK[S]. Angela Burgess,2007.

[4] 沈备军,李超.反思和抽象在“软件工程中人的因素”课程学习中的应用[J]. 计算机教育,2006(1):52-56.

Research on Teaching Reformation of Software Engineering

WANG Li-fang

(Institute of Electronic and Computer Science Technology, North University of CHINA, Taiyuan 030051, China)

软件工程新技术范文5

关键字:软件工程;教学改革;教学方法

“软件工程”是指导计算机软件开发和维护的工程学科,是培养学生软件开发能力和项目管理能力的一门重要课程。其教学效果直接影响到学生毕业后从事软件开发和项目管理的能力。然而,在实际教学中,学生总认为这门课内容枯燥无味、繁琐,学习兴趣不大,待到用时又不知如何运用。同时学生的课堂表现又极大地挫伤了老师讲课的积极性,很难达到较好的教学效果和教学目的。因此,本课程急需改革,本文结合作者多年来从事软件工程教学和科研的实际体会,对软件工程的教学改革提出了若干建议。

1更新“软件工程”的教学内容

目前,计算机行业需要的软件工程师是既掌握软件开发技术,又懂项目管理的复合型人才。我们认为“软件工程”课程应强调软件工程的思想与方法,突出软件工程的过程概念,侧重软件工程应用能力的培养。因此,考虑不断更新充实教学内容。根据美国计算学会ACM(Association for Computing Machinery)在2001年制定的ACM草案,软件工程的七大核心专题为(1)软件工程过程和软件生命周期模型;(2)需求分析;(3)软件设计(以面向对象系统分析――OOSA,面向对象系统设计――OOSD);(4)测试和评估;(5)软件进化(强调可维护软件的特征,软件成熟度、软件重构和软件重用等);(6)软件项目管理(强调软件开发人员的组织、项目进度、软件评估、项目风险、软件质量保证、软件配置管理、项目管理工具等);(7)软件工具和环境(重点为编程环境、需求分析建模工具、测试工具)。这七大核心内容是掌握软件工程理论的最小子集。然而,目前国内出版的教材基本上没有覆盖这七大核心内容,有的甚至还停留在面向过程的传统软件工程学的详细论述上。为此,我们参考了国外经典教材和软件工程学的最新研究成果,将软件工程教学内容分为5个教学模块,即软件工程基础、软件项目管理、传统的软件工程、面向对象的软件工程,软件工程的最新技术[1]。其中软件工程基础包括软件工程概论、软件过程、建模语言、软件项目、风险分析和管理内容。软件项目管理包括项目进度计划与控制、质量保证与配置管理内容。传统的软件工程包括需求工程、系统设计、软件测试内容。面向对象软件工程包括面向对象分析、面向对象设计、编码实现、面向对象测试内容。软件工程的最新技术包括基于组件的开发方法、基于构件的开发方法、敏捷开发(XP)等。其中每个模块都是独立的教学部分,模块之间有一定的联系,但可有选择地进行教学。可根据不同的教学计划,将几个模块组合讲授[2]。

2学生学习中存在的问题

“软件工程”课程涉及计算机、经济学、管理学、工程学、市场学等多个领域的知识。由于涉及的内容太多、太宽,学生感觉这门课程包含的知识非常广泛。在教学中,我们发现学生么涉及算法设计,逻辑推理较少,不像程序设计课程(如C/C++语言、JAVA语言)那样能带给学生智力上的,激发学生的兴趣和热情。在学习理论知识时,由于没有开发经验,学生很难将软件工程的抽象理论与实际联系起来,很难体会该门课程的指导实践性,容易产生枯燥乏味的感觉。

(2) 学生轻视软件工程的价值。在学校,学生开发的一些程序,一般都是小型软件系统,在规模和复杂度上都远远不如实际开发的系统。对于这些系统,学生只需写少量的代码。在这些小规模的非正式系统中运用软件工程,很难体会得到软件工程的作用。因此,学生容易轻视软件工程的价值。

3 “软件工程”教学的改革措施

3.1理论结合实际,采用案例教学法

软件工程讲授的原理、技术、方法都是抽象的。为了使学生能够深刻领会和理解软件工程的思想和方法,在教学中创造条件引入案例,将复杂抽象的概念用具体案例进行解释,能够收到事半功倍的效果。例如,在讲解需求分析内容时,我们以“教材购销系统”作为教学案例,详细介绍了需求分析四步骤:需求获取、需求建模、编写需求说明文档、需求验证。这样将枯燥的理论与实际紧密结合,变抽象为具体,有利于学生充分理解和掌握各知识点。

其次,我们一改“一言谈”,“一人谈”的传统教学模式。在讲完每个知识点后,安排一次案例讨论课。一般要求讨论案例不同于教学案例。例如,讲授完需求分析内容后,我们以学生较熟悉“图书馆借阅系统”作为讨论案例。在课堂上将学生分成几个小组,每组成员分别扮演用户和开发者的角色,模拟实际开形,运用所学知识展开讨论。讨论之后,要求学生再根据需求调查过程整理出相应的需求文档资料。这个过程增强了学生对软件开发项目的感性认识和兴趣,提高了他们分析问题和解决问题的能力。

3.2创建良好的软件工程学习环境

(1) 加强软件工程实验室建设。软件工程实验室是“软件工程”课程建设的主要方面。软件工程实验室需要配置适用的软硬件设施和软件开发工具,以便为软件工程的教学和研究创造必要的条件。通过实验室建设,一方面可以加强教学实践环节。另一方面,能够在实验室积累一批优秀的实例,为老师的专业研究和学生理解、掌握课程内容提供良好的帮助。软件工程实验室的软件环境建设应以工程化关键技术为重点,包括领域工程技术、软件过程技术、工程环境技术、软件构件技术和软件标准化技术。另外,软件工程实验室建设应吸收有软件开发经验、科研能力的教师直接参与课程建设,把实际科研项目纳入实践性教学工作中。让学生有机会参与软件项目的开发,实现教学和实践相结合。以便学生对软件工程的思想、方法、工具和环境、软件工程过程、软件标准和规范有一个全面的了解和掌握。

(2) 探索校企合作,在软件企业设立讲坛。“软件工程”课程具有显著的实践性,其教学内容必须与当前软件行业的发展和需求保持同步。为此,我们安排1~2次课在软件企业,请既有理论知识又有开发经验的软件工程师为学生上课,作有关先进工程技术和管理规范方面的专题报道。让学生了解企业软件工程的实际问题、行业现状和发展趋势,及时修正学习方向和端正学习态度,增强学习的主动性和对软件开发工作的感性认识。

3.3改革课程考核方式

作为实践性很强的课程,“软件工程”的考核方法应该有别于其他课程,考核的重点不应该是理论考试成绩,而是学生能否学会在软件开发过程中贯彻软件工程学的思想和方法[3]。因此,我们改革传统的“一张试卷定成绩”的考试方法,注重学生综合知识和应用能力方面的考核。采用的方案是:平时作业10%,课堂讨论20%,案例分析(分组模式)30%,笔试40%。课程设计单独考核。采用这种考核方案,可以避免学生对知识的死记硬背,转而重视对知识的理解与应用。课堂上踊跃发言,对学生学习的主动性和创造性思维具有很大的促进作用。

4结语

“软件工程”课程具有发展迅速、实践性强的特点。在教学实践中,应该结合软件工程的发展和软件行业的人才需求现状,不断更新教学内容,设计合理的教学模式,理论与实践相结合,侧重培养学生的软件工程应用能力。建立良好的软件工程学习环境,培养学生的学习兴趣,提高学生学习的主动性与创造性。

参考文献:

[1] 王庆育. 软件工程[M]. 北京:清华大学出版社,2004.

[2] 孙知信. 软件工程课程模块化教学改革的实践与思考[J]. 南京邮电学院学报:社会科学版,2004(6):39-42.

[3] 齐治昌. 软件工程学科的建立与软件工程本科教学[J]. 中国大学教育,2006(2):20-30.

Discussion of Software Engineering Course Teaching Reform

ZHANG Xia

(Dept of Computer Science, Xiangnan University, Chenzhou 423000, China)

软件工程新技术范文6

关键词:软件工程;教学改革;校企结合;产学结合

《软件工程》是一门研究用工程化方法构建和维护有效的、实用的和高质量软件的学科,是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,其重点在于软件的分析与评价、规格说明、设计和演化,同时还涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等。高职学生通过软件工程课程的学习,能够了解和掌握软件工程的理论、技术和方法,具备从事软件技术工作所需的专业能力。由于软件工程是一门综合性和实践性很强的课程,同时又是软件专业的核心课程,故加强软件工程课程的创新,改革传统的教学模式,弥补实践环节存在的不足是十分必要的。

一、软件工程课程的现状与问题

国内高校对于软件工程课程传统的教学模式是以教师课堂授课为主。许多教师本身缺乏使用软件工程方法开发一个完整系统的经验,不能将当前软件企业的实际案例融入到基本原理的讲解之中,与实际的软件工程实践有明显的差距。所谓课程实验也是在一个缺少软件工程支持的开发环境下进行的。由于缺少适合高职学生教学使用的实验环境和资料,学生也只是编写一些规定的软件过程文档,根本得不到真正的锻炼。软件工程课程教学与实践和软件开发过程实践脱节。在这种情况下,学生学习软件工程课程,感到内容抽象、枯燥,甚至认为没什么实用价值。另外,随着软件工程学科的发展,新概念、新技术和新方法不断涌现,原有的教学模式已经不能适应学科发展和人才培养的要求,所以研究学科发展和最新技术,构建先进的课程体系,是亟待解决的问题。

二、软件工程课程改革的对策

1.规划新的软件工程课程体系

以IEEE最新的软件工程知识体系为基础,在基础、应用、实践三个层次上建立软件工程的课程体系,如图1所示。

(1)基础部分:课程知识单元覆盖IEEE的软件工程知识体系(SWEBOK),包括软件需求、软件设计、软件实现、软件测试、软件演化、软件过程、软件质量、软件配置管理和软件项目管理等核心内容。

(2)应用部分:以当前流行的统一开发过程、面向对象技术和UML语言为核心,融入企业的最佳实践和实际案例,覆盖IEEE的系列软件工程标准以及RUP、Rational Rose、VSS、Junit等软件工程工具和环境,使学生掌握当前先进的软件工程方法与技术。

(3)实践部分:要求学生以开发团队的方式协作开发一个具有一定规模的软件系统,建立支持小组开发的软件开发支持环境,让学生从“可实践”软件工程的角度学习和运用软件工程的思想和现代软件开发技术解决软件开发问题。

2.推行案例化教学和探索式学习

软件工程的理论和方法是从众多软件开发实践中总结出来的,但是,对于缺乏软件开发实际经验的高职学生来说,单纯地讲授理论知识往往会使学生感到枯燥无味且难以理解。因此,应将一些软件开发案例贯穿于理论知识的讲解中,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识。

例如,在教学过程中,从软件开发的实际案例中总结出不同的软件系统,结合这些系统的特点和开发策略,讲解瀑布模型、原型化方法、增量模型、形式化方法和基于组件的开发模型等,会使学生在思考、分析和讨论过程中更好地理解和体会软件过程的基本概念,并且有利于在实际开发中运用这些过程模型组织开发过程。

在软件工程技术方面,也可结合具体教学案例,论述需求工程、软件体系结构设计、用户界面设计、详细设计、软件测试和软件演化等内容,重点讨论基于用例的面向对象方法和组件技术。

在整个教学过程中,要注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,会真正体会当前软件工程业界的真实案例和最佳实践。课堂讲解避免“一言谈”的死板方式,采取课堂互动讨论,营造活跃、宽松的课堂气氛,鼓励学生结合课程实践中的问题进行专题报告和软件演示。

在常规的课堂教学之外,要辅之以网络课程和扩展资源,鼓励学生根据个人兴趣和需要进行自主式的学习。同时,要充分利用网络教学平台,加强师生之间的交流和学生之间的协作,引导学生积极思考和参与讨论,教师要由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。

实践教学是本课程中的一个重要组成部分,它要求学生以开发小组(一个小组通常由3~5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队合作精神,使学生初步体会到一个软件开发项目全过程。

3.探索校企结合、产学结合的软件工程教学的新路子

为了适应快速发展变化的软件开发环境,使高职院校培养合格的软件技术人员,提高他们的软件工程CASE工具的应用能力,高校与软件CASE工具开发商要本着“优势互补,互惠互利,共同发展”的原则,可在软件工程实验室共建(企业提供教学软件)、人才培训、课题研究等方面进行合作。下面以软件企业西安楚凡科技有限公司为例,介绍高校与软件CASE工具开发商的合作内容与形式。

(1)共建软件工程实验室

楚凡科技向高校赠送由企业自主研发的教学版UML建模工具――Trufun Plato 2008专业版用于共建软件工程实验室,提供教学和学生上机实践;

楚凡科技在高校教学过程中提供免费电话、email咨询等方面产品应用支持。

(2)课程合作

楚凡科技将以优惠价格提供相关授课教师参加初中高级收费公开课培训;

高校与楚凡科技合作开展面向学生的uml理论和实战培训;

高校与楚凡科技合作开设学生毕业实习平台,提供真实项目供实习学生操作,实现项目全程建模过程,培养学生掌握软件项目的分析与设计方法;

楚凡科技配合高校老师编写教材或共同出版教材;

(3)科研合作

高校在课题研究中需要采购更高版本产品用于研发实践,楚凡科技给予产品优惠支持;

楚凡科技可以在高校相关的科研项目中提供技术支持、技术合作。

通过这种学校与软件厂商之间的合作可以有效地推动高校中的软件工程实验室建设,使教师和学生能够接触并掌握最新的软件工程开发环境及软件CASE工具,并将学习过程与毕业设计相结合,实现真实项目全程建模过程,培养高职院校软件专业学生软件开发中的项目分析与设计能力。

三、结语

根据高职生培养目标中的“实用性、技能型”要求和加强实践教学的新特点,认真分析软件工程学科的当前发展趋势和现代软件工程人才的社会需求,积极探索和实践软件工程的课程教学改革具有十分重要的意义。在教学内容方面,应突出先进性、系统性和工程化;在教学方法方面,应将课堂式讲授、互动式讨论和探索式学习结合在一起;在教学实践方面,应建立适合学生小组开发的软件工程支持环境,结合毕业设计目标围绕实际项目开展教学实践。

参考文献:

[1] 刘强.“软件工程”课程教学改革的探索与实践[J].教育部

高等学校教学指导委员会通讯,2008,(8).