前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的软件工程实训总结主题范文,仅供参考,欢迎阅读并收藏。
地方性高校培养应用型人才,需要了解市场发展的导向,社会行业对人才的需求,以及着眼特色办学的核心竞争力,实现自身的发展[1-2]。软件产业发展已经被国家提到战略的高度,为了配合其快速的推进,我国高校也正在扩大培养软件工程方面的专业人才的规模。软件工程专业论文是2002年国家教育部新增专业[3],该专业主要以培养软件工程专门人才为目标。我校软件工程专业由教育部于2015年批准的新专业,起源于我院计算机科学与技术专业软件技术方向。
徐州工程学院作为新兴的地方性高校,在软件工程专业建设方面,不仅需要学习和借鉴重点大学、国家示范性软件学院的经验和做法,更重要的是结合地方院校的特点和实际情况,办出特色。因此,应用型人才培养体系的建成,应该直接为当地经济建设和社会发展服务,适用面广、实用性强,具有鲜明特色。本文主要阐述以工程教育认证质量评价机制为指导的徐州工程学院软件工程专业在理论和实践方面的培养体系。
2 市场调研
为了制定针对性的培养模式,首先组织一些学科教授和骨干教师,对软件工程专业的就业形势、市场需求等进行为期2个多月的市场调研,调研对象包括国有大中型企业、私营与股份制等公司的负责人和技术骨干。本次调研内容包括实地参观学习、与企业召开研讨会,并向企业发放调查问卷表500份,收集有效调查表437份。
通过这次调研,总结软件工程专业的市场需求、人才结构和素质要求、企业技能标准等信息,发现软件工程技术人才奇缺,涉及很多方面,主要原因是大部分高校计算机专业不注重应用型软件人才的培养,学生毕业后面临的是二次学习的困境。因此,对学生的培养不仅需要完整性的实训锻炼、强调企业项目经验、注重培养学生的分析与解决问题的能力,更需要注重团队合作意识;在课程设置方面应该与企业长期合作,开设企业实用的技术课程和职业综合素质的内容。
3 软件工程专业应用型人才培养模式
软件工程专业强调软件开发的系统和工程性,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才[4]。软件工程专业沿用徐州工程学院计算机专业“3+1”培养模式,具体模式为学生在前三年完成通识课程、专业课程的学习,以及课程基本实训,最后一年在企业完成项目级实训、职业训练和毕业设计。
表1所示为软件工程专业课程构成及学分分配汇总表。徐州工程学院软件工程专业课程主要分为三大平台。其中,通识类课程平台包括通识必修课、通识选修课以及学科基础课;专业课程平台主要包括专业必修课和专业选修课。
知识支撑能力结构 根据软件工程专业的培养目标,确定课程知识支撑能力结构,如图1所示。课程设置本质上是为了培养学生能力的,因此,为了培养学生英语能力、熟知行业标准、管理能力以及创新意识等,设置学科基础课、通识类课程以及专业课程、专业技术导论、讲座等课程;为了培养持续学习、协作和项目分析等能力,设置软件工程课程群、企业实训课程以及职业技能训练等课程。
理论知识体系结构 软件工程专业理论知识体系结构包括通识课程群、学科基础群、专业课程群,其中专业课程群是核心课程。专业课程分为程序设计基础知识、软件开发技术知识、数据库原理知识、计算机系统知识、软件工程知识等5个子课程群。其中,程序设计基础知识包括数据结构、面向对象的程序设计(OOP);软件开发技术知识包括Java Web方向课程群、移动开发方向课程群等课程;数据库原理知识包括数据库原理及应用;计算机系统知识包括计算机系统基础、操作系统等课程;软件工程知识包括软件需求工程、软件体系结构设计、软件质量保证与测试、软件项目管理。
实践体系结构 软件工程专业实践体系结构如图2所示,主要分为四个阶梯:
1)个人级的实验,主要由校内教师进行指导,学生独立完成课内实践环节;
2)小组级的实验,需要2~4个学生为一组,为完成程序设计、算法设计、面向对象技术开发,通过沟通和相互协作完成,注重技能的训练;
3)项目级的实训,主要由企业教师指导,学生完成专业方向技能、软件工程综合训练;
4)企业级的实训,为了检验学生综合能力,由学生独立完成企业项目综合训练、职业技能提高以及毕业设计。
为了加强校企合作培养的效果,每4~6个学生配备一位校内指导教师和企业指导教师。校内导师在学生入学后确定,主要任务是“学业综合指导”;校外导师在学生入学后的3年内确定,主要任务是“工程实践指导”。学生在三年级初步确立毕业设计选题,由校内导师和企业导师联合进行指导。
基于工程教育专业认证的质量评价 为了加强软件工程专业的质量评估,以工程教育专业认证为指导,建立针对整个培养过程的质量监控和完整有效的评价机制。在每个教学环节,基于认证标准,明确质量要求,定期进行课程体系设置和教学质量的评价。此外,在整个学习过程中对学生的表现进行跟踪与评估。
以上这些质量评估措施,保证学生毕业时达到毕业要求,毕业后具有社会适应能力与就业竞争力;后期,毕业之后阶段,仍然采用跟踪反馈机制,通过记录评价和效果,证明学生能力的达成,并逐步对培养模式进行持续改进。
很显然,只有建立完善的质量评估机制,才能保证按预期的目标完成专业培养要求。因此,从地方性高校实际出发,以工程教育专业认证为质量评价指导,不断完善培养模式,这样才能培养卓越的学生,为企业持续不断地吸引优秀的生源。
4 总结
徐州工程学院作为一所以应用型工科教育为主的地方本科院校,软件工程专业应用型人才的培养需要有别于高职高专的培养模式,需要更注重高层次应用型技术人才的培养;又要有别于传统学术性高校“精英型”人才培养目标、课程体系设置、教学模式以及师资要求等。
软件工程专业培养标准最需要解决的问题是注重软件工程宏观意识,培养持续学习能力、交流与沟通能力。鉴于此,本文提出以工程教育专业认证为指导,构建软件工程专业应用型人才培养体系,以期为地方性高校软件工程专业能够培养更多卓越的软件工程方面的人才提供一种方法和途径。
参考文献
[1]宋思运.应用型本科人才培养模式的构建[J].徐州工程学院学报,2005,12(20):11-13.
[2]金忠明.我国高等教育发展质量面临的问题与分析[J].徐州工程学院学报,2013,28(6):92-96.
关键词:软件工程;课程群;课程群体系
中图分类号:G642 文献标识码:B
1引言
软件工程是运用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理的方法;是将系统的、规范的、可度量的方法应用于软件的开发、运行和维护的过程。中国的软件产业以软件工程为指导思想得到了迅猛发展,使得软件工程人才的培养发生了巨大的变化。然而,人才需求与教育供给的不足产生了矛盾,以传统的课程体系、单一的课程模式来培养软件工程人才已不能满足软件产业发展的需求,成为软件工程教育发展面临的一个重要问题。解决这一问题的关键之一是需要在不断的教学过程中,研究适应软件产业发展需求的人才培养模式以及相应的软件工程教学思路和方法,形成一个正确的课程群体系,在该课程群体系的保证下,不断提高教学质量使软件工程教育得到健康稳步发展。
传统的软件工程人才培养课程体系存在着以下几方面的问题:(1)工程特点不明显。课程安排过于传统,偏重计算机科学与技术的课程模式,偏重基础理论和方法的传授,没有突出现代软件工程的发展特点,忽略了体现软件工程特点的关于质量、进度、成本、度量、团队、管理等方面的教育和实训。(2)分工不细,与应用领域结合不紧。软件工程的应用范围不断延伸,已经深入到各个方面。而软件工程的教育却没有达到与应用领域的紧密结合,造成事实上的脱节。(3)单一的课程模式,不利于整体知识的贯穿。传统的课程体系中,与软件工程有密切联系的课程没有形成一个课程群,每门课程都是按照各自课程的体系独立授课,使得有些知识点过于重复,有些知识体系不能有机地衔接。(4)软件工程教育与软件产业结合不紧。软件工程的教育不能及时更新教育理念,不能及时跟踪软件工程行业的最新发展趋势。造成当学生毕业后参加工作时,不能很快适应较大型软件的个人或团队开发。(5)忽视交流能力的培养。交流能力是工程能力培养的重要方面,但现有的软件工程教育体制却秉承了传统的教育方法,忽视交流能力的培养。鉴于以上这些问题,开展以软件工程为主线的课程群体系研究是非常必要,也是很有意义的。
2研究现状
目前,单纯的计算机学科式教育已跟不上当今产业界对工程型IT人才的迫切需求。不仅如此,服务于单纯的计算机学科式教育的传统的实践教学也日益暴露出与企业需求和现代化工程型人才培养不相匹配的弊端。如何突出实践教学的效果,如何将相关的课程组成一个课程群,使工程化培养在整个培养模式中的地位、分量和作用不断加强,使学生的知识体系更加科学化、系统化、更加连贯、更加适应社会需求,是目前绝大多数学校和用人单位共同需要解决的课题。
2003年教育部设立了“软件工程课程体系”研究项目,以确立我国软件工程教育体系的框架。由若干著名高校联合组织了课题组,深入分析ACM和IEEE的《Computing curriculum-software Engineering》[1],研究探讨我国软件工程学科的教育思想、课程体系、教学计划等,并结合国内部分著名高校软件学院的教学成果,形成了《中国软件工程学科教程》[2]。国外,在软件工程专业人才的培养中也提出了许多建议,如文献[3]中谈到Computing curriculum-software Engineering对软件工程人才培养发挥着很重要的作用。
据调查,通过几年的探索,目前中国三十多所国家示范性软件学院均在不同程度上创建了一套以质量为目标,以主动服务于企业为特色,按工程领域需求培养,设置相应的课程体系与实践环节,同时建立与国内外知名企业合作,成立校内外实训基地,建立新的工程型软件人才培养模式。
南京大学软件工程专业推行的工程化实践教学体系可以简单地用“一个教学理念、两个培养阶段、三项保障措施和四门实践课程”加以概括。一个教学理念,指树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念。两个培养阶段,指分别设置工程化教学阶段和企业实习阶段,把工程化素质培养作为学生全培养期中自始至终关注的主线。三项保障措施,指通过教学方法创新、评价体系创新和实验室建设创新,保障了工程化教学理念的实施。四门实践课程,指设立了程序设计、软件工程课程、信息系统课程、网络平台四门特色化的工程化实践课程。中国国防科技大学在软件工程专业教学改革实践中,围绕着以建立科学的软件工程教学内容体系为前提,突出实践,激发学生主动探索和实践的热情,利用案例式教学,同步构筑立体化教学互动平台。东南大学软件学院提出了校企合作培养工程型人才的模式,通过教学的探索和实践,把教学和工程实践紧密地结合起来,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式,取得了较好的效果。
3课程群体系的建设思路
工程型软件人才的培养需要有一个贯穿始终的工程概念作指导的课程体系和与之配套的实践环节。在课程群体系建设中主要考虑了以下几方面的问题。
(1) 梳理以软件工程为主线的系列课程之间的关系,确定以软件工程为核心的课程群的内容和课程群体系架构。明确课程群中的基础课程、专业课程和核心专业课程,以及它们的主要内容和大纲,确保课程群的知识体系结构合理、知识衔接合理、实践环节安排合理,以避免知识点缺乏或知识点重复,以及知识体系不连贯等问题。因此,我们深深体会到深入讨论和研究课程群内课程之间的关系和内容是至关重要的。
(2) 课程群的内容设置既要考虑夯实软件工程的基础,又要考虑软件工程的素质和工程化思想的培养。软件工程的基础是建立在多个不同学科之上。它不仅需要计算机科学的理论和基础知识,诸如数学、工程学、项目管理及其它应用领域的概念,同时也需要培养学生软件工程的基本素质和基本技能。考虑设立了“程序设计类课程+软件工程类课程+数据库、网络等专业类课程+认证类课程”的课程群体系。特别应该强调是在本科的早期阶段,为了避免学生养成不良的编程习惯,树立规范编程和团队合作的思想,在加强程序设计类课程的实训环节同时,考虑个体软件过程和小组软件过程等软件工程基础和素质课程的设置。认证类课程的融入旨在提高学生的基本技能和软件素质。
(3) 建立起更加完善的、与课程群体系相适应的实验、实训、实践教学体系。工程化思想的培养离不开实践环节。如何提高学生的创新能力和工程实践能力是课程体系实践环节设计的关键。实验是吸收、消化课程内容的第一实践环节,实验内容的设计既要考虑对基本知识的理解又要考虑对后续内容的铺垫,既强调知识与技能的融合,又强调创新思维能力的培养。整个实验课程体系的设置涵盖了“技能、基本知识、设计、综合、创新”五个层次。实训是对课程内容的总结,在加强案例教学的同时,遵循学生的认知规律,合理安排实训的内容,既考虑课程内容的衔接又考虑加强工程化的训练,把提高学生的创新能力和工程实践能力贯穿于整个实践环节的始终。我们采用了目标驱动式的实训策略,使学生在实训初期,就了解最终完成的系统要实现的功能。从系统目标出发建立层次化的实训架构,使学生变被动为主动,有的放矢、完整系统地构建自己的知识和技能体系,增强学生在设计上的全局观念。实训环节中还考虑了加强与企业的合作,将企业的资源优势与学校的理论知识优势充分地结合,共同设计和建设课程群中的实训项目。
(4) 进行教学方法和教学手段的改革,使其适应软件工程人才的培养。软件工程类的课程内容纷杂,在教学过程中容易出现空洞的说教。为了避免这一问题,改革了现有的、传统的课堂教学方式,在加强案例教学和实践环节的同时,多采用课堂讨论、小组报告、项目答辩等多种形式的教学方法。在课程群体系的建设中重点研究、设计和提出能够贯穿于软件工程为主线的课程群的案例。该案例的设计以培养兴趣、激发创新激情为源点,从软件工程的基础入手,使学生能够循序渐进地接受并融会贯通所学知识,再进一步地激发创新激情。通过案例的学习,既能巩固已学过的知识,又能在此基础上让学生实际运用他们所学过的知识和技能,模拟案例提出相应阶段自己的问题,并给出解决方案,真正使学生体会和做到学以致用。
(5) 以软件工程为主线的课程群体系研究的同时加强教材建设。目前我院在软件工程类课程中采用的教材都是原版外文类教材,这些教材从理念上来讲是比较新的,但是其中的案例都是国外企业较为流行和实用的,有些内容和我们的国情存在着差距,国内学生接受起来有些难度。为此在引用国外教材的同时,设计符合国情、符合软件工程人才培养要求、符合课程群建设以及贯穿于整个教学环节的案例教材是我们研究和建设的重点。
4解决的关键问题
(1) 课程群内容的筛选。软件工程专业主要以培养高层次、工程型、国际化人才为目标。如何确立以软件工程为主线的课程群内容来满足这一人才培养目标,如何在课程群中强调软件工程的相关概念、原理和观点,帮助学生形成系统的软件工程思想,如何在知识的涵盖面、创新灵活性和知识与实践的结合上取得适当平衡,是解决的关键问题之一。
(2) 课程群体系的改革。工程型的课程体系是进行工程型软件人才培养最基础的环节,如何在传统课程体系的基础上,加强各课程之间的衔接、配合,增加贯穿始终的案例教学、添加社会和企业需要的专业技术课程,从而最大限度地发挥课程群体系的作用。考虑将多个课程模块整合在一起,覆盖软件工程教育知识体系SEEK的所有知识领域,并与IEEE-CS/ACM联合推出的软件工程计算教程CCSE 2004的教学要求基本吻合,保证课程群内容的科学性和系统性。
(3) 加强先进教材体系建设。遵循“体现素质教育和创新能力培养”、“稳定性和先进性相协调”的原则,在借鉴国际著名教材的基础上,结合科研成果,对原有教材不断更新改版同时,着力建设与课程群体系相匹配的高水平教材及实验、实训教材。
(4) 校内外实践教学体系的建立。实践教学体系包含课程实验、课程设计、综合实践等内容。课程实验、课程设计是保证课堂教学的非常重要的实践环节。如何选择合适的案例贯穿整个课程群体系,是激发学生学习兴趣,确保学生掌握一些重要思想的关键。综合实践活动既可以在校内进行也可以在校外实施。校内的综合实践活动是通过贯穿于整个知识体系的大型案例,让学生实际参与,并承担相应的角色,在实践过程中让学生充分理解和应用所学的知识。校外实训基地的建立为学生与企业无缝对接提供了便利条件。校内外实训体系的建立也是学院联系社会、联系企业的重要途径,也是促进学生就业的直接渠道。实训基地是学院进行教学改革和工程化培养最前沿的,同时也是最富有成效的阵地。因此,建立稳定、有效的实践教学体系,是关系到人才培养成败最重要的环节之一。
(5) 信息化平台的建立。学院信息化建设为整体教学环节提供了有力的平台支持。如何建立合理、高效的以软
件工程为主线的课程群体系信息化平台,也是全面实施教学改革所必须要解决的问题。按照突出“知识的综合运用能力”、“系统的分析设计和集成能力”、“科技创新和团队协作能力”培养的指导思想,建立起支撑课程群的实践教学环境。充分利用现代教学手段和网络资源,构建在线资源、案例库、答疑区,增加与学生的交流,提高教学质量。
5结束语
针对软件工程专业人才培养的需求,加强以软件工程为主线的课程群体系的研究和建设,不仅使我们的教学内容更加科学、系统、规范、丰富、充实,也加强了与企业之间的联系,使得课程教学与实践教学更加协调,实践内容更加丰富,提高了学生的实践能力。
今后我们还要进一步加强和完善课程群体系的建设,在建设中既要进一步充实课程群的课程内容,协调各课程之间的相互关联、衔接,还要充分考虑各教学、实践环节的完善和改造,引进和借鉴校外资源和社会资源,使学校的教学优势与企业实践平台等一系列优势资源结合在一起,在使学生得到良好培养的同时,企业也得到了优秀的人才,学校的培养质量也得到了全面提高。
参考文献
[1] Computing Curriculum―Software Engineering: Final Report,IEEE Computer Society /ACM Joint Task Force on Computing Curricula[EB/OL]. /ccse/volume/FinalReport-5-21-04.pdf.
关键词:实践教学;CDIO;项目管理平台:创新性教学团队
国家示范性软件学院的培养目标是培养“多层次、实用性、复合型和国际化”的软件工程人才。如何培养软件技术人才所必需的实践能力、工程能力和创新能力,一直是软件人才培养所面临的课题。目前,大多数软件学院都设置了实践教学课程体系,并开设了工程实践环节,但普遍缺乏对实践教学环节的过程管理,效果并不尽如人意,具体表现如下:
(1)实践教学体系设置不够完善,缺乏对实践教学的过程管理,没有建立配套的成绩考核体系。
(2)不重视工程化思想的培养,没有很好利用先进的实践管理平台跟踪管理学生实践项目。
(3)缺乏具备行业工程领域背景和国际化背景的高水平创新实践教学团队。
因此,如何完善实践教学体系。建设实践管理平台,培养创新性的教学团队,把突出理论教学向“实践引领理论”教学过渡,是我们亟需解决的问题。
1 实践能力训练体系的构建
在设计软件工程专业实践课程体系过程中,我们依据国际先进的CDIO工程教育模式,把实践教学按照课程实验、项目实践、工程实训几个阶段设计,进行了全面改革。
CDIO工程教育理念是融构思(conceive)、设计(Design)、实施(Implement)和运行(Operate)能力于一体培养人才的模式。构思、设计、实施和运行涵盖了现代工业产品从构思研发到运行改良乃至终结废弃的生命全过程,以此全过程为载体,培养的不仅是学生的理论知识和专业技能,而且包括终身学习能力、团队交流能力和大系统掌控能力[3-4]。
我们把CDIO工程教育理念引入到软件工程专业时,通过实验、实践、实训一体化的工程能力训练体系,完成CDIO能力的培养。如图1所示,我们设定了明确的阶段培养目标:即熟练的程序员(程序上熟悉软件工程原理和方法的软件设计者(软件)――应用解决方案的优秀团队成员(系统),并将这一思想贯穿到人才培养计划的各个环节。
根据这一思想,我们设置了相应的实践课程体系。如图2所示,把实践性教学分为课程实验、项目实践和工程实训。其中课程实验包括设计性实验和验证性实验;项目实践一为了提高学生的软件开发能力,让学生能够熟练掌握至少一种编程语言,增强信心,因而项目不大,适合学生个体独立完成,时间安排在大学二年级。通过项目实践一的培养,学生的学习热情大大提高,学习目标更明确。
工程实训一为了让学生熟悉软件工程研发的全过程,周期为3周左右。学院可以聘请软件开发公司的项目经理指导实训,用软件工程的理论指导软件开发,最终使学生完成需求分析、建模、设计、代码编写、测试、部署全过程。
在工程实训一的基础上,需要进一步提升自我管理、协调及团队合作精神,因此项目实践二以小组成员分工协作方式共同开发一个完整的项目,进行分析、设计和编码文档,学生的学习活动在项目开发的过程及软件工程方法的驱动下完成。
最后,学生通过工程实训二,即企业实践参与实际的软件开发工作,全面提升软件开发素质,完成由学生到软件开发工程师的角色转换。在工程实训二中,可以安排学生进入企业实习基地实习,模拟企业真实开发环境,严格按照企业管理模式管理、考核,让学生体会实际项目开发的工作氛围和职业要求,提高团队协作意识和沟通技能,养成良好的工程习惯,全面提升就业竞争力。
2 项目实践管理平台的搭建
没有高质量的开发过程,就没有高质量的软件。软件工程过程化的管理是保证实践教学的重要环节。我们建设了完善的项目实践管理平台,对学生实践过程开展科学、规范化的过程管理,组成如图3所示。包括知识管理(wiki)、源代码管理、错误跟踪管理、源代码统计、软件测试管理、项目进度管理。这几个管理平台并非独立管理软件,而是通过统一认证平台集成各管理子系统,实现单点登录及统一用户权限管理。
(1)知识管理。主要为学生提供学习交流的平台,学生可以在该平台上设计项目计划、工作方案,撰写工作日志,提高团队合作交流能力及独立解决问题的能力。
(2)源代码管理。用来管理程序源代码和文档,为项目开发团队提供一个管理软件整个生命周期的平台,有效实现了团队的协作和服务。
(3)源代码统计。为教师提供监管学生提交的程序代码的平台,教师可以随时检查学生提交的代码,统计完成代码量情况等,实施过程控制。
(4)错误跟踪管理及软件测试管理。帮助学生管理软件测试过程中发现的错误,可以与源代码管理平台间进行有效的整合。测试人员可以将测试过程中发现的错误及时反馈给开发人员,随时监督程序的修改状况,提高管理效率,保证项目的顺利实施。
(5)项目进度管理。帮助学生有效管控项目进度,减少项目沟通、协调、进度反馈会议,及时发现和管理项目问题。
实践教学管理平台支持环境覆盖了企业中软件开发平台的主要功能,有效实施了实践教学过程和质量保障过程的统一管理,也为学生实践软件工程理论和方法提供了有力的底层支撑。在项目实践教学中,我们采用符合软件产业界标准的软件过程规范,制定了开发流程、文档模板和评审标准,让学生能够切身经历项目开发的完整过程,深刻理解软件工程系列课程的理论和方法,提高实战技能和团队协作能力。
3 考核体系的建立
成绩考核是实践教学的重要环节,抓好这一环节,能对学生掌握的知识进行正确合理的评估,提高教学质量。实践教学的考核方式不同于传统的考核方法,它更侧重于对学生的实践动手能力、综合运用能力、文档写作能力、团队协作及创新能力的考核L7 J。
项目实践、工程实训l成绩可以从下面几个方面进行重点考核:
(1)业务能力(满分60分)。
・完成项目进度能力。
・项目完成质量。
・文档的规范性。
・英文阅读能力。
(2)综合素质(满分40分)。
・工作积极主动性。
・学生的自我成长能力。
・制度、纪律的遵守。
・团队协作能力。
上面的每一项考核均可以划分为优、良、中、差四个等级,并采用不同的分数权重,最终得到一个总的实践分数。这种考核结果能够比较全面地反映学生的实践学习情况,促进学生的全面发展。
4 创新实践教学团队的建立
提高实践教学质量,需要建立一支具有行业背景、国际化的创新实践教学团队。防止实践类课程蜕变为理论教学,教师必须有新的教学理念、讲授模式和课程管理机制。同时,软件工程系列课程的特点要求教师要成为一名具有丰富开发经验的项目管理人 员。在实践教学中,教师不再是课堂讲授者,而更像一位工程项目经理,负责提出项目的要求、检查项目(学生)的开发进度、监督开发过程、评定软件质量。在课堂集中教学中,教师又像一位主持人,召开的是项目进度汇报会、技术交流会、软件演示会等。
创新型实践教学团队的建立需要一批高素质的教师,教师要掌握最新的软件技术,使用主流的软件开发平台,对教师能力有较高要求。所以,要重视对教师的培养工作,鼓励和资助年轻教师攻读学位和进修,通过团队合作、以老带青的形式,提升青年教师的研究能力和教学水平。为保证教师团队的整体质量,我们通过各种方式提高教师团队的工程领域背景和国际化背景,主要包括:
(1)研究中心负责前沿技术研究并开发原型系统,企业负责将其产品化并进行市场推广。
(2)派研究生和高年级本科生到软件企业从事研究和软件项目开发。
(3)组织教师参加企业新技术培训。
(4)定期组织教师与企业研发人员开展软件新技术和项目管理经验交流。
(5)定期派教师到国外进修或参加国际交流会议。
通过以上机制,参与项目开发的教师不断总结项目开发中的各种问题,撰写总结报告,积累项目开发经验,并将其运用于课堂教学之中,丰富教学内容。同时,结合行业工程背景和国际化背景,凝练软件工程开发项目,提取软件开发案例,建立软件工程项目案例教学资源,实现案例教学,最终实现教师与开发人员之间的“零距离”。同时,在软件工程系列课程中,教师采用项目开发中积累的案例传授开发经验,让学生真正理解软件工程系列课程的理论知识和方法,掌握软件工程的最新技术,建立软件开发的系统化与工程化观念和质量意识,实现“科研带动教学,教学促进科研”,二者相得益彰。
地方院校教学目标是培养社会所需要的应用型人才,这是其优势所在。实训教学是指独立设课的实训课和理论课中的实训环节,是实现培养目标的主体教学环节之一。实训教学是培养学生专业技术应用能力及分析问题和解决问题能力的重要途径,是教育过程中不可缺失的重要环节。本课题的研究基于某些国内外知名企业提供技术服务为基础,以梧州学院软件工程专业为探索平台进行的教学改革实践。校企合作的内容主要包括实践教学体系建设、实训教材建设、实训基地建设、产学研等多方面。
着力打造“4+5”的实践教学体系
学院软件专业打破传统的三段式教学,着力打造“4+5”的实践教学体系。“4”是指突出培养学生四种能力(实践能力、创造能力本文由收集整理、就业能力和创业能力);“5”是指培养过程的“课程实验—期末实训--毕业实训—顶岗实习—创新性实践活动”五个模块。五个模块是根据软件工程特点,循序渐进地培养四种能力,体现工学结合。这五个模块和整个课程体系,都是围绕主线来展开。其中的“创新性实践活动”对软件技术人才来说是非常重要的,一个软件就像一个作品,必须有创意和实用的算法。
校企合作,共同开发实训课程和教材
为了支持“一条主线,五个模块”的实践教学体系,学院软件专业采取校企合作方式,共同开发实训课程,分别用于各个模块教学中。Www.133229.CoM目前,已与多家企业共同建设基于任务驱动、项目导向、工作过程的《信息开发技术》课程,基于工作过程的 “教学做”一体化情景化教学的《网络综合布线》课程。与企业合作开发《信息开发技术教程》、《多媒体技术与应用实训教程》、《网站规划与设计实训教程》、《计算机组装与维护实训教程》、《角色动画教程》等教材。
校企合作,共建校内生产性实训基地
学院软件专业采取校企合作方式,与多家企业共建网络构建、服务器、综合布线实训室,实训室建设贯彻先进性、真实性、工程性、开放性的建设原则,将实训基地建成具备多类网络架构真实环境,集教学、科研、工程、培训、技能鉴定等多种功能于一体的网络技术与软件工程中心,着力培养学生的职业技能和创新能力,提高人才培养质量,提升社会服务能力。
以产学研充实教学内容,提高教学和管理水平
为搞好产学研,学院建立二级科研机构软件开发中
转贴于
心,软件专业教师在研究所兼职搞开发,取得了良好的效果。先后完成了梧州市国税限时办结税务系统、广西财政厅的预算单位银行账户管理系统、基于cmpp的短信系统的研究、广西科技厅的nsq物流信息实时智能配对系统、新型农村合作医疗信息系统等。在重大课题研究中积累了丰富的研究经验。特别是在医疗卫生行业, 建立医疗卫生行业综合信息平台。医疗卫生行业以新型农村合作医疗、城镇居民健康档案管理系统为切入点,以现有系统为基础,以国家农村合作医疗建设政策为指导思想,以具体的信息化项目作为实际载体,参与到医疗卫生行业“一个平台、四大系统”的建设中(即建立一个包含网络硬件和基础软件的统一技术基础平台,建立卫生行政管理信息系统(卫生电子政务)、突发公共卫生事件应急系统(突发公共卫生事件应急指挥决策、疾病预防控制、卫生监督、医疗救治等系统本文由收集整理)、医疗服务信息系统(医院信息)和卫生应用信息系统(合作医疗、社区卫生、妇幼保健、医教科研等系统)),在加快全市公共卫生信息化建设进程,全面提高突发公共卫生事件监测、应急反应、医疗救治、执法监督和指挥决策的能力方面作出我们应有的贡献。
【关键词】软件工程专业应用型人才;人才培养模式;课程体系
1软件工程专业人才培养模式分析
目前来看,市场虽然对计算机软件开发人才一直保持旺盛的需求,但近年来各大高校软件工程及相关专业应届毕业生就业形势却不容乐观。从我校就业实训处反馈的信息:我校计算机相关专业毕业生只有不到一半从事与计算机相关的工作,其中极少数从事软件开发类工作。而从学生入学初的调查显示,很大部分学生选择计算机专业,最初都有做软件开发的意愿。但以目前数据来看,学生就业却难以尽如人意。究其原因,主要是毕业生知识能力结构失衡,具体表现在缺乏软件开发职业岗位的实践能力,导致软件企业从高校招聘的人才必须经过几个月的职业岗位培训,才能真正胜任工作。这说明高校培养的软件人才与软件企业的职业岗位存在明显差距,其根本原因是软件人才培养模式不能适应软件市场发展所致。以往的教育模式偏重概念原理式的教学方式,学生缺乏直接面对问题、解决问题的技能,致使学生在读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距。这说明现有软件工程专业人才培养模式急需进行改革。针对企业“难招人”,毕业生“难就业”的尴尬局面,兄弟院校已进行了一些改革和探索。如黑龙江工程学院计算机科学与技术系就提出将某知名计算机软件就业培训学校的培养模式与现有培养方法进行融合,对实践教学和授课模式进行改革,采用半封闭式教学充分利用课余教学时间,已取得一定的成效。哈尔滨学院则是尝试采用“专业知识及专业基本技能培训、职业技能实训、生产实习、就业上岗”四位一体的培养方案。即两年半时间学生在学校完成专业知识及专业基本技能培训;半年时间由企业完成基础培训(企业文化、职业素养、公司制度等)、技术培训(先进的工程化方法、技术及开发工具和环境)、项目实训(模拟开发一个完整的项目);半年时间到软件企业进行软件工程实践(生产实习);半年时间与生产实习相结合的毕业设计(实际课题研发,完成毕业设计)和上岗就业。充分发挥校企合作中企业方的作用,合作办学。广东海洋大学在软件工程专业应用型人才培养方面则重视“优化课程结构,拓宽就业口径”,强调“应用型人才培养的目标要以社会实际需求作为驱动力;理论教学要以应用型人才解决工程实际问题和其持续发展对基础理论的需求为驱动力;实践教学要以培养目标的要求为驱动力”。可见国内各高校都在积极应对软件人才与实际应用需求脱节的问题。而其做法大多强调实践,加大动手能力,充分利用校企合作中企业一方的资源,也有对教学方式方法进行一些改革,确实取得了一定的成效。但其大都强调教学方法和教学模式而没有进行课程体系的改革,没有重视课程群结构的合理配置。如程序设计类课程的开设,在多年的教学中我们发现软件工程及相关计算机专业都往往会开设很多门程序设计或开发类课程,而由于时间关系或各种原因,每门课程都在基础理论结束后即结课考试,学生没有使用所学语言开发应用程序或实现某个现实中的具体应用。而之后开设的诸如数据库等课程,也是只讲授数据库相关理论及库、表、查询等内容的实践,并未结合之前所学课程进行项目开发。各课程间是离散的关系,各课程任课教师缺少沟通,学生在学习结束后依然一头雾水,不知道该如何将所学内容结合起来进行实际应用。
2软件工程专业人才培养模式新思路
通过对我校现开设的软件工程专业人才培养模式进一步探究,得出对该专业课程教学的新思路:以高素质应用型人才为目标,强调软件工程能力培养,鼓励与倡导学生获得工信部或者行业认证证书,形成“三个加强、二个接轨、一个结合”(加强基础、加强实践、加强外语教学;与企业接轨、与行业接轨;产学研相结合);强调工程技术能力和创新创业能力的培养构成纵向层次化、横向模块化、以培养学生软件过程能力为目标的实践课程体系。面向市场和就业、以技术应用为主导、核心专业课程以项目驱动的教学模式进行授课,核心语言类课程可开设2学期;强调课程间的关联性,以实际案例教学、课程资源云与课堂教学相结合的教学模式,在毕业实习前增设一门专业综合实训课,引进企业技术人员参与到该课程开发、设计和教学中,将企业项目引入到课堂,综合应用所学技能,使学生对前期课程有整体认识,通过项目实践,提高学生对专业的认可度,树立就业信心。同时进一步深化产教融合,引进软件企业工作室,实现实训平台,完成协同育人。
3软件工程专业人才培养模式的创新点
(1)人才培养模式致力于面向企业需求,培养“应用技术型”人才,让毕业生的知识、能力、素养对接企业需要。采用统计调查方法,对软件开发行业各类型、各层次人才需求进行调研,分析需求特征、职业领域岗位群从业标准,准确定位软件工程专业人才培养目标。采用文献资料法和比较研究法,对相关院校软件工程专业人才培养模式进行分析比较研究,制定合理的、以技术应用为主导的软件工程专业人才培养模式,借鉴成功经验,真正做到与市场接轨。随着国家信息化建设水平的提高和市场经济的迅速发展,对软件的需求和要求也越来越高,为了适应市场的需求,对人才培养模式和课程体系进行定期的设计和优化。(2)加强校企合作:聘请企业技术人员任项目经理,与学校教师一道共同设计、开发和教授实训课程,实现双师互补,将企业对人才要求与学校培养人才目标交融。加大校企合作力度、深化产教融合,形成真正顺应市场需求的软件工程专业课程体系,制定与之相适应的核心课程群建设要求与实施方案,采用教育实验法和经验总结法,设计、优化人才培养模式和课程体系。(3)深化产教融合:引进软件企业工作室,实现实训平台,完成协同育人。目前我校软件工程专业已经与青岛东软载波智能电子有限公司、杭州海康威视电子有限公司,山西应用科技学院达内时代科技集团联合共建达内学院等企业实现校企共建工作室和实训平台。(4)改革教学方法:让教师接触最新的教学理念,让教育者先受教育,加大教师培训力度,举办各种培训、讲座,比如进行BOPPPS教学设计、五星教学法、专创融合、“双创”教育等等的培训;借助各大教学平台和先进的教学技术进行课堂翻转,真正地做到以学生为中心,线上线下相结合,解决了师生分离的现状,提高了课堂参与度和课堂效果。
4软件工程专业人才培养模式应用效果
新的人才培养模式应用于我校软件工程专业及其他相关专业软件类课程的教学中,使教学效果得到显著改善,专业基础扎实,实践能力强,专业教育突出了专业理论和素养教育,强化了核心课程;通过与企业合作开发项目,聘请来自多个知名企业的开发设计人员、项目经理以及有实践工程经验的企业专家指导实践教学,为社会提供了合适的软件设计、开发人才,同时提高了学生就业率和就业满意度,毕业生能很好地满足企业用人需求,近两年毕业生一次性就业率均在95%以上,绝大多数毕业生从事软件工程专业相关工作。另外,将创新创业教育融入人才培养过程中,完善了学生专业知识结构,部分学生参加了国家和省级创新创业活动及各类专业知识技能竞赛,得到了社会上的一致广泛好评。
参考文献
[1]王建彬,陈建平,陈昌兴.基于校企合作的软件工程专业实践教学模式改革研究[J].科教导刊(中旬刊),2019(7):39-40.
[2]杨微,肖佳,朱晓风.基于能力培养的软件工程专业实践教学改革的探索和研究[J].电脑知识与技术,2019,15(14):136-137+139.
论文摘要:本文从专业细分、教学大纲、教材选编、教学方法、实训保证、教师素质、班级管理、技能标准8个方面,系统阐述了以就业为导向的计算机教学设计思想,并给出了软件工程师设计实例。
以就业为导向的教学模式分为两个层次,其一是体现在教学方法上的初级层次,其二是体现在教学体系上的高级层次,包括教育教学理念、教学内容、教学方法等方面的全方位改革与创新。笔者以软件工程师职业教育为例,从8个方面阐述以就业为导向的计算机教学设计思想。
一、专业细分
目前,多数高职继承了传统的知识型学科体系教育模式,将计算机科学划分为软件、网络、计算机应用等专业。专业涉及面广,知识体系庞大,培养出来的学生就业面广,可选职业较多。但高职生起点低,加之教学设计体系不合理,学生很难在3年内掌握职业技能。计算机应用领域职业划分越来越细,分工协作、团队开发模式给高职教育提供了新思路,即把什么都会而什么都不精的“软件通才”培养模式,改为不要什么都会但必须有一技之长的特色培养模式。高职应以职业划分专业,即根据劳动力市场职业分工细化计算机专业,软件专业可细分为需求分析师、软件工程师、测试分析师等职业方向;网络专业可细分为网络维护工程师、综合布线工程师、电子商务工程师等职业方向;应用专业可细分为硬件维护工程师、数据库管理员、系统管理员等职业方向。针对不同职业方向突出其职业技能培养,以专取胜、以能取胜,而不是以宽取胜,使学生毕业时具备这一职业所需的技能和职业素质,能直接上岗,达到成功就业的目的。
二、教学大纲
新的高职教学计划应从职业能力要求人手,确定相应的知识体系和课程内容。知识体系在必需、够用为度的原则下,大力简化学科体系中不必要的知识,以创造性、实用性职业技能为主,课程突出专业的针对性,注重应用职业能力和核心技术能力的培养。
以软件工程师为例,高职应以培养软件蓝领为目标,即以专业技术熟练的软件生产、编程、维护为具体目标。软件蓝领从事的是中小型应用软件、大型应用软件子系统而非系统软件的开发,因此对计算机原理、操作系统、数据结构、算法语言等课程应大力简化,以介绍为主,而对开发工具及软件工程等实用课程加大教学时数。
以上述思想为指导,软件工程师新的知识教学体系构建如下:开设基础英语、软件工程师基础,SQL server数据库、oracle数据库、VB. net程序设计、VC++程序设计、delphi程序设计、Java程序设计、面向对象的程序设计、软件工程、专业英语、职业素质共12门课程,其中VB为基础,VC++、delphi , java三门编程开发工具,要求学生精通一门,掌握一门,选修第三门。
职业素质教育对个人职业生涯影响极大,也是成功就业的关键因素。调查数据显示,职业生涯中各项影响因素的构成比例为;专业技能占25 %,创新能力占25 %,职业素质占50070。因此,有必要将职业素质教育纳人新教学体系中并贯穿整个高职教学过程中。职业素质教育应包括法律意识,语言和书面表达能力,敬业、诚实、守信的职业道德,以做好本职工作为己任的职业精神,团队合作精神等内容。
三、教材选编
教材选编应以实际开发案例为主,模拟真实职业环境下的应用。例如,delphi程序设计这门课,可以选择《delphi案例入门》作为教材,通过案例的学习掌握delphi开发工具的应用及面向对象的编程思想,教师指导、帮助学生将其中的某些案例扩编为真正的商品软件,使学生既学到必需的知识,又具备开发程序的实际工作经验。教材选编应在内容上与职业应用有机结合;教材建设应包括主教材、多媒体演示文稿、实验指导等相关内容,形成立体化教材建设模式。
四、教学方法
高职教学应以案例教学(即任务驱动式教学)为主,辅以互动教学、讨论教学等方法,融知识于案例中,并引导学生利用已有知识、经验构建新的相关知识。在案例教学中,既传授学生必需的知识,又向学生渗透实际工作经验。
案例教学过程可以分解为案例演示、分析讲解、总结提高3个步骤。如在de场hi案例教学中,以简单人事管理系统开发为例,先演示案例效果,再分析讲解,融人delphi开发工具及编程知识,以软件工程为指导,讲解案例实际开发过程,最后总结提高,指导学生改进案例,编写出商品软件。
在终身教育的背景下,应注重对学生自学能力的培养,特别是在学习、开发中遇到困难时,应指导学生学会查找资源网站,获取帮助,从而指导学生在今后的职业生涯中不断学习,提高自身能力。
五、实训保证
计算机教学的成功需要有实训保证。为提高学生的实践能力和创新能力,必须加强实践性教学环节。学生实践能力的培养可分模仿学习、自主学习提高、实践锻炼、团队开发4个阶段,在硬件环境许可的情况下,可从以下几个方面加强实训:一是构建先进的多媒体网络课堂,配置必需的系统教学软件,人手一机,边讲边练,这是模仿学习阶段;二是在管理上实行部分计算机房全天开放,以保证学生每学期都有充足的上机时间,提高动手能力,这是自主学习提高阶段;三是创建产学研结合、校企合作的办学模式,提前为企业编制和修改软件、建设和维护企业网站等,使学生就业前在企业真实环境中接受锻炼,这是实践锻炼阶段;四是以团队开发为项目,覆盖软件工程的全过程,用以培养学生大型软件中团队开发的协作精神。
六、教师素质
原有教学以知识讲授为主,涉及实际应用很少,教师多是从书本学来知识再传授给学生。在新的教学设计中,以实际应用、职业技能为主线的教学模式,要求多聘请有实际工作经验的“双师型”教师,并采取必要措施,创造条件,鼓励现有教师向“双师型”方向转变。
七、班级管理
为了使学生真正适应职业环境,设计将原来的班级管理模式在大二或大三时改变为模拟公司型管理模式,即以班级为单位或自由组合,实行公司化管理。
一、概述
作为国家战略性新兴产业,软件业急需一批领军型软件人才。教育部在2002年批准开办软件工程(以下简称SE)专业并设立国家示范性软件学院,2011年批准设立软件工程一级学科并把软件工程师培养列入了卓越工程师教育培养计划。至2013年,我国有425所高校开设软件工程专业,设点数、招生数及就业质量均进入前十。因此,研究与建设软件工程专业关键课程体系对于软件人才培养具有重要的现实意义和积极的推动作用。
国际上,IEEE和ACM共同制定了软件工程学科教程CCSE[1,2],给出了软件工程专业的教育知识体系,提出了组织和设计课程体系的若干建议,是公认的软件人才培养工作基础。CCSE推荐课程包括SE基础课程5门、CS中级课程3门和SE高级课程6门,并提出了SE优先的课程方案和CS过渡的课程方案。
但是,SE专业在教学实施中面临以下难题[3]:(1)传统计算机科学(以下简称CS)专业的软件工程课程如何合理过渡到SE基础课程和6门SE高级课程;(2)如何落实SE优先的教学理念,解决关键课程的教学实践与教学资源;(3)如何实施软件工程课程与程序设计类课程的融合教学。
具体来说,目前国际国内缺乏对SE关键课程的教学实践,SE优先的基础课程与部分高级课程属于全新构造,难觅教材和成熟的教学资源,从而导致SE专业教学在实施时面临很大困难,大多数学校只能因循计算机科学专业传统课程过渡。因此,贯彻SE优先的教育理念与落实系统化的SE专业教学体系成为摆在广大SE教育者面前的一个巨大挑战。针对这些问题,南京大学软件工程专业经过多年教学实践,以软件开发的核心工作——软件系统设计与构造为主线,提出了面向软件系统设计与构造的SE专业关键课程教学实施方案。
二、设置思路
CS传统课程按照知识领域安排,非常适合于培养研究性人才。软件产业则迫切需要能够综合运用各种工程技术知识解决具体问题的实用性人才。为此,南京大学SE专业教学体系从能力培养入手,强调持续培养学生的工程观、系统观和产品观;面向“软件系统设计与构造”主线,规划专业关键课程,实践并求精CCSE的SE优先课程设置方案;探索关键课程的教学内容与教学方法,建设相关教材与教学案例。
1.提出软件工程专业课程改革的基本策略。在专业教学早期开始培养学生工程观、系统观与产品观,引导学生持续以软件工程观的角度学习与体验软件系统分析、设计与构建的过程。在一年级开设软件工程课程,专业入门时就树立学生的工程观和系统观,将质量、成本、度量、折中、决策、纪律、规范等工程理念贯穿后续课程,通过反复强化来培养学生牢固的工程理念以及基于工程理念解决问题和进行开发的能力。
2.规划与实践SE优先的专业关键课程。遵循工程的集成与创新特征,面向“软件系统设计与构造”,按照软件系统规模由小及大的次序建立专业教学主线,即以小规模系统、中规模系统、中规模产品、大规模系统技术、应用领域来部署SE专业课程的展开。在单门课程中强调构建系统的全面知识融合教学,培养学生解决实际问题的综合能力。
3.探索适应培养卓越软件人才的教学方法。软件人才培养必须重视学生的工程实践能力、设计能力与创新能力培养,重视实验、实训、实习等培养过程,特别是理论教学与实践教学的完美融合。主要的教学方法包括:面向具体的软件系统构造项目开展综合性知识教学;加强课程教学案例与实践用例建设,实施理论、案例、实践相辅相成的教学;探索校企合作教学、面向问题教学、体验式教学、面向实际教学、研讨式教学、软件创新设计竞赛教学等适合卓越人才培养的新型教学方法。
三、课程体系框架
下图给出了南京大学SE专业的课程体系框架[4,5],其中左侧为重点建设的SE专业关键性基础课程,右侧为其他SE专业基础课程和高级课程,后者在教学上较为成熟,故不赘述。
面向“软件系统设计与构造”的SE专业关键课程共7门,分别为计算系统基础、软件工程与计算Ⅰ、软件工程与计算Ⅱ、软件工程与计算Ⅲ、软件需求工程、软件系统设计与体系结构、人机交互的软件工程方法,分别重点解决学生计算系统分层构建、个人级小规模软件系统设计与构造、小组级中小规模软件系统设计与构造、模拟团队级中规模软件产品设计与构建、大规模软件系统的需求技术、大规模软件系统的设计技术、交互式软件系统设计与评估技术等关键性能力培养。
南京大学软件工程专业课程体系结构图
这7门关键课程均围绕一个具体的软件系统教学案例,融合构建系统所需的多方面知识展开每门课程的教学。各课程都精心设计了一个教学讲解用的软件系统构建案例,并同步设计了一个培养学生工程能力的实践用例。课程围绕教学案例和实践用例的构建活动组织课程教学和实践教学。课程同时力图打破传统课程的技术藩篱,将程序设计、软件工程、交流与沟通、团队动力学、职业素质、过程管理、工程经济学等知识进行融合教学,在案例中引导学生使用软件工程的观念来观察、体验和实践计算系统软件的设计与构建过程,训练其软件系统设计与构造的综合能力。
四、课程描述
“计算系统基础”,以一个经典计算机指令集MIPS的简化版本DLX为线索,以C语言为载体,使初学者可以建立起完整的计算概念,了解经典计算系统的工作原理,理解计算系统自底向上、逐次构造的过程;理解结构化程序设计,能够利用自顶向下、逐步求精的方法完成小规模的结构化程序。具体教学内容包括:数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap 机制和子例程、结构化程序设计和语言处理。
“软件工程与计算Ⅰ”,在软件工程理念指导下,侧重于程序设计教学。以一个计算示例和实践用例的迭代式增量开发实践为线索,全面培养学生在个人开发级别的小规模软件系统构建能力,让学生初步体验软件工程方法与技术在系统开发中的关键作用。具体教学内容包括:程序设计基础、面向对象程序设计语言;OOA、OOD、调试与测试等软件工程知识;个人级别的软件开发活动管理、个人级别的软件职业知识。
“软件工程与计算Ⅱ”,以经典软件工程方法与技术为主线,软件设计与构造知识为教学重点,软件系统构建实例(计算系统示例与学生实践用例)为切入点,培养学生基于瀑布模型的、简单小组开发级别的、中小规模软件系统构建能力。具体教学内容包括:软件工程历史、软件职业知识;适用于中小规模软件产品开发的软件工程方法、原则与实践;软件工程方法指导下的程序设计原则与实践;小组级别的简单软件开发活动管理;包括代码和重要文档在内的关键软件开发制品。
“软件工程与计算Ⅲ”,以螺旋模型和团队实践为特征,通过开发一个中等规模软件产品的方式,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。将学生组织成8人左右的团队,按照6个阶段(即项目启动阶段、第一循环、第二循环、第三循环、第四循环、项目部署阶段)合作完成一个具有一定复杂度的具体项目。在项目完成过程中,涉及需求、设计、实现和质量保障,强调团队协作、文档写作、工具使用、陈述等能力,并在软件团队中对软件开发进行管理。
“软件需求工程”,以需求工程技术、软件经济学和迭代过程为特征,结合工业界实例综合分析,培养学生构建大规模软件系统所需要的需求获取、分析与建模能力,试图让学生把握需求工程工作给后继软件项目工作带来的影响。具体教学内容包括:需求工程基础、需求获取方法与技术、需求分析方法、需求分析模型与建模技术、需求管理与需求工程过程知识、软件工程经济学等。
“软件系统设计与体系结构”,以软件设计、体系结构、可复用软件过程为特征,结合复杂工程案例及其重构,培养学生构建大规模软件系统所需要的综合设计技术能力。具体教学内容包括:软件设计的要素、软件设计的支持与评价、软件设计方法、体系结构设计、详细设计、基于中间件的设计、基于复用的设计和设计演化。
“人机交互的软件工程方法”,以用户为中心的设计与软件再工程为特征,培养学生交互式产品开发的软件分析、设计和评估技术。具体教学内容包括:可用性工程、人机交互界面的经典模型、人机交互的需求工程方法、人机交互的设计方法以及基于行为观测与眼动分析的交互评估技术等。
五、教学方法
软件人才培养需要重视教学方法改革,面向软件系统设计与构造的SE专业采用了一系列新型教学方法。
面向问题教学要求各课程都以工程问题开始,并依照工程问题的解决过程和活动来组织教学,这既体现了多种知识的融合运用,又培养了学生的问题解决能力。体验式教学要求各课程在实验设计时必须考虑模拟现实环境的不确定性因素,让学生体验真实的开发氛围,这既能培养他们综合运用各种知识与方法解决问题的能力,又能重点训练他们的折中、决策、沟通等非技术能力。面向实际教学要求各课程在讲授软件开发方法与技术时,要结合实践调查数据说明企业对不同方法、技术的选择与权衡情况以及应用效果,要突出企业界的主流方法与技术,遵循企业界的行业标准与规范,这既能让学生更深入地理解方法与技术,又能开拓他们的视野。研讨式教学要求各课程针对教学难点和重点,给出启发式问题,让学生自行收集资料,研讨解决,这既培养了学生的问题解决能力,又培养了他们的创新能力。基础课程结合软件创新设计竞赛教学鼓励低年级学生在导师指导下,结合课程教学内容,自由选题,参加软件创新设计竞赛,鼓励学生创新。部分高级课程采取实训实习后回顾教学,通过理论教学考试和实训实习后再回顾总结报告综合评定分数,促使学生学习理论、实践体验、再总结提高,以提高他们的工程认知能力与创新能力。还有部分高级课程采取校企联合设计课程、联合实施教学的校企合作教学。
关键词:软件工程;专业建设;实践教学
中图分类号:G424 文献标识码:A文章编号:1007-9599 (2011) 20-0000-01
On the Improvement of Software Engineering Students to Explore and Think About Engineering Capabilities
Li Jiandong1,Xu Jiaoyue1,Song Yanfang2
(1.School of Software Engineering,Liaoning Technical University,Huludao125105,China;2.Liaoning Engineering Technology University Admissions Employment Department,Fuxin123000,China)
Abstract:China's computer software related professional"sales right way,"the education status quo,around the integration of engineering education and practice of software engineering practice teaching conducted a study of the project proposed the general idea of teaching practice,and four class of practical courses for engineering transformation,through school-enterprise training to launch the project,as building a new system of teaching the practice of engineering has made a useful attempt.
Keywords:Software engineering;Professional development;Practice teaching
软件技术和软件产业在推动传统产业升级、优化产业结构和建设创新型国家中发挥着不可替代的作用。软件生产是以智力为主要资源的知识产业,是软件产业发展的根本保障。现在发现一些院校培养出的学生,知识内容陈旧、知识结构不合理、工程实践能力弱、工程素养差等,与产业界的需求存在较大的脱节,难以快速融入现代IT企业的运作。笔者以教学实践为基础,对实践教学模式如何培养学生的工程实践能力做了探索与思考,实际教学过程中提出了案例教学模式,着力培养学生的工程化开发能力和职业素质,进而形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制。
一、软件工程专业的特点与现状分析
软件工程专业隶属于计算机科学与技术学科,它是随着软件应用日益广泛,以工程化的方法快速高效的解决软件问题而产生的。软件工程专业的学生应该熟练掌握软件工程知识和技能,具备良好的工程化思想和实际动手能力,而要达到这一目标,需要改革软件工程专业人才培养模式、调整课程体系、充实教学内容、改进教学方法,建立工程化实践教学体系,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,让学生各方面的能力都得到全面均衡的发展,以适应现代软件产业的需求。
早期的教学比较重视理论知识的学习,偏重于基础知识的构建,培养出来的人才往往具有较完整的专业知识体系,但缺乏工程化实践的能力,达不到企业的要求。现在高校虽然认识到了社会的真实需求,但讲授的知识仍限于书本上的内容,不能开设实际应用的案例教学,在教学的实用性方面存在很大缺陷,此外,高校很难为学生提供软件工程实践的机会,所培养的学生缺乏实际训练,实践动手能力较弱,使所培养的学生解决实际问题的能力不强,直接导致了学生所受教育与市场需求相脱节"。
二、软件工程专业实践教学培养模式设计理念
(一)实践教学模式的改革与创新
1.明确专业定位和培养目标。软件工程专业人才培养定位应主要以培养软件开发技术为主的人才。培养目标为:培养具有创新精神、实践能力和创新意识,具有合理的知识体系、良好的职业素养、较强的工程实践能力的高素质应用型人才。
2.实施有效的实践教学方案。实践性课程在学习过程中应该起到“氧化剂”的作用,在知识掌握、能力提升过程中起关键作用。实践教学包括课程实验、课程设计、毕业设计三级实验体系。
3.参与企业工程项目、前沿科学研究。在软件工程专业的“大型软件工程项目实训”期间可引导部分学生参加科研项目或企业工程开发项目。无论是科学研究还是工程开发,学生都能获得工程研发体验,实现对专业知识的融会贯通,从而获得解决实际问题的能力和综合创新能力。
(二)案例教学模式
1.案例教学课前准备。软件案例教学通过对企事业单位中的实际项目或从中抽取出的模拟项目为研究核心。为学生创造一个仿真环境,使其在课堂上就能接触到的实际问题和环境,从而学会在复杂条件下利用所学理论解决实际问题。首先:教师课前认真准备和消化案例,并将之布置给学生。具体过程如下:(1)从软件工程专业理论出发。以实际应用为前提,设计和精选案例,要根据软件工程专业课程的特点考虑案例和知识的吻合程度。(2)对案例进行分析。设计案例中的场景和问题,授课教师集体讨论和分析案例。(3)课前将案例布置给学生。使得学生有充分的查阅资料,分析整理的时间。
2.案例教学组织实施:(1)设计一个贯穿整个教学过程的、完整的、易于理解的、实际的软件项目案例。(2)在讲授完每个知识点后,针对具体问题再讲解相关的小案例。(3)分组讨论。将学生分成三、四人的小组,,然后小组内展开讨论并记录,最后,从各个可行方案中选出一个较为合理的解决方案,或者对所有方案进行整理和归纳得到一个最佳方案。(4)小组代表发言,老师对同学的发言要围绕题目给予必要的指导。(5)教师总结。教师的总结总要就整个讨论情况做出总体评价。对正确的论点给予肯定和完善。特别是对某些问题可以更深一步的思考,做出启发式的诱导。
三、结束语
人才培养是社会赋予高等学校的一项重要任务,高校的使命就是为企业输送满意的人才;通过市场的需求将高校人才培养质量的反馈机制引入到高校的人才培养过程,通过产业技术的发展直接驱动大学教学内容和培养模式创新,这样实现了人才培养、人才使用再到人才培养的良性循环,从而实现了高等教育人才培养机制的创新,对于确保高校人才培养质量和办学效果将具有非常重要的指导意义。
参考文献:
[1]宋海玉.软件工程专业人才培养的研究与实践[J].大连民族学院学报,2008,9
[2]李未.深化教育教学改革推进高素质创新型人才培养[J].北京教育,2006,4
[3]殷美桂.案例教学法在软件工程教学中的应用[J].福建电脑,2008,5
实践证明,新的培养模式能够激发学生的学习兴趣,大大提高学生的学习成绩和学习能力,更加符合市场需求。
1 概述
自1946年第一台计算机ENIAC面世以来,驱动计算机运行的“代码”经过1946—1955年的程序设计阶段、1956—1968年的软件设计阶段(此阶段由于软件产品质量不高而导致“软件危机”),最终在1968年以“软件工程”概念的出现为标志,软件开发活动进入了工程化时代,并一直发展至今。软件的工程化发展之路并非一帆风顺,几十年来至少经历了四次升级换代:①20世纪60年代末至70年代中的结构化程序设计;②20世纪70年代中期至80年代的计算机辅助软件工程;③20世纪80年代中期至90年代的面向对象方法学及其应用;④近年来出现的面向问题、敏捷开发编程思想与方法等。
毫无疑问,随着软件开发思想的快速发展,技术人才的培养方式也随之变化。其中,人才培养模式是发展、改革之纲,是在教育理论、思想指导下,按照特定的培养目标和人才规格,以相对稳定的教学内容、课程体系、管理制度和评估方式实施人才教育过程的总和。面向企业对软件开发人才的需求,本文研究了更为合理、有效的人才培养模式。
2 市场需求分析
软件开发是一个非常宽泛的概念,从岗位来看,有架构设计、软件研发、软件开发、软件测试等;从技术方向来看,有嵌入式方向或底层系统方向、Web开发(包括J2EE、.NET和PHP等)方向、移动应用开发(包括安卓、Windows、苹果系统)方向、后端开发(数据库、系统服务等)方向、客户端或桌面程序开发方向等。本文之所以选择Java类课程作为软件开发类人才培养模式改革研究的切入点,主要是出于以下两方面的原因:
①目前,在移动应用开发领域和Web开发领域,市场占有率高的安卓和J2EE平台均基于Java,即Java教学的改革研究更具实际意义;
②各高校目前普遍开设了Java类课程,即Java教学的改革研究的结论具有普遍的指导意义。
为全面了解市场需求现状,首先以人才市场上为本科毕业生设立的Java工作岗位为研究内容,通过调研国内某知名招聘公司,统计人才需求单位性质得出,民营或合资企业占绝大多数(74%),因此Java软件开发类人才处于较为激烈的竞争环境中。
通过统计毕业1年内Java工作岗位的月薪范围得出,虽然大多数情况是“面议”(82%),但除去“面议”,从月薪6 000~7 999在数量上的优势可以看出,市场对于符合要求的本科毕业生还是不吝薪水的。因此,这一月薪范围的岗位要求也应该是对合格开发人员能力的“刚性”需求,这些需求应该作为学校对软件开发人才培养的核心内容。
聚焦于月薪6 000~7 999的岗位,研究市场对软件开发人才的具体需求。通过调研,软件开发人才的市场需求总结起来可以分为以下四类:
①基本技能类,比如团队协作能力、文档写作能力、操作系统的熟练运用能力和英语阅读能力;
②专业课程知识点掌握类,比如要求熟练掌握J2SE的API、基础结构、异常处理、日志处理、集合的使用、单态模式、工厂模式、多线程并发安全处理,软件工程概念、异常处理、集合、软件模式、J2EE的各个组件、数据库基本概念等;
③专业课程群的融会贯通类,比如熟悉一种数据库的操作及其访问接口编程、熟悉HTTP协议及其编程、软件工程概念及其应用、数学概念及其应用等;
④对更高能力的期望,比如能够独立开发程序,能够攻关开发难题,能够开发调试高性能、高稳定的程序等。四类需求总结如表1所示,其中,最后一类(期望型)能力需要长期实践经验的积累,通过本科教学培养不太现实。因此,学校应着力于前三类能力的培养,同时软件开发属于实践科学,实践培养模式具有关键性作用。
3 研究目标与研究内容
已有的教学模式并不是不重视实践,而是存在待改革之处。以Java类课程为例,目前,主流的授课方式是集中讲解理论内容,学完两三节课后安排一次集中实验;更好一些的授课方式是,学生人手一机,课堂上教师讲完知识点后,学生立即动手验证操作,两三节课后安排一次阶段性实训实验,课程最后安排一次项目实训实验。实践证明,现有教学模式中的实践环节非常重要。
但在运行过程中,也发现不少问题:
①实验教学模式中的实验环节大多都是验证性的,在课时有限的情况下,即便有阶段性实训,学生对知识点的融会贯通依然存在问题。
②在现有教学模式下,学生容易具备“小应用场景”下的开发能力,但是离真实开发环境下的能力要求(比如表1中的高级知识点和专业课程群类能力)还有着不小的差距。
③现有教学模式下的阶段性实训实验的培养效果并不显著,主要原因是实验作业规模不大,学生做完后,仍然达不到预期效果。
④在现有教学模式下,阶段性实训实验和项目实训实验是提高学生能力的重点,但目前这两个环节还有很大的提升空间。比如,学生分工不合理,容易导致“瓶颈点”,小组成员间形成“死锁”,最终无法实现实训目标。
对于以上问题,必须确立以下两个研究目标:
①研究作业内容及要求,使阶段性实训实验能够帮助学生完成高级知识点的掌握;
②研究项目实训实验内容及其运行机制,使学生融会贯通专业课程群。
基于以上两个研究目标,以Java类课程为研究对象,提出以下研究内容:①设计涵盖高级知识点的课后作业题目;②设计阶段性实训实验的内容及运行环节;③以专业课程群的融会贯通为目标,设计项目实训实验的内容及其运行环节;④以提高学生能力为目标,设计各实训环节的学生成绩评估与反馈。
表1 需求类型表
类型 内容
基本技能类 团队协作能力、文档写作能力、操作系统的熟练运用能力和英语阅读能力
专业课程知识点掌握类 J2SE的API、基础结构、异常处理、日志处理、集合的使用、单态模式、工厂模式、多线程并发安全处理,软件工程概念、异常处理、集合、软件模式、J2EE的各个组件、数据库基本概念,掌握使用查询语句中(内、外)关联查询、子查询、分组语句、Union(合并)命令等
专业课程群的融会贯通类 熟悉一种数据库的操作及其访问接口编程、熟悉HTTP协议及其编程、软件工程概念及其应用、数学概念及其应用等
更高能力(期望型) 熟悉SSH、Ajax、熟悉PHP、主导技术难题攻关,重构系统,确保高性能处理和系统的稳定性;熟悉Spring、MYBATIS和Struts等开源框架
4 课后作业、实训实验及其评估
课后作业是补充或扩展高级知识点的重要环节,必须要以学生牢固掌握课堂基本知识点为基础,可以通过加强知识点验证环节来解决。如果不具备学生人手一机的条件,授课教师需要在课堂上对知识点亲手编程并演示给学生看。以Java课程为例,除了正常的课后作业,结合课程授课计划,可以添加如表2所示的课后作业。课后作业的关键是由教师建立合适、明确的目标。作业评分与讲解也很重要,评分目的不仅仅是督促学生去做,而是助于教师了解学生的难点,从而通过讲解来补足。
阶段性实验采用个人实验,内容上应统筹考虑表2中课堂基本知识点与课后作业扩展知识点。运行环节方面,分两个步骤实施:①教师综合一个教学阶段的知识点设计实验题目,布置给学生,由学生课后完成。②评分及讲评。教师对学生的完成情况打分并讲评,讲评的重点是学生综合运用知识点的程度。
在此步骤中,教师可以对实践不够好的部分编写详尽的实验指导书或亲自演示编码过程等。
由于实验内容的复杂度与工作量都较大,项目实训实验需分组完成,具体分三个步骤实施:①分组。分组的总体原则是组内成员水平差别平缓,从而保证良好的相互协作、共同提高。②任务分工。分工的均衡程度由分工模块的完成难易度差距来评价,难度要有阶梯。
不少实验教学,学生只是形式上在一组,没有合理的分工,随意性很大,有一部分学生没有参与进来,成了旁观者。③评分。项目完成后,教师根据项目完成情况打一个集体总分,再根据各组中每个同学的完成和努力情况打个人分,最后根据集体成绩与个人成绩的综合情况评定等级,以保证评定的合理性。
在项目实训实验的实际运行中,评分环节起到“指挥棒”的作用,评分环节的设计应从以下两个方面考虑。
一方面是个人分。一个小组内每个学员的能力高低不等,组员个人分的差异在所难免。评估个人能力的要素有三点:①学员自身任务的完成度;②学员对所做项目的理解深度;③学员与其他组员间的配合,考核学员的小组合作能力。
另一方面是小组分。即使组内成员能力有差异,但如果安排得当,分工合理,依然能够组成强大的团体。评估小组分的要素有两点:①项目总体完成度。项目完成度越高,表明该小组的合作效率越高。②项目分工的合理程度。通过参考组内成员的分数差距考核分工的合理性。
5 总结
本课题基于南京邮电大学通达学院教学改革项目JG0041423。通过对软件开发类人才市场进行调研,本文研究了市场对软件开发人才所具备能力的预期与要求,并以Java类课程为研究对象,分析了现有培养模式的不足,设计以课后作业为基础,实训实验为关键的培养模式。通过对南京邮电大学通达学院2012级一个班级开展实验,结果证明学生的学习成绩和软件开发能力都得到了大幅提升。与上一届相比,这次实训实验的最后作业更加贴近实际的开发场景,从而使学生更加适应市场需求。
本文所提出的培养模式对教师提出了更高的要求——教师不仅仅要掌握教学大纲,也要非常熟悉所教授科目的高级知识点。同时,实训实验环节的内容设计也要求更加贴近实际的软件开发场景。因此,学生培养模式的改革不仅仅是教师如何教学生的改革,同时也是教师如何提升自我、主动适应市场以及迎接变革的改革,这也是本课题下一步要研究的内容。