软件工程的课程实践教学

时间:2022-05-26 11:37:19

软件工程的课程实践教学

摘要:分析高校软件工程专业课课程设计实践环节教学内容、教学手段及考核体系现状与存在问题,提出课程设计环节教学改进方案,即建设一个供多门课程使用的可复用教学案例库,并采用分段式教学手段推行案例,配合完整监管与考核体系,保证课程设计环节教学质量。

关键词:软件工程;实践教学;课程设计;案例库;可复用

课程设计是一门课程结束之后安排一周或者两周综合实训,让学生完成一个实际的课题巩固理论知识,对课程知识体系获得更深刻全面的理解,是提高学生实践能力的重要环节[1]。目前,学院软件工程专业从第4、5学期陆续开设专业基础课和专业课,如《C#面向对象的程序设计》、《Java程序设计》、《软件需求分析》、《数据库原理及应用》、《软件工程》、《UML技术》、《软件测试》等,这些课程均安排了为期一周的课程设计。但大四毕业设计时发现部分学生实践能力达不到专业培养要求,原因主要在于专业类课程实践环节没能够达到理想的教学效果。经调研发现,这些课程设计周是由各科授课老师布置一个相关课题,明确课题要求,给一周时间让学生自主完成,最后提交一个小的系统与课程设计报告。这种课程设计存在以下问题:(1)课程设计教学内容方面。老师未能提供系统、综合的课程知识相关案例,导致学生对题目理解不足,对课题认知模糊,无从下手,降低了学习主动性。(2)教学手段陈旧。基本还是停留在老师讲、学生听的阶段。师生互动较少,学生没有足够时间思考,即使在某个环节出现问题也不能及时解决,课后问题可能不了了之。(3)课程设计考核体系不完善。实践环节大多为考察,导致学生不够重视,提交一个报告了事。由于缺乏完整监管机制,学生对整个课题的开发过程认识不清,没有收获。另外,老师凭提交的报告给出成绩,区分度不明显,不够合理公平。针对目前存在问题,本文提出软件工程类课程设计实践教学改进方案。首先,建设一个可复用的软件工程实践教学案例库,案例库中的教学案例运用主流开发技术、管理技术及开发环境。“可复用”是指同一案例根据不同课程分割出不同的知识单元,软件工程类课程之间本来就紧密联系,相互承接,案例库可供多门专业课在实践环节教学中使用。其次,推行案例同时更新教学手段,采用注重学生参与及师生交流的分段式教学模式。最后,制定明确的课程设计监管与考核方案,对整个课程设计过程严格把控,培养学生综合应用知识能力与实践动手能力,提高课程设计环节教学效果。

1案例库建设

案例库中的项目不仅要考虑案例库的可复用性,能够服务多门课程,还需体现软件工程专业能力培养需求,并考虑开发难度与学生接受程度。因此应选择学生熟悉的业务系统,采用主流开发工具来实现轻量级工程化系统。系统功能尽量有代表性,同类系统可以仿照实现,并根据课程知识结构需要进行功能定制。如案例库中的项目:《学生成绩管理系统》用C#与SQLServer2008开发。该系统是典型的小型MIS系统,主要实现了学生、教师、管理员3类用户对学生信息、课程信息及成绩信息不同程度的增、删、改、查。该案例可以服务于《C#面向对象的程序设计》、《数据库原理及应用》、《UML技术》、《软件工程》、《软件测试》等课程的设计教学。案例库项目开发融合了软件工程很多专业课程知识,在不同课程中使用,学生可以明确各门课程学习目标,从不同视角体验软件开发流程,提高对软件工程整体把握的能力,建立软件工程的思想。

2知识结构划分与整理

案例实现之后,为了服务于不同课程,不同授课教师需要重新组织教学资源,梳理课程大纲、划分教学内容、整理教学素材、制作教学课件,这一步至关重要也最为核心。想要通过一个完整教学案例,使学生建立起课程知识结构网络,授课教师不仅要基于案例将课程相关基本知识点及联系贯穿其中,还要对知识进行高度提炼,体现课程内容有机联系。这样学生通过案例讲解,不仅对理论知识理解更加透彻,对课程体系也会有更深刻的把握,学习效果取得质的飞跃。下面以《学生成绩管理系统》的实现为例,按不同课程知识侧重点进行概要划分,在课程设计环节中,授课教师结合案例针对本门课程侧重讲授知识结构。(1)《面向对象的程序设计C#》,讲授如何利用C#语言进行系统开发。利用常用控件来搭建设计学生成绩管理系统界面、实现窗口间跳转、消息传递;利用面向对象的程序设计方法实现系统业务逻辑与主要功能;利用ADO组件访问数据库,完成对系统数据的基本操作。(2)《数据库原理及应用》,讲授如何进行学生成绩管理系统后台数据库设计。数据流图,数据字典的创建;概念结构设计(E-R图的绘制)逻辑结构设计,将E-R图转换为关系模式,如何考察关系模式、规范化程度、规范化理论、视图机制、安全性及完整性设计;数据库的实施:SQL的应用,建库、建表、录入数据等。(3)《软件工程》,以学生成绩管理系统为例,按照软件工程流程,讲解每一阶段任务及涉及方法,结合案例从可行性分析、需求分析、总体设计、详细设计、系统实现及系统测试几个步骤进行。(4)《UML面向对象设计与分析》,对应学生成绩管理系统开发各阶段从建模的角度讲解UML的9种图,主要包括在需求阶段如何识别参与者与用例,建立用例模型;在分析设计阶段静态结构模型的建立(类图、对象图)及动态行为模型的建立(顺序图、状态图、活动图);系统实现阶段物理模型的建立(组件图、系统部署图),及将UML自动转换为面向对象设计语言的实现。可以看到,不同课程使用《学生成绩管理系统》案例侧重于不同知识体系。

3案例推行与考核模式建立

授课教师在课程设计环节中推行案例,按照案例教学、任务驱动模式来进行,课堂讲授仍然是不可或缺的[2]。首先通过分析案例程序引导学生学习,由案例的讲解分析,深入浅出地引出知识点,引导学生逐步理解课程重点、难点,深化理论知识学习[3]。其次提出本次课程设计任务要求,老师详细分解设计题目内容与步骤,给出参照与示范。案例讲解与任务分解交叉进行,课程差异性使得案例教学不必拘泥于固定模式与时间,讲授案例时间大概是6~10学时,老师可以自行调整授课进度与节奏。在案例教学中,为了充分调动学生主动性,并及时发现问题、解决问题,采用了“教师提出课题—学生分组讨论—教师演示案例—学生实践—学生总结、师生交流”分段方式进行,并且在以学生为主体的阶段进行考核。在案例讲解、任务驱动教学方式下,建立完整考核机制,教师监控整个实践过程,激励学生参与到每一个阶段中,学生遇到问题也可以反馈给老师,及时得到帮助,提高学生主动性。成绩考评是根据学生每一阶段任务完成情况,从分析解决问题、团队合作、语言表达及文档书写能力表现作综合评定,不仅保证了评价结果客观性,也引导了学生加强这些方面的能力培养。

4结语

针对学院现在软件工程类多门课程在课程设计环节存在问题,提出了建设可复用的案例库,并根据不同课程教学需要对案例进行知识结构划分与整理,在实践中采用分段式教学推行案例,加以完整考评方式,现已收到较好教学效果。基于案例库的实践教学改进方案还可以应用在软件工程综合实训环节,为了达到更高教学要求,培养高质量人才,案例库还需要不断更新与完善。

参考文献:

[1]吴金秀.课程设计在高职实践教学中的应用与探索[J].网络与信息,2008(10):78.

[2]高应波.《计算机软件技术与应用基础》教学中案例任务驱动教学法的应用研究[J].软件导刊,2007(4):23-25.

[3]彭统乾,张敬普.基于案例任务驱动的《软件工程》课程教改研究[J].科技信息,2010(11):23.

作者:侯欢欢 张麟华 单位:太原工业学院 计算机工程系

上一篇:微课教学模式用于软件工程实践的教学 下一篇:代码审查中软件工程实施的重要性