基于一卡通的校园报亭管理系统设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:xmyhehe
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文通过对校园报亭销售管理系统的需求、校园一卡通的研究背景、内容及意义进行了详细的分析,利用JSP技术结合MVC模型,详细介绍基于一卡通的校园报亭管理系统的设计全过程。
  关键词:一卡通;校园报亭;管理系统
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)31-0087-02
  1 概述
  目前高校的学生生活中,学校为了方便统一的管理,基本都是实现刷卡管理,包括消费方面的学校食堂、教育超市、浴室、洗衣机等;管理方面的图书馆书籍借阅、体育刷卡、门禁刷卡等方面。校园报亭是我校学生勤工助学的重要基地,本文针对校园一卡通在本校报亭销售系统中的应用,采用JSP技术,基于Mysql数据库,设计了一个报亭销售管理系统,体现了校园一卡通在方便学生生活中的一方面的实际应用。
  2 系统总体结构设计
  2.1 功能需求分析
  校园报亭销售系统是以在服务在校学生为目标,其主要的功能就是可以方便学生直接网上购買报亭内的各类书刊、杂志等。因此本系统主要的用户分为普通用户和系统管理员这两类。
  系统管理员的主要功能有:
  对报亭销售的商品进行管理,主要包括:商品上架、商品信息修改、商品删除、商品信息查询;
  对个人信息的管理,包括:查询个人的账户信息、修改个人信息、修改密码等基本的功能;
  对商品销售情况的管理:查询商品的销售信息,按时间统计销售额,销售报表的输出与打印。
  对校园用户的管理,主要包括:查询校园用户的基本信息、删除校园用户信息、查询校园用户的交易记录等。
  校园用户的主要功能有:
  查看报亭的商品信息;个人信息管理,主要有:账户管理、信息查看、密码修改等;商品选择、购物车管理、结算等功能,可以批量也可以单独购买网站里的任何的商品,现场购物用户可直接刷校园卡结算。
  2.2 数据库设计
  校园报亭销售管理系统的数据库是通过MySql建立的,根据功能分析,理清了数据流向及实体之间的各种关键后,建立了管理员表、校园用户表、报亭商品表、购物车表、校园用户购买记录表。
  首先,对于用户的管理方面,必须要有管理员信息表和用户信息表,将管理员用户和普通用户的信息都存在这些表内。同时商品信息也要单独存放。另外因为要实现用户可以同时购买多种商品,所以也添加了一张购物车信息表,用来保存购买过程中的信息,同时方便在后台中批量管理。最后还有一张用户购买记录表,这张表存放了用户的交易信息,方便查看用户的信息。
  在这些数据表中,相互关联的主要有用户信息表字段、商品信息表字段和购物车信息表字段之间的有关联;用户信息表字段、商品信息表字段和用户购买记录表字段之间有关联,下面介绍部分关键的表。
  1) 管理员信息表
  管理员信息表,用来存储管理员账户的基本信息,包括管理员ID、姓名、密码、密码盐(为增强密码保密性,而创建管理员时随机生成的一串字符,与用户密码运算后保存在用户密码字段)、报亭ID,并留一个备用字段。管理员信息表的设计信息如表1所示。
  2) 商品信息表
  商品信息表主要是用来保存商品信息。其字段主要有:商品ID、商品名、商品图片的链接、商品单价、商品的详细说明、发布的时间、商品库存,并留两个备用字段作为将来的其他功能的使用。商品信息表的设计如表2所示。
  3 一卡通第三方介绍
  一卡通系统中,为统一数据格式,对持卡人所属部门做了定义:一卡通定义的持卡人的部门对应的代码,长度18个字节,下面是代码对应的意义:1~3:校区代码,4~6:一级部门代码,4~9:二级部门代码,4~12:三级部门代码,4~15:四级部门代码,4~18:五级部门代码。
  为提高校园一卡通的安全性,除一卡通自身业务外,其它第三方的业务都是通过校园一卡通系统提供的第三方接口安全接入一卡通系统,下面简要介绍几个重要的接口:
  3.1 第三方接入初始化函数
  Bool TA_Init(string ServerIP , int PortNumber , int SysCode, int TerminalNo, boolean *ProxyOffline, long *MaxSno)
  该接口的功能是实现第三方的业务系统初始化与第三方代理服务器的连接,其中:ServerIP表示第三方代理服务器的IP地址;PortNumber表示第三方代理服务器的端口号;SysCode表示一卡通系统给第三方业务系统分配的系统代码;TerminalNo表示第三方系统当前连接第三方的终端编号;出口参数ProxyOffline表示代理服务是否脱机;MaxSno表示当前第三方业务系统已有的最大流水号。返回True表示该接口调用成功,返回False表示接口调用失败。
  3.2 跟读卡器操作相关的函数
  1) int TA_CRInit(char CdReaderType,int ReaderPort,long BaudRate);
  该接口的功能是实现读卡器的初始化,其中:CdReaderType表示读卡器类型,0表示接口为USB,1表示接口为串口,ReaderPort表示串口读卡器的串口号,0~1分别代表串口1~4;
  BaudRate表示串口读卡器的波特率。返回0表示初始化读卡器成功,非0值表示读卡器初始化失败。
  2) BOOL TA_CRClose();
  该接口的功能是关闭当前会话中的读卡器,返回True表示关闭成功,False表示关闭失败。
  3) int TA_FastGetCardNo(int *CardPhyNo);   该接口的功能用来快速轮询读取卡片内的物理序列号,通过出口参数记录当前读到的物理序列号,如果没有卡在上面则出口参数里面记录为-1。
  通过该接口结合程序设计中的循环结构,可以轻松实现读卡器的无限轮询,让读卡器随时读取上面的卡片。
  4) int TA_CRBeep(int BeepTime);
  该接口的功能是用来启动读卡器的蜂鸣功能,通过该接口来提醒用户本次读卡已经完成,不表明读卡成功或失败,BeepTime表示读卡器蜂鸣的时间长度,单位为毫秒。
  4 关键代码分析
  代码设计对系统的安全性和性能都有着直接的影响,因此,代码设计也是整个设计中关键部分。数据库连接是系统具体实现与数据存储之间的桥梁,系统中的增、删、改、查都是基于这个桥梁,在系统的设计过程中,把数据库的四大基本操作都集成到一个模块中。具体代码如:
  4.1 數据库连接代码,系统中所有的数据库操作都基于这个连接。
  public ComDbOpt()
  { if( ds == null )
  { try
  { Context initContext = new InitialContext();
  Context envContext = (Context) initContext.lookup("java:comp/env");
  ds = (DataSource) envContext.lookup("jdbc/mysql");// 这里根据配置更改 }
  catch (Exception e)
  { System.err.println(e.getMessage()); }
  }
  }
  4.2 数据库中数据的四大基本操作是最平常的,系统里通过一定的集成,将数据库的基本融合到一个函数里,其它地方需要时只需简单的调用
  public boolean update() throws java.io.UnsupportedEncodingException
  { try {
  if (query_statement.equals("")) return false;
  if(IsConnClosed()) this.getConnection();
  if (null == this.con) {
  throw new NullPointerException("未获得数据连接");
  }
  PreparedStatement update_stm = con.prepareStatement(query_statement);
  if (param != null) {
  for (int i = 0; i < param.length; i ) {
  update_stm.setString(i 1, param[i]); }
  }
  int rowsaffected = update_stm.executeUpdate();
  update_stm.close();
  this.param = null;
  return true;
  } catch (SQLException ex) {
  System.out.println(ex.getMessage());
  return false;
  } catch (NamingException ex) {
  System.out.println(ex.getMessage());
  return false;
  } finally {// 这里可以关闭,不会有错!
  this.param = null;
  try { this.con.close();
  } catch (SQLException ex) {
  System.out.println("数据连接关闭失败");
  }
  }
  }
  5 结束语
  基于校园一卡通的报亭销售管理系统是根据软件开发的流程来设计和实现的,通过系统需求分析、系统设计来分析划分系统功能,并且以此为基础内容来设计并实现数据库。系统的投入使用,更加方便地实现同学们及时了解某个校园报亭的书籍、杂志、报纸、饮料等商品情况的需求,通过该系统可以在线下单并使用校园一卡通在线支付或者到报亭刷卡支付,提高了校园报亭的勤工助学同学的工作效率,同时对校园报亭的销售额的提升也做出了一定的贡献。
其他文献
摘要;随着当前移动互联网技术的发展和手机的日趋普及,很多传统的应用被开发出来运用到手机上;该文针对传统点名方式的不足设计出一款点名软件,实现多途径的手机点名,该文首先简介了实现Android手机点名的蓝牙技术和二维码技术,接着阐述了点名系统的总体架构、APP功能设计及界面设计问题,最后重点讨论了蓝牙签到和扫码签到的程序编程实现。  关键词:Android;蓝牙;二维码;手机点名;签到  中图分类号
党内民主是党的生命的论断,是马克思主义对党的性质的规定与我们党自身建设历史经验的统一。这个论断要求我们必须把党内民主建设作为党的政治建设的根本任务;必须充分认识这个
回顾和梳理2014年度“中国梦”研究文献可以发现,内涵、外延和与其他梦的比较是当年度“中国梦”研究的主要场域。就前者而言,学者们主要从如何全面理解“中国梦”的内涵、马克
摘要:高校信息化建设历经校园网、数字校园、智慧校园三个阶段的发展,在信息化建设道路上取得了一定成果。高校信息化建设安全问题也随之越来越复杂,特别是随着大数据时代的到来,高校信息化安全建设问题更加突出,文章从高校信息化安全现状出发,对高校信息化安全问题、安全建议进行分析研究,旨在对大数据时代高校信息化安全进行阐述,进而为高校信息化建设提供参考,保障高校网络安全与信息化建设同步落实。  关键词:大数据
《中国梦与浙江实践(政治卷)》是中国社会科学院与浙江省合作攻关重大课题所取得的成果之一。《中国梦与浙江实践(政治卷)》以中国特色社会主义理论体系为指导,以治理体系与治理能
学习研究“中国梦”,既要有中国情怀,也要有人类命运共同体视阈与世界眼光,既要分析“中国梦”对于实现中华民族伟大复兴的重大价值,也要分析“中国梦”对于世界和平与发展的重大
“经济社会”是人们通过一定的社会关系,即马克思所说的生产关系,为发展物质资料生产、创造财富而结成的共同体。从自然经济社会向商品经济社会再到“产品经济社会”的转变,不仅
2012年11月29日美国参议院通过了在钓鱼岛问题上偏袒日本的法案条款,与前些时侯美国国务院表态希望避免事态升级并卷入中日争端明显不同,很大原因是美国的军工垄断财团正急切希
十一届三中全会以后,我国社会主义建设进入了新时期,中国共产党比较系统地总结了建党以来特别是建国以来在宗教问题上正反两个方面的历史经验,在拨乱反正的基础上进一步进行