基于Sakai平台的团队开发体验式复合教学模式探索
2015-04-01张程,刘慧君,古平
张程,刘慧君,古平
摘要:《软件工程》是计算机专业核心课程,但目前教学模式上还有很多值得探索的地方,尤其是如何让学生将理论与开发实践结合方法上还有待提高。文章提出了项目驱动的团队开发体验式符合教学模式,将教学内容与项目开发结合,通过Sakai平台实现团队开发体验和进度跟踪,不仅使学生加深了对理论知识的学习体会,还培养了学生的实际开发能力和真实项目团队体验。
关键词:软件工程教学;Sakai平台;复合教学模式
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)41-0165-03
一、引言
《软件工程》是计算机科学与技术专业开设的一门核心专业课程,是学生掌握软件开发过程和主流的软件开发方法的重要途径。同时,由于该课程偏重于系统设计理论与方法学的讲解,抽象概念和理论较多,对于项目经验缺乏、系统知识零散的学生而言,学习难度相对较大,不易抓住重点,容易造成学生的抵触和怠慢情绪。因此,从2012年开始,我们在《软件工程》的教学过程中,引入了项目式的教学方式,并结合Sakai平台作为教学手段,提出了基于Sakai平台的项目驱动教学改革探索。由于软件工程是实践性很强的技术方法类课程,其重点在于培养学生对于软件开发过程的认识和软件开发方法的掌握,强调学生对于分析、设计、编码实现、测试软件以及撰写配套文档的理解和实战能力。同时,由于现在软件的普遍复杂性,软件开发主要以团队开发为主,而不再是个体单打独斗的时代。因此,多给学生动手的机会,以团队方式组织开发,以提高学生实践动手能力,加强团队协同的体验,是《软件工程》课程改革必须重视和优先解决的问题。但是,考虑到软件工程本身的理论深度和丰富内容,课堂的理论教学量也不能放弃。如何在理论教学的同时,强化团队项目开发体验与实践,是《软件工程》教学改革的一个重要内容和方向。Sakai是一项致力于为高等教育机构设计、构建和开展新型协作与学校环境(CLE)的合作型开源软件开发项目,其目标是开发一个开放性资源的合作与学习环境平台,适合于各级学校使用的基于网络的基础性系统架构,与各高校已有的各种工具模块和组件整合为一体,形成一套适用于泛在学习环境下高校教学的新一代网上课程教学、管理平台。Sakai协作和学习环境是一个支持教学、学习和学术协作的灵活的、企业级的应用,它支持全部和部分在线学习。目前,世界上有350多个教育机构采用Sakai作为在线教学平台,其中包括耶鲁大学等世界知名大学;Sakai服务的用户数量超过20万,并且其应用范围和参与的人数还在不断扩大。Sakai项目近年来在我国迅速推广,国内学者研究将Sakai作为智能协作平台、中小学教师远程培训系统、混合学习模式下学习平台、制作网络课程的平台等,复旦大学、北京邮电大学、重庆大学等都进行了功能模块研发及应用实验。重庆大学于2012年开始在大学本科教学中试用Sakai平台作为课堂教学的有力补充,《软件工程》作为计算机专业的核心专业课程,第一时间成为了Sakai平台试点的首选课程之一。经过近2年的课程改革与实践体验,通过Sakai平台可以更好地解决《软件工程》课堂教学与实践环节相融合的集成过程,更为《软件工程》的团队体验式项目开发提供了有效手段和方法。
二、项目团队开发体验式复合教学模式
复合教学模式是以科学的教学理论为指导,依托分组教学、研讨、协作、活动参与等多种教学模式的相互交叉、相互渗透,并融合多元化的教学内容、多样化的教学形式、现代化的教学方法而形成的综合性、立体性的教学模式。结合《软件工程》的课程特点,提出“项目团队开发体验式复合教学模式”,以项目为主体,以项目团队为组织形式,进行软件项目分析、设计、实现和管理,在项目实施过程中,激励学生自我认识,引导学生独立思考与创新,营造交叉讨论的氛围,鼓励学生主动表达各自的观点和思想,从而积极主动地参与分析、评价等活动,将软件工程的分析、设计、实现、管理等知识点融合到项目实施的各个阶段。其主要方法包括以下几种。
1.学生分组。根据学生个人能力的不同,结合男、女生组合搭配的考虑,在进行学生分组时,教师会提出相关建议,以鼓励学生组织的团队具有较强的分析、设计、开发能力,同时也具备良好的协同配合能力和外部沟通能力。建议一:学生分组时应考虑到软件项目可开发涉及的系统分析、设计、实现和测试环节,而不能简单理解为“程序开发=编程”,不要只追求开发能力强,而应该更广泛地组织团队成员。建议二:建议男、女生组合搭配,提高项目团队的配合沟通能力。建议三:项目组长不一定必须是开发能力最强的学生,而应该是具有一定的组织协调能力和团队凝聚力,与项目团队成员之间关系密切并能够保持与成员间良好沟通,具备管理能力的同学。建议四:项目团队人员应限制到4~5人,不允许有2人或以下的开发团队,适当允许2~3组的团队成员为5~6人,以确保教学班的每个同学都能够进入到一个开发团队中。
2.项目确定。最初的项目确定,采取各项目团队自主设置题目的方式,但发现存在一定的问题,主要有:学生设置的题目过于零散,多数偏向简单化,不利于应用和展现软件开发的过程和方法;题目过多,不利于教师的引导和讲解,千奇百怪的诸多题目,让教师很难在课堂上结合软件工程的方法对所有项目进行指导;学生自主选择的题目可能涉及多种编程语言,不易在学校提供的实验环境中实现。因此,后期及时对各项目团队的开发题目进行了控制,指定了诸如“校园餐饮管理系统”、“校园一卡通管理系统”、“学生选课系统”、“学生考勤管理系统”等贴近学生生活,能够日常感知并对其有所体会和想法的题目,更好地让学生能够真正参与到项目开发中。
3.团队管理跟踪。传统的《软件工程》课程项目的团队管理,主要是以书面报告的方式进行跟踪。但一学期的《软件工程》课程,能够让各开发团队提交书面报告的次数毕竟很少,这样并不能够紧密跟踪了解各软件开发团队的项目进展,也无法确保每个团队成员的参与程度。而Sakai平台恰恰解决了这个问题。Sakai平台提供了分组功能,允许学生进行分组,并以分组方式提交作业、参与讨论等。由于每个学生都有自己的账号登陆Sakai系统,而系统会记录每个学生在平台中的操作,发表的贴子,提交的作业等。《软件工程》课程教师为每个分组提供了“讨论区”,各个项目团队可以针对自己项目的每个阶段内容分别建立“讨论版面”,提交讨论主题,并用项目成员各自的账号展开讨论。教师可以浏览讨论区,了解每个项目团队的讨论主题以及每个项目成员的参与情况,对每个项目成员的参与程度和承担的工作量有直观的量化了解。
4.过程管理。由于项目开发题目都是以学生在学校环境中能够感知和体会到的内容为主,因此,学生应能够从用户的角度和开发人员的角度对项目进行需求分析和设计,并提交相关文档。而教师以需求方与技术顾问的双重身份参与其中。作为需求方,教师针对演练项目提供大致的功能需求,鼓励学生通过分析问题、调查研究、分析需求和管理需求等活动,学习软件需求工程的基础知识和基本技能。作为技术顾问,教师为学生提供相应的学习资源和解决问题的方法及手段的建议,引导学生独立思考和讨论。项目开发以迭代方式进行,使用敏捷开发方法,可以确保学生能够在较短的时间内做出可运行的系统,并不断演化完善。这样,能够激发学生对于《软件工程》的学习兴趣,提高他们的学习积极性和主动性。Sakai平台提供的“作业”和“资源”模块,可以有效地帮助教师进行过程管理。教师可以以“作业”方式要求各项目团队提交里程碑文档或阶段性文档,在“作业”中设置“作业截止时间”和“最晚提交时间”,可以限制项目团队的进度安排,增加项目团队的时间紧迫感和对于项目进度的现实体会。同时,由于允许“反复提交”,可以比较项目团队对于同一个问题的不同方案版本,掌握他们对于项目开发问题的认知过程,为课堂教学内容调整提供依据和参考。
5.项目验收。在完成演练项目的开发任务后,由教师组织项目验收讨论会,要求每个小组演示项目成果,从系统背景、团队介绍、采用的技术、系统优势及存在问题等方面汇报,演示系统的各项功能,回答教师和同学的提问,以团队的形式提交软件需求规格说明书、软件设计文档、项目代码、软件测试文档、软件过程管理文档、每周工作报告以及任务跟踪表等材料。
6.成果考核。由于项目开发以团队方式进行,因此,成果考核以及成绩核定,也同样以团队方式进行。项目成果的评定成绩和等级决定了该项目团队所有成员的成绩和等级上限。然后由项目组组长依据该项目成果成绩,以及项目团队各成员在该项目开发中发挥的作用和参与的工作量以及效果给出推荐成绩,并最终由教师根据各个成员在sakai上体现出的项目参与度进行综合评价和最终评分。
随着国内软件产业的发展,软件企业对软件人才的需求无论从数量上还是从质量上都在不断提升,这也使得高校不断地尝试和探索进行各种课程教学模式的改革,从而真正培养出具有实践开发能力的软件人才。笔者正是基于这一背景而提出的软件工程课程体验实践复合教学模式方案,以Sakai开放性资源的合作与学习环境平台为依托,通过团队项目开发方式来切实提高学生的软件工程实践能力。该方案从2012年提出并开始实施,并对2010级和2011级计算机科学与技术专业的学生进行了实践教学改革的尝试,取得了良好的教学效果。
参考文献:
[1]江丽君,谢新就,腾艳杨.开源Sakai的特色及应用分析[J].现代教育技术,2011,(10):10-13.
[2]Sakai Project.[DB/OL].
http://www.sakaiproject.org.
[3]张丹,王建华.基于Sakai的智能协作教学平台的研究[J].黑龙江科技信息,2011,(04):75-76.
[4]张屹,许哲,张帆,等.基于Sakai平台的村镇中小学教师远程培训应用模式初探[J].中国电化教育,2010,(05):51-55.
[5]苟超群,刁永锋,周茂丽.Sakai平台在混合式教学中的应用[J].电化教育研究,2010,(08):73-76.
[6]梁明,赵蔚,刘红霞.Sakai平台上基于知识管理的网络课程创建探析[J].现代教育技术,2010,(04):95-98.
[7]江兴军.运用“体验式学习”方法解决高校体育教学中的几个问题[J].中国科教创新导刊,2010,(14).
[8]董亚珍.体验式教学模式理论思想及教学理念[J].吉林省教育学院学报,2008,(10).
基金项目:重庆市教学改革重发票点项目(132025)
作者简介:张程(1977-),男,讲师,研究方向为软件开发技术,移动智能;刘慧君(1975-),男,副教授,研究方向为软件开发技术,个性化推荐;古平(1976-),男,副教授,研究方向为计算机软件与理论。