中文核心期刊咨询网权威的中文核心期刊目录大全,最新2015中文核心期刊目录查询,投稿征稿,论文期刊发表咨询。
中文核心期刊咨询网

软件工程课程教学如何改革

作者: 中文核心期刊2018-10-12阅读:文章来源:中文核心期刊咨询网

  软件工程课程是计算机科学的重要专业基础课程。由于其强大的实用性,它一直是教学中的难点。基于案例教学模式,设计并实现了理论知识,应用技术和项目实践的综合教学模式,接下来小编简单介绍一篇计算机教育论文。

计算机教育

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

  阅读期刊:计算机教育

  《计算机教育》杂志由教育部主管,清华大学主办,权威的、中高端计算机教育类的学术杂志。其办刊宗旨是 “为我国计算机教育事业和信息技术产业服务;为培养培训各层次优秀的IT专业和应用人才服务”。

相关论文

联系我们

十年专注论文发表 推荐发表
全国服务热线:400-6800-558
工作时间:9:00 - 23:00

李老师 QQ :2320787095
投稿邮箱:sdwh_2001@126.com
点击这里给我发消息

赵老师 QQ:2794063374
投稿邮箱:sdwh_2001@126.com
点击这里给我发消息