论文部分内容阅读
摘要:分析传统软件工程教学过程中出现的问题,提出在课堂教学中引入案例教学法的解决思路。以“图书管理系统”作为教学案例,提出教学过程中需要遵循的两个原则以及具体实施方案。实践证明,案例教学法的应用获得不错的效果,帮助学生更好地掌握软件工程思想及设计方法,强调作为软件工程师应具备的技能,更好地适应社会需求。
关键词:软件工程;案例教学;图书管理系统
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2014)32-7657-02
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量软件的学科,是计算机相关专业中的一门核心课程。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。因该课程理论高度高,需要一定的实践基础,学生在学习时常感觉抽象、言之无物,课程学习的兴趣不高,做具体项目时又无从下手;教师在教授该课程时又感觉很有难度,较难达到预期教学效果。
当今软件项目的开发随软件产业的快速发展对其从业人员的软件工程素养要求日益提高,要求软件项目的管理者、开发人员及测试人员必须掌握软件工程技术、方法和原理。为了解决教学效果跟行业发展现状的矛盾,各高校也在积极进行教学改革,案例教学法的出现为解决这一难题提供了思路。
1 案例教学设计的基本原则
案例教学法(亦称个案教学法)是一种由美国哈佛大学法学院教授Christopher Columbus Langdell所研拟出,当前管理学界、政府部门乃至于企业大学所经常使用的教学方法。德国教育家W·克拉夫基认为,案例教学是指“让学习者从真实的案例中学到一般性的、能触类旁通的知识和能力;即能让他们获得结构性的东西及规律性的关系等。通过掌握和运用这种一般性的知识、能力,就能多少理解并解决一些结构类似的问题”[1]。
软件工程案例教学的目的是帮助学生理解和掌握软件开发过程中的方法、技术和原理,培养学生用工程思想去开发软件的能力[2],让学生具备更高的专业素养,培养他们分析问题解决问题,提高实践动手能力等综合素质,适应社会的发展需要。因而案例设计是实现课堂授课效果、提高学生综合素质的关键。
现如今,很多课程都试行了案例教学法,但并不是所有课程的改革都是成功的,主要存在如下问题:案例质量不高、缺乏新意、创新性差、来源匮乏、超出学生理解能力等。因而,在设计教学案例时,一定要遵循从学生实际情况出发,结合当前行业发展现状,设计符合学生水平的案例内容[3]。
1) 挑选的教学案例要有针对性和综合性。根据系统开发的不同来设计一些常见的案例,通过讲解案例在开发过程中各个步骤的具体应用,通过一个完整的综合性案例,使学生对软件设计和开发有一个完整的概念,而不是只见树木,不见森林的状况,为学好这门课程打下初步基礎。
2) 好的案例应是身边发生的真实事件。通过对实际项目进行研讨,为学生创造一个身临其境的真实环境,最好是亲身经历的事件,易于学习和理解,能提高学生的学习兴趣,达到预期的教学目标。
3) 所用案例最好是授课老师亲自参与开发的项目,而不是随便抄袭、借用别人的案例。由于教师有开发经验,在教授基本理论时,对学生出现的各种问题有较强的预见性,并能对出现的问题给予相应的指导和合理的点评和总结,启发学生的创新能力。在教学过程中鼓励学生多沟通,强调工程实践能力的培养。
2 案例教学的应用
2.1 案例设计
软件工程课程的特点是既有系统的理论知识,又有将理论应用于实践的方法和技术,因此在设计案例时,根据软件开发的不同阶段可设计一些与现实问题联系紧密的案例[4]。在讲授软件工程课程时,结合从事计算机专业软件工程教学和科研的实践经验,从软件工程课程的特点和教学中存在的问题出发,设计了一个师生都熟悉的软件工程案例教学方案—图书管理系统。
软件工程课程是面向本科高年级学生开设的,这部分学生有较强的沟通能力和理解能力,可以组队进行图书管理事务的调研,让学生直接参与学院图书馆的具体管理,如何处理借书、还书、查询、续借以及逾期等事务,只有充分了解了业务流程,才能进行下一步的分析与设计。而且一个完整案例的内容具有内在联系性,就可以将多个知识、技术与方法融为一体,有助于提高学生综合运用知识的能力。
2.2 教学原则
好的教学案例更需要好的教学方法[5]。软件工程案例教学过程中需要遵循以下两个原则:
1) 明确以理解软件工程思想精髓的教学目标
在教学过程中以“让学生掌握软件开发的方法,理解软件工程思想的精髓”为教学原则,让学生在理解软件开发过程中的基本概念、基本知识、基本思想的同时,着重培养学生运用所学的知识去解决实际问题能力。教师要清楚软件工程课程的目的不是让学生单单学会某一项目的分析、设计方法,而是要培养举一反三的能力,以后不管遇到什么样的课题,都能运用所学知识进行分析、设计与实现,即 “授人以渔”,培养学生独立思考和解决问题的能力。
2) 坚持“精讲多练”的教学原则
学生是课堂的主体,精讲的对象就是这些主体,所以肯定要了解学生的学习基础,根据学生的兴趣爱好、基础确定哪些内容需要讲,是详讲还是略讲,哪些知识是可以让学生自己去理解把握的内容,哪些知识需要通过上机操作学生才能进一步理解、消化。“精讲”是为了帮助学生掌握课程知识点,并提高练的效率,所以要求教师能全面、系统地把握教学的内容,区分重点和难点,做到讲解简练、深刻,启发学生的软件工程思维。“多练”是计算机课程的重要环节,是将课堂上的理论知识转化为内在知识的一种手段。通过实践,巩固知识、引导学生把知识运用于实际,真正理解软件工程思想。精讲多练要求既重视讲的作用,又保证练的需要,把讲和练的作用结合起来,发挥师生双方面的积极性。就讲和练的关系说,精讲既为了给多练腾出时间,更为了给多练提供指导。“讲”,要避免填鸭式、满堂灌、凌空说教、烦琐讲解,但并不是单纯追求讲得越少越好;“练”,要在精讲指导下,培养学生分析问题、解决问题和学习新知识的能力,从而充分地开发和利用学生的智慧潜力,促使学生动机由外在转向内在,从根本上调动学生学习的积极性、主动性。 2.3 案例教学的实施
软件工程案例教学的实施主要从以下两个方面着手。
1) 结合实际项目的理论教学改革
在理论授课过程中,以学生经常接触的“图书管理系统”作为教学案例,而且曾开发过该类系统,对软件开发的各个环节非常清楚,通过系统循序渐进地讲授传统的软件开发方法和目前流行的面向对象的软件开发方法,各知识点通过项目的逐步完成来介绍,着重把握各知识点在项目中的运用,并辅以开发方法的介绍,对各知识点的介绍以一种自然、顺畅的方式呈现,并不会造成知识的断层从而没有整体的概念。由此来帮助学生学会运用软件工程思想,培养学生综合能力。结合具体项目,让学生形象且深刻体会传统方法学与面向对象方法学的区别、优劣,使枯燥乏味的理论知识有实践依据,学生不会觉得空泛、枯燥,激发学生学习兴趣。
软件需求无疑是当前软件工程中的关键问题,没有需求就没有分析。以借阅图书为例,引出需求分析与建模的方法。先介绍传统分析方法,如结构化分析方法的业务流程图的符号及意义,然后引导学生画出各层数据流程,对于许多学生,画数据流程一直是处于一知半解的状态,这样就很好地解决了这个难点。当学生掌握了这个方法后,再引入面向对象方法,采用用例模型来展示需求。经过两者比较、分析,让学生体会传统方法和面向对象方法的差异,更好地理解两者的特点。
透析了需求后,再介绍系统设计、实现、测试及维护的方法,将传统的流程图、N-S图、PAD图等知识点与面向对象的类图、活动图、时序图、构建图等信息对照学习、应用,使学生更深入理解两种方法的精髓,系统地了解和掌握软件开发的基本原理及技术,有利于学生成为企业真正需求的软件设计师。
2) 以培养软件工程师为目的的实践教学
软件工程是一门具有较强实践性的课程,针对传统填鸭式教学过程中的问题,在加强随堂授课的同时,进一步加强综合性实践,培养学生的动手能力。课程教学不可能将项目的方方面面都涉及到,实践教学恰好可以深化学生对软件工程各阶段知识点的理解,让学生在实践过程中增强学习自信心,激发学习动力,培养团队合作能力。课程教授全程围绕“图书管理系统”,学生以团队为单位(一般建议4人),自主设计,人人参与,充当不同的角色(如项目管理员、程序员、项目测试师等),每个人的作品都将以个人、小组形式进行计分,最后给出一个综合性的实验成绩计入期末成绩,这种方式极大地激发了学生的学习兴趣,保证了项目的正常进行。每个阶段每个小组都推举一名同学进行演示、答辩,然后教师进行点评和总结,针对出现的问题,学生再进行演练和提高。通过完整的项目设计,每个组员都有自己的任务,不会出现扯皮、不干活的状态,每人都会努力做好自己的分内工作,以免拖累整个小组成绩,培养一个软件工程使该有的职业素养;组员间也会积极沟通,这不仅快速地掌握设计和实现一个项目的基本方法,而且培养了作为一名软件工程师应该具备的沟通能力,为以后的职业生涯打下一个良好的基础。经过一个学期的学习与实践,学生能较好地掌握软件工程思想及设计方法,初步具备该专业需要的职业技能,更好地适应社会需要。
3 结论
将案例教学引入到软件工程教学中,通过“图书管理系统”完整的案例使学生初步掌握软件工程思想及设计方法,激发学生的学习兴趣与动力,有助于学生理解并掌握工程项目的实现过程,这对提高学生的工程理念、职业技能等各方面素质的提高都有很大的帮助。本校以计算机专业为具体实践对象,并追踪学生的毕业设计情况。与往届相比,经过案例教学法训練的学生,其毕业论文的质量有较大幅度提高。
参考文献:
[1] 李晓蕙.大学本科案例教学实践反思[J]. 航海教育研究, 2008(4):80-82.
[2] 路阳,董宏丽.软件工程案例教学浅议[J]. 长江大学学报, 2010,7(2):386-387.
[3] 丁辉.工科专业案例教学研究[J]. 教育探索,2009(1):52-53.
[4] 巫华芳.软件工程教学案例设计初探[J]. 教育与职业, 2007(27):139-140.
[5] 鲁红英,肖思和.案例教学法在“大学计算机基础”教学的应用研究[J]. 中国电力教育,2013(7):94-95,110.
关键词:软件工程;案例教学;图书管理系统
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2014)32-7657-02
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量软件的学科,是计算机相关专业中的一门核心课程。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。因该课程理论高度高,需要一定的实践基础,学生在学习时常感觉抽象、言之无物,课程学习的兴趣不高,做具体项目时又无从下手;教师在教授该课程时又感觉很有难度,较难达到预期教学效果。
当今软件项目的开发随软件产业的快速发展对其从业人员的软件工程素养要求日益提高,要求软件项目的管理者、开发人员及测试人员必须掌握软件工程技术、方法和原理。为了解决教学效果跟行业发展现状的矛盾,各高校也在积极进行教学改革,案例教学法的出现为解决这一难题提供了思路。
1 案例教学设计的基本原则
案例教学法(亦称个案教学法)是一种由美国哈佛大学法学院教授Christopher Columbus Langdell所研拟出,当前管理学界、政府部门乃至于企业大学所经常使用的教学方法。德国教育家W·克拉夫基认为,案例教学是指“让学习者从真实的案例中学到一般性的、能触类旁通的知识和能力;即能让他们获得结构性的东西及规律性的关系等。通过掌握和运用这种一般性的知识、能力,就能多少理解并解决一些结构类似的问题”[1]。
软件工程案例教学的目的是帮助学生理解和掌握软件开发过程中的方法、技术和原理,培养学生用工程思想去开发软件的能力[2],让学生具备更高的专业素养,培养他们分析问题解决问题,提高实践动手能力等综合素质,适应社会的发展需要。因而案例设计是实现课堂授课效果、提高学生综合素质的关键。
现如今,很多课程都试行了案例教学法,但并不是所有课程的改革都是成功的,主要存在如下问题:案例质量不高、缺乏新意、创新性差、来源匮乏、超出学生理解能力等。因而,在设计教学案例时,一定要遵循从学生实际情况出发,结合当前行业发展现状,设计符合学生水平的案例内容[3]。
1) 挑选的教学案例要有针对性和综合性。根据系统开发的不同来设计一些常见的案例,通过讲解案例在开发过程中各个步骤的具体应用,通过一个完整的综合性案例,使学生对软件设计和开发有一个完整的概念,而不是只见树木,不见森林的状况,为学好这门课程打下初步基礎。
2) 好的案例应是身边发生的真实事件。通过对实际项目进行研讨,为学生创造一个身临其境的真实环境,最好是亲身经历的事件,易于学习和理解,能提高学生的学习兴趣,达到预期的教学目标。
3) 所用案例最好是授课老师亲自参与开发的项目,而不是随便抄袭、借用别人的案例。由于教师有开发经验,在教授基本理论时,对学生出现的各种问题有较强的预见性,并能对出现的问题给予相应的指导和合理的点评和总结,启发学生的创新能力。在教学过程中鼓励学生多沟通,强调工程实践能力的培养。
2 案例教学的应用
2.1 案例设计
软件工程课程的特点是既有系统的理论知识,又有将理论应用于实践的方法和技术,因此在设计案例时,根据软件开发的不同阶段可设计一些与现实问题联系紧密的案例[4]。在讲授软件工程课程时,结合从事计算机专业软件工程教学和科研的实践经验,从软件工程课程的特点和教学中存在的问题出发,设计了一个师生都熟悉的软件工程案例教学方案—图书管理系统。
软件工程课程是面向本科高年级学生开设的,这部分学生有较强的沟通能力和理解能力,可以组队进行图书管理事务的调研,让学生直接参与学院图书馆的具体管理,如何处理借书、还书、查询、续借以及逾期等事务,只有充分了解了业务流程,才能进行下一步的分析与设计。而且一个完整案例的内容具有内在联系性,就可以将多个知识、技术与方法融为一体,有助于提高学生综合运用知识的能力。
2.2 教学原则
好的教学案例更需要好的教学方法[5]。软件工程案例教学过程中需要遵循以下两个原则:
1) 明确以理解软件工程思想精髓的教学目标
在教学过程中以“让学生掌握软件开发的方法,理解软件工程思想的精髓”为教学原则,让学生在理解软件开发过程中的基本概念、基本知识、基本思想的同时,着重培养学生运用所学的知识去解决实际问题能力。教师要清楚软件工程课程的目的不是让学生单单学会某一项目的分析、设计方法,而是要培养举一反三的能力,以后不管遇到什么样的课题,都能运用所学知识进行分析、设计与实现,即 “授人以渔”,培养学生独立思考和解决问题的能力。
2) 坚持“精讲多练”的教学原则
学生是课堂的主体,精讲的对象就是这些主体,所以肯定要了解学生的学习基础,根据学生的兴趣爱好、基础确定哪些内容需要讲,是详讲还是略讲,哪些知识是可以让学生自己去理解把握的内容,哪些知识需要通过上机操作学生才能进一步理解、消化。“精讲”是为了帮助学生掌握课程知识点,并提高练的效率,所以要求教师能全面、系统地把握教学的内容,区分重点和难点,做到讲解简练、深刻,启发学生的软件工程思维。“多练”是计算机课程的重要环节,是将课堂上的理论知识转化为内在知识的一种手段。通过实践,巩固知识、引导学生把知识运用于实际,真正理解软件工程思想。精讲多练要求既重视讲的作用,又保证练的需要,把讲和练的作用结合起来,发挥师生双方面的积极性。就讲和练的关系说,精讲既为了给多练腾出时间,更为了给多练提供指导。“讲”,要避免填鸭式、满堂灌、凌空说教、烦琐讲解,但并不是单纯追求讲得越少越好;“练”,要在精讲指导下,培养学生分析问题、解决问题和学习新知识的能力,从而充分地开发和利用学生的智慧潜力,促使学生动机由外在转向内在,从根本上调动学生学习的积极性、主动性。 2.3 案例教学的实施
软件工程案例教学的实施主要从以下两个方面着手。
1) 结合实际项目的理论教学改革
在理论授课过程中,以学生经常接触的“图书管理系统”作为教学案例,而且曾开发过该类系统,对软件开发的各个环节非常清楚,通过系统循序渐进地讲授传统的软件开发方法和目前流行的面向对象的软件开发方法,各知识点通过项目的逐步完成来介绍,着重把握各知识点在项目中的运用,并辅以开发方法的介绍,对各知识点的介绍以一种自然、顺畅的方式呈现,并不会造成知识的断层从而没有整体的概念。由此来帮助学生学会运用软件工程思想,培养学生综合能力。结合具体项目,让学生形象且深刻体会传统方法学与面向对象方法学的区别、优劣,使枯燥乏味的理论知识有实践依据,学生不会觉得空泛、枯燥,激发学生学习兴趣。
软件需求无疑是当前软件工程中的关键问题,没有需求就没有分析。以借阅图书为例,引出需求分析与建模的方法。先介绍传统分析方法,如结构化分析方法的业务流程图的符号及意义,然后引导学生画出各层数据流程,对于许多学生,画数据流程一直是处于一知半解的状态,这样就很好地解决了这个难点。当学生掌握了这个方法后,再引入面向对象方法,采用用例模型来展示需求。经过两者比较、分析,让学生体会传统方法和面向对象方法的差异,更好地理解两者的特点。
透析了需求后,再介绍系统设计、实现、测试及维护的方法,将传统的流程图、N-S图、PAD图等知识点与面向对象的类图、活动图、时序图、构建图等信息对照学习、应用,使学生更深入理解两种方法的精髓,系统地了解和掌握软件开发的基本原理及技术,有利于学生成为企业真正需求的软件设计师。
2) 以培养软件工程师为目的的实践教学
软件工程是一门具有较强实践性的课程,针对传统填鸭式教学过程中的问题,在加强随堂授课的同时,进一步加强综合性实践,培养学生的动手能力。课程教学不可能将项目的方方面面都涉及到,实践教学恰好可以深化学生对软件工程各阶段知识点的理解,让学生在实践过程中增强学习自信心,激发学习动力,培养团队合作能力。课程教授全程围绕“图书管理系统”,学生以团队为单位(一般建议4人),自主设计,人人参与,充当不同的角色(如项目管理员、程序员、项目测试师等),每个人的作品都将以个人、小组形式进行计分,最后给出一个综合性的实验成绩计入期末成绩,这种方式极大地激发了学生的学习兴趣,保证了项目的正常进行。每个阶段每个小组都推举一名同学进行演示、答辩,然后教师进行点评和总结,针对出现的问题,学生再进行演练和提高。通过完整的项目设计,每个组员都有自己的任务,不会出现扯皮、不干活的状态,每人都会努力做好自己的分内工作,以免拖累整个小组成绩,培养一个软件工程使该有的职业素养;组员间也会积极沟通,这不仅快速地掌握设计和实现一个项目的基本方法,而且培养了作为一名软件工程师应该具备的沟通能力,为以后的职业生涯打下一个良好的基础。经过一个学期的学习与实践,学生能较好地掌握软件工程思想及设计方法,初步具备该专业需要的职业技能,更好地适应社会需要。
3 结论
将案例教学引入到软件工程教学中,通过“图书管理系统”完整的案例使学生初步掌握软件工程思想及设计方法,激发学生的学习兴趣与动力,有助于学生理解并掌握工程项目的实现过程,这对提高学生的工程理念、职业技能等各方面素质的提高都有很大的帮助。本校以计算机专业为具体实践对象,并追踪学生的毕业设计情况。与往届相比,经过案例教学法训練的学生,其毕业论文的质量有较大幅度提高。
参考文献:
[1] 李晓蕙.大学本科案例教学实践反思[J]. 航海教育研究, 2008(4):80-82.
[2] 路阳,董宏丽.软件工程案例教学浅议[J]. 长江大学学报, 2010,7(2):386-387.
[3] 丁辉.工科专业案例教学研究[J]. 教育探索,2009(1):52-53.
[4] 巫华芳.软件工程教学案例设计初探[J]. 教育与职业, 2007(27):139-140.
[5] 鲁红英,肖思和.案例教学法在“大学计算机基础”教学的应用研究[J]. 中国电力教育,2013(7):94-95,110.