基于岗位职责的增量式软件工程专业课程体系设计研究
2017-05-30刘杰阳小华徐卓然刘志明
刘杰 阳小华 徐卓然 刘志明
(南华大学 计算机科学与技术学院,湖南 衡阳 421001)
摘 要:为了培养优秀的软件工程型人才,迎接以“互联网+”为特征的新工业革命的到来。我们以CDIO工程教学模式为指导,在工程过程、软件工程知识域、能力培养规律和学校学制等约束条件下,通过分析软件企业核心岗位职责挖掘能力需求和知识需求,提出基于岗位职责的增量式软件工程专业课程体系设计方案,并给出了课程体系的教学设计作为支撑,从而实现学生软件工程的深度职业技能培养。
关键词:CDIO教育模式;岗位职责;软件工程专业课程;课程体系
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2017)15-0095-03
Abstract: In order to cultivate outstanding software engineering talents and welcome the arrival of the new industrial revolution characterized by "Internet plus", guided by the CDIO engineering education pattern, under the constraints of engineering process, software engineering knowledge domain, ability training rule and school system, we put forward curriculum system designs of incremental software engineering courses based on position responsibility by analyzing capacity demand and knowledge demand of core-position responsibility in software enterprises. And the teaching design of curriculum system is given as a support, thus realizing the deep vocational skills training of students in software engineering.
Keywords: CDIO education mode; position responsibility; software engineering courses; curriculum system
一、背景
培养大量优秀工程型人才是实施《中国制造2025》强国发展战略,迎接以“互联网+”为特征的新的工业革命的人员保障。优秀工程型人才除了应掌握扎实的工程基础理论和专业知识外,还应具备在工程应用背景下的团队协作能力、批判性思考能力及综合性思考能力,从而能够通过团队协作、问题分解等方式解决工程性问题。
近年来就如何在本科教育中开展工程教育培养满足社会所需要的工程型人才,国内教育界已经展开了广泛的研讨。普遍认为工程教育应由过去强调科学和理论分析向工程实践和工程设计上转变,将工程教育“回归工程实践”。改变以往所培养的学生只掌握扎实的数理和专业基础知识,具有较强的逻辑思维能力,但是欠缺工程思维能力和知识综合应用能力,而且在团队合作、沟通协调能力方面也较弱,不能高效完成工程项目的情况。具有代表性的方案是采用CDIO的工程教學模式。CDIO工程教学模式是以产品从构思、设计、实施、运作等生产流程为载体,通过系统的教学体系设计让学生掌握专业技术知识、提升个人能力和职业能力、学会团队相互协同工作,培养学生具备在企业和社会环境下进行研发的能力。
CDIO教育模式只是一个指导性的教育范式,给出了能力大纲和12条标准指导实施,如何将CDIO教育模式和学科专业领域相结合,把工程教育理念贯彻到整个教育体系中值得深入研究。高等学校人才培养主要通过课程体系实施。在课程体系的设计中融入教育思想和教育理念,实现教育教学目标所规定的知识、能力和素质方面的要求。它决定了教育目标得以实现。所以实施CDIO教育模式的核心问题是课程体系的设计。
二、课程体系设计约束
基于CDIO教育模式软件工程课程体系设计是将软件工程教育的目标根据CDIO教育模式的指导原则,遵循学生的能力培养规律,课程间的逻辑关系,在学制要求下,分解到若干课程组中,这些课程组构成软件工程的课程体系。因此它有如下四个设计约束条件。
(一)课程设计目标
课程设计的目标是希望通过一系列课程的设计,通过教学活动使学生具备相关能力。因此从软件工程项目实践需要能力出发,软件工程课程设计的目标是培养学生具有扎实基础和专业知识,为解决工程问题提供知识保障;掌握沟通协调技巧,能够通过团队合作解决工程问题;强化系统化思维能力,能够针对工程问题提出系统化的解决方案;提升书面交流能力,能为工程问题撰写研究报告和技术方案。
(二)软件工程学科知识体系
一个学科都会有国家教学指导委员会或者专业学术团队给出科学合理的知识体系,为教学、培训和职业认证提供依据。SWEBOK(Software Engineering Body of Knowledge)是为大家所广为接受的软件工程知识体系。到2014 年 2 月止,IEEE计算机协会已经发布该知识体系的第3个版本。在第3个版本中,SWEBOK提供了15个知识域,而其中11个软件工程实践知识域,如表1所示,分别是软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量、软件工程职业实践。
(三)能力培养规律
应遵循学生的能力培养的客观规律构建课程体系,保证教学过程符合客观实际,取得预期的教学目的。人的能力提升过程遵循着由简单到复杂,从特殊到一般的认知规律过程。一个理想的培养过程应该是先参照案例学习,掌握一般方法;运用方法解决简单的工程问题;再综合运用各种方法,解决复杂问题。这一过程涉及工程问题的深度和广度逐渐加强,能力逐渐提高。
软件工程能力所需要解决的工程问题分布在工程实践过程中的构思、设计、实现、运行、回收等五个阶段。因此,在能力培养设计时,每次学习都应该包含构思、设计、实现、运行、回收五个阶段,这样工程生命周期的每一个阶段就可以得到多次学习。但是,每一次学习都不是简单的重复性学习,而是问题难度和涉及内容都更加复杂和更加深入,体现了循序渐进、增量式添加的能力提升规律。
(四)学校本科学制安排限制
南华大学的软件工程按照计算机信息类大类招生。课程结构整体采用层次课程结构,分为通识课程和专业课程。第一、二学年完成公共课和基础课等通识课程学习。第三、四学年完成专业基础和专业课程学习。软件工程实践知识域要在大学三、四年完成。在实施CDIO教育模式需要考虑到与第一、二学年课程教学的承接关系。
三、基于岗位职责软件工程专业课程体系设计
因此实施CDIO教育模式专业课程体系设计是综合考虑软件实现的工程过程、学科知识体系、人的能力培养规律和学校的学制特点等因素。形成一个增量式上升的课程体系,既要反映人类工程规律,也要尊重学习者本身能力提升的客观现实,实现工程型的软件人才培养。软件工程专业课程体系设计分成如下几个步骤。
(一)岗位职责分析
软件企业的技术岗位职业角色的发展分为初级、中级和高级。通过对51job等求职网站对职业角色的要求分析。每个层级工作内容都涉及到整个软件工程过程的各个阶段。只是层级不同,工作重点不同,需要的知识内容不同。如初级层次程序员角色重点关注开发软件实现,但是他也需要读懂中级设计师提供的设计文档和基础技术架构。下层的任务单一侧重实现,而越往上涉及的问题复杂度越高、系统性越强,对软件系统的重要性也越高,他们掌握核心决策权力或关键技术能力。同时层级间也存在知识和技术递进关系,工程师的个人职业发展也是经历了初级历练,然后经过中级再到高级。围绕岗位职责要求,根据软件企业核心岗位进行典型工作任务分析,目的是从大量的工作任务之中筛选出各层级在软件过程中的关键任务职责。我们可以按照软件工程过程,采用知识增量的课程体系设计(见表2)。
(二)知识域归纳
即根据岗位职责要求,按照程序员、系统分析师、项目组长岗位角色在软件工程生命周期中所承担的任务对知识域进行分解。实现课程体系整体对SWEBOK知识域的覆盖(见表3)。
(三)学习域转换
教学目标的实现最终都需要依靠课程的教学完成。因此需要完成知识域课程体系的转换。专业课程体系设计如表4。
四、教学设计
采用职业团队式教学组织教学方法。设置基于项目的课程,按照实际案例组织课程和教学内容,采取职业团队组织教学,学生直接参与项目的设计、分析、构造和测试;减少课堂教学学时,增加课外自主学习和小组合作学习时间。
针对增量式课程体系设计多层次循环实践教学。每个循环都安排有一个综合性专业实践环节。建立“实验-课程设计-综合实践-校内实训-企业顶岗实习-毕业设计”的实践教学体系。待解决的问题由良构过渡到劣构,项目类型从封闭发展为开放,引导学生平稳过渡“旁观者-模仿者-实践者-示范者”的发展历程,初期实践以案例库为主,学生用来进行模仿;然后过渡到第二阶段,引入企业授课,成为实际项目的实践者;最后阶段,实践组织学生参加挑战杯、湖南省应用开发竞赛、中国软件杯竞赛,进行创新性、挑战性实践项目训练。项目的完成需要学生发挥自身主观能动性,综合运用所学知识和能力,团队协作最终完成学生到职业人的身份蜕变。
五、结束语
传统的高等教育课程体系规划是以学科内容为中心,对学生专业技能和职业岗位技能的培养不足,与社会职业岗位对人才的要求存在一定的差距。因此,改革学科制的课程体系,以培养高素质的工程型人才为目标,针对职业岗位对人才的需求,构建软件工程专业的面向职业能力培养的课程体系,培养学生基于软件过程的深度职业技能。以提升职业能力为目标指引来构建软件工程专业课程体系,解决了高校毕业生还需去IT培训机构进行培训提升项目能力的问题,又保证了软件企业工程项目的绩效,是为IT企业输送高素质软件人才的有效途径。
参考文献:
[1]顾佩华,包能胜,康全礼,等.CDIO在中国(上)[J].高等工程教育研究,2012(3):24-40.
[2]顾佩华,包能胜,康全礼,等.CDIO在中国(下)[J].高等工程教育研究,2012(5):24-40.
[3]王刚.CDIO工程教育模式的解读与思考[J].中国高教研究,2009(5):86-87.
[4]吴源俊.软件工程知识结构[J].信息技术与标准化,2002(5):31-41.
[5]沈备军.解读软件工程知识体系SWEBOKV3[J].计算机教育,2014,211(7):1-2.
[6]崔颖.高校课程体系的构建研究[J].高教探索,2009(3):88-90.
[7]林健.面向“卓越工程师”培养的课程体系和教学内容改革[J].高等工程教育研究,2011(5):9-9.
[8]郭军,张斌.契合软件企业职业角色发展架构的软件工程课群及实践体系[J].现代教育管理,2008(5):70-72.
[9]李茂國,朱正伟.面向工程过程的课程体系研究[J].高等工程教育研究,2014(4):58-59.