软件工程专业课程汇总十篇

时间:2023-03-14 14:48:04

软件工程专业课程

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

软件工程专业的培养目标是面向我国软件产业培养急需的工程应用型人才。软件产业的发展要求学生具备较强的系统分析、设计、开发与维护能力[1]。为培养学生软件系统方面的相关能力,许多高校的软件工程专业都设置了系列课程模块,如程序设计课程模块、网络技术课程模块、计算机体系和操作系统课程模块、软件工程课程模块等,这些模块往往是一些单独课程的组合,有很多学生学了这门课程,又忘记了那门课程,到毕业时专业能力达不到社会所要求的层次。程序设计课程群是软件工程专业系列课程的重要组成部分,其承载的技能培养目标是专业培养的子目标[2],处于非常重要的地位。课程群建设是专业建设的一部分[3],有利于打通课程知识脉络,避免课程内容重复或前后脱节,使前后连贯,内容融合,进而获得整体优势[4]。程序设计课程群主要培养计算思维能力、算法设计与分析能力、程序设计与实现能力和系统分析开发能力[5]。学生通过程序设计课程群的学习,可掌握1~2门程序设计语言,更进一步理解程序设计方法,熟练掌握常用的数据结构和算法,形成良好的程序设计风格,可独立分析、设计和开发中小型软件系统。所以对程序设计课程群进行研究并积极实践对专业培养目标的实现具有重要现实意义。

1问题分析

目前,大多数高校信息类相关专业都开设了程序设计系列课程,一般为C语言程序设计、数据结构与算法、java程序设计等。许多高校都将C程序设计作为第一门程序设计课程[6],一般安排在第一学期或者第二学期,学完C语言之后,再学其他程序设计课程,如数据结构等。由于C语言本身比较灵活且语法内容比较多,对于初学者来说并不太好掌握。一些教师在授课过程中,没有站在软件设计的高度思考教学内容,往往过多地强调语言成分的语法和语义,而忽视了计算思维能力[7]的培养,使学生从开始就扎进程序设计语言的细枝末节中去,忽略了软件工程思想的渗透,到最后学生掌握了一些语法,却不能写出较为优美的程序或没有形成较好的程序设计思维和风格。算法是程序的灵魂,数据结构和算法在课程群中具有基础和核心地位[8]。在实际教学过程中,学生普遍反映数据结构和算法课程抽象难学,在学习和实际应用中出现的问题比较多,很难写出能正确运行的程序,学习过程中成就感不强,学完之后还是不知道如何应用,很难达到预期的效果。由于在前期的学习中,程序设计基础没有打牢,对常用的数据结构和算法没有真正掌握,模块化程序设计思维没有有效建立,良好的程序设计风格没有形成,导致后续的高级面向对象语言程序设计学习很难深入,最终导致软件分析与设计能力得不到有效的提升。

2程序设计课程群建设

我校软件工程专业采取校企合作办学模式,由吉首大学和中软国际共同建设,企业参与人才培养的全过程,在具体实施过程中,学校侧重于理论教学部分,企业侧重于实践教学部分[9]。程序设计课程群是软件工程专业课程体系的重要组成部分,企业参与讨论与建设,确定该课程群以软件设计能力培养为主线,以C语言程序设计、数据结构、面向对象技术、算法设计与分析几门课程为基础组建课程群,C语言程序设计开设在第一、二学期,数据结构、面向对象技术、算法设计与分析分别开设在第三、四、五学期,第六学期可开设JavaWeb程序设计或Web程序设计,使课程群在能力构建和开设形式方面形成一个不间断的体系。

3程序设计课程群实施

3.1精讲课程主要内容,提高程序设计能力

课程组教师首先需要站在软件分析与设计的角度研究各门课程在课程群中的地位和作用,把课程群中的系列课程作为一个有机的整体,研究各门课程的主要教学内容,针对课程重点、难点、疑惑点进行精讲,做到理论与实践课并重,有效提高学生程序设计水平。在课程群系列课程中,由于第一门课程是后续系列课程的基础,所以学生必须掌握它。在C语言的教学中,要渗透软件分析与设计的思想,把握程序的主要框架,不纠缠于一些细枝末节的语法。函数是C语言教学中的重点,需要重点突破,从模块设计的角度来考虑函数设计,对于一个具体的函数,则要掌握函数的返回类型、参数类型以及参数个数。如用函数处理一个数组时,需要传递数组的首地址和数组的规模,首地址用指针表示,数组的规模则有两种表示方法,一是数组的长度,二是数组的起始下标和结束下标,这两种方式可能会分别应用到不同的地方,如果教师一直不提示第二种方法,则将来学生在写数组做参数的递归程序时可能会遇到困难。从多年的教学实践来看,如果学生真正掌握了函数设计方法,再加上必要的算法知识,一般情况下,程序设计就会变得得心应手而且十分有趣;对于数据结构课程,采取以数据存储(内存)为主线的方法,将重点放在数据的存储和相关算法方面,在算法实现时渗透模块化的思想,需注意头文件和实现文件的定义,因为数据结构内容具有很强的连贯性且程序的初始化工作较多,如链表的具体应用则先要建立链表、树的遍历和节点的查找等则先要建立树、图的遍历和最短路径及关键路径等则先要建立图,在实验过程中有意识地把一些基础工作放入头文件,则会极大地提高实验的效率;在面向对象技术教学中,以面向对象程序设计的方法为核心,以语言中的面向对象机制为主要内容,在适当的时候引入《ThinkinginC++》、《EffectiveC++》、《ThinkinginJa-va》等优秀书籍中的一些思想和经验,要注重面向对象程序设计过程中大的程序框架的合理性以及具体处理算法的正确性;在讲授算法设计与分析的时候,应集中精力将主要算法讲透,直到学生学懂为止,在实现算法时,应充分运用面向对象设计的思想,将算法封装在类中;在web程序设计教学中,采用案例驱动的方式,精讲软件项目设计中的主要方法和主要问题,培养学生工程化设计思想。精讲的目的是让学生多练,精讲之后要布置任务并为学生提供练习环境和相关指导,必须充分发挥教师主导和学生主体作用,教师要认真检查学生的作业、实验和练习情况,及时纠正问题,引导学生运用软件工程的思想设计程序,培养学生良好的程序设计思维和程序设计风格,激发学生自觉学习和实现相关算法,最终提高程序设计能力。

3.2大规模开展程序设计训练,培养程序设计能力

为培养学生算法设计与分析能力,学院在晚上和周末开放了实验室,在实验室搭建了ACM在线测评系统(ACMOnlineJudgeSystem),并接入了校园网,结合C程序设计、数据结构与算法等课程部署了大量习题。学院利用课余时间,有计划组织学生进入实验室进行编程训练,并为每次训练配备了指导教师。平时,学生也可以在寝室登录平台进行训练。教师在讲授C程序设计等课程的时候,要求学生利用课余时间在ACM平台上完成至少上百道题的训练,并将完成情况计入课程的平时成绩。通过大规模开展在线程序设计训练,学生的程序设计能力有了明显的提高。

3.3开展课程设计训练,培养工程化设计思想

在课程群中除开设理论课程对应的实验项目之外,还针对整门课程开设了综合性课程设计项目,如C语言课程设计、面向对象技术课程设计、javaweb课程设计,单个课程设计周期为1-4周。学院课程设计项目主要由企业教师指导完成,该类项目采用分组形式,在组内模拟软件企业运行模式设置相关岗位角色,学生在仿真企业环境中,利用仿真的软件开发项目,进行轮岗和角色体验,培养学生的软件工程应用能力、软件项目开发与测试能力、职业素质等,从而使学生熟悉软件项目开发流程和规范,养成良好的软件开发习惯。课程设计结束时,要求学生演示并讲解自己的项目开况,由学院教师和企业教师组成评定小组进行评分。

3.4改革考核与评价方式,理论与实践、平时与期末相结合

理论与实践相结合。程序设计课程群内的课程都是实践性很强的课程,其目的是运用所学的知识解决实际问题,决定了课程的期末考核要综合考虑理论和实践两部分内容。理论部分主要考查学生对基本概念的理解和对基本知识的掌握情况,实践部分侧重考查学生的综合应用能力,这两部分成绩都在期末完成,占课程总成绩的60%左右。平时与期末相结合。期末考核重在体现学习的结果,平时成绩则侧重于体现学习过程,在课程总成绩中,平时成绩占40%左右,即一门课程约有40分来自平时的学习过程。平时成绩一般由出勤、作业和平时实验情况、课程设计情况组成。在学期开始第一堂课的时候将课程评分方式告知每一个学生,必须抓紧平时的学习,若平时分小于20分,则取消课程考试资格或直接将课程总成绩记为不及格。

4结语

程序设计课程群对培养学生计算思维能力、算法设计与分析能力、系统分析与设计能力具有重要作用。本文分析了学生在课程群学习中遇到的一些问题,从软件分析与设计的角度对课程群进行建设与改革,提出了以C语言程序设计、数据结构、面向对象技术、算法设计与分析等几门课程为基础组建程序设计课程群,给出了课程群的主要知识与能力体系要求,通过精讲课程主要内容、大规模有组织地开展程序设计训练、企业教师指导课程设计、改革考核与评价方式等方法进行教学改革,学生的程序设计能力得了到较大的提高。

参考文献

[1]韦迎春,文俊浩,陈蜀宇.以能力培养为核心构建示范性软件学院实践教学体系[J].中国高等教育,2011(2):49-50.

[2]乔付,王国权,张凤武.CDIO理念下计算机程序设计课程群建设探索[J].内蒙古师范大学学报,2011,24(11):39-41.

[3]孙雷,王新.计算机专业程序设计课程群的研究与实践[J].教育教学论坛,2013(11):222-224.

[4]翁伟,吴克寿,吴芸,等.程序设计课程群建设探索与实践[J].计算机教育,2009(23):123-125.

[5]王海舜,蒋巍巍.基于程序设计能力培养的软件设计类课程群架构[J].计算机教育,2012(2):23-26.

[6]万臣,谢芳,胡泉.计算机专业程序设计课程群的建设与研究[J].合肥工业大学学报:社会科学版,2009,23(1):33-36.

[7]汪红兵,姚琳,武航星,等.C语言程序设计课程中的计算思维探析[J].中国大学教学,2014(9):59-62.

软件工程专业课程篇(2)

[3] 李慧仙.论高校课程群建设[J].江苏高教, 2006(6):73-75.

[4] 张怡文,贺爱香,王美荣.基于软件课程群的合格课程建设——《C++程序设计》合格课程建设[J].电脑知识与技术, 2012(5): 46.

[5] 肖宿.软件工程课程教学方法初步探索[J].电脑知识与技术, 2012, 8(14).

软件工程专业课程篇(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)

0 引言

作为一个新兴的学科,软件工程涉及计算机科学、数学、管理学等领域,是一个综合叉学科。同时,软件开发技术得到了飞速的发展,云计算、移动互联网络、手机系统和APP软件、物联网以及互联网+概念的提出,对计算机行业,特别是软件工程专业的发展产生了深远的影响。

如何利用现有技术,对软件工程专业的人才培养模式进行改革,从而培养出适应社会需要的高素质、实用型、具有竞争能力的软件工程高级应用型人才是摆在软件工程教育工作者面前的一个重要任务。

本文以河南城建学院“人才培养模式改革”为契机,结合软件工程专业的学科特点及现阶段的教学困境,提出了软件工程专业课程群建设方案,旨在为课程体系与教学内容整体优化提供有益探索。

1 软件工程专业认知与定位

对比计算机科学与技术专业,软件工程专业侧重于用工程化的技术和方法,应用计算机科学、数学、及管理科学等原理来开发软件。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理[1]。软件工程包括十大知识领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量。

立足于计算机工业和软件产业的人才需求现状,高等院校的软件工程专业人才培养模式不仅要注重学生基础知识和动手能力的培养,同时也要注重学生工程能力和职业素质的培养。我院软件工程专业人才培养目标为:培养适应我国社会主义现代化建设需要,德、智、体、美全面发展的,掌握自然科学和人文社科基础知识、计算机科学及软件工程专业基础理论知识的,熟悉软件开发相关理论和知识的,具有软件开发实践和项目组织的初步经验和能力,具有创新和服务意识,具有熟练的外语运用能力,能在企、事业单位和行政管理部门从事科学研究、开发和应用的,能适应技术进步和社会需求变化的高素质、实用型、具有竞争能力的软件工程高级应用型人才。

2 现有人才培养模式存在的教学困境

现有人才培养模式存在的教学困境究其根源是由软件工程专业的学科特点决定,即软件工程学科涉及到理论、方法、工具的综合交叉;软件项目的过程、组织和管理涉及面广;同时软件工程专业的方法、技术和知识更新快、使用周期短、国际化程度高、应用范围广、服务性强以及软件使用的不连续性和不确定性[2]。

现有人才培养模式存在的教学困境:

1)专业核心课程工程化的原理贯彻始终,理论性强,理论指导实践的意义重大,但部分学生专业基础不牢,软件开发经验不足,无法把理论教学的知识与实践结合,课堂教学效果不好。

2)软件开发技术发展迅速,特别是云计算、物联网、移动互联网以及互联网+等技术的发展,使得学生在校学习的专业理论和技能素养跟不上社会对于软件工程专业技术人才的要求。

3 软件工程专业课程群建设

本文提出的软件工程专业课程群建设是在河南城建学院“人才培养模式改革”大背景下,结合软件工程专业的学科特点及现阶段的教学困境,提出了软件工程专业课程群建设方案。

需要强调指出的是,课程群建设并不是机械地进行课程排列组合,它应该是把一批具有相同认知结构和培养目标的本专业或跨专业课程的知识、方法、问题及解决方案有机地整合形成的课程体系[3]。课程设置要体现与时俱进,且要和当前高校的教学方法改革相结合,旨在为人才培养模式改革在系统化、理论化、工程化、实践化等方面提供建议,针对专业特点构建工程化实践教学体系,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,使学生各方面的能力都得到全面均衡的发展。

按照循序渐进的教学指导原则,本文提出的软件工程专业课程群建设,主要从课程群建设和实践能力培养两个方面进行阐述,从而形成一体化培养机制,使学生在打牢专业基础知识的同时,在实践技能方面得到全面均衡发展。

1)软件工程专业课程群建设

软件工程专业课程群建设从理论基础课程群建设考虑。其中,理论基础课程群建设可以细分为四个课程子群,分别为:公共基础课程群、专业基础课程群、软件工程专业课程群和专业方向课程群。

具体来讲,四个课程子群的包含的课程如下。

(1)公共基础课程群。包含思想政治类(具体包含课程:思想道德修养与法律基础、马克思主义基本原理、思想和中国特色社会主义理论体系概论和中国近代史纲要)、大学英语(一、二、三、四)、高等数学(上、下)、大学体育(一、二、三、四)和计算机科学导论等课程。

(2)专业基础课程群。包含高级语言程序设计、大学物理(一、二)、硬件类(数字电路、模拟电路、计算机硬件技术基础)、线性代数、离散数学、概率论与数理统计、软件工程导论等课程。

(3)专业课程群。包含程序设计语言类(具体包含课程:面向对象程序设计、Java基础、网站建设)、数据结构、计算机组成原理、数据库原理、计算机网络、操作系统类(操作系统和Linux操作系统),面向对象分析与设计(UML)、软件工程过程与管理、软件质量与测试、软件系统设计与体系结构、计算机安全和编译原理等课程。

(4)专业方向课程群。包括限选课和任选课两类。其中限选课分为两个方向:.NET方向(具体包含课程:C#程序设计、网站建设和 .NET企业级开发)和Java方向(具体包含课程:典型数据库、Java Web应用开发和J2EE企业级开发)。任选课具体包含课程:算法分析与设计、人工智能、平面设计、Android技术应用和绘画鉴赏等课程。

2)实践能力培养

实践能力培养主要从上机实验、课程设计、实习实训和毕业设计四个方面入手,着重培养学生的实践动手能力。

实践能力培养以“四面一体”为原则,着重培养学生的实践动手能力。所谓“四面”,是指实践环节从上机实验、课程设计、实习实训和毕业设计四个方面进行理论知识的深刻理解和熟练运用,从而使学生打下坚实的理论基础知识,并运用到实践。其中上机实验主要是对相关课程的理论知识点进一步理解和掌握;课程设计则是以小项目为基础,使学生对课程总体把握和熟练运用,把所学知识运用到实践中去,理论联系实践;实习、实训环节是让学生对新技术、新知识的学习,同时进一步提高学生的动手能力;毕业设计注重对理论知识和实践能力的综合运用,形成全面的专业技能。

“一体”是指“四面”的最终目的是为学生的实践能力服务,在毕业设计环节实现四面归一,提高学生从整体把握并综合运用所学的理论、实验、课程设计、实习、实训中的知识,知识归一、动手能力归一,形成全面的专业技能,使学生在进入社会工作后,有很强的实践动手能力,适应工作的需要。

4 结束语

本文依据我校软件工程专业认知与定位和现有人才培养模式存在的教学困境,提出了软件工程专业课程群建设方案,旨在为课程体系与教学内容整体优化提供有益探索,从而培养能适应技术进步和社会需求变化的高素质、实用型、具有竞争能力的软件工程高级应用型人才。

【参考文献】

软件工程专业课程篇(5)

摘 要:针对国家和军队信息化建设对软件工程人才的迫切需求,以及软件工程专业课程面临的知识与工具变化快、项目实践要求高、强调协同与合作等特征为目前在线课程模式和平台带来的挑战性问题,分析研究2014版软件工程知识体(SWEBOK)对在线课程建设的影响,分别针对大规模公开在线课程(MOOC)和小规模私有在线课程(SPOC)的建设提出一系列建设思路与方案。

http://

关键词 :软件工程;在线课程;软件工程知识体;MOOC;SPOC

第一作者简介:董威,男,教授,研究方向为可信软件工程技术、软件分析与验证,wdong@nudt.edu.cn。

0 引 言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参考文献,使得每次开课时学生教材也可以尽快进行相应修订。

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

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

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

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

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

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

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

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

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

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

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

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

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

4 结 语

软件工程专业课程具有变化快、对实践要求高、需要团队协作等特征,这些使建设软件工程专业在线课程具有更高的难度。MOOC课程和SPOC课程都是未来软件工程专业在线课程所需的模式,尽管已经有一些相关实践,但是如何建立较为系统、各门课程完善、质量高的软件工程专业在线课程,还需要更多的研究与实践。目前对SWEBOK中知识子域对在线课程建设影响的分析还较为初步,下一步还需要更具体地针对所包含的知识点研究如何通过在线课程进行讲授。此外,软件工程专业在线课程应该与软件协同开发环境有机结合,这还需要我们进一步进行研究,针对知识点要求形成科学的集成平台体系框架并进行建设。

http://

参考文献:

[1] 齐治昌, 谭庆平, 宁洪. 软件工程[M]. 3版. 北京: 高等教育出版社, 2012: 10-11.

[2] IEEE Computer Society. Software engineering 2004[EB/OL]./sites.computer.org/ccse/.

[3] IEEE Computer Society. Swebok V3[EB/OL]./www.computer.org/web/swebok/v3.

[4] Graduate Software Engineering 2009(GSwE2009). Graduate software engineering 2009[EB/OL]./www.gswe2009.org.

[5] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范[M]. 北京: 高等教育出版社, 2006: 248-330.

[6] Brienza V. The 10 best jobs of 2012[EB/OL]./www.careercast.com/jobs-rated/10-best-jobs-2012.

软件工程专业课程篇(6)

1教学理念

随着互联网络和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)

石油工程专业软件教学课程体系的改革,其目的是从适应石油工业长远发展的角度,面向飞速发展的21世纪,培养出一批石油工程高级技术人才。面对日益飞速发展的社会主义市场经济,面对国内外对于石油资源的高度竞争,我国目前对于石油工程领域的人才需求极其强烈,这就促使各石油院校要加强对于石油工程领域学生专业技能的培养,不断完善课程体系的改革,加强学生的计算机应用水平,提高学生的软件使用技能,满足国家对于石油类人才的需求。

为了从根本上改变石油工程专业软件教学体系,提高学生的全面素质,加强素质教育,改变过往以老师课堂传授知识为主的教学模式,学校应专门成立“石油工程专业软件教学课程体系改革工作组”,深入研究石油工程专业应开设的软件教学课程,并结合实际的应用情况,加强学生理论应用于实际的能力。

1 石油工程专业软件教学课程体系存在的问题

1.1 石油工程专业软件教学培养体系与社会需求脱节

经过对国内石油领域对于人才需求的调查与研究,目前国内石油领域需要的是软件操作基础扎实、全面的能够独立设计软件程序的软件编写人员;具有较强的工程实践能力,能够熟练使用石油领域专业软件分析并解决现场问题的现场工程师;懂石油工程的相关理论,具有一定研究能力,并能有效处理综合事务的复合型人才。社会对于石油类院校提出了这样高标准的人才需求,但是就目前情况来看,各石油高校还不能制定有效的软件教学培养体系。国外已经有很多高校提出了结合时代背景的新人才培养体系,国内各大高校应该积极学习国外的先进思想,加入符合我国石油工业现状的创新,不断深化石油工程专业软件的教学体系改革,为国家培养出符合时展,社会现状的高素质人才。

1.2 石油工程专业软件教学的教学手段和方式单一

目前国内高校对于人才的培养模式还是以传统的老师课堂传授为主,这种教学手法可以最大限度地将知识灌输到学生大脑中,但是却没有考虑到学生对于新知识的接收和理解效果是否理想。传统的教育注重听,但是对于现代社会而言,应用传统的教育手段培养出来的学生缺乏动手能力,缺乏创新意识,缺乏对问题的深入分析和理解能力,已经不符合现代社会对于人才的需求。国内高校现在也在尝试着将理论教学应用于实践之中,增加学生的动手实验课程,增强学生的自主学习能力,石油工程专业教学也在面临着这样的转型。为石油工程专业开设软件教学课程,是目前许多高校的教学手段之一。但是这种教学手段存在一个基本的问题,软件教学手段过于单一,同时并没有摆脱传统教育方式中的老师课堂传授的误区。学生对于软件的学习以实验课堂上老师的讲解为主,课堂下对于软件的研究学习还不够,这主要是学校和老师向学生灌输的软件学习重要性还不够,学生还不能完全意识到石油工程专业软件学习的重要性,仅仅是课堂上听老师讲课,将老师所传授的部分知识接受后,没有更加深入地研究和使用相关软件。

1.3 石油工程专业软件教学课程相对滞后,层次混乱不清

当今国际石油行业竞争空前激烈,国际石油形式日新月异。由于石油资源的不可再生性,许多国家都在研究石油领域新的开采、挖掘、使用等技术,以期石油资源得到最大限度的利用。基于这种现状,新的技术,新的概念,新的知识也不断涌现,原有的一些概念、知识、技术也在不断翻新,许多之前制定的教学方式已经不适用于新形势下的市场需求。但是我国石油高校存在的问题是,还不能敏锐地捕捉到国际石油行业的变化,教学体系的改革还不能及时跟上行业变化的脚步,特别是软件教学领域。众所周知,计算机软件是信息化时代的产物,符合信息化时代快速变化的特点,软件的使用周期明显缩短,更加便于使用、功能强大的新软件层出不穷,但是我国石油工程学生使用的软件大多是问世时间很长的、落后的软件,同时我国高校缺乏对于学生软件开发能力的培养,使学生既用不到最先进的软件,同时还不具备开发新软件的能力,导致我国石油专业领域学生的软件应用水平,创新能力不足。

2 以社会需求为导向,构建多层次教学体系

经过对于目前石油行业现状和市场需求的调研,我国高校应明确石油工程人才的培养目标。将学生培养成具有扎实的软件操作基础、全面的独立设计软件程序的软件编写人员;具有较强的工程实践能力,能够熟练使用石油领域专业软件分析并解决现场问题的现场工程师;懂石油工程的相关理论,具有一定研究能力,并能有效处理综合事务的复合型人才。在新的培养目标中,一是强调培养学生的基础技能和创新意识,二是强调培养以社会需求为导向。

根据对于石油工程专业人才社会需求的分析,我国石油类高校应加强石油工程类学生的软件学习和编写能力,完善石油工程专业软件的课程设计,更加全面和系统地建立软件教学模式,将石油工程专业软件的培养方向定位在:软件开发方向,软件熟练使用方向和软件测试方向。当然这三个方向是不同层面上人才的培养。石油类软件开发方向的人才,既要能熟练使用既有的石油类相关软件,同时要能够评估软件的各项性能指标,指出软件存在的不足,以及未来能够改进的地方。石油类软件测试方向的人才,要能够熟练使用各类石油类相关软件,在熟练使用石油类软件的基础上,合理、科学地评估软件的各项性能指标,以期对软件进行改进。石油类软件使用方向的人才,要能够将软件的使用和学习应用到实际的工程问题中去,利用科学的分析方法,解决实际的问题。同时,对于三类人才的培养,都要加强基础知识的学习,只有掌握了石油方面的基础知识,才能更好地应用各种软件去解决实际问题。在明确了这三种培养方向后,教师在实际教学过程中就能够做到目标明确,层次清晰。

3 构建实践教学体系

3.1 构建实践环节多层次体系

在对相关知识点学习和剖析的过程中,我国石油类高校还要加强构建实践的教学体系。将学生对于石油类软件的学习分为对于基础技能、综合技能、应用技能和职业技能的学习。

3.1.1 对于基础技能的学习

石油工程专业的课程知识体系要覆盖本专业软件工程体系与核心内容,在不断加强石油类科目学习的基础上,加强对于软件工程体系的学习,对于软件多使用的编写语言,如C语言等要掌握基本的语法规则和编写要求,具有程序化的思维,熟悉相关软件的开发环境,能够验证相关的实践技术知识点。

3.1.2 对于综合技能的学习

以学生所学习的石油工程基础理论知识为基础,以当前的面向对象的程序设计为工具,结合软件工程,质量工程,过程管理的基本原理和应用实践,使学生掌握当前先进的软件工程方法和技术,具备独立开发石油类应用软件的能力。

3.1.3 对于应用技能的学习

要求学生以开发团队的形式,独立完成一个软件项目的开发。培养学生团队协作的能力和自主学习,独立思考,开拓创新的能力。建立支持小组开发的软件开发支撑环境,让学生从“实践可视化”软件工程的角度学习和运用软件工程的思想和现代技术解决软件开发问题。

3.1.4 对于职业技能的学习

要求学生深入企业或单位,运用所掌握的理论与实践能力,运用当前较为先进的软件开发支撑环境,运用软件开发先进技术,能够以团队方式建立一个具有一定规模的测试合格的应用软件系统。

3.2 构建实训环节多层次体系

本着培养符合社会需求的高端人才,让学生能够“早知道,早认识,早上手,早熟悉,早应用”,我国石油类高校应该将教学计划与实训环节紧密结合,具体可以采用以下措施:

3.2.1 基础技能实训阶段

将一些石油专业的入门软件作为实习内容,让学生早早地意识到软件应用之于石油行业的重要性,并让学生具备一些初级的软件操作技能,能够简单地应用软件完成一些基础的应用实例。

3.2.2 认识实训阶段

让学生了解到有关于软件应用系统开发的基础知识,了解软件的开发环境,软件中数据库的建立等。

3.2.3 课程实训阶段

具体开设软件学习、使用、开发的相关课程,系统地向学生传授石油工程专业软件的相关知识,使学生在大脑里建立完整的知识体系,能够熟练地将理论所学应用到实际中。

4 改进教学方法和手段

软件工程专业课程篇(8)

1高等院校应用型人才培养模式研究

在互联网飞速发展的今天,开发实用性强的软件呈现爆炸式的增长趋势,软件人才的培养需求在不断增加,传统的软件专业技术人才的培养模式过于强调对计算机科学知识体系和计算机领域理论的要求,对于人才技能的培养是否能更好满足现代化社会发展的用人需求的分析研究不够。高等院校必须打破软件工程专业人才培养的常规模式,按照应用型软件人才的知识需求、学习需求、实践需求、个人能力发展需求进行专业人才培养模式的探索和改革实践,在实践中不断完善、优化专业人才的培养模式。高等院校应用型专业人才的培养必须要能够促进地方经济的发展、满足企业生产的需求,通过对学生实践应用技能的培养和提升,让学生能够综合运用知识、培养学生的创新能力。按照“企业环境、双导师制、工学结合、创新项目驱动”为主要原则,构建将学校学习与企业生产实践融为一体、将学生的学习环境与工作环境融为一体、将学校教师与企业工程专业融为一体、将教育专业培训和学生职业培训融为一体的产教有机融合的专业人才培养模式。高等院校应用型人才的培养模式要以区域性社会经济发展为主,以应用型专业技术人才为培养目标,加强学校与企业之间、学校与政府之间、学校与学校之间形成紧密的合作关系,以高等院校的专业为单元体,实现学校与社会相应企业之间的无缝对接。高等院校的应用型专业技术人才培养的专业设置、招生计划安排、专业技术人才培养方案的拟定、教学计划的拟定及其实施等工作都要广泛征求合作办学企业的意见和建议。高校应用型人才培养必须充分发挥高等院校和企业的优势资源,不断拓展人才的服务能力,将校企合作育人的科技成果转化为促进地方经济建设的支持和保障,积极拓展学生的社会实践活动和专业实践平台,为应用型专业技术人才的培养提供优质条件。

2高等院校应用型软件工程专业技术人才培养模式研究

2.1优化应用型软件工程课程体系

2.1.1专业课程体系设置高等院校的应用型专业技术人才的培养模式可以采用“3+1”的形式,这种培养模式是学生前三年在学校进行文化课程的学习与实践,最后一年到企业进行实习实训。在这种人才培养模式下,如何进行专业课程体系建设,如何在学校、企业、政府与培训机构之间架构起有效的沟通桥梁,如何建立校企联合培养的实践教学模式,都是高等院校需要解决的问题。高等院校的软件工程专业本身就是以广泛应用于工程建设为主要特征的专业,要想把实践教学渗透到课程体系的每一个模块中,必须让每门专业课程都为应用型人才的培养进行服务。基于这个原则,高等院校可以针对课程体系建设进行优化调整,第一学年的第一个学期可以开设专业的引导课,第二学期可以开设基础性专业课程;第二学年的第一个学期开设强化型专业课程,第二学期开设基础性工程课程;第三学年开设专业核心课及专业方向课程;第四学年安排学生进行校内、校外实习实训。将学生学习的四个学年度根据发展的需求进行合理调整,将课程设计、软件项目开发、校内及校外的专业技能实习实训、综合技能训练、深入企业实训等内容都纳入到课程体系建设中。软件工程专业的课程体系建设必须要将企业的文化、生产等内容纳入到课程体系建设中,如第一学年可以开设职业教育课、企业文化课等,激发学生的学习兴趣,提高教育教学的质量和效果。2.1.2课程资源的开发高等院校专业技术人才培养的质量是通过师资队伍的整体水平、课程体系建设和课程教学质量等方面综合反映出来的。高等院校的专业技术人才培养必须要通过课程教学来实现,课程体系建设的优化与课程资源的有效开发是民办高等教育学校实现应用型转型发展的关键所在。目前,很多民办高等院校都十分重视课程体系的转型建设,但是效果并不明显。课程资源的有效开发是课程体系转型发展建设的关键要素,它不仅能够满足学生对知识和技能的学习需要,同时还能有效促进教师的专业成长。课程资源的开发不能局限在教科书的编写上,更不能局限在学校内部资源的开发上,课程资源的开发建设必须包括基本资源和拓展性资源两个方面,它是指学生在学习和生活中,涉及对学生成长有利的一切课程实施内容,以促进教育目的的达成。课程资源的形成是课程及教学内容最直接的素材,其包括课程的教学思路、课程教学的内容与方法、教学过程所需要的基本资源等。民办高等院校的课程资源开发必须着力于学生的创新意识培养和学生的实践应用能力的培养与提升。在课程资源的开发过程中必须要以优化工作过程为体系的应用型课程资源开发为切入点,将软件工程作为专业课程的核心重点,建立并完善课程资源的项目开发标准,不断改革与创新教学方法和教学模式,创新考核评价方式,通过示范、引领作用全面助推课程体系的转型建设,构建科学的应用型专业人才培养体系,打造高素质的专业技术人才培养模式。

2.2课程评价方式的改革创新

高等院校的软件工程专业课程评价体系必须要建构多元化的课程评价方法,将期末的一次性考核变为学生学习过程的多次评价,实行分段教学、多次考核、多样考核的课程评价体系,确保课程评价体系更加符合学生的成长需求。在日常教育教学中,可将学生的分组研讨、实习实训、技能考核、实战演练等学习、实践过程纳入学生日常学习考核中,综合每一阶段的考核评价结果作为学年或年度该学生的学习质量评价成绩,尽可能减少理论性的试卷考试,尤其是理论性的闭卷考试科目,将闭卷考试与开卷考试相结合,使学生的理论与实践技能操作相结合,重点考核学生的综合实践能力和应用创新能力。

2.3课程教学模式的改革研究

教师在教学中,要将原有的多门类软件理论课程进行教学资源的重组,将系统化、工程化的制作案例作为教学的主体思路。重点强调各科目理论课程的有效衔接,将理论知识教学融入到工程的开发与实践中,实现理论知识与实践应用相结合、相协调发展。软件工程的课程设计、软件项目的开发、校内及校外的专业技能训练、学生的综合技能实习训练等科目内容要作为学生学习课程的主线,通过深入分析课程教学项目的实际需求,进行创新设计并应用到实际教学中,让学生在学习过程中将理论知识运用到实践操作中,并能在实践操作中深化理解理论知识,更好地促进学生知识、能力与素养间的协调发展。

3结语

为了促进民办高等院校的办学质量和品质,保证民办高等院校能够走健康、可持续发展之路,民办学校的软件工程专业必须紧紧把握专业自身的创新发展优势,根据现代化社会的发展需求,创新专业人才的培养模式,建立专业的以培养学生能力为中心的专业人才培养目标,改革课程体系,充分调动师生教与学的积极性和自主性,切实提升课堂的教学质量,不断提升学生对问题的独立思考、分析、解决问题的能力,适应社会和企业对专业人才的需求。

软件工程专业课程篇(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)

随着教育体制的改革和高校扩招的推进,我国普通高校的学生人数日益增长。据统计,我国普通高等教育在学人数位居世界第一,高等教育毛入学率达到22%。由于在校人数的激增,各高校在学校的各项管理上都会作出一些调整,以便更好地管理学生。而作为各高校的重点管理项目系统——课程管理系统,则更需要作出应对措施,以便达到很好的管理效果。传统的人工课程管理方式已不能适应这样的大环境。本文研究的课程管理系统,从以下几点对普通的人工课程管理方式作出了改进,达到用网络系统进行管理的效果,使学校能更好地进行课程管理:

(1)建立健全的选课制度;

(2)实现学生与教师在线交流;

(3)在校学生选课更具弹性。

课程管理系统就是为课程建立网站,老师可以在网站上课程大纲、教学计划以及每堂课的教学内容,并布置作业、批改作业、公布学生成绩等。

课程管理系统的应用,将会大大提高教务管理的工作效率。本文将重点探讨如何在信息查询、数据维护及统计等方面体现自身特色,采用安全可靠的C/S开发模式实现学生课程信息管理的信息化、规范化、科学化。本系统还分析了系统在高校管理系统应用后的系统兼容性问题,最终提出“数据仓库+数据挖掘+OLAP”组成的DSS解决方案。在开发过程中,系统开发使用目前最为流行的MVC设计模式和基于MVC的WEB应用开发框架。本系统主要分为评教管理、选课管理和考试管理三大部分,将功能需求与非功能需求结合,同时考虑系统的综合性能。在系统框架设计上最大程度减少系统开发和维护的工作量,大大提高了工作效率。

二、系统需求分析

软件工程课程管理系统的功能需求是根据部分高校软件工程专业学生的课程管理的实际情况分析的,由于课程管理工作较为繁琐、量大,且是学生管理中重要的一部分。学校为了使学生能够更好地完成课业,给学生创造了自主学习的条件:让学生自主安排上课时间,选择自己喜欢的老师,同时也可以选择与自己专业无关的课程。在这些基本课程管理的基础上,作为软件工程专业特有的课程特点,该课程管理系统也为学生提供了工作室的选择。

1.系统功能概述

软件工程课程管理系统主要为了提高课程管理水平而设计。根据用户类型将本系统划分为选课管理、文件管理、成绩管理三个子系统。

(1)选课管理。在学生进行评教之后,系统为其自动开通选课功能。根据学校提供的课程信息,学生根据个人情况自主安排上课时间、授课老师以及课程,但选课时必须遵循以下规定:每个学期选择的课程总学分不能超过30;同一课程不能重复选择;两个或两个以上的课程不能有时间冲突;软件工程专业的学生在大三时要进入工作室,因此要进行工作室选择。

(2)文件管理。选课成功后,开始授课。由于大学课程成绩由平时成绩和期末考试共同考核而得,所以对于平时成绩的管理也很重要,平时成绩的重要部分就是老师布置的课堂作业的评定。老师将课件上传,学生下载课件温习课堂内容,课堂作业布置后,学生将作业上传,老师在线打分,以此分数作为最终成绩的审核指标。

(3)成绩管理。期末时,老师公布成绩,最终成绩是根据期末考试成绩和平时成绩两项按比例综合给出。当学生查询自己的成绩,发现有科目未达到及格分数时,就应该在规定时间进行补考登记。同时成绩管理还包括计算各专业、各班级成绩及格率和优秀率,为学生的各项评选提供有力依据。

2.系统业务流程分析

根据软件工程课程管理工作的流程,该项目可以分选课管理、文件管理、成绩管理三大模块。系统分成为用户端和管理端,用户端主要提供学生选课的相关信息,管理端主要是教务处公布课程信息以供学生参考选课,在学生提交成绩复查时进行成绩审核。

3.系统数据流分析

在具体分析了系统的各个业务流程后,设计系统的数据流图明确系统中数据的具体流向。对于该系统来说,学生、教室和教务处是系统的外部实体,选课管理、文件管理、成绩管理是系统对数据的主要处理工程。数据从实体流出,经过加工处理后流入实体中,系统同时对处理好的数据进行储存。

图1是对选课管理业务中学生选择课程的详细数据流图,图中学生进行评教,为上学期选择课程的老师打分;评教成功后,参考教务处公布的课程信息进行选课,选择的课程不能有时间冲突,不能超过每学期要求的最高学分;选择好课程后,学生的选课信息提交到教务处,形成学生个人课程表。

三、软件工程专业课程管理系统设计

1.系统总体结构

该系统采用B/S设计结构以实现学生课程信息管理的信息化、规范化、科学化。

(1)按系统功能分。该系统分为选课管理、文件管理、成绩管理三大管理模块。

(2)按用户对象分。该系统分为学生申请查询系统和院校管理系统两个部分。

2.系统功能模块设计

软件工程课程管理系统主要分为三大模块,即选课管理模块、文件管理模块、成绩管理模块。选课管理模块主要是实现学生选课功能,在此模块中,先进行学生评教,评教成功后,系统自动开通选课功能;再由学生根据教务处提供的课程信息开始选课,选择的课程全部符合规定后,选课成功;同时,学生在大三时,可以进行工作室的选择。

文件管理模块主要是教师与学生通过该系统进行交流的模块。课程开始后,教师将该课程的课件上传,方便学生进行下载。当教师需要对学生进行考核时可以上传作业,学生下载完成后再提交给教师。

成绩管理模块主要是对学生的成绩进行综合评定。教师将学生的平时成绩和考试成绩公布,统计最终成绩。若成绩低于60分,学生应申请复查;若复查结果无误,该学生就要在相应的时间进行补考登记。

3.数据库设计

分析系统的功能并结合各个实体之间的关系得出系统总体的 E-R 图,如图2所示。

上一篇: 党务工作汇报 下一篇: 初级会计实训总结
相关精选
相关期刊