以“应用” 为导向的软件工程课程教学过程的设计
2016-03-30何伟娜褚龙现
何伟娜 褚龙现
【摘 要】软件工程课程软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。但在实际的教学过程中,存在较大的难度:知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,提出了以“应用”为导向的软件工程课程教学过程的设计,主要从教学设计原则、教学设计策略、教学内容、教学方法、课程重、难点解决方案、考核方式与评价方法等方面展开,给出了切实可行的方案,与院系“一体化”教学理念切合,通过实施,取得了一定的效果。
【关键词】软件工程;应用导向;“一体化”教学理念
【Abstract】Software engineering in school of software engineering course software of a core course which forms a professional basis, is also a course of paying equal attention to both theory and practice. But in the actual teaching process, there is a big difficulty: knowledge away from the reality, the course content is complex and abstract, teaching practice is weak, for lack of practical experience of software development of undergraduates, simply teaching abstract theoretical knowledge is often makes students feel boring and hard to understand. Cannot achieve good teaching effect, cannot meet the modern software engineering talents training target. Therefore, guided by “application” is presented in the design of the software engineering curriculum teaching process, mainly from the principle of teaching design, teaching design, teaching content, teaching method, course, the difficult solution, evaluation method and evaluation method, etc, presents a feasible scheme, and the relevant departments “integration” teaching concept, through the implementation, has obtained the certain effect.
【Key words】Software engineering; Application guide; “Integration” teaching ideas
平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。
1 软件工程课程的课程目标
《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。
通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。
为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。
2 教学设计原则
坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。
3 教学设计策略
3.1 知识域覆盖
针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑; 对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。
3.2 技术方法先导
软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。
3.3 突出技能训练
技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T 8567-2006 计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。
4 教学内容设计
结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。
5 教学方法设计
在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。
改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。
6 课程重、难点解决方案
6.1 软件工程课程重点
软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。
6.2 软件工程课程难点
软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。
6.3 重、难点的解决方案
软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。
理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。
7 考核方式与评价方法
采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。具体的课程考核评价体系如表1所示。
8 总结
该教学过程设计,切合院系在2013年提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。
【参考文献】
[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2).
[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,2015(14).
[3]汪璟玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,2012(10).
[4]王小磊.任务驱动与情境认知学习理论在《软件工程》课程教学改革中的探索[J].福建电脑,2013(7).
[5]郝水侠.《软件工程》的教学模式及方法的探索[J].科技创新导报,2009(1).
[责任编辑:汤静]