云环境下软件类课程实验教学探索

2014-02-26 05:49黄晓玲赵生慧
巢湖学院学报 2014年3期
关键词:日志实验教学软件

黄晓玲 赵生慧

(滁州学院计算机与信息工程学院,安徽 滁州 239000)

1 引言

课程实验教学是实践能力培养最核心也是最重要的一种实现方式。因软件类课程实验学时受限制等因素[1],实验内容仅仅依靠在实验室中无法完成,学生还需花费课下时间重现上次实验环境继续完成实验,导致实验过程不具有延续性。教师也无法实时的对学生实验状况进行监控和指导,只能通过提交的作业和有限的实验课堂表现进行成绩评定,不仅导致学生的成绩评定较难保证客观性[2],还可能出现学生在实验过程中如有错误,教师无法及时发现,从而实验教学效果不理想。

另一方面,软件类课程实践教学环境本身的多样性和复杂性对环境的搭建、管理和使用也带来不便。软件类课程实验教学环境因课程不同,往往需要建立在多个操作系统平台,并且在同一个平台上要安装和更新大量应用软件,使得应用环境的搭建复杂而繁琐。

为了解决上述问题,很有必要改变传统的实验教学环境,积极大胆地研究和尝试新技术在软件类课程实验教学中的应用。云计算是最近几年兴起的一种新的网络计算模式,它能够根据用户需求以服务的方式向用户提供动态弹性可伸缩的资源,它的独特性在于它是完全建立在可自我维护和管理的虚拟资源层上的[3]。云计算特点为我们构建软件类课程实验环境提供了新的途径[4-7],但同时也提出了新的挑战。在云计算环境中,传统实验教学环境和教学方式不能直接应用,需要根据云计算特点进行重新设计。

综上所述,本文将运用云计算技术,构建一个软件类课程实验教学设计与实施方案,不仅降低软件类课程实验环境管理和维护成本,还能更高效的支持学生课后自主活动。

基于云计算的实验教学环境

软件类课程实验教学环境基于开源云平台OpenStack构建,分为云访问接入层、应用层、虚拟化层和物理层,如图1所示。云访问接入层包括云教学管理平台和OpenStack API。学生可以通过Web界面和VNC访问云分配给用户的资源,云平台管理人员可以使用Web界面或直接调用OpenStack API的形式统一对云教学平台进行管理。应用层包括教学过程跟踪服务,教学监控服务,实际过程和结果存储服务,及常用操作系统和实验教学软件。其中教学过程跟踪服务、教学监控服务用于记录学生访问虚拟机的日志信息;基于HDFS(Hadoop Distributed File System)存储学生提交的作业和学生日志信息分析结果,以及教师录入的学生成绩;基于OpenStack Swift存储常用的含操作系统和实验教学软件的镜像文件及相关资源教学资源库,实现实验过程和结果存储服务。虚拟化层主要是通过开源云平台OpenStack提供的 IaaS(Infrastructure as a Service),虚拟出动态灵活的 VM(Virtual Machine),该层为应用层提供资源。物理层主要是物理机器资源,包括CPU、存储、内存等,该层为虚拟化层提供基础性资源。模型实现环境主要基于OpenStack构建由20台服务器组成的云计算平台,Hadoop搭建在云平台提供的VM中,采用MapReduce并行计算模型对虚拟机日志信息进行分析,从而实现实现教学监控功能。

图1 基于云计算的实验教学环境模型

2 实验分析

本实验数据来自于学生访问虚拟机日志信息、教师评价信息以及OpenStack提供的虚拟机的日志信息,Hadoop提交的分析实验过程和结果监控、Hypervisor。实验所使用日志为2013年2月25日至6月16日的三个月内的所有查询。以软件类课程中的软件课程实验为例。目前的软件工程实验课程普遍采用团队开发方式进行训练,即在一个学期内,5-6人一组进行软件项目的协同开发。

2.1 学生访问项目时间分析

通过记录94名学生访问VM时间,可以发现学生行为。如图2所示是学生访问云实验平台的时间分布。 实验从晚上 18:00-23:30,我们可以发现从晚上7:00访问频度增加,到9:40左右到达顶峰。这符合学生晚上使用网络习惯。

图2 学生访问VM时间分析

2.2 学生项目访问频度分析

基于Hadoop对虚拟机监控日志分析结果,可以获得每个学生每天运行虚拟机的情况。图3是以一个实验班级30人为例,学生访问频度情况,多数学生对团队项目参与度是阶段性提高的。

图3 项目访问频度分析

2.3 实验效果分析

软件工程实验包括:项目计划文档、需求分析、项目设计、项目编码及测试,实验以设计型和综合型为主,基于Hadoop的日志结果,如表1所示。

表1 软件工程实验日志分析结果

通过表1数据表明,项目计划阶段,学生参与度较低,还不能很好全局的规划整个项目,项目只能依赖教师给出的文档模板及相关资料撰写文档,所以时间、人员及人员任务安排不能符合真实情况。实际的实验中,指导教师与各组进行计划讨论,帮助各组合理分配任务。

各个项目组在后期又重新调整进度安排,修改项目计划。

项目需求分析阶段实验内容主要结合建模工具,构建不同角度的系统模型,以技术为主,实验内容具体,学生较感兴趣。因此与项目计划阶段,访问频度高出近40%,效果相对较好。从实验文档质量来看,多数组是以整个系统为单位进行系统建模,图较复杂,文字描述不清。实际的实验中,指导教师与各组进行需求分析讨论,帮助各组划分系统子功能。建议各组按照子功能进行系统建模,以减少模型的复杂度。

项目设计阶段实验参与度较高,组员之间协作紧密,整体完成较好,分析原因如下:

(1)学生在项目计划及需求分析文档后,对如何写文档有一定的认识;

(2)学生各自负责将前期需求阶段成果映射成设计阶段成果,任务较具体,加深学生理解需求建模的意义。

项目编码阶段虽参与度较高,但实验效果不理想。因项目编码与项目测试之间的实验间隔较短,多数学生无法完成任务;另外部分学生编程能力较薄弱,导致前期分析和设计之后无法完成编码。拟今后教学中加大项目编码和项目测试实验的间隔时间,让学生在课余时间完成此部分工作。

因编码阶段的延迟交付,学生加快项目进度,导致日志显示项目测试阶段学生的参与度较高。总体来说:多数学生能参与项目,但是有5%的学生未参与项目,这都是传统实验中无法发现。

3 总结

传统的实验教学环境不能很好地支持学生课后自主学习,教师无法对学生实验过程信息进行监控,对实验过程中出现的问题,不能及时发现并解决。本文基于云计算进行软件类实验教学平台的构建和应用,通过基于Hadoop平台的日志分析结果,不仅可以分析学生实验行为,为教师更好的改进实验教学,还可以为教师提供较为客观的实验成绩评定标准。后期的工作将平台扩展,做一个较为通用的实验教学平台。

[1] 黄芳,任胜兵,刘高嵩.基于项目实践的软件工程本科课程教学模式探讨[J].湖南社会科学,2009,(5):174-176.

[2] 曾红卫,刘悦,刘炜.软件工程实践教学方法探索[J].计算机工程与科学,2011,(33):15-18.

[3] Armbrust M.Above the Clouds:A Berkeley View of Cloud Computing[R].Berkeley,USA:Electrical Engineering and Computer Sciences University of California,Tech.Rep.:UCB/EECS-2009-28,2009.

[4] Armando Fox.Cloud computing in education[EB/OL]http://inews.berkeley.edu/articles/Spring2009/cloud-computing,2009-03-17.

[5] 刘中宇,刘素娥.基于云计算的多媒体教学环境设计[J].现代教育技术,2013,(2):43-46

[6] P.Holden,W.Kang.database in t he cloud:a work in progress[C].Proceedings of the 10th ACM conference on SIG information technology education,2009-10-05.

[7] 黄晓玲,赵生慧.面向云计算的实验教学平台的研究和设计[J].滁州学院学报,2011,(2):90-93.

猜你喜欢
日志实验教学软件
一名老党员的工作日志
禅宗软件
小议初中化学演示实验教学
扶贫日志
电容器的实验教学
对初中化学实验教学的认识和体会
软件对对碰
游学日志
几何体在高中数学实验教学中的应用
即时通讯软件WhatsApp