毕业设计(论文)-基于web的自学考试学生学籍管理系统的设计与实现_第1页
毕业设计(论文)-基于web的自学考试学生学籍管理系统的设计与实现_第2页
毕业设计(论文)-基于web的自学考试学生学籍管理系统的设计与实现_第3页
毕业设计(论文)-基于web的自学考试学生学籍管理系统的设计与实现_第4页
毕业设计(论文)-基于web的自学考试学生学籍管理系统的设计与实现_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文(2016届)题目基于WEB的自学考试考生学籍管理系统的设计与实现学院数学计算机学院专业计算机科学与技术年级2012级5班考生学号12012241758考生姓名指导教师2016年5月8日摘要截止到2015年第一季度,微信已经覆盖中国90以上的智能手机,月活跃用户达到549亿,用户覆盖200多个国家、超过20种语言。各品牌的微信公众账号总数已经超过800万个,移动应用对接数量超过85000个,微信支付用户则达到了4亿左右。此外,微信公众号已经成为了大多数企业,媒体,个人对外发布信息的平台。每天数以万计的公众号都会推送文章,用户面对如此巨大的信息量,必然有选择基于微信公众平台的计算机等级成绩查询系统的开发,是通过微信接口,向用户提供计算机等级考试成绩查询的功能该设计中,用SVN托管代码,通过租用百度云服务器运行系统,利用微信接口,通过向服务器发送HTTP请求,解析用户信息,并在后台进行处理后,封装成响应的数据格式,发送到微信公众平台,由微信公众平台向用户转发服务信息使得用户可以随时随地很便捷的进行查询自己的考试成绩,提升用户体验关键词微信公众平台查询用户体验中图分类号TP311ABSTRACTBASEDONTHEPUBLICACCOUNTSOFTHEDEVELOPMENTOFWECHATPLATFORM,USINGWECHATINTERFACESNCRENATIONALCOMPUTERRANKEXAMINATIONQUERYTOTHEUSERSINTHISDEVELOPMENT,WHICHUSEOFINTERFACEOFWECHATSENDSANHTTPREQUESTTOTHESERVERBYPARSINGTHEUSERINFORMATION,ANDPROCESSINTHEBACKGROUNDBESIDES,THEFORMATOFRESPONSEDATESENTTOTHEWECHATPUBLICPLATFORM,FORWARDINGINFORMATIONTOTHEUSERBYTHEPUBLICSERVICEPLATFORMITISCONVENIENTFORUSERQUERYATANYTIME,ANDENHANCETHEUSEREXPERIENCEKEYWORDSWECHATPUBLICPLATFORMQUERYUSEREXPERIENCE数学计算机学院宁夏大学本科毕业论文(设计)目录1绪论111微信公众平台介绍112系统开发的目的和意义213系统设计思想214本文的结构32开发语言及工具介绍421编程语言JAVA4211JAVA简介4212JAVA主要特点422开发工具介绍5221ECLIPSE简介53可行性分析与需求分析931可行性分析9311微信及微信公众平台的分析9312系统流程图9313经济可行性10314技术可行性10315运行可行性1032需求分析10321微信公众平台的发展10322系统开发的需求分析114系统总体设计1241系统业务总体设计1242数据库设计12421数据分析12422数据库详细设计1243本章小结135系统详细设计与实现14数学计算机学院宁夏大学本科毕业论文(设计)51系统运行平台及运行环境1452技术简介1453计算机等级考试成绩查询功能设计与实现14531百度云服务器应用引擎BAE部署14532SVN代码托管15533微信公众平台开发接口基本设置16534数据获取1754本章小结196系统测试与性能分析2061软件测试2062本系统测试2063本章小结21结束语22参考文献23谢辞24附录125附录226数学计算机学院宁夏大学本科毕业设计1装订线1绪论11微信公众平台介绍微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,可以群发文字、图片、语音、视频、图文消息五个类别的内容目前微信公众平台支持PC端网页、移动互联网客户端登录,并可以绑定私人帐号进行群发信息微信公众平台是一个自媒体平台,它是微信系统的重要组成部分,微信整个板块包含个人微信、二维码、公众平台微信公众平台是腾讯公司布局电商网络的重要一步,2014年,腾讯公司将其升级为公司战略级微信公众平台分为微信大陆版与微信海外版微信公众平台2013年6月新增自定义LBS数据2013年10月19日微信LBS图文回复是由商家设置店铺位置,用户提交当前所在位置后,可以找到最近的商家店铺微信公众平台主要面向名人、政府、媒体、企业等机构推出的合作推广业务在这里可以通过渠道将品牌推广给上平台作用微信公众平台于2012年08月23日正式上线,曾命名为“官号平台”和“媒体平台”,创造更好的用户体验,形成一个不一样的生态循环用户在你的APP中看到的某个精彩内容比如一篇文章、一首歌曲,TA想转发给好友,点击“分享给微信好友”通过微信,好友收到信息,轻轻一点,可以查看详情还可以使用你的APP来查看内容没有安装你的APP的用户将会被提示去下载安装把用户看到的精彩内容分享到微信朋友圈用户在你的APP中看到的某个精彩内容(比如文章、歌曲、视频等),TA想分享给微信朋友圈的好友们,点击“分享到微信朋友圈”,完成授权后,内容就可以发送到微信的服务器,好友在朋友圈中就能马上看到这个内容了微信在2013年8月5日从45版本升级到了50版,同时微信公众平台也做了大幅调整,微信公众账号被分成订阅号和服务号,运营主体是组织(比如企业、媒体、公益组织)的,可以申请服务号,运营主体是组织和个人的可以申请订阅号,但是个人不能申请服务号公众平台服务号,是公众平台的一种帐号类型,旨在为用户提供服务如招商银行、大铭装饰、中国南方航空(1)1个月(自然月)内仅可以发送4条群发消息(2)发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中相对应微信的首页数学计算机学院宁夏大学本科毕业设计2装订线(3)服务号会在订阅用户(粉丝)的通讯录中通讯录中有一个服务号的文件夹,点开可以查看所有服务号(4)服务号可申请自定义菜单订阅号的功能公众平台订阅号,是公众平台的一种帐号类型,为用户提供信息和资讯如骑行西藏、央视新闻、本草纲目(1)每天(24小时内)可以发送1条群发消息(2)发给订阅用户(粉丝)的消息,将会显示在对方的“订阅号”文件夹中点击两次才可以打开(3)在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中备注在微信45版本之前申请的订阅号可以有一次机会升级到服务号,新注册的微信公众平台账号在注册到第四步的时候有一个选择类型让你选择订阅号或者服务号,这个一旦选择就不可以改变了,一定要确定好,作为企业推荐选择服务号,因为后期对服务号腾讯会有一些高级接口开放,企业可以更好的利用公众平台服务你的客户如指尖上的生活个人申请,只能申请订阅号从2014年4月15日,微信团队发表声明为了增强公众帐号的服务能力,所有服务号的群发次数由原来的每月1次改为每月(自然月)4次12系统开发的目的和意义信息技术与信息产业的发展水平,是衡量一个国家现代化水平和综合国力的重要标志世界信息技术的飞速发展对我国信息产业既是难得的机遇,也是巨大的挑战加速发展信息技术与信息产业,直接关系到我国社会主义现代化建设的进程,关系到我国21世纪的国际地位和竞争实力目前,我国信息技术和信息产业与发达国家相比还有很大的差距我国微电子产业的水平还不高,目前国内需求自给率不到20,一些技术档次高的产品不能生产软件产业还没有形成规模,自有知识产权的软件产品还不多,主要操作系统基本上还是采用外国公司产品通信服务的整体水平还有待提高,L/4的行政村还没用通电话信息资掘的开发利用和信息服务还处于起步阶段为了扭转我国信息技术信息产业的落后局面,我们必须在信息技术领域进一步加强技术创新,大力发展我国的信息产业在世纪之交,党和国家站在跨世纪发展的高度上,做出了重大战略抉择,成立了信息产业部,并对电信体制进行了重大改革调整,为进一步加快我国信息产业的发展创造了有利条件213系统设计思想对于计算机等级考试成绩查询功能,必须满足用户使用方便的要求,借助于微信平台我们可以服务大量的用户,本系统中在设计时满足一下目标数学计算机学院宁夏大学本科毕业设计3装订线(1)采用后台智能查询的方式,用户只需要输入身份证号或准考证号后台就可进行查询;(2)用户需以特定的格式进行输入,使得后台程序能够对用户信息进行解析和查询;(3)本系统只针对微信服务器的请求进行响应;(4)对于用户的非法输入,系统将响应给用户正确的查询格式提示;(5)系统最大限度地实现了易维护性和易操作性;14本文的结构本文具体内容包括开发语言及工具介绍、可行性分析与需求分析、系统总体设计、系统详细设计与实现、系统的测试本文着重描述了微信公众账号开发的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程本系统在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性、可靠性数学计算机学院宁夏大学本科毕业设计4装订线2开发语言及工具介绍开发计算机等级查询系统用的JAVA语言,所用到的工具有ECLIPSE、TOMCAT和MYSQL数据库21编程语言JAVAJAVA1是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SUNMICROSYSTEMS公司于1995年5月推出的JAVA程序设计语言和JAVA平台(即JAVAEE,JAVAME,JAVASE)的总称2JAVA自面世后就非常流行,发展迅速,对C语言形成了有力冲击JAVA技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群在全球云计算和移动互联网的产业环境下,JAVA更具备了显著优势和广阔前景211JAVA简介JAVA是由SUNMICROSYSTEMS公司于1995年5月推出的JAVA程序设计语言(以下简称JAVA语言)和JAVA平台的总称用JAVA实现的HOTJAVA浏览器(支持JAVAAPPLET)显示了JAVA的魅力跨平台、动态的WEB、INTERNET计算从此,JAVA被广泛接受并推动了WEB的迅速发展,常用的浏览器现在均支持JAVAAPPLET另一方面,JAVA技术也不断更新JAVA平台由JAVA虚拟机(JAVAVIRTUALMACHINE)和JAVA应用编程接口(APPLICATIONPROGRAMMINGINTERFACE、简称API)构成JAVA应用编程接口为JAVA应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分在硬件或操作系统平台上安装一个JAVA平台之后,JAVA应用程序就可运行现在JAVA平台已经嵌入了几乎所有的操作系统这样JAVA程序可以只编译一次,就可以在各种系统中运行JAVA应用编程接口已经从11X版发展到12版目前常用的JAVA平台基于JAVA14,最近版本为JAVA17JAVA分为三个体系JAVASEJAVA2PLATFORMSTANDARDEDITION,JAVA平台标准版,JAVAEEJAVA2PLATFORM,ENTERPRISEEDITION,JAVA平台企业版,JAVAMEJAVA2PLATFORMMICROEDITION,JAVA平台微型版212JAVA主要特点(1)JAVA语言是简单的JAVA语言的语法与C语言和C语言很接近,使得大多数程序员很容易学习和使用JAVA另一方面,JAVA丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换特别地,JAVA语言不使用指针,数学计算机学院宁夏大学本科毕业设计5装订线并提供了自动的废料收集,使得程序员不必为内存管理而担忧(2)JAVA语言是一个面向对象的JAVA语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为IMPLEMENTS)JAVA语言全面支持动态绑定,而C语言只对虚函数使用动态绑定总之,JAVA语言是一个纯的面向对象程序设计语言(3)JAVA语言是分布式的JAVA语言支持INTERNET应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口(JAVANET),它提供了用于网络应用编程的类库,包括URL、URLCONNECTION、SOCKET、SERVERSOCKET等JAVA的RMI远程方法激活机制也是开发分布式应用的重要手段(4)JAVA语言是安全的JAVA通常被用在网络环境中,为此,JAVA提供了一个安全机制以防恶意代码的攻击除了JAVA语言具有的许多安全特性以外,JAVA对通过网络下载的类具有一个安全防范机制(类CLASSLOADER),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SECURITYMANAGER)让JAVA应用设置安全哨兵(5)JAVA语言是可移植的这种可移植性来源于体系结构中立性,另外,JAVA还严格规定了各个基本数据类型的长度322开发工具介绍221ECLIPSE简介(1)ECLIPSE的起源和发展ECLIPSE的前身是IBM的VISUALAGE由于意识到VISUALAGE存在难以扩展、底层技术较为脆弱、很难与WEBSPHERESTUDIO软件集成等诸多问题,进一步发展甚为困难,同时也面临包括SYMANTEC公司的VISUALCAF、BORLAND公司的JBUILDER等开发工具的竞争压力,IBM决定创建一个更开放的,并且可以为IBM其他开发工具提供支持的一体化开发平台1998年11月,IBM专门成立了一个项目开发小组,开始开发该平台,2000年新一代开发平台诞生,这就是大家所熟悉的ECLIPSE2000年11月,IBM做出了一个重大决定,将ECLIPSE采用开放源码的授权和运作模式发布,以增强业界对ECLIPSE的关注度并加快其推广应用速度随后,IBM于2001年12月向外界宣布,捐赠价值4千万美元的ECLIPSE源码给开源社区;成立由成员公司组成的ECLIPSE协会(ECLIPSECONSORTIUM),以便支持并促进ECLIPSE开源项目事实证明,IBM的决策非常英明ECLIPSE受到广泛关注,蜂拥而至的用户使得其下载服务器一度阻塞,给业界带来了久违的震撼IBM趁热打铁,在ECLIPSECON2004上宣布成立一个独立的、数学计算机学院宁夏大学本科毕业设计6装订线非盈利性的基金会,由该基金会负责管理和指导ECLIPSE开发,目前其成员多达近百家知名公司,其中包括BORLAND、RATIONALSOFTWARE、REDHAT、SYBASE、GOOGLE和ORACLE等业界巨头(2)ECLIPSE的优势目前全球有上百万人在使用ECLIPSE进行开发为什么ECLIPSE拥有如此众多的用户,这与ECLIPSE集众多特性于一身有很大关系ECLIPSE是开放源代码的软件这意味着ECLIPSE不仅可以免费使用,还可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库ECLIPSE是真正可扩展并可配置的ECLIPSE采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出目前,互联网上免费的、收费的插件遍地开花,插件开发工作在国内外也如火如荼ECLIPSE支持众多的开发语言而不仅仅是JAVAECLIPSE只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得ECLIPSE支持多种语言成为可能只要安装相应语言的插件,ECLIPSE就可以支持该种语言的开发目前,ECLIPSE已经可以支持C/C、COBOL、PHP、PERL、PYTHON等多种语言(尽管ECLIPSE主要是一个JAVA开发环境,但其体系结构确保了对其它编程语言的支持)ECLIPSE提供了对多重平台特性的支持开发者可以使用他们感觉最舒适、最熟悉的平台,例如WINDOWS、LINUX、MACOS等ECLIPSE对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能基于业界领先的OSGI规范OSGI规范最早由SUNMICROSYSTEMS、IBM、爱立信等于1999年推出,其服务平台包括服务网关、汽车、移动电话、工业自动化、建筑物自动化、PDA网格计算、娱乐(如IPRONTO)和IDE等基于OSGI的系统以微内核形式运行,因而能够轻松实现软件业界梦寐以求的可热插拔、动态改变行为、稳定高效的系统ECLIPSE从31开始,毅然抛弃了其原有的已经获得业界认可的框架,采用OSGI作为其架构从ECLIPSE32版本开始,ECLIPSE提供了基于OSGI开发的支持,开发者可以利用其开发基于OSGI的系统了ECLIPSE美轮美奂的人机界面受到广泛赞誉ECLIPSE提供了全新的SWT/JFACEAPI(而不是AWT/SWING),一改SWT/SWING单调、沉闷的界面风格,使得开发基于本地的具有丰富图形界面的应用程序成为可能,犹如一股春风吹进JAVA的桌面开发领域,给人耳目一新的感觉ECLIPSE由业界领先者推出,具有强大的行业力量ECLIPSE基金会吸收了大量学术研究机构、商业组织,领导ECLIPSE的长远规划和发展,并确保ECLIPSE处于软件工具行业的领先地位222TOMCAT简介数学计算机学院宁夏大学本科毕业设计7装订线TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的TOMCAT标志改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的这里的诀窍是,当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET另外,TOMCAT和IIS、APACHE等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式不过,TOMCAT处理静态HTML的能力不如APACHE服务器TOMCAT最初是由SUN的软件构架师詹姆斯邓肯戴维森开发的后来他帮助将其变为开源项目,并由SUN贡献给APACHE软件基金会由于大部分开源项目OREILLY都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名因为他希望这种动物能够自己照顾自己,最终,他将其命名为TOMCAT(英语公猫或其他雄性猫科动物)而REILLY出版的介绍TOMCAT的书籍(ISBN0596003188)的封面也被设计成了一个公豹的形象而TOMCAT的LOGO兼吉祥物也被设计成了一只公猫计算机等级查询系统用的是APACHETOMCAT70,因为APACHETOMCAT70是目前的开发焦点它在汲取了TOMCAT60优点的基础上,实现了对于SERVLET30、JSP22和EL22等特性的支持除此以外的改进列表如下WEB应用内存溢出侦测和预防、增强了管理程序和服务器管理程序的安全性、一般CSRF保护支持WEB应用中的外部内容的直接引用,重构CONNECTORS,LIFECYCLE及很多核心代码的全面梳理APACHETOMCAT60在汲取TOMCAT550优点的基础上,实现了SERVLET25和JSP21等特性的支持除此以外的改进列表如下内存使用优化、更大的IO容量重构聚类APACHETOMCAT550和APACHETOMCAT500对于SERVLET和JSP的支持是一样的大量底层代码里的重大修改,带来性能的提升、稳定性的提升及整体成本详请参照APACHETOMCAT55的更新日志APACHETOMCAT500在APACHETOMCAT41的基础上做了223MYSQL简介MYSQL是最受欢迎的开源SQL数据库管理系统,它由MYSQLAB开发、发布和支持MYSQLAB是一家基于MYSQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司MYSQL是MYSQLAB的注册商标MYSQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器2MYSQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置MASS数学计算机学院宁夏大学本科毕业设计8装订线DEPLOYED的软件中去MYSQL是一个数据库管理系统,一个数据库是一个结构化的数据集合它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MYSQL这样的数据库管理系统从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色MYSQL是一个关系数据库管理系统,关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性“MYSQL”中的SQL代表“STRUCTUREDQUERYLANGUAGE”(结构化查询语言)SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准SQL标准发展自1986年以来,已经存在多个版本SQL86,SQL92,SQL1999,SQL2003,其中SQL2003是该标准的当前版本MYSQL是开源的,开源意味着任何人都可以使用和修改该软件,任何人都可以从INTERNET上下载和使用MYSQL而不需要支付任何费用如果你愿意,你可以研究其源代码,并根据你的需要修改它MYSQL使用GPLGNUGENERALPUBLICLICENSE,通用公共许可,在HPT/WWWFSFORG/LICENSES中定义了你在不同的场合对软件可以或不可以做什么如果你觉得GPL不爽或者想把MYSQL的源代码集成到一个商业应用中去,你可以向MYSQLAB购买一个商业许可版本MYSQL服务器是一个快的、可靠的和易于使用的数据库服务器MYSQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年尽管MYSQL仍在开发中,但它已经提供一个丰富和极其有用的功能集它的连接性、速度和安全性使MYSQL非常适合访问在INTERNET上的数据库MYSQL服务器工作在客户/服务器或嵌入系统中MYSQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口APIMYSQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品数学计算机学院宁夏大学本科毕业设计9装订线3可行性分析与需求分析31可行性分析微信及微信公众平台的分析(1)微信用户的真实性微信从一诞生就拥有真实的基因,一开始就严格限定与手机号绑定微信可以说是中国最严谨的实名认证社交平台无论微博,还是早一点的人人网、开心网都根本无法与之相比(2)微信公众号粉丝的可控性正如上所述,你可以在很大程度上决定自己微信公告号粉丝的受众群体比如,微信公众账号爱购窝专门做女性购物分享,穿衣搭配,打扮,怎么化妆等等资讯,定位相当精准一个平时只关心时事新闻会不会去关注这个号微信公共平台的定位可以首先做一次受众的筛选再次,微信公共号的推广过程又会做一次受众的筛选微信公众号粉丝的可控性还体现在后台强大的分组功能有这个功能你就可以把粉丝分门别类比如按女性购物种类分,衣服,裤子,包包按需求层次分,有的可能只是偶尔买件衣服,而有的则有强烈的买衣服意愿的甚至你还可以按喜欢的风格分类等等,因地制宜,这是一个非常强大的功能(3)大面积的免费推送消息功能相对于传统的营销手段来说,微信公众平台提供一个创新的模式,传统的手法碍于昂贵的费用成本,难以实现把一个消息推送给几百万甚至上千万的用户手机上,对于微信公众平台的出现,这不仅能免费实现这个功能,还能针对性的让用户接受信息,诱惑性相当大(4)顺应移动互联网的发展机会行业内对移动互联网有诸多期许很多互联网的大佬们也对移动互联网的美好未来做了很多的描绘大家内心都憋足了劲想抓住移动互联网的机会但是一直没有突破的契机微信公共平台的横空出世,让大家可以很轻易的实现自己移动互联网平台的梦第一次感受到原来移动互联网离我们如此的近,移动互联网的机会已经被我们触摸到大家内心都沸腾了微博大号们争先恐后的推出微信公共号,无一不是想占领先机微信公平平台挟微信迅猛发展之勇,一举成名,顺应移动互联网之大势,一路高歌猛进他成功,合情合理因此,借助于微信公众平台向用户提供各种各样的服务变得越来越主流我们在此平台上开发公众账号也是迎合用户需求,服务大众312系统流程图数学计算机学院宁夏大学本科毕业设计10装订线图21系统业务流图系统的目标确定后,可以从经济可行性、技术可行性和运行可行性三个方面对能否实现新系统目标进行可行性分析313经济可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,在本设计中,申请微信公众账号不需要支付任何费用,唯一的支出是服务器的运营费用,在此我选用了百度开放云平台提供的托管服务,因为只需开一个服务,所以每天只需要支付04元314技术可行性根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析考虑到系统实施的可行性,在软件方面选择了如今较流行的ECLIPSE工具来进行开发管理平台的设计,使用MYSQL数据库存储数据在硬件方面,则选择空间较大,硬件的配置越高,系统的开发与运行会更流畅考虑到如今的家用或商用电脑硬件的整体配置水平,系统在硬件方面是可行的在软件方面,由于ECLIPSE和MYSQL是两个非常成熟的软件,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的315运行可行性该系统可以运行在基于微信公众平台下,百度开放云平台提供的运行环境可正常运行该后台程序可行性分析的任务是明确应用项目开发的必要性和可行性本章主要对系统开发的可行性进行具体的分析,从用户方角度考虑本系统是否可行,主要通过有力的数据和软件运行环境方面作为依据通过经济可行性、技术可行性、运行可行性等方面的分析说明本工程的技术成熟、完备,测试手段可靠,具有良好的市场拓展,它追求的是简单、易学、易懂、易用,因此,该设计具有一定的开发前景,具有开发的价值32需求分析321微信公众平台的发展微信是腾讯公司于2011年1月推出的一款以多媒体信息通信为核心功能的免费移动应用,诞生之后短短两年得到快速发展一方面,微信快速积累起庞大的用户群体,截至2013年1月15日用户规模已突破3亿,成为移动互联网时代重要的用户入口;微信用户微信公众平台公众账号服务后台发送信息返回信息信息转发用户信息响应用户信息数学计算机学院宁夏大学本科毕业设计11装订线另一方面,微信不断丰富功能,围绕通信这个核心功能,发展为集通信、社交、营销、媒体、工具五大功能于一体的平台化产品3微信公众平台于2012年8月推出,广受欢迎,成为企业、媒体、公共机构、明星名人、个人用户等继微博之后又一重要的运营平台当前,微信公众平台有一千万认证账号,其中超过七成的账号为企业账号从平台功能来看,目前公众平台的主要功能包括多媒体信息大规模推送、定向推送(可按性别、地区、分组等指标定向推送),一对一互动,多样化开发和智能回复等这些功能为公众平台的实际运营带来了媒体、营销、客服、公共服务等应用方向结合运营主体及主要内容特征,当前的微信公众平台可细分为新闻阅读类、综艺明星类、科技数码类、生活购物类、影音娱乐类、社区交友类、文化教育类、地方政务类、公共名人类等几个大类322系统开发的需求分析(1)数据分析由于数学计算机学院网站的计算机等级考试查询功能并没有提供接口,只能向查询页面发送HTTP请求,根据返回的HTML代码进行解析,再封装成微信公众平台要求的数据格式进行发送,最终由微信公众平台发送给请求用户实现方法发送HTTP请求;HTML解析;XML封装;微信公众平台发送(2)目标实现以上功能并且做好程序扩展,方便以后增加新的功能本程序开发完成后将正式运行在基于微信公众平台百度开放云平台上,向用户提供便捷的服务需求分析报告是对系统需求的全面分析,是软件生存周期中最关键的一步,是建立软件开发的基础经过需求分析要得到系统将要“做什么”,同时理解在做什么的基础上抽取出其“怎么做”的本质本章首先介绍了微信公众平台的发展状况,然后具体说明了需求分析的内容,根据以上分析和目前形势,该需求可行数学计算机学院宁夏大学本科毕业设计12装订线4系统总体设计41系统业务总体设计图41成绩查询系统功能结构图42数据库设计对于计算机等级成绩查询功能而言,所需数据库表只需要三个字段,考试者姓名、身份证号以及准考证号由于对数据库的要求很低,而且百度开放云平台也只提供了MYSQL数据库,所以该设计使用了MYSQL数据库421数据分析(1)姓名;(2)身份证号;(3)准考证号用户请求来源验证XML解析发送HTTP请求解析HTML封装XML返回信息数学计算机学院宁夏大学本科毕业设计13装订线422数据库详细设计在设计数据库时,应考虑以下事项(1)数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划;(2)数据库规范化规则,防止数据库设计中出现错误;(3)对数据完整性的保护;(4)数据库和用户权限的安全要求表41表名称USER字段说明USERNAME姓名IDNUMBER身份证号TESTNUMBER准考证号43本章小结本章介绍了对本系统的总体设计,给出了数据库表的结构字段,为该程序的开发奠定基础数学计算机学院宁夏大学本科毕业设计14装订线5系统详细设计与实现51系统运行平台及运行环境本系统的运行平台设置分为硬件环境和软件环境(1)硬件环境内存256M,硬盘2G(2)软件环境系统的软件环境配置为WINDOWS操作系统,MYSQL数据库,JDK17、ECLIPSE37开发工具包和TOMCAT70服务器52技术简介本系统采用MVC框架,MVC(MODELVIEWCONTROLLER)是一种设计模式,它强制性地把应用程序的输入、处理和输出分开MVC把应用程序分成3个核心模型层、视图层和控制层4,它们分别担负不同的任务其中视图层向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理模型层表示业务数据和业务逻辑控制层接收用户输入并调用模型和视图去完成用户的需求JDBC(JAVADATABASECONNECTIVITY,JAVA数据库连接)是一种用于执行SQL语句的JAVAAPI,可以为多种关系数据库提供统一访问,它由一组用JAVA语言编写的类和接口组成JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序5,本系统需要用到的JAVA相关技术有SERVLET技术、DOM解析技术、HTML解析技术其中,关键的技术难点在于HTML解析技术的运用模型层由实现业务逻辑的JDBC组件构成,SEVLET充当视图层53计算机等级考试成绩查询功能设计与实现531百度云服务器应用引擎BAE部署注册百度云账号,通过实名认证,就可以部署引擎BAE,选择产品服务下的引用引擎BAE,如下图所示图51引用引擎部署数学计算机学院宁夏大学本科毕业设计15装订线通过添加部署微信公众号,设置域名NDSXJSJXYXG,选择开发语言和开发工具JAVA7TOMKAT,选择好代码托管方式SVN,具体如下图所示图52部署设置设置完通过付费就算创建完成532SVN代码托管SVN(SUBVERSION)简单的说,就是备份服务器,更好的是,它可以记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。通常,我们称用来存放上传档案的地方就做REPOSITORY。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用REPOSITORY这个名词。基本上,第一次我们需要有一个新增ADD档案的动作,将想要备份的档案放到REPOSITORY上面。日后,当您有任何修改时,都可以上传到REPOSITORY上面,上传已经存在且修改过的档案就叫做COMMIT,也就是提交修改给SVNSERVER的意思。针对每次的COMMIT,SVNSERVER都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从REPOSITORY下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本本系统代码托管是先将代码以WAR文件格式导出放在一个文件夹下,再将整个文件夹导入SVN里,在百度云服务器部署好的服务复制在JRLOFREPOSITORY下,具体如下图图53代码托管数学计算机学院宁夏大学本科毕业设计16装订线533微信公众平台开发接口基本设置微信公众平台分订阅号和服务号,我选择的是基于在订阅号上开发微信公众平台开发接口设置是基于百度云服务器BAE部署和SVN代码托管上将在百度云服务器部署的引用引擎BAE的域名HTTP/NDSXJSJXYMXGDUAPPCOM/WEIXIN/MYCORESERVLET复制在URL下,再将SVN托管的代码里写的TOKEN验证NXDXSJXYMXG写在开发接口设置的TOKEN里图54接口设置具体TOKEN验证代码如下PUBLICCLASSSIGNUTIL/与开发模式借口配置信息中的TOKEN保持一致PRIVATESTATICSTRINGTOKEN“NXDXSJXYMXG“PUBLICBOOLEANCHECKSIGNSTRINGSIGNATURE,STRINGTIMESTAMP,STRINGNONCE/对TOKENTIMESTAMPNONCE进行字典排序STRINGPARAMSNEWSTRINGNONCE,TOKEN,TIMESTAMPARRAYSSORTPARAMS/将排序后的结果拼接成字符串STRINGCONTENTPARAMS0CONCATPARAMS1CONCATPARAMS2STRINGRESULTNULLTRYMESSAGEDIGESTMDMESSAGEDIGESTGETINSTANCE“SHA1“/对拼接后的字符串进行SHA1加密加密后为BYTE数组需要进行转换成数学计算机学院宁夏大学本科毕业设计17装订线字符串BYTEDIGESTMDDIGESTCONTENTTOSTRINGGETBYTESRESULTBYTE2STRDIGESTCATCHNOSUCHALGORITHMEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNRESULTNULLRESULTEQUALSSIGNATURETOUPPERCASEFALSE/PARAMIB将字节数组转换成字符串RETURN/PUBLICSTRINGBYTE2STRBYTEIBSTRINGSTR“FORINTI0IMAPMUPARSEXMLREQUEST/获取发送来的信息STRINGFROMUSERNAMEMAPGET“FROMUSERNAME“STRINGTOUSERNAMEMAPGET“TOUSERNAME“STRINGMSGTYPEMAPGET“MSGTYPE“STRINGTEXTMAPGET“CONTENT“/设置回复信息TEXTMESSAGETMNEWTEXTMESSAGETMSETCREATETIMENEWDATEGETTIMETMSETFROMUSERNAMETOUSERNAMETMSETTOUSERNAMEFROMUSERNAMETMSETMSGTYPEMESSAGEUTILRESP_MSG_TEXTSTRINGCONTENT“/回复消息内容IFMSGTYPEEQUALSMESSAGEUTILREQ_MSG_TEXTCONTENTPTPROTEXTTEXTIFCONTENTNULLCONTENT“你发送了一条空消息“/CONTENT“感谢您的消息,功能正在建设中,请耐心等候“数学计算机学院宁夏大学本科毕业设计19装订线ELSEIFMSGTYPEEQUALSMESSAGEUTILREQ_MSG_EVENTSTRINGEVENTTYPEMAPGET“EVENT“IFEVENTTYPEEQUALSMESSAGEUTILEVENT_MSG_SBUSCRIBECONTENT“现已开通全国计算机等级考试宁夏考点网上成绩查询功能,使用方法直接输入“N身份证号或准考证号“/应写一个事件处理类TMSETCONTENTCONTENTXMLMUMSG2XMLTMCATCHIOEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACECATCHDOCUMENTEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNXML54本章小结本章介绍了该程序功能的设计方法,采用了XML解析技术、HTTP请求、HTML解析技术,保证了该程序的正确性并且在设计中封装了许多方法与实体类,使得程序的可扩展性得到了很大的提升数学计算机学院宁夏大学本科毕业设计20装订线6系统测试与性能分析61软件测试经过需求分析、设计和编码等阶段的开发后,得到了源程序,开始进入到软件测试阶段然而,在测试之前的各阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用,甚至会导致巨大的损失目前,程序的正确性证明尚未得到根本的解决,因此软件测试仍是发现软件中错误和缺陷的主要手段系统整体测试步骤(1)单元测试单元测试是整体测试中的第一步,通常在编码阶段进行在源程序代码经过编译、评审、确认没有语法错误之后,便可开始进行单元测试(2)集成测试集成测试在单元测试完成之后,将所有的模块概要设计要求组装成系统时进行的测试,主要目标是发现与接口有关的问题(3)确认测试经过集成测试之后,接口错误已经发现被发现并改正了,接下便要进行确认测试所谓确认测试就是验证所开发软件的功能性及其他特性是否符合软件需求规格说明书的要求所以,确认测试又被称为有效性测试(4)系统测试系统测试是更大范围内进行测试,它将经过确认测试的软件作为整个基于计算机的系统的一个元素,在实际运行环境下,对系统进行的一系列集成和确认测试62本系统测试为了测试系统的正确性和完整性,本节将对系统中重点模块的测试进行介绍(1)准考证号或身份证号存在的测试在微信中发送已知的准考证号或身份证号到公众账号,将返回相应的成绩信息(2)准考证号或身份证号不存在的测试在微信中发送错误的准考证号或身份证号到公众账号,将返回相没有找到任何符合条件的记录的信息(3)输入格式错误的测试在微信中发送任意不符合格式要求的信息都将返回正确格式提示信息测试结果如下数学计算机学院宁夏大学本科毕业设计21装订线图61A错误查询图61B)身份证号查询图61C准考证号查询63本章小结软件测试是保证软件正常运行的前提,针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试,对于以上模块的测试都成功通过,说明了软件的正确可靠数学计算机学院宁夏大学本科毕业设计22装订线结束语踉踉跄跄地忙碌了两个月,我的毕业设计课题也终将告一段落点击运行,也基本达到预期的效果,虚荣的成就感在没人的时候也总会冒上心头但由于能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能简单、代码编辑的不合理数不胜数可是,我又会有点自恋式地安慰自己做一件事情,不必过于在乎最终的结果,可贵的是过程中的收获以此语言来安抚我尚没平复的心在这次毕业设计中也使我们的舍友关系更进一步了,舍友之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的舍友和同学我的心得也就这么多了,总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手最后终于做完了有种如释重负的感

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论