软件工程课程教学改革

时间:2024-03-01 点赞:43778 浏览:83122 作者原创标记本站原创

本文是一篇软件工程论文范文,软件工程方面有关学士学位论文,关于软件工程课程教学改革相关电大毕业论文范文。适合软件工程及软件工程课程及软件开发方面的的大学硕士和本科毕业论文以及软件工程相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:软件工程课程是计算机专业重要的专业基础课,由于其实践性较强,历来是教学的难点.我们基于案例化教学模式,设计并实施了一套综合理论知识、应用技术和项目实践的教学模式.实践表明,这种新的教学模式有利于培养学生的团队合作精神与运用软件工程技术和方法解决实际问题的能力.

关 键 词:软件工程实例化教学项目实践

中图分类号:G462文献标识码:A文章编号:1674-2117(2014)16-00-02

1前言

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科.它涉及程序设计语言、数据库、软件开发工具、系统平台、设计模式以及管理、标准、个人技能、团队协作和专业实践等多方面的知识和技能.它是一门理论性和实践性并重的重要学科.

软件工程课程是计算机专业重要的专业基础课.通过软件工程课程的学习,学生能够了解和掌握软件工程的理论、技术和方法,具备作为软件工程师所需的专业能力.由于软件工程的课程特点,传统的教师课堂授课为主、学生被动听讲为辅的教学模式在实践环节上存在很大不足,软件工程的理论和方法是从众多软件开发实践中总结出来的.但是对于缺乏软件开发实际经验的本科生来说,单纯地讲授理论知识往往使学生感到枯燥无味且难以理解,这严重影响了课程的教育质量和教学效果.近年来,部分学校采用了案例化教学的方式改革软件工程课程教学,在案例化教学中收集和总结了若干典型的软件开发案例,将这些案例贯穿于理论知识的讲解中;同时引入“做中学”教学模式,让学生在实际的项目开发中进一步理解理论知识,取得了很好的教学效果.[1-4]

我们在软件工程的授课过程中,也引入了案例化教学模式.总体来讲,学生的反应是积极的,不过也发现了一些问题.

(1)任课教师本身缺乏使用软件工程方法开发一个完整系统的经验,仅限于照本宣科地介绍基本原理和实际案例,不能将当前实际案例和软件工程方法有机地结合在一起,与实际的软件工程实践有明显的差距.

(2)大学阶段的课程实践基本以个人编程完成为主,软件工程方法起到的作用有限.即使面对需要团队协作的作业,也因为规模小、从头开发和无需维护的特点,使得学生感觉到使用软件工程方法作用不大,除了增加工作量外,没有明显的益处,无法激发他们进一步学习的兴趣.

(3)现有的软件实验环境偏重于提供编程工具的支持,缺少一个完整的软件工程支持环境,缺少适合教学使用的实验环境和资料,学生得不到真正的锻炼.

2教学改革

针对现存的问题,结合ACM和IEEE联合发布的CCSE2005的相关内容[5],我们进一步改革课程体系框架和教学内容,本文将着重介绍我们在软件工程课程教学中的经验和成果.

IEEE发布的软件工程知识体系包括10个知识领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程工具和方法、软件工程过程和软件质量.参考这10个领域知识,根据教学目标,结合理论知识、软件工具和工程实践等方面组织整个课程内容,在理论、应用、实践三个层次上建立了软件工程的课程体系.

理论部分以当前流行的统一开发过程RUP和UML语言为核心,覆盖IEEE发布的软件工程知识体系.包括软件需求、软件设计、软件实现、软件测试、软件演化、软件质量和软件配置管理等内容.

应用部分结合实际案例,覆盖IEEE的系列软件工程标准,学习RationalRose、ClearCase、ClearQuest、JUnit、MicrosoftProject等常见软件工程工具和环境.

实践部分要求学生以团队的方式协作开发具有一定规模的软件系统,并且在实践过程中能够熟练使用软件工程工具.实践部分着重培养学生应用软件工程的思想和现代技术解决软件开发问题的能力.

2.1理论知识

理论部分的教学仍采用教师授课为主的模式,向学生讲述软件工程的基本理论,内容力求少而精,目的是在较短时间内让学生了解现阶段最广泛使用的软件工程技术的理论基础,为下一步应用部分的学习奠定基础.在具体的授课过程中,为避免单纯理论学习的枯燥性,授课内容围绕典型的软件开发案例展开.学生学习的注意力和兴趣是影响教学质量的重要因素.我们使用的案例是从国内著名的软件开发公司得到的真实案例,学生可以完整地看到项目的全景,这样既帮助学生认识到学习课程的必要性,又调动起学生的学习兴趣.

2.2应用技术

软件工程与其他计算机课程不同,学生需要面对的不只是单一的软件工具,而是一组软件工具组成的软件支持环境.为了增强软件工程课的真实性,我们选用了一组业内流行的软件工程工具,营造一个适合软件工程课程项目实践的软件工程环境.使用RationalRose完成需求分析与系统分析和设计,使用ClearCase完成源代码管理,使用ClearQuest完成缺陷管理,使用MicrosoftProject完成项目资源调度等.考虑到相关软件工具的复杂性,为避免学生陷入单纯学习软件功能的误区,我们坚持“用中学”的方针,不要求学生面面俱到掌握软件功能,而是从实用角度出发,以完成项目为目的,掌握软件的常用功能.我们会首先演示如何使用相关软件完成典型案例,然后要求学生模仿示例,自行创作设计.

2.3项目实践

大学阶段,大部分计算机课程实践通过学生的独立编程即可完成,软件工程课程实践则不同,软件工程方法和技术的作用必须在完成项目的过程中通过团队合作才能体现出来.

我们刚刚开始教这门课的时候,为了便于管理,选择的项目偏小,一般适合3~5人完成.不过通过几学期的实践,发现效果不佳.因为规模不大,通常只会有1~2人来承担主要开发工作,其他学生通常只起到辅助作用.在开发过程中,由于核心开发人员少,口头沟通远要比书面沟通简单有效,没有认真准备项目文档的动力;而且项目是从头做起,不需要利用以前文档来了解项目情况,无法体会到项目文档的重要性.在此种情形下,学生感觉到引入软件工程只是额外增加了工作负担,并没有明显的益处.为了更好地帮助学生认识到这门课的重要性,我们在实践阶段做了若干改进.

(1)有意识地扩大了项目的规模,开发团队的人数也相应增加,通常开发团队人数在10人左右.人数的增多使得单纯的口头交流很难保证项目的顺利进行,从而促使学生撰写项目文档.

(2)分组时,根据学生的能力和水平,明确学习任务,进行合理有效的分工.在一个项目组内,应该有项目经理、系统分析师、软件工程师、配置管理员、测试工程师等角色.同一名学生在不同的开发阶段可能会承担不同的角色.

(3)项目开发也分为两个阶段,第一阶段完成后,我们会再提出一份更新的需求,要求在第一阶段的成果上继续开发.项目组的成员也不是一成不变的,第二阶段时每个项目组至少更换50%的成员.

在项目开发过程中,我们会监控项目的开发过程,参与项目阶段成果的评审工作.项目开发过程尽可能模拟真实软件企业的开发过程,最终使学生完成需求分析、设计、代码编写、测试、部署全过程,培养学生的合作意识、责任感和集体荣誉感.学生在开发过程中遇到问题,我们也不会直接给出答案,会建议他们自行讨论来解决,提高他们的沟通交际能力,培养其团队合作精神.

在教学过程中,理论部分、应用部分和实践部分并不是相互独立,而是有机地结合在一起.我们在该课程教学初期,首先给学生若干项目课题进行选择,题目选定后,以自主结合的方式完成分组.这样做可以有效地增强学生学习时的目的性.在重要章节的教学过程中,遵循先理论知识、再应用技术、最后实践部分的次序进行.完成某章节的学习后,就应该在规定时间内提交项目相应阶段的工作成果.例如,需求分析章节的理论知识学习安排在第2周、应用技术部分安排在第3周、需求分析说明书要求在第5周提交;系统分析的理论知识学习安排在第4周、应用技术部分安排在第5周、系统分析报告要求在第7周提交.我们会及时对每一部分的工作成果进行评讲,指出缺陷和不足,保障项目开发的顺利进行.在期末考试结束之前,结束第一阶段的开发工作.随后,我们会给出项目的新增需求,并调整项目成员,开始第二阶段的开发工作.由于第二阶段是在所有课程考试结束之后,学生有条件在固定地点集中上机,因此第二阶段的工作将尽可能模仿软件公司的开发模式.首先,项目经理必须和组员共同讨论出一份可行的项目开发计划.我们将根据该计划监控项目进展过程,并在重要节点抽查该项目的进展情况.项目计划的重大变化,必须及时更新项目开发计划.其次,在项目进展过程中,每个开发阶段的工作成果都必须经过评审.不评审或者评审不合格,不可以开始下一阶段的工作.最后,每个项目成员必须每天提交工作进展报告,内部会议也要有会议记录.所有这些项目管理相关文档和项目本身的文档都需要在项目结束时一并提交.评定成绩时结果和过程并重,项目管理相关文档是过程的重要体现.

3考核方法和教学效果分析

为突出实践环节的重要性,我们将项目实践部分的考核比例增加至总成绩的50%,即成绩标准为项目实践成绩(50%)+笔试成绩(30%)+平时成绩(20%).其中第一阶段的项目实践成绩占20%,第二阶段占30%.在对学生的实践环节考核中,我们更侧重于对学生的实践操作能力、文档编写能力、团队合作和沟通能力的考核.为避免浑水摸鱼,在评定成绩时,根据贡献不同,组中的不同成员会有不同的权重,每个学生的最终成绩是团队成绩和权重的乘积.采用新的考核方法后,极大地调动了学生参与项目实践的热情,取得了良好的学习效果.在随后的毕业设计和程序设计比赛中学生都体现出较强的团队开发能力.


4结语

软件工程是一门理论和实践并重的课程,只有加强实践环节的训练,理论知识才能得到有效巩固.我们在教学过程中,始终把项目实践放在突出的地位,通过增大项目规模和引入两阶段项目开发,让学生主动认识到软件工程课程的重要作用.实践证明,现阶段软件工程的教学改革工作,有效地提高了学生的学习兴趣,增强了学生使用软件工程方法和技术解决实际问题的能力,培养了学生团队合作精神.下一步我们准备通过“校企合作”,增强项目实践的真实性,使软件工程的项目实践更加合理、完善.

(上海海洋大学信息学院,上海201306)

本文是一篇软件工程论文范文,软件工程方面有关学士学位论文,关于软件工程课程教学改革相关电大毕业论文范文。适合软件工程及软件工程课程及软件开发方面的的大学硕士和本科毕业论文以及软件工程相关开题报告范文和职称论文写作参考文献资料下载。

65306;

[1]张剑波,方芳,袁国斌.软件工程专业实践教学体系改革[J].计算机教育,2013(12):37-41.

[2]王卫红,杨良怀,江领.软件工程优势专业的建设与发展[J].计算机教育,2013(10):1-4,9.

[3]汤淼.软件工程专业“项目驱动”实验教学模式研究[J].实验技术与管理,2012(4):267-271.

[4]吴建斌,陈中育,叶荣华.软件工程类课程教学模式改革探索[J].中国信息技术教育,2013(5):119-121.

[5]IEEE-CS/ACMJointTaskForceonComputingCurricula,SoftwareEngineering2004Volume[R].2004.

相关论文

高校软件工程课程教学改革探析

本文是一篇软件工程论文范文,关于软件工程相关毕业论文题目,关于高校软件工程课程教学改革探析相关电大毕业论文范文。适合软件工程及教学改。

高校软件工程课程教学改革

本文是一篇软件工程论文范文,软件工程类毕业论文格式,关于高校软件工程课程教学改革相关本科论文范文。适合软件工程及软件工程课程及软件开。

软件工程课程教学

本文关于软件工程及软件开发及软件工程课程方面的免费优秀学术论文范文,软件工程方面论文范文参考文献,与软件工程课程教学相关开题报告范。