摘 要:软件开发是高校计算机及相关专业学生应具备的最重要的专业能力之一。而相关的课程设计是对程序设计中综合知识的应用与提升,也是培养学生实践能力的重要途径。本文以软件开发人员实际岗位能力与要求为依据,将岗位能力标准与软件开发类课程设计教学相结合,初步探索出一套基于实际岗位能力的软件开发类课程设计教学模式。
关键词:软件开发;课程设计;教学模式
在软件技术和软件行业飞速发展的今天,世界各国都面临着“软件产品开发、软件产品使用、软件产品维护”人才的巨大需求。国内也比较重视软件技术专业人才的培养,许多高校在近几年纷纷设置独立的软件学院,计算机相关的专业中也开设关于软件开发方面的课程,如C语言、C++语言、Delphi、VB、Java语言等[1]。即使每年有大批的软件专业毕业生毕业,但软件开发行业却依然存在人才匮乏的问题。所以,如何让软件课程教学贴近社会需要,提高毕业生的市场竞争力,缩短与软件开发行业差距成为了很多高校思考的问题。笔者认为,除了加强专业定位、整合相关课程外,还应该加强以岗位能力来指导软件课程的综合性课程设计环节,进而加强学生的职业能力,缩短与实际岗位差距。
1.软件开发工作岗位能力介绍[2]
由于不同类型的软件企业所设置的工作岗位与职责不尽相同,现仅列出软件开发工作岗位共同的能力要求。
(1) 具有熟练操作使用计算机和网络的能力。
(2) 具有熟练使用新型办公软件能力。
(3) 具有较强的信息检索与分析能力。
(4) 具有较强的外语文档阅读能力。
(5) 具有较强的软件工程文档编写能力。
(6) 具有较强的数据库管理和维护能力。
(7) 具有较强的软件应用、维护与测试能力。
(8) 具有较强的程序设计编码能力。
(9) 具有较强的软件分析与设计能力。
(10)从事相近专业和自主创业。
(11)具有一定的自我学习与提高能力。
(12)具有主动沟通与表达及团队协作意识。
2.目前软件开发系列课程综合性课程设计存在的不足
(1) 偏重语句的使用规则和方法,对问题本身的特性关注度不够。如项目中涉及到的算法效率问题多数任课教师易忽略;
(2) 缺乏相关的职业能力培养[3]。在课程设计中,多数教师只关注有没有完成相关功能,从而忽略了软件开发过程中必须遵守的准则,如程序的可读性、重用性、易于维护、结构规范、良好的注释等;
(3) 课程设计教学实施的过程中选择的实践题目不切合实际,学生完成项目开发后无法真正应用到实践中去。
3.基于岗位能力的软件系列课程综合性课程设计的教学方法介绍
在基于软件开发人员岗位能力的软件课程设计的教学模式中,任课教师只负责引导学生如何学习新技术、如何开展及完成各阶段分配的任务,并做出过程评价与最终评价标准。同时任课教师要制定多元化的有应用价值的真实的课题,将班内同学分成若干小组,以小组共同协作的方式开展相关课题的需要分析、计划书写、模块开发、系统后期测试与完善、系统说明书的书写及最终答辩等。
现将整个教学过程简要阐述如下:
3.1学时安排及人员分工
软件开发类的课程设计在教学计划中一般安排54学时内完成。为培养学生的团队精神和协作能力,特要求每班分成若干组,每组根据选题难度不同将3~5名同学组成一组,共同完成选题内容。
3.2教学过程
(1)作品演示
在课程开始初期一定要多选几款历届学生的优秀作品做演示,让学生了解在完成此教学环节后应该达到的程度,通过作品激发学生的学习热情,坚定学习信念。同时也要介绍几款历届失败的作品,进而提醒学生在开发作品的过程当中应该注意的一些问题,如开发之前要弄清软件的使用对象、要做好需要求分析,要知道软件要达到的功能,不能想当然。
(2)让学生了解课程设计的大体流程
在此过程中要求同学自学《软件工程》课程,再按照指导教师的统一安排,以小组协作的方式共同完成项目设计。指导教师首先讲解课程设计的实施流程与各个环节中的要求及注意事项,如图1所示。再要求以小组为单位进行选题、需求分析[4]、调研和文献资料检索、书写计划书、开发软件、软件测试、书写软件设计说明书等[5],总共历时54学时,最终以答辩形式进行验收。
(3)定题与任务完成的时间安排
在此环节,指导教师可以从自己的科研项目中拿出一个模块,或以学生比较熟悉的、感兴趣的内容当中制作不同类型的题目以供学生参考,如:剧场票务管理及智能卡开发、图书馆内读者导读系统、中小学排课管理系统、题库建设及试卷生成管理系统、个性文本编辑器、个性绘图软件开发、媒体播放器开发、个人网站开发、游戏软件、国税档案管理系统等。同时也可以允许同学自行寻找课题,但必须是有实用价值的项目。同时,在给定学生制定课题时,一定要提供一些基本信息,如表1所示。
表1 课题对应的基本信息表
(4)课程设计评价
课程设计的总体评价=过程评价[6](40%)+综合评价(60%)。
其中过程评价由自我评价[7]与指导教师评价共同组成。其中自我评价部分包括:本阶段自主学习内容、课题进行中遇到的难点、解决方法、重要功能中的算法分析、不足之处等,如表2所示;而指导教师评价主要考察的是小组成员出勤情况、是否能按时完成相应的任务要求、完成质量如何、小组团结协作能力、自主学习能力、收集资料能力与解决问题的能力,如表3所示。
表2 过程评价之自我评价表
表3 过程评价之指导教师评价表
综合评价包括最终课题完成情况,即与计划书是否相符、程序的健壮性、代码的可读性、程序的实用价值、小组答辩情况等,如表4所示。
表4 综合评价
4.基于岗位能力的软件系列课程设计教学模式应用效果
基于实际岗位能力的程序设计类课程设计教学模式在应用的过程中,还应该辅助多种教学手段,如鼓励学生参加国家级程序员等级考试、引导学生参加各种课外竞赛活动,如ACM程序设计大赛等,以发挥学生的创新与实践能力。自我校在程序设计类课程设计教学中采用了基于实际岗位能力的教学模式后极大地提高了学生的软件开发能力,缩短了与实际岗位要求的差距,目前学生开发的很多作品也都投入到实际应用当中,如中小学排课系统、在线测评软件、试题库建设与试卷自动生成系统、公寓管理系统等。
参考文献:
[1] 马雪英.以能力为导向的程序设计类课程教学体系[J].计算机教育,2011,4:74-78.
[2] 金波.高职院校程序设计课程教学策略[J].西藏教育,2011,4.
[4] 张海藩.《软件工程导论》[M] .北京:清华大学出版社,2002.1
作者简介:鲁晓波,女,讲师,计算机技术;郭艳光﹡,女,副教授,计算机课程与教学论;阮福,男,讲师,计算机技术。