首页 > 范文大全 > 正文

软件工程实验教学的设计与创新

开篇:润墨网以专业的文秘视角,为您筛选了一篇软件工程实验教学的设计与创新范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 软件工程的教学正面临着计算学科发展规范所提出的更高质量要求,同时也面临着大众化高等教育背景下所带来的客观问题。软件工程课程要让学生学以致用,为市场培养适用的应用型软件工程专业人才;软件工程课程要“因材施教”,通过加强实验实践环节促进学生对学科理论知识的理解和激发学习热情。因此,对软件工程实验教学进行精心设计创新发展至关重要。通过对计算学科教学现状和培养对象的分析,我们精心设计了软件工程课程的实验教学内容,试图通过一系列学习软件工程工具的实验练习,帮助学生把软件工程的概念和理论知识融入到实践当中,从而加深对软件工程的认识和理解。

关键词 软件工程 实验 设计 创新

软件工程是应用计算机科学、数学及管理科学等原理来开发计算机软件的工程科学,它的教育培养目标是让学生了解和掌握软件开发中的方法学和工程学知识,并应用于实践。

今天,软件工程的教学正面临着计算学科发展规范所提出的更高质量要求,同时也面临着大众化高等教育背景下所带来的客观问题。软件工程教育应当给予学生“工程”的概念,以软件生命周期为主线,构建知识结构,将科学与工程有效结合,实施技术与管理的能力和素质培养。因此,对软件工程实验教学进行精心设计与创新发展至关重要。

1CC2004与规范对软件工程课程的要求

IEEE/ACM一直在跟踪工业界对计算领域人才需求和教育界对人才教育培训的状况、发展和存在的问题,并于2004年6月1日公布了“计算教程CC2004”。CC2004将计算学科分为计算机科学 (CS) 、计算机工程 (CE) 、软件工程 (SE) 、信息技术 (IT) 和信息系统 (IS) 等五个专业方向,各个专业都针对本科生教育提出了相应的知识领域、知识单元和知识点,并给出了相应的参考教学计划和课程设置。

IEEE/ACM强调工程教育的基本要求,包括:

1) 系统观点:熟悉系统设计、构造和分析过程。

2) 知识的深度和广度:知识面要宽,但具体领域方向上要能够深入。

3) 设计经验:参与设计活动,具有项目 (工程) 概念。

4) 工具使用:能够使用计算机软、硬件工具,分析和解决实际问题。

5) 职业训练:了解职业 (行业) 需求,具有“产品”(如软件、系统、行业和应用服务等) 意识。

6) 交流技巧:能够以合适的形式 (如书面、口头、可视化等) 进行交流和沟通。

为指导我国计算机本科专业的发展,教育部计算机科学与技术专业教学指导分委员会了“战略研究报告”,并制定了《计算机科学与技术本科专业 (软件工程方向) 规范》(以下简称《规范》) 。如今,软件工程已经由最初的一个学科方向,发展成为以计算机科学技术为基础的一个新兴交叉学科,在当今的信息社会中占有重要的地位。

软件工程强调采用工程化的方式开发软件,要求培养的软件工程师能够胜任如研究、开发、设计、生产、测试、构造、操作、管理,以及销售、咨询和培训等多种角色,并能在软件工程过程中选择和使用合适的软件工程设计与开发工具。《规范》要求,软件工程课程要培养学生熟练掌握软件工程知识与技能,具备作为软件工程师从事工程专业所需的能力。其实践教学体系需要重点培养学生以下方面的能力:工具的使用与实验、工程设计与实现、评审与测试、团队协作与沟通、过程管理与控制等;实践教学的形式包括:课程实验、综合设计、项目实践、企业实践、毕业设计等。

2软件工程课程改革所面临的问题

我国的普通高等教育从1999年开始连年扩招,在教学规模上有了迅速发展,从精英教育迅速走入了大众化教育环境。但是,传统的精英教育模式即使仍然优秀与先进,也不能完全适应普及化高等教育的需要,新的高等教育形势呼唤新的教学方法、新的教材和新的教学模式。另一方面,传统的计算机教学模式在实践环节上的缺乏与不足与今天社会人才市场的需求远远不相适应。长期以来,我们培养的计算机专业的学生存在着“什么都学过 (却) 什么都不会”的尴尬处境,专业教育、教材与应用需求严重脱节。事实上,学生就业难并不是就业市场不需要计算机人才,其根源还是计算机教学的现状所致。

软件工程课程虽然一直都有实验教学的要求,但常常只是停留在组织学生编写软件项目若干设计文档这个单一环节上。然而,由于中等教育过早和长期的文理分家,理工科学生的文档编写能力是个“软肋”,他们不感兴趣;而且,由于教学时间有限,要真正完成软件工程各阶段文档的编写事实上也没有可能。此外,由于学生甚至连任课教师也缺乏软件开发的实践经验和感性认识,使一门应用性很强的工程科学却常常被当成理论课来开展,课堂教学必然枯燥、乏味。因此,作为一门重要的计算机专业课程,如何开展软件工程的实验教学,如何保证软件工程实验环节的效果一直是个问题。

软件工程课程要让学生学以致用,为市场培养适用的应用型软件工程专业人才;软件工程课程要“因材施教”,通过加强实验实践环节促进学生对学科理论知识的理解和学习热情。因此,迫切需要优秀的软件工程实验教材和对软件工程综合实践的精心设计。

3关于解决问题的思考

教育的一个重要原则是“因材施教”。通过对计算学科教学现状和对培养对象的分析,我们认识到:

1) 大众化高等教育背景下人才的培养,应该体现到教材建设上。尤其是应用型大专院校的教材建设不仅要做好减法――适当地降低理论要求,也要做好加法――增加探究性实验并在实践环节中有突破性的创新。

2) 要根据学生求知欲望强的特点扩大学生的知识面,要利用学生动手能力强的特点来提高学生的实践能力、创新能力和就业竞争能力,努力形成一个“什么都学过什么都会点”的积极局面。

3) 实验内容的建设要有可操作性、趣味性和适当的难度。可操作性保证学生都能完成实验而促进学生学习信心的建立,在一定程度上减少学生抄袭的理由,克服实验数据普遍抄袭的弊病;趣味性体现“寓教于乐”以提高学生完成实验的积极性;而适当的难度有助于激发优秀学生进一步钻研的斗志。

4) 实验内容应覆盖软件工程学科的各个主要环节,覆盖软件生存周期的各个阶段,使学生通过实验加深对学科理论知识的理解。但也要避免“喧宾夺主”,冲击或淡化相应理论课程的学习。实验内容要形式多样,例如可以是实验、论文、课程设计等不同环节,并且各种实验内容应该得到严肃认真的设计,使实验产生适当的节奏感。同时,在积极发展实验教育的同时,要保证必要的理论教学水平。

4实验的创新与成果

根据以上思考,我们在实验内容的选择、实验步骤的设计和实验文档的组织等方面都做了精心的考虑和安排,尝试为软件工程课程编写并出版了《软件工程学实验》教材。该实验教材依据课程教学大纲,充分理解课程的大多数主教材,遵循课程教学的规律和节奏,体现了实验的可操作性,帮助学生有效地把握本课程的知识内涵和提高理论与实践的水平。

《软件工程学实验》通过一系列学习软件工程工具的实验练习,把软件工程的概念和理论知识融入到实践当中,从而加深对软件工程的认识和理解。实验内容涉及到软件生存周期的各个阶段,如表1所示。

实验1:软件工程工具与环境。主要通过因特网搜索与浏览等,让学生熟悉软件工程的技术支持环境,了解软件工程工具以及支持环境对于开展软件工程实践的意义,了解主流的软件工具和软件开发环境产品及其发展与应用状况,尝试通过专业网站的辅助与支持来开展软件工程应用实践。

实验2:软件工程标准化。了解支持国家标准和其他相关标准信息的专业网站。熟悉和掌握软件工程标准化的概念、内容及其意义。系统地了解与软件工程相关的国家标准,重点熟悉和掌握国家标准GB/T8567-1988,掌握软件项目规模与软件文档实施关系的处理方法,掌握软件文档管理的基本要求。

实验3:软件开发绘图工具Visio。了解Visio工具软件的功能特色和工作环境,掌握应用Visio工具绘制软件开发图形的基本操作;了解开发Visio解决方案的基本概念,通过UML模型图、网络图、机架图和网站图等图形的绘制,熟悉Visio绘图操作。

实验4:软件分析与建模工具PowerDesigner。了解PowerDesigner的4个模型:业务处理模型(BPM)、概念数据模型(CDM)、物理数据模型(PDM) 和面向对象模型(OOM)及其相互关系与作用;初步了解系统分析和建模工具PowerDesigner的概念和操作界面;学习运用PowerDesigner工具进行简单系统分析建模操作,学习建立BPM、CDM、PDM和OOM的方法等。

实验5:软件自动化测试。学习自动化测试的原理和方法,结合软件生命周期,了解自动测试工具的类型以及测试步骤和自动测试用例设计基础,了解测试自动化的优点和限制,掌握MI WinRunner功能测试等工具的基本操作。

实验6:软件项目管理Project。了解IT项目管理的基本概念和项目管理核心领域的一般知识,初步掌握项目管理软件Microsoft Project的一般操作界面和基本操作。

实验7:软件配置管理VSS。学习软件配置管理的基本概念、分类、工具集成和相关技术,初步了解Visual SourceSafe 配置管理工具的使用方法。

每个实验中都包含背景知识介绍、所需的工具与准备工作,以及详细的实验步骤指导等,以帮助学生加深对课程教材中所介绍概念的理解以及掌握一些主流工具或应用的基本使用方法。每个实验完成后,要求学生根据个人体会完成实验总结。

实验总结:软件工程实验总结。全部实验完成后,要求学生回顾所有实验内容,进行系统的概括、评价和总结,以巩固通过实验所了解和掌握的软件工程相关知识和技术。师生通过“实验总结”和“教师评价”部分,交流对学科知识、实验内容的理解与体会。每个实验单元设计了“实验单元的学习评价”,全部实验完成之后的实验总结部分还设计了“课程学习能力测评”等内容,书后则提供了“实验成绩记录”,以此方便师生交流对学科知识、实验内容的理解与体会,方便老师对学生实验成绩的记录和管理,以及对学生学习情况进行必要的评估。

课程设计:根据实验进度,分别要求完成的两个课程设计作业是:

1) 指定或自选项目需求分析与概要设计文档;

2) PowerDesigner项目设计――物业管理系统。

5学生的体会与评价

《软件工程学实验》教材编写和出版以来,已经在全国范围内得到了广泛的应用,师生们大都给予了很高的评价。

教师们说:

*很高兴看到一本非常优秀、实用的软件工程实验教材,对我的教学很有帮助,弥补了软件工程实验的空缺。

*得到《软件工程实验》一书很受启发,特别是通过这段时间的阅读、操作与理解,感到这本书确实很好,有拨云见日的感觉。该书的各部分都很有特点,对软件工程课程各部分的学习也很有帮助。

一些学生的实验总结摘录如下。

*这组实验是辅助我们学好软件工程的重要实践课程。通过实验,我们真正领会了课程所介绍的概念、原理、方法和技巧等。实验充分地结合了课本,效果非常好,大家对学好软件工程有了强大的信心和兴趣,让人感到学以致用。用一句话来总结软件工程实验:学软件工程可以没有实验,但学好软件工程则必须要有实验。

*软件工程课是唯一一门让我觉得学得还不够,课时还不够多的一门课程。较其他计算机课程,这门课多的是快乐和轻松,少的是无奈和郁闷,如此惬意地完成,其中又不缺少知识的灌溉。……

6后记

我们高兴地看到,软件工程课程实验教学中所做的设计与创新尝试,较好地符合了CC2004和《规范》的相关要求,同时,也得到了学生与教师的好评。我们要认真研究“专业发展战略研究报告”和CC2004的相关报告,积极进取,继续完善已经获得的成果。

在软件工程实验课程成功设计的基础上,我们正在考虑下一步以软件开发小组为基本模型,设计“软件工程项目沙盘模拟系统”作为软件工程课程设计环节,组织学生以一定的竞技方式开展软件工程项目的设计活动,使学生能综合应用软件工程知识,充分运用软件工程工具,很好地实践和完成软件工程项目,从中感性地理解和把握软件工程活动。

参考文献

[1] 教育部计算机科学与技术专业教学指导分委员会.中国计算机本科专业发展战略研究报告.2004,8.

[2] 周苏,王文等.大学计算机专业基础课程实验教学的改革与创新.北京:高等教育出版社,大学计算机基础课程报告论坛论文集,2005,194-198.

[3] 周苏等.电子商务实验教学的创新与发展.北京:万国学术出版社,第三届中美电子商务高级论坛论文集,2006:585-588.

[4] 周苏,王文等编著.软件工程学教程 (第二版).北京:科学出版社,2004.

[5] 周苏,王文,张泳等编著.软件工程学实验.北京:科学出版社,2005.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文