基于微信的图书馆座位管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)题目:基于微信的图书馆座位管理系统
专业:计算机科学与技术指导教师:范丰龙学生姓名:傅颂钦班级-学号:计算机113-26号
2015年06月
大连工业大学本科毕业设计(论文)
基于微信的图书馆座位管理系统Library seat management system based on Wechat
设计(论文)完成日期2015 年06 月10 日
学院:信息科学与工程学院
专业:计算机科学与技术
学生姓名:傅颂钦
班级学号:计算机113班26号
指导教师:范丰龙
评阅教师:
2015年06 月
摘要
随着移动互联网的发展,智能手机的普及,微信作为一款社交APP,凭借着传播方式的独特,微信正逐步地深入人们的生活。

微信公众平台是在微信的现有功能基础上新开发的一个一对多交互平台,可发送的消息类型多种多样。

基于微信公众平台搭建一个对图书馆座位的管理系统,势必能深入用户群。

借助微信的优势,系统具有更高的灵活程度、全智能手机平台支持、操作简单、易用等特点,使得系统在同类系统中具有优势性,对于提高学校图书馆座位的使用率有着很大的帮助。

本文在介绍图书馆座位管理系统和微信的基础上,分析基于微信建立座位管理系统的优缺点,细细讲述了关于信息、座位预约、处理过程、签到等功能的功能点和实现方法。

使用本系统,必须先将微信账号与学号进行绑定,之后的一系列业务操作都将自动获取用户信息,并使用学号自动登录。

各项菜单将使用微信自定义菜单,使操作简单明了。

此次设计采用的微信公众号为测试号,优点为不用认证即可使用更多高级接口。

系统采用Microsoft Visual Studio 2012作为开发工具,使用作为开发框架,数据库使用Microsoft SQL Server 2008,运行平台为微信客户端(基于各类智能手机),操作界面简单,使用方便。

关键词:微信;图书馆座位;微信公众平台
Abstract
With the development of the Internet and the promotion of smart phone, Wechat, as a kind of connection software,gradually stepped into people’s life with its special transmit ways.Wechat public platform is a newly-established one-to-more interactive platform base on the current function of wechat, which can provide kinds of information. Building a system to manage the seats in the library must penetrate into the public.With the help of the wechat, the system can work actively. What’s more,the intelligent cell phone platform supports the characteristics featured simply-operated and simply-utilized,which leads to more advantages in the identical product, so it is very conducive to more utilize the seats in the library.
This article mainly tell us the function including information, seat reservation, problem-solve process and sign and how to realize these functions on the basis of the library seat management system and WeChat. It also make an analysis of the advantages of the library's seat management system. By using WeChat platform, we can make a c onnection between WeChat account number and students’ id number. It will automatically get the users’ information in a series of business operation afterwards and log in automatically. The menu will use WeChat custom menu, which make the operation simple and clear. This design USES the WeChat public number for test, whose advantage is that it can use more advanced interface without authentication.
This system adopts the Microsoft Visual Studio 2012 as a development tool, as development language, Microsoft SQL Server 2008 in database, WeChat APP as platform (based on all kinds of smart phones). With its simple operation and convenient usage, this system is suitable for college students.
Key Words:WeChat;Library's seat management system;WeChat public platform
目录
摘要 (I)
Abstract ......................................................................................................................... I I 第一章绪论.. (1)
1.1 选题意义 (1)
1.2 发展前景 (1)
1.3 技术背景介绍 (2)
1.3.1 (2)
1.3.2 JQuery Mobile (2)
1.3.3 SQL Server 2008 (3)
1.3.4 微信公众账号 (3)
1.4 运行模式 (3)
1.5 小结 (4)
第二章需求分析 (5)
2.1 系统需求分析 (5)
2.1.1 需求概述 (5)
2.1.2 系统概述 (5)
2.1.3 系统用例图 (6)
2.1.4 系统特点 (7)
2.1.5 系统性能要求 (8)
2.2 软硬件配置要求 (8)
2.2.1 软件配置要求 (8)
2.2.2 硬件配置要求 (8)
2.3 可行性分析 (8)
2.3.1技术可行性 (9)
2.3.2 经济可行性 (9)
2.3.3 用户使用可行性 (9)
2.4 小结 (10)
第三章概要设计 (11)
3.2 系统功能模块分析 (11)
3.2.1功能模块概述 (11)
3.2.2 系统功能模块图 (12)
3.2.3 系统流程图 (13)
3.2.4微信接口模块 (14)
3.3 小结 (16)
第四章数据库设计 (17)
4.1 数据库需求分析 (17)
4.2 数据库概念设计 (17)
4.3数据库详细设计 (20)
4.4小结 (23)
第五章系统详细设计 (24)
5.1界面设计与实现 (24)
5.1.1 微信自定义菜单设计 (24)
5.1.2 微信端页面设计与实现 (27)
5.1.3 管理员界面设计与实现 (29)
5.2 模块实现 (32)
5.2.1获取用户信息模块的实现 (32)
5.2.2扫描签到模块的实现 (33)
5.2.3 微信关注消息实现 (35)
结论 (37)
参考文献 (39)
致谢 (40)
第一章绪论
1.1 选题意义
近些年来由于高校扩招以及图书馆馆舍面积的相对滞后,所以图书馆座位就成了紧缺资源,尤其是到考试前一个月更是一座难求[10]。

如何合理解决座位资源的管理及利用率,一直是图书馆致力解决的问题。

微信是腾讯公司推出的基于智能手机终端的即时通讯应用,用户可以与好友进行文字、语音、图片的发送。

公众平台是在微信的现有功能上新开发的一个一对多交互功能模块,公众平台提供许多高级功能的接口供开发者使用。

对于使用“开发者模式”接入公众平台的公众账号,当用户和公众号之间发生信息交互时,微信服务器会使用http协议对开发者成功接入的URL进行消息交互,开发者服务器可通过回复微信特定消息结构,从而达到用户与第三方通过微信交互的目的。

现如今各大高校图书馆座位几乎没有管理,每到期末就是大家起得很早的去占座,但是却不一定能占到座位,还耽误了睡眠的时间。

为此,设想需要图书馆座位管理系统,而且将这个系统做到现如今用户群众多,操作方便,实用性强的微信公众平台上,这样既方便了同学,也让图书馆的位置得到了充分的利用,也不会出现拥堵的高峰,这样将极大地方便同学,提高图书馆的座位使用率[6]。

微信的公众平台对开发者提供众多高级接口,微信自定义菜单、通过授权获取用户信息为本系统所采用的高级接口。

在授权方面,微信使用OAuth2.0授权方式,OAuth2.0是一个开放协议,允许用户网页授权,将自己的公开信息提供给第三方应用,第三方应用使用这些信息来实现自动登录功能,进而帮助第三方实现业务逻辑,在操作上也大大的减少了不必要的口令登录,这样的方法在获取用户信息实现自动登录的同时还保证了用户的密码安全。

1.2 发展前景
随着国家大力提倡“提速降费”政策,移动互联网的门槛越来越低,微信作为一款智能手机必备APP,越来越深入人们的生活[7]。

大学生是微信众多用
户群体中最活跃的一个。

微信公众平台的开放,为开发者提供了一个整合过的平台来实现各种各样的功能,将座位管理系统移植到用户群众多的微信公众平台上,最大限度的方便了大学生的使用。

在未来的一段时间内,相信腾讯势必会将微信打造成为一款功能齐备的软件,不仅仅是社交软件,更多的将贴近生活,与人们的生活息息相关[11]。

1.3 技术背景介绍
1.3.1
是.NET Frame Work的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,指 Active Server Pages (动态服务器页面),运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 ,因为ASP .NET是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,所以它拥有跨平台性,ASP .NET 构建的应用程序可以运行在几乎全部的平台上[1]。

应用程序是一系列资源和配置的整合,这些资源和配置只在同一个应用程序内共享。

就技术而言,每个应用程序都运行在一个单独的应用程序域,应用程序域是内存中的独立域,这样可以保证多个应用程序不会发生干扰。

1.3.2 JQuery Mobile
JQuery Mobile旨在为开发者提供一系列统一的接口工具,这些工具可以确保能在不同的移动设备的浏览器中得到充分的兼容,JQuery Mobile基于HTML5,jQuery和CSS,目的为了提供一个丰富交互性强的接口去兼容各种设备,同时允许经过少量的修改就能运行在一些兼容性方面有冲突的设备中。

这一特性使得开发者可以在标准的桌面浏览器中就能进行各类型的测试,JQuery Mobile在兼容移动端各浏览器的同时,还提供了界面精彩的页面色彩布局与动画[2]。

1.3.3 SQL Server 2008
SQL Server是一个关系数据库管理系统,SQL Server 2008是Microsoft 公司推出的SQL Server数据库管理系统的较新版本,SQL Server 2008数据库引擎提供完整的XML支持,它还具备构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能[3]。

1.3.4 微信公众账号
微信公众平台是腾讯公司在微信的基础上新增的功能模块,个人和企业通过此平台都可以打造一个属于自己的平台,目前注册的微信公共账户已突破百万大关,同时微信公众平台开放了其API接口,任何机构都可以针对此接口开发并构建自己的第三方服务平台,实现和机构业务的无缝对接,目前各行业都在积极探索基于微信公众平台的行业应用模式,基于微信公众账号的服务模式呼之欲出[4]。

1.4 运行模式
系统的开发模式为B/S模式,基于 4.0应用程序,运行流程为:用户通过点击菜单操作,微信客户端向微信服务器发出请求,微信服务器根据用户事先设定好的逻辑,将这一请求发送到开发者服务器,开发者服务器接收请求后再逐一响应[8]。

如下图所示:
图1.1微信请求处理图
1.5 小结
本章主要讲述了微信的介绍、微信的发展趋势,以及当下各高校对图书馆座位的管理方式的利弊,介绍了开发过程中即将用到的、JQuery Mobile、SQL Server 2008等技术,在最后对公众平台作了一个简单的阐述。

为以下几个章节的分析做好准备。

第二章需求分析
2.1 系统需求分析
2.1.1 需求概述
根据对我校图书馆座位管理方式及现状调查得知,学校图书馆占座现象极为严重,使得座位利用率下降,平时情况下,尚有余座可用,但是一旦接近期末考试,图书馆座位资源便极度稀缺,严重不足,每临期末考试,批量占座现象严重,一座难求对于莘莘学子而言已经成为常态。

经过调查我们还发现,经常有一些座位上长时间处于有物品无人的状态,造成资源的极大浪费。

而我校图书馆目前对这种占座现象并没有采取相应的措施,对图书馆座位的管理基本处于“无政府管理”状态,而这种管理方式造成的弊端是:很多真正想学习的学生没有座位可用,而很多同学占有了风水宝地却不作为,这种教育资源的不平衡和学生之间权利的不平等,也使很多同学对图书馆失去了兴趣,使图书馆丧失了其原本的职能与功能。

基于以上所述现状,应该对这一现象以某种方式进行有序的管理,必须保证图书馆座位的使用率以及考虑学生利益。

现在互联网应用比较多,应该寻找一个管理系统来对座位进行有序的管理,系统应该尽力保证所有学生对座位的拥有几率大致相同,在这样的前提下,定制特有的规定,使座位上座率尽可能的保持在高水平,同时系统在易用性上应该保证所有学生都能使用。

系统应该有管理员,管理员具有对所有信息操作的权限,管理员可对学生进行管理,对座位进行管理。

2.1.2 系统概述
基于微信的图书馆座位管理系统,名副其实的就是把一个图书馆座位管理系统在手机微信客户端实现,从而借助微信的一些功能来简化操作,如微信提供的扫一扫,把这样的管理系统在微信端实现需要一个微信公众账号,将各种功能尽可能多的在手机上实现。

基于理论和已实现的相关系统,初步总结出以下几点基本服务功能:1.学生微信账号与学号绑定;2.座位查询;3.座位预约;
4.取消预约;
5.失约处理;
6.扫描签到;
7.位置图示。

以上所述基本功能能实现对图书馆座位的管理,且在使用上更为方便。

使用该系统,需要人为的不定时现场抽查座位情况,对一些预约座位之后不到的学生进行相关处理,处理方法可以参照驾驶证的扣分模式。

2.1.3 系统用例图
在系统中,有两类用户,一类是学生;一类是系统管理员。

在对各类角色的分析之后得出每类角色应有的功能,其用例图如下所示:
学生
账号绑定
座位查询
座位预约
取消预约
失约处理
扫描签到
位置图示图2.1 学生用例图
管理员
预约查询
座位管理
失约管理
上座统计
学生管理
用户管理图2.2管理员用例图
2.1.4 系统特点
用微信公众平台来实现图书馆座位管理系统,由于是网上传播信息,因此不存在时间地点的限制。

只要有手机,只要能上网,都可以接触到信息。

在使用上来说可以说极为方便。

2.1.5 系统性能要求
系统的安全无疑是确保系统正常运行的首要保障,系统的设计将从访问控制、数据安全方面进行考虑。

1.权限管理
微信客户端的访问只能是用户,且在用户绑定的时候必须是后台管理员将其学号姓名信息添加之后,用户绑定之后才能实现座位的预约功能。

后台管理单独一个系统,使用不同的方式进入,保证了信息的安全。

2.运行维护管理
系统每天固定时间将对所涉及到时间的数据表进行清空,定时开放对座位的预约功能,这样保证了数据在运行时不会发生错乱。

2.2 软硬件配置要求
2.2.1 软件配置要求
∙Windows 7(开发环境)
∙.net 4.0(开发环境)
∙Visual Studio 2012(开发环境)
∙Windows Server 2008(服务器)
∙SQL Server 2008(数据库)
∙微信APP(客户端)
2.2.2 硬件配置要求
Intel(R) Core(TM) I5 CPU 2450M/6G/160GB(开发端)
Intel(R)至强 E3-1230 V3/16G/1T(服务器)
2.3 可行性分析
可行性分析对系统的实际开发起重要作用,在这里讲述系统一些硬件及软件所需资源。

2.3.1技术可行性
目前微信公众平台提供“编辑模式”和“开发模式”两种[13],二者只能选择其一。

对于个人来说,采用编辑模式可以很简单的实现许多功能;而对于要
实现图书馆座位管理系统,可能有很多的大量用户群和数据访问,并且需要对数据进行存储和应用,同时需要微信平台和其他系统平台产生数据的交互,那就只能选择“开发模式”。

目前支持文字、图片、音乐、语音、链接、视频等格式。

在开发模式下,由于个人无法认证,导致未认证的公众号接口权限少,影响开发。

所以将采用接口测试号,也就是微信公众平台测试号,该账号拥有8大高级接口。

微信公众平台的开发,不限制语言,微信公众平台服务器会使用http请求对开发者服务器进行消息推送,开发者服务器可通过响应包回复
特定结构即可。

技术分析见下表:
表4.3技术分析
序号关键技术项要求说明
1 公众平台ID 必备通过申请可以得到
2
开发工具掌握可以使用并完成开

3
服务器必备已从万网申请云服
务器
4 已备案网址必备已拥有
5 微信公众号高级权
限必备
通过测试号可以获

2.3.2 经济可行性
服务器(固定IP):万网购买 已备案网址:万网购买并备案 测试终端:已拥有
2.3.3 用户使用可行性
对于客户端的使用会涉及到各种类型的智能手机,不要求用户对其特别的熟悉,因此可以做到让使用方法简单易懂,操作方法尽量浅显明了,使用户能够在短时间内借助简易的说明快速上手。

为了提高系统的实用性,要求具有较强的可靠性和较强健壮性。

对于后台的操作人员,系统类型为简单明了的网站,使用简单,后期如需对数据进行管理后台管理人员只需对数据进行增删改即可,微信端不提供修改功能。

本系统操作简单快捷,功能显而易见,可以满足用户的基本需求。

2.4 小结
本章主要讲述了基于微信的图书馆座位管理系统的可行性分析、系统功能概述、需求分析、软硬件配置要求,并详细介绍了系统性能需求方面,为接下来的概要设计打下了基础。

第三章概要设计
3.2 系统功能模块分析
3.2.1功能模块概述
根据用例图可将功能模块分为以下几个模块:
1.账号绑定:学生可以在图书馆座位管理系统的菜单下将自己的学号与所使用的微信账号绑定,在其他页面将用学号作为唯一登陆凭证,如果未绑定,将不能进行操作。

学号由管理人员统一导入,如学号虚假,将不能使用,保证了用户群体的范围[12]。

2.空座查询:通过微信手机端登陆系统,查询可以使用的座位,查询结果将以当前时间所有空座的数目显示,作为预约时间段分为三个时间段,上午、下午、晚上,分别统计座位数,然后在页面上呈现。

3.座位预约:在这个页面下,用户可以根据自己需要,选择所需要的楼层,需要预约的时间来查询该条件下可预约座位数,此时不显示数量,直接显示所有查询结果(结果为可预约的),再选中自己中意的座位进行预约。

此时用户身份绑定之后的学号,如未绑定将获得相应提示。

4.取消预约:取消当前用户已成功预约的座位,取消成功后,将自动放空该位置以供其他人预约,前提为用户已成功预约某个座位,否则将获得提示。

5.失约查询:管理员可以定义超过预约时间多长时间未签到的,计为失约。

并可以定义失约的处罚办法。

6.扫描签到:每个座位上,放置一张含有该座位信息的二维码,调用次菜单后,微信客户端将调起扫一扫工具,然后将座位信息发送到服务器,由服务器记录该座位的签到状态。

7.位置图示:将学校的座位位置图在网页长呈现,并将每个位置进行编号,供用户知道所预约座位的具体位置。

8.预约凭证:用户使用该座位的唯一信息凭证,点击之后如有预约信息,将详细的显示座位预约的信息。

9.后台管理:后台管理功能将不在微信客户端实现,将以网站的方式进行
登录,后台的功能有:添加或删除座位,添加或删除学生信息,对管理员账号进行管理,处理失约学生,查看统计率,对检查中出现违约的学生进行管理。

3.2.2 系统功能模块图
基于微信的图书馆座位管理系统分为前台和后台两部分,前台部分在微信客户端实现,后台在浏览器中实现,功能模块图如下图所示:
图书馆座位管理系统(前台)
账号绑定预


























询图 3.3 系统功能模块图(前台)
图书馆座位管理系统(后
台)
学生管理座位管理失约管理用户(管理
员)管理
统计率
图 3.4 系统功能模块图(后台)
3.2.3 系统流程图
系统流程因为操作的对象不同,所以分为两部分,前台操作与后台操作。

开始
账号绑定
预约凭证查询
空座查询座位预约
取消预约
扫描签到
失约查询
结束
是否绑定账号


图 3.5 系统流程图(前台)
开始
进入登录界面
输入账号密码
验证用户是否合法
学生管理座










理结束


图 3.6 系统流程图(后台)
3.2.4微信接口模块
微信客户端实现获取用户信息来进行自动登录,这极大的方便了用户,同时微信对于开发者也给出了相应的接口,每一个微信用户对于所关注的唯一个公众号都具有一个唯一的openid,只需要每次自动获取用户的openid就可以实现自动登录,首先需要在账号绑定的时候获取openid以及用户昵称等信息,流程如下[5]:
1、第一步:用户同意授权,获取code
在获得相应权限的同时,引导用户打开如下链接:https:///connect/oauth2/authorize?appid=APPID&redirect_ uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#w echat_redirect,在对参数设置正确的情况下,如果用户同意授权,页面将跳转至redirect_uri/?code=CODE&state=STATE,此时的URL将是带上code参数的,code作为换取access_token的票据,每次用户授权带上的code 将不一样,code只能使用一次,5分钟未被使用自动过期。

2、第二步:通过code换取网页授权access_token
在成功获得code之后,在程序后台使用获得的code信息访问链接:https:///sns/oauth2/access_token?appid=APPID&secret=SE CRET&code=CODE&grant_type=authorization_code,此步骤获取网页授权access_token,access_token将作为接下来获取用户信息所需的凭证,在这个步骤里,同时也获取到了用户唯一信息openid。

3、第三步:刷新access_token
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。

4、第四步:拉取用户信息(需scope为 snsapi_userinfo)
在到第二步的时候,已经获取到了access_token和openid,在这一步骤中需要做的就是用户获取到的这两个信息去拉取用户的详细信息,如:用户昵称、用户的性别、用户个人资料填写的省份、以及头像信息等,方法就是使用https协议(GET)方法来访问如下链接:https:///sns/userinfo?access_token=ACCESS_TOKEN&ope
nid=OPENID&lang=zh_CN。

获取用户具体信息之后,给出一个页面,将学生的学号与微信号绑定,将绑定的信息存入数据库。

在其他页面中,只需要将授权的作用域改为snsapi_base,在第二步的时候就可以获得openid,再根据openid去查询数据库而得到用户信息,从而实现自动登录的功能。

3.3 小结
在这一章中,讲述了基于微信的图书馆座位管理系统的前台、后台大致处理流程,梳理了业务逻辑,以及在微信公众平台的自定义菜单的创建,最重要的是清楚的了解了微信的用户信息获取,使用这一接口来实现自动登录,免去了繁琐的账号输入与身份认证,这极大的简化了系统操作,使系统使用起来更为方便,也为下一章的数据库的建立提供了参考基础。

第四章数据库设计
数据库的设计,涉及到整个系统的运行,设计一个完整的数据库有利于系统的业务逻辑操作,可以避免数据的重复存储,因此,数据库应该在满足需求的同时尽量简化数据项[15]。

这样既节省了服务器数据库空间,还能是数据得到最大的利用。

4.1 数据库需求分析
对于本系统来说,主要是为了对座位进行管理,所以对于学生信息这一块,只需要将学生的学号、姓名、班级知道即可,其他信息可不进行存储,因为在本系统中涉及不到其他信息,学号作为识别学生的唯一信息。

对于座位来说,需要对已有的图书馆座位进行统一的编号,使用楼层加以标注,每个座位设置一个唯一的座位号,可以将座位号作为识别座位的唯一信息。

由于预约的时间段分为上午、下午、晚上三个时间段,所以每个座位在三个不同的时间段内都可供使用,于是在时间段上,每个座位设置三个时间段的状态,用可预约和不可预约识别。

由于时间段分三个,故在成功预约的信息里面,设置三个表,分别表示上午、下午、晚上,表里应包含的信息主要有学生信息,座位信息,以及座位签到状态信息。

实现账号绑定需要将当前用户的openid与正确的学号信息进行同时存储,表里的信息主要有学生学号、学生姓名、openid、用户微信昵称等信息。

在对于用户失约,即未在规定的时间内签到、迟到等违约信息进行记录,所以该表内应该有以下几项数据:学生信息、失约信息,失约信息即失约的次数记载。

4.2 数据库概念设计
概念模型E-R图如下所示:。

相关文档
最新文档