基于CDIO的软件工程课程教学的改革与研究

时间:2022-06-22 06:38:40

基于CDIO的软件工程课程教学的改革与研究

[摘要]针对软件工程的课程特点,介绍了当前高等院校软件工程课程的教学现状,提出了基于CDIO的软件工程课程教学模式改革,从教学内容、教学方法、考核方式等方面,探讨了软件工程教学改革思路。

[关键词]CDIO 软件工程 教学

1.引言。软件工程是为了解决软件开发过程中出现的软件危机而诞生的,是指导计算机软件开发和维护的工程学科。采用工程化的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,经济地开发出高质量的软件并有效地维护它。软件工程课程的教学成效直接影响学生毕业后从事软件开发的能力和软件项目管理能力。

软件工程具有理论性、实践性、综合性都很强的特点,且发展迅速。在实际教学过程中,由于学生缺少软件开发的实践经验,很多学生认为这是一门理论课,内容烦琐、枯燥,学习兴趣不大,无法切实理解软件工程技术的重要性和实用性。因此,软件工程教学模式急需进行改革。

2.教学现状分析。在当前高等工程教育中,存在着两种需求:一方面,对于毕业生专业技术知识的要求在不断提高:另一方面,越来越多的人们意识到工程人员必须拥有良好的团队协作精神、系统分析及实际动手能力,以便适应现代化工程团队、新产品及新系统的开发需求。

目前,软件工程教学主要存在以下问题:

①讲授的方法、技术、工具等未能充分反映软件工程的新思想、新技术、新概念,知识体系滞后:

②授课主要以讲授理论知识为主,学生接触实践环节少,缺少对学生工程能力的训练:

⑤授课方法单一,是一种完全以教师为中心的传授―接受式教学模式,难以激发学生的学习兴趣和积极性;

④学生的个人职业技能、团队协作与沟通的人际能力未能得到提高。

由上可知,在软件工程课程的教学过程中存有一系列问题,因此很有必要对其教学模式进行改革。

3.基于CDIO的软件工程课程教学改革。

3.1 CDIO的基本思想。2001年,四所前沿的工程大学(瑞典查尔姆斯技术学院、瑞典林克平大学、美国麻省理工学院、瑞典皇家技术学院)合作开发了一个新型的工程教育模型,称为CDIO(Conceive-Design-Implement-Operate,构思―设计―实施―运作)。CDIO的目标就是将企业界的需求以工程学基本原理来表述。它的指导心想是:以诚信、职业道德培养为基础,以工程设计任务为导向,以培养个人能力(包括终生学习能力和实践能力)、团队能力和系统的适应与调控能力为主要目标,让学生以主动的、实践的、课程之间有联系的方式学习工程。CDIO强调在加强基础教育的同时,关注工程实践,加强实践环节;强调个人职业技能与人际沟通的技能并重;强调综合创新能力,与社会大环境协调发展。

CDIO理念对培养计划、教学内容、教学方法等提出全面的指导。本文利用CDIO来指导软件工程课程教学内容、教学方法、考核方式的改革。

3.2 教学内容改革。教学内容直接影响授课的效果。参考美国计算机学会ACM2001年指定的草案,软件工程学的七大核心专题分别是软件过程和生命周期模型、需求分析、软件设计、测试和评估、软件进化、软件项目管理、软件工具和环境。

此外,由于软件工程技术发展迅速,在教学实践中,需要结合软件工程的发展和软件企业人才需求情况,不断更新教学内容。在讲解基本原理、基本概念和基本方法的同时,注最新方法、新技术的讲授,比如敏捷软件方法、Agent方法、软件构件方法和测试驱动开发等。

一方面,鼓励和推荐学生课外阅读有关软件开发的新方法、新技术、新规范的英文资料,开拓学生的视野和培养学生的创新意识与软件一发能力;另一方面,在课程中适当安排部分学时,请有丰富软件开发经验的教师以讲座的形式讲授他们的开发经历、体会和软件开发的前沿技术,解答学生在学习过程中遇到的各种问题,为学生学习软件工程增强信心。

3.3 教学方法改革。

3.3.1 案例辅助教学。软件工程讲授的原理、技术、方法都很抽象,容易产生枯燥乏味的感觉。为了激发学生的学习热情,培养学生分析解决问题的能力,在教学过程中可设计若干可操作和难度适中的实际案例,将复杂、抽象、枯燥的概念融于具体生动的案例中进行讲解,能够收到事半功倍的效果。

例如在讲解数据流图、实体联系图等需求分析建模工具时,可以引入银行储蓄系统、学生成绩管理系统、图书管理系统等学生熟知的案例辅助教学,学生独立分析、思考,然后教师再进行讲解,指出不足。再如讲解人机界面设计指南时,可布置学生对比分析一些国内外相同类型的网站、常用的一些应用系统的界面,分析其界面是否符合一般交互指南、信息显示指南和数据输入指南,做出相应的评价,并给出改进意见。

这种方法不但给学生提供了充分的思考、探究和创新的空间,而且学生边学边做,会对所学的知识理解得更深,对其应用场合更明确。

3.3.2 以项目为导向、项目贯穿始终的教学。为了培养学生运用软件工程的思想分析、解决实际问题的专业技能、加强团队合作精神和人际沟通的技能,在教学过程中以项目为实践环节的土线,随着课程进展布置任务,从项目开发的准备工作、系统分析过程、系统设计过程、项目实施,结合所学习的理论知识,逐步完成项目的一发。具体的实施过程如下:

①设计多个典型的、完整的、难度适中的、实际的软件项目,由学生分组完成。

选择项目时应尽量面向社会、面向应用,反映新技术,以获得更好的工程设计实践训练。项目最好来源于授课教师直接参与的软件项目,以便授课教师对其全部细节能够准确掌握。

项目设计好之后,将学生分成五至六人的小组,然后为每个小组分配一个项目。小组成员分工合作,学习软件开发小组的组织和管理,明确项目开发各阶段的任务,将每项任务落实到个人,由学生独立完成。

上述两部分工作在上课的前两周完成。

②边学边实践。

在讲授一个软件开发过程后,安排一到两节的讨论课,由学生发言。小组可以集思广益,派一个代表讲解小组对本组项目的理解、分析、判断和决策过程,说明运用所学的知识解决问题的方案。其他小组人员可以提出疑问,最后由教师给出评价,确定最终的实施方案,这样项目开发的每个阶段都在教师的正确指导下进行。

在项目开发过程中,教师要经常了解每组的进展情况,解决学生遇到的实际问题,给予正确的引导,确保项目能够按部就班、有条不紊地顺利完成。

③统一答辩和验收。

在课程结束时,每个小组的项目也接近尾声,然后要统一组织答辩,上交文档。这时可以让小组代表对其项目的功能、采用的技术等做个陈述,然后让每个小组成员说明在整个项目开发过程中所完成的任务,并进行演示。教师针对每个学生实际负责的部分进行提问。最后根据系统完成的功能、文档的质量、开发技术的难易程度、工作量等给出每个小组及组内每个成员的成绩。

通过软件工程的学习,学生的系统分析、程序设计能力以及开发的规范程度都有一定程度的提高,具备一定的独立分析、解决问题能力、团队合作能力和与人沟通的技能。

3.4 考核方式改革。考核方式应尽量做到多样化,以达到全面客观地衡量学生真实水平的日的。

作为理论性和实践性都很强的课程,软件课程的考核方式有别于其他课程。我们提出的方案是:总成绩为100分,平时成绩(其中包括出勤和作业)占总成绩的10%,科技小论文占10%,项目成绩占40%,期末考试占40%。

期未时,学生提交一篇科技小论文。主要考查学生对软件工程新思想、新理论、新技术等的了解程度,同时也为学生以后继续深造打好基础。

项目成绩,是指学生开发贯穿教学始终的那个项目的成绩,主要考查学生的实践动手能力。

另外,由于软件工程课程的理论性强,一些原理、方法、规范要求学生牢固掌握,对于这部分内容以闭卷方式考核。同时笔试反对死记硬背,重点考查学生综合运用理论知识的能力和方法,考核学生对软件工程思想和软件开发方法的实际掌握程度。

4.教学效果及分析。主要从两个方面来判断教学效果:一是学生在课堂上是否有更好的表现;二是相对于传统的教学方式学生对课程的看法和态度是否有明显的转变。以0年春季学期来看,课堂教学气氛比以往活跃得多,学生对这种教学模式感到很新鲜、很感兴趣。大部分学生利用业余时间去图书馆或上网搜索相关资料,小组发言时很积极。可以说,教学改革的初步效果不错。

上一篇:我国硕士研究生培养模式转变的有关探讨 下一篇:模拟公司化广告专业实验教学方式