中图分类号:G642
项目驱动的软件工程课程案例式分段情景教学研究
张佩云
(安徽师范大学 数学计算机科学学院,安徽 芜湖,241003)
摘 要:重点围绕传统方法学与面向对象方法学,提出了项目驱动下软件工程课程案例式教学内容设计过程,基于所设计案例式教学内容,研究分段式情景教学方式,并提出分段式情景教学过程管理的系统框架,最后给出针对项目驱动的软件工程课程案例式分段情景教学研究的若干思考及建议。
关键词:项目驱动;软件工程;课程案例;情景教学 0引言
“软件工程”是一门理论与实践并重的计算机软件专业基础课程[1],从工程意义上讲是指软件开发、维护、管理等,从学科意义上讲是指软件开发相关的理论、原理、方法、技术等,所涉及的知识点和重点内容都很多。软件工程课程的教学方式方法改革是计算机现代教学研究中一个重要课题。目前软件工程课程教学中存在的主要问题有:文字性内容及说明指导性的教学内容过多,教学过程比较枯燥,教学过程脱离实际应用,实践环节薄弱,学生反应课堂上讲授时能听懂,但课后遇到实际问题时往往无从下手等。因此有必要进一步探索新的教学方式方法改革,以寻找创新人才培养新路。
刘强[1]等人针对软件工程课程的培养目标和教学实施中的关键问题,提出了该课程的教学实施方案。通过一个具有一定规模的软件项目开发全过程,培养学生掌握扎实的软件工程基础知识,具备应用所学技术解决真实问题的能力。陈长清[2]等人以企业实际软件项目贯穿软件工程的相关课程,引入企业工程师,合作组建课程教学团队,将企业的真实要求和企业文化融入到日常教学。由文献分析可知,当前软件工程课程教学研究中尽管引入了项目开发,但仅通过让学生参加项目来学习软件工程课程知识,还不足以快速掌握软件工程的技术与原理,需要对项目开发中的一些隐性知识进行显性化,以加快学生掌握软件工程课程知识的速度。如何使软件工程项目开发中的隐性知识显性化是一个值得研究的问题,为此,本文研究项目驱动下的软件工程课程教学,结合软件工程知识点,对项目驱动的软件工程课程教学内容进行案例式组织,从而实现对项目开发过程进行知识显性化处理,以克服传统的软件工程课程教学内容的抽象性和枯燥性,增强软件工程的知识可见性、具体性、生动性和针对性。
1
1 项目驱动下软件工程课程案例式教学内容设计
在项目驱动下,通过案例设计来突出每堂课的教学重点非常重要,因此针对选取的具体项目,如何设计典型案例来组织教学内容是要解决的关键问题。针对该问题,本文采用的解决办法是:首先收集软件开发所需要的项目信息,然后针对项目软件生命周期的各阶段(如问题定义、可行性研究、需求分析、概要设计、详细设计、编码与单元测试、集成测试、运行与维护),结合学生接受知识的课堂教学时长,分段式选择和设计项目软件生命周期各阶段的案例,借助UML、Visio图形、图表和动画等方式予以表达,并存储于案例库中。针对目前比较流行的两种方法学:传统的方法学和面向对象的方法学进行教学内容设计,如图1所示。
基金项目:安徽省科技厅软科学研究计划项目(11020503009)。
作者简介:张佩云,女,副教授,博士,主要研究方向为知识工程、服务计算和智能信息处理等。
……传统的方法学的瀑布模型项目库项目的选择……分阶段的案例设计案例库……面向对象的方法学的RUP模型
图1 项目驱动下软件工程课程案例式教学内容设计
在图1中,由于传统的方法学和面向对象的方法学各有优势各有侧重,在项目驱动下,需要以这两种方法学为主线,并以软件工程的过程模型(由于两种方法学的模型又分成多种,因此,需要根据项目的需求来选择合适的过程模型,图1中主要给出了传统的方法学的瀑布模型和面向对象方法学的RUP模型)作为设计案例的基础依据,借助各模型体现的软件生命周期的各个阶段,分阶段设计案例以组织并联系软件工程课程的重要知识点。针对两种方法学所采用的不同的技术、工具和方法,可以针对相同的项目内容,设计不同的案例,重点突出两种方法学各自的特点。
2 项目驱动下软件工程课程分段情景教学方式研究
为提高软件工程课程讲授的效果,达到项目驱动下软件工程课程分段情景教学,需要把软件工程知识体系和教学对象的实际情况有机结合[3]。首先,针对学生掌握软件工程知识的程度和教学计划进度,从项目库中选择合适的项目,并选择针对该项目而设计的相应案例;其次,通过基于案例的分段情景教学,使学生容易理解并掌握项目设计和开发过程中的软件工程化方法,通过情景教学增加交互性,促进学生理论知识和动手能力的提高。项目驱动下软件工程课程分段情景教学过程如图2所示。
项目组角色项目经理角色教师角色 案例库案例的选择程序员角色项目组组长角色项目组组长角色程序员角色程序员角色项目组组长角色程序员角色程序员角色 分段情景教学编排教学效果的评价程序员角色表示软件开发交流项目环节及课程教学情景环境表示分段式情景教学指导、控制与交流 图2 项目驱动下软件工程课程分段情景教学过程
在图2所示的分段情景教学过程中,选择并围绕所设计的案例式教学内容,设计分段情景教学的指导、控制与交流脚本,对分段情景教学进行编排:包括组织小型项目研究团队、从团队管理者和团队成员的不同角色设计情景会话、教学过程模拟项目开发的实际场景等。通过研究项目驱动的软件工程课程分段情景教学方式,借助所设计的案例进行分段情景模
拟,增加团队成员间的情景会话,加强该课程的易学性、趣味性,调动学生学习积极性和自主性,达到“练中学”的效果。项目驱动的软件工程课程分段情景教学可以培养软件工程专业人才扎实的实用实践技能,锻炼学生独立胜任项目小组成员角色的能力,并能独挡一面的完成一个具有一定规模的软件项目的角色任务。另外,针对课堂上的分段情景教学内容,课后组织学生以组建团队形式进行项目软件的分段式实践开发,让学生通过理论联系实践的方式掌握软件工程化开发方法。
3 项目驱动下软件工程课程分段情景教学过程管理
项目驱动下软件工程课程分段情景教学过程管理包括:对教学计划的制定、项目的选定、案例的设置、分段情景教学过程的控制(包括:教学内容的选定、案例的选定、角色的安排、任务的安排、时间的安排、教学效果反馈)等内容进行管理。为对项目驱动的软件工程课程分段情景教学过程进行连续有序管理,依托信息技术开发相应管理软件,实现对项目驱动下分段情景教学过程和课后实践的有效控制和管理,尤其是可以促进个性发展,扩大学生自主选择空间[4]。项目驱动下软件工程课程分段情景教学过程管理系统的框架图如图3所示。
教师角色学生角色人机交互界面项目驱动下软件工程课程案例式情景教学过程管理系统教学计划的制定课程的选择项目的选择案例式课程内容设计情景教学设计情景教学编排教学效果反馈……案例库项目库教学资源库
图3 项目驱动下软件工程课程分段情景教学过程管理系统的框架图
在图3中,教师角色和学生角色通过人机交互界面访问和使用该过程管理系统的功能,图3中所示的功能主要包括:项目的选取并添加到项目库、项目驱动的案例式教学内容的设计、情景教学和实践环节的过程管理、教学效果的评价和信息反馈等。开发该过程管理系统的关键是底层的项目库、案例库及教学资源库等基础资源的建设,其中,项目库和案例库的建设来自项目驱动下软件工程课程案例式教学内容设计部分。
4 几点思考
1)通过项目驱动的软件工程课程教学,及时把科研成果转化为教学内容,促进科研与教学互动,促使软件工程课程的教学内容与时俱进,跟进时代的发展和社会需求,从而避免软件工程教学内容与社会需求相脱节。
2)通过项目驱动的案例式课堂教学内容的组织,围绕软件的生命周期和软件工程课程教学,为教学过程提供直观、生动、具体的案例式教学材料。基于案例,采用分段情景教学,不仅使学生掌握软件工程学科的基本概念、原理和理论,也使学生在实际项目的“做”和“练”中运用软件工程的思想和技术解决实际软件开发中遇到的问题。
3)为切实加强项目驱动的软件工程课程案例式分段情景教学效果,不仅要加强过程管理,开发过程管理软件,还需要编写相应的软件工程教材,尤其是实践性教学教材。
参考文献:
[1]刘强,陈越,骆斌,等.软件工程课程教学实施方案[J].中国大学教育,2011 (2):41-44.
[2]陈长清,陈传波,肖来元,等.项目驱动产学结合的软件工程系列课程构建探讨[J]. 计算机工程与科学,2011,33(A1):178-181.
[3]董威,李暾,舒绍娴,等.基于SWEBOK的软件工程系列课程建设[J].高等教育研究学报,2004,27(3):40-42.
[4]朱怡安.适应产业需求构建软件工程专业课程体系[J].中国高等教育,2010 (20):44-46.