欢迎来到杂志之家!发表咨询:400-888-7501 订阅咨询:400-888-7502 股权代码 102064

软件工程专业课程实用13篇

软件工程专业课程
软件工程专业课程篇1

一、引 言

计算机学院从2005年开始招生软件工程专业的学生,现在软件工程专业学生已达到我院学生总人数的70%以上。“培养学生成为基础扎实、知识面广、实践能力强、综合素质高、能适应信息产业和软件产业需求的系统设计和开发的高级人才”是我院一直以来对软件工程专业学生的根本要求。这里的“基础扎实、知识面广”包括软件和硬件两个方面。特别是现在的软件开发越来越偏向不同的硬件平台做专业开发。而作为系统开发的人员必须掌握一定的硬件知识。对于完全不懂硬件的软件工程学生来讲,就业前景和发展都会受到极大的制约。

但是,我院硬件课程相对较薄弱。具体存在以下问题:①课程的内容深、难且不实用。学生理解计算机硬件较困难,学到的知识停留于空洞的概念,没有得到技能的提高。②技术发展迅速,硬件课程教材和实验设施严重滞后。现在的硬件教学教材还停留在70年代8086/8088阶段。③实验困难。与软件实验不同,硬件实验需要一定规模的计算机设备,同时课程教学上也没有足够的课时进行实验。④培养目标与社会需求存在差距。计算机硬件教学已严重脱离了硬件技术的发展实际,学生学习计算机硬件的基本原理的基础知识,不会开发电子产品,不会做工程项目。⑤学生的兴趣和教学的内容严重脱节。现在学生对于计算机硬件的最新技术比较感兴趣,但是硬件课程讲授的是过时的知识,学生无法在课程中体会到硬件的好处,感觉硬件课程像“鸡肋”。

基于以上分析,对计算机科学学院软件工程专业硬件课程进行改革已迫在眉睫,要培养适应社会要求的软件人才,应该而且必须加强相关硬件课程的建设,这样才能培养出全面的人才。所以,经过两年的教学实践,对于软件工程的学生应该掌握哪些硬件知识、软件工程中的硬件课程如何设置等进行了一定的探索,下面就相关内容进行简单探讨:

二、硬件课程改革的措施

我校软件工程专业硬件系列课程设置了数字逻辑、计算机组成原理、汇编语言、微机接口技术4门课程。这些课程设置虽然相对独立,但所提供的课程内容划分不明确,相互重叠现象较严重。如基本原理和指令系统的内容,在多门课程中都有出现。

所以,硬件课程改革的目标是:将4门硬件课程整合、筛选,组合为1门综合型的硬件课程,达到内容精炼、重点突出、减少重复的要求。目的是将硬件系列课程作为一个整体统一考虑,建立一个完整的、系统的课程内容体系,这对提高教学质量和压缩学时都非常有效。

1.硬件课程教学模块的设置

具体设置以下模块:数字逻辑与数字系统(核心);数据的机器级表示(核心);汇编级机器组织(核心);存储系统组织与结构(核心);接口与通信(核心);功能组织(核心);多处理和其他系统结构(核心);性能提高技术(选修);网络与分布式系统结构(选修)。

2.硬件课程教学内容的设置

教学内容:①计算机概论:计算机概述、运算基础;②数字逻辑基础:卡诺图、组合电路、时序电路;③运算器:半加器、全加器、算术逻辑部件、定点运算器、浮点运算器;④汇编语言程序设计基础:指令系统、汇编语言语法、汇编语言程序设计基础;⑤存储器系统:存储器芯片、存储器层次结构、内存接口技术;⑥控制器:中央处理器的组成和功能、指令流程、硬连线逻辑、微程序控制器;⑦输入/输出技术:I/O接口与端口、输入/输出控制方式、三种简单接VI芯片、中断系统与中断接口、总线;⑧可编程接口芯片及其应用:可编程接口芯片的几个基本概念、可编程并行接口芯片、可编程定时器/计数器、通用同步/异步接收/发送器、模/数转换器、芯片组;⑨实用接口技术:主板、硬盘接口、高速串行总线;⑩计算机系统结构概述:计算机系统结构基本概念、流水线技术、并行计算机系统结构、提高处理器性能的技术。

实验环节:①数字逻辑(时);②汇编语言程序设计上机练习(时);③接口实验6~8个(18~24学时)。

3.课程实施中需要关注的问题

(1)注意学生共性和个性的关系。该课程体系规划是针对软件工程专业的基本要求编写的,反映了软件工程专业对计算机硬件的共性要求,不同学校的软件工程和计算机软件专业还可根据本校培养特点做不同的选择与增删,以适应本校培养的个性要求。

(2)处理好理论讲授和实验的关系。各校根据本校培养的方向和实际条件,组织不同要求的实验教学,可进行单个实验,也可组织小系统实验。

(3)注意基本内容稳定性和新技术、新知识反映的及时性的关系。课程的基本内容(即计算机的基本理论和基本技术)必须稳定,而随着计算机技术迅速发展不断出现的新器件和新部件必须在教学中及时反映,必须考虑如何处理两者关系。

三、结束语

软件工程专业课程篇2

基金项目:本文系2010年湖北省高等学校省级教学研究项目(项目编号:2010243)的研究成果。

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2012)17-0059-02

推进和加强跨学科复合人才培养,既是科技、经济与社会发展的迫切需要,也是世界各国高等教育界的共识。培养特色型复合人才是高等院校在激烈的市场竞争中求生存、促发展的必然选择。近年来,各大高校开始探索以优势学科为依托,根据就业市场的供求关系调整办学思路与培养途径,致力于构建优势学科的双专业人才培养模式。[1]软件工程专业具有构建双专业培养模式的基础,目前可分为两类模式:第一类,软件工程专业与同属于工科的其他应用领域(如机械工程及自动化、环境工程等)相结合,使用计算机科学技术和具体领域技术解决相关领域问题,毕业生适宜该环境领域或其他部门从事软件开发、研制和管理工作。例如,大连交通大学开设的信息管理与信息系统+软件工程双专业同属于工科的双专业类型。[2]第二类,软件工程专业与外语专业(如日语、英语)相结合以满足软件服务外包或地域性软件产业的需要。武汉工程大学“E+”部级人才培养模式创新实验区(以下简称实验区)提出的“E+”模式既可以通过外语教学的通识教育作用提高学生的人文素养,又可以使学生避免当前纯语言类人才的需求下降而面临就业难的困境,更能满足其他行业对毕业生外语水平的高端需求。实验区开设的英语+软件工程双专业属于第二类的软件工程双专业培养模式。

根据《计算机科学与技术本科专业规范(软件工程方向)》,“软件体系结构”是软件工程方向专业重要的专业核心课程之一。从2010年起,武汉工程大学将“软件体系结构”课程作为学校重点课程由计算机科学与工程学院进行建设,目前处于专业课程建设的起步阶段。为满足软件工程双专业建设的要求,“软件体系结构”课程的开设和建设需要做哪些调整呢?本文在总结软件工程双专业对“软件体系结构”课程的具体要求的基础上,结合武汉工程大学的实际教学情况,对该课程的内容剪裁和教法改进提出了一些建议。

一、软件工程双专业“软件体系结构”课程设置

武汉工程大学实验区于2011年开设英语+软件工程双专业,由外语学院和计算机科学与工程学院共同实施培养,力量和教学资源由有关学院共同实施培养(学生日常管理由外语学院负责),毕业时学生将获得两个学士学位。

“软件体系结构”课程的特点是由软件工程双专业的培养对象和培养目的决定的。以武汉工程大学的英语+软件工程双专业为例,其培养对象是在当年入校的普通本科新生(限理科考生)中经过严格选拔筛选而出的,要求英语基础较好并具有较高的个人综合素质。软件工程双专业和传统的软件工程专业的培养目标都强调了培养“从事计算机软件项目的设计、开发、管理的国际化软件工程技术人才”。“软件体系结构”课程对于培养软件构架方面的高端人才起着至关重要的作用,全国各大高校特别是软件学院的软件工程专业基本上均将该门课程列为专业主干课,该课程是软件工程双专业的主要课程之一。

“软件体系结构”课程与其他专业课之间紧密联系,学习该课程前要求学生具备相应面向对象程序设计语言,要求掌握UML基础知识,因此多数院校在三年级下学期开设该门课程。该课程不仅强调专业理论知识的学习,更看重实际工作技能和动手能力的培养,强调实验课和课程实训。另外受到软件工程双专业课程增加、总学时有限的影响,在实际安排中,课堂教学32学时,实践、实训环节共28学时。这一方面保证了充足的理论课时时间,另一方面通过实验和实训两个环节保证了教学实践时间,四所大学“软件体系结构”课程的课时情况。

二、“软件体系结构”教学内容裁减与扩展

软件工程双专业的教学目标是培养学生为应用型人才,软件应用型人才需要软件系统工程化有关的理论,用这些理论指导软件设计、分析软件开发过程中遇到的实际问题。结合教学和培养方案制定过程中的一些经验,对“软件体系结构”课程的教学内容的裁剪和扩展进行了一些思考和总结。

1.削枝强干

软件设计思想是“软件体系结构”课程的主线,通过本课程的学习,学生能够全面、深入理解在软件开发阶段设计软件体系结构的必要性,并能够运用其中的思想分析、解决软件系统设计相关的问题。该课程教学内容裁剪的目的是突出重点和强调实践。一方面,把较多的学时放在基于体系结构的软件开发(ABSD)、软件体系结构设计及其环境等章节,重点讲解基于体系结构的设计方法,以及ABSD的基本步骤和基于体系结构的软件开发模型。另一方面,裁剪理论性较强而且对设计和实践作用不大的教学内容,例如软件体系结构风格、典型软件体系结构描述语言及形式化描述等。一些软件工程专业软件体系结构课程的教学大纲中还包括基于UML的软件体系结构描述等内容,为避免重复,这部分内容可以在UML建模技术及应用或者面向对象建模技术等内容中详细讲解。

2.扩展热点

为了满足英语+软件工程双专业“具有国际学术视野”的要求,“软件体系结构”课程教学内容需要在设计模式、大型软件构架技术和软件体协结构新技术等方面作进一步扩展。设计模式是近几年软件设计研究领域的热点,在介绍23种设计模式的基础上,将构件设计、构件和系统的接口设计等知识添加进来,以丰富详细设计阶段涉及的内容。[3]另外,缺乏对大规模软件构架建模和开发技术,是软件工程学生难以应用软件体系结构知识进行大型软件构架设计的主要原因,因此在教学内容上应该扩展中间件技术、大规模软件构架中的集成技术等。适当介绍新技术背景下的软件体系结构,针对云计算和物联网等新型应用及技术发展趋势,结合目前该领域的主要应用模式,技术标准,开源系统,以及典型架构等,进行课堂交流和研讨。以上教学内容的扩展一方面会使课程体系更为完善、更能适应当前计算机技术的发展,另一方面可以培养出具有先进设计思想和能力的学生,满足用人单位较高层次的需求。

三、软件体系结构的教学方法的改革

通过对软件工程专业2006至2009四届学生的成绩分析和问卷调查发现,该课程教学效果不佳,主要表现在课程内容抽象、缺乏软件项目经验、教材缺乏案例等问题。软件工程双专业的“软件体系结构”课程具有学时短、重实践的特点,为了适应课程特点需要在教学方法上从以下两方面进行改革。

1.项目案例教学

从理论上讲,项目教学法是一种几乎能够满足行为导向教学所有要求的教学培训方法,[4]因此从其诞生之日起,就受到教育和培训界人士的欢迎。项目教学法是教师将授课内容寓于项目中,辅助和引导学生实施和完成项目,学生在项目实施过程中自主学习,学生完成这一项目,教师也完成了教学内容。

项目教学法应用于“软件体系结构”课程具有以下优点。

(1)项目教学法能极大地调动学生的积极性。该课程内容抽象,缺乏软件开发经验的学生忽视了软件设计的重要性,误认为不用软件体系结构也能开发软件,这就导致学习兴趣不浓。项目教学法是让学生实施一个具体的项目(如学生选课软件系统)的设计,学生学习的目的较明确。在项目设计和实施过程中,学生体会到软件体系结构的设计能够降低系统开发风险并提高开发效率,这更能强化学生的学习积极性。

(2)项目教学法能培养学生的合作能力。项目教学大多要分小组完成,通过小组内及小组间的充分交流、讨论、决策等,提高学生合作能力,强化学生的团队意识,这也符合培养具有团队协作能力的要求。

(3)项目教学法能促进课程间的整合。项目的设计过程中会涉及很多专业知识,例如需求分析、数据库系统、面向对象建模等。这种基于项目教学的课程整合能够强化学生软件系统工程化开发的思想和技能。

2.参考教材+补充讲义的模式

软件体系结构课程增加了设计模式和大型软件构架技术等教学内容,结合英语+软件工程双专业学生英语能力较强的特点,采用规划教材为主、校内补充讲义为辅的模式。本课程使用的教材为Mary Shaw所著的《软件体系结构》(世界著名计算机教材精选)和耿祥义所著的《Java设计模式》(21世纪高等学校计算机专业实用规划教材)。根据教学内容我校选择了《软件构架实践》的第1、2、6章和《Java设计模式》的第1、4~26章,同时参照郭秋萍所著的《大规模系统构架建模及其开发技术》中与构件技术相关的章节内容撰写补充讲义。另外在课程网站上还增加了Luke Hohmann所著的《Beyond Software Architecture:Creating and Sustaining Winning Solutions》和Felix Bachmann所著《Documenting Software Architectures:Views and Beyond》的电子书,用以完善本课程的教材库,为学生提供一个课外在线学习和远程教育的平台,方便学生课外自主学习。

四、小结

武汉工程大学“E+”部级人才培养模式创新实验区下设的“英语+软件工程”四年制双专业人才培养模式是软件工程双专业的一种典型模式,具有一定的代表性和创新性。本文根据软件工程双专业人才培养和IT企业和相关事业单位的需求探讨作为软件工程专业主干课之一的“软件体系结构”课程的教学改革,在作为校级重点建设课程的建设过程中,提出了一些内容剪裁和教法改进,希望籍此对双专业课程教学的共性问题抛砖引玉。

参考文献:

[1]蒋洁.构建一体化双专业人才培养模式[J].理论月刊,2010,(11).

软件工程专业课程篇3

1 概述

随着国内软件市场不断扩大,软件企业也越来越规范,软件产品正逐渐成为软件企业生存和发展的核心。人才市场需要大量的软件测试人才。高职软件工程专业毕业的学生也绝不仅仅只限于从事低端程序,在软件工程专业,软件测试逐渐成为一个新的就业方向和就业趋势。凭借软件工程专业,加大建设软件测试课程的力度,同时对软件测试的投入力度也要加大,进而使得培养出的软件测试人才都具有扎实软件测试理论知识,同时掌握测试软件的方法,并且具有一定的测试软件的经验。

2 高职院校软件测试课程现状分析

多年来,软件测试技术课程一直按传统的教学方法以讲授为主进行教学,学生缺乏学习动力,依赖性强、易受外界环境的干扰,工程意识、工程素质没有得到有效锻炼,不能利用所学知识和技能对软件项目进行测试实施。软件测试技术方面的教材近年来出现了一些,但质量也良莠不齐,高职的软件测试课程大多设置为选修课或者考查课,课时相对较少,并没有作为重点内容来要求。软件测试课程的教学目前大致为两种状态,一种测试理论和测试方法是高校教师授课的重点,在软件测试案例和软件测试经验方面比较匮乏,在教学过程中很少涉及重要的实践环节,系统的训练相对比较缺乏。与软件公司的测试人员相比,学生还有很长的路要走。另一种是从软件公司聘请多年从事测试的高级人才来任教。他们直接用企业的测试项目对学生进行讲解,但高职软件工程专业的学生之前都很难完成实用性的具体项目,更没有扎实的测试理论和方法做依托,不能将实用的测试技术深入的消化理解,灵活运用。如何将这两种教学现象很好的融合,是软件测试课程能否使高职软件工程专业学生成为软件测试实用人才的关键所在。另外,学生对软件测试技术的掌握程度直接受到对软件测试认识的影响。不懂编程的人才从事软件测试这是所有学生的共识,在一定程度上影响了软件测试技术的学习。恰恰相反的是,能做测试的高端人才,正是对编程有着深刻理解的全能型人才。

3 教学方法

为了确保培养的软件测试人才符合社会的需要,在一定程度上满足高职院校学生职业能力的要求,可以从以下几个方面进行改革:

3.1 加强软件测试的课程建设。可以设立《软件测试理论、方法》、《软件测试系统训练》和《软件测试实战项目》等多门课程。适当增加实验实训的学习时间,对教学目标、教学内容、教学计划和教材选择等进行重新制定。在软件开发过程中,要让学生了解软件测试的重要性,熟悉软件测试的基本概念和理论,同时掌握软件测试的技术和方法,能将软件测试技术用于实际测试问题,并指导软件测试职业的特点和对软件测试人员素质的要求。软件测试课程应该在软件工程课程结束之后开始,安排在第三学年。最好同步能安排生产实习。

3.2 合理组织教学内容,实施案例教学。在知识点方面,软件测试技术涉及的比较多,并且通过大量的规范的训练才能理解和掌握这些知识,最好的办法是进行分阶段教学。前期的基本概念和基本知识、单元测试、集成测试以及自动化测试工具的使用等是教学内容的基础。后期包括需求测试、设计测试、系统测试、可靠性测试、验收测试以及静态测试中的同行评审等。多利用各种测试案例进行教学。建立案例库等。

3.3 严格实践训练,实施实训练习。按照测试对象,要求学生设计相应的测试用例、编写测试程序、测试和书写测试报告。在高职院校教育中,认识实习和实习是两个重要的实践环节,利用这两个环节,组织对软件测试感兴趣的同学进行测试,进而提高技能,在一定程度上激发他们对软件测试的兴趣。生产实习则需要有经验的软件测试工程师能实际指导学生进行项目测试,通过训练使学生认识到实际项目的测试,找出自身差距。

3.4 加大培养与引进软件测试师资的力度。通过派遣的方式,让该课程的授课教师到优秀的软件测试培训机构参加相应的培训,然后到正规软件公司的软件测试部门进行实习。另外,坚持软件测试实战项目聘请有经验的软件公司的测试工程师来校任教。

4 结束语

如今,高职的软件工程专业已经由最初的一个学科方向发展成为计算机科学技术为基础的一个新兴交叉学科。计算机技术的迅速发展和高端软件人才的严重匮乏,让我们面临新的挑战。软件工程专业软件测试方面的建设也要紧跟改革的步伐。对专业实践教学体系进行深入的改革,构建一体化的实践教学体系才是正确发展方向。使我们的学生真正做到融会贯通、学以致用,为IT产业培养合格的软件测试人才。

参考文献:

[1]钟素芬,叶明芷.软件测试应用性人才培养模式的探索与实践[J].北京联合大学学报:自然科学版,2007(9):89-92.

[2]刘育熙,耿雪春.面向应用的软件测试人才综合能力培养模式研究[J].教育与职业,2009(11):111-112.

软件工程专业课程篇4

1国内外研究现状

根据年度毕业生就业数据报告显示,在就职业过程中,计算机软件工程专业的毕业生适应性差,课程与市场需求脱节,实践与理论脱节,工程实践与技术应用脱节等方面,大部分无法满足企业对于毕业生的需求。这是目前计算机软件工程专业教学中亟待解决的问题所在。软件工程专业的人才培养方案是使得培养的学生能够适应社会主义经济社会发展的需要、能够在德智体美劳等五个方面进行全面的发展、能迅速掌握计算机科学与技术等计算机专业方面的基本理论和基本技能,能进行计算机软件设计开发和应用,还会具有较强实践操作动手能力。学生学会软件的设计方法、学会软件的开发方法以及学会软件工程管理方面的基本训练方法[1]。除此之外,学生还会学会软件系统的研究和开发的基本能力,能壮大软件工程师的队伍,还可以在相关的信息产业部门、企事业单位从事软件工程项目的分析、设计、开发和管理工作,为我国软件产业持续、健康、高速的发展贡献微薄力量。

2协同创新体现在软件工程专业课程建设中的两大模块

大学校园为现在的科技社会输送了许多的人才。一个学校的创新能力是与社会的发展息息相关的。在学校里开展协同创新的专业课程建设有助于提高学生的创新能力的培养。目前,学校的软件工程专业的人才培养方案目标就是培养学生的实践动手能力和自主创新能力以及团队合作意识,明确自己的专业发展方向,了解社会对人才的需求,开展实训教学、实训室建设等一系列协同教学模式,教师提升自己的教学水平,努力开发软件工程专业学生的实践动手能力,协同创新以适应社会的发展需求[2]。2.1软件专业课程体系教学软件工程专业的课程教学首先需要了解课程设置问题。课程的设置需要从三个方面来进行设置,分别为职业技能结构、专业知识体系和课程教学模式3个维度。这三个维度是围绕遵循软件工程规范和研究职业技能结构的课程建设思想以及构建以核心技能为主题的3个层次的专业课程体系为中心的。专业知识体系包括基础课程、核心课程、方向课程、技能课程等。开展职业技能是为了让学生多多了解验证性实验课程、熟悉综合性实验项目、掌握课程设计。在上完理论课之后,验证性实验课程的开展会让学生加深理论课所学到知识的理解过程。开展综合性实验项目,是为了让学生的设计能力和综合能力有所提高,学生应用理论课知识,根据实验研究目的和要求,自行设计实验方案。课程设计最能体现团队合作精神,课程设计的开展,是为了培养学生的综合知识运用能力,以及团队意识和创新能力培养的重要手段[3]。教师的课程教学要注重改革教学方法和教学内容。采取多种考核方式,如课程设计答辩、课程设计成果验收、课程案例分析等方法。改革传统的刻板单一的教学方法,缩小教师与学生之间的距离感,激发大家的学习兴趣,共同探讨知识。最终,学生知识的运用能力得到提高,,学习环境和学习氛围得到改善,实践创新能力也会得到了提高。软件工程专业课程建设也可在协同创新平台的建设上去完善软件工程专业人才培养目标,进而去探索软件工程专业协同创新性实践教学体系。从课程实验教学、实训平台建设、创新训练、协同培养等方面来开展软件工程专业多维实践教学模式。其中,课程实验包括了验证性实验、综合设计性实验和课程设计三个方面。实训平台建设包括了建设软件开发实训室、软件研发中心、校外实训基地。创新能力训练包括了开展各类科研训练和学科竞赛[4]。2.2软件更新管理,建设实训基地开展实践教学,软件要更新,实训基地要建设。目的都是为学生搭建实践动手能力的操作平台、为学生创建发挥创造能力的锻炼平台。作业计算机专业的学生,尤其是软件工程专业的学生,首先要攻克程序关。也就是说,学生应该多多编程上机实现。因而在人才培养方案中的重中之重便是要求软件工程专业学生进行项目实训,提高动手实践编程能力。编程是将所学的抽象专业知识具体化。因则,学院要高度重视实训基地的建设,要努力搭建好实训平台,多多培养学生的动手实践操作能力。学校还可以与企业共同合作来搭建实训的基地,引导学生自主创新,发挥自身的潜力和特长。除此之外,我们还应该来共同来树立协同创新观念,规范软件工程专业的管理制度,整合资源,优化资源,建设学院素质教育实践基地和课程的评价机制,以构建利益共享机制[5]。

3协同创新在软件工程专业建设中的应用

现代社会经济的发展要求计算机软件工程专业培养的人才具备全面的综合素质。应用型本科大学,更加应该注重协同创新型人才培养。软件工程专业课程建设协同创新指的是六个方面为一体的协同创新机制,包括"教师与教师协同、教师与学生协同、学生与学生协同、课程与课程协同、课程与实践协同、校内资源与校外资源协同"等。这些机有助于提高学生学习的积极性,有助于激发学生的创造性,更有助于提升教学质[6]。3.1推崇校园文化,实施协同创新训练每个学校都有自己的文化,每个学校的每个专业也都有自己的特色。软件工程专业的学生的课程建设中明确规定学生需要加强创新能力训练。与此同时,学校应该为学生搭建创新平台,积极开展丰富多样的科技创新活动和竞赛活动。比赛的目的是为了培养学生将所学知识运用于工作与生活中,同时也可达到增强学生的创新意识和实践动手能力的要求[7]。3.2拓展学生综合素质,实施协同创新计划学校可以邀请企业来校参与学校的专业人才培养方案制定和实施。共建校企合作机制,搭建学校与企业合作的应用实训创新平台,协同培养具有实践能力、创新能力和团队精神的应用型人才。软件工程专业人才培养计划中明确了“工学结合、校企合作”。实则是要求学校要与企业共同来制订计划,共同来建立相关软件专业的实训室与开发平台,成立研究开发机构与部门,共同来为社会培养可塑人才。因此,企业必须和学校达成共识,深度开展人才交流与技术交流,充分利用工作环境和培训平台来为学生的创新性培养创造条件,形成协同局面。学校可以聘请企业的软件工程师来为学生授课,讲解在实际工作中企业中所遇到的问题,如软件开发的案例、软件的开发方法和开发过程。讲授案例的同时还可以模拟企业是如何来解决在实际开发过程中所遇到的各种问题的[8]。学校也要全面性了解并且掌握目前市场上对软件开发人才的需求现状,据此来安排专业课程,按需培养学生,为企事业单位输送软件的开发人才,为积极推动社会经济的不断向前发展贡献微薄力量。最终,企业和学校就会实现双方互利共赢的双赢局面。通过学校的培养,企业的参与,学生大学的学业完成后,走出校门走向社会后也不再迷茫[9]。

软件工程专业课程篇5

 

随着软件在各种领域迅速发展,软件的类型、规模、复杂度都急剧增长,在有限的时间和成本约束下开发出高质量的软件被人们高度关注,冈此提高各类信息化系统开发人员的软件工程能力越来越受到普通和军队高等院校的普遍重视。然而,由于软件从业人员所需知识更新快以及大量软件开发人员接受软件工程教育的经历不足,仅靠传统的高校课堂内授课方式,难以满足社会和军队信息化快速发展对软件工程人员的需求。研究如何通过建设软件工程专业在线课程加快软件工程人才的培养、优化软件工程课程资源的配置,对于我们国家和军队未来的发展具有重要价值与深远意义。

 

1 软件工程教育的发展与主要问题

 

软件工程指将系统的、规范的、可量化的方法应用于软件的开发、运行和维护的过程。ACM和IEEE/CS成立联合工作组,在2004年制定了计算教程软件工程卷CCSE(computingcurriculum-software engineering),并把软件工程作为计算学科下与计算机科学、信息技术、信息系统、计算机工程等并列的学科。2014年,ACM和IEEE/CS推出软件工程知识体SWEBOK3.0版,知识领域与2004年版SWEBOK相比从10个增加到15个。此外,由ACM和IEEE主导,国际一些著名高校和企业的专家针埘软件工程硕士教育制定《软件工程研究生学位教程指南》(GSwE2009),描述软件工程硕上需掌握的核心知识体系和相应教程。我国从2001年开始建立示范性软件学院,并于2006年推出《计算机科学与技术本科专业规范(软件[r徉)》l512011年,软件工程专业经国务院批准增列为一级学科。

 

软件工程师目前在国内外都是最具吸引力的职业之一,如美国著名的就业网站CareerCast在2012年进行调查,从收入、工作环境、发展前景等因素评选出的十大最佳职业中,软件工程师名列第一;在我国近来对本科毕业生的职、业调查中,软件工程师的收入也一直名列前茅。尽管近年来软件工程教育有了很大发展,但国内外的软件工程教育还存在诸多挑战性问题,主要包括以下几方面。

 

(1)现有的软件工程课程从学时数、教学安排等方面都难以达到实际职业对软件工程深度、广度和实践能力的要求,相关培养方案的制订较少考虑企业的实际需要,针对性不强。

 

(2)尽管聘请企业中有丰富经验的软件工程师授课是一条有效措施,但整体来看,软件工程授课老师普遍缺乏软件开发实际经验,甚至很多都未从事软件工程领域的研究工作。

 

(3)软件工程目前存在众多不同的开发方法学,它们各有特点和优势,并且软件工程相关技术发展迅速,新的方法不断出现,这使得教学内容的选择和准备变得非常困难。

 

(4)当前国内外软件工程教材多是对众多方法和技术的描述,对具体技术的深入程度不足且无法适应软件技术、工具的快速变化,对学生进行实际项目开发帮助有限。

 

(5)企业的软件开发中使用了众多的软件工具,并且对于重要领域的软件开发,很多企业采用商业化工具。在教学过程中,这些昂贵的、专用的商业工具较为缺乏,并且在有限课程时间内学生难以接触到众多不同类型的软件开发工具。

 

(6)软件工程教育资源非常不平衡,在教育和经济发达地区,聘请优秀软件工程师进行授课、使学生参与到企业的实际开发中是可行的,但对于大量其他地区高校就难以实施。

 

(7)软件工程技术和工具发展迅速,很多软件从业人员从程序员开始起步,未接受过系统的软件工程教育或所受教育很快过时,因此需要持续性的、具有一定灵活性的优质教育资源适应这种情况。

 

由软件工程教育面临的以上挑战,我们可以看出传统的高校课堂内软件工程教育虽然还是必不可少的,但是必须找到新的软件工程专业课程教学方式,以满足其知识变化快、人员基数大、持续时间长、资源不平衡等特征。通过互联网在线课程的形式实施软件工程专业课程的教学,无疑是应对上述问题一种有效、可行的方式。

 

2 软件工程知识体对在线课程模式的影响

 

软件工程可以作为一门单独的课程进行讲授,而软件工程专业一般包含一系列的课程,如需求工程、软件设计与体系结构、软件构造、软件测试与验证等。软件工程专业课程如果作为在线课程进行建设会遇到众多问题,其中主要包括对实践环节的要求非常高、追求在真实平台中解决有一定规模的问题、需要团队合作以及项目管理等,而目前在线课程的教学方式和平台在这些方面有一定欠缺,需要我们进行深入的研究以提供解决方案。

 

软件工程课程应该覆盖一定的知识领域,表1对SWEBOK 3.0版中包含的15个知识领域和子域进行初步分析,判断其是否适合于目前一般性的MOOC在线课程教育模式和平台。表1中第2列的知识子域适合目前在线课程教学方式,第3列中的知识子域需要对当前在线课程模式进行适当改进才能适用,第4列中的知识子域则需要对当前在线课程模式和平台进行较大改进。对于不适合(需对模式和平台进行改进)的知识子域,笔者在第3节中将研究讨论应对方式和措施。

 

表l中最后两个知识领域计算基础和数学基础作为软件工程理论基础的一部分,由于一般放入与软件工程课程相独立的课程中讲授,如离散数学、编译原理、操作系统、数据库原理等,其相关课程也都有较为系统、完善的体系,因此这里我们不进行特别考虑。

 

3 软件工程专业在线课程的建设

 

目前已经出现一些软件工程的在线课程,如UC Berkeley的软件工程MOOC课程于2012年在Coursera、后来在EdX上线,并在此基础上发展、延伸出多个小规模私有在线课程(smallprivate online courses,SPOC)。国防科技大学也已有软件工程相关课程在内部网络上线,供部队和军队院校一定范围内的人员在线学习。

 

3.1 软件工程专业MOOC课程建设

 

从对相关知识领域的分析可以看到,目前一般性MOOC授课方式与平台难以适应的软件工程知识子域主要包含以下特点。

 

1)难以完全通过讲授使学生接受,如需要动手进行实践才能深入体会的技术以及与经验密切相关的过程、管理、度量等内容。

 

2)内容变化频繁的知识如一些软件开发技术、工具等总在持续发生变化或出现新的版本,课程每次新开时都可能需要调整。

 

3)需要团队式的协作与交流完成内容,如版本控制、需求获取、协同开发、团队交流等,仅靠讲授或个人作业难以达到效果。

 

4)软件工程教育强调具有一定规模和复杂性的项目实践,这对于教学辅导人员的数量和指导能力要求较高,不仅仅是普通答疑能完成的。

 

5)对于很多技术和实践来说,其结果是开放式的,软件设计、实现、测试、维护等任务一般不存在唯一结果,这给作业评价和成绩评定带来困难。

 

面向上述特点,根据目前国内外已有的相关实践、效果以及已经实施的建设情况,我们总结出一些供参考的解决方案。

 

(1)制订MOOC教学计划时应遵循持续改进的原则。传统课堂教学讲究制订教学计划时一次到位,但由于软件工程内容变化快,因此分解教学内容、视频、作业时应该使其能够适应快速变化,不要期望一次建设就大功告成。此外,在线课程需要了解大量学生的反馈意见和教学效果,这也需要不断的改进。如果可行,可采用自行编著的电子教材和参考文献,使得每次开课时学生教材也可以尽快进行相应修订。

 

(2)在线课程平台与软件协同开发环境的有机融合。对于需要协同、交流才能完成的内容,实际由于许多国际化企业的软件研发人员遍布全球,因此已有相应的平台(包括开源软件工具开源社区等)支持地域分布的人员进行协同开发。教师可选择所需的协同开发环境,与软件工程在线课程平台集成在一起,提高对团队和协同任务的支持。

 

(3)对课程进行分而治之的划分。教师可以把课程按照其内容是否适合在线授课划分为一些小的子课程,每个子课程更偏重于适合或不适合(如理论内容和实践教学内容分到不同子课程),以减少整个课程设计的复杂性。在线课程偏重适合讲授的子课程,不适合已有在线授课模式的内容,可以通过其他方式实施(如其他高校单独开设实践课程、采用适合的平台或投入更多教辅人员等)。

 

(4)采用新的教辅人员委托模式。由于软件工程课程的实践性强,对教辅人员数量和质量要求高,因此仅靠开课学校的课程组难以完成。教师在实践中可以考虑招募在高校内或通过在线课程已经完成课程学习、成绩优秀的志愿者,通过一定的激励或者提高影响力等方式激发他们的热情。事实上,从开源软件的蓬勃发展以及Berkeley软件工程MOOC课程的实际效果看,该方式完全可行、有效。

 

(5)加强自动化结果评估和成绩评定系统的开发与应用。教师可一方面采用各种自动化软件工具,如通过测试驱动的开发工具、软件编码规范检查工具、基于服务的方式等对课程作业进行自动评估;另一方面可以让学生参与到开源软件社区的开发活动中,通过开源项目对其完成工作和贡献采纳情况等进行评价。

 

软件工程专业MOOC课程建设面临的问题众多,需要教师通过具体实践逐步研究和完善其在线课程的建设过程。

 

3.2 软件工程专业SPOC课程建设

 

软件工程在实际实施中所面向的领域背景非常重要,而不同领域的软件系统各有特点,一个软件企业一般有其针对性的领域,采用的软件工程过程、方法、工具、管理等都有各自的特点。因此,非在校学生的软件工程在线课程学习者可能在一般性的理论之外,希望学习更多对其背景有促进作用的知识。再者,MOOC课程学习者中有相当一部分本身就是高校教师,他们会借用MOOC课程的内容,然后在自己的课程中进行一定改造并增加项目实习等内容,形成适合其学生学习的课程。此外,国防领域未来基于信息系统的体系中,软件工程人才将会包括科研人员、技术开发人员、管理人员、保障人员、作战和指挥人员等不同类型,还会针对战机控制、舰船控制、车辆控制、指挥自动化等不同应用背景,对软件工程知识的要求都有不同。上述情况都要求能够在MOOC课程的基础上进一步建设小规模私有在线课程(SPOC)。UC Berkeley就在其软件工程MOOC课程基础上发展了多个SPOC课程,包括在本校以及在其他高校中开设的课程。

 

对于建设软件工程SPOC课程,教师可以遵循以下一些原则和策略。

 

(1)对于公共的知识讲授,尽可能利用MOOC课程完成,以减少SPOC课程的建设工作量,充分利用优质资源,提高课程的复用程度。

 

(2)加强每门SPOC课程的针对性,如针对具体学校学生的培养目标或针对具体领域背景选择相应的软件工程技术、工具、标准规范进行讲授。

 

(3)加强课程实践和项目开发环节的建设,这是MOOC课程本身具有的不足之一,但在SPOC课程中可以进行有效的弥补。

 

(4)课程成绩的评定可以把MOOC和SPOC课程的学习情况结合起来考虑,对学习者对软件工程共性理论和特定目标知识的掌握情况进行综合评价。

 

在未来在线课程发展中,软件工程专业MOOC课程可能并不一定很多,由能提供优质师资资源的机构开设,但针对具体背景领域的SPOC课程可以更多,因为毕竟软件作为现代社会无所不在的组成,软件工程面向的领域众多,都需要有针对性地培养软件工程人才。

 

4 结语

 

软件工程专业课程篇6

随着互联网络和IT技术的快速发展,IT技术的服务无处不在,软件开发已经成为计算机专业的大学生掌握的必须技能,能够更好地运用当今流行的软件开发技术手段开发程序,已经成为计算机专业的学生在激烈的社会竞争中能够获胜的关键。所以,在当今的IT技术时代,特别是大数据和云计算快速发展的时代,对于计算机专业的本科生来说,系统地掌握软件开发技术的各个环节并使其有机结合,同时运用软件工程开发过程的技术来组织软件开发过程的所有资源并综合地处理软件开发过程已经成为计算机行业的基础需求技能。所谓软件工程,是指系统地运用工程管理的知识来组织、运行、开发和维护有用的、高效的和高质量的软件学科。软件工程主要包括人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试和维护等过程。因此,对于计算机专业的学生来说,掌握必要的软件开发过程,了解和掌握软件开发过程的建模和管理技术不仅能够使自己在未来可以更轻松地应付多种复合信息的工作需求,给自己带来更合理的处理方法,而且也可以提高自己的软件开发效率。所以,对一些计算机专业的学生来说,通过系统地学习掌握软件过程开发技术,特别是一些新的软件开发动向,如面向服务的软件开发和集中式计算架构开发等,是十分必要的一项教学内容。目前,软件工程课程是计算机专业教学中的一门必修课程。以作者所在的教学单位为例,软件工程是计算机专业高年级本科生的一门必修课。该课程主要从软件工程基本理论出发,将软件开发技术的各个环节有机结合,全面覆盖软件开发过程,注重培养学生软件开发中的综合职业技能。主要讲授的内容包括软件开发规律概述、软件开发方法、软件开发平台与工具、系统分析与建模、IT规划与咨询、软件开发项目管理、软件开发案例分析等。同时该课程引入云计算和大数据对软件开发的需求,重点分析实际软件开发案例,使学生掌握软件开发的基本规律与实际管理方法。因此,软件工程作为一门专业必修课程,计算机专业的学生不仅能够通过这门课程掌握软件过程的必要技能,如RUP模型和UML等,而且通过实践的项目分析与设计,学生能够系统地掌握需求分析和软件设计的必要技术,如数据流图DFD如何使用等,使得学生掌握的知识不再停留在理论学习和应付考试上,为学生未来就业后进入企业快速融入开发团队提供了必需的知识基础。同时,该课程通过对一些热门开发技术的学习,不仅可以提高学生的兴趣,激发学生的潜能,加深学生对软件开发技术本质的理解,而且可以提高其相关知识的洞察力与研究能力。[1]

2教学方法和手段

软件工程课程的特点是知识内容多、内容实践性强,没有实践难以掌握,例如软件过程中的用例模型是通过角色、行为和场景来描述和分析软件开发过程的模型,因此不仅要求学生在课堂上需要了解什么是用例,掌握用例设计的基本规则,而且也需要安排时间给学生对于复杂的场景使用用例模型进行设计分析,然后进行课堂讨论,讲解自己的设计思路如何满足用户的需求等。所以,根据软件工程课程的特点,作者认为在课堂上宜采用“知识细化”、“精讲讨论”、“详细分析”等多种多样的教学形式。以作者所讲授的软件工程课程为例,本课程以计算机投影开展教学,配以适量的理论教学和知识点讨论,并以上机课来培养学生的动手能力,如要求学生使用Powerdesinger软件进行需求建模。本课程其中投影、理论和讨论教学为24学时,上机实验课为8学时(不含课外上机)。在讲授过程中,考虑到该课程注重应用的特点,遵循深入浅出的原则,对概念、原理的解释和描述尽可能地以日常生活所接触到的案例和图示加以对比说明,引导学生掌握软件工程的开发过程,建立概念之间和应用之间的联系。在讨论和上机过程中,以任务驱动方式要求学生完成讨论题目和上机实验,然后及时找出学生上机时遇到的问题,并归纳总结,提高学生相应的能力(教学学时分配见表1)。另外,作者为了让学生更好熟练地掌握软件工程的相关知识,通过网络收集了一些教学视频和PPT课件,在完成每个学时教学任务的课后都拷贝给学生,让学生课后回去自学这些知识。

3教学培养目标

软件工程课程是一门要求实践性较高的课程,对从实际的工程开发中掌握知识有较强的要求。因此,本课程主要介绍当前最流行的软件开发技术与环境,目的是使学生了解软件开发过程与组织等技术,掌握当前流行的软件开发方法与环境。本课程的教学目的是让学生初步地掌握从宏观和微观两个方面如何去开发软件系统。使学生学会软件开发的原理、技术和方法,提高学生的软件开发和软件工程管理能力:[2,3](1)培养学生的思考和动手能力。软件工程课程包含大量的建模知识,同时提供了一些软件去实践这些知识,因此这要求学生不仅掌握建模的基本原则,同时对于实际的项目需求,能够运用建模知识去分析建模,然后运用相关软件进行建模概念的设计。(2)培养学生系统的组织和管理能力。软件工程课程是一门工程性的课程,它来源于实践,并用于实践。软件工程的复杂性在于它是涉及软件开发的各种环节和资源相互协调工作的知识。因此,培养学生掌握好软件工程的知识,对于学生今后职业规划有重要的帮助,能够为学生往高层次的IT人才发展提供必要的知识储备。

4总结

本文结合作者的实际教学工作和在教学改革方面的分析与探索,从教学理念、教学方法与手段、教学培养目标等方面,对计算机专业的软件工程课程的教学改革进行了分析与探讨,提出了以实际项目驱动和课堂知识点讨论作为课堂教学手段,把软件工程相关理论知识学习作为实践的教学内容,注重实践为主、理论为辅的理念。目前,对于计算机专业的学生来说,软件工程课程的本科生教学改革有着十分重要的意义与作用,其教学内容与教学手段也应该要适应社会需求的变化。

参考文献

[1]许波,陈晓龙.UML结合软件工程教学改革探讨[J].计算机教育,2011(2):34-37.

软件工程专业课程篇7

2.课程时间安排不合理

信管专业中的软件工程与诸多信管专业基础课程联系密切,需要较强的专业基础知识,但目前部分院校的课程体系将软件工程与管理学、程序设计等专业基础课程安排在同一学期显然不合适,教学安排缺乏层次性。

3.师资力量存短板

信管专业教授软件工程的教师几乎都毕业于计算机专业,不仅缺乏管理学相关知识且在教学思想上沿袭了理工科的风格,偏重程序研发流程,忽略管理信息系统开发过程的多学科交叉特点,导致学生把管理信息系统等同于一般的计算机软件,使得学生对管理信息系统的内涵认识不足,甚至产生误解。此外,大多数教师并没有实际参与大型管理信息系统项目的开发,缺乏实际的研发经验,故难以全面、深入地介绍管理信息系统研发过程和特点。

4.适用教材缺乏

一方面现有信管专业软件工程的教材大都沿用自计算机专业,着重从理论方面介绍各种经典分析和设计方法,所选案例也缺乏与管理学等其他相关学科结合,且很少结合最新的设计方法和工具进行介绍。这种教材选择方式难以和信管专业内的其他课程有机结合,自身形成知识孤岛,无法体现信管专业管理为主、计算机为辅,多学科交叉的特点,同时也不能反映信管专业与计算机专业的本质区别。

5.教学方法古板,实践不足

软件工程的教学内容多为以往研发经验的概括和总结,知识点多以各种概念、原则、规则和要点等形式出现,缺乏完整案例,内容抽象晦涩,教师多采用单向注入和强行灌输的教学方式,不利学生的理解和应用。此外,信管专业课程体系庞杂,无法为软件工程分配足够的实践课时。其他系统开发相关课程,或因项目过小而无需使用软件工程思想,或因课时限制而侧重系统的实现和测试方面。这些问题导致软件工程思想难以完全付诸实践,使学生缺乏系统性和全面性的训练。

6.学生评价机制不合理

成绩评定是评估学生学习效果的重要依据,也是反映教师教学能力的参考指标。本校统一采用“平时表现+期末笔试”的考核机制,比例为3:7。其中,平时表现包含期中考试成绩、日常考勤、课后作业和实验成绩等。这种成绩评定机制存在诸多问题:(1)期末考试比例过大,不能全面客观反映学生的表现。(2)闭卷理论笔试不利于扩展学生的知识面,难以考查知识的实际综合运用能力。(3)笔试为主的考核机制容易诱使学生产生应试教育的倾向。

二、《软件工程》课程教学的若干对策

针对信管专业软件工程课程的问题,结合本校教师的教学经验提出相关的应对措施。

1.明晰教学定位

信管专业的定位是计算机和管理的交叉学科,管理信息系统是信管专业关系最为密切的信息系统。软件工程在信管专业中的主要任务是为了培养学生使用软件工程的思想分析、设计和开发管理信息系统。鉴于学生培养目标的不同,信息系统开发能力并非所有学生所必须掌握的。因此,软件工程在信管专业中的定位不能搞一刀切,必须因方向而异。系统开发方向的学生应把软件工程作为专业必修课,而信息管理方向的学生则作为专业选修课选修。

2.优化课程安排

软件工程的目的是指导管理信息系统开发,学生选修前需具备基本的编程能力和数据库知识。而且,管理信息系统的开发需要结合管理、会计和运筹等课程的相关知识。因此,软件工程的安排应置于数据结构、数据库、程序设计、管理学和运筹学等课程之后,信息系统课程设计之前。在课程设置上,软件工程与面向对象程序设计、管理信息系统、信息系统课程设计等相关课程组成课程群,相关任课教师以团队方式备课。每学期期初和期末,同一课程群的教师互相交流教学效果和存在的问题,根据学生的情况各自调整后序教学内容,有针对性地开展教学。课程群方式可以有效加强课程间的平滑衔接,强化教师间的团队合作,实现知识的有机结合,提高课程安排的层次性与合理性。

3.建立合理的教师培养机制

教师培养采用“走出去,引进来”的方针,加强与兄弟院校和相关企业的交流。围绕构建应用型本科院校的目标,引入高职院校中的“双师型”培养机制,将科学研究和实际应用相结合,组织软件工程及相关课程组构成的开发团队,积极参与校内外的合作项目的研发,如校内各部门的信息系统开发项目、校外实习基地的合作开发项目、科研项目的系统实现等。在教学任务之外,学校应鼓励任课教师定期到实习单位参加项目见习,甚至直接参与项目研发,提高教师的研发能力,更新知识储备。同时,教师的考核体系应根据教师的授课内容进行分类评价,软件工程等应用性课程的考核机制应加大对实践的要求,鼓励科研与知识应用的结合,真正实现应用型培养的发展方向

4.改进教学方法,强化实践教学

根据软件工程理论和实践要求都较强的特点,采用案例驱动的方法开展教学,将理论知识融入到具体案例当中,通过“学中练、练中学”的模式将抽象的知识通过具体的项目展示,方便理解和消化吸收。此外,单纯的理论知识学习是不够的,需要通过实际的项目训练进行提高,进而达到巩固所学知识,灵活应用的目的。项目训练以学生分组的方式进行,在学习的同时培养学生的团队意识和协作精神。项目类型以中型管理信息系统为宜,来源可出自教师自身的项目或者协作单位项目中的子系统,也可以学生提出由任课教师审核通过。项目结束时,学生必须能够提交可正确执行的程序,同时提交相关的系统开发文档,文档要求严格按照国标GB-T8567-2006编写。在实践过程中,教师应以项目管理人的角色监督项目的进度,及时发现并纠正存在的错误,同时回答学生在实践中遇到问题。这种方式既让学生清楚了解课程开设的目的和意义,也强化学生对所学知识的理解和应用。

5.完善教学资源

信管专业软件工程课程的教学资源(如教材、辅导资料、教学案例等)的安排和设计应按本专业的需求进行改进和完善。首先,调整教材内容的编排。软件开发技术知识点需要与时俱进,已被淘汰的知识点应予以删除或以概述的形式介绍,同时增加近年出现的新技术和新方法,并对其中的典型方法进行重点介绍,并配上相应的案例进行讲解。其次,修改教材内容的编写方式。采用案例驱动的教学模式,将以往逐条罗列的抽象理论融合到具体的教学案例中,让学生通过分析案例提取出知识要点。该方法既有利于对枯燥知识的理解和吸收,也为进一步的知识应用提供极好的参考素材。第三,修改配套案例。案例选择中等规模的管理信息系统的完整研发过程较为合适。案例规模不宜过大的案例,否则不适宜初学者学习;规模太小则细节不足。案例可以取自教学参考书,也可以是教师自身的项目研发经历,还可以源自合作单位的项目。第四,建立信息化教学实验平台。通过云计算等先进技术构建的软件工程教学实验平台,师生能够无时间、地域限制地实现教学课件和视频等资源的共享、作业和课程实践的实时监控和学生疑难问题的解答,极大方便了师生间的交流,对提高教学效果具有重大现实意义。

6.改革学生评价机制

课程成绩对学生在课程学习过程中的表现和效果的综合评价,对学生学习起指向性作用,必须秉承公正、全面、客观的态度。第一、全面考虑学生评价要素。在教学过程中,除考勤情况、期中成绩、期末成绩等常规项目外,学生的课堂表现、作业完成质量和上交情况,实践项目的完成情况等也是衡量学生的学习成绩的重要依据。因此,软件工程的考核体系可综合为以下三方面:(1)平时表现,包含出勤情况、课堂提问和作业完成情况等;(2)实践成绩,包含课程设计和实验的质量和文档的编写情况;(3)卷面成绩,包含期中和期末考试的笔试成绩。第二、合理分配评价要素的比重。评价要素的比重定量反映了课程各教学环节的重要性,能够对学生的学习起导向作用。为了突出软件工程以“理论为基础,重在实践应用”的特点,实践成绩的比重应与卷面成绩相当,也可以考虑使用课程实践成绩代替期末笔试。第三、客观评定评价要素。学生的评价要素通常分为定性和定量两种。其中,各种考试成绩和作业成绩、考勤情况等定量评价易于给定。相对而言,平时表现等定性指标需教师主观评定,易受到教师个人情感的影响,需要教师秉持公正客观的态度。对学生的主观评价一般以良为基础,表现突出的学生可给予优,存在迟到早退、作业应付或缺交、课堂纪律不佳等情况的学生则酌情给予中或差的评价。第四、丰富考核形式。除传统的闭卷笔试外,软件工程的考核形式还可采用以下几种:(1)课程论文:以个人为单位,就管理信息系统研发和管理中的某个环节提出自己的观点并展开论述,完成3000-5000字的课程论文。(2)课程设计:参考教学案例,采用软件工程思想,以团队方式开发一个管理信息系统,完成从需求分析到设计实现的完整过程,并编写相关软件文档。(3)开卷笔试:以论述和应用题为主要题型,主要考察学生解决系统分析、设计、测试和维护等环节中具体问题的能力,如按要求绘制程序流程图、软件结构图和系统流程图等分析设计图表,设计测试用例等。学生允许携带一定数量的参考资料,但不允许携带电子设备。任课教师可根据教学目标和学时安排综合使用上述方式。总体而言,以课程论文或课程设计代替期末笔试进行考核更符合学以致用的教学目标。

软件工程专业课程篇8

根据整体项目模式原理,实践项目应贯穿到各专业课程之中,系列课程最好使用同一项目,这样更能加强学生理解软件开发过程的不同方面。该项目在专业课程开始之前就必须存在,即已经完成或正在进行中的实践项目,因此,系列课程必须是相互联系并且能基于同一项目案例,这和传统的项目教学方式虽然模式一致,但是效果却有本质的不同。图3为系列专业课程的项目案例、课程和学生实践案例示意图,5门课程都基于同一实际项目案例,学生根据自己所做的项目,按照不同专业课程要求的格式和内容书写相关文档。

2.1先案例后理论的案例驱动教学模式

软件工程专业的特点是实践性非常强,软件工程的很多理论都来源于对实践的总结和归纳。因此,教师在教学过程中采用先案例后理论的案例驱动教学模式,符合软件工程专业的授课特点。首先,教师要讲解实际项目案例的文档,该文档是一套完整的、从不同侧面反映软件开发过程的实际文档。对于每一门专业课,教师首先讲解需求提取、需求分析过程、功能提取、系统功能结构框图等,让学生明确该系统的背景和要解决的问题,以及需要具备什么样的功能以实现目标。其次,教师要联系实际项目案例,讲解课本上的理论,将每个理论知识点与实际的项目案例相结合,让学生充分理解理论。在实际讲解过程中,对于新开课,新教师若碰到教学学时偏少的状况,可以言简意赅地讲解重点知识;实践经验丰富的教师,碰到学时偏少的情况可以精简案例功能,讲解1~2个功能即可。最后,教师必须强调实践的重要性并给出标准的文档规范,要求学生按照自己的实际项目书写标准的文档。在每一门课程讲解完毕后,教师再一次帮助学生回顾该课程在软件开发过程中的位置。以软件项目管理为例,在正式进入课程教学之前,教师需要做大量的工作,首先需要准备的文档有项目需求、项目需求分析报告、可行性分析报告、项目开发计划书、项目Demo程序演示、软件项目投标书、软件项目开发合同。然后,开始进入软件开发项目管理过程教学,软件项目主要内容有成本管理、进度管理、人员管理、风险控制等理论内容。实际的软件项目管理主要分为4个阶段:IT项目的启动阶段、IT项目的计划阶段、IT项目的执行控制阶段、IT项目的收尾阶段,这在一般的教材中很少提及,但是教师在内容讲解中要明确阶段任务。IT项目的计划阶段涉及48个文档;IT项目的执行控制阶段涉及45个文档;IT项目的收尾阶段涉及14个文档。教师在讲解合同的内容时,可以直接参照“软件项目开发合同”进行讲解。对于必不可少的合同内容,教师就必须跟学生讲清为什么必须要包含这些内容;讲解成本计算的时候,根据文档“工作包、进度和预算”进行项目的WBS分解以及基本的估算方法。总之,由于教材先理论后案例的局限性,在听课之初,学生觉得枯燥乏味。而教师通过先案例的方式能有效调动学生在课堂上的学习积极性,为后面的项目实践奠定基础。

2.2学生项目实践环节

每一门专业课都有上机实践部分,学生在实践课上主要是书写文档。每门专业课都有各自不同的文档,软件工程课程要求学生必须完成标准的13个文档;软件测试课程需要软件测试报告文档;软件项目管理课程有127个文档;面向对象的软件分析方法课程有包含9大部分内容的软件项目分析与设计文档。每一门课程的文档内容非常多,要求每个学生最好独立完成,主要训练每一个学生的文档书写和理解能力。需要强调的是,学生书写的项目文档一定要给出标准的、规范的文档格式,包括目录、段落、标题、字体等排版之类的要求。项目模板可以采用软件工程国标文档或者相关的其他标准文档,最好和某一软件公司的案例文档格式相一致。笔者在软件公司任职过程中,很多刚参加工作的大学生书写文档的水平非常差,主要是文档格式、结构和内容混乱,往往给人留下非常不好的印象。整体项目驱动模式下的课程教学,首先强调的就是文档格式和正确的文档排版,其次才是内容的正确性与完整性。在学生项目实践中,任课教师最好跟踪指导。学生每次在实验课上必须完成相应的实验,并把实验的电子文档通过教学资源管理系统或以电子邮件的方式提交给教师。电子文档的批改能快速纠正学生文档格式不规范以及内容方面的错误,但这个工作量往往很大,每一次电子作业批改的工作量往往是学生数量的3~4倍。这是因为学生按照批改意见进行修改后又会返回给教师,最终达到合格标准的电子文档往往会被修改2~4次。

2.3考核方式

完成每门课程的项目文档是学生对文档书写熟练程度以及课程内容理解的直接反映,也是培养软件开发过程中需要具备的素养和习惯的有效途径,克服学生疏于或懒于书写文档的缺陷。因此,教师需要对学生书写的项目文档进行考核并将其反映在学生成绩上。项目文档的成绩占学生总成绩比例的30%~50%较为合理。

2.4教学效果

笔者经过近2年的教学实践,取得了良好教学效果。以中南民族大学软件工程专业2008级学生为例,首先,学生很顺利地完成了各自的软件项目,包括中南民族大学学生基金项目;其次,学生能很好地书写申请软件项目著作权系列文档以及毕业论文,书写的文档格式规范,只需稍加修改就能将文档立即转化成学术论文并发表。这表明学生无论是在文档格式还是在内容编排上都取得了进步,进一步提高了在软件开发过程中应有的素质。这也是软件工程专业学生和计算机其他专业学生之间非常明显的差别。就前2届学生的就业情况,笔者回访了2家用人单位,他们对中南民族大学软件工程专业毕业的学生刮目相看,称赞学生书写的项目文档很规范。

软件工程专业课程篇9

(一)评价指标构建的指导原则

指标体系中最重要的是指标,要确保每个指标的科学性,不能随意设置和编写指标。本研究的指标体系参考国内外评价指标体系的标准,查阅资料掌握指标构建的基本方法,同时也查阅了大量的有关软件工程专业有关的专业人才培养方案与课程体系设置的指导性纲要文献。通过对指标进行分类、归纳和总结,甄选出符合软件工程专业课程体系评价的指标体系,按照分解评价目标、简化指标、修正指标、分配权数四个步骤来进行实施。

(二)评价指标体系构建

本研究所涉及评价指标的研究主要采用文献分析和德尔菲研究法来进行。由于针对课程体系的评价将涉及到高等学校、分院教学管理者、专业授课教师、学生以及用人单位等,因此在制定过程中都要把这些因素列入到指标体系的范围中。通过文献分析和专家咨询,设定了评价的总体目标和子目标,并设定了简化的指标,然后对这些指标进行修正。在指标设定过程中,要结合软件工程专业的特点,比如课程体系中是否要符合软件工程知识体系SWEBOK等内容。在制定过程中,可以不分得这么细,只需要列出课程体系安排的科学性即可,但是在制定细则时要考虑这些问题。限于篇幅原因,评价指标体系构建的细节本文不涉及。通过对指标进行部分的修订和完善,最终确定了指标体系的一、二级指标。一级指标为课程体系的目标、课程体系的内容、课程体系的实施、课程体系的教学效果。再根据相关的专业理论,就一级指标再细化成若干个关键点位的综合,形成了二级指标。

(三)确定权重

层次分析法是一种定性和定量相结合的分析方法,该方法将判断规范化、数量化,然后通过统计运算,得出各项指标的权数。该分析方法对各项指标的判断和比较都是在同一层次中的指标进行的,具体步骤为:首先将问题层次化,然后根据评价对象的性质和要求达到的总目标,将这个总目标分解成不同层次的指标。层次分析法以矩阵理论为理论基础,其中构造判断矩阵是一项重要的任务。判断矩阵是将两个指标进行比较,查看是否有同等的重要性,还是其中一个指标比另外的指标更重要。根据判断矩阵准则表,通过听取专家的意见,对一级指标和二级指标根据相对重要程度,进行比较判断得到一个表矩阵,求出所有指标的重要程度之和,然后每个指标的权数之值就是将每个指标重要程度之和除以总的重要程度之和的比值,这样得到每个指标的权数。以一级指标为例,通过层次分析法计算得出其权重分别为0.347,0.449,0.102,0.102,一致性比率小于0.1,可以得出判断矩阵满足一致性检验,该指标的权数分配有效。按照相同的方法对二级指标求权数。经过多次修改和完善,最终确定了所有的评价一、二级指标的权数,由于篇幅原因二级指标的权重在此不再列出,其中合成权数是由二级指标的权数分别乘以相对应的一级指标的权数得来的,总和值为1。上述方法是一种通过对指标两两比较而求得权数的方法,是一种比较简单易行的一种方法。

二、评价标准的确定

评价指标体系仅有评价指标和权重还不够,还应该有详细的评价标准,这样测评人员才能够顺利地完成对相应问题的评价。目前常见的评价标准确定的方法有分段式标准、评语式标准、量表式标准、隶属度标准以及期望行为标准等方法,为简单易行,本研究将各项指标分为若干个等级,然后为各项指标赋予一个权数,使他们按照等距划分到相应的等级中去,接着将每个等级的分值分成若干个小档。综合已有相关研究与实践经验,将等级标准划分为优秀、良好、一般、较差4个等级,分值为100、85、70、55,等级的分值级差为15分。

三、软件工程专业课程体系评价实例分析

(一)2010版软件工程专业课程体系简介

吉林工程技术师范学院作为应用型本科院校,定位为培养应用型人才,因此所制定的专业方向模块课程要与人才市场及区域经济发展需求相一致。目前在我国软件应用领域,软件开发人员需求缺口很大,因此将我校软件工程专业人才培养方向定位为软件开发工程师。在软件开发领域目前存在着两大对垒:微软的.NET和甲骨文公司的JAVA,因此将专业方向划分为.NET方向和JAVA方向,并依据技术路线设置了相应的专业方向课程。所制定的应用型本科软件工程专业人才培养方案中的理论课程体系分学期执行。

(二)评价实施

首先根据表1课程体系评价的综合评价指标体系一、二级指标,制定调查打分表,邀请教育领域的专家、其他高校软件工程专业负责人、企业负责技术的工程师、在校和已毕业的学生、企业人力资源部经理对人才培养方案进行打分,将打分表收集后进行加权计算,最终本课程体系加权得分取整为87分。

(三)评价分析

从2010版软件工程专业课程体系的评价得出的结论,应该说基本符合其实际实施情况,从收集的打分情况来分析,“课程体系的目标”这个一级指标的打分值较高,说明课程体系的设置符合社会经济发展的需要,符合学校应用型大学的办学定位;“课程体系的创新性”这个二级指标打分值偏低,也反映了课程体系比较完整,但总体缺乏创新和灵活性,通过打分专家的反馈,在2013版软件工程专业人才培养方案中进行了调整,整体上以目前市场需要较多的An-droid开发为主线;“课程体系的实施”这个一级指标分值偏低,反映出课程体系在实施过程中的一些问题,需要引进企业工程师来校任课,推进理实一体教学方法改革等系列措施。

软件工程专业课程篇10

软件工程专业本科生的培养目标是面向软件产业界对软件工程专业技术人才的需求,培养具备扎实的计算机科学技术基本知识,受过良好的软件设计、开发和工程管理方法基本训练的应用型高级技术人才。

Java程序设计是软件工程专业的一门重要课程,该门课程的课程设计作为实践教学的重要环节,对培养学生的学习能力、问题分析与解决能力、实践创新能力起着重要的作用,同时还可以培养学生的软件工程思想,提高学生的软件开发能力。

1、什么是课程设计

课程设计是学生在学完课程之后集中一两周时间,以个人独立完成或团队分工合作等方式,围绕某一设计题目进行专业实践活动,旨在巩固、强化、拓展所学知识,提高学生实践操作能力和自学创新能力,培养学生团队合作意识。

课程设计是针对性较强的实践教学环节,将课程基本理论与工程实际相联系的综合训练,是培养应用型人才的一个重要步骤。课程设计可以使学生通过查阅资料、分析题目、确定设计方案等一系列步骤将理论知识与工程实践相结合,从而加深对所学知识的理解与巩固,提高整体思维能力、综合应用能力和创新能力。

2、Java课程设计大纲的制定

根据Java程序设计课程的教学大纲要求,制定相应的课程设计大纲,明确课程设计的目的、任务要求、时间安排、设计文档要求、考核方式、备选课题等。由于课程设计以个人独立完成为主,因此课程设计的难易程度应适当,保证学生在指定的时间内能顺利完成。根据计算机技术的应用范围与学生当前的知识储备情况,备选题目可设置多种类型,如小型桌面软件类、管理系统类、网络编程类等题目,当然,学生也可以自拟题目。课程设计文档是学生对自己的作品在系统总体结构、功能模块、程序流程图、类图、主要算法、遇到的主要问题与解决方法等方面进行说明的文字材料,同时要求学生在文档的最后总结在完成课程设计过程中的心得体会。

3、Java课程设计方案

Java课程设计的实施主要由选题、指导、考核3个环节组成,其中,选题是首要的步骤,指导是教师了解学生遇到的问题和完成进度并给予辅导建议的过程,考核是对学生的作品进行检查与评价。

3.1 选题

Java课程设计题目的设置要与软件工程专业培养目标和Java课程的教学大纲要求相一致。课题应尽量满足理论知识与专业技术相结合、软件工程理论与项目实际需求相结合的要求,既要全面覆盖理论课程所学知识,适合实践教学和启发创新,又要联系工程实际,并适应本专业的发展趋势。课题应具有一定的可操作性、设计性、灵活性、挑战性和趣味性。课程设计内容难易程度的确定要以中等水平的学生在规定时间内经过努力能完成任务为依据。

另外,课题应尽可能地与学生的实际学习、生活相关,这样学生在调研、分析设计时更容易了解需求。例如,学生成绩管理系统、图书信息管理系统、宿舍管理系统、ATM柜员机模拟程序等课题与学生的学习、生活相关,在使用计算机时常用的计算器、画图板、音频或视频播放器等都可以作为选题。

在学生明确课程设计的大纲要求后,根据自己对Java语言知识的掌握程度与感兴趣的研究方向,可以从课程设计大纲的备选题目中选择适合自己的题目,也可以自拟题目。

3.2 指导

在课程设计中,学生是主体,教师是主导,因此指导应讲究方法与艺术,最大程度地发挥教师的导向作用与学生的主动性与创造性。指导分为两个阶段,第一个阶段是对学生选题的指导,第二个阶段是学生在完成课程设计的过程中教师对学生的集中辅导与答疑。指导过程同时也是教师对学生进度的检查与监督过程。

1)选题指导。

教师在指导学生选题时要说明各种题目的难度与要求,根据学生基础与能力的不同,因材施教,推荐不同的题目,帮助学生把握好方向。

对于理论基础好、动手能力强的学生,可以给他们提供难度较高、有挑战性的题目;对于理论基础好动手能力一般的学生,难度较高、可操作性强的题目可以激发他们的探索精神、提高动手能力;对于理论基础与动手能力都一般的学生来说,难度中等、有可参照原型的题目较适合他们;基础差的学生要独立完成设计比较困难,因此教师可以建议他们选择源于教材、难度低的扩展性题目。

2)设计指导。

学生在课程设计的具体执行过程中主要由个人独立设计与教师指导两个部分构成。个人独立设计是学生利用课余时间对自己的课题进行设计实现。除此之外,在课程设计期间,教师安排每周2次,每次4~5学时在实验室集中指导与答疑。通过这样的方式,教师可以参与到学生的设计中,了解并开拓学生的思路,发现问题并引导如何解决问题,还可以发掘学生的潜能,同时也可以对整个课程设计的过程进行监督与管理,提高课程设计的质量与效果。

在Java课程的教学过程中,教师应该逐渐了解学生的学习态度与学习情况,因此,鉴于学生态度与基础不同,教师在设计的指导上也要因材施教,有针对性。对于理论基础好、动手能力强的学生,教师可以引导他们进行深入的探索与研究,进行创新性的设计,而不仅仅局限在基本设计要求上。教师要参与他们的设计中,听取他们的思路,对有一定创新性、合理的想法给予鼓励,并给他们提出建议,推荐有关的资料。由于这类学生对新技术的求知欲强,但新技术在最初应用时容易出现问题,所以教师在听取学生的思路时,要及时发现并纠正他们设计中的不合理成分,引导他们朝着正确的方向前行。

对于理论基础好动手能力一般的学生,他们在系统分析与设计中一般都能够完成得很好,但是编程实践的能力欠缺,因此教师通过启发式的方法引导学生,发挥学生的理论水平进行创新性的设计,在系统实现时给学生推荐参考资料,加强对基础知识的应用能力。

对于大部分理论基础与动手能力都一般的学生,教师要帮助学生加深对理论知识的理解,同时在设计上多加指导与启发,引导学生更为完善地完成设计,并在设计中或多或少地表现出一些自己的特色,然后在编码实现时给予更多实际操作性的指导。

在课程设计的指导中,除了教师的指导,也可以采取“强帮弱”的形式,让能力较强的学生参与能力较差的学生的系统设计与实现中,促进他们之间的交流与帮助。

3.3 考核

学生在规定的时间内完成课程设计之后,教师要对学生的作品进行考核,考核的目的不仅仅是为了检查学生完成的情况,更重要的是给他们一个讲解其设计思路并演示作品的机会。考核主要采取学生讲解作品分析设计思路并演示说明作品、教师提问的答辩考核方式,这有助于学生加强知识的全面理解,培养其语言组织与表达能力、应变能力等。

答辩过程要求全班学生参加,分为学生自述、教师提问、学生提问3个环节。首先由学生针对其作品从系统分析、设计、关键技术与算法、存在问题等方面进行讲解,然后演示作品。之后,教师与其他同学可以对答辩人的作品从设计思路、功能、性能、代码与技术等方面进行提问。通过答辩,并结合学生的设计说明书、答辩水平、动手能力、独立分析问题与解决问题的能力、创新精神与学习态度等进行综合考评。对优秀设计者,给予表扬与鼓励,并号召其他同学学习,在评分时适当加分,以调动学生进行课程设计的积极性;对仅完成基本要求的学生,肯定他们的努力,并鼓励他们多实践;对未达到要求的学生,要求其进行整改或限期令其重做。

4、关于Java课程设计的几点思考

这几年Java课程设计的教学效果表明,课程设计为学生巩固所学知识并能学以致用、提高综合应用能力提供了重要的实践平台,教师也从课程设计实践教学中获得了一些有用的经验,为进一步完善课程设计教学提供帮助与参考。

1)注意因材施教,根据学生的基础布置不同的课题。

制定课程设计大纲时,首先制定一个对于大多数学生都比较合适的基本实践要求,然后再针对不同学生的基础设置难易程度不同的课题。这样对大多数学生来说,他们既不会感到实践要求高不可及,又感觉到有一定的难度,比较有挑战性。

2)及时发现并总结问题,积累经验。

在课程设计的整个教学环节中,教师要善于从中发现并总结问题,给予及时、到位的指导。例如,在指导学生完成课程设计时,对于大部分学生普遍遇到的问题,教师要及时发现并进行讲解;从学生上交的课程设计文档中发现学生利用面向对象技术进行程序设计存在的问题,分析问题产生的原因,以改进教学方法;在课程设计答辩考核之后,教师还要对全班课程设计的情况进行全面总结,不断改进。总之,在课程设计的任何一个环节,教师都要善于发现问题,总结经验。

3)教师要不断完善自己的知识结构。

从课程设计的大纲制定、任务布置到指导与考核都需要教师付出很多时间与精力,而且对教师的专业知识与能力要求也很高,因此要想保证课程设计的质量与效果,很大程度上取决于教师的责任心和知识结构的完善。

4)在课程设计中培养学生的软件工程思想。

JaVa程序设计是软件工程课程的先修课程,在讲授程序设计语言时,教师可以适当灌输一些软件工程的思想,让学生对软件开发的基本过程有初步的认识,避免学生陷入“学习程序设计课程只是学编程、软件开发就是编程”的思想误区。实际上,学生在课程设计过程中对系统进行分析、设计、编码、测试等都体现了软件工程思想的运用,程序设计是软件开发过程的一个阶段,通过课程设计能够加深学生对程序设计语言的理解,同时也能较好地培养学生的软件工程思想,为后续软件工程课程的教学打下良好的基础。

5)根据任务的大小,可适当采取小组协作方式。

软件工程专业课程篇11

作为信息产业的核心和国民经济信息化的基础,软件产业日益受到国家的高度重视。权威数据显示,我国软件产业每年人才需求量近一百万,然而令人尴尬的是,许多软件企业却招聘不到真正合适的软件人才。信息社会不断增长的软件人才需求与优质软件专业教育供给不足的矛盾已成为计算机高等教育发展面临的一个重要问题。

2001年12月,经国家教育部和国家计委联合发文批准,全国首批35所示范软件学院正式成立,目的是批量培养具有国际竞争能力的高层次、应用型、复合型软件工程人才。自示范软件学院成立以来,我国软件工程教育事业得到了很大发展,学科建设逐步走向成熟,初步实现了与国际学科发展的接轨,软件工程教育实现了历史性跨越。

然而,软件工程是一个迅速发展的交叉性学科,相关的新概念、新技术、新方法不断涌现,这就要求教育机构要不断调整策略,以应对专业的快速变化。尤为突出的是,无论是全国首批35所示范软件学院还是非示范软件学院,大部分都根植于计算机学院,因此很多软件工程专业学科课程体系与计算机科学与技术专业基本相似,而计算机科学与技术专业的教学内容是远远不能适应软件工程学科的发展要求的。

从根本上解决上述问题的关键是,结合中国软件产业和软件学院已有的硬、软件基础设施及办学的具体情况,研究和定制适合本学院特色的软件工程学科的课程设置、教学内容、教学方法,形成一个良好的软件工程学科课程体系,使软件工程教学更具先进性、目的性和系统性,其中对计算机科学核心课程的工程化改造势在必行。

本文将研究计算机学科的“编译原理”课程在软件工程专业如何进行工程化改造,怎样创建适合软件工程专业知识体系要求的“编译原理”实践教学,从而在科学的软件工程学科课程体系的保证下,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,以适应软件工程学科教学要求,使软件工程学科教学质量得到不断发展,使软件工程专业教育得到健康稳步发展,培养社会需要的软件人才。

1 “编译原理”的工程化实践教学体系

1.1教育教学理念

工程化实践教学就是树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念,把工程化教学作为人才培养的核心任务之一,通过全面改革软件工程专业的人才培养模式、调整课程体系、充实教学内容、改进教学方法,在教学过程中全面体现能力和职业素质培养的思路,并将软件工程知识内容由浅入深、阶梯状、循序渐进地贯穿在工程化实践教学的各个开发项目中。

基于上述软件工程专业的知识体系、本科课程设置的指导原则以及工程化实践教学教育教学理念,下面将给出“编译原理”课程的工程化实践教学体系。

1.2 “编译原理”的工程化实践教学体系

如图1所示,“编译原理”课程的工程化实践教学体系由六个部分组成:编译原理课程工程化实践教学环境、编译原理理论教学、软件工程能力培养、阶梯状迭代工程实践项目、配套教材和评价体系。构建理念为以计算机科学为基础,以软件工程为核心,以目标应用为导向。

1.2.1 “编译原理”课程工程化实践教学环境

“编译原理”课程工程化实践教学环境由实验室、项目团队、教师讲座以及团队汇报组成。

(1) 实验室。以工程化培养理念指导教学实验室建设,为“编译原理”课程工程化实践教学提供强有力的基础设施支持。提供全天开放机房,机房实行开放型管理。项目开发时间规定为开时间和闭时间,闭时间为固定时间,要求授课教师到机房现场指导,开时间内,学生可以自由选择时间,以小组为单位进行自行讨论、设计,要求实验室人员在现场,以便解决设备问题。机房的使用和维护要有严格的管理制度,保证项目的顺利完成。

(2) 项目团队。将4~5个学生分为一个项目小组,一名组长作为负责人;每名学生分配一台微型计算机,在开发小组中以分工协作的方式完成指定的软件开发任务,完成项目设计报告,并提交完整的软件开发文档和源代码。学生在团队环境下使用最新的软件开发工具,获得较真实的软件开发经验,提高学生在项目规划、队伍组织、工作分配、成员交流等多方面的能力,培养学生团队合作及工程项目研发能力。

(3) 教师讲座。指导教师在整个的项目开发中纵览全局,项目的开始、结束及中间的每个模块都要进行全面的讲解、引导和组织。教师要系统讲解软件工程知识点和软件技术,统一讲解项目开发过程中学生普遍存在的问题,不断地发现问题,解决问题。

(4) 团队汇报。理论教学中教师唱主角,而工程化实践教学应让学生唱主角,让开发小组自己拟定演讲方案、内容,由教师审核修改后进行汇报演讲。这样可以有效地提高学生总结概括、研究立项、口头表达、演讲和交流沟通的能力,培养学生独立思考、分析问题的能力和创新能力。

1.2.2 “编译原理”理论教学

由知识的先期注入和工程化理论教学组成。

(1) 知识的先期注入。“编译原理”课程的理论性较强,整个课程内容由几个功能模块组成,学生对课程的完全理解应在最后一个模块,即课程结束时。鉴于教学内容的特殊性,应在一门程序设计语言之后安排“CO释程序的面向对象设计与实现”项目,作为前导实践环节,配套教材为《C++实战:解释程序的面向对象程序与设计》。这可以使学生在学习理论之前对程序设计语言的解释执行有较深的理解,由传统的“填鸭式”被动学习转变为学生自主式学习。学生对“编译原理”课程的学习由问“这是什么”变成“这是我需要的什么”,从根本上解决了“编译原理”课程的教学困难。实践表明,这种方法在锻炼学生实践能力的同时先期注入了理论教学需要的解释程序的知识和概念,有很好的教学效果。

(2) 工程化理论教学。编译程序是庞大而复杂的,这使得如何介绍编译原理本身就是一个难题。中外编译原理教材很多,如果从工程化的角度去诠释编译程序的实现过程及其原理,即对一个完整的源程序到目标程序的转换过程进行详细讲解,不失为一个新的途径。我们的配套教材《编译程序的实现原理》的编写形式如下:先给出编译器的输入――一个C语言小程序;再给出编译器的输出――目标机上的目标语言,完成这样的转换需要进行的工作包括词法分析、语法分析等几个功能模块;再针对每个功能模块给出本模块的输入和输出,如词法分析为一个C语言小程序,模块的输出形式为TOKEN链表,完成这样的转换需要进行的工作由理论和实现两部分组成。这种讲述方法实现了五化:

工程化:以对一个完整的源程序到目标程序的转换作为教学载体介绍编译程序的实现及其原理,以反映编译的工程性。

模块化:将一个完整的源程序到目标程序的转换作为总目标,将不同的子转换作为各个子模块的目标,以反映编译的模块性。

链接化:将一个完整的源程序到目标程序的转换所需的知识处理成总目标与子模块、子模块内所需知识点之间的链接,以反映编译的整体性。

需求化:将编译原理内容的平铺直叙转换为实现一个完整的源程序到目标程序的转换的所需知识,解决了编译内容的庞杂、不分主次、叙述冗长的问题。

形式化:将形式语言的内容介绍放置在为完成目标所需知识的位置,突出形式语言的地位、内容及其应用。

1.2.3软件工程能力培养

在工程化实践教学体系中,软件工程能力的培养是至关重要的。

软件工程能力包括软件需求、软件设计、软件构造、软件工程基础结构、软件配置管理、软件维护等知识单元。有些知识单元在早期学习,以促进学习条件的成熟;而有些知识单元的学习需要一定的成熟条件,应该放在后期讲授,如阶梯状迭代工程实践项目是整个教学过程中理论联系实际,培养学生动手能力、观察能力、分析和解决问题能力、团队合作以及创新精神的重要环节。把软件工程知识单元分期、分阶段引入阶梯状不同开发项目的全过程,形成了特色鲜明的工程化实践教育体系,使学生的软件工程能力在实际项目开发中得到锻炼和提升。“编译原理”课程工程化实践项目内容安排如表1所示。

“实践性、个性化、逐步工程化”是工程化人才培养的重要环节,也是学生成为合格软件工程化人才的实践过程。以上教学组织方法既保证了教学的系统性、知识性,又保证了教学案例的先进性和实践性。

1.2.4阶梯状迭代工程实践项目

编译器代码的长度可从10 000行到1 000 000行不等,编写甚至读懂这样一个程序都非易事,更何况是开发,因此编译器的实现比以前任何课程中学生承担的设计要大得多、难得多。纵观国内外大学研究现状,一般都是先设计一个语言,面向过程式或面向对象式,然后对设计的语言进行面向过程或面向对象程序设计方法的开发,早期采用面向过程语言编译器的面向过程开发,如吉林大学计算机科学与技术学院的编译原理实践课程“编译程序的设计与实现”,近期采用面向过程语言编译器的面向对象开发,或是面向对象语言编译器的面向对象开发,如“Modern Compiler Implementation in Java”。无论哪一种,学生都是一次性为具有上百条产生式语法的语言开发编译器,难度极大,这使实践课程的收效甚小。采用阶梯状迭代教学法创建的编译原理课程工程化实践项目从根本上解决了这个问题,配套教材为《编译程序的面向对象程序与实现》。

如图1和图2所示,编译原理课程工程化实践项目内容包括“C0解译程序的面向对象设计与实现”,“C1编译程序的面向对象设计与实现”,“C2编译程序的面向对象设计与实现”,“C3编译程序的面向对象设计与实现”。整体项目的源语言定义为C语言的子集,采用阶梯状迭代教学法后,将源语言定义为C0、C1、C2、C3,Cn是Cn-1的扩展。

编译原理课程工程化实践项目的优点有:

(1) 起点低:降低了开发难度。学生根据自己的实际水平选择源语言级别,有不同收效。从根本上解决了软件开发水平低的学生对编译程序开发望而生畏甚至放弃的问题。

(2) 阶梯上升:项目内容的选择不是零散的、随机的、重叠的,而是相互关联的。纵向为编译理论,是主要内容;横向为软件工程,是辅助内容。主要内容将难点分散,处理成阶梯状;辅助内容也将难点分散,同样处理成阶梯状。

(3) 迭展:每一个项目需求是前一个项目的扩展,因此,每一次的软件开发可以看作是前一次开发的迭代,使学生面对大型软件开发项目中最难处理的用户需求不断变更的问题,最大程度地使用重用技术。所有项目的开发承上启下、循序渐进、阶梯状迭展,为研究和学习软件生产线新技术埋下伏笔。

(4) 知识渗透:将软件工程核心内容及工程化软件开发思想由浅入深逐步渗透到各个项目中,每个项目具有不同级别的培养目标,学生从不同项目循序渐进地掌握工程化软件开发理念,降低了工程化软件开发的难度。

阶梯状迭代工程实践项目发挥了学生的主体意识,给学生足够的空间,激发了学生的活力与创新思维,并培养了学生的“三个能力”(自我管理能力、组织策划能力、社会实践能力)和“五种意识”(责任意识、服务意识、创新意识、团队意识、竞争意识)。

1.2.5配套教材

编译原理课程工程化实践教学配套教材共有3部,前导教材《C++实战:解释程序的面向对象程序与设计》与“编译原理”理论教学知识的先期注入配套;《编译程序的实现原理》与“编译原理”工程化理论教学配套;《编译程序的面向对象程序与实现》与阶梯状迭代工程实践项目配套,3部教材前后关联且各呈完整体系。本套教材为清华大学出版社“编译原理及其实践课程的工程化教学课群研究”立项项目,已出版1部,另2部明年中旬出版。

1.2.6评价体系

编译原理课程的工程化实践教学评价体系包括对学生工程素质和对教学体系的评价。

学生工程素质的评价采用过程化考核管理标准,即把工程化能力和职业素质引入学生工程素质的评价体系,加大工程化实践环节的比重,形成专业理论知识和实践能力并重的考核体制,将期末一张试卷定成绩的考评机制改为由工程化实践项目、随堂测验、论文、面试、考试、团队等多种形式相结合的评价机制,防止实验抄袭现象。编译原理课程考核采取理论知识和工程化实践项目完成情况的综合考核方式,工程化实践项目根据项目设计报告、软件开发文档、源代码和运行系统的质量进行考核,学生成绩以登记评定方式给出。

教学体系的评价采用回馈化考核管理标准,即把企业回馈和毕业生回馈引入教学体系的评价。对企业和毕业生进行跟踪调查,通过收集企业和学生的反馈指导教学和实践项目的设置和修订,形成良性循环,为进一步提高教学质量打下坚实基础。

2结论

软件工程是集计算机科学与技术、数学、经管等多学科的交叉性学科。作为一名软件工程教育者,我们必须建立一套具有自身特色的工程化人才培养体系,培育具有国际竞争力的一流软件产业高级/高端人才,结合软件工程人才的学科交叉性、偏重实用、职业定位等特点,系统深入地研究软件产业对技术型、管理型的人才需求,注重学生综合能力和专业素质的培养,才能在计算机系统、软件工具、软件工程和管理上循序渐进地提高学生的能力。

参考文献:

软件工程专业课程篇12

2007年,苏州工业园区被认定为全国唯一的中国服务外包示范基地。2009年,苏州市被国务院批准为中国服务外包示范城市。截至2011年底,在商务部服务外包系统注册的企业达1 718余家;接包合同额和离岸执行额分别达到35.7亿美元和20.1亿美元;通过CMM/CMMl3级以上认证的企业有86家,其中6家企业通过了CMMl5级认证;通过IS027001认证的企业有102家。按照苏州市“十二五”规划,到2015年,全市实现服务外包合同额要达到150亿美元,离岸执行额为70亿美元,服务外包从业人员超过30万人。同时,苏州也有雄厚的IT产业优势。目前,苏州IT企业众多,IT产品的产值位居全国前列,与IT产业相关的软件业、IC产业和光电业等也集聚苏州。人才的需求将是苏州服务外包业和IT产业发展必须解决的问题。

苏州大学是苏州地区最高层次的“211”综合性大学,其计算机科学与技术学院经过20多年的发展,人才优势非常明显。2004年,在苏创业的服务外包软件公司,如新宇软件、宏智科技,开始与学校合作建立教学实习基地;2006年,一批IT企业也向学院伸出橄榄枝,共建实习基地,如友达光电、中磊(苏州)研发中心。目前,学院先后和40多家企业建立了实习基地,一部分学生利用假期或毕业设计间隙主动参加实习基地的短期实习,校企双方均取得了良好的效果。2010年,学院2007级软件工程专业(嵌入式软件人才培养方向)进入到第七学期,按照教学计划,需要进行“工业实习”课程的教学工作。该专业每届有160多个学生,在该学期安排这门课程,如何组织学生到企业进行实践活动面临着时间长、规模大、需求多的问题。

1、工业实习课程的建立

江苏省教育厅从2006年起全面启动国际合作软件人才培养工作。当年组织的15所本科院校与印度NIIT合作培养软件人才是本科层面的重要环节,也是江苏省教育厅落实省委省政府“培养培训30万各类软件人才”任务的重要举措,是省委省政府优化产业结构的重要战略任务。苏州大学与印度NIIT的合作在软件工程专业中开展。该专业在教学计划中嵌入了印度NIIT公司的培训课程体系,引人NIIT培训教材。部分课程由印度NIIT讲师授课。通过这样四年的本科教学来加快软件人才的培养,实现江苏软件业的优先、加速、集聚发展。苏州大学计算机科学与技术学院从2007年开始招收该专业的学生,在第七个学期安排了工业实习课程,要求学生全面参与企业的实习,从事计算机软件相关的实习工作。通过企业实习,学生在真实的环境中学习并接受锻炼,适应企业的规章制度,感受企业的氛围,全面提高综合素质。

2、实习实训

IT企业的人才流失率在25%左右。同时,随着我国大力推动服务外包行业的发展,软件企业每年需要招聘新的员工,而且希望招到即来即用型的学生。由于劳动力成本的提高,企业希望把职前培训任务交由学校完成。因此越来越多高校的软件工程专业,特别是一些独立的软件学院,面对企业需求与学校人才培养脱钩的现象,引入了实训的环节,以规避就业风险,为学生就业创造条件。目前,软件工程专业的实训有以下几种形式:

(1)由国际著名的软件公司组建的教育学院或培训中心来接收高校的学生参加实习实训,并推荐工作,如IBM、微软、NIIT。

(2)由国内著名软件企业参与专业教学,把实习实训引入到教学环节,如中软、东软在全国各地开设了实训中心,每年进行大三学生的短期实习和大四学生的长期实训,不仅满足公司自身的人才需求,而且为其他企业输送了人才。

(3)学校自己组织实训中心,由具有实际开发经验的教师或聘请企业从事软件开发的资深工程师来担任讲师,对学生进行综合强化培训,提升各种技能。

(4)学校组建软件开发室,模拟企业环境,由企业工程师驻守在开发室,在学校教师的协助管理下,从事企业实际项目的开发。企业解决了缺少场地等问题,学生也能在学校内接受实习与实训。

(5)组织学生到计算机软件相关的企业进行实习,让学生感受工作氛围和企业文化,经受企业制度的考验,不仅提高了自身综合素质,也能取得一定的经济收益。企业通过实习过程,考察中意的学生,在实习结束时录用符合企业需求的学生。

3、具体实践

为应对软件工程专业(嵌入式软件人才培养方向)工业实习课程开展大规模的学生实习工作,苏州大学计算机科学与技术学院成立了实训中心,由实训中心统一组织和管理工业实习课程的实施。学院牢牢依靠苏州地区IT产业的优势,紧紧抓住苏州地区软件人才缺口量大的机会,通过学院多年积累的实习基地及大量从事计算机相关工作的校友,多方向、多层次地开展“工业实习”课程的教学工作。

在2007级学生的实习过程中,根据学生不同层次的需求,采取请进来、走出去的做法。

1)面向就业型。

这类学生会主动要求到企业去实习,一方面可以完成工业实习课程的要求,另一方面可以取得一定的报酬。苏州作为服务外包示范城市以及IT产业发达地区,对软件人才的需求量比较大,一些实习基地的IT企业本着招募员工的目的接受学生实习,对进入企业的学生有筛选要求,也会对学生有实习补贴,也就是有“带薪”实习的机会。同时,苏州工业园区对在园区实习的重点高校的学生有一定的补贴,也使园区企业更加积极地参与实习工作。学院组织这些企业进行前期宣传招募,在校内进行培训,再通过考核录用实习生。该批带薪实习的学生约占46%。还有一批学生通过自主联系实习单位开展实习,这批学生约占了16%。

2)考研、出国型。

苏州大学本身是“211”综合性大学。学生毕业后的选择面比较广,可以向出国、考研等多个方向发展。为此,学院组织了4个方向的校内实训班,聘请资深的校友给学生开展实训,这样为学生节省了每天上下班的时间,以便学生有更多的时间准备考试工作。这类学生约占27%。

3)校内企业实训。

针对一些动手能力弱,不能满足企业要求的学生,学院组建了实训中心:开辟专门的场地,成立软件开发室,模拟企业工作环境,组织合作单位昆山中创软件来校为这些学生进行强化训练,同时配备4名已经保研的学生担任组长,达到传、帮、带的目的。这类学生约占11%。

通过我们开展的多方向、多层次的实习实训工作,大部分学生的能力得到了锻炼与培养。

4、遇到的问题

在2007级学生的工业实习课程实施过程中,学院本着不增加学生负担的前提,满足了各层次同学的需求,但也存在着诸多问题。

(1)面向就业型的学生比较分散。有的单位只有1~2位同学在实习,实习的岗位和内容差别较大,给实习指导、管理及考核带来不小的难度。有些企业的工作强度大,一些实习的学生直接参与了国内著名公司软件服务外包项目的开发,经受了各种锻炼,学生和企业得到了双赢,但也有一些自主实习的学生工作内容比较简单,工作比较轻松,得不到真正的锻炼,达不到该门课程教学的目的。

(2)在面向考研型的学生中,有些学生开始有一腔热情准备考研,但到后来又止步于备考;还有小部分利用考研名义对实习工作进行规避,对此学院无法进行强制干预。部分学生虽然经过了校内的实训课程,但由于强度较低,没有经受企业的实际考验,因此在就业的过程中,和同期参加到企业实习的学生相比,碰到了一些实际工作经验不足、抗压强度弱的障碍。

(3)参加校内企业实训的学生由于企业工程师不能全天待在工作室,加上部分学生自觉性较差,不能集中精力完成实习科目,实训的效果不够理想。

(4)企业、学校、学生个人之间存在需求分歧。从工业实习课程的教学计划来看,只要满足4个月的实习工作,并经过企业、学校的考核,就可取得相应的学分;而一些企业期望的实习期为6个月。企业的校园招聘工作在11月份进行,有些在外实习的学生无法参加招聘活动。

(5)一些学生在实习工作中表现出的能力和素质深得企业的欣赏,准备签署三方就业协议。但有些学生实习只是积累经验,真正在就业的时候会另有选择。所以,企业虽然在实习过程中付出了很多,但没有真正达到通过实习补充人才的效果,影响了企业再次组织实习工作的积极性。

5、解决办法

针对2007级学生在实习中存在的问题,学院在2008级、2009级工业实习课程的组织和管理过程中采取了一些新的流程和措施,以期达到人才培养的目标。

(1)修订实习计划。2007级没有真正参加企业实习的学生暴露出不适应企业的工作需求、不适应企业的工作强度、不适应企业的规章制度等问题。实践证明,只有经过企业的实际锻炼,才能切实提高各方面的能力,因此2008级学生的工业实习课程要求学生全部进入企业实习,并且要求安排在相对集中的实习单位,以便管理和考核。依靠苏州软件服务外包和IT产业的优势,联系几家人才需求量大的企业开展实习,一方面可以加强实习指导工作,另一方面可以统一要求。2008级学生的实习在8~10家单位展开。

(2)早作准备。在第6学期的4月份,就开展实习企业的征询和筛选工作,和企业商讨好实习相关的工作,并且作好学生的实习安排准备。

(3)做好动员工作。从5月份开始,从学院领导、年级主任及班主任多层次地开展工作,针对考研需求和逃避实习现象,从思想上统一认识,统一要求,严格管理。

(4)组织好实习招聘管理。在6月份,分批安排企业来校进行宣讲,组织企业笔试和面试。根据企业的招聘结果和学生的意愿,协调学生的实习单位。有些学生参加了多个单位的招聘,并被录用。这些学生必须签字确认实习单位。

(5)签订实习协议。根据每个企业的实际情况,学院和企业签订实习协议,明确双方的权利和义务及实习报酬。

(6)尽早进入实习。充分利用暑期的两个月时间,由指导老师带队进入企业实习,一方面达到企业4~6个月的实习时间要求,另一方面可以不耽误学生参加11~12月的校园招聘活动。

(7)开设实习工作网站,对实习工作各方面的信息进行公示,做到透明化、公开化,同时对实习的各个环节进行有效管理。

(8)实训基地垫后。没被企业选中的学生,以及不满足企业考核要求被退回的学生,学院利用“211”高校的优势,9月1日开学后重新安排这部分学生到实训基地,进行为期4个月的封闭实训。一方面通过强化培训,锻炼能力,另一方面也让学生找差距,认识到自己的不足之处,激励这些学生的学习热情,努力争取为就业作好准备。

通过一系列的工作,2008级学生实际进入企业实习的比例提高到69%。目前,2009级学生进入企业实习的比例达到了94%。实习过程中出现的问题也逐年减少。“工业实习”课程的实施已经步入良性的轨道。

软件工程专业课程篇13

Extra-Curricular Training of Software Engineering Explorationm

Pan Li,Zhang Songjuan

(Nanyang Institute of Technology,Software College,Nanyang473000,China)

Abstract:The practice teaching is an important link of the professional education software,but practice in the form of practice teaching effect of the most important aspects of the good or bad,thinking the software professional practice teaching of the existing problems,this paper puts forward the summer vacation time for extracurricular practice way,and the results show that:the results of several students training effect testing,greatly improving the students'practical ability,the effect is good.

Keywords:Software professional;Practice teaching;Extracurricular practice

一、引言

随着软件类毕业生数量急剧增加,就业过程中出现了极大的矛盾:一方面软件企业需要的大量软件开发人才难以招到;另一方面软件类毕业生抱怨很难找到合适的工作。这种矛盾出现的主要原因是高校人才培养模式与企业需求存在一定的差距,专业课程和实践教学模式难以与IT产业的高速发展同步。尤其是学生动手能力方面存在着很大的问题。

二、软件类专业实践教学存在的问题

目前的软件类专业实践教学存在两个问题:一是传统计算机专业的实践教学内容匮乏,枯燥无味,学生难以掌握需要的职业技能。二是类似培训机构采用完全案例教学,结果证明不适合低年级学生的实践能力培养,效果也不理想。

(一)理论和实践脱节

实践和理论安排间隔过长导致知识的脱钩,学生被动地接受老师的知识,内容和操作得不到及时的训练。

(二)实践教学方式单一

实践教学采用传统的课堂实验方法,缺乏其他有效方法的结合,过于单一。

三、课外实训内容与方法

针对软件类专业综合动手能力和素质培养方面存在的问题,我院组织教师和学生利用暑假进行综合实训,对软件专业学生综合动手能力和工程素质进行培养。具体内容与方法如下。

(一)课外实训目标

课外实训基本目标是培养学生综合动手能力,创新能力和团队合作、文档书写等工程意识。具体对学生的要求如下:(1)参与软件开发整个流程,按照软件工程基本思想,进行可行性分析、需求分析、软件及数据库设计、编码实现及最终的软件测试,并且能够熟练使用、撰写软件开发过程中各主要阶段相关文档;(2)(掌握软件开发的每个阶段使用的主要工具,并能够熟练使用至少一种相关工具,了解代码审核方法;(3)建立规范化编码的概念,学会书写注释,并能够熟练使用至少一种开发工具,理解软件构建方法和构建过程。

(二)课外实训内容、方式和时间分配

课外实训的主要内容是以实际应用开发项目为背景,模拟软件公司的开发过程,按照软件工程的基本思想,学生分饰不同的角色以团队的形式进行需求分析、概要设计、详细设计、数据库设计、以及编码、测试和实施以及文档的书写。由教师在整个过程中指导和评价学生的分析、沟通、演示的能力和代码及文档的质量。同时,教师对学生在职场中实际应变能力进行培养、强化,从而全面提升学生的实际动手能力和职业素养。

实训方式采用学生实现和老师指导结合,每次老师先点评具体任务,然后由学生实现,过程中老师不断指导、监督,每两天检查进度一次,所有分组必须按时按量完成任务,不能完成的小组取消下一个阶段实训资格,并且保证小组每个成员都会作,如果小组完成但小组中有人不会的取消下一个阶段实训资格。

课外实训时间要相对集中,所以选择暑假进行,实训时间5周,具体阶段和时间划分如下:

1.需求分析阶段(1周):(1)串讲软件工程基本知识,对要实现的软件项目进行介绍,自由结合选定题目,划分小组;(2)分小组进行项目需求调研及分析,了解详细的项目需求;(3)串讲项目计划书和需求文档的书写;(4)学生根据需求调研情况,列出项目计划书和需求分析文档;(5)老师组织阶段评审,评出优、良、一般和差几个等级,适当奖励;(6)学生根据老师点评和指导进一步修改项目计划书和需求分析文档。

2.设计阶段(1周):(1)串讲概要设计、详细设计及数据库设计知识(1小时);(2)学生根据需求分析结果,进行概要设计和详细设计;(3)案例方式演示说明相关设计文档格式(1小时);(4)学生参照设计文档格式及需求分析文档,形成初步的设计文档;(5)补充数据库设计工具的使用,利用设计工具进行数据库设计(1小时);(6)阶段评审,评出优、良、一般和差几个等级,适当奖励;(7)学生在初步设计文档基础上,根据老师指导,进一步细化完善,形成最终设计文档。

3.编码和测试(2.5周):(1)串讲编码和测试的基本知识(一些规范,1小时);(2)根据学生情况,适当补充开发工具的知识;(3)学生分模块进行编码,并进行单元测试;(4)组装代码,进行系统测试,形成初步的软件;(5)阶段评审,评出优、良、一般和差几个等级,适当奖励;(6)根据评审结果和老师指导,学生进一步完善代码,进行测试,形成最终的可运行软件。

四、结束语

在我国大力发展IT产业的新形势下,面对每年100多万软件人才的缺口,培养全新型的软件专业人才,提高、加强软件专业学生的综合动手能力和素质势在必行。课外实训形式不仅适用于软件相关专业,对其他相关专业的实践教学也有一定的指导意义。紧跟时代步伐,结合学生的变化,不断探索课外实训形式,才能提高实训的水平,达到专业教育的目的。

参考文献:

[1]孟宪宁.软件技术专业实训教学改革的探索与实践[J].软件工程师,2009,10

在线咨询
了解我们
获奖信息
挂牌上市
版权说明
在线咨询
杂志之家服务支持
发表咨询:400-888-7501
订阅咨询:400-888-7502
期刊咨询服务
服务流程
网站特色
常见问题
工作日 8:00-24:00
7x16小时支持
经营许可
出版物经营许可证
企业营业执照
银行开户许可证
增值电信业务经营许可证
其它
公文范文
期刊知识
期刊咨询
杂志订阅
支付方式
手机阅读