软件工程课程教学实践探析

软件工程课程教学实践探析

摘要:阐述软件工程课程与学生的实际项目开发能力的不足,分析造成的原因,为了提高软件工程专业学生的软件开发能力,提出一些教学改革的实践方案。

关键词:软件工程,项目案例,MOOC。

0引言

实际项目开发经验欠缺、开发能力不足,是当前软件工程专业学生普遍存在的问题。笔者拟结合实际教学经验,通过分析造成学生实际开发经验不足的原因,尝试性地提出一些教学改革意见,提升学生软件开发的整体素质。

1课程教学中的问题

造成学生实际项目开发能力不足,本文认为存在以下原因。(1)部分任课教师缺少实际开发经验。部分高校软件工程教师毕业后直接进入高校教学,没有在软件公司的计算机工程项目工作的经历,对软件开发流程、软件架构搭建、软件项目管理的认知都只是停留在书本层面,缺少实际软件开发经验。造成教师在授课的过程中,只重视理论教学,而对学生实践一带而过,学生在课堂和课下不能获得足够的实际项目开发指导。(2)学校投入结构性不足。各高校对多媒体教学系统、实验室设备等硬件投入巨大,目前高校的硬件是足够满足教学要求的,甚至是超额的。但是,很多高校对教师培训、实践项目库建设、校企合作教学等方面投入不足。(3)实训项目与企业实际需求不符。目前学生在校实践、实训的项目存在难度偏小、代码量少、架构不合理、较少考虑异常处理、业务逻辑考虑不足等情况,学生开发小组架构[1]不合理,这些都造成实训项目和社会实际需求脱节。

2解决方案

为切实提高学生的实际项目开发能力,一方面要建立高校教学项目库,另一方面要加强教师队伍实际项目开发培训,并建立合理的教学机制。笔者拟提出一套基于软件工程专业的教学机制。

2.1总体方案

软件工程专业核心课程包括专业基础课和部分专业限选课程。可以采用案例实现方式贯穿专业核心课程教学,将理论教学、实验教学和课程设计等重新梳理、规划,在教师开始课程授课时,同步进行案例资源教学,协助进行理论授课。根据软件工程专业核心课程理论教学和实验教学内容,融合“单元技术聚集+综合案例”[2]方式,达到理论教学和实践教学的有效结合。对于课程课堂练习、上机实验,采用“单元技术聚集”来进行实践;对于课程设计,采用“综合案例”来进行实践。(1)课程内容。采用传统授课结合“单元技术聚集+综合案例”形式,覆盖课程知识点、上机实验、课程实践。①传统授课:老师进行知识点的讲解,学生进行课程理论以及课程实践学习。②单元技术聚集:利用实践或实验方式,检验章节知识点掌握情况,并为综合案例阶段提供知识支撑。③综合案例:针对某一专业核心课程进行的综合案例练习。根据软件工程专业人才培养方案和教学大纲,逐步建设专业核心课程实践教学资源,每门课程的实践教学资源至少包括1套“单元技术聚集”和1套“综合案例”。(2)慕课(MassiveOpenonlineCourses,MOOC)。MOOC主要包括课堂简短教学视频,由任课教师根据实际需要进行建设。内容也可以包括课程幻灯片、课程文档、教师教案、课堂测试试题和结课考试试卷等。课堂简短教学视频视频的长度最好不超过10min[3]。(3)单元技术聚集在单元技术聚集阶段,学生应用课程知识点完成实践任务,同时也为后续综合案例阶段做好知识储备。“单元技术聚集”一般对应课堂练习、上机实验以及补充内容等。每个“单元技术聚集”有若干个小型项目,突出知识点应用。(4)综合案例。按企业化或准企业化标准化组建综合案例,并结合瀑布开发模型、螺旋模型、迭代开发思想等。案例完整覆盖项目立项、可行性研究、需求分析、项目设计、测试[4]等软件开发阶段,并针对重点内容采用MOOC方式进行讲解。

2.2实施过程

实施分为2个阶段,知识强化阶段和项目开发阶段。(1)实施内容。在课程开始时,同步启动知识强化阶段,在课程授课完成前2周,启动项目开发阶段。①知识强化,主要讲解课程知识点,并配合“单元技术聚集”阶段进行课程教学。边学习,边练习,帮助学生完成知识点学习,提高学生实践动手能力,为项目开发阶段做准备。②项目开发阶段:主要进行实际项目开发。在项目开发过程中如果遇到开发困难,也可以通过迭代“单元技术聚集”阶段解决。(2)实施安排。以任务驱动展开实施,任课老师根据实际情况可以一周布置1到2次任务。实施流程如下:①老师布置开发任务;②学生进行软件开发工作;③老师及时监控学生学习情况、交付情况;④老师答疑辅导。

2.3校企合作

如学校缺少实际项目储备、任课老师的实际开发经验不足等情况,建议学校与软件培训公司开展合作教学。(1)合作职责。①学院成立教学小组,软件培训公司成立配套技术支持团队,双方建立定期沟通和通报的机制。②软件培训公司负责技术支持、完成课程实践内容建设,学院负责课程理论的教学任务。(2)合作实施。实施过程包括两个阶段,第一阶段软件培训公司技术团队负责课程实践和技术支持,任课老师负责理论课程教学,并协助进行实践教学;从第二阶段开始,任课老师既负责教学,又担任项目经理角色负责课程实践,软件培训公司技术团队为任课老师提供技术支持。

3结语

本文结合软件工程专业人才培养目标和当前软件行业需求,依据工程化和企业化管理方式,提出一套软件工程专业教学改革方案,以期提升学生实际的软件开发能力和技术创新能力。

作者:张俊楷 单位:华北水利水电大学