版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕 业 设 计(论 文)题目(中文):基于微信小程序的连连看小游戏的 设计与实现 (英文):Design and Implementation of Lianliankan Games Based on WeChat Small Program 学 院 工学院 专业班级 网络工程 学生姓名 学 号 指导教师 完 成 日 期 2019 年 5月上海师范大学天华学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的毕业设计(论文),题目基于微信小程序的连连看小游戏的设计与实现是本人在指导教师的指导下,进行研究工作所取得的成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。除此之
2、外,本设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承担的法律责任。 作者(签名): 日期: 年 月 日 毕业设计(论文)任务书(20 届)题目(中文):基于微信小程序的连连看小游戏的 设计与实现 (英文):Design and Implementation of Lianliankan Games Based on WeChat Small Program 学 院 工学院 专业班级 网络工程学生姓名 学 号 指导教师 学院负责人 (签章) 日 期: 2019年4月1日一、 毕业设计(论文)的主要内容与具体要求(任务及背景、工作环境、成果形式、着重培养的
3、能力、有实验环节的要提出主要技术指标、要求)(一)、毕业设计(论文)主要内容及主要技术指标、要求1. 主要内容本课题为基于微信小程序的连连看小游戏的设计与实现。课题研究内容如下:(1)了解并掌握连连看小游戏逻辑算法;(2)掌握微信小程序原理、功能与发开流程;(3)完成系统设计,实现客户端与服务器的交互,完成系统实现与测试。2. 主要技术指标、要求(1)使用微信小程序APPID和Web开发者工具;(2)建立连连看游戏系统,构建完整的小程序组成:一个入口文件:app.js,一个全局样式:app.wxss,一个全局配置:app.Json。(二)、毕业设计(论文)的基本要求1. 认真、独立完成3000
4、-5000汉字或10000以上字符的外文科技文献译文,按照学校规定的译文要求和格式撰写。2. 认真、独立完成不少于10000字的毕业设计(论文)报告的写作,按照学校规定的论文要求和格式撰写。3. 毕业设计报告要求包含:(1)开题报告一份; (2)毕业设计一份; 4. 及时与指导老师进行沟通,按计划完成毕业设计(论文)报告的写作和答辩工作。二、毕业设计(论文)进度安排起讫日期工作内容备 注第七学期第14周第七学期第15-17周第七学期第18周第八学期第1-3周第八学期第4周第八学期第5-10周第八学期第11周第八学期第12周接受毕业设计(论文)任务书。调研,完成英文资料翻译。完成毕业设计(论文)
5、开题报告。按照毕业设计要求,开展研究,完成设计方案。毕业设计中期检查。整理、撰写毕业论文。答辩资格审查。答辩。三、所需的资料和主要参考文献1刘晓.移动端小游戏的发展与问题应对J.传媒,2018(23):50-52.2苏涛,陈力,王麟阁.基于微信小程序平台的手机校园NFC支付设计J.信息技术与信息化,2019(03):52-53.3程子珍. 基于微信小程序的网上购物系统的设计与实现D.首都经济贸易大学,2018.4孔祥龙.Android平台连连看游戏控制逻辑设计与实现J.电脑知识与技术,2017,13(03):206-208.5朱亚玲,张睿敏.基于java的连连看游戏设计与实现J.数字技术与应用
6、,2016(03):161-162.6李丽惠,庄杨波.连连看游戏搜索算法的研究与改进J.漳州职业技术学院学报,2016,18(04):17-20.7黎利辉.基于深度优先搜索的连连看游戏路径查找算法J.福建电脑,2019,35(01):16-18.8邢榕珊,匡芳君.微信小程序设计J.计算机时代,2018(08):9-12.9张文敏.微信小程序游戏的发展现状及其社交属性J.新闻研究导刊,2018,9(14):108.10陶宇.基于用户体验的游戏复杂界面设计分析及可用性评价研究J.工业设计,2019(03):126-127.11孙宇娇. 手机游戏交互界面设计的优化研究D.北京交通大学,2017.注:
7、1. 本任务书需双面打印,由指导教师填写并经所在学院审核确认;2. 本任务书按毕业设计(论文)装订要求,装订在学生的“毕业设计(论文)”文本内,学院存档;3. 指导教师、学生可各执一份复印件,供检查论文进度时使用。上海师范大学天华学院2015届毕业设计(论文)开题报告设计(论文)题目基于微信小程序的连连看小游戏的设计与实现学生姓名学 号专业、班级网络工程学院工学院指导教师姓名建议从以下方面填写:1. 简述课题的作用和意义2. 国内外的现状和发展趋势等情况(文献综述),尚待解决的问题;3. 重点介绍完成任务的可能思路、方案和计划;4. (工科类专业需填写)所需的主要仪器和设备等。1、课题的作用和
8、意义娱乐是人类的天性,每个时代都有各种不同的娱乐活动供人消遣,游戏更是随着时代的变化在不停的进化演变。由于手机拥有庞大的潜在用户群体以及便携性、网络化等特点,手机游戏的出现就是一个必然的结果。游戏本身的普及性和普遍性是其生存之道,像最初的“贪吃蛇”、“俄罗斯方块”等为大家耳熟能详。然而,随着移动通信技术的飞速发展,这些简单的黑白类游戏已经满足不了用户的需要。连连看游戏作为一款益智类游戏,在机上就早已成为上班族的热宠。据相关调查,手机游戏市场各类型游戏中益智类游戏占市场的43%。手机游戏是在手机上运行的游戏软件。手机游戏分为单机游戏和网络游戏。单机游戏是只使用一个设备就可以独立运行的游戏。它不同
9、于手游和在线游戏,不需要专门的服务器就可以正常运行,部分游戏软件也支持多手机互联以及多人对战。网络游戏是指以互联网为传输媒介,以游戏运营商服务器和用户设备为终端来作为信息交流窗口,实现娱乐、休闲游戏、交流和取得虚拟成就的,可持续性的个人线上游戏。移动网络游戏尚处于市场导入期,未来几年,手机网络游戏将进入快速发展阶段。虽然随着智能机的普及以及移动网络的覆盖率增加,手机网游日益兴起,但是网游难免涉及到一些金钱交易,在进行手机网游交易的时候还是存在一定的风险,除了小心谨慎防止上当之外,也有不少玩家始终忠于无需网络的单机游戏,这主要得益于单机游戏无需沟通的懒人特质和相对安全的操作保障。智能手机游戏的其
10、中一个特点是便携性和移动性。移动便携性、移动性特征能更好的满足用户随时玩游戏的需求,用户能够很好的利用排队或者类似等车的时间玩游戏,因此,手机游戏碎片化的特性明显突出。连连看游戏就属于这种类型,因此完全可以移植到手机平台上。连连看游戏适用于各个年龄层的人群,可以使人们在紧张的工作之余放松一下心情,具有一定的应用和商业价值。2、国内外现状和发展趋势,尚待解决的问题微信小程序是一种c2p形式的app,是一种用户与服务相互对应的软件模式,与传统的 B2C 或 P2P 模式不同,这种模式是针对小程序而新产生的一种模式。用户可以通过所需的服务选取小程序,而因为小程序多数是依赖于其他 APP 平台,且所占
11、内存小,操作方便等原因,小程序的使用就像选择服务一样,方便且简洁。微信小程序在 17 年初上市,但是小程序模式软件却已经出现很久,在支付宝和微信界面中,存在大量的服务按钮,如买车票,买电影票,充值话费等,这些都属于小程序范畴,内存小,即搜即用是其主要特点。但是在 2017 年微信小程序正式提出来之前,小程序并不可以自行开发,都是由微信或者支付宝等公司自动开发,并融合在相应的 APP 之上的。在 2017 年初后,微信提供了可以研发小程序的平台,用户可以自行开发小程序,并发布。在微信小程序提出一年后,即 2017 年底,微信小程序因为一些微信小游戏而备受关注,据统计以微信跳一跳,最强大脑为首的微
12、信小游戏使用用户达到近千万。“全民娱乐”的游戏背景下,小程序最大的优势就是吸引了微信本身庞大基数的“非游戏玩家”群体,借助于微信强社交朋友关系网,小程序的发展有着游戏客户端发展不可比拟的优势,在该特点下,本文就微信小程序游戏的发展现状和其社交属性进行尝试性的归纳总结,最后得出了小程序游戏在某种程度上不能完全取代游戏APP,反而两者之间更多的是相辅相成的关系,未来小程序游戏如果想要得到更大的发展,势必离不开游戏作为新媒体社交平台的方向,如何利用好社交动机、竞争动机,是小程序未来的发展方向。3、重点介绍完成任务的可能思路、方案和计划首先设计系统框架,如下图所示:根据上图系统结构,选用微信小程序开发
13、流程为:(1)注册小程序开发账号,获取小程序开发的ID,同时下载开发工具;创建空白小程序,并了解小程序的项目结构和文件构成;研究项目的wxml,wxss和js代码(js推荐多用ES5、ES6),页面如何跳转,事件如何触发2.1.1小程序的文件结构使用微信Web开发工具新建一个项目,框架会自动生成描述整体程序的APP和多个描述页而的pag改件。完整的小程序主要组成有:一个入口文件:app.js,一个全局样式:app.wxss,一个全局配置:app.Json。(2)在页面pages下将页而安装文件夹划分,每个页而存在4个文件,分别是:视图层:wxml文件、wxs坟件;逻辑层:Json交件(页面配置
14、,不是必须)。以及WXML如何编写等。闭合标签,css动画对<<textarea/>组件无效。(3)<navigator/>是页面链接,和HTML中超链接标签<a/>一样,主要进行页而跳转控制。链接的内容可以是一个字、词或者一幅图片,通过点击内容实现页而的跳转。(4) <canvas/>主要用于绘制图形,其本身是一块无色透明区域,并没有绘制的能力,仅仅是图形容器,需要调节相关的应用程序编程接口(Application ProgrammingInterface, API)来完成实际的绘图任务。完成微信小程序开发之后,将其接入服务器,步骤如下:
15、(1)小程序注册:在微信公众平台官网首页()注册并提交注册信息、完善主体信息和管理员信息。(2)完善小程序信息:完善小程序的基本信息如名称、头像及服务范围等。开发前需绑定开发者并获取APPID,以保证程序可以通过手机进行扫码测试。(3)开发小程序:下载安装微信开发者工具,微信官方提供了一套完整的开发框架,开发者可以根据微信开发文档进行小程序的开发与调试。(4)代码审核及发布:小程序开发完成后,不能够直接发布,需提交代码与开发配置信息提交审核,完成后尚可发布。之后根据下图实现客户端与服务器的交互设计。在微信 Web 开发工具中,视图和逻辑分开配置,却能相互联系 , 选用 MVC 模式的开发。这样
16、开发起来逻辑分明,更有助于开发者的技术实现。本设计的小程序客户端的MVC模式设计原理如下图:4、所需的主要仪器和设备等微型计算机,Windows系统,微信小程序APPID,腾讯云小程序主机,微信Web开发者工具。5、所需的资料和主要参考文献1张文敏.微信小程序游戏的发展现状及其社交属性J.新闻研究导刊,2018,9(14):108.2程子珍. 基于微信小程序的网上购物系统的设计与实现D.首都经济贸易大学,2018.3孔祥龙.Android平台连连看游戏控制逻辑设计与实现J.电脑知识与技术,2017,13(03):206-208.4范光明. 基于微信小程序的行车记录系统的设计与实现D.吉林大学,
17、2018.5王玉洋. 基于微信小程序的移动学习平台环境构建与系统设计开发D.南京大学,2018.6任丕明. 基于Anbroid平台的教育游戏的研究与实现D.东北石油大学,2013.7赵海国,屈洋.连连看游戏的设计及其实现J.湖南理工学院学报(自然科学版),2015,28(03):39-41+51.8李婧. 基于Android平台的手机游戏设计与实现D.东南大学,2017.9黄日胜,王伟强,陈乐,何瑞龙.基于P2P与PV3D的3D连连看游戏设计J.软件导刊,2012,11(06):77-79.10郭毅棋.基于WEB的纸钞连连看游戏的设计与实现J.福建电脑,2010,26(09):136-137+
18、100.11孙宇娇. 手机游戏交互界面设计的优化研究D.北京交通大学,2017.12高广宇.手机游戏交互界面的设计与实现研究J.北京印刷学院学报,2018,26(09):32-35+53. 学生姓名 (签名)日期: 年 月 日指导教师评语:(建议填写内容:对学生提出的方案给出评语,明确是否同意开题,提出学生完成上述任务的建议、注意事项等) 指导教师 _(签名)日期: 年 月 日注:1. 本开题报告,须双面打印。由学生填写并经指导老师审核、评价;2. 本开题报告应按毕业设计(论文)装订要求,装订在“毕业设计(论文)”文本内,学院存档。摘要连连看是一款界面友好,操作简单,富有趣味性的小游戏。用户在
19、任何时间、任何地点都能通过电脑或者手机等终端登录游戏并且进行游戏操作,所以该游戏成为如今世界范围内最受欢迎的游戏之一。本文基于微信“小程序”对连连看游戏进行了设计与实现,通过在微信平台注册的APPID和下载的Web开发者工具作为设计环境,选用分类搜索算法作为游戏逻辑算法,完成小游戏系统原型搭建,并且在客户端和服务器之间实现交互。最后对小游戏进行功能测试和不同手机终端运行性能的测试,测试结果表明小游戏可正常运行,完全符合设计要求。关键词:微信小程序,连连看游戏,图形用户界面IAbstractLianliankan is a small game with friendly interface,
20、simple operation and interesting taste. The user can log in to the game and play games through a terminal such as a computer or a mobile phone at any time and any place, so the game becomes one of the most popular games in the world today.This paper designs and implements Lianliankan games based on
21、WeChat "small program". Through the APPID registered on WeChat platform and downloaded Web developer tools as the design environment, the classification search algorithm is selected as the game logic algorithm to complete the prototype construction of the small game system. And interacting
22、 between the client and the server. Finally, the function test of the small game and the test performance of different mobile terminals are tested. The test results show that the small game can run normally and fully meet the design requirements.Keywords: WeChat applet,Lianliankan Game,graphical use
23、r interfaceII目录摘要IAbstractII第1章 绪论11.1 研究背景11.2 微信小程序游戏的发展现状11.3 前景意义21.4 小游戏带来的思考21.5 本章小结3第2章 相关技术简介42.1 微信小程序42.2 小程序与小游戏42.3 小游戏引擎62.4 微信小游戏Adapter6第3章 需求分析73.1 小程序开发流程73.2 系统业务流程分析73.3 系统框架83.4 小游戏逻辑算法8第4章 总体设计114.1 概述114.2 系统功能11第5章 详细设计与系统实施135.1 常用API135.2 程序流程图135.3 连连看小游戏的系统设计与实现145.4 客户端与
24、服务器的交互设计155.5 客户端的MVC模式设计16第6章 系统测试256.1 测试方案256.2功能测试256.3性能测试266.4本章小结27第7章 总结与展望286.1 总结286.2 展望28参考文献30致谢32毕业设计(论文)1 绪论基于微信小程序客户端的网上单词查询系统是web2.0与微信小程序相结合的共同产出物,它集合了微信小程序开发、ThinkPHP5 服务器开发、数据库、网络等多种当下的流行技术于一体,用户可以通过扫一扫小程序码快速查询单词,背单词,充分利用碎片化时间来达到学单词记单词的目的。1.1项目研究的背景和意义微信是腾讯公司于2011年1月21日推出的一个为智能终端
25、提供即时通讯服务的免费应用程序,截止到2016年第二季度,微信已经覆盖中国 94% 以上的智能手机,月活跃用户达到 8.06亿。微信平台提供公众平台、小程序、朋友圈、消息推送等功能,作为连接10亿用户社交平台,微信拥有着无限的可能性。本文主要通过微信提供小程序平台,完成基于微信小程序的单词查询系统的设计与实现。在这个信息无比发达、充满诱惑的时代,我们如何充分利用移动互联网鼓励人们把时间充分利用学习上。本文基于对这个问题的基本思考,提出基于微信小程序的单词查询系统设计理念,针对在英文单词学习中普遍存在着缺乏语言环境的情况,以ThinkPHP5 为编程语言,结合MYSQL设计并开发了一个
26、功能比较完善的英文单词综合学习系统。该系统在实现查询单词、学习单词、复习单词等功能的同时,也为学习者提供了丰富的语段,从而创造了良好的语言环境,提高学习英文单词的效率。也意图通过单词学习小程序的设计即实现,呼吁人们不要沉迷于这个花花世界不能自拔,要多利用如此优越的移动互联网环境进行学习。1.2论文的主要研究工作本文所研究的小程序单词查询系统是一个简洁实用的单词查询系统,设计风格主要以简洁实用为主,主要想通过设计简单实用的单词查询系统,帮助用户提高学习单词的兴趣以及单词记忆的效率。本系统由后台服务器、微信小程序单词查询客户端、数据管理系统三部分组成。由于系统的系统模块较多,本文的主要工作为设计及
27、实现微信小程序客户端和后台服务的交互及数据库的设计。根据以上的需求,整个微信小程序单词查询系统项目采用 B2C 的架构,开发方法采用服务端、客户端、数据管理三端分离的架构模式。其中服务端采用 ThinkPHP5 和 MySQL 构建 REST API;客户端采用微信小程序来实现,通过向服务器 API 发送 http 通信请求获取数据,来完成自身的功能行为逻辑;数据管理系统作为管理或者运营人员的数据管理后台,同样通过向服务端请求数据,实现商品信息、订单数据和状态的管理。其中论文的主要工作是在微信小程序单词查询客户端系统实现获取用户息,单词查询、单词语境学习,历史单词,单词复习等模块。本文重点描述
28、了以上几大模块的设计与实现。1.3论文的特色主要有以下几点:(1)微信小程序单词查询系统针对在英文单词学习中普遍存在着缺乏语言环境的情况,在实现查询单词、学习单词、复习单词等功能的同时,也为学习者提供了丰富的语段,从而创造了良好的语言环境,提高学习英文单词的效率。(2)本系统设计实现采用面向对象的开发方法,小程序客户端采用了全局的 MVC 模式设计控制,页面实现采用 template 模板增加模块的复用性,客户端通过向服务器REST API 发送 http 请求获取数据。1.4论文结构第 1 章:引言。从本文主要研究内容出发,阐述了项目的背景及意义,结合分析国内外的现状以及目前单词学些领域面临
29、的机遇和挑战,给出项目概述以及本文的主要工作和本文组织结构。第 2 章:系统架构和关键技术。主要介绍了项目总的系统架构和开发环境,并对开发过程中所需的关键技术做了简要介绍。第 3 章:微信小程序单词查询系统的需求分析。进行了系统的业务及数据流分析, 将系统分成多个不同的功能模块进行 UML 分析,并描述每一模块需要实现的功能。第 4 章:微信小程序网上单词查询系统的详细设计与功能实现。介绍了项目的总体架构以及开发环境,数据库的设计与实现,单词查询系统开发过程中客户端与服务器的交互原理、客户端的 MVC 模式设计以及各个模块设计与实现的详细介绍。第 5 章:单词查询系统软件测试与分析。结合 po
30、stman 测试工具和微信开发者工具对系统各个模块的进行测试,使系统的功能和性能达到运行要求。第 6 章:总结与展望。结合本论文已完成的各项工作进行总结,并提出需要注意的问题。1.5本章小结本章为引言部分。1.1 节中主要阐述了微信小程序单词查询系统的项目背景及其意义;1.2 小节研究国内相关系统的研究现状,体现了微信小程序单词查询系统面向中小型商店对比传统线上单词查询系统的优势;1.3 小节中明确了本文在项目中的主要研究工作;1.4 小节总结了论文的主要特色;1.5 小节列出了论文的撰写组织结构,进一步明确了本文的组织框架和系统模块实现设计计划。592 系统相关技术研究本章主要安介绍了本微信
31、小程序单词查询系统在其开发过程中所用到的关键技术,其中包括微信小程序的 MINA 框架、ThinkPHP5 框架、REST API 的构造、微信支付技术、MySQL 数据库五部分。本课题的设计与实现主要就是建立在这些理论知识的掌握和应用之上。2.1 微信小程序微信小程序是一种全新的连接用户与服务的方式。小程序为用户提供了触手可及、用完即走的轻便服务,主要体现在用户获取小程序、使用小程序方便快捷的服务理念上。用户可以在线下扫一扫或者公众号关联小程序码获取小程序应用,或者可以在微信的发现页面搜索小程序,由于小程序的整个文件占用内存空间很小,用户下载安装小程序的过程消耗几乎感知不到,所以从用户获取小
32、程序到点击进入开始使用小程序应用的速度非常快。小程序多入口获取和触手可及用完即走的使用体验降低了器传播和获取用户的成本,并且可以实现原生 APP 的基本功能,更加适合单词查询等学习类系统的呈现。MINA 框架是微信团队为小程序开发提供的框架名字,通过下面的 MINA 框架图我们可以看到三大部分:逻辑层、视图层和系统层。如图2.1。图 2.1微信 MINA 框架架构图(1)逻辑层逻辑层是 MINA 的服务中心,由微信客户端启用异步线程单独加载运行。页面渲染所需的数据、页面交互处理逻辑都在逻辑层中实现。小程序中的各个页面可以通过逻辑层的函数实现数据管理、网络通信、应用生命周期管理和页面路由。其中,
33、小程序中的每个页面都有与其业务逻辑相对应的生命周期,这个由页面逻辑层的 page()函数实现, 生命周期控制中主要包括以下方法:onLoad 方法监听页面加载,onShow 方法监听页面的显示,onReady 方法监听页面初次渲染完成,onHide 方法监听页面的隐藏,onUnload 方法监听页面卸载,不同的业务要在不同的生命周期方法函数内实现。微信小程序开发框架的逻辑层是由 JavaScript 实现。在 JavaScript 的基础上,微信团队针对小程序项目做了一些适当的修改,以便提高开发小程序的效率。主要修改包括: 增加 app 和 page 方法,进行程序和页面的注册;提供丰富的 A
34、PI,如扫一扫、支付等微信特有的能力;每个页面有独立的作用域,并提供模块化能力等。逻辑层的实现就由各个页面的.js 脚本文件负责,微信小程序的逻辑层响应视图层的事件处理,并将处理结果返回到视图层。但由于小程序并非运行在浏览器中,所以JavaScript 在 Web 中的一些能力无法使用,如 document、window 等。(2)视图层视图层提供了一套类似 HTML 标签的语言以及一系列基础组件。开发者使用WXML 文件来搭建页面的基础视图结构,使用 WXSS 文件来控制页面的展现样式。视图层就是页面.wxml 文件与.wxss 文件的集合,由组件来进行设计展示。微信小程序在逻辑层将数据进行
35、处理后发送给视图层展现出来,同时监听视图层的事件。数据在视图层借助组件的设计展现,组件是视图的基本组成单元。(3)系统层系统层主要包括临时数据或缓存、文件存储、网络存储与调用。例如页面临时数据缓存需要在 page()中使用 setData 函数将数据从逻辑层发送到视图层。文件存储和网络存储与调用则需要调用相应的微信 API 接口来实现,如 wx.request 接口可以进行 http 网络请求,通过定义请求的 url、请求参数、请求方法以 json 配置,将请求结果分为 success 和 fail 两种方式处理。除此之外,项目根目录下的三个 app.wxss、app.js、app.json
36、文件是全局性的系统文件,负责小程序项目的全局公共样式、小程序公共逻辑和小程序公共配置的实现。2.2 ThinkPHP 5 框 架ThinkPHP 是一个开源的、面向对象的轻量级 PHP 开发框架,ThinkPHP5 主要特性包括:1、遵循 PSR-2、PSR-4 规范。2、支持 Composer。3、支持单元测试。4、安全机制,详细的日志能帮你轻轻松松的做到问题定位。5、减少核心依赖,增加了扩展的灵活性,支持命令行指令扩展。6、具备优秀的性能和 REST 支持,支持远程调试,优化了 API 开发工作。7、惰性加载机制。8、路由、配置和自动加载的缓存机制。Think PHP 在项目中的配置,一个
37、项目下可以容纳多个子系统,例如前端系统和后端管理系统等等。在项目中包括公共函数文件夹 Common、系统配置文件夹 Conf(其中包含该项目的所有配置信息,包括数据库和系统常量以及模板选择和缓存、调试、日志等等)、源代码储存文件夹 Lib(分数据库表达与处理的 Model 文件夹和程序源代码的 Action 文件夹)、支持多种语言的 Lang 文件夹、文件缓存的 Runtime 文件夹以及网页模板的 Tpl 文件夹。此外 index.php 是 Think PHP 的入口文件夹。2.3 MySQL 数据库MySQL数据库被非常多的编程人员使用,MySql数据库适用于中小型程序的数据存储,可以和
38、JAVA技术进行很好的搭配使用。MySql数据库非常适合刚学习编程的人进行学习,首先从下载上来说,直接到官方网站或者百度上搜索就能搜索到MySql的下载地址,下载完成之后直接点击安装文件,傻瓜式一键安装完成就可以正常使用了,非常的简单。MySql语句也是通俗易懂,都有固定的语句格式,建数据库、建表、删除表、添加、修改、删除、查询等语句直接套用格式就可以正常使用。最重要的是JAVA、PHP、ASP等目前主流的编程语言,都支持和MySql数据库的连接,这对于程序中各种数据的相互传输以及存储有很大的帮助。Mysql数据库非常重视对于数据安全的保护,可以给予程序中的运行的大量数据充分的安全保证。2.4
39、本章小结在本章中,主要研究了本文工作中主要用到的微信小程序框架关键技术阐述了选择 MySQ L 作为项目的数据库的优势以及其系统架构介绍。这些都是本文在项目中所做工作的关键理论基础。毕业设计(论文)析3 系统分析软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。软件工程包括了需求、设计、编码实现、测试等内容,需求分析作为软件工程中重要的一步,主要作用是对用户想要解决的问题和想法进行详细的分析,分层次的分析问题,从输入、问题处理到结果的输出,准确的表述系统必须完成那些工作,对系统的的分析形成完整具体的要求。本章正是通过系统需求分析和 UML 用例图模型两方面研究了微信小
40、程序小程序单词查询系统的设计。3.1系统业务流程分析本文在项目系统中的主要工作是完成小程序单词查询系统客户端、服务器和数据库的开发和设计。在微信小程序单词查询系统客户端部分,消费者用户可以进入到微信小程序单词查询系统客户端,进行商品浏览、商品分类检索、添加单词查询车,管理单词查询车和个人信息,下单等主要网上单词查询操作。在数据库部分,通过合理的设计,使各个数据表之间拥有可靠的关联关系,并具备一定的数据库可扩展性。图 3. 1 小程序客户端系统的业务流程图微信小程序客户端系统的单词查询流程图 3.1 所示,当用户获取到小程序后,可以选择获取是否允许获取个人信息,也可以浏览小程序的各个页面或者商品
41、。当用户在浏览和分类检索商品的过程中,遇到符合自己心意的商品时,则可以选择把商品加到单词查询车, 当用户结束挑选商品后,可以进入到单词查询车页面进行结算商品,结算商品时,用户若为未登录状态,需要返回第一步允许微信获取个人信息,并补充具体的个人信息(如地址、电话等),此时,则可以进行下单,进入到支付界面进行订单结算,根据不同的支付结果生成不同的历史订单信息。至此单词查询流程结束。3.2系统数据流分析本微信小程序单词查询工具项目的数据主要包括用户和单词数据。用户在小程序客户端界面发生的交互动作是业务的数据来源,根据用户行为和查询系统的架构设计分析,业务系统的数据流处理主要包括客户端与本地缓存、客户
42、端与系统服务器两部分。图 3.2 系统业务数据流图如上图 3.2 统业务数据流图所示,用户可以通过微信小程序待查询系统客户端携带个人信息请求单词信息。小程序客户端接收用户的行为请求,在控制层进行相应的业务逻辑处理,并将处理结果以页面展示的方式返回给用户,如果用户请求的数据涉及到数据库的查询和更新,客户端会将用户需求的请求参数通过模型层与服务器通信,在服务器部分进行数据的校验和处理,如果用户的请求合法则会在数据库中进行相应的响应操作,服务器处理完毕后会将结果返回给客户端。在系统设计中,由于查询历史的数据量较小,与查询历史相关的数据存放在小程序本地缓存中,可以为用户提供更快速的数据反馈效果。系统功
43、能总体功能分析根据分析用户查询单词的基本需求,对比分析单词查询 APP 和 PC 单词查询网站上的主要功能模块,本着小程序开发设计的三大原则:在功能方面,小程序要比原生 APP 更单一;设计方面,小程序要比原生 APP 更简洁;在使用场景方面,小程序应比原生 APP 更明确。基于小程序的主要定位,小程序应为用户提供更加主题明确的服务,尽量减少与查询无关的不必要的功能模块,为用户提供用完即走、方便快捷的使用体验。根据以上分析,本小程序系统的业务逻辑模块分为用户登录、单词搜索、历史记录、查询结果功能模块,总体的系统功能模块如下图所示,本章将对各个功能模块进行详细的需求分析。图 3.3小程序客户端整
44、体功能结构图从图 3.3 功能结构图中,我们可以大致总结出小程序客户端单词查询系统的几个主要功能,包括用户用户登录、单词搜索、历史记录、查询结果四大模块,本文也主要是围绕着这些功能模块的设计和实现而展开。3.3 本章小结本章中主要对微信小程序单词查询系统客户端的功能进行了需求分析,其中 3.1、3.2小节是对小程序客户端系统的业务流程图和整个项目的数据流和整体的功能结构进行了分析,随后在此基础上,我们对小程序客户端单词查询系统的主要功能模块进行了功能需求分析。这为接下来的小程序客户端的功能设计和实现做好了基础。4 系统设计与实现4.1项目总体架构本项目在总体架构上主要分为微信小程序客户端、服务
45、器、数据管理三大部分。其中微信小程序客户端部分主要利用微信小程序的“MINA”框架(WXML,WXSS,JavaScript)以及其提供的丰富组件,采用 MVC 的设计模式来完成客户端界面和功能设计与实现,客户端可与消费者用户直接交互,提供流畅的单词查询体验。服务器端主要采用ThinkPHP5 和 MySQL 构建 REST API 为客户端提供数据接口,其中 ThinkPHP5 作为服务器开发的一个外部框架,可在消费者用户使用微信小程序单词查询系统浏览商品、加入单词查询车、下单等的业务逻辑中,实现客户端与数据库数据请求以及数据处理的关键部分。除了本地服务器的支持之外,微信小程序的客户端实现的
46、部分功能还需要服务器编写业务逻辑调用微信服务器的 API 接口来实现。MySQL 主要担任数据库的角色,可实现数据存储、数据表设计等功能, MySQL 数据库在与 TP5 服务器配合下向客户端提供可访问的数据接口。数据管理作为管理或者运营人员的数据管理平台,通过调用 API 从服务器的数据库中获取商品信息、订单数据等。系统总体架构图如图 4.1。图 4.1系统总体架构图毕业设计(论文)现4.2项目开发方法及环境部署项目客户端的开发过程采用面向对象的开发方法,充分利用面向对象方法中的封装性、继承性和多态性的特点,将系统划分为相对独立的多个模块,每个模块具有自己的功能设计和实现要求,在开发过程中可
47、以分模块集中开发实现,然后最后再将各个模块组织和集成,这样使得整个系统的结构层次分明,也便于开发工作的管理。面向对象的软件开发方法是解决软件设计过程中所出现基础性问题的的解决方案, 避免在开发中做重复的工作。进行可重复使用性设计,在软件的总体框架中可以将同一个功能模块的不同业务部分的应用通过面向对象的设计,以及模块的复用来实现重复利用,减少开发得重复工作,提高开发效率。例如分析系统中通用的处理方法,将其封装设计成相对独立可重复使用的代码作为基类,当功能在系统中多个模块应用时,直接调用基类就可以。这样会减少因为重复功能的代码的复制修改而带来的代码质量问题,同时也避免了代码的冗余。从系统的角度进行
48、分析,利用对象的单位作为基本构造单元,可以使软件系统变得模块化、可复用性能好、易于维护,同时便于优化软件结构和质量。项目的基础环境基于 XAMPP(Apache+MySQL+PHP+PERL)一个功能强大的建站集成软件包,本项目采用的是 XAMPP 的 7.1.12 版本 xampp-win32-7.1.12-0-VC14-installer 安装包,选择安装的组件有 PHP、MySQL 和 Apache 服务器。项目选择ThinkPHP 5 作为 web 开发框架,在 Git 仓库中下载 ThinkPHP 5 5.0.7 版本的应用项目和核心框架,与XAMPP 集成作为主要的业务逻辑和 AP
49、I 的开发语言和框架。在开发工具选择上,单词查询系统客户端采用的是微信 web 开发者工具来编写微信小程序单词查询系统的主界面,采用PHPstorm 来开发服务器的 PHP API 代码,使用 PostMan 作为服务器接口的测试工具,选用 Navicat 连接数据库作为 MySQL 的可视化管理工具。4.3微信小程序单词查询系统的数据库设计数据库的设计是软件系统开发和建设中最基础和最核心的部分,良好的数据库设计可以让系统具有更快更好的运行速度。目前关系型数据库是我国中小型系统的主流选择。关系型数据库的设计要有严格的设计规范,对软件系统中的各类数据进行有效的组织存储和维护,为软件系统运行中的数
50、据需求提供高效准确的处理速度。在实现这个目标的过程中数据库的规范设计就显得尤为重要,保持数据存储的一致性和完整性是提高数据存储和处理效率的重要保障之一。在数据库设计时,不仅需要满足数据库的设计准则,还需要结合具体的业务知识分析出系统中的不同实体之间的关系,并确定这些实体之间的关系类型。本文根据小程序单词查询系统的功能需求分析,按照规范设计的要求,将对数据库设计的概念结构设计、逻辑结构设计、数据库配置与实施进行详细分析与设计。4.3.1数据库概念结构设计数据库的概念结构设计的过程是将用户的需求综合抽象为一个信息结构的过程,概念结构是各类数据模型的共同基础。E-R 图是描述概念模型的有效工具。E-
51、R 图由实体、属性、联系三个要素组成,例如本系统中单词信息就是一个实体,它包含描述单词的众多属性,联系表示实体之间的关系,实体与实体之间的联系可以分为三种:一对一、一对多、多对多。本文从系统的业务和功能模块分析确定系统需要的实体集,以及实体与实体之间的联系。小程序单词查询系统中关键的实体信息如下:(1)单词查询系统的单词信息实体图的属性包含单词 id、单词英文拼写、单词音标、单词中文翻译、单词属性、单词短语,如图 4.2 所示:图 4.2单词信息实体图(2)单词查询系统的用户信息实体图的属性主要包含用户 id,openid,用户昵称等信息, 如图 4.3 所示:图 4.3用户信息实体图(3)单
52、词查询系统的单词音标信息实体图的属性主要包含音标 id,音标类别、音标拼写等信息, 如图 4.4 所示:图 4.4音标信息实体图(4)单词查询系统的单词属性信息实体图的属性主要包含属性 id,属性类别、中文翻译等信息, 如图 4.5 所示:图 4.5属性信息实体(5)单词查询系统的单词短语信息实体图的属性主要包含短语 id,英文短语、中文翻译等信息, 如图 4.6 所示:图 4.6短语信息实体图由系统的实体以及实体与实体之间的联系可得出系统 E-R 图,小程序单词查询系统的总体 E-R 图如图 4.7 所示:图 4.7系统总体 E-R 图在概念模型的设计中,采用 E-R 图来表示系统需求所抽象
53、成的信息结构,其中用矩形表示 E-R 图中的实体,椭圆形表示属性,菱形表示联系。一个单词信息表对应多个属性。4.3.2数据库逻辑结构设计根据概念结构设计中的 E-R 图进行数据库的规则转换,将 E-R 图实体和实体间的联系转换为关系模式,并确定关系模式中的属性和码。实体中的属性与关系模式中的属性相对应,实体中的码与关系中的码相对应。本系统最后的数据模型以数据表的形式展现, 具体说明了数据表中属性名称、主键、含义、约束条件,是否为空等信息,系统中主要的数据库表设计详细如下:(1)用户信息表 user 基本数据表,如表 4.8。idint11否用户idnamevrachar255否用户昵称open
54、idvrachar255否openidcreate_attimestamp是注册时间remarkvarchar255是拓展备注update_attimestamp是更新时间delete_attimestamp是删除时间表 4.8专题商品信息表(user)字段名 类型 大小 是否为空字段描述(2)用户信息表 user 基本数据表,如表 4.9。idint11否单词主键wordvarchar255否英文单词voice_idvarchar255否单词音标propertyvarchar255否单词属性pharsevarchar255是单词短语表 4.9单词信息表(user)字段名类型大小是否为空字段描述(3)单词音标表voice基本数据表,如表 4.10。idint11否主题外键catvarchar255否类别voidvarchar255是英标拼写表 4.10单词音标信息表(user)字段名类型大小是否为空字段描述(4)单词属性表voice基本数据表,如表 4.11。idint11否主题外键catvarchar255否类别voidvarchar255英标拼写表 4.11单词属性信息表(user)字段名类型大小是否为空字段描述(5)单词短语表 pharse 基本数据表,如表 4.12。idint11否单词短语idpharsevarchar255否英文短语translateva
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮革制品行业的市场调查与消费需求分析考核试卷
- 海水养殖的食品安全控制考核试卷
- 创业空间的共享单车企业项目考核试卷
- 医药制造业危险废物处理方案考核试卷
- 废弃资源综合利用的供需平衡与市场竞争分析考核试卷
- 印刷行业的安全与环境保护考核试卷
- 构建安全企业推进安全生产培训考核试卷
- 城市公共设施管理的城市发展案例研究考核试卷
- DB11T 765.3-2010 档案数字化规范 第3部分:微缩胶片档案数字化加工
- 教学课件获奖教学课件
- 《营养卫生》-《烹饪中减少营养素损失的措施》
- 火锅店盈利模式分析报告
- 微生物发酵过程优化方案
- 基药政策及市场课件
- 安监人员考核细则范本
- 奥林匹克标准体育馆设施配置
- 节日景观布置投标方案(技术方案)
- 国家中小学智慧教育平台培训专题讲座
- 仓库用电安全自查报告
- 小学生主题班会:自立自强勇攀高峰模板
- 《网页设计与制作》课程说课
评论
0/150
提交评论