基于项目教学法的网页设计教学系统研究
2019-01-10段俐敏
段俐敏
(安徽信息工程学院 艺术设计系,安徽 芜湖 241000)
随着我国软件行业的快速发展,对软件设计人才的需求持续增加,为了缓解软件人才供需矛盾,形成我国软件人才的良性循环,必须加强在校大学生涉软专业学生的软件课程系统化、实战化训练.网页设计作为软件行业的基础性课程,对于从基础上培养学生的项目开发意识、提高学生的软件从业知识具有重要作用[1-3].传统的网页设计课程教学大多采用“理论灌输+验证性实验”的教学模式,一方面,该模式理论教学内容单一、枯燥,学生接受度较低、教学效果较差;另一方面,该模式实验教学采用基于已知实验效果的验证性实验,不能很好地激发学生的创新创业能力且实验内容较为孤立[4],缺乏针对性,无法形成系统完整的体系架构,对提高学生的实践能力意义不大.在此背景下,提出了一种基于能力层次递进项目教学的网页设计课程教学法,该方法根据教学进度和学生能力反馈,系统而完整地选取具有明显难度差异的实际工程项目对学生进行工程训练[5-7],再根据训练效果反馈调整项目难度,从而形成良性循环,力求系统而完整地培养学生的实践与创新能力.基于上述工作,开发了对应的网页设计课程教学系统,系统内置K-means聚类算法进行数据无监督聚类,可以挖掘内在教学规律,为下一步的教学计划制定提供数据支撑.
1 基于能力层次递进项目教学的网页设计课程教学法设计
基于能力层次递进项目教学的网页设计课程教学法主要完成具有明显难度差异的实际工程项目设计、实施与能力层次递进效果反馈.如图1所示,具有明显难度差异的实际工程项目设计子模块主要完成项目的设计并基于效果反馈优化项目设计,实际工作中需要遵循以下原则:S1:项目设计符合新形势下的教学改革趋势;S2:项目设计要与教学大纲相契合;S3:项目设计要有系统性.项目实施子模块主要实现项目、教师、学生三者之间的协调交互,明确实施目标,设定实施任务,确保项目实施效果.项目能力层次递进效果反馈子模块主要用来采集项目实施过程中出现的问题、实施进度、学生能力递进情况等并反馈给项目设计子模块,形成良性循环.
图1 基于能力层次递进项目教学的网页设计课程教学法逻辑示意图
与基于能力层次递进项目教学的网页设计课程教学法逻辑示意图相对应,其实际运行流程如下:S1:录入教学大纲,根据大纲和设计原则进行项目设计并根据反馈结果进行项目优化;S2:对设计完成的项目进行规范化检查并进行实验班级小规模试用;S3:根据试用结果决定是否全校推广,如果试用结果支持推广,则启用项目反馈机制,从学生能力递进等方面进行信息采集与反馈,否则返回第一步;S4:周期性的进行专家审核,确保项目始终符合设计初衷.基于C++语言,在VS2012环境下实现的核心代码如下:
std::string CStudent:: getXinxi() const { return xinxi; } %获取项目信息
void CStudent::XiugaiXinxi (std::string val) { xinxi = val; } %修改项目信息
void CMainView:: findStuAtView(const std::map
system("cls"); %项目实施
std::cout<<"请输入要查找项目的id"< int id; std::cin>>id; CStudentMg cStuMg; %项目反馈 CStudent cStu; cStu = cStuMg.findById(m1,id); 一定数量级的一线教学反馈数据具有十分重要的意义,这些数据往往存在一定的潜在规律性,可以很大程度上真实反映项目教学法的效果,为下一步教学项目的设计优化、教学方法的改进、学生能力的递进情况等提供数据保证.基于上述背景,根据反馈数据类型,提出了一种基于K-means 聚类算法的教学反馈数据无监督聚类分析算法,可以通过均值对数据点进行聚类,并通过划分后的均值迭代优化获得最优的聚类结果.选取我国中部某省属理工类本科院校应用本系统9个月后产生的反馈数据为例进行分析,首先对数据进行预处理,采用Canopy算法进行初始聚类并分别选取K值,然后求解K-means的初始聚类中心点,最后采用显著差异符号在聚类图中标出聚类中心位置,最终聚类结果如图2所示.为了提高编程效率,快捷的寻找最佳有效的能量梯度函数,采用动态规划的方法实现,核心代码如下: %得出有效的K值 n<-length(x) seed<-round(runif(1,1,n)) for ( i in 1:k){ if(i==1){ seed[i]<- round(runif(1,1,N)) }%选用k个初始点 dd<-0 rst <- sapply(K, function(i){ print(paste("K=",i)) mean(sapply(1:round,function(r)% 避免局部最优 { print(paste("Round",r)) result <- kmeans(norm.data, i) stats <- cluster.stats(dist(norm.data), result$cluster) } 图2 基于K-means聚类算法的教学反馈数据无监督聚类分析效果图 图3 系统功能模块组成示意图 基于系统实际需求,如图3所示,系统核心模块由项目设计与优化模块、学生实训与评价模块、学生能力递进跟踪模块、教学反馈数据聚类分析模块等组成,各个模块的具体功能如下:项目设计与优化模块是整个系统的基础,负责设计实训项目,根据反馈结果优化项目等;学生实训与评价模块是系统的核心模块,负责项目与学生的交互、学生实训效果的提报等;学生能力递进跟踪模块主要用于学生实训效果与项目难度之间的信息交互,主要负责学生实训效果的记录、跟踪、整改等;教学反馈数据聚类分析模块主要对某个周期内的一线教学反馈数据进行聚类分析,继而为教学项目的设计优化等提供数据保证. 由于教学系统总体业务流程受诸多因素的影响,不同学生个体、不同专业学生等业务流程有较大差别,本文以我国中部某省属理工类本科院校软件工程专业为例说明系统的总体业务流程.如图4所示,在确定好使用对象之后,进行系统初始化操作,主要完成平台初始信息的录入并对系统数据仓库写入初始值,进行初始化并审核初始信息的规范性;检测是否有项目设计发起,如果有,启动施工文件项目专家审核机制;如果审核通过,则按照教学计划进行,跟踪记录每个学生个体的实训效果数据;固定周期内,聚类分析教学数据并反馈给项目设计子流程. 图4 系统总体业务流程示意图 为了提高系统的可扩展性,系统各个模块对自身要发挥的功能进行数据处置,不同的模块也能够进行合作交流,使系统运行的效率更高.根据本系统在实际操作实现阶段,当注册用户登录系统时,系统会对登录的相关角色进行特定的判断,同时根据角色的不同为用户展现出具有差异性的视图[8],借助此类方法能够使系统降低对于授权表的访问,而对于RBAC访问系统主要是作用于管理员以及用户之间展现出特定的功能,以此来减少对数据库的访问次数.对于RBAC访问控制系统模型如图5所示. 为了实际验证上文所提方法的有效性和实用性,本文在vs2012环境下通过调用动态链接库文件(.dll文件)的形式开发了一款通用网页设计课程教学系统,该系统可以实现通用网页设计实训项目的设计与优化、学生个体实训效果的跟踪记录、固定周期内的教学效果数据聚类分析等功能.本文主要利用的是Windows 7操作系统平台,采用的硬件设备CPU为英特尔酷睿i7,主频3.8 GHz.系统运行内存为32 GB,存储空间4 TB,网络带宽15 M独享.系统实际运行界面如图6所示. 图5 基于RBAC的访问控制模型图 图6 通用网页设计课程教学系统界面示意图 为了进一步验证系统在某些非正常环境下的性能,在MI公司的winload软件环境下,采用边界值分析法对系统进行黑盒测试(主要进行服务器端压力性能测试).测试方法如下:首先确定服务器端并发服务客户端数量的上限边界,然后按照上限边界的0.3倍、0.6倍、1倍、1.2倍进行服务器端并发服务测试,最后根据测试结果进行对应的优化.基于上述工作,以我国中部某省属理工类本科院校标准化机房(客户端200台,服务器采用DELL公司的PowerEdge T30微塔式服务器)为例进行测试,则实验结果如表1所示.测试结果表明,系统运行稳定,服务器端并发服务满足实际要求. 表1 服务器端并发服务测试结果表 针对传统网页设计课程教学模式存在的教学内容单一、枯燥,学生接受度较低、教学效果较差、实验内容较为孤立,缺乏针对性,无法形成系统完整的体系架构等劣势,为适应新形势下的教学改革趋势,提出了一种基于能力层次递进项目教学的网页设计课程教学法,并集成基于K-means聚类算法的教学反馈数据无监督聚类分析算法,设计并实现了一款新型的网页设计课程教学系统.通过实际测试表明,系统在功能上对打破传统教学模式,提高学生的实际项目经验具有积极意义.在性能上运行稳定,功能模块之间划分合理,较好地完成了预期设计目的,具有一定的实际推广价值.2 基于K-means 聚类算法的教学反馈数据无监督聚类分析
3 系统设计
3.1 系统组成
3.2 总体业务流程
3.3 系统访问控制模型设计
4 系统实现与测试
5 结论