本系统采用B/S结构[1],以Visual Studio 2010为开发平台,后台数据库采用Oracle 11g。通过对本系统的需求分析及总体设计,我们大致了解了整个中专信息管理平台的流程,其中分为两部分:一是考生进行报名部分,二是对考生报名信息进行修正、录取等处理部分。根据对业务需求的分析,系统可以划分为以下九个模块,如图3-1所示:
图3-1列出了整个系统主要模块,其功能进行具体描述如下:
(1)查询统计功能模块:包括考生信息查询、考生信息跟踪、院校信息查询、院校计划查询以及投档情况统计。
(2)考生管理模块:包括考生信息修改、考生成绩申请/审批、图像采集、取消考生注册以及考生密码初始化。
(3)数据管理模块:包括中考成绩导入和录取数据导出。
(4)计划管理模块:包括计划编制、计划修改以及计划审核。
(5)录取管理模块:包括投档、阅档、录检审核、录取名册打印、补录以及录取进度查询。
(6)普通用户管理模块:包括用户添加/修改、权限分配以及权限配置。
(7)系统参数配置模块:包括志愿配置、信息公告管理、注意事项配置以及基本参数配置。
系统的层次结构[2]如表3.1所示:
3.2 应用技术在本系统中的实现
(1)数据缓存技术。数据缓存技术用于将已经被处理好的数据通过内存、数据库临时文件等进行存储,在多次重复对这些静态数据进行访问的时候,可以不通过重复的处理过程而进行数据访问[3]。为了提高页面的加载速度以及减少数据死锁的可能,我们对系统中像名族、性别等静态信息使用数据缓存技术。其实现代码主要包括两种:
第一种,利用静态的字典来存储这些静态信息。
private static Dictionary DictionaryName= null;
public static Dictionary DictionaryName ()
{ //打开数据库连接,从Oracle数据库中使用存储过程ProdureName读取数据;
//数据赋值,向字典中添加数据
//关闭数据库,返回相应的字典信息
}
在上述方法中,我们需要定义一个关于字典的属性访问器DictionaryName。在公共的DictionatyName()方法中,创建数据库连接,通过调用存储过程ProdureName对此类静态数据进行检索,然后将检索出来的字段通过Key/Value形势添加都字典中去。
第二种,使用静态列表存储静态数据,其实现过程如下所示:
private static List mDiQuType = null;
private bool InitDiQuList()
{ //连接数据库
{//从数据库中读取数据lData,将信息添加到列表中mDiQuType.Add(lDiQu)。
}//关闭数据库连接
return true;
}
当程序中需要使用此类数据时,实例化Cache类,调用其中的DictionaryName属性或者封装好的InitDiQuList()方法获取数据。这样一来,就实现了一种简单的数据缓存,减轻了在对数据库进行并行访问操作时对数据库造成的压力。
(2)Silverlight技术在图像采集中的应用。在本系统中,使用Silverlight技术来实现图像采集的功能。其中Silverlight技术相比于flash更具优势,Silverlight是一个插件,能够很好地跨浏览器、跨平台实现;而且具有更强的用户体验与富交互性[4]。在本系统中,将图像采用程序单独使用Silverlight技术进行开发,其中主要包括如表3.2中所示的几个类来实现图像的采集与处理:
其中PngEncoder类是关于PNG格式的操作类,它最后会将图像保存为PHG格式。其中封装了public static Stream Encode(byte[] data, int width, int height), private static void WriteReversedBuffer(Stream stream, byte[] data),private static void WriteChunk(Stream stream, byte[] type, byte[] data),private static uint UpdateCRC(uint crc, byte[] buf, int len),private static uint GetCRC(byte[] buf),private static uint ComputeAdler32(byte[] buf)这几个方法,以实现对PNG格式图像的操作以及保存。
EditableImage类用于对图片进行处理,已获得我们需要的特定格式的图片。其中包括public EditableImage(int width,int height),public void SetPixel(int col,int row,Color color),public void SetPixel(int col,int row,byte red,byte green,byte blue,byte alpha),public Color GetPixel(int col,int row),public Stream GetStream(),private void OnImageError(string msg)几种方法用以实现对图片的处理。 |
核心期刊网(www.hexinqk.com)秉承“诚以为基,信以为本”的宗旨,为广大学者老师提供投稿辅导、写作指导、核心期刊推荐等服务。 核心期刊网专业期刊发表机构,为学术研究工作者解决北大核心、CSSCI核心、统计源核心、EI核心等投稿辅导咨询与写作指导的问题。 投稿辅导咨询电话:18915033935 投稿辅导客服QQ: 1002080872、 1003158336 投稿辅导投稿邮箱:1003158336@qq.com |