- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于移动技术学生信息系统设计与管理
基于移动技术学生信息系统设计与管理
摘 要: 基于移动终端技术的学生信息系统具备实时查询学生基本信息的功能,其核心是移动终端的数据库访问技术。系统中提出的数据库方案采用XML数据库,在Mobile平台下利用VC++2005结合CMarkup类解析XML文档,实现登录、查询。将学生的基本信息扩展到手机中,可以帮助辅导员及时应对突发事件。
关键词: Mobile智能手机平台 XML文档 学生管理
1.引言
随着高校信息化建设的深入、教学改革工作的不断推进,高校学生管理工作范围不断扩大,其管理方式也向多元化的方向发展,例如建立了各种BBS论坛、班级群、飞信、博客等,这些管理方式顺应了当前信息时代的主题,突破了时间和空间的限制,为辅导员提高工作效率提供了很大帮助。辅导员一般面对较多的学生,在特殊情况身边不一定携带电脑,也不可能准确记住每个学生的基本信息,尤其是相貌,而纸质信息表格不方便携带和查找。智能手机在现实生活中已普遍拥有,因而在智能手机终端实现学生基本信息管理,可以进一步提高辅导员工作效率,做到能时刻查询学生的基本信息。
2.系统框架与相关技术
本系统选择基于Mobile智能手机平台进行开发,利用Mobile智能平台高效与智能的特点实现即时方便地查询学生的基本信息。辅导员在PC机环境中使用含有学生基本信息的Excel文件或Access数据库导出一个XML文档,然后使用系统中的数据处理对XML文档中部分数据加密,保证身份证号等敏感信息不外泄。系统使用XML文档在本地存储数据信息,整体框架结构如图1所示,其中用户信息User.xml文件加密粒度为整个文件加密;学生信息Student.xml文件加密粒度为部分加密,只加密身份证号、手机关键元素节点;学生照片存储在系统目录./Pic内,照片没有加密。
2.1XML加密和解析
由于系统在本地存储用户登录信息,为了保证用户信息的合法性,系统封装了DES算法,将账号、密码信息加密后作为XML文档的节点值,然后对整个文件XML文档加密。分别采用CEncry::Encry_Encode和CEncry::Encry_EncodeFile两种方法,对系统中字符串、文件进行加密处理[1]。
本文通过加载开源库CMarkup对XML文档进行解析。Cmarkup基于“压缩”文档对象模型(EDOM:“Encapsulated” Document Object Model),EDOM只定义了一个对象:XML文档,避免读大量的DOM和SAX文档。Cmarkup库具有移植性好、体积小、响应速度快等特点,适用于Mobile等智能终端解析XML[2]。
2.2界面设计
系统界面是用户与系统后台交互的平台,友好、合理的用户界面可以提高系统的易用性,改善用户的体验度。为了适应不同大小的屏幕,系统重载了Mobile平台中相关的函数使其全屏显示,并将屏幕等分,同时支持硬件系统触摸屏和键盘操作[3]。主界面如图2所示,代码片段如下。
(1)获得终端屏幕大小
CRect rctClient;
GetClientRect(rctClient);
int cy=GetSystemMetrics(SM_CYSCREEN);
int cx=GetSystemMetrics(SM_CXSCREEN);
(2)按比例划分屏幕
int y=cy/270;
int x=cx/200;
//计算位置,放置按钮
for (int iv=0;iv3;iv++)
{for (int ih=0;ih3;ih++){
m_BodyRect.rectImage[iv*3+ih]=CRect((ih*75+15)*x,(iv==0?rctClient.top+TOOLBAR_HEIGHT+4:m_BodyRect.rectText[(iv-1)*3].bottom),(ih+1)*75*x,((iv==0?rctClient.top+TOOLBAR_HEIGHT+4:m_BodyRect.rectText[(iv-1)*3].bottom)+65*y));
m_BodyRect.rectText[iv*3+ih]=m_BodyRect.rectImage[iv*3+ih];
m_BodyRect.rectText[iv*3+ih].top=(m_BodyRect.rectText[iv*3+ih].bottom+1*y);
m_BodyRect.rectText[iv*3+ih].bottom=(m_BodyRect.rectText[iv*3+ih].top+15*y);
}}
3.相
文档评论(0)