软件工程中项目驱动案例教学法研究

软件工程中项目驱动案例教学法研究

[摘要]文章对软件工程教学中存在的问题提出了改进方法,即项目驱动下案例教学法。介绍了案例教学法实施的必要性和实施方法,改进软件工程教学模式,如何建设教学案例库,以及课程实践采用项目化方式进行。

[关键词]软件工程;项目;案例;教学

软件工程这门课是计算机学科的专业必修课,讲授的是软件开发与维护全过程中所采用的方法和技术,以及应该撰写的文档,目前这门课的教学采用以理论讲授为主,实习为辅的教学方法,学生对理论知识的学习不感兴趣。实习是在学期结束前安排两周的时间,让学生分组模拟完成一个项目的文档写作,导致这门课学生的实习流于形式。

1案例教学法的必要性

软件工程学科有两个主要的方法学,它们是生命周期方法学和面向对象方法学,软件开发通常分成项目可行性分析、需求分析、概要设计、详细设计、编码与测试等几个阶段[1],所以当实施案例法教学时,也要根据软件开发的几个阶段设计不同的教学案例。而且这些案例要具有一定的连贯性,即将这些案例组合起来就是一个综合性的案例。当学生完成整个案例教学后,对书本知识的理解会更加深入,也能体会到软件开发的不同阶段的紧密联系,对学生的综合知识的掌握和综合能力的提高会有很大的帮助。

2项目驱动案例教学法的实施

2.1引入案例教学法,改进软件工程课程的教学模式

就软件工程课程本身而言其理论教学枯燥乏味导致学生不感兴趣,也就没有学习的积极性和动力,而其实践教学内容又过于独立没有整体性,前后阶段没有连贯,有的也太简单,这样就导致理论教学与实践教学很难做到相辅相成。因此,在教学过程中,使用好的实践教学案例,可以充分的将理论和实际结合起来,使得学生掌握的知识可以实时地来解决实际问题,即学以致用[2]。在查阅了很多软件工程课程教材后,这些教材都具有一个共同的问题:教材中介绍理论知识后也会引入实例进行讲解,然而这些实例的选取不太合理,实例的规模要么太复杂要么太简单,有的还比较老旧等等。所以在选择实践案例时不仅要理论联系实际,而且还要考虑案例的规模、新颖性等,更为重要的是需要一个完整的项目案例,将其不同开发阶段分散到理论课程的相关章节,这样就可以将案例自始至终贯穿于理论教学中,从而提高学生的综合应用能力。项目驱动下软件工程课程案例教学过程如图1所示。对所选择的案例设计教学内容,设计情景教学中师生交互的教案,包括组建开发小型项目的团队、模拟项目开发的实际过程等。教师通过项目驱动的案例教学方式,加强团队成员之间的技术交流,调动学生学习的主观能动性。该教学方法可以培养软件人才综合的实践技能,锻炼学生独立地完成项目小组成员应承担的任务。

2.2建设软件工程案例库,拓展教学内容

计算机科学领域的新理论、新技术、新方法层出不穷,知识更新快,相比之下,软件工程课程教材内容就显得过于陈旧,没有及时更新换代,教材中的案例也是如此。比如目前比较好的软件工程教材是张海潘编著的《软件工程导论》,尽管她已经更新到第六版,但仍然存在这样的问题。同时,用人单位也需要毕业生能够掌握一些软件工程学科的前沿知识和技术,以便他们能够更好地适应未来的工作岗位。所以,在建设软件工程案例库时要考虑到这些问题,应当采用内容新颖的案例。这就需要我们在设计和选取案例时花费更多的人力物力,同时难度也很大。为了科学合理的建设案例库,可以采用多种方法同时并用。首先,可以与长期工作在教学一线的老师进行交流,博采众长,汲取他们在教学实践中积累的经验和教训。其次,与已上过软件工程课程的学生交谈,在学生中对教学案例进行调研,对调研报告分析总结,把好的案例留下,不好的案例去掉,需要改进的案例进一步改善和优化。此外,还应该与软件公司合作,一般成熟的软件公司都会把成功开发的项目作为案例建成数据库,我们可以从他们的案例库中挑选一些合适的使用于教学的案例,这样才能更好地提升学生分析问题和处理问题的能力。总之,根据软件工程课程相关内容,建成的案例库内容主要包括软件工程基本原理、软件开发过程文档、软件开发方法和技术、软件开发实例、软件项目管理等。选取与课程内容关联性较强甚至超出课程内容的一些实际案例[4],能使得学生的视野豁然开朗,促使学生变被动学习为主动研究,将自己的个人学习兴趣与时展紧密结合在一起,可以帮助学生在将来的职业发展道路上走的更好更远。

2.3课程实践采用项目化方式进行

软件工程课程的实践环节非常重要,如果采用传统的方式进行,肯定收效甚微,所以需要采用项目管理的方式进行。但在校的学生没有软件开发全过程的经验,一般只有简单的软件设计和程序编码的能力。因此,在软件工程实践课程中可以模仿软件公司开发项目的情形。首先,将学生按照每5人一组进行分组,由于学生能力不同,所以5人组成员构成为:一名组长(负责项目管理和分工)、一名骨干(能力很强)、三名普通成员(能力一般)。其次,分配任务。老师先提供一些题目让各小组挑选,如果小组有自选题目,可以先报给老师审查,审查通过就可以用自选题目。每个小组要完全按照软件工程开发过程来开发自己的项目。然后,明确项目实现的过程管理。整个项目开发过程要求经历可行性分析,需求分析,总体设计,详细设计,编码,测试,维护全过程。每个阶段完成后都要进行评审,提交相应文档和里程碑。在项目进行过程中要定期开例会,由组长主持,组长通报项目总的进展情况。每个成员都要汇报自己的工作情况和进展,以及与其他人的协作情况。会议上对相关技术问题进行讨论。[5]最后,验收和评分。由老师组织验收(答辩)小组,小组成员可以从各小组中抽取优秀同学来组成。每个小组派一个代表来答辩,介绍本小组项目完成的情况和结果,由老师领导的答辩小组进行评定,给出成绩。

3案例教学法的应用

对于案例教学法的应用,我们要考虑以下因素:首先,先学习软件工程的基本方法和原理,然后把一个有代表性的、易于理解的实际案例导入到软件工程的教学中去,把抽象的概念和理论融入到实际的案例中。其次,案例教学的应用必须要学生积极参与进来,让学生尝试着对案例教学的分析和设计,这样才能提高学生的实践能力。为此我们对软件工程课程设置了综合案例,锻炼学生的综合应用能力。

4结语

高校培养出来的软件人才一般还要经过公司的集中实训,才能真正胜任工作角色。现在很多高校已采取与大公司联合培养,使公司的培训提前进入学校,使学生的学习内容更贴近于实际的社会需求,创造出校企合作的软件工程教学模式。如果将案例教学法应用于软件工程的课程教学中,更能锦上添花,进一步提高学生的实践能力。

【参考文献】

[1]张海藩.软件工程导论(第6版)[M].北京:清华大学出版社,2013.

[2]刘强,陈越,骆斌,等.软件工程课程教学实施方案[J].中国大学教育,2011(2):41-44.

[3]宋玉成,靳绍礼.案例法在软件工程学教学中的应用[J].中国科技创新导刊,2010(16):72.

[4]王静.以案例库为导向的“现代软件工程”教学模式探索[J].教育教学论坛,2018-04-18.

[5]唐剑梅.软件工程课程教学改革与探索[J].科教文汇(上旬刊),2011-10-10.

[6]栗元龙.软件工程课程案例教学方法的分析和研究[J].电子世界,2014-06-30.

作者:李娟 明德廷 单位:江西农业大学计算机与信息工程学院