基于CDIO的软件工程课程教学实践

更新时间:2024-03-25 作者:用户投稿原创标记本站原创 点赞:31301 浏览:145044

摘 要:为了解决软件工程专业本科生培养中所遇到的学生工程能力和创新能力较低等问题,本文通过分析软件工程专业设置和软件开发本身的技术特点,在教学中以软件体系结构为基础,采用多层次、多角度的立体式教学方法,体现了CDIO多方位的教育模式理念,通过课程评价和实践取得了很好的效果.

1引言

CDIO代表构思(Conceive)、设计(Design)、实施(Implement)、运行(Operate),是由美国麻省理工学院、瑞典皇家工学院、瑞典查尔摩斯工业大学和瑞典林雪平大学共同创立的工程教育改革模式.CDIO改革是基于CDIO理念而建立的国际工程教育改革合作计划,包括CDIO理念和与之相适应的学习目标(教学大纲)、实现与评估标准以及一系列的规划、设计、实施、评估理论和实践资源.

“软件工程”课程是计算机学科最重要的专业基础课程,该课程重点是从技术和管理两个方面指导计算机软件开发与维护的一门工程学科.其内容涉及可行性研究、需求分析、总体设计、详细设计、实现和维护等基本原理和方法.针对目前学生反映的“软件工程”课程理论性强、较为抽象等诸多问题,结合本科生的知识背景,探讨面向CDIO工程教育模式的“软件工程”课程教学改革与实践,对学生专业技能和工程能力培养都具有重要意义.

2软件工程课程教学实践

CDIO教学大纲以能力培养为目标,将学生能力分为四类,包括技术知识和推理能力、个人的职业技能和职业道德、团队协作和交流能力以及项目的构思、设计、实现和运作能力,力求全面地提高学生的综合素质.

2.1教学现状

目前学生所表现出来的问题有如下几方面:①知识体系不完整;②缺乏实践;③课程体系理解不全面;④教材过于理论化等等.而核心问题只有一个就是知识体系不完整,这种不完整包括:①软件体系结构不清晰——这个可以通过知识的积累来解决;②软件工程方法不系统——这个可以通过完善实践环节来解决,理解项目经理、设计师、程序员质量管理员、配置管理员等不同角色的分工和职责.

2.2教学实践内容

(1)以小学期、课程设计为主导,以实际开发项目为核心,采取理论联系实际、重实践、重创新的多方位教学模式.

(2)课堂教学过程中采用启发式和立体式教学,通过立体式的知识体系的构建,让学生懂得软件开发所涉及的所有技术环节,其他课程如:操作系统、C++语言、嵌入式软件、编译原理等在软件体系结构中的位置;让学生懂得开发嵌入式软件、开发应用软件、开发驱动程序所需要掌握的知识和方法.

(3)构建案例库,通过案例讲述操作系统的关键技术和应用实践方法,注重培养学生的工程推理和解决问题能力,学生通过书写各种工程报告提高探寻知识的能力.给学生以模板,让学生了解实际开发文档在开发中的重要作用.

(4)构建软件工程文档体系,基于ISO9000和CMMI的要求构建与实际开发接轨的软件开发文档体系,如:软件规格说明书、软件开发计划、需求分析报告书等等.

(5)利用项目组形式组成开发实际场景,指导学生担任软件开发中的不同角色,培养学生团队协作能力,和体验不同开发阶段所应具备的开发能力.

2.3教学实践核心内容

软件工程课程是软件开发的工程学和方法学,它具有其他课程不具备的典型特征,是长期软件开发实践过程中总结出来的原理和经验,具有很强的实践性.缺乏实践的学生很难在短时间内对本课程有很好的理解.针对这种核心问题,以实际工程内容给学生以较深的感性印象并使其较为准确地理解.以多种工程“案例”为核心,并有完整的软件工程文档体系支撑,各个文档中都包含着较为实际的工程内容,比如:项目的可行性研究报告中包含系统的功能说明、系统流程图、数据流图、数据字典、成本效益分析,而且不止一个方案,要包含几种不同的方案.从而使学生在实际的文档结构、内容组织、方案详尽程度上来理解可行性研究阶段的研究过程中所需要解决的问题.

3建设网络教学平台

网络教学平台包括:电子教案、课后练习、实验辅导、教学录像等教学资源为学生提供课外自学的网络环境;在线答疑、作业提交、网上留言为师生提供了实时和非实时两种方式的交流互动平台.同时网站随时更新课堂上介绍的操作系统新发展动向和技术等相关资料.


4结论

软件工程课程设置的目的是让学生知道软件开发工程中所能遇到的问题,并且学会利用软件工程方法解决实际问题.由于软件开发是一个非常繁琐的过程,这些问题是技术和工程结合在一起、交织在一起的,因此,学生在初次接触这门学科时会有些不适应.但是,当对每一个开发阶段、阶段的产出物都有了了解之后,情况会大大改变,同时学生学习的兴趣也大大增强.