• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 数学学习 > 正文

    [一种简单的学生上机管理系统的设计与实现]简单目录管理系统的设计与实现

    时间:2018-12-25 03:22:57 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要:本文讨论了高校机房课余时间对学生开放后所面临的一系列问题,为了解决这些问题,用VFP6.0设计开发的一种结构简单、运行成本较低的上机管理系统,并介绍了系统设计运行过程中部分难题及解决方案。
      关键词:上机管理系统 自定义函数 数据类型的转换
      
      一、学生上机管理面临的问题
      
      随着我国信息技术教育的发展和需要,越来越多的高校都把机房在课余时间对学生开放,实行计时收费,但随着学生人数的不断增加,各种管理方面的问题就逐渐显露出来。问题主要有以下几个方面:(1)管理员工作量大、效率低,尤其是下机高峰时容易产生混乱。(2)费用计算误差大,由于人工计时不精确,所收费用和上机时间换算可能出现很大误差。(3)容易产生财务漏洞,不能进行有效、准确、方便的财务核查和统计。(4)信息难以统计。缺少系统地管理,不能详细记录每个学生上机的详细信息(比如:每次上机开始时间和时长等),学校管理者无法对学生上机的情况很好地进行统计与分析。
      上述问题显然与我国信息技术发展的现状极不协调,因此学生上机管理系统越来越受到很多学校的欢迎。该系统数据结构简单、处理方便,为了节省开发费用和运行成本我们完全可以自主开发此系统。VFP6.0关系数据库系统是小型数据库管理系统的杰出代表,它以其强大的性能、完整而丰富的工具、较高的处理速度、友好的管理界面以及完备的兼容性等特点,成了小型数据库系统开发人员的首选。VFP系统还允许用户自己定义函数,一经定义用户就可以像调用系统标准函数那样来调用自定义函数,本文就VFP自定义函数在学生上机管理系统中的应用进行探讨。
      
      二、上机管理系统的设计与实现
      
      (一)系统的的结构设计
      系统主要有以下功能(模块):
      1. 服务器端:(1)学生信息管理,(2)机卡管理,(3)信息查询统计,(4)用户(管理员、值班教师)管理。
      2. 客户端:学生扫描机卡上机
      (二)系统中主要的数据表及其结构
      1.学生基本信息表xsxx.dbf,用于存储学生的基本信息。
      结构如下:卡号(C,12),姓名(C,8),班级(C,20),剩余机时(N,6),上机状态(N,1)。
      2.正在上机表zzsj.dbf,存储正在上机的学生信息。
      结构如下:卡号(C,12),姓名(C,8),班级(C,20),开始时间(C,8),已用时间(C,8),机卡剩余(C,11),状态(C,10)。
      (三)系统的主要运行过程分析
      1.服务器端(略)。
      2.客户端:
      (1)上机:学生自己在机房入口的条形码扫描仪上扫描机卡,计算机读出机卡信息传送至服务器,服务器将接收到的数据进行验证后传回机卡剩余机时等信息。如果机时已用完,提醒学生不能上机,否则记录学生上机开始时间,计时开始,系统将机卡号、剩余机时、开始时间等数据写入正在上机表zzsj.dbf中。
      (2)下机:学生下机时再次扫描机卡,计算机从正在上机表zzsj.dbf中读出学生上机开始的时间,计算出本次上机的时长和机卡剩余时间并执行以下任务:①将学生的机卡号、上机开始时间、下机时间、上机时长等信息写入上机记录表sjjl.dbf。②将修改后的剩余机时传送给服务器,修改学生信息表xsxx.dbf。③删除正在上机表zzsj.dbf中的记录。如果下机时学生较多,值班人员可以点击客户端界面上的“全部下机”按钮,系统会自动批量地处理所有学生的上机信息。
      (四)主要技术难题与解决方案
      1. 机房分散,入口不唯一。我们学校的机房建筑布局比较分散,入口不唯一,多个机房同时开放时,需要在每个机房门口都放置一台配置条形码扫描仪的计算机。系统只需要安装在服务器上,并将安装目录(如“sjgl”)设置为共享,在客户机上将服务器上的共享目录映射为j盘,客户机运行时,只需要打开j盘中的主程序,输入用户名和口令即可运行客户端程序。结构如图(1):
      
      2. 学生上机卡的制作。很多类似的系统都采用的是磁卡刷卡器,不仅要购买刷卡器,并且要给每个学生制作一张磁卡,增加了系统运行成本和学生的负担。针对我校实际情况,每一位学生都有借书证,借书证号是唯一的,借书登记时采用条形码扫描仪扫描,所以上机管理系统也采用了这种方式。系统运行前,只需要给每一台客户机配备一个条形码扫描仪就可以了,不需要再给学生制作机卡,降低了软件开发的难度并且节约了系统运行成本和学生的负担,一举两得。
      3. 重复扫描机卡。一些学生上机后,再把机卡给别的学生到别的机房上机,希望在第二次扫描机卡时结束计时,结果两位学生都没有计时。解决方案:在学生信息表xsxx.dbf中设置“上机状态”字段,如果扫描机卡时发现上机状态为1,而且该生又不在本机房上机,则肯定在别的机房上机,系统就给出警告信息。相关代码如下:
      ifsjzt=1&&上机状态为1说明学生一定在上机
       selectzzsj &&选择正在上机表zzsj.dbf
       locate for 卡号=kahao &&查找该卡是否在本机房上机
       if not found() &&没有找到,说明该卡只能在别处上机
       messagebox(“此卡正在别处上机,机卡不能重复使用!”,48,“信息”)
       else&&学生在本机房上机
       ……
       endif
       ……
      endif
      4.数据类型的转换。本系统中最关键的数据是时间类型数据,比如学生的机卡剩余时间、上机开始时间、下机时间、上机时长等。学生信息表xsxx.dbf中剩余机时存储的为秒数,上机时长是以秒为单位统计的,为了使系统更人性化,每一秒都将上机时长、剩余机时进行更新(如图2),所以每一秒都需要计算系统当前时间datetime( )与上机开始时间之差,但是在VFP系统中,两个日期时间类型数据相减为数值型,而不是我们想看到的时分秒形式(如“00:05:06”)。当学生机时用完,剩余机时为负数时应该显示的样式形如“-00:02:29”。显然,如果不对要操作的数据进行类型转换,是不能实现上述要求的。由于学生信息表中存储的剩余机时为秒数,而且日期时间型数据之差为数值类型,所以笔者在开发系统时自定义一个函数ntoc( ),将整数类型转换成字符型,显示成时间样式(如“00:05:06”),相关代码如下:
      
      FUNCTION ntoc && 定义函数名称,功能是将数值类型转换成字符类型,显示为时间样式
      PARAMETERS ms && 数值类型参数,单位为秒
      k=sign(ms) &&判断参数是正数还是负数
      ms=abs(ms) &&求出秒数的绝对值
      h=int(ms/3600)&&求出对应的小时数h
      m=int(mod(ms,3600)/60) &&求出对应分钟数m
      s=mod(ms,60) &&求出秒数s
      if h=0
      return h+":"+m+":"+s&&返回字符串类型的时间 如"05:06:02"
      else
      return "-"+h+":"+m+":"+s&&返回负的字符串类型的时间 如"-05:06:02"
      Endif
      
      小结
      
      本系统采用条形码扫描输入学生机卡号进行上机、下机登记,代替了键盘输入,提高了值班人员的工作效率。系统的开发不仅给学生的上机管理带来了很大的方便,也提高了学生自主性与自觉性。
      
      参考文献:
      [1]李淑华.Visual Forxpro程序设计[M].北京:高等教育出版社,2004.
      [2]杨克玉等.Visual Forxpro6.0程序设计[M].合肥:安徽大学出版社.
      [3]袁健.学校机房上机管理系统的设计与实现[J].计算机与现代化,2006,12:127-129.
      [4]丁浩,钱丽丽.VFP自定义函数在编制资产负债表中的应用[J].中国管理信息化,2007,4:16-19.

    推荐访问:管理系统 上机 简单 学生

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章