目前,各高校中开展的软件开发类课程基本上都采用传统的教学方式,脱离了企业生产实际,枯燥乏味的知识点灌输使得学生对课程学习失去兴趣,教学效果停滞不前。该文提出了一种新型的软件开发综合实训课程,模拟企业真实软件开发环境,并给出了该新型课程的总体设计及各环节的具体方案。本次实践教学改革期望通过具有激励性的考核机制,作为引领教学的方向,来激发学生的学习热情,以达到提高学生的软件开发职业素养的目的。
1 软件类课程的教学现状
目前国内院校对《C语言程序设计》及《数据结构》等软件设计类课程仍采用“以系统知识点的灌输”的传统的教学模式,甚至以“计算机等级考试”通过率作为考核教学效果的标准。教学中理论和实验分离,实验多为单一章节实验,缺乏对整个软件开发知识的综合训练,软件开发中缺少团队建设,编程亦不规范。主要原因在于老师不熟悉企业开发流程,教学与企业实际脱节较严重。枯燥乏味的知识点使得学生对课程学习失去兴趣,逐渐产生抵触的情绪,最终导致学生反应学习难度大,教师反应教学效果差[1]。
本文提出了一种综合《C语言程序设计》、《数据结构》、《数据库》等课程,模拟真实企业软件开发环境的新型实训课程。
本课程采用全新的教学理念,融合软件开发各种知识,并模拟各知名企业通用的软件开发模式,进行实战演习,注重团队合作精神的培养,进一步提高软件调试的能力。
2 《新型软件开发综合实训》课程出发点和意义的分析
本文从该新型实训课程的教学目标、教学内容、教学实施、课程考核办法等几个方面进行详细阐述。
本文提出开设的《新型软件开发综合实训》课程,旨在综合运用所学《C语言程序设计》、《数据结构》等软件开发基础课程,结合具体的驱动项目,并完全模拟企业真实的开发环境,以达到学以致用、教学与企业生产实践相结合的目的。
《新型软件开发综合实训》课程是在学生完成编程语言等基本理论学习的基础上,综合运用软件开发相关的主要知识和技能,在校内集中进行综合性、系统化的岗前训练,其目的是通过开发一个个完整的软件项目,将软件开发的各个主要阶段串联起来,让学生掌握企业的软件开发流程和规范,逐步培养软件开发项目团队协作意识。熟悉真实企业开发环境及较通用的开发模式,逐步积累项目开发经验,养成良好的软件开发职业素养。
3 《新型软件开发综合实训》课程具体实施方案
本课程属于全新课程建设,包括理论教学、实验教学、项目驱动教学。
1)该课程的总体安排
该课程须有2~3名教师承担,才能保证其指导效果;其次,开展具体项目之前要进行关于企业软件开发流程及编程规范的理论授课。理论教学的内容包括介绍软件开发的基本知识、各大企业较通用的软件开发流程、编程规范、团队建设等。理论授课教师应由本校有企业开发经验的双师型教师承担或邀请企业资深的软件开发专家承担。实验教学的教学内容主要是指导学生在具体项目开发中的设计思路、调试方法,以及如何组织测试、编写测试用例等。该课程的总体安排如表1所示。
表1 教学总体安排表
[《新型软件开发综合实训》教学总体安排\&授课类别\&课时\&内容\&授课教师\&
理论课\&
3\&1.本课程的教学目的
2.企业软件开发流程
3.各大企业通用的软件开发模式介绍\&
1.有多年软件开发经验的双师型教师
2.邀请企业软件开发资深专家\&
3\&1.编程规范学习
2.软件测试方法及测试用例编写
3.课程考核说明\&3\&1.代码检视必要性及要求
2.一种代码检视工具的学习\&
实验课\&
6\&通过具体小项目《通讯录程序设计》把企业软件开发流程、模式、代码检视、代码调试、测试用例编写等贯穿其中,为后续项目实训课打基础。\&
由负责本课程的2~3名教师承担\&
项目实
训课\&
27~36\&可选项目名称\&项目功能
要求\&学生管理系统\&1. …
2. …\&职工工资管理系统\&…\&…\&\&]
2)项目选取环节
项目驱动教学过程中,将所有选修学生分组,每组控制在8人左右,由指导老师拟定5~10个具有一定创新的综合性设计项目,项目选取要注重知识点覆盖,并有一定趣味性,难度适中[2]。由学生自选项目并组建团队,或学生自组团队,自拟项目,通过教师评估其自拟项目的难度及涉及知识面符合教学目标即可[3]。每个指导老师负责2~3个团队,模拟企业软件开发团队的模式指导学生。
3)团队组建环节
团队组建在对项目了解、对自身特长了解的基础上坚持自愿的原则自行组建,团队总成员一般为6~8人,为进一步增强团队意识,提高战斗力,每个团队需给出团队名称及口号。项目团队必须有项目组长、开发人员、测试人员、维护人员、文档负责人员等角色,组内每个成员可兼职其他角色,最多2~3个。
4)组内考核环节
组长定期组织开会,各成员汇报所负责的任务进度,评价前一阶段工作取得的成果与存在问题,并确定下一阶段的任务与目标。每一阶段完成后,项目组长需对项目组各成员给出阶段考评结果,每个项目根据实际情况可分为5~7个阶段。各阶段组内考核平均分作为组内考核总评。
各部分所占分值,态度:满分20分;任务完成情况:满分50分,按时完成基本功能可得40分,视具体情况可上下浮动;团队合作精神:满分20分;对团队的特殊贡献:满分10分。
阶段考核表格式如表2所示。
表2 组内阶段考核表
[《新型软件开发综合实训》组内阶段考核表\&团队名称\&成员\&态度\&任务完成\&团队合作\&特殊贡献\&阶段总评\&神
码
队\&谭洁\&20\&48\&20\&0\&88\&马韵\&20\&50\&20\&5\&95\&…\&\&\&\&\&\&]
5)代码检视环节
本新型实训课程注重代码检视环节,不仅要求完成项目基本功能,而且要确保所写代码符合编程规范。定期组织代码检视活动,各开发小组之间依据编程规范互相检测,检查结果量化公开,公开结果具体到某个开发小组某个开发人员,并把检视结果纳入考核。各部分参考比重为:
自己代码质量总分为70分,被检测出每个严重问题-10分,被检测出每个一般问题-3分。
代码检测能力,旨在提高学生阅读代码并发现问题的能力。其满分为30分,每发现一个严重问题+5分,每发现一个一般问题+3分。如果到后期代码质量越来越高,问题越来越少,再进行调整分值及比重。代码检视考核表如表3所示。
表3 代码检视考核表
[《新型软件开发综合实训》代码检视考核表\&团队名称\&组员\&被检出
严重问
题数量\&被检出
一般问
题数量\&所写代码
质量得分\&代码检测能力得分\&
代码检
视总评
\&神码队\&谭洁\&1\&3\&51\&25\&76\&马韵\&\&\&\&\&\&…\&\&\&\&\&\&苍鹰队\&高霄\&\&\&\&\&\&…\&\&\&\&\&\&]
6)项目答辩环节
项目结束要进行答辩,答辩组成员由2~3指导老师及邀请其他1~2名软件课程老师组成。答辩总评各部分比重为:项目基本功能演示占60%,特色功能展示占20%,答辩ppt制作占10%,回答提问占10%。答辩考核表如表4所示,团队的答辩总评作为团队各成员的答辩总评。
4 考核方案
考核是教学过程中非常重要的环节,既是体现教学的导向及侧重点,又是激励学生的重要方式[4]。
本文提出的考核方案,注重项目开发的企业化,既体现团队合作的重要性又重视个人的才能的展示。
表4 答辩考核表
[《新型软件开发综合实训》项目答辩考核表\&团队名称\&口号\&项目名称\&组长、成员数\&基本功能\&特色功能\&PPT制作\&回答问题\&答辩总评\&神码队\&神码都是赋韵\&学生管理系统\&谭洁
6人\&\&\&\&\&\&苍鹰队\&高效就是那么任性\&职工工资管理系统\&高霄
7人\&\&\&\&\&\&…\&…\&…\&…\&\&\&\&\&\&]
理论课总评占20%;各开发小组内自主考核即阶段考核总评比重较大,为30%,充分体现对团队合作的重视度;团队答辩成绩作为个人答辩成绩,占30%;代码规范性检查占20%,考核表如表5所示。
表5 《新型软件开发综合实训》课程总考核表
[《新型软件开发综合实训》总考核表\&姓名\&理论课考评(20%)\&组内总评
(30%)\&答辩总评
(30%)\&代码检视总评(20%)\&总评\&谭洁\&\&\&\&\&\&高霄\&\&\&\&\&\&…\&\&\&\&\&\&]
作者:孙海洋 陈珍 来源:电脑知识与技术 2015年11期