摘要:该文首先介绍了软件工程课程的基本状况,然后指出了课程特点并分析了课程中存在的一些问题,提出了以混合式学习方法为基础的软件工程实验教学体系,注重软件开发整个过程的系统性认识和实践性应用。在混合式学习的课程教学模式下,对该校计算机科学与技术专业的同学采用《软件工程》和《医学信息学》课程设计结合的方式,全班完成整个医院信息管理系统的设计与实现,同时开发环境也模拟真实环境,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。
关键词:软件工程课程;混合式
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)18-4210-02
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。《软件工程》课程是我校计算机专业课程体系中一门重要的核心课程,课程目标是让同学掌握软件工程的基本原理、开发方法,指导同学进行系统设计、软件开发,进而提高系统设计开发能力。通过本课程的学习,让同学在掌握软件工程的基本概念、基本原理、实用的开发方法和技术的基础上,了解软件工程在各领域的发展动向和目前软件工程最新开发工具,以及开发软件项目的工程化的方法及在开发过程中应遵循的流程、准则、标准和规范等;使学生掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为今后从事软件开发和应用打下良好的基础。
1 课程特点及存在问题
《软件工程》课程理论性较强,如果一味的灌输软件工程的基本理论,往往不能激发学生的兴趣,很多同学学习到期末感觉接触到了不同的图、表,而对于课程的知识还是一头雾水,教学效果不好。虽然课程有实验教学的环节,但一般只是停留在学生开发一个软件、编写软件项目各阶段文档这个单一环节上。加上教学时间有限,要真正完成项目的开发和软件工程各阶段文档的编写,需要同学花较多课余时间去完成,一部分同学在没有老师督促的状态下,缺乏主动性,最后完成不了实践环节的项目开发,各阶段文档也是草草了事。今天,软件工程教学面临着计算机学科发展规范所提出的更高的质量要求,同时也面临着大众化高等教育背景下所带来的客观问题。因此,如何开展软件工程的实验教学,保证课程实验环节的效果,激发同学的积极性,真正让同学掌握软件工程的原理一直是个问题。
2 课程设计的组织方式
我校该课程为3学分(51课时),目前我们采用38课时(理论)+14课时(实践),课程设计是课程学习的一个核心部分,为了较好的保证同学有足够的时间进行课程设计,我们将《软件工程》和《医学信息学》两门课程的课程实践合并进行,通过近三年的尝试取得了一定的效果:软件项目的设计与实现均按时完成;通过较完整的富有挑战性的软件项目开发实践,提供同学主动学习、深入实践的机会,并且通过课程设计实践,提高同学的项目管理、团队合作、自学能力、书面与口头表达能力,与团队其他成员交往和协作开发软件的能力,为今后从事软件开发和应用打下良好的基础,增强了自信心。
在混合式学习的课程教学模式下,对10级、11级采用《软件工程》和《医学信息学》课程设计结合的方式,每个自然班级完成整个医院信息管理系统的设计与实现,其中每个小组负责一个子系统(如门诊挂号收费、门诊医生工作站、门诊药房、药库管理、住院管理、护士工作站等)。
1) 具体的人员安排:1个班级有2名项目经理负责整个项目进度管理,收集各小组需求的基础上进行数据库设计,界面风格统一设计。
2) 每个小组5-6人负责子系统的设计和实现,其中组长1名对整个小组人员工作安排及进度控制。
3) 课程设计组织开展:在同学了解每个子系统的功能的基础上,采取自主选题的形式,推荐组长1名。第1-2周完成分组;第3-5周进行项目的需求分析;第6-9周进行总体设计和详细设计;第10-14周各小组编码实现;第15-16周进行测试;第17周项目演示及报告,并提交各个阶段文档。整个课程设计的中,每个阶段与课程教学对应,能较好的将理论学习与实践结合起来,所以在整个实践阶段教师提供实践思路与方法的指导,引导小组成员协作学习、讨论交流,培养同学团队协作和一定的项目控制能力。 期中安排一个项目功能介绍并检查需求分析及总体设计文档,期末进行项目演示,通过演示环节不仅向其他小组展示自己的特色还能吸取其他小组的经验及优点,也增强了同学的表达能力。各小组的评分来源于三个方面:教师评价、小组自评、组间评价,不仅全面客观而且提高了同学的参与度。
3 项目效果的分析
混合式学习的程序设计教学模式下,对比同学的学习情况有以下几个方面的提高:
1) 提高了参与度和积极性
原来《软件工程》课程实践课题主要是一个组一个课题,课题间没有明显的链接点,各组同学之间基本上没有交流。在新模式下的课程设计,各个小组最终要形成一个完整的医院管理信息系统,整个项目的需求分析和总体设计必须在各组参与的情况下进行,较好的调动了各个同学的参与度和积极性。
2) 能较好控制整个项目按时完成
在新模式下,各组的进度基本能统一。相比原来的小组独立完成一个课程设计,个别小组组长管理能力弱、组员积极性不高往往会导致项目最后失败,不能按时提交。
3) 增强了同学的团队合作能力
整个项目的设计和实施按进度安排进行依赖于每个同学的积极投入,软件项目分析、设计、实现、测试各阶段之间的衔接和过渡需要同学间认真的学习和了解才能进行。在整个过程中大家围绕一个共同的目标,整个项目的完成依赖于每个子系统的正常运行,提高了同学间互相协作、团队合作的能力。
4) 增强了同学的口头与书面表达能力
整个课程设计中安排的1次报告及1次演示,能给同学提供一个展示团队工作的平台,提高了口头表达能力。课程设计各阶段按规范要求生成一整套文档,不仅让同学按照软件开发规范完成一个软件开发的过程,而且锻炼了同学的书面表达、文字组织及图文混排能力。
4 结束语
《软件工程》是计算机科学与技术专业学科的一门必修课程,也是一门综合性和实践性很强的核心课程,主要是介绍软件工程的基本概念和理论,其内容涉及传统软件工程和现代软件工程,从软件项目的分析、设计到实现,覆盖整个生命周期,包括软件质量与质量保证、项目计划与管理等内容。根据培养应用型人才的需要,使同学通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。我校开设《软件工程》课程已经近十年,经过这些年的教学实践和理论研究,该课程的教学模式改革也在不断进行,采用混合式学习方法的软件工程实验教学改革也是其中一项,特别是对我们培养具有医学背景的计算机专业同学是一个较好的探索,通过整个医院信息管理系统的实践,让同学在掌握软件工程的思想和方法的基础上,对软件开发过程有了具体、深刻体会。
参考文献:
[1] 任传成,于瑞玲,唐忠莉.“软件工程”课程考试改革的探索和思考[J].计算机教育,2007(1).
[2] 王守金,宋晓宇,王永会.基于创新型人才培养的实践教学改革研究[J].计算机教育,2008(4).
[3] 章美文,党承华,翟利玲.工科院校考试改革探索[J].河北建设学院学报,2006(3).
[4] 刘燕.大众化教育背景下高校课程考试改革的探讨[J].辽宁教育研究,2006(1).
[5] 张海藩.软件工程导论[M].北京:清华大学出版社,2003.
[6] 张基温.面向21世纪计算机教学改革的几点思考[J].计算机世界,1997(9).
[7] 田金兰.国外大学计算机系“软件工程”系列课程分析[J].计算机教育,2004(5).
[8] 尹锋.学习迁移理论在软件工程教学中的应用[J].中国大学教学,2005(2).
[9] 刘乃琦.软件工程教育的特点与问题[J].计算机教育,2004(11).
查看全文
false