HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 软件工程导论

软件工程导论

时间:2023-05-29 18:00:16

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇软件工程导论,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

软件工程导论

第1篇

[关键词]同伴教学法;软件工程导论;课程教学

doi:10.3969/j.issn.1673 - 0194.2017.04.147

[中图分类号]G642 [文献标识码]A [文章编号]1673-0194(2017)04-0-02

1991年,哈佛大学的埃里克・马祖尔教授创建了同伴教学法,其最早应用于物理学教学中。同伴教学法是一种基于合作学习理论和动机学习理论设计的教学方法。它是以教师在课前要求学生进行知识预习,课上提出测试题,要求每名学生独立答题,学生可以向教师提出1~2个问题,并形成自己的答案;然后由教师将学生进行分组、讨论,每名学生都要在本组内阐述自己的答案,答案有差异时,成员之间可以用自己的观点和理论说服对方,决定自己答案是否更改;教师统计学生上交的试题答案及正确率,根据准确率及时调整教学策略;学生根据教师讲解的知识点和关键点对照自己的答案,并将知识进行有效迁移的教学过程。同伴教学法是在心理发展水平相当的同伴关系之间,通过同学之间进行阐述观点、互相学习、讨论、分享经验,传授技能并获得同步提高。同伴教学法适用于原理、概念、过程、方法等比较难于理解、难于记忆、容易混淆的理论课程,这是一种讲授自然科学课程简单、有效、实用的教学方法。在软件工程导论课程中M行同伴教学法进行教学,符合课程特点和教学发展规律。

1 软件工程导论课程教学现状

软件工程学归属于自然科学中计算机科学与技术学科,是为了摆脱软件开发成本和进度估计不准、系统满意度不够、产品质量不可靠、软件维护性差、软件开发生产率跟不上计算机发展速度等“软件危机”的困扰,专门研究软件开发与维护的普遍原理、技术的一门工程科学。软件工程学已成为计算机科学的一个重要分支,研究范围广泛,其包括技术方法、工具、管理等多个方面。软件工程导论课程是计算机专业开设的一门必修课,是软件工程学的概要介绍,主要讲述软件工程的原理、概念、技术和方法,介绍各个实施阶段的任务、过程、方法和工具。

1.1 课程内容繁多

软件工程导论课程讲述的概念、原理、模型、系统内容繁多,讲述的知识面广、软件的发展速度快,课程的真实性和综合性强,理论性的知识众多,教师准备课程和讲解知识虽然耗费了大量的时间和精力,但学生对知识点不易理解,不能完全掌握知识内容。

1.2 教学方法陈旧

软件工程导论课程采用传统的教学方式,即“满堂灌”,教师在讲台上用无数丰富的语言去描述概念、原理、过程,学生只能被动的接受、机械的记忆,师生之间没有互动,学生想在一节课上把教师所讲的复杂的理论、概念完全记住,非常困难。

经过实践证明,这种传统的教学方法,已不能满足学生的学习需求,影响了其学习效果。所以,必须要找到一种适合软件工程导论课程的教学方法,同伴教学法是若干教学法中的最佳选择。

2 同伴教学法的应用实例

以“总体设计的过程”这一节课程为例。

2.1 课前准备

在本节课前一周,教师布置阅读任务,要求学生阅读“总体设计的过程”的内容,在课堂上提出并要求学生回答类似下列的问题。

(1)详述总体设计的过程,需求分析阶段的数据流程图在总体设计中起到了什么作用?

(2)在选取方案过程中,分析员一般要备份什么资料,这些资料有什么作用?

(3)数据库设计的步骤是什么,每一步的功能是什么?

(4)在书写文档时,都需要哪些文档?为什么要书写这些文档?这些文档对软件的开发起到什么作用?

这些问题必须是经过教师精心设计的,不能让学生通过阅读资料就可以找到答案,需要学生通过阅读教材、查找资料,对资料进行独立思考、深入分析,形成自己观点的问题。教师要综合知识点,对问题做好答案,以备讲解。

2.2 问题提出

课堂上,教师先创设模拟情景,如:一个公司现在需要编写一个财务软件,最先要明确的就是总体的设计过程,那么这个设计过程应该是什么样的呢?此时抛出的设计问题,请同学们进行讨论,给出答案。学生阅读教师给出的思考题,根据阅读过的教材和资料,给出初步答案。此时,每名学生也可以向教师提出1-2个问题,教师进行回答。

2.3 小组讨论

教师将学生分成若干个学习小组,每组有4-5名成员,可设置1名组长,也可不设置。在小组中,每名学生按次序将自己的答案提出,并说明形成答案的根据、理由和设计。小组内根据不同意见再进行分组,每名同学试图用自己的理论说服对方,此时,教师可以在各组内进行巡视或旁听,并给出一些建议,学生根据讨论和交换的意见,再次形成新的答案。

2.4 统计答案

学生将答案提交给教师,教师根据学生方案中存在的问题,进行统计,并给出每道试题的正确率,查看知识点掌握情况,总结学生答案的优缺点,分析学生错误答案产生的原因,准备相关知识以备讲解。

2.5 讲解答案

教师讲解答案如下。

(1)总体设计的过程包括设想供选择的方案、分拣选取合理方案、推选最优方案、进行功能分解、设计软件结构、数据库设计、设置测试计划、书写软件相关文档及审查和复审等9个步骤,需求分析阶段的数据流程图在总体设计中是总设计的开始,数据流程图中的自动化边界是实现策略的方案。

(2)在选取方案过程中,分析员一般要备份系统流程图、组成系统的物流元素清单、成本或效益分析、实现这个系统进度的计划四份资料,这些资料是实施方案的基础,是项目是否可行的依据。

(3)数据库设计的步骤是模式设计、子模式设计、完整性和安全性设计、优化。模式设计是确定数据库的物理结构,子模式设计是具体的数据规划试图,完整性和安全性设计是保证数据库整体安全稳定运行的检查方案,优化是改进模式和子模式数据的方案。

(4)在书写文档时,需要系统说明、用户手册、测试计划、详细的实现计划、数据库设计的结果等文档。这些文档是进行软件开发的根据和基础,也是以后开发同类产品的宝贵资料。

教师讲解后,归纳总结学生方案的优缺点,对错误的成因进行分析,提炼出本节课程的重点和难点内容。同学们根据自己的答案对照教师的答案,分析自己答案的利弊,巩固知识,再进行讨论,最终领会本节课的知识和技能,提升自己的知识和能力,进而对知识做到最好的迁移。

3 结 语

在软件工程导论课程中使用同伴教学法进行教学,使学生明确了学习目标,掌握了重点和难点,激发了学习兴趣,提高了解决问题的能力,培养了合作精神、沟通能力、竞争意识、互助精神等综合素质。改变了原有的教学模式,让同学之间成为互相的传授者,不但可以共同探讨问题,还能共同增长知识和技能,达到了共同进步的目的。同伴教学法在自然科学门类的理论课程教学中具有显著的作用和十分重要的现实意义,是同类课程的有益借鉴。

主要参考文献

[1]吴蓓.PI教学法在“Java Web开发”课程中的应用研究[J].西部素质教育,2016(15).

第2篇

关键词:721人才培养模式;翻转课堂;软件工程

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)42-0184-02

一、引言

为落实党的十八届三中全会精神,湖北工业大学遵循教育基本规律,结合学校实际,提出了“721”人才培养模式,旨在对学生实行因材施教、分类培养,满足社会发展的需求,进一步提高人才培养质量[1]。本校教学一线的老师们纷纷结合自己的实际教学工作,探索专业领域内的教育模式新方法,已初具成效。自翻转课堂这一新式教学模式从美国传入中国之后,越来越多的教育者对它进行尝试和研究。不同专业的教师将它搬进课堂[2,3],促使它掀起教育领域一场真正的革命。

二、存在的问题

《软件工程导论》是湖北工业大学计算机学院软件工程专业的一门专业必修课,作为该专业的一门支柱和特色课程,它在课程体系中起着承上启下的重要作用。学生是否能学好这门课程,对后续《软件需求工程》、《软件测试》、《软件项目管理》、《软件工程经济学》等课程的学习有着重要影响。但是,按照现有传统的教学模式,这门课程的教学过程中存在以下问题。首先,《软件工程导论》这门课程概念和文字性内容较多,是计算机学科中较偏文科的一门课程。如果按照传统的填鸭式和满堂灌的授课方式,老师讲,学生听,学生会觉得枯燥乏味,容易在课堂上走神。其次,学生的基础和水平参差不齐,有的学生能很快掌握课程的内容,有的学生则觉得很困难。传统的“一刀切”的授课方式没有注意到学生个人的差异性,按部就班地根据规定好的大纲内容和进度进行授课,虽然这种方式能照顾到大多数同学,但却忽略了头和尾的那两部分同学。此外,讲授这门课程的最终目的是让学生能用工程化的思想来进行软件项目的开发,能通过这门课程提高动手实践能力和发扬团队协作精神。按照传统的方法,这门课程授课结束后,学生会有一周的时间合作完成一个软件项目,以巩固所学的理论知识,锻炼动手能力。但通常,学生只是在学期末提交一个纸质的课程设计报告,学生是否真的进行了项目的开发无从得知,报告里面出现的问题老师也无法反馈给学生。这种授课与课程设计脱离的传统方式使老师无法对项目的过程进行管理、控制和指导。

三、翻转课堂与传统课堂的区别

与传统课堂相比,翻转课堂有以下显著区别:

1.课堂主体的变化。传统课堂的主体是教师,教师根据既定教学目标和教学安排进行教学,教师讲授,学生听讲。而在翻转课堂,主体是学生,学生自主学习、团队协作、汇报演示,教师只是扮演一个组织者和引导者的角色。

2.课堂教学内容的变化。传统的教学内容一般为教材上的内容。按照翻转课堂的新教学模式,教材上部分内容会成为学生课前自学的内容,网络上一些学习视频如MOOC等也会成为学生课下自主学习的内容,依照不同的章节,老师安排不同的教学内容,可能让学生在课堂上讨论案例,或者汇报项目进展,又可能是对自学过程中遇到的问题进行提问和解答。总之,教学内容较之以前会有很大的改变。

3.更加重视个体差异性。不同知识水平和能力的学生不必按照原有的统一进度进行学习。学有余力的学生可以通过网络学习资料学习更多的相关知识;水平较低的学生也不必担心跟不上老师授课的进度,因为他们可以在课下有充足的时间反复学习;组织能力强的同学可以在课程设计的团队协作中担任起小组长的角色。这正是“721”人才培养模式的核心理念:因材施教,分类培养。

四、实施方案

如图1所示,结合《软件工程导论》这门课程的学时、章节内容等特点,其翻转课堂教学过程可按如下步骤进行。

1.课前给学生布置教学视频观看和资料学习的任务。这一环节非常重要,因为在传统课堂上学生学习到的理论知识改变为在翻转课堂的这一阶段获取。教学视频可以教师录制,也可以是网络上的视频资源。现在互联网上有很多丰富的教学视频,如MOOC视频等,如果教师认为已有的视频已经足够适合这一节的教学内容,那么也可以不用亲自录制。翻转课堂也并不要求学生学习的来源仅仅是流媒体形式,纸质教材、电子文档、网页等也都可以。

第3篇

(浙江工业大学 计算机科学与技术学院,浙江 杭州)

摘 要:分析国内高校在软件工程课程设置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。

关键词 :产出导向;软件工程;课程改革

1 背 景

作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多[1]。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性[2]和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。

2 课程现状

目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。

例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。

通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。

3 面临问题分析

3.1 工程专业毕业要求对课程的影响

工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。

3.2 与软件工程课程相关的专业技术资格考试分析

工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。

从表1分析内容可见,软件工程基础考试内容与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。

3.3 SWEBOK V3和课程对应关系分析

软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body of knowledge)、计算机教程软件工程卷(computing curriculum-software engineering, CCSE)及其中的软件工程教育知识体(soft engineering education knowledge,SEEK)而建立起来的[3-4]。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。

4 基于产出导向的软件工程课程改革与建设

4.1 课程教学目标修订

基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。

4.2 教学内容和教学方法改进

根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。

每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Internet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。

4.3 考核方式与持续改进并行

课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。

5 结 语

笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。

第一作者简介:江颉,女,副教授,研究方向为服务计算和信息安全,jj@zjut.edu.cn。

浙江省计算机应用与教育学会教育委员会第十八届年会

参考文献:

[1] 廖礼萍, 刘宏哲, 马小军, 等. 面向应用型人才培养的软件工程课程教学改革[J]. 计算机教育, 2014(14): 19-21.

[2] 方峥.“华盛顿协议”签约成员工程教育认证制度之比较[J].高教发展与评估, 2014(4): 66-76.

[3] 沈备军. 解读软件工程知识体系SWEBOK V3[J].计算机教育, 2014(7): 1-2.

第4篇

近两年,《软件工程》这门课程在中国矿业大学(北京)计算机系的课程设置中由专业选修课改变为专业必修课,这就说明了《软件工程》课程在计算机专业中的地位越来越高了。该课程使用的教材就是清华大学出版社出版的《软件工程导论》,这也是软件工程领域中一本非常经典的教材,很多高等学校都在使用。该教材详细讲述了近年来软件工程的概念、原理和典型的方法学,并介绍了软件项目的管理技术。

软件工程与其他的计算机专业课有很大的区别,它并不是一个完全的计算机的概念,它是教给人们怎么用工程化、现代工业管理的方法来管理软件开发的过程,因此该课程除了针对计算机专业的学生,在很多领域都有所开设,比如我们学校的理学院,为金融、数软、信软专业的学生也开设了该课程。

1 《软件工程》实验教学的重要作用

《软件工程》的教学应当以“工程”为主,给予学生“工程”的概念,该课程围绕软件工程的三要素,以软件生命周期的若干阶段为主线,介绍了软件开发中使用的若干模型,工具与开发方法。因此,在软件开发中不仅要求学生要掌握开发技术,还要具备一定的其他领域的知识,同时要将管理的思想融合进去。但是在大多数的普通高校中,《软件工程》的教学比较注重知识体系,注重理论,但是对实验教学重视不够,甚至没有实验环节,这样就使得一门应用性很强的课程常常被当成理论课来开展。对于没有开发过软件经验的学生来说,只是理论的讲解是枯燥乏味且难以理解,课堂教学效果必然不好。

《软件工程》应该是一门理论与实践并重的课程,因此,教师不应只将知识一味的传授给学生,也应当让学生把知识与实践相结合。软件工程的教学应该采取理论和实验相结合的教学方式,因此实验环节是非常重要的,在我们学校新版的《软件工程》教学大纲中不仅增加了实验学时,后续还增设软件工程实训课程,这就更突出了实践教学环节的重要性。通过实验环节,希望学生可以将所学到的软件开发过程、方法和工具,以及浅显的管理学知识应用到整个项目开发中,从而更好地理解软件工程的理念,熟悉和掌握软件工程相关技术,同时也能提高学生的实践动手能力。《软件工程》的实验环节与理论教学是相辅相成,相互影响、相互支持,相互促进的。

2 《软件工程》实验教学所面临的问题

《软件工程》课程虽然增设了实验教学的环节,但是由于教学任务的需要,理论学时所占的比重很大,留给实验环节的学时很少,在这有限的时间内要真正开发出一个完整的系统根本是不可能的,因此实验内容的设置常常只是停留在组织学生编写软件项目若干设计文档这个单一环节上,当然要编写相对完整的软件开发中各个阶段相关文档也是不可能完成的,这就导致学生对教学内容的理解相应地差了很多,学生的实践能力也没有真正地得到锻炼。而且,由于中等教育中文理科的划分,理工科学生的文档编写能力是个“软肋”,他们不感兴趣。因此,作为一门重要的计算机专业课程,如何开展《软件工程》的实验教学,如何保证《软件工程》实验环节的效果一直是值得研究和思考的问题。

3 实验教学的创新

按照新版教学大纲的要求,我们学校的《软件工程》实验环节分为两个部分,一部分是课内实验,一部分是软件工程实训。

3.1 课内实验的设置

因为《软件工程》的课内实验学时比较少,我们主要是让学生做一些工具的实验练习,把软件工程的概念和理论知识融入到实践当中,从而加深对软件工程的认识和理解。实验的内容涉及软件生命周期的各个阶段。如表1所示。

实验1:软件开发绘图工具Visio。了解Visio工具软件的功能特色和工作环境,掌握应用Visio工具绘制软件开发图形的基本操作;了解开发Visio解决方案的基本概念,熟悉Visio绘图操作。实验2:软件分析与建模工具PowerDesigner。PowerDesigner是一个非常好的做数据库的工具,使用它可以方便地对管理信息系统进行分析设计。通过该次实验初步了解PowerDesigner的概念和操作界面;了解PowerDesigner的4个模型:概念数据模型(CDM)、物理数据模型(PDM)、面向对象模型(OOM)和业务程序模型(BPM)及其相互关系与作用;学习运用PowerDesigner工具进行简单系统分析建模操作等。实验3:软件项目管理Project。了解IT项目管理的基本概念和项目管理核心领域的一般知识,初步掌握Microsoft Project的一般操作界面和基本操作。实验4:软件配置管理VSS。学习软件配置管理的基本概念、分类、工具集成和相关技术,初步了解Visual SourceSafe配置管理工具的使用方法。

3.2 软件工程实训

《软件工程》课内实验的设计主要是让学生熟悉一下各种工具的使用,并没有涉及具体的项目开发。在后续的为期两周的《软件工程实训》期间,让学生能够参与完成完整的软件系统的开发全过程。

首先由学生自由结合,形成“项目小组”进行软件开发,原则上每小组不得超过5人,其中一名学生担任组长,然后选择实验题目,题目的选择可以采取教师命题和学生自选相结合的方式,但每一个题目必须经过教师批准后才能继续下一步工作。题目确定后就可以组织学生以一定的竞技方式开展软件工程项目的设计活动,使学生能综合应用软件工程知识,充分运用软件工程工具,很好地实践和完成软件工程项目,从中感性地理解和把握软件工程活动。最后通过答辩的方式进行成绩评定。

第5篇

关键词:小学期;软件工程;培养模式;项目实训;案例

中图分类号:G642.0 ?摇文献标志码:A 文章编号:1674-9324(2013)14-0226-03

2009年7月23日到26日,第二届全国高等学校计算机实验与实践教学研讨会在山东省威海市召开。会议以推进计算机实践教学体系改革,加强实验课程建设为主题,围绕高等学校计算机实验教学内容、方法及实验教学模式的改革与创新开展了讨论。讲座之后,主办方山东大学威海分校邀请所有参会代表考察参观了山东大学威海分校。该校信息工程学院副院长贺红向参会代表介绍了该校软件工程专业的人才培养模式和暑假“小学期”制度。

一、山东大学威海分校的“实训”培养模式

山大威海分校软件工程专业以实训为导向,厚基础、重实践,走出了一条以专业实训为特色的人才培养模式,该模式在山东省全省得到大力推广,山大威海分校软件工程系也成了山东省软件外包人才培训基地。通过详细调查了解发现,山东大学威海分校之所以能够走出这样的一条特色之路,很重要的一点,就是该校没有盲目的把学生抛向社会,没有盲目的把学生交给社会上的计算机培训机构。现如今,外界计算机培训机构多如牛毛,各个层次的培训公司纷纷看中了高校计算机信息类专业这个庞大的蛋糕。很多高校重理论,轻实践,或即使意识到实践的重要性,却没有办法引进具有一线实践开发技能和经验的双师型教师。又要为学生就业找个好归属,迫于无奈,只有将学生送到社会上的培训机构学习。这种做法固然有其积极的一面,培训公司教会了学生开发技术,同时也帮学生推荐找到了工作。而山大威海分校则是把外面的培训机构和实训教师引进来,在校内进行培训,学校为其提供实训平台和场地。该校的做法,对学生比较方便适用,而且安全也有保障。同时,也帮学生省去了很多培训费用。除此之外,威海分校实训培养模式的成功,我们觉得还有以下几个方面的原因:

1.威海市是夏季避暑胜地,好请人才。威海地处海边,夏季平均气温只有26度,气候宜人,很多专业人才愿意去该校做短期教学和培训。山东大学威海分校根据其得天独厚的自然条件,实行三学期制,从7月1日到7月30日是第三学期时间,被称为小学期。在该学期,学校会邀请外界各个领域的知名人士到学校做学术报告,整个教学也是进行选修课、辅修课和实习实践类课程,生产实习也是在这段时间进行。在暑假前,学校会到处“物色”各个方向的专业人才,邀请其到该校讲学或做培训,时间一般分为一周、两周或三周。在培训讲学期间,学校为其提供住宿和三餐补助,并给其60元/学时的讲课补贴。虽然补贴不多,但各个培训教师能够在愉快度假的过程中顺便对学生进行一些培训而且还有收入,应该是一个一举两得的事情。软件工程系从外界的一些知名IT公司或知名IT培训机构请来教师对学生进行实训,一般都是按4周进行。现在的威海分校,实训模式已经全面铺开,整个工科领域的专业,几乎全都在搞实训模式,从结果来看,效果很好。

2.有资金支持。威海分校软件工程系进行实训教学,是从2006年开始。刚开始没有资金支持,系里就先拿出一部分资金先垫付,在把一期做好后,效果出来了,学校也开始重视了,就开始资金投入了。再到后期,实训的影响更大了,威海市政府和山东省教育厅都开始重视,大量政府资金开始注入。另外,有些大型的实训,也会要求学生交纳部分培训费,100元左右。让学生交纳部分培训费,按照道理来说,是不符合教育部的文件精神的。但威海分校的负责人告诉我们,从实际效果来看,让学生交纳部分培训费,可以提高学生学习的积极性和主动性,否则,很多学生会对这样的实训不够重视。再者,即使是收费的培训,学生在学过后如果的确觉得物有所值,也就不会介意这部分培训费。从另外一个方面来说,软件工程系这样做,其实是替学生节省了大部分钱。因为现在外界的IT培训机构,培训一个项目一般都是几千元。

二、其他高校的借鉴意义

他山之石,可以攻玉。山东大学威海分校的成功,很值得其他学校借鉴。经过观察,我们发现,国内很多本科高校的人才培养模式与社会需求相脱节。特别是IT信息类专业,新技术发展快,企业对人才的需求对大学的课堂教学提出了严峻的挑战[1]。如果教学上还是过去那种陈旧的教学模式和方法,教师没有掌握先进的开发技术和开发工具,这样培养出来的学生一出去就成了社会的“弃儿”。针对以上分析,笔者认为,软件工程教学应以项目开发为核心,紧盯业界技术前沿,组织项目开发团队,分配项目开发任务,进行项目开发指导,让学生提前适应企业。

1.积极建设软件工程大类实训实验室,为学生创建丰富的实训环境。(1)计算机组装与维修实验室。主要是为计算机系大一学生做计算机组装与维修实训。建立这个实验室投入很小,可以使用学校历年来淘汰的旧机器。计算机系的学生如果只学学计算机基础是不够的,还需要学习计算机导论课程,导论课程主要讲解计算机学科专业完整的知识理论体系和学科主干课程,让学生对自己的学习方向提前把握。根据计算机系新的教学计划,在大一上学期结束期间开设计算机组装与维修课程,引导学生对计算机进行组装和维护,可以让大一新生提早对计算机专业奠定学习兴趣。有了这些专业知识后,本专业学生可以为其他同学提供技术咨询,同时也可以在后期重点选拔计算机系的学生充实到学校的网络中心帮助维护整个学校的其他师生的计算机。(2)具有实训场景的计算机网络和网络工程实验室。网络实验室的建设,除了要具备基本的网络验证实验外,还要具备网络科研功能。同时,作为学生网络实训使用,一定要模拟实际的工作场景,建设具有实训背景的网络工程场景。可以在结合计算机网络实验室网络拓扑图的基础上,再建立一个动态的组网场景。其组网设备可以完全照搬学校的网络中心机房模式来购置,真实再现网络接入环境。引导学生架设网络,从铺线开始,包括设备选型、采购,一直到具体实施,从运营商的接入段一直到客户终端,教会学生如何做网络工程。同时,学生报考软考的网络工程师和网络管理员考试,而这两个考试对学生的网络实践要求非常多。另外,信息类专业毕业的学生,出去找研发类和技术支持类工作时,遇到的面试题目50%以上都是计算机网络的知识。所以,提高网络实践教学,加强计算机网络实验室建设,对学生进行计算机网络的实训就显得尤为重要。(3)软件开发实训实验室。软件工程实训实验室开设的越早,对学生越有利,宜早不宜迟。软件工程实训实验室可以从三个方面着手来进行建设,分别是数据库(Oracle,SQL Server)、程序开发(C,C++,Java,C#)和软件工程(VSS,UML)。软件工程实训实验室是学生进行实训的重中之重,建议重点投入重点支持。同时,还可以在软件工程实验室进行软考培训,对报考程序员、软件设计师和系统分析师的学生进行强化。

2.大力引进和培养计算机类专业双师型教师队伍。工科学校要有工科学校的“拳头”,要保证有稳定的教师队伍,防止人才流失。很多青年教师特别是男青年教师因为经济压力而从学校辞职,不少双师型教师因待遇问题而投奔企业。要想留住和吸引大量的优秀计算机类人才,必须要舍得投入,要事业留人、待遇留人,要下大力气提高计算机类专业教师的福利待遇。要想让优秀的青年教师在学校“安身立命”并积极投身于教育事业。同时,要给青年教师压担子,给青年教师提供良好的成长环境,使其具有主人翁精神。(1)请进来和送出去。请进来,积极引进合适的双师型教师,四面出击邀请技术“牛人”投入计算机教学。很多高校的计算机教师教学经验丰富,但项目实践经验少,大部分老教师主要承担专业基础课教学,项目实训类青年教师较少,还有很多实训实践类课程无法开展,还需要从社会上引进一些短期兼职教师,建议大力度引进具有项目实践经验的教师。特别是教学型和工程应用型高校,需要更多软件开发实践经验的教师。学校可以通过教师以一定的社会途径在外界收集和打听技术精英,在条件合适的情况下,引入学校作为兼职教师对学生进行短期培训。从社会引进的实训教师,要具有扎实的理论基础和丰富的实践经验。兼职教师的培训时间应以1-4周为宜,根据其实训项目的安排来决定其实训时间的长短。送出去。由于自身专业和技术的限制,一个人不可能掌握所有的计算机实训技能。所以,还应该积极的对已有教师进行培训。可以委派青年教师参加外界技术类培训,比如,参加全国的一些大型公司举办的项目培训。像微软、IBM、Sun、Oracle、Cisco、中兴、华为等这些公司每年都会定期举行一些大型培训。

3.以计算机科学和软件工程专业为试点,大力推行

“实训”模式。(1)以市场为导向,开展实训模式。学生在学习专业课的过程中,感到很茫然,不知道专业课的先后联系和前后逻辑,无法架起一个完整的专业课程体系链。因此,需要对学生进行专业导论教育。一部分学校现在在推行3+1的教学模式,即前3年进行课程理论的学习,第4年把学生送到外面的企业进行实习或培训。3+1的教学模式,它的弊端就是学生在前三年期间,过多的强调理论而忽略实践实训课程,学生因为没有动手实践能力而过早的丧失了对专业的学习兴趣。把实践实训课程放在校内进行,从大一到大四分散实施,结合培养方案,按照各个课程的先后顺序开展对应的实训,在每学期末进行实训[2]。以“实训+项目”的方式来带动。依次进行计算机基础实训、C语言和C++实训、Java实训、Oracle实训和C#实训。通过这样的方式,可以让学生过早的领悟到“项目”的魅力,增加学习兴趣。实训时间建议定在每学期期末,以方便安排课程教学。(2)以项目开发带动课程教学。结合专业实验室积极开展对应的教学科研和项目开发工作。教师可以带领学生做一些常规项目,比如精品课程网站、学校部门门户网站和部门信息管理系统等。在项目完成交付使用后,学校可以给师生提供必要的资金支持,以提高开发人员的积极性。做软件项目,要抛弃必须在外面找项目的观念,要抛弃做出的软件项目一定要有市场的观念。很多信息管理系统,完全可以让学校安排本校学生做,做完后学校自己使用,这样做,一方面有利于学校的信息化建设,另一方面也锻炼了学生。这种实训模式做成功之后,项目开发达到了一定的规模和层次,可以考虑成立软件工程工作室,承接外面的项目,做一些大型的软件系统。

参考文献:

[1]唐浩坤.以工程实践为导向的计算机专业人才培养模式的探讨[N].大学计算机课程报告论坛论文集,北京:高等教育出版社,2009.

第6篇

1 引言

CDIO代表构思(Conceive)、设计(Design)、实施(Implement)、运行(Operate),是由美国麻省理工学院、瑞典皇家工学院、瑞典查尔摩斯工业大学和瑞典林雪平大学共同创立的工程教育改革模式。CDIO改革是基于CDIO理念而建立的国际工程教育改革合作计划,包括CDIO理念和与之相适应的学习目标(教学大纲)、实现与评估标准以及一系列的规划、设计、实施、评估理论和实践资源。

“软件工程”课程是计算机学科最重要的专业基础课程,该课程重点是从技术和管理两个方面指导计算机软件开发与维护的一门工程学科。其内容涉及可行性研究、需求分析、总体设计、详细设计、实现和维护等基本原理和方法。针对目前学生反映的“软件工程”课程理论性强、较为抽象等诸多问题,结合本科生的知识背景,探讨面向CDIO工程教育模式的“软件工程”课程教学改革与实践,对学生专业技能和工程能力培养都具有重要意义。

2 软件工程课程教学实践

CDIO教学大纲以能力培养为目标,将学生能力分为四类,包括技术知识和推理能力、个人的职业技能和职业道德、团队协作和交流能力以及项目的构思、设计、实现和运作能力,力求全面地提高学生的综合素质。

2.1 教学现状

目前学生所表现出来的问题有如下几方面:①知识体系不完整;②缺乏实践;③课程体系理解不全面;④教材过于理论化等等。而核心问题只有一个就是知识体系不完整,这种不完整包括:①软件体系结构不清晰——这个可以通过知识的积累来解决;②软件工程方法不系统——这个可以通过完善实践环节来解决,理解项目经理、设计师、程序员质量管理员、配置管理员等不同角色的分工和职责。

2.2 教学实践内容

(1) 以小学期、课程设计为主导,以实际开发项目为核心,采取理论联系实际、重实践、重创新的多方位教学模式。

(2) 课堂教学过程中采用启发式和立体式教学,通过立体式的知识体系的构建,让学生懂得软件开发所涉及的所有技术环节,其他课程如:操作系统、C++语言、嵌入式软件、编译原理等在软件体系结构中的位置;让学生懂得开发嵌入式软件、开发应用软件、开发驱动程序所需要掌握的知识和方法。

(3) 构建案例库,通过案例讲述操作系统的关键技术和应用实践方法,注重培养学生的工程推理和解决问题能力,学生通过书写各种工程报告提高探寻知识的能力。给学生以模板,让学生了解实际开发文档在开发中的重要作用。

(4) 构建软件工程文档体系,基于ISO9000和CMMI的要求构建与实际开发接轨的软件开发文档体系,如:软件规格说明书、软件开发计划、需求分析报告书等等。

(5) 利用项目组形式组成开发实际场景,指导学生担任软件开发中的不同角色,培养学生团队协作能力,和体验不同开发阶段所应具备的开发能力。

2.3 教学实践核心内容

软件工程课程是软件开发的工程学和方法学,它具有其他课程不具备的典型特征,是长期软件开发实践过程中总结出来的原理和经验,具有很强的实践性。缺乏实践的学生很难在短时间内对本课程有很好的理解。针对这种核心问题,以实际工程内容给学生以较深的感性印象并使其较为准确地理解。以多种工程“案例”为核心,并有完整的软件工程文档体系支撑,各个文档中都包含着较为实际的工程内容,比如:项目的可行性研究报告中包含系统的功能说明、系统流程图、数据流图、数据字典、成本效益分析,而且不止一个方案,要包含几种不同的方案。从而使学生在实际的文档结构、内容组织、方案详尽程度上来理解可行性研究阶段的研究过程中所需要解决的问题。

3 建设网络教学平台

网络教学平台包括:电子教案、课后练习、实验辅导、教学录像等教学资源为学生提供课外自学的网络环境;在线答疑、作业提交、网上留言为师生提供了实时和非实时两种方式的交流互动平台。同时网站随时更新课堂上介绍的操作系统新发展动向和技术等相关资料。

4 结论

软件工程课程设置的目的是让学生知道软件开发工程中所能遇到的问题,并且学会利用软件工程方法解决实际问题。由于软件开发是一个非常繁琐的过程,这些问题是技术和工程结合在一起、交织在一起的,因此,学生在初次接触这门学科时会有些不适应。但是,当对每一个开发阶段、阶段的产出物都有了了解之后,情况会大大改变,同时学生学习的兴趣也大大增强。

参考文献

[1]CDIO国际合作组织.The CDIO Standard [EB/OL]..

[2]蔡映辉.高等工程教育模式改革中的文化和谐观念[J].理工高教研究,2008,27(2):6-9.

[3]刘亮军,周景伟.浅析高等职业教育人才培养模式改革[J].中国科教创新导刊,2008,(22):22-23.

第7篇

关键词:《软件工程》 教学改革 理论教学 实践教学

中图分类号:S762.2 文献标识码:A 文章编号:1672-3791(2012)10(c)-0146-02

随着社会信息化技术的普及和软件产业的迅速发展,软件产业成为信息产业中增长最快的领域,然而高端软件人才的匮乏严重阻碍了我国IT企业的发展,因此提高软件行业从业人员具备必要的软件开发、维护与项目管理的能力尤为重要[1]。《软件工程》是高校计算机相关专业开设的一门专业核心课程,旨在培养学生理解和掌握软件工程的理论、技术和方法,应用工程的思维进行软件开发、管理和维护。为了顺应当前软件工程教育国际化和工程化的发展的需求,高等院校需要切实加强软件工程课程的创新与改革,这对软件工程人才的培养至关重要。

当前《软件工程》课程教学中存在的一系列问题,直接影响了教育质量和教学效果。具体表现为:教学内容重理论而轻实践,不能有效地培养学生软件开发技能[2];教学案例缺乏完整性和实用性,不能帮助学生从整体上全面理解软件开发的各环节及其之间的关联[3];实践教学也缺乏系统性和针对性,不能将基本原理融入当前软件实际案例中去讲解,教学内容与软件工程实践有明显的差距等。因此,迫切需要对教学体系进行改革,形成一个融基础理论、实验教学、工程实践为一体的整体培养机制,让学生的基础知识、科学素养、专业知识、创新能力、工程能力和职业素质都得到全面均衡的发展[4]。本文将从理论教学、实践教学以及教学评价几个方面进行改革与探索。

1 理论教学探索与思考

为了满足当前软件工程教育国际化和工程化的发展要求,《软件工程》教学以IEEE的软件工程知识体系为基础,结合基础知识、先进技术和工程实践等方面构建该门课程的知识体系。《软件工程》课程知识体系分为基础、应用、实践三个部分。基础部分为理论教学,根据教学目的和教学要求,采用案例及问题驱动等教学方法,讲解软件工程的理论基础知识,包括软件生命周期各个阶段、软件质量和软件项目管理等核心内容,通过案例的分析,促进学生的独立思考,提高其对理论知识的理解和掌握。应用部分是以当前流行的统一开发过程、面向对象技术和UML语言为核心,融入实际案例,Rational Rose、Visio、Project、SVN、Loadrunner等软件工程工具和环境,使学生掌握当前先进的软件工程方法与技术。实践部分要求学生分组组建团队协作完成一个软件系统的开发,让学生从“可实践”软件工程的角度学习和运用软件工程的思想和现代技术解决软件开发问题,拥有识别、分析和解决具体问题的能力。《软件工程》课程知识体系如图1所示。

单纯地讲授《软件工程》的理论和方法显得枯燥且难以理解,若能通过一些软件开发案例对理论知识进行形象的表述,不仅能让学生易于理解这些理论和方法,亦能建立软件开发的系统化与工程化观念和质量意识。那么如何收集经典案例以及采纳何种教学方法是关系理论教学成败的关键因素。首先案例的选择与设计要有针对性,如结构化和面向对象,这两种方法侧重知识点不同讲解所贯穿的典型案例应不同,其次案例的选取应是学生熟悉的领域且它的实用性能激发学生的求知欲和兴趣。如在软件工程技术方面,作者结合学生成绩管理信息系统、宿舍水电费管理系统、教学管理系统等,论述需求分析、软件体系结构设计、用户界面设计、详细设计和软件测试等内容,重点讨论基于案例的面向对象方法和组件技术。采用何种教学方法应根据具体的知识点而定,如以IBM初期系统开发失败的缘由为例利用问题驱动法引出软件工程的概念和原理;对于软件开发工具Rational Rose的介绍则采用项目驱动法。因此,在理论教学中,把抽象的知识尽量形象化、案例化,采用引导式、探索式、讨论式和交互式等教学方式营造融洽轻松的学习氛围,鼓励学生独立思考,查阅资料,细心体会当前软件工程的精髓。

2 实践教学内容创新模式

应用部分和实践部分均属于实践教学,在此教学过程中,实施项目驱动教学法,实验设计以项目开发为主,模拟企业软件的项目管理和开发过程,碰到问题困难,进行师生互动讨论寻找解决方案,开发完成通过成果展示来进行教学评价,整个过程使学生初步体验到一个软件项目开发的全过程。实践教学活动的流程具体如下。

(1)分配任务:第一次课,要求学生以项目小组(一般5~6人,自由组合,每个成员扮演项目开发过程中的不同角色)的方式组建开发团队协同开发一个规模及难度适中的完整项目,要求按照正规软件开发流程组织实施,完成项目开发过程中形成的分析、设计、编码和测试文档,同时将Rational Rose、Visio、Project及Loadrunner等软件工具在实施过程中进行有效地应用。

(2)组建团队:学生自愿组建团队,选出组长,每组角色包括项目经理、系统分析员、软件设计师、软件开发工程师、软件测试工程师等,组员项目角色可随项目开发进度而调换。项目实施过程中采取组长负责制,负责小组的讨论和项目实践的安排,分配组员任务,各小组查资料,自选软件项目,分析开发的各项任务的安排和沟通,制定项目的开发计划。

(3)计划可行性评定:授课教师审核各组项目及项目计划实施的可行性,不行则指导小组重新选定软件项目和制定项目计划。符合要求,方可进入实施阶段。

(4)项目实施阶段:小组成员根据各自的任务查找资料,收集解决方法,定时讨论交流,各个模块间相互配合协调完成任务。包括软件分析设计阶段,完成软件需求规格说明;设计软件系统的总体结构;对功能模块进行编程测试,完成项目实现编写所有相关文档,测试和调试代码。整个实施过程由授课教师控制项目的进度和质量,同时,教师要充分发挥引导作用,让学生在实践软件设计和开发技能的同时,通过协作培养学生多人之间的沟通能力和团队协作精神。

(5)项目验收:根据软件开发流程的各个阶段成果包括可行性分析报告、需求规格说明书、项目计划书、总体设计报告、详细设计说明书、软件测试报告、项目开发总结报告等。项目验收采用阶段验收分析设计文档,每次均以小组的形式提交作业。教师根据提交的材料结合学生是否熟悉软件常用技术和工具按照软件工程管理方法进行评审,还要求各组之间互评,发现不足之处进行讨论,提供给大家一个互相交流的机会。项目结束后,每组要组织答辩,先由小组长对项目基本情况及组员作简要介绍,然后让各组员对自身完成的任务进行PPT答辩,教师和其他同学针对该成员实际负责的部分进行提问。最后项目组提交系统和所有文档。

3 教学评价体制改革

教学评价是课程教学的必要环节,在本次教学改革实践中,将课程学习评价分成3个组成部分:理论考核占50%,项目实践成绩占30%,考勤、平时作业、实训练习等占20%。项目实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。小组成绩为小组中所有成员开发项目的考核成绩,包括各阶段成绩的平均值与最终答辩成绩;个人成绩为小组成员在项目开发过程中个人的考核成绩。度量因素包括个人分配工作量及难易程度、平时工作态度及项目汇报时表现等。这种评价体制充分调动了学生学习的主动性和合作精神,教学效果明显。

4 结语

本文对《软件工程》的课程教学进行了探索和改革,以IEEE公布的软件工程知识体系为基础构建了软件工程课程知识体系,提倡理论教学与实践教学并重。理论教学着重于经典案例的选取及教学方法的采纳,理论教学不再是抽象的讲授,而是贯穿案例的具体实践操作,达到了理论与实践的紧密结合。实践教学以项目为驱动模拟企业软件的项目管理和开发过程,引导学生积极思考和参与讨论,教师由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。实践证明,本课程极大地提高了学生的学习兴趣,取得了良好的教学效果。在今后的教学工作中,将进一步完善和实践教学改革的内容,逐步使这门课程规划化、工程化,取得更好的教学效果。

参考文献

[1] 张海藩.软件工程导论[M].5版.北京:清华大学出版社,2008:5-7.

[2] 董跃华,杨书新,李淑芝.软件工程专业多元化实践教学体系研究[J].江西理工大学学报,2009,30(3):53-55.

第8篇

关键词:课程体系:核心课程;核心知识体系

计算机科学与技术学科虽然很年轻,但它已经成为一个基础技术学科,在科学研究、生产、生活等方面都占有重要地位。近50年来,我国的计算机科学与技术专业教育在国家建设需求的推动下,从无到有,逐渐壮大,尤其是从20世纪90年代以来,更是高速发展,已经成为理工科第一大专业。

针对计算机科学与技术专业学生量大,社会需求面宽的现实,“十五”期间,教育部高等学校计算机科学与技术教学指导委员会编制了《高等学校计算机科学与技术专业战略研究报告暨专业规范(试行)》(高等教育出版社出版,2006年9月第一版,以下简称为《规范》)。其中,“战略研究报告”建议改变当前我国计算机科学与技术专业教育的趋同性,鼓励办学单位对毕业生的分类培养,取4个可能的方向,即计算机科学、计算机工程、软件工程以及信息技术。《规范》参照Computing Curricula 2005,分别详细给出了四个方向的核心知识体系,以及覆盖它们的必修课程组示例。

《规范》体现出的“分类培养”精神得到了广泛认同,人们普遍认为中国800个左右的计算机科学与技术本科专业点,按同一种模式或者培养方案进行教学是难以满足广泛的社会需求的,许多学校也希望得到分类培养的具体指导。但是,如何理解和实现“信息技术”等新的专业方向的教育,如何利用已有的基础,更好地实践《规范》,成为大家关注的问题。

为了能更好地利用现已建成的国家、省部级精品课程、精品教材等优质资源,希望能够按照4个专业方向公共要求来构建一些基本课程,每一个方向都可以通过在这一组课程的基础上进行扩展来形成符合《规范》的完整的专业方向教学计划。这一组课程是“耳熟能详”的,无论是从师资还是教材的角度,在开始走向规格分类实践时,也是一种现实做法。

一、核心课程选取的原则

本项研究的基本目的是要推荐一组课程,当办学单位希望按照《规范》描述的知识结构制定自己的教学计划时,无论四个方向中的哪一个,都能够比较方便地在这组课程的基础上进行扩充而实现。显然,符合这个要求的一组课程不是惟一的,我们着重考虑了如下几点原则。

1.体现公共要求

《规范》将计算机科学与技术专业划分成4个专业方向,虽然他们有着不同的问题空间、能力要求、知识结构和课程体系,但还是有共性的部分,这也是作为同一个专业的不同方向所决定的。公共核心课程应该能够将这些公共的要求涵盖进去,实现在课程层面上对公共知识体系、专业培养公共要求和基本特征的体现。

2.有利于构成优化的课程体系

公共核心课程需要与其他相关课程一起才能构成完整的教学计划,所以,这些课程需要易于与相关课程结合,构成不同专业方向的课程体系。

同时我们注意到,近些年来,许多学校在制定新的教学计划中,采用了设置分级平台的基本框架。例如,要求教学计划由公共基础、学科基础、专业基础等组成。考虑到计算机科学与技术专业对应到计算机科学与技术学科,这些课程可以适当照顾到学科的要求,构成一个既照顾到学科,又照顾到专业的基础平台,给人们制定有特色的教学计划提供一定的基础,使得人们能够方便地构建完整的、全局优化的专业教育课程体系。

3.充分考虑学时的限制

由于公共核心课程相当于学科、专业平台的基本内容,所以,只能做一个较小集合,而且课程的学时数要尽可能小,目标在于体现专业教育的最基础要求,同时给具有特色的完整的教学计划的制定留有足够的空间。特别是近些年来,不少学校已经将教学的总学时数降到2500学时以下。所以按照20%计算,将公共核心课程的总学时控制在500学时以内。

4.尽可能成熟的课程

计算机科学与技术专业开办50余年来,积累了丰富的办学经验,一些课程的建设取得了很好的成果,已经具备良好的基础,这些课程将在专业教育中起到核心、骨干作用,将这些课程进行适当改造后构成公共核心课程,有利于充分利用已有的优质资源,迅速提高整体办学水平。所以选取的课程应该是“耳熟能详”的成熟课程。

5.体现本专业教育基本特征

课程要体现学科教育的一些基本特点。例如,虽然计算机科学与技术学科涉及到计算机理、工程实现和开发利用,但对大多数人来说,计算机科学与技术学科是一个以技术为主的学科,特别是在本科教育层面上更是如此。所以课程要对技术和学生的技能训练有较好的体现。除了学科抽象、理论两大形态使得初学者在理解上有一定的困难,需要通过实践去深入体会外,还要考虑社会要求本专业的学生能够更好地去实现一些系统的研究、构建和维护。因此,选择的课程应该在加强学生理论联系实际能力的培养上有引领作用。此外,在本学科发展异常快速的时候,这些课程相关的内容应该是成熟的、基础的,有利于学生可持续发展能力培养的。

二、核心知识体系

这里给出计算机科学与技术专业公共核心知识体系,力求从不同专业方向的公共需求出发,给出该专业的学生应该具备的一些基本知识,我们并不试图包括各个专业方向教育要求的全部知识,每个专业方向都需要在此基础上按照专业方向的教育需要增加所需要的知识,以构成完整的专业方向知识体系,其具体内容可以参考《规范》。由于是基本知识,是学生必须掌握的,所以,没有包含推荐的选修知识。该知识体系共包括8个知识领域,39个知识单元,共342个核心学时。其中,

(1)离散结构(DS)60核心学时,包括函数、关系与集合、基本逻辑、证明技巧、图与树。

(2)程序设计基础(PF)67核心学时,包括程序基本结构、算法与问题求解、基本数据结构、递归、事件驱动程序设计。

(3)算法(AL)28核心学时,包括基本算法和分布式。算法。

(4)计算机体系结构与组织(AR)60核心学时,包括数据的机器级表示、汇编级机器组织、存储系统组织和结构、接口和通信、功能组织。

(5)操作系统(OS)32核心学时,包括操作系统概述、操作系统原理、并发性、调度与分派、内存管理、设备管理、安全与保护、文件系统。

(6)网络及其计算(NC)48核心学时,包括网络及其计算介绍、通信与网络、网络安全、客户,服务器计算举例、构建Web应用、网络管理。

(7)程序设计语言(PL)13核心学时,包括程序设计 语言概论和面向对象程序设计。

(8)信息管理(IM)34核心学时,包括信息模型与信息系统、数据库系统、数据建模、关系数据库、数据库查询语言、关系数据库设计、事务处理、分布式数据库。

按照各个方向核心知识结构的要求,公共核心知识体系覆盖计算机科学341核心学时的内容,覆盖率为60.9%,覆盖计算机工程246核心学时的内容,覆盖率为44.7%:覆盖软件工程199核心学时的内容,覆盖率为40.3%覆盖信息技术136个核心学时,覆盖率为48.4%。

三、核心课程

公共核心课程共包括程序设计、离散数学、数据结构、计算机组成、计算机网络、操作系统、数据库系统等7门,这些课程的名称都采用了尽量一般化的处理,即后面没有诸如“基础”,“原理”或者“技术”之类的字样,为学校开设具体课程留有空间,学校可以根据自己课程的特点添上适当的限定,进一步体现自己的办学特色。

表1给出了各门课程所含的必修知识单元和所需要的学时数,和各个学校相应课程的实际教学时数相比,其中有的课程必修学时数多一点,有的少一点。所需要的总课时为448。希望各个学校在满足教学基本要求的前提下,根据本校的具体情况,做出适当的调整,可以通过强调某些内容来体现自己的特色。

四、专业方向必修课程示例

按照各个专业方向必修知识体系的要求,以7门公共核心课程为基础,构建相应方向的必修课程。特别需要强调的是,这里给出的仍然只是“示例”,各个办学单位可以根据自己的情况设计出更具特色的必修课程,并制定出恰当的教学计划。

计算机科学专业方向的必修课程示例:计算机导论、程序设计基础、离散结构、算法与数据结构、计算机组成基础、计算机体系结构、操作系统、数据库系统原理、编译原理、软件工程、计算机图形学、计算机网络、人工智能、数字逻辑、社会与职业道德。15门课程共计776学时。

计算机工程专业方向的必修课程示例:计算机导论、离散数学、程序设计基础、数据结构、电路与系统、模拟电子技术、数字信号处理、数字逻辑、计算机组成原理、计算机体系结构、操作系统、计算机网络、嵌入式系统、软件工程、数据库系统、社会与职业道德。16门课程共计理论学时920学时。

软件工程方向必修课程示例:软件工程专业导论、程序设计、面向对象方法学、数据结构和算法、离散数学、计算机组成、操作系统、计算机网络、数据库、工程经济学、软件工程、软件代码开发技术、人机交互的软件工程方法、软件设计与体系结构、软件质量保证与测试、软件需求分析、软件项目管理。16门课程共计920学时。

信息技术方向必修课程示例:信息技术导论、离散数学、程序设计、数据结构、计算机组成、计算机网络、操作系统、软件工程、数据库系统、应用集成原理与工具、Web系统与技术、人机交互、面向对象方法、信息保障和安全、信息系统工程与实践、系统管理与维护、社会与职业道德。17门课程总计920学时。

五、结语

《规范》将“核心知识结构”作为开办相应专业方向必须的要求,可以用不同的课程组合来覆盖,《规范》中给出的“核心课程”只是这种覆盖的一个“示例”,这里给出的是另一个“示例”。事实上,这也是《规范》所鼓励的。这里的“公共核心课程”并不是《规范》中四个“核心课程”集合的简单交集,而是根据对四个方向的理解,对它们公共核心知识单元的一个课程覆盖。是每个专业方向公共的必修课程,而不是任何一个方向完整的必修课程集合。

无论开办哪个专业方向,都可以在这里提出的“公共核心课程”基础上,根据不同方向的要求添加若干课程,形成“必修课程”集合(完整覆盖《规范》中的核心知识结构),然后再根据本学校的情况开设一些选修课程。这样,当一个学校希望开设多于一个专业方向时,教学资源有可能得到较大程度的共享。如果一个学校要将原来的教学计划改造为“信息技术”方向,许多已有的课程都可能被利用上。

第9篇

关键词:校企合作;人才培养;实践教学;人才培养;软件工程

一、引言

软件工程是一个新兴专业,主要目标是培养工程型、应用型的专业软件人才。随着素质教育改革的不断推进,软件工程专业的建设也面临着全新考验。软件工程建设重在实践,只有在不断的实践中才能提升学生的技术和技能,为社会提供适用的专业软件人才。本文结合近年来我院软件工程专业的建设实践,探讨校企融合下应用型软件工程实践教育模式的改革,旨在培养具有动手实践能力和创新意识、能很好地适应市场需要的高素质软件工程应用型创新人才。

二、应用型软件人才培养模式

软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,要求学生在掌握计算机科学与技术方面知识和技能的基础上,进一步熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养[1],使学生成为能够从事软件开发、测试、维护和软件项目管理的高级专门人才。

1.强调专业实际应用能力的培养。通过高校、企业双方的合作融合,引入实训机制,形成以“3+1”模式为框架、产学一体化为特色的应用型软件工程专业人才实践与创新能力培养平台,并把在企业培养的1年时间分散在学生大学四年的学习过程中,使学生能不断接触软件行业与企业[2],循序渐进,逐步加深学生对行业的认识与理解。

2.目的是形成“工程化教学—课程实验教学—基地实习实训—真实项目开发”的培养过程,建立“课程实践—项目实训—项目开发”的教学、实训模式,引导学生树立系统、科学的工程项目概念。

3.由学校和企业双方共同研究制订实践教学方案、共同实施,目的是提高学生的动手能力以及解决实际问题的能力,使学生毕业后能很快适应软件企业的要求[3]。

4.每学年根据教学计划以及教学实施的具体情况,在大一至大三期间,请合作企业选派资深工程师来校开设相关技术讲座,并选择部分专业课程由合作企业选派师资负责课程实践教学、实训的具体实施,学生在大四的时候再集中到合作企业进行强化训练。通过改革软件工程专业的人才培养模式,结合“3+1”合作模式,借助企业的平台,按学期逐步推进、锻炼和提高学生的实践能力和综合素质,锻炼学生适应社会的需要,使学生能不断接触软件行业与企业,使其观念及早融入社会,循序渐进地加深学生对软件行业的认识与理解[4],逐步形成“课程实践—项目实训—项目开发”的教学、实训模式。

三、实训体系构建

通过高校、企业双方合作融合,将实训引入软件工程专业的本科教学中,探索校企融合下应用型软件工程教育模式的改革。以JAVA专业实训为例,我们的实训目标是提高学生的动手能力以及解决实际问题的能力,使学生毕业后能尽快适应软件企业的要求。在企业项目经理和学院教师的共同带领下,通过实训中的具体项目,将原来分散的专业知识系统化,把整个项目的实施过程,贯穿于学生理论知识学习的始终[5],使学生获得综合性应用锻炼,进一步了解标准软件开发过程与规范,掌握软件开发的基本技能,锻炼其团队协作精神。

1.实训内容和阶段。我们的实训分两个阶段进行:第一个阶段的校内专业实训为基础实训,一般以基础性的、业务简单的项目为案例,训练重点放在编码实现上。第二个阶段的企业工程实践为大中型项目实训,一般由合作企业从其案例库中选择其之前实践过的真实项目作为案例,内容涵盖一个软件项目开发的整个生命周期,目的是通过项目的强化训练过程,提升学生的基础知识、基本技能和基础技术,熟悉企业级的运行环境和框架。两个阶段的实训都贯穿软件项目开发的整个生命周期,包括项目管理、需求分析、技术储备、系统设计、编码、测试、提交、项目评审等阶段,但第一个阶段侧重于技术储备,体验软件项目的开发过程,培养学生掌握软件项目的调试方法和技术[6]。以JAVA实训为例,在技术储备阶段,第二个阶段侧重于项目的开发流程和各类项目文档,培养学生养成良好的编程习惯、了解行业前沿应用状况和项目开发的业务流程和知识,提高学生的表达、沟通和团队协作能力,进而养成良好的职业习惯。通过项目的实战训练过程,提升学生的基础知识、基本技能和基础技术,熟悉企业级的运行环境和框架。通过完成案例项目的需求分析、系统设计、编码、集成、测试和项目评审过程的实践,了解软件项目的开发流程和规范。

2.实训目标。我们的实训目标按阶段的不同,具体内容也有所区别,要求学生实现的分段目标的侧重点也有所不同。(1)第一个阶段的校内短期实训:该阶段属于基础实训,在实训过程中引入单元测试技术、软件工程、质量管理和ISO体系概念,让学生了解到企业软件开发对质量的要求和管理方法,提高学员对自己编写的软件的测试和调试能力,修正和增强学员对软件测试和质量的意识。在实训过程中引入新的Web标准、HTML5、CSS3、Canva、SVG等,为学生将来进入互联网或移动开发领域,进行基础知识、基本概念等的技术储备。(2)第二个阶段的企业工程实践:该阶段为大中型项目实训,在大三第二学期校内短期的基础实训、学生技术发展规划的基础上,按照Java方向、Android和PHP前端开发三个不同的专业方向,在合作企业实训基地分组进行项目实训。期间结合加强项目训练和创新创业指导,培养学生的敬业精神、团队精神;以及如何把个人价值观和公司的价值观进行有效的衔接。以JAVA实训为例,该阶段的实训目标如表3所示。

3.预期成效分析。通过校企融合,借助于校企合作平台,探索应用型软件工程实践教育教学模式:一是能使学生获得实践经验,提高学生的综合素质和就业竞争力;二是可为学生提供更多的与企业接触机会,创造就业机会[7],扩大学生的就业渠道;三是可以为高校双师型教师的成长提供平台和环境。(1)提高学生的综合素质和就业竞争力。有关统计信息表明:我国软件专业毕业生,无论是本科软件工程专业,还是高职软件专业,其就业率和专业对口率都不是很高;另一方面,企业又普遍反映找不到合适的软件人才。之所以会出现这样的“两难”局面[8],纠其原因在于目前高校软件专业的培养与企业对软件人才的需求不对称,学生在学校所学的知识和技能无法紧跟市场,实践动手能力方面相对较弱,与企业直接顶岗的要求存在比较大的差距。校企合作模式,能在一定程度上弥补这方面的不足。(2)提升学生的就业能力,扩大学生的就业渠道。软件工程的发展与信息社会的发展和需求是息息相关的,而目前高校该专业的教育模式仍然集中于过多过泛的基础教育,教学方式仍然沿袭以理论讲授为主的模式,导致学生的实践能力与理论能力失衡[8]。因此,我们通过校企融合,整合优化培养方案,围绕培养目标,深化软件人才培养模式改革。从第二学年开始,每个学年度请合作企业的资深工程师为同学们进行实践训练,通过实训,使同学们逐步对大型软件的开发流程和方法有一个初步的了解,体验软件开发的工作氛围,逐渐树立基本的职业观念,以便到毕业时,能很好地适应软件开发相关技术岗位,提升就业能力,创造就业机会,扩大学生的就业渠道。(3)培养“双师型”教师。在校企合作的基础上,选派部分教师到企业参与相关项目开发实践,培养教师的“双师”素质,提升教师的工程经历和软件项目设计、开发经验,了解大中型软件项目设计开发过程,提高教师实际工程研发能力,为双师型教师的成长提供平台和环境,使专业教师得到工程能力的锻炼和提高,为以后“任务驱动、项目导向”培养模式的开展提前做好师资储备。此外,通过校企融合模式,培养应用型软件工程人才,还可为企业培养更多优秀的应用型软件人才。

四、结语

大学培养出来的软件人才在层次上来说应该是中高级的,他们受过良好的基础教育和理论教育,但由于传统的闭门造车式的培养模式,缺少实践的机会,而且所教授的理论和技术跟不上企业的现实需求,导致传统学历教育模式培养出的软件工程专业学生往往是理论知识有余而实践操作经验不足,毕业生不能够马上和完全适应企业的需要。因此,当前高校软件产业人才培养与实际需要存在着一定程度的脱节,学历教育与不断变化的市场需求的矛盾相当突出。而校企融合模式下应用型软件人才培养模式可以在一定程度上缓解这一矛盾,为企业培养更多优秀的应用型软件人才。

作者:黄茹芬 单位:闽南师范大学

参考文献:

[1]柳婵娟,邹海林.基于校企合作的应用型软件工程人才培养模式研究[J].计算机教育,2011,(24):9-12.

[2]张广泉,杨季文.面向校企合作的软件工程人才培养模式探讨与实践[J].计算机教育,2008,(21):29-32.

[3]张丽.软件工程本科专业校企合作人才培养模式实践[J].农业网络信息,2015,(8):137-139.

[4]徐洪智,覃遵跃.校企合作共建软件工程专业实践教学体系[J].实验室研究与探索,2013,32(6):128-130,160.

[5]王爱民,谷川.软件工程专业校企合作实践教学模式研究[J].实验技术与管理,2012,29(1):143-145.

[6]范会联,仲元昌.基于项目驱动的软件工程课程教学改革探索[J].教育与职业,2013,(5):147-148.

第10篇

关键词:软件工程;培养方案;课程体系;从业竞争力

中图分类号:TP311.5-4

信息产业是国家国民经济和社会发展“十二五”规划纲要中明确提出重点扶持的战略性新兴产业,其中软件产业又是国家进一步鼓励和优先发展的产业。软件产业及软件研究、教育机构不仅需要大量的软件专业人才,其它产业与机构也普遍设有软件岗位。软件工程本科专业旨在培养符合国家需要的软件工程专业高级人才,具有广阔的发展前景。要使软件工程专业高效地培养出学生实际工作能力,又能为学生终身学习和人生发展奠定良好的基础,需要对软件工程专业培养模式进行创新。

1 学制设计与改革

对专业的选择是在学生进入大学前进行的,此时学生通常对专业内涵和特征的认识还比较模糊,对人生规划还不太清晰。上学以后,随着专业学习的深入,部分学生会出现专业兴趣不浓、学习积极性不高的现象。另一方面,也有部分学生会对软件工程专业兴趣日渐浓厚,加上专业基础好,学习能力强,学习又用功,在校前几年就能够掌握较多的专业知识并具备就业能力,希望尽早发挥年轻优势就业或创业。但是,按照现行的学制安排,学生考入软件工程本科专业后需要进行为期四年教育,考核合格后方能毕业。由于四年本科教育体制时间跨度较大,中间又缺少可供学生选择的出口,致使这两部分学生的个性化发展受到限制。

如果能将学制改为专、本、硕连读的六年制,则可先进行两年基础知识教育,然后在大学二年级末,根据志愿和考核对学生进行专、本分离,进入专科学习的学生在三年级进行后续的专科教育,考核合格后就可毕业就业;而进入本科学习的学生,则继续进行本科教育,在三年级末再根据志愿和考核进行本、硕分离,留在本科的学生继续进行后一年的本科教育,考核合格后毕业;进入硕士研究生教育的学生,再继续进行后续三年的硕士研究生教育,考核合格后毕业。专、本分离和本、硕分离的考核,可以按照平时各科成绩加权计算,不单独进行考试,这样的考核节约资源,也更客观、全面,同时又能激励学生平时学习。考核后,符合进入本科学习条件的学生也可志愿申请加入专科学生序列;符合进入硕士研究生学习条件的学生也可志愿申请留在本科学生序列,这样能够为优秀学生提供更多选择机会,也有利于拔尖人才脱颖而出。按照国家现行机制,专、本分离考核中未能进入本科学习的学生,仍然可以通过专升本机制进行第二次升本竞争,并可另外选择自己喜欢的本科专业和院校;而在上述本、硕分离考核中未能进入硕士研究生教育的学生,也可在本科毕业时参加全国研究生考试,重新选择自己喜欢的硕士专业和院校。

上述的学制设计,使学生在上学期间具有了多次竞争性选择机会,既能满足部分学生提前就业的要求,又能实现部分学生继续深造的愿望。该设计赋予学生多次调整人生规划的机会,有利于学生及时调整学习方向,舒展个性,发挥优势,最大程度激发学习的主动性和积极性。

上述学制设计其管理的复杂性会略有增加,但对现有教师编制、课程设置和教学计划影响不大,因而具有较强的操作性;但是,学制的改变需要申请和审核,这些工作具有一定工作量和复杂性。

2 专业改革与创新

软件工程属于一级学科,知识繁杂,本科四年不可能学完所有知识。实际上,从事软件工程专业的工作岗位有多种,每一岗位所需的知识和技能不同,所以本科四年的学习应当有所侧重。根据软件工程专业的社会需求和学校特色,软件工程专业可以开设不同的专业方向和软件应用领域,让学生根据自己的特点和兴趣进行选择,这样能够更有效地获取该专业方向和软件应用领域的从业能力。例如,软件工程专业方向可以划分为软件开发、软件测试、软件项目管理、软件配置管理、软件维护等专业方向,软件应用领域可以开设动漫、财务、政务、项目管理等领域。选择学习个性化的软件工程专业方向和软件应用领域,既要选修该专业方向和应用领域的专业课,也包括从事该领域的毕业设计。通过有的放矢的理论学习和动手实践,学生能够更有效地掌握该专业方向和软件应用领域较强的专业知识和技能,获得较强的工作能力。例如,以下是几种软件应用领域与专业方向的组合

2.1 制造业ERP软件维护方向

该方向主要培养现代先进制造业ERP软件维护工程师,该岗位需要理解现代先进制造业的基础知识,掌握现代先进制造业ERP软件的实施、调整、维护、管理和二次开发知识与技能。我国已经成为世界制造业大国,ERP软件已成为现代化先进制造业主要应用软件,几乎涉及到企业各个部门和所有运作流程,全国每年都需要大量的ERP维护、销售、实施和培训工程师。

2.2 大型数据库管理与维护方向

该方向主要培养大型数据库管理员。数据库管理员负责数据库管理、备份、调整、维护和应用开发等日常工作,是机构信息中心的核心业务工程师。数据库是金融、物流、制造、销售等行业和部门的命脉,也是云计算核心,每年都需要大量的数据库管理员。

2.3 手机应用软件开发方向

该方向主要培养手机应用软件开发工程师。由于苹果、谷歌和微软公司相继推出手机应用软件商店,实现了手机应用软件开发和应用之间直接对接,使得国内手机应用软件开发工程师能够和国外同行在相同条件自由竞争,创业和收入具备有很大的拓展空间,促使了该职业从业人数呈现爆炸式增长。

3 课程体系调整与改革

根据上述学制、专业方向和软件领域的设计,需要对课程体系进行相应的调整和改革方能实现上述培养目标。课程体系调整和改革的基本原则是,在遵循国家教委对课程体系要求的基础上,参考软件工程教指委组织编写的软件工程规范以及IEEE SWEBOK、SE2004,并结合中国软件产业实践和学校办学方针及办学实际。

首先需要调整的是数学和英语课程。由于软件工程专业对这两门课程具有特殊的依赖性,建议入学前两年利用学生年龄优势和高中的学习惯性突击强化数学和英语教学,教学目标定位为使多数学生能够通过研究生入学资格考试。强化数学和英语教育,不仅对后续的软件工程专业学习和从业有特殊的重要性,也为学生进一步深造或择业创造了条件。对于中外联合办学的软件工程专业,强化英语和数学的必要性则是显而易见的。

由于强化了数学和英语,势必需要减少一些其他课程或其他课程的课时。首先可以考虑将一些课程合并,以达到精简课程内容和减少课时的目的。有些课程原先是针对计算机专业开设的,现在对软件工程专业讲解,则讲解的角度和内容应该有所不同。例如,可以在第一学年针对软件工程专业开设一门新课《软件工程引论》,系统介绍本专业基本情况和基本知识,使学生对本专业有概括性的了解,同时掌握对计算机、网络以及常用工具软件的使用,以融合并代替现有的《计算机基础》、《计算机导论》、《计算机组成原理与体系结构》、《计算机基础综合实验》等课程。

软件工程专业学生在大学学习的第一门程序设计语言建议为C#或JAVA,因为它们具有现代编程语言的要素和优点,简洁实用,既能引起学生学习的兴趣,又能与后续的面向对象程序设计和应用软件开发等课程无缝衔接。C语言、汇编语言和嵌入式开发最好汇集为一个课程模块,放在第三学年针对嵌入式开发方向的学生集中讲,这样能够使学生学习的目标性更强,又能现学现用,立竿见影,收到较好的学习效果。

在毕业设计中,学生应当在软件项目团队或模拟团队中担当一个项目角色,参与开发一个软件项目,完成项目指定角色的任务。模拟软件项目开发团队可由参加毕业设计的研究生、本科生和专科生混合搭配,由研究生或老师担当系统分析师或项目经理角色,本科生担当主程序员、测试设计或程序管理角色,专科生担当程序员或测试员,该团队在老师的指导下模拟实际项目开发过程进行开发。

除了在课程体系结构方面进行调整外,还需要从课程教学内容、教材编写、教学方法、考核方法、成绩评定上体现学校的办学理念和办学特色。

4 结束语

在我国,综合性和理工科大学基本都开设了软件工程本科专业,对软件工程专业教育进行了多方面的研究和实践探索,出现了百花齐放局面,但从业界对毕业生的质量反馈来看,需要改进地方还很多。各高校在不同程度上都具有自己的办学特色和优势,在软件工程专业创出特色形成优势互补,能够促进软件行业的繁荣。随着国内外高校生源争夺日益激烈,在软件工程专业上办出学校的特色和优势,不仅关系到毕业生的就业竞争力,也会涉及到学校该专业的兴衰存亡。

参考文献:

[1]王秀彦,王超.欧洲高等教育区改革的新趋势及启示[J].中国高等教育,2013,(8):61-63.

[2]黄杰等.卓越软件工程人才产学研用培养新模式的探索与实践[J].计算机工程与科学,2011,33(A1):70-73.

[3]ACM/IEEE Software Engineering Coordinating Committee.Guide to the Software Engineering Body of Knowledge[EB/OL].[2013-8-8].http:///.

[4]骆斌等.国际软件工程专业硕士研究生教程初探[J].计算机工程与科学,2011,33(A1):41-44.

[5]Integrated Software & Systems Engineering Curriculum(iSSEc) Project.Curriculum Guidelines for Graduate Degree Programs in Software Engineering[EB/OL].[2013-8-8].http:///.

作者简介:赵风景(1953-),男,教授级高级工程师,专业方向:软件工程。

第11篇

关键词:软件工程;课程体系;培养方案

软件工程教育兼属科学教育和工程教育范畴,软件工程的科学教育属性主要是引导学生对人类意识与智慧进行科学理解、增强运用软件本质特性(构造性与易演化性)和解决具体问题的能力;而软件工程的工程教育属性主要是引导学生综合应用计算机科学、数学、管理等科学原理,借鉴传统工程的原则、方法,提炼和固化知识,通过创建软件来达到提高质量、降低成本的目的。然而,McKinsey Global Institute2005年10月发表的一份报告称,我国2005年毕业的60多万工程技术人才中适合在国际化公司工作的不到10%,主要原因是中国教育系统偏于理论,学生在校期间几乎没有受到Project和团队工作的实际训练,这对我国高等院校工程教育改革与创新提出了挑战,也为软件工程专业建设指明了方向。

合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。目前,我国1900多所普通高校中虽有100多所院校开设了软件工程专业,但与当前软件工程技术发展差距较大。为了培养出既有理论知识又有应用技能的工程型实用软件人才,软件工程专业课程体系必须进行改革。对此,本文结合CC2005、SE2004、SWEBOK、国内软件工程专业课程设置现有的研究成果,探索软件工程专业本科教学课程体系建设问题。

1 软件工程专业课程体系设计策略

计算学科本科教学常用的课程体系设计策略主要划分为:课程启动策略、课程组织策略、特色课程设置策略。课程启动策略主要包括:1)围绕算法设计展开的算法优先策略;2)自底向上展开的硬件优先策略;3)从计算机导论展开的广度优先策略:4)强调编程能力的程序设计优先策略;5)强调系统使用命令优先策略;6)从面向对象展开的对象优先策略。

课程组织策略主要有:1)基于主题的组织模式,它把知识体系中的每个知识域组织成一门或几门课程;2)基于系统的组织模式,它把每类计算机软硬件系统设置成一门或几门课程;3)混合模式,在课程设计时不考虑区分前两种方法,兼而有之。特色课程设置策略主要依据本校办学特色和研究专长来确定。

由于软件工程教育兼属科学教育和工程教育范畴,其科学属性和工程属性决定了软件工程专业本科教学课程规划,一方面要强调工程性、技术性、实用性、系统性、综合性和复合型,另一方面要强化基础软硬件知识在解决复杂软件构造和应用方面起到的关键作用。对于课程启动策略而言,传统计算机科学专业的课程启动方式并不适合于本专业,但工程优先策略似乎也不适合于没有任何计算机基础的本科生;同样,在课程组织策略上,基于主题的组织模式更多地具有科学研究属性,而基于系统的组织模式又不利于基础知识强化;此外,特色课程设置时,有时会缺乏全面综合考虑,因人设课会造成特色课程系统性差问题。因此,在软件工程专业课程体系设计策略方面,应根据软件工程学科自身属性,综合考虑以上各种策略特点,全局思考,统一规划,避免课程系统性差、教学内容重复和遗漏并存等现象。

2 软件工程专业课程体系架构模型设计

根据软件工程专业本科教学的培养目标及规格要求,其课程体系采用“夯实基础教育、提高系统认知、强化软件开发、推进工程实训”为主线的设计思路,构建了“分层次、互动式、工程化”的课程体系架构模型(如图1所示)。该模型共分为四个层次,即基础知识教育层、系统认知教育层、工程设计开发层和工程实践训练层。各层次不是相互独立的,而是相互关联、相互影响、逐层递进的演进关系。该模型简化了计算机科学核心课程数量,突出基于主题的组织模式,沿着由浅入深、循序渐进的认知路径,力图实现“基础与编程一体化、编程与系统一体化、系统与工程一体化、工程与职业一体化”四位一体的工程型实用软件人才教学目标。

2.1 基础知识教育层

基础知识教育的设计思路,强化学生的基础知识和编程意识,实现“基础扎实和编程意识强”两个目标。基础知识教育层结构具体划分为:数学基础类课程模块、外语类课程模块、软件基础类课程模块、其他公共基础类课程模块。根据各模块自身特点,全面考虑各模块之间的关联性,做好彼此之间的衔接。在课程启动策略方面,主要采取基于基础的编程优先策略。在数学基础类课程模块中确定一门衔接较好的基础课作为软件基础类课程模块的启动,软件基础类课程模块率先启用软件设计基础课程,力图达到“基础与编程一体化”的教学目标。在课程组织策略方面,采取基于主题的组织模式,有利于学生掌握基础理论知识。

2.2 系统认知教育层

系统认知教育的设计思路:强化学生的编程能力和对软件系统的认识能力,实现“编程能力强和系统级认知”两个目标。根据软件工程专业对硬件系统和系统软件的知识要求,系统认知教育层结构划分为:数据库系统类课程模块、网络系统类课程模块、操作系统类课程模块和编译系统类课程模块。在课程启动策略方面,主要采取基于编程的系统优先策略。通过软件基础类课程模块的数据结构等课程和系统认知类课程模块的数据库原理及应用等课程,进一步强化学生的编程能力,并以程序设计为主线引导学生的系统级认识能力,实现“编程与系统一体化”的教学目标。在课程组织策略方面,采取基于系统的组织模式,简化计算机科学核心课程数量,提高学生学习的有效性和对知识的掌握程度。

2.3 工程设计开发层

工程设计开发的设计思路:以工程化方法为手段,依托项目培养学生的“工程”意识,锻炼学生对软件系统的设计与开发能力,进一步强化学生的系统级认识,实现“更完整的系统级认识和软件系统工程化设计开发技术”两个目标。根据软件工程项目开发流程,工程设计开发层结构划分为:软件过程类课程模块、软件设计类课程模块、软件架构类课程模块、软件测试类课程模块、人机交互类课程模块、特色项目类课程模块、可扩充类课程模块。该层综合考虑核心专业课程和特色项目课程设置,基于专业方向设置若干动态可扩充课程,全面考虑课程之间的关联,强调统一设计、统一规划。学生在这个层次必修一些工程设计开发系列课程,选修可扩充类课程,达到“系统与工程一体化”的教学目标。课程启动策略采取基于系统的工程优先策略。课程组织策略采取项目的组织模式,以此来提高学生的软件系统设计与开发能力。

2.4 工程实践训练层

工程实践训练总体设计思路:通过实验训练、专业实习、项目实训、毕业设计等教学环节,依托校内 外实习实训基地,采用校外实习实训、自主实习实训、校内实习实训和外聘软件工程师等形式,强化学生的工程能力,培养学生的职场素质,实现工程与职业一体化的教学目标。工程实践训练层结构具体划分为两大类,一类是实验与实习类课程模块,另一类是工程实训与毕业论文类课程模块。其中,实验与实习类课程模块的具体设计思路,通过基础实验、系统体验、编程能力训练三个环节,进一步夯实学生的基础知识,完善学生的系统级认识,强化学生的开发技能;而工程实训与毕业论文类课程模块的具体设计思路,通过“软件工程项目实训”这个载体,采取“企业+实训+论文+就业”捆绑的运作模式,与多家国内知名IT公司合作,让学生到企业进行实际项目综合训练,并完成毕业论文设计工作,实现理论与实践结合、技巧与职业素质结合的教学目标,同时也为学生就业提供一个良好平台。

上述四个教育层是彼此联系和互动发展的,在课程体系设计中充分考虑衔接性、系统性和创新性。交流、沟通、讲演、写作的培养更多体现在第二课堂科技学术活动中。

3 软件工程专业核心课程设置

3.1 课程设置原则

软件工程专业课程设置遵循六个基本原则,即先进性、灵活性、复合性、工程性、创新性和模块化。1)先进性:课程设置和课程内容需反映国际上先进的软件技术发展成果和软件企业对先进技术的需求,以及相关的基础理论。2)灵活性:课程设置需具有灵活性,应根据软件技术的发展及时调整。3)复合性:课程设置需包括技能、工程、管理等方面的教学内容,使学生具有必要的综合技能和基本素质。4)工程性:课程设置面向软件工程实践,强调工程实践能力培养,使学生能够自觉运用先进的工程化方法和技术从事软件开发和项目管理,具有团队协作精神。5)创新性:课程设置应倡导学生自主学习,并给予必要的指导,从而培养学生自主学习和自我提高能力,以及勇于开拓和善于创新能力。6)模块化:课程应按照模块化准则设计,课程模块设计可以交叉。根据软件技术最新发展、当前市场需求及专业培养方向、学生目前具备的领域知识等,灵活调整课程设置和课程内容。

3.2 核心课程模块设置

1)软件基础类课程模块设有:计算机硬件基础、软件设计基础、数据结构、计算机组织原理、面向对象程序设计、算法分析与设计等课程。2)操作系统类课程模块设有:操作系统原理、LINUX系统基础、嵌入式系统基础等课程。3)网络系统类课程模块设有:计算机网络、网络规划与集成、网络安全检测与防范技术、网络协议与网络软件等课程。4)数据库系统类课程模块设有:数据库原理及应用、ORACLE数据库、数据仓库与数据挖掘技术等课程。5)编译系统类课程模块设有:编译系统原理、编译技术等课程。6)软件过程类课程模块设有:软件工程、需求工程、软件项目管理、软件建模技术UML等课程。7)软件设计类课程模块设有:C++高级程序设计、J2EE与中间件、.NET架构技术、设计模式等课程。8)软件架构类课程模块设有:大型软件系统构造、软件体系结构等课程。9)软件测试类课程模块设有:软件测试技术、软件测试与评估等课程。10)人机交互类课程模块设有:人机交互技术等课程。11)特色项目类课程模块设有:软件工程项目案例解析、大型软件工程项目实训等课程。12)可扩充类课程模块设有:手机游戏开发、网络游戏开发、计算机图形学、嵌入式Linux网络及GUI应用开发、嵌入式Linux驱动开发、手持设备软件开发等课程。

4 软件工程专业培养方案制定与实施

软件工程专业培养方案制定是基于软件与工程的复合,将软件工程与领域应用相结合,强调计算机科学和数学基础的同时,将专业课程重点放在软件新技术和软件工程新技术方面,通过对实践类课程工程化改造,增设软件工程项目实训环节,开设部分技能课程,试图使学生的基础知识、专业技能、创新能力、工程能力和职业素质都能得到全面均衡发展。具体措施如下。

4.1 建立英语为主日语为辅的外语教学体系

根据IT市场的实际需求,软件工程专业培养方案制定,除正常开设四个学期大学英语外,增开两个学期标准目语和一个学期专业英语,坚持外语学习四年不断线,旨在为学生选择日企或对日外包企业就业提供方便。

4.2 建立工程化实践教学体系

建立“四年不断线、三个层次相呼应、两大措施为保障”的工程化实践教学体系。“四年不断线”是指实践环节四年不断线,每个学期至少有一个集中性的实践教学环节,体现“全过程”实践;“三个层次相呼应”主要是从实践教学内容设计上考虑的,包括第一层次教学实验,第二层次课程设计及专业实习,第三层次工程项目实训与毕业设计;“两大措施为保障”主要指教学计划保障和考核制度保障。

4.3 设置专门的实践课程

针对工程化软件人才应具备的个人开发能力、团队开发能力、系统研发能力和设备应用能力,以必修课和选修课形式,开设四类特色化、阶梯状工程实践学分课程,即程序设计类实践课程、软件工程类实践课程、项目管理类实践课程和网络平台类实践课程,构成了系统全面的学生实践能力训练体系。

4.4 提高专业课程教学中的实验课时量

除个别侧重理论教学的专业课程外,80%以上的专业课程包含实验或实习环节,实验或实习成绩占总成绩的30%以上,一部分实践性较强的课程是以上机考试和答辩作为最终考试方式。

4.5 开设部分技能课程

在技能课程中,与该领域内具有国际领先水平的企业在课件共享、教师培训和资源投入等方面展开合作,共同设计、讲授和评估课程。鼓励学生参与企业提供的专业认证考试,或参加国家相应的专业资格考试,对此,学院将计算机网络、Oracle数据库、J2EE与中间件等认证课程纳入本科教学计划中,全面体现学生的“多证多能”。

第12篇

关键词:大数据时代;地方应用型高校;软件工程专业;课程体系

0引言

大数据作为继云计算、物联网之后IT行业又一颠覆性的技术,备受人们的关注,大数据技术正从概念转向实际的应用,涌现出越来越多的大数据技术应用成功案例,大数据的价值也在迅速增长。2015年,中国大数据市场规模达到115.9亿元人民币,增速达38%,预计2016~2018年中国大数据市场规模将维持40%左右的高速增长[1]。大数据时代的到来,使得软件行业对人才的应用能力和综合素质提出了更高的要求。咸阳师范学院作为咸阳市地方应用型高校以服务咸阳地区经济社会发展为己任,肩负着培养满足咸阳地方社会需求软件人才的使命,需要把培养面向大数据时代的软件工程专业人才作为战略任务来抓。而课程体系的建设是软件工程专业人才培养体系最重要的一个方面。本文通过分析我院传统软件工程专业课程体系,以及大数据时代下企业对软件工程专业人才要求,找出大数据时代下软件工程专业应用型人才中课程体系存在的问题,探索出我院面向大数据环境的应用型软件工程人才中课程体系的建设。

1我院软件工程专业传统的课程体系

自我院计算机系成立以来,软件工程专业一直是我院重点建设专业。2013年,“‘3+1’校企合作软件人才培养模式创新实验区”被确定为省级人才培养模式创新实验区。一直以来,该专业以培养“厚基础、强能力、高素质”应用型人才的为培养目标,以企业、市场需求为导向,重视实践、技能和应用能力的培养,与尚观科技、中软国际、华清远见、蓝鸥科技等西安多家企业联合,采取3+1嵌入式校企联合教育培养模式,将课程教学、工程实践、行业理念进行无缝结合。课程体系是一个专业所设置的课程相互间的分工与配合[2],主要反映在基础课与专业课,理论课与实践课,必修课与选修课之间的比例关系上[3]。地方应用型本科院校的课程体系设计既要体现基础知识的传授,也要体现实践能力的培养,同时还要考虑学生的职业能力规划发展问题。我院2013-2015级软件工程专业课程体系结构图如图1所示。图12013-2015级软件工程专业课程体系结构图从图1可以看出通识教育必修课程的教学阶段共3个半学年,主要涉及思想政治基础知识、体育、人文历史、外语应用能力等;相关学科基础类课程主要包括高数、线性代数、数字逻辑等数学类课程;本学科基础类课程主要涉及程序设计语言、计算机网络、操作系统、数据结构、计算机组成原理等;专业技能教学阶段强调对学生工程性、实用性、技术性和复合型能力的培养,主要安排专业必修课程和专业选修课程。专业必修课程包括面向对象程序设计、软件工程、数据库原理与应用、软件设计与体系结构、算法分析与设计等,专业选修课程包括Web软件开发、Linux系统应用程序开发、移动终端开发等。根据教育部专业教学指导委员会软件工程行业规范[4],本着“轻理论,重实践”的原则,我院在一定程度上压缩理论课课时,增加实践课课时,优化专业课程体系结构。我院2015级软件工程专业的人才培养计划中,各类课程学分设置与所占比例。

2大数据时代企业对软件工程专业人才的要求

大数据时代所需要的人才是一定拥有数据处理、分析技术的,也就是对数据有敏锐的直觉和本质的认知、能够运用统计分析、机器学习、分布式处理等技术,从海量、复杂的数据中挖掘出有用的信息,以清晰易懂的形式传达给决策者,并创造出丰富有价值的专业人士[5]。在大数据时代下,对软件专业人才培养,应具备以下四个方面的技能。(1)具有厚实的数学、统计和计算机学科的相关知识,能够根据具体案例大数据分析任务的要求,运用大数据处理、分析平台,收集整理海量数据并加以分析,挖掘出有价值的信息。(2)掌握大数据处理技术及可视化工具,能根据具体任务的需求,对数据进行选择、转换、加工等处理操作,采用有效方法和模型对数据进行分析并形成数据分析报告,用易于用户理解的方式,提供科学的决策依据。(3)熟悉行业知识、专门业务及流程,将大数据技术和企业文化相结合,充分利用大数据分析处理的结果,挖掘出海量数据中隐藏的价值并应用于企业市场领域。(4)团队合作精神,大量数据的收集整理、存储、分析和处理,一个人是很难完成的,需要一个由团队成员合理分工、共同协作完成。

3大数据时代我院软件工程专业传统的课程体系存在的问题

地方高校一直以来受传统的“学术型”、“研究型”人才培养模式的影响较大,形成了适合于“精英教育”为培养研究型人才的课程体系,无法适应以工程实践能力、创新创业意识、新技术新方向为目标的人才培养,课程体系中理论教学占主导地位,实践教学往往处于次要地位[6]。而目前处于大数据时代,信息技术的不断创新、企业需求不断变化、综合型人才需求巨大等因素的影响下,传统的培养研究型人才的课程体系,无法适应大数据时代以工程实践能力、创新创业意识、新技术新方向为目标的人才培养。通过了解大数据环境企业对软件工程人才的要求,分析我院2013-2015级软件工程专业人才培养课程体系结构,发现存在以下问题:(1)缺少大数据技术方面的课程。传统的课程体系中主要包括软件工程专业一些传统的课程,如数据结构、软件工程、软件体系结构等,而且课程内容较陈旧,所开设的一些应用软件的学习不能紧密贴合行业和技术发展,软件工程专业教育必须适应互联网时展和大数据技术的需求,关注企业发展及大数据系统的建设问题,以满足企业对应用型人才的需要。(2)实践类课程学时所占比例较少。我院2015级软件工程专业实践类课程占总学时的10.8%,是因为传统的课程体系注重知识传授,而忽略了学生解决问题、动手能力的提高。地方高校在人才培养中重视理论内容、计算机编程能力,而忽略学生探索能力的培养,这些都不利于学生对新技术、新方向发展的把握,学生难以应对各种层出不穷、错综复杂的海量数据,很难挖掘出隐藏的数据价值并有效利用。(3)课程体系结构设置方面,一是存在通识教育类课程教学阶段持续时间长,一直到第7个学期,这就影响了后面专业类课程的学习;二是专业基础类分为专业必修和选修,没有从课程教学阶段不同来划分,不能体现课程先后的衔接关系。

4大数据时代我院软件工程专业课程体系建设改革

在大数据时代,软件工程专业教育必须适应企业发展和大数据行业的需求。教学内容的设置应与行业需求接轨,根据我院学生特点调整2016级软件工程专业课程体系。具体做了以下几点的调整。(1)课程体系结构更合理。一是通识教育类课程的调整。一方面将教学阶段全部调整到第1、2学年完成,这样在第3学年学生就可以重点学习专业类技能课程;另一方面此部分增加了大学生心理健康和创新创业教育课程,主要可以加强学生团队合作精神的培养。二是专业类课程结构的调整。将专业类课程分为专业(学科)基础课程和专业技能课程两大类,专业(学科)基础课程主要包括数学类课程、计算机导论、程序设计语言、数据结构、操作系统、软件工程、运筹学、数据分析与处理。专业技能课程又分为专业核心课程和专业方向课,专业核心课程包括面向对象程序语言类、软件设计模式、算法分析与设计、软件测试等软件工程专业要求的核心课程,而专业方向课分为3个方向:大数据分析、Web技术应用、移动终端开发,鼓励学生在学好专业基础和核心课程的同时,发现自己专业类的兴趣,选择一个自己感兴趣的方向集中学习,大数据分析方向是重点向学生推荐。在教学阶段安排上,一般专业(学科)基础课程要优先于专业技能课程,这样可以让学生在掌握了学科、专业基础上,充分了解软件工程专业技能的训练。(2)增加了大数据技术方面的课程。在新调整的课程体系中,专业(学科)基础课程和专业技能课程都增加了大数据相关内容。基础课设置增添运筹学、数据分析与处理等,使学生了解大数据行业基础知识,激发学生对大数据行业发展及大数据应用前景的兴趣;专业技能课设置了数据仓库与数据挖掘、大数据统计分析与应用、数据挖掘算法与应用等前沿科学技术相关课程以满足大数据系统建设与应用的需要,培养更多企业需要的大数据管理分析软件专业人才。院级选修课鼓励研究大数据方向的教师积极申请大数据案例分析、大数据安全与隐私保护、HadoopMap/Reduce技术原理与应用等实用性强的课程,以补充对大数据方向特别感兴趣学生的学习内容。(3)增加实践类课程所占比例。相比较2015级,以培养地方应用型人才为总目标,实践类课程课时由19课时增加到28课时,所占总课时比例提高了约50%。实践类课程包括校内(课程设计和实训)和校外(见习、实习、实训、毕业论文),种类多样化,使得学生多方面提升自己解决问题和动手操作能力。针对校内实验我院教师结合大数据教学实验平台,根据课程内容设计实验项目,从初级到高级,安排合理的阶梯式学习,实验内容持续更新,加入最新、主流的分析建模工具和挖掘算法,学生在免费、开放的平台环境下进行大数据构建、存储、分析统计等实验内容,使学生熟练掌握Ha-doop、HBase、Spark等关键技术,提高大数据理论分析及技术应用的能力。做好校内实践的同时,校外实践更是尤为重要,首先在实习、实训企业的选择上,尽量选择“口碑好、技术强、理念先进”的单位,目前我院已与邻近城市西安与尚观科技、中软国际、华清远见、蓝鸥科技等西安多家企业联合,第四学年分批组织学生到合作企业的实训基地参加真实的实训项目,体验IT企业真实的工作环境、工作流程和企业文化,了解互联网大数据、零售大数据、金融大数据等领域知识,学习海量数据搜集、分析、存储技术,引导学生按照项目的需求、总体设计、详细设计、编码、测试等流程完成实践内容,规范化文档和代码的编写,培养学生的行业、职业素养。

5应用效果

目前应用此方案有2016和2017级两级学生,虽然这两级学生都还没有就业,但在创新应用能力方面都较2015级之前学生有显著提升。近两年有10余组学生团队获得国家级、省级、校级“大学生科研训练项目”立项资助,有8名同学获得“蓝桥杯”程序设计大赛国家级二等奖、三等奖,省级一等奖2项,二等奖、三等奖多项。2016年有两队学生获得陕西省高校“互联网+”创新创业大赛三等奖,一队学生获得咸阳市青年创业大赛二等奖。数十名学生在核心期刊上公开发表学术论文。从目前取得的成绩来看,课程体系结构的调整,使得学生不仅获得扎实的理论知识,而且具备了过硬的实践和创新能力,我院软件工程专业毕业生一定会深受用人单位喜欢。

6总结

针对大数据时代下地方本科院校软件专业人才培养中课程体系存在的一些问题,笔者分析了大数据环境对软件工程专业人才的要求,以地方本科院校咸阳师范学院为例,改革调整了课程体系,主要在在理论教学和实践教学中增加大数据相关理论及技术内容,通过近年来的探索与实践,此课程体系结构有效提高了学生的创新应用能力,为大数据时代企业发展培养了高水平、高素质的大数据分析人才,新的课程体系适应了大数据环境下软件工程人才的培养。

参考文献

[1]孙琳.大数据应用的创新路径[N].人民政协报,2016-05-17.

[2]潘正高.地方应用型高校软件工程专业课程体系的研究[J].西昌学院学报,2017,31(3):94-97.

[3]潘怡.应用型本科院校软件工程专业课程体系设置探讨[J].长沙大学学报,2008,22(5):98-100.

[4]教育部专业教学指导委员会.高等学校软件工程专业规范[M].北京:高等教育出版社,2011.