案例驱动式方法在软件工程教学中的应用

时间:2022-10-07 02:08:49

案例驱动式方法在软件工程教学中的应用

摘要:阐述了在信息与计算科学专业的软件工程课程教学中采用案例驱动式教学方式进行教学的方法与过程。根据学生的具体情况和教学现状,通过案例的分析讨论和学生参与项目小组,把软件工程的理论技术和实践方法结合起来,实践证明,此方法提高了教学质量和效果,增强了学生的软件开发综合素养和技能。

关键词:软件工程;案例驱动式教学;软件工程;教学方式

中图分类号:TP434文献标识码:A文章编号:1672-7800(2013)006-0191-03

作者简介:李洪进(1983-),女,硕士,遵义医学院医学信息工程系工程师,研究方向为计算机软件与理论、软件工程、软件测试、医学信息处理。

0引言

软件工程是医学信息工程系信息与计算科学专业的一门专业核心必修课,该课程的理论性和逻辑性强、内容抽象、较难掌握。软件工程涉及到计算机学、工程学、管理学等领域。一个高质量的软件系统需要软件工程理论的指导和具体实践相结合。如果按照传统的填鸭式教学方法,纯讲理论、照本宣科,学生会觉得枯燥无味,学习兴趣低。在软件工程教学中采用案例驱动式教学来进行课程改革,把学生分成多个项目小组,把软件工程课程中包含的软件工程管理、需求分析、软件总体和详细设计、软件测试、软件维护用项目来具体实施,可以提高教学效果,使学生一边实践一边学习、理解软件工程的理论,积累编程经验和软件项目的开发经验,把以前学习的知识巩固,使学生明白软件的开发不仅仅是编写代码那么简单,从而为以后从事项目开发和管理工作打下坚实的基础。

案例驱动式课程教学法是美国的哈佛大学在20世纪20年代提出的,因为实践效果好,目前在我国很多课程教学中也经常采用。这种教学方式主要以案例作为基本的教学素材,在教师的指导下,组织学生来分析、讨论、调查案例。在软件工程教学中,教师既可以选择案例来分析讲解,互相讨论交流,还可以选择案例给学生在课堂后搜集资料分组完成,最后综合考察具体开发的软件项目成品(论文+系统);另外可以把一些优秀的案例放到软件工程的精品课程网站上,供学生下载资料来学习研究。

1案例选取

在软件工程案例驱动式课程教学中,案例的选取很重要,如果选择的项目规模太大、行业性太强,会增加学生的完成难度,有的项目无法理解,学生会失去兴趣,因此,首先要精心挑选一些具有针对性和代表性的案例来进行课堂的知识点讲解,便于总结和学生实施项目时模仿,然后选择两个类似项目和3个中等难度的项目让学生在课后完成,在学生分组时,每个团队都要把成绩较好和一般的学生合理分配,实行因材施教,根据学生的实际情况和动手能力来选择分配项目,做到既有共性又有个性,难度适中。案例讲解要和软件生命周期结合起来,具有启发性,使学生熟练掌握软件开发各个阶段中完成的内容。具体有软件可行性分析研究报告、软件需求分析报告、软件总体设计报告、软件详细设计报告、软件使用说明书、软件测试报告。另外可以根据学校教师科研的实际情况,让学生参与一些科研项目,做力所能及的工作。加强学校和企业合作,通过课程培训和企业项目实习,也可以改编项目教学案例,比如学生成绩管理系统、职工信息系统、图书管理信息系统、医院病历管理系统、餐厅点餐系统、航空订票系统等普遍比较熟悉的项目,把经典的项目和先进的前沿技术结合。

比如在讲解用面向对象方法进行软件系统的分析、设计和开发过程时,通过学生比较熟悉的案例ATM自动取款机来贯穿。

首先根据ATM系统的需求陈述来建立问题域的对象模型,找出候选的类—&—对象,通过筛选确定类—&—对象有如下:ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。找出对象之间的关系,进一步完善和确定关联,并按照问题领域把系统划分为“总行”、“分行”和“ATM”3个主题,编号分别是1、2和3,如图1所示。

然后确定属性,分析和选择属性时要注意不要将对象和状态误当作属性,不要过于细化;确定了类的属性后,可以识别出类的继承关系,通过反复修改得到ATM系统的对象模型,如图2所示。在建立对象模型时,并不一定严格执行这样的顺序,可以交替完善。

第二步:建立ATM系统的动态模型,编写正常情况和异常情况下交互行为的脚本,设计出系统的应用逻辑和设想友好的用户界面,然后从脚本提取事件并画出事件跟踪图,描绘出事件与对象关系的状态图,如图3所示。

第三步:建立ATM系统的功能模型,根据系统中数据之间的依赖关系和数据处理的功能,画出基本系统模型,把基本系统模型中单一的处理框分解成若干个子处理框,得到功能级数据流,并描述处理框的功能和定义服务。

最后用面向对象方法对系统进行设计,设计问题域子系统时把ATM系统进一步划分为3个子系统,分别为:ATM站、中央计算机、分行计算机子系统,如图4所示。详细讲解ATM系统的需求分析报告和系统设计说明书后,学生可以采用面向对象的编程方法来实现一个简单的模拟系统,一般采用Visual Studio 2010+SQL2008,后台编程语言是C#或VB,也有的项目组采用JSP+MYSQL数据库来完成。

这样通过具体的案例讲解使学生懂得怎样去设计人—机交互子系统、任务管理子系统和数据管理子系统,并书写系统的概要设计报告和详细设计报告,理解面向对象分析、设计和实现的具体流程。要求使用UML语言和Rational Rose2007工具来统一建模,为软件工程课程实践打下基础。

2项目考核

软件工程教学中,课程结束时考核方式由平时成绩(10%)+5个项目报告(20%)+综合项目设计实验(20%)+考试(50%)几部分组成,这样可以全面考察学生学到的知识及其运用能力。在项目具体开发实施时,为了提高学生的综合素质和学习兴趣,教师首先讲解几个常见的软件工程项目的开发过程,然后把学生分成5个团队(6至8人一个团队),把每个项目的角色分成项目经理、数据库工程师、项目构架师、编程人员、软件测试人员,让学生交叉地参与几个项目的讨论,通过查阅相关资料、提问和对话,激发他们的独立思考和创新能力,教师再进行指导答疑项目实施中的关键点,拓展贯穿知识点,提高学生的动手能力和团队合作的能力,加强交互,教学相长,提高教学质量。在每个软件开发阶段结束后,五个项目团队都要交相关文档给教师审阅,然后针对问题提出修改建议并完善报告。

软件工程的这种案例驱动式课程教学模式有利于提高学生的项目管理和软件开发素养。遵义医学院医学信息工程系的教师建立了软件工程实验室,把学生分成了几个小组,每个教师带领一个团队,项目结束后学生先提交每个阶段的开发文档报告,然后以教师参与的项目答辩的形式,让学生一边演示软件系统、教师一边提问,对所做的工作进行总结,考察了学生的学习态度、软件开发能力和编写文档的能力。采用案例教学和多元化的考核方式来提高学生的学习主动性和兴趣,更好地理解软件工程的理论知识并加以实践,使学生课堂内外结合,培养具有良好的团队开发能力和开拓精神人才。

3结语

根据医学信息系近几年的实践,教学改革取得了优良的成绩。教师采用软件工程课程案例式驱动教学,学生通过近一年的项目实践,能够全面掌握面向对象的软件系统的开发设计和维护,提高了分析问题和解决问题的能力,掌握了项目开发管理的基本流程方法,为将来的学习、毕业设计和工作奠定基础。当然,在今后的教学工作中,还要更多地开发和探索其它优秀的教学方法,积累经验,争取获得更好的教学效果。

参考文献:

[1]汪璟玢.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,2012(5).

[2]王小刚.改进软件工程类课程课堂教学效果的几种方法[J].计算机教育,2012(6).

[3]甘沅鑫.高职院校软件工程课程中案例教学法的实现[J].科教纵横,2012(5).

[4]肖宿.软件工程课程教学方法初步探索[J].电脑知识与技术,2012(5).

[5]刘心声.软件工程课程实践教学法探讨[J].产业与科技论坛,2012(11).

上一篇:高校微型学习资源设计研究 下一篇:Oracle数据库存储管理策略研究