大数据软件工程教学模式探索

大数据软件工程教学模式探索

1引言

传统的软件工程方法以数理逻辑为中心,采用系统化的、规范化的、可定量的过程化方法去开发、测试、维护软件。在大数据时代,数据与软件密不可分,数据是计算的处理对象,软件虚拟化,具有松耦合、分布广、动态变化等特点,要求能够处理海量数据。传统软件工程方法已经不能适应大数据时代的需要,软件工程教学应当针对大数据处理的需求,研究支持数据处理的软件技术,研究面向大数据的软件工程教育教学方法。此外,我校在课程内容建设、学生实践实训、创新培养、教材建设等方面与青岛软件园驻园软件企业进行了充分沟通与融合,应对大数据环境带来的机遇,使学生在学校中就可以通过校企平台解决学生专业实训、企业实习等问题、了解软件企业部门的职能分工及联系、掌握软件企业的主流开发技术和产业技术应用前沿。

2大数据驱动下的教学模式探索

大数据在为软件行业的发展带来机遇的同时,也带来了挑战。从软件工程教学的视角,我们分析大数据时代对于软件工程教学的影响,提出运用大数据服务软件工程教育、提升学生素质。

(1)理论与实践并重。

软件工程是一门兼顾理论与实践的课程,为了实现培养应用型人才的目标,在实际教学活动中,往往围绕着能力培养开展教学,重视培养学生的工程实践能力,却忽视以知识为中心的教学模式。我们并非提倡以讲授软件开发过程中的理论知识为中心,而是要求不但注重学生实践能力的培养,还要重视强化学生的理论基础。重视软件工程前导课程知识的衔接,例如数据结构、算法设计与分析,还要将软件行业发展的最新研究成果和热点内容,例如大数据下的软件工程思维,及时地安排到课程教学中。通过将工程实践的新技术与新方法融入到软件工程的理论教学中,促使学生在掌握扎实的基础理论知识的同时,引导学生自我构建与现代软件工程发展相适应的知识框架。

(2)协同开发。

当前软件工程面临的主要挑战是合理分工,如何明确软件企业内部的职能分工、各技术岗位的职能范围、权责和工作内容。大数据环境下,软件工程方法由逻辑驱动转变为由数据驱动。由于主要面向分布型应用和程序,软件开发从封闭走向开放,开发人员通过分享和交互进行开发。在此过程中,应重视协同开发。采用团队协同模式开发软件项目过程中,根据学生的知识和能力进行组队,不仅要明确团队成员的职能范围和工作内容,还要明确需求分析、系统设计、代码编写、系统测试人员之间的权责。此外,在参与大型软件的开发实训中,还有细分相同角色人员的具体分工。在协同开发教学过程中,我们要避免学生自由组队造成的“马太效应”。根据教学实训发现,学生自由组队,容易造成强强联合。编程能力强的学生组队,能够较好的完成实训项目,但是弱弱组队却无法顺利的完成实训任务。为了在协同开发中,培养学生的沟通表达能力、团队合作能力,我们在教师的引导下,引进团队制约机制。每个开发团队通过强弱联合组队,每个团队既是软件开发者,同时也是软件需求者。作为软件开发者时,需要和软件需求方讨论需求分析、系统设计;作为软件需求者时,需要提出自己的软件应用要求。开发者和需求者的双重身份,保证团队之间只有经过充分的沟通,才能完成软件的开发。团队制约机制使得学生在较短的时间内,能够扮演多种开发角色,熟悉软件企业的业务流程。

(3)合作创新。

大数据时代,面向服务的软件工程、群体软件工程得到了广泛的应用和发展。在开放环境下,面向分布式应用和分布式的开发模式,需要充分利用网络进行任务分配、创新解决方案。作为实践性较强的学科,在实践中研究以数据为驱动的软件设计模式,有利于增强学生的创新意识。学校重视在软件工程的实训中培养学生的创新能力,积极鼓励学生利用学校软硬件平台,申请学校科技创新课题,或者参加教师的软件设计相关的科研项目。依托校企合建的软件工程创新实验室,通过完成“基于计算机视觉的胡萝卜智能分级系统”、“基于MVC的上机考试与在线练习系统”等科技创新课题,激发学生的合作沟通技巧,提高学生软件工程的创新能力。通过参与教师的“基于计算机视觉的花生品质品种自动检测系统”、“茶树病虫害远程专家系统”等应用项目开发,在实际的项目研发中促进学生解决问题能力、创新能力的提高。通过分析当前的校企合作办学模式存在的问题,以及大数据时代的产业需求,学校与软件企业在教材建设、教师培训、实训平台、企业服务等方面建立合作关系,充分利用企业的技术优势,以培养应用型人才为共同目标的基础上,实现学校、企业各自创新活动。出版了《设计模式(Java版)》等应用型教材,从理论、应用和实例三方面出发,帮助学生了解软件工程的最新模式,提高学生的实际动手能力和创新能力。在软件企业实训基地,通过定制的实训解决方案和软件企业提供的实训服务,学生在企业技术人员的指导下,重新开发“海尔OEC日志管理系统”等大型软件。不但锻炼了学生的团队合作精神、增强了自身的创新意识,而且在工程实训中个人能力和素质也得到锻炼和提升。

3结论

通过以数据为驱动的软件工程教学的改革创新,我校进一步优化学生培养机制,注重学生基础知识、协同开发和合作创新方面能力的培养,使得学生的理论知识、领域前沿、实践能力各方面都得到了全面的发展。引入同行评价和用户评价等考核方法,从不同层面对学生进行评价。学生既具备扎实的理论知识,又熟悉产业发展趋势,能够运用当前主流的技术解决软件开发中的问题,适应当前软件产业发展的需要。

作者:许海洋 单位:青岛农业大学理学与信息科学院