软件工程专业课教学内容衔接的研究与实践

2013-04-29 16:15刘国成
教学研究 2013年6期
关键词:软件工程

刘国成

[摘 要] 本科软件工程专业在前一到两学年开设课程与计算机科学与技术专业基本相似,另外软件工程专业还需要设置软件质量保证等相关课程,使得软件工程专业课体系变得复杂。为解决软件工程专业课教学内容衔接问题,全面分析SWEBOK和SEEK,对SEEK的10个知识领域进行整合,优化课程衔接关系,制定完整的应用型软件工程理论课教学计划,并在应用型本科院校软件工程专业予以实施。研究成果具有实用性,对开展软件工程专业教学改革具有参考价值。

[关键词] 软件工程;知识领域;教学内容衔接

[中图分类号] G642.0 [文献标识码] A [文章编号] 1005-4634(2013)06-0075-03

0 引言

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,是信息领域发展最快的学科分支之一[1]。2001年经教育部和国家计委批准,全国成立了35所示范性软件学院,后增加到37所,截止到2012年12月30日,全国共有软件工程专业点415个。这415所高校由于学校定位和专业特色不同,所修订的软件工程专业人才培养方案也有所差异。为使人才培养方案与社会发展和教学改革相适应,需要不断对人才培养方案进行修订。在修订过程中,如何做好软件工程专业课教学内容的衔接,一直是计划制定者面临的一项难题。吉林工程技术师范学院软件工程专业经过多年的教学研究和实践,发现解决软件工程专业课教学内容衔接问题的有效办法就是要从解读软件工程教育知识体系入手,选择合适的知识单元进行课程整合,并根据学校的人才培养定位,优化课程体系的宏观结构和课程之间的微观顺序。

1 解读软件工程教育知识体系,整合知识 单元

1.1 解读SWEBOK和SEEK

我国软件工程本科教学规范的制定主要研究借鉴了SWEBOK和SEEK [2]。由ACM和IEEE/CS联合工作组组织制定的软件工程知识体系SWEBOK为确立软件工程的学科地位打下基础,SWEBOK 将软件工程划分为10个领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量。计算教程软件工程卷SE2004提出了软件工程教育知识体系SEEK,为制定软件工程本科教学计划提供了指南。SEEK由知识领域、知识单元和知识点三个层次组成。SEEK包含10个知识领域和1个应用知识领域,共计48个基本知识单元、17个应用知识单元,建议最小核心学时数为497。10个知识领域主要由计算机(CS)学科知识领域和软件工程(SE)学科知识领域组成,分别是:计算基础(CMP)、数学和工程基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证与确认(VAV)、软件演化(EVO)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。1个应用知识领域为特定系统与应用(SAS)。

1.2 整合知识单元

知识单元必须以课程的形式进行讲授,所以必须将SEEK的10个知识领域的知识单元整合为课程名称。具体整合过程为:整合CMP中的知识单元为软件构造、形式化开发方法、C语言程序设计、算法与数据结构、计算机组成原理、操作系统、计算机网络、数据库原理8门课程。整合FNT和EVO中的知识单元为离散数学与软件工程导论2门课程。整合MAA和DES中的知识单元为软件需求、系统分析与设计2门课程。整合QUA和VAV中的知识单元为软件质量保证与测试1门课程。整合MGT中的知识单元为软件项目管理1门课程。整合PRO中的知识单元为软件过程管理1门课程。整合后共计15门专业课程,实践知识领域个别院校可根据自身情况进行整合。

2 优化课程衔接关系,制定应用型软件工 程理论课教学计划

2.1 调整课程结构

从高校软件工程专业课程结构来看,主要有层次课程结构、核心课程结构、模块课程结构和平台+模块课程结构四种[3]。大部分院校采用层次课程结构,即公共课程、基础课程、专业基础课程和专业课程。第一、二学年主要开设公共课和基础课,第三、四学年开设专业基础和专业课。此类课程结构使得课程衔接纵向逻辑关系较强,符合循序渐进的认知规律,有利于大多数学生以较少的时间比较系统地掌握专业知识。但由于层次课程结构是多学科、多门类课程的混合体,计划制定人不太好把握课程的直线式逻辑顺序,因此不能保证教学内容衔接的连续性、顺序性和整合性。“平台+模块”课程结构是近些年出现的一种新的高等学校课程结构,由基础课程平台和一定类型的课程模块构成。根据软件工程专业的特点,将课程结构调整为由公共基础课平台、学科基础课平台、专业基础课平台3个“平台”及计算机科学模块、软件工程模块、专业方向模块3个模块构成。“平台+模块”课程结构保证了知识结构内在的相互联系和相互独立,此课程结构中的“平台”是全校或同一学科各专业学生的必修课程,体现了人才培养的基本规格和全面发展的共性要求,体现了“宽口径”、“厚基础”的现代高等教育人才培养特点。此课程结构中的“模块”解决了计算机科学课程群与软件工程课程群开课顺序的争议性问题,专业方向模块根据社会人才需求、专业发展的趋势和学生的个性学习需求而设置。软件工程学科发展很快,专业方向模块可以根据需要进行调整。

2.2 調整课程顺序

根据整合的15门专业课程,按模块进行划分,可分为计算机科学模块课程和软件工程模块课程。计算机科学模块课程主要有离散数学、C语言程序设计、算法与数据结构、计算机组成原理、操作系统、计算机网络、数据库原理7门课程;软件工程模块课程主要有软件工程导论、软件需求、系统分析与设计、软件构造、形式化开发方法、软件质量保证与测试、软件项目管理、软件过程管理8门课程。计算机科学模块的专业课程开课顺序在各高校中大同小异,基本上是先开设C语言程序设计和离散数学,然后开设计算机组成原理、算法与数据结构、操作系统,最后开设计算机网络和数据库原理。调研各高校软件工程专业人才培养方案,发现软件工程模块专业课程的开设顺序不是很一致。结合先进的基于工作过程的课程设置方法[4],参照IEEE/EIA 12207.0-1996软件生命周期工作过程标准,调整了软件工程模块8门专业课程的开设顺序,其顺序依次为软件工程导论、软件需求、系统分析与设计、软件构造、形式化开法方法、软件质量保证与测试、软件过程管理、软件项目管理。

2.3 針对应用型本科院校设置专业方向模块课

吉林工程技术师范学院作为应用型本科院校,定位为培养应用型人才,因此所制定的专业方向模块课程要与人才市场应用需求相一致。目前在我国软件应用领域,软件开发人员需求缺口很大,因此将吉林工程技术师范学院软件工程专业人才培养方向定位为软件开发工程师。目前,在软件开发领域存在两大对垒:微软的NET和甲骨文公司的JAVA,因此将专业方向划分为NET方向和JAVA方向,并依据技术路线设置相应的专业方向课程。

2.4 研究成果

综上所述,所制定的应用型本科软件工程专业人才培养方案中的理论课程体系分学期执行的教学计划如表1所示。

3 成果评价

选取吉林工程技术师范学院软件工程专业理论课程体系为评价对象,利用文献[5]所建立的课程体系评价模型和评标指标,邀请四位专家在不区分专家权系数的前提下进行评价,评价情况如表2所示。

对评语集赋分值(优:95,良:85,中:70,及格:60),最终加权得分为92.25分,处于优秀的级别。本次评价只针对教学计划中的理论课程体系(即体现教学内容衔接效果的体系)进行评价,没有考虑实践环节、师资及实施情况等。

4 结束语

通过多年教学研究实践,总结出应用型软件工程专业理论课程体系制定的流程:(1)将SEEK的10个知识领域中的知识单元整合为15门专业课程;(2)采取“平台+模块”课程结构划分课程宏观结构;(3)微调15门课程的开课顺序,按1~7学期开设;(4)针对应用型人才培养定位,划分专业方向模块并设置课程。本次研究仅限于理论课程体系教学设计。切实加强软件工程实验课程和实践环节的创新与改革将是下一步重点研究的课题。

参考文献

[1]宋雨,赵文清.软件工程[M].北京:中国电力出版社,2007:2-5.

[2]齐治昌.软件工程学科的建立与软件工程本科教学[J].中国大学教育,2006,(2):28-30.

[3]王彬斐.我国高等学校课程结构优化改革研究[D].兰州:兰州大学,2007.

[4]孙慧平,余丽萍,柯春松,等.基于工作过程的课程设置研究与实践[J].教育与职业,2007,(36):27-30.

[5]朱捷.高校课程体系的评价指标体系的研究[D].上海:华东师范大学,2009.

猜你喜欢
软件工程
基于课程群的软件工程专业三位一体教学模式探索
关于《软件工程》教学改革的研究
计算机技术在机械能源中的应用
依托工作室的软件工程实践教学研究
高职软件工程课程改革研究
软件工程应用型课程建设与实践
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨