浅谈计算机专业的软件工程课程教学
2017-09-06谷科
谷科
摘 要 本文根据目前社会的发展和IT行业的需求,分析了软件工程课程教学的必要性和客观性,同时对实际教学中的一些内容结合目前的计算机发展技术(如大数据和云计算),进行了分析与探讨,提出了从实践项目驱动出发,以理论教学结合软件实践开发项目的指导方式作为主要的教学手段,注重以实践掌握知识为主、理论学习为辅的理念,在介绍软件工程理论的同时重点组织同学以实际需求和设计为导向进行软件过程的管理与学习,使得计算机专业的学生在了解软件开发过程的相关技术同时,能够对软件开发流程有所了解和初步掌握,为适应目前IT行业的发展提供必要的基础。
关键词 软件工程 课程教学 教学内容 实践开发
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdkz.2017.07.062
1 教学理念
随着互联网络和IT技术的快速发展,IT技术的服务无处不在,软件开发已经成为计算机专业的大学生掌握的必须技能,能够更好地运用当今流行的软件开发技术手段开发程序,已经成为计算机专业的学生在激烈的社会竞争中能够获胜的关键。所以,在当今的IT技术时代,特别是大数据和云计算快速发展的时代,对于计算机专业的本科生来说,系统地掌握软件开发技术的各个环节并使其有机结合,同时运用软件工程开发过程的技术来组织软件开发过程的所有资源并综合地处理软件开发过程已经成为计算机行业的基础需求技能。所谓软件工程,是指系统地运用工程管理的知识来组织、运行、开发和维护有用的、高效的和高质量的软件学科。软件工程主要包括人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试和维护等过程。因此,对于计算机专业的学生来说,掌握必要的软件开发过程,了解和掌握软件开发过程的建模和管理技术不仅能够使自己在未来可以更轻松地应付多种复合信息的工作需求,给自己带来更合理的处理方法,而且也可以提高自己的软件开发效率。所以,对一些计算机专业的学生来说,通过系统地学习掌握软件过程开发技术,特别是一些新的软件开发动向,如面向服务的软件开发和集中式计算架构开发等,是十分必要的一项教学内容。
目前,软件工程课程是计算机专业教学中的一门必修课程。以作者所在的教学单位为例,软件工程是计算机专业高年级本科生的一门必修课。该课程主要从软件工程基本理论出发,将软件开发技术的各个环节有机结合,全面覆盖软件开发过程,注重培养学生软件开发中的综合职业技能。主要讲授的内容包括软件开发规律概述、软件开发方法、软件开发平台与工具、系统分析与建模、IT规划与咨询、软件开发项目管理、软件开发案例分析等。同时该课程引入云计算和大数据对软件开发的需求,重点分析实际软件开发案例,使学生掌握软件开发的基本规律与实际管理方法。因此,软件工程作为一门专业必修课程,计算机专业的学生不仅能够通过这门课程掌握软件过程的必要技能,如RUP模型和UML等,而且通过实践的项目分析与设计,学生能够系统地掌握需求分析和软件设计的必要技术,如数据流图DFD如何使用等,使得学生掌握的知识不再停留在理论学习和应付考试上,为学生未来就业后进入企业快速融入开发团队提供了必需的知识基础。同时,该课程通过对一些热门开发技术的学习,不仅可以提高学生的兴趣,激发学生的潜能,加深学生对软件开发技术本质的理解,而且可以提高其相关知识的洞察力与研究能力。[1]
2 教学方法和手段
软件工程课程的特点是知识内容多、内容实践性强,没有实践难以掌握,例如软件过程中的用例模型是通过角色、行为和场景来描述和分析软件开发过程的模型,因此不仅要求学生在课堂上需要了解什么是用例,掌握用例设计的基本规则,而且也需要安排时间给学生对于复杂的场景使用用例模型进行设计分析,然后进行课堂讨论,讲解自己的设计思路如何满足用户的需求等。所以,根据软件工程课程的特点,作者认为在课堂上宜采用“知识细化”、“精讲讨论”、“详细分析”等多种多样的教学形式。
以作者所讲授的软件工程课程为例,本课程以计算机投影开展教学,配以适量的理论教学和知识点讨论,并以上机课来培养学生的动手能力,如要求学生使用Powerdesinger软件进行需求建模。本课程其中投影、理论和讨论教学为24学时,上机实验课为8学时(不含课外上机)。在讲授过程中,考虑到该课程注重应用的特点,遵循深入浅出的原则,对概念、原理的解释和描述尽可能地以日常生活所接触到的案例和图示加以对比说明,引导学生掌握软件工程的开发过程,建立概念之间和应用之间的联系。在讨论和上机过程中,以任务驱动方式要求学生完成讨论题目和上机实验,然后及时找出学生上机时遇到的问题,并归纳总结,提高学生相应的能力(教学学时分配见表1)。另外,作者為了让学生更好熟练地掌握软件工程的相关知识,通过网络收集了一些教学视频和PPT课件,在完成每个学时教学任务的课后都拷贝给学生,让学生课后回去自学这些知识。
3 教学培养目标
软件工程课程是一门要求实践性较高的课程,对从实际的工程开发中掌握知识有较强的要求。因此,本课程主要介绍当前最流行的软件开发技术与环境,目的是使学生了解软件开发过程与组织等技术,掌握当前流行的软件开发方法与环境。本课程的教学目的是让学生初步地掌握从宏观和微观两个方面如何去开发软件系统。使学生学会软件开发的原理、技术和方法,提高学生的软件开发和软件工程管理能力:[2,3]
(1)培养学生的思考和动手能力。软件工程课程包含大量的建模知识,同时提供了一些软件去实践这些知识,因此这要求学生不仅掌握建模的基本原则,同时对于实际的项目需求,能够运用建模知识去分析建模,然后运用相关软件进行建模概念的设计。
(2)培养学生系统的组织和管理能力。软件工程课程是一门工程性的课程,它来源于实践,并用于实践。软件工程的复杂性在于它是涉及软件开发的各种环节和资源相互协调工作的知识。因此,培养学生掌握好软件工程的知识,对于学生今后职业规划有重要的帮助,能够为学生往高层次的IT人才发展提供必要的知识储备。
4 总结
本文结合作者的实际教学工作和在教学改革方面的分析与探索,从教学理念、教学方法与手段、教学培养目标等方面,对计算机专业的软件工程课程的教学改革进行了分析与探讨,提出了以实际项目驱动和课堂知识点讨论作为课堂教学手段,把软件工程相关理论知识学习作为实践的教学内容,注重实践为主、理论为辅的理念。目前,对于计算机专业的学生来说,软件工程课程的本科生教学改革有着十分重要的意义与作用,其教学内容与教学手段也应该要适应社会需求的变化。
参考文献
[1] 许波,陈晓龙.UML结合软件工程教学改革探讨[J].计算机教育,2011(2):34-37.
[2] 崔寅生.谈谈软件工程教学改革的实践[J].成人教育,2009(12):85-86.
[3] 赵越.学习性评价机制在软件工程教学改革中的应用研究[J].吉林建筑工程学院学报,2015(3):112-114.endprint