高校数据统计系统研究与实践
2016-02-07汪大贺李博孙维健王会会樊鹏辉于春洋
汪大贺,李博,孙维健,王会会,樊鹏辉,于春洋
(长春理工大学,长春 130022)
高校数据统计系统研究与实践
汪大贺,李博,孙维健,王会会,樊鹏辉,于春洋
(长春理工大学,长春 130022)
系统以长春理工大学基本教学状态数据的导入存储、分析统计、数据分析和到处上报到国家级基本状态数据库系统为主要目标,开发基于三层架构的高等学校数据统计系统。使得基本教学状态数据上报至国家的事务变得简单化、规范化。提供数据分析功能使得学校的发展情况得以生动展示,更有助于学校进行下一步发展策略的制定。
数据统计;数据分析;三层架构
高校的数据统计与分析是对学校基本情况科学明确的一种展示,数据包含了学校基本信息、教师学生信息、学科专业信息、人才培养、教学管理与质量监控等方面,对这些数据指标进行横向与纵向的分析与比对,并对数据进行系统整理,从中挖掘学校发展的潜在规律与不足之处,为学校制定总体发展规划目标提供有力的数据保障。在深入调研省内高校统计工作与结合本校实际情况的基础上,对系统的研发做了充分的前期准备,对总体设计思路进行了深入的讨论,同时在功能实现方面也充分考虑到信息资源的共享和确保数据出口的一致性。通过对长春理工大学教学基本状态数据库的上报的办公情况和业务流程的分析[1],提出长春理工大学教学基本状态数据库的功能需求:权限管理(表单分部门展示,满足填报与浏览权限的分离,以及系统的分级权限管理);导入系统(各部门数据导入);数据展示系统(以具体表格形式展示数据);数据分析(多元指标以图形界面展示数据);导出系统(导出各表数据excel)。根据对数据的详细统计分析,观察数据背后的规律,找出优点及不足之处,统计分析工作起到了至关重要的作用[2]。
1 系统总体设计及架构方案
针对国家教育部各项报表的参数与指标解释,切实结合学校的两级管理体制,对整个工程分为七个子系统,分别是基础数据管理、人员管理、高基表、教学状态数据库、基本数据通报、数据分析、系统维护等。各子系统之间确保数据访问同一个数据源,各部门之间合理的划分权限和功能,使整个工程是一个紧密联系的有机整体[3]。项目划分如图1所示。
(1)基础数据管理模块:包括学校各部门信息的导入、导出、数据的编辑以及创建统计时点操作等功能,基础数据的创建同时充分考虑到全校信息标准化。
(2)人员管理模块:包括人员的变更部门、变更权限、修改用户的基本信息等功能。
(3)高基表模块:包括教育事业统计中的全部报表内容的显示与查看功能。
(4)状态数据库模块:包括本科教学基本状态数据库的全部报表内容的显示与查看功能。
(5)基本数据通报模块:包括学校学科、教职员工、学生、固定资产等情况的统计功能。
(6)统计分析模块:包括本科教学评估报告、学校各年度数据的横向和纵向对比、各指标值的科学分析与决策等功能。
(7)系统维护模块:包括数据的备份与恢复、系统参数设定、权限管理、各模块关联控制等功能。
图1 系统总体设计
本系统采用三层架构(3-tier architecture)[3]将整个业务应用划分为:表示层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想,具体实现如图2所示。
图2 三层架构结构图
2 系统关键技术
2.1 LINQ TO SQL
LINQ TO SQL提供了对事务、视图、存储过程的完全支持。它同样为集成数据校验和业务层逻辑到数据模型中提供了一种简单的实现方式,具体操作如下:
修改t_Users表中的UserName为大气象2的伪代码:
输入:UserID为2,UserName为大气象2
输出:修改后的数据
(01)t_Users实例化一个对象userUpdate;
(02)查找UserID为2的一样数据并赋给userUpdate;
(03)将userUpdate.UserName的值修改为大气象2;
(04)提交修改。
条件查询职称为教授的教师信息的伪代码如下:
输入:教授(查询职称为教授的教师信息)
输出:职称为教授的教授信息的数据集
(01)Gridview的name是gdvUsers;
(02)t_Users实例化一个对象user;
(03)从数据库ManageCUST中查找T_title为教授的教师信息并按照职工号排序;
(04)将查询到的数据集赋给gdvUsers.Data-Source;
(05)绑定到gdvUsers;
2.2 数据批量导入导出技术
为解决信息孤岛问题,实现和学校其它系统的接口互联,并且由于学生信息、学校用户的数据量比较大,以及每年新生增加,为减少数据录入的工作繁琐,在系统中设计了信息批量导入导出功能[4]。在Excel文字字段与数据库中信息表匹配下,将预先制作好的Excel格式的数据信息直接通过浏览器导入到系统后台数据库或者将系统后台数据库数据信息导入到Excel。
将数据批量导出到Excel文件的步骤如下:
(1)分别创建Excel应用程序、工作簿和工作表对象,若其创建失败,则返回;
(2)在数据显示控件GridView中选择将被导出的数据,如果被选中的行数小于0,则返回;
(3)以GridView列数建立循环,依次向工作表写入GridView列标题;
(4)以GridView被选中的行数建立外循环,以GridView列数建立内循环,依次向工作表写入每个单元格的数据;
(5)存Excel文件,关闭Excel对象并回收资源。
读取Excel文件中的数据,并显示在GridView控件中,步骤如下:
(1)设置连接Excel文件的字符串,并指定其扩展属性;
(2)设置查询语句,确定被引用的工作表的范围;
(3)利用OleDbConnection类初始化连接对象。使用“Microsoft.Jet.OleDb”连接Excel文件;
(4)初始化数据适配器,填充数据集;
将Excel文件中的数据批量导入指定数据库中的数据表的步骤如下:
(1)判断Excel文件格式与数据库表结构是否一致(包括字段列数是否相等、字段名是否相同、数据格式是否相同和数据宽度是否满足要求),若不一致,则返回;
(2)在数据显示控件GridView中选择将被导入的数据,如果被选中的行数小于0,则返回;
(3)分别以GridView列数和GridView被选中的行数建立循环,读取GridView列标题和单元格数据,构造SQL数据插入语句;
(4)判断数据库表中的数据与被插入的数据关键字是否相同,若相同,将其记录在日志文本文件中,否则将该记录插入到数据库表中;
(5)显示数据批量导入的情况,必要时可以打开日志文本文件,供用户查阅未导入成功的数据情况。
数据批量导入导出序列图如图3所示。
图3 数据批量导入导出序列图
3 系统类设计
整体类图设计,根据数据实体属性的分析及结合面向对象思想[4],可以得到系统类图。如图4所示。其中,类MainActivity和类LoginUI是一般关联关系。而类HomePage、类FindPage、类Mepage、类MessagePage是类MainActivity的一部分,它们与类MainActivity具有一致的生命周期,因此它们与类MainActivity之间是组合关系。类HomePage、类FindPage、类Mepage、类MessagePage与类User之间是依赖关系。类User与类Collection、类WebInfor之间是一般关联关系。类TopicRecommend与类Collection、类Topic是依赖关系。类Topic与类Information是依赖关系。同样,类Information类与WebInfor也是依赖关系。
图4 系统类图
4 系统测试
白盒测试是利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与期望的状态一致。
本系统采用白盒测试的基本路径测试法进行单元测试[5]。
测试用例,扩展欧几里得算法求乘法逆元方法的测试用例设计及其测试结果与分析如下:
(1)程序控制流图
扩展欧几里得算法求乘法逆元方法的程序流程图,对其进行简化得到的程序控制流图如图7所示。
(2)计算环路复杂度
环路的复杂性为:V(G)=E-N+2=18-15+ 2=5。
因此,该方法环路复杂度是5。基本路径集中有5条独立路径。
(3)根据上面的计算方法,导出基本路径集,列出该方法程序的独立路径,可得出该方法程序的基本路径集中有5条独立路径。
路径1:5-16-17-20
路径2:5-6-18-19-20
路径3:5-6-7-8-9-10-11-12-13-9-···
路径4:5-6-7-8-9-14-7-···
路径5:5-6-7-8-9-14-15-20
图5 扩展欧几里得算法求乘法逆元方法的程序控制流图
测试用例,根据上述独立路径,设计该方法的测试用例表如表1所示:
表1 扩展欧几里得算法求乘法逆元方法的测试用例表
测试结果:
(1)路径1的实际输出:a[2]=0,与预期输出一致,路径1正确;
(2)路径2的实际输出:b[2]=1,与预期输出一致,路径2正确;
(3)路径3的实际输出:t[0]=1,a[0]=0,b[0]= 1,与预期输出一致,路径3正确;
(4)路径4的实际输出:t[2]=17,a[2]=23,b[2]=17,与预期输出一致,路径4正确;
(5)路径5的实际输出:b[1]=23,与预期输出一致,路径5正确。
通过对扩展欧几里得算法求乘法逆元方法的全部独立路径进行测试,由以上结果可以得知,该方法中的每条通路都能按预定要求正确工作。
5 结论
本系统结合教育部报表及学校实际管理,研发的高校基本数据统计系统,能够合理的对学校基本数据进行统计,科学的分析数据背后的规律及反映的实际情况,合理的划分各部门负责填报的数据,实现了数据科学的分析与信息资源的共享,为向教育部报送数据信息及制定学校发展规划目标提供了坚实的保障。同时也有助于理清管理思路,规范了工作流程,提高了工作效率,真正发挥统计数据为领导决策服务、为日常行政事务服务的作用。
图6 系统演示1
图7 系统演示2
[1]吴生,赵雪曼.高校科技统计实践与分析[J].技术与创新管理,2012,33(5):503-505.
[2]苏光靖.当前高校统计工作的现状及对策研究[J].统计与咨询,2013(3):13-14.
[3]高扬.基于.NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2011,21(2):77-80.
[4]徐永华.基于C#.NET批量数据导出的设计与实现[J].电脑知识与技术,2012(29):6978-6979.
[5]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2012.
Research and Practice of the Data Statistic System in University
WANG Dahe,LI Bo,SUN Weijian,WANG Huihui,FAN Penghui,YU Chunyang
(Changchun University of Science and Technology,Changchun 130022)
This system in changchun university of science and technology,the basic teaching form import storage of data,analysis of statistics,data analysis and report to the national basic state around database system as the main target,the development of institutions of higher learning data statistics system based on three-layer architecture.Makes the basic teaching status data reported to the state of affairs become simplification,standardization.The development of the school to provide data analysis functions more vivid display,more help to the school for the next step development strategy formulation.
data statistics;data analysis;three layer architecture
TP39
A
1672-9870(2016)06-0090-05
2016-08-26
汪大贺(1979-),男,硕士,助理研究员,E-mail:wdh@cust.edu.cn