专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。
技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。
主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。
🍅文末获取源码联系🍅
在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
摘 要
随着互联网技术和通讯技术的快速发展、成熟,两者最终结合到了一起,即移动互联网。移动互联网时代的到来,微信的普及,致使基于小程序>微信小程序的系统越来越多,因此,针对用户对各类考试信息查询、模拟考试练习以及交流方面的需求,特开发了本云上考场小程序>微信小程序。
本文重点阐述了云上考场小程序>微信小程序的开发过程,以实际运用为开发背景,基于微信平台,运用了Java技术和MYSQL作为系统数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,满足了不同权限用户的功能需求,包括管理员和用户。
本云上考场小程序>微信小程序运行效果稳定,操作方便、快捷,界面友好,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的云上考场综合平台。
1 绪论
1.1 研究背景
二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。随着互联网的发展,传统生活变得更加方便快捷,许多事物都可以跟互联网相连接,于是就提出了“互联网+”[1]的概念,日常生活离不开计算机更离不开互联网,例如生活中最平常的衣食住行,都有其相关的智能产品,所以科技改变生活,传统的生活方式面对互联网的新浪潮的冲击,已经渐渐退出了历史舞台,相信未来的某一时刻,传统的生活方式将进入全智能化的阶段。
在信息技术迅速发展的今天,计算机技术已经遍及全球,使社会发生了巨大的变革,现今各类智能手机不断更新,智能手机的普遍使用让各种基于手机移动端的APP问世,其中,微信已是时下国内最火的聊天交流APP,备受人们青睐,近年来,微信发展规模越来越大,越来越多的人开始使用微信,目前智能手机系统的普及,人们手机上基本都有了微信,根据去年公布的一组数据中可知,微信去年最高用户量达到10亿多;而建立在微信平台基础上的小程序凭着它不用安装、不占内存、使用便捷、用完即走等众多优点,小程序借着微信平台快速成长,也为各行业的发展带来了极大的便利,这使得基于小程序>微信小程序的系统应运而生,为用户提供便利。
基于以上微信的发展,结合用户在各类考试信息查询、模拟考试练习以及交流方面的需求,开发了本云上考场小程序>微信小程序,为用户提供一个便利的考试信息查询、模拟考试练习以及交流的平台。
1.2 设计原则
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
1.3 论文组织结构
第一章主要是简单的介绍下设计本网站的研究背景及设计原则,在这一章里主要是让大家了解下我的设计的前因后果,为接下来我的其它章节做铺垫。
第二章主要是介绍在设计过程中所涉及到的技术。
第三章主要是介绍下设计这个网站所需要的需求以及我们的功能需求分析,因为只有更好的分析清楚我们的功能需求才能更好的完成我们的设计。
第四章网站系统设计,主要介绍了网站结构的设计以及展示了数据库E-R图设计,这一章主要是为了能让大家更好的了解网站的一些基本设计信息。
第五章系统的实现,介绍了系统每个模块的设计与实现,让大家能清晰的了解系统的主要功能。
第六章系统的测试,这章主要是测试下各个部分每个功能是否能用,看下是否有错误。
第七章系统总结,进行最后的总结工作。
2 关键技术简介
2.1 小程序>微信小程序
小程序>微信小程序,简称小程序,英文名Mini Program,是一种全新的连接用户与服务的方式,可以快速访问、快速传播,并具有良好的使用体验。
小程序的主要开发语言是JavaScript,它与普通web的开发有很多相似之处。小程序和普通网页开发并不是相同的东西,是有差异的。网页开发的渲染线程和脚本线程是互斥的,而在小程序中,确实分开的,分别在不同的线程之中运行。网页开发的工作者可以运用各种浏览器暴露出来的DOM API,进行DOM选中和操作,但小程序不行,它并没有一个完整的浏览器对象,因此缺失DOM API和BOM API。这样的差别使得前端开发中经常用到的一些库是无法在小程序中运行的。另外,网页开发的工作者在开发网页时所要面对的环境是在各式各样系统上运行的各式各样的浏览器,,而小程序只,只需面对iOS和Android这两道操作系统下的微信就足够了。
小程序和传统的APP相比,有着开发成本更低,获客成本更低,开发周期更短,发展空间更大等的优点。不过,为了体现“用完即走”、“无需安装”等理念,小程序的功能、性能还有大小都受到了制约,可以说是各有利弊。
2.2微信Web开发者工具
为了实现小程序>微信小程序编写,腾讯公司推出微信web开发者工具[2],用来调试编写小程序>微信小程序,微信小游戏,微信公众号的编写和调试,该软件是支持小程序>微信小程序官方API 和相应的辅助工具和插件,支持微信端的代码编辑,查看,预览,发布。该工具拥有自己的前端代码文件,视图文件是.wxml、样式文件是.wxss、交互则是JS文件[8],当然还有支持相应的网络框架,通过接口wx.request和后台进行数据传输,通过配置https域名配置跟服务器对接并发布项目,这是一款集开发、预览、发布等功能的微信产品的开发工具,目前还在更新版本。
2.3小程序>微信小程序API接口
小程序>微信小程序API接口是腾讯公司为了小程序>微信小程序和微信公众号提供的接口文档,里面包含了各种需要使用的接口技术[7],例如本项目用到的获取微信用户信息(wx.getUserInfo)、蓝牙通讯传输功能、网络请求(wx.request)、定位功能等,总的来说,小程序API是满足一个程序开发的大部分接口。
2.4 WXML 、WXS、JS小程序编写语言
WXML全称是 WeiXin Markup Language,是微信标记语言,是小程序>微信小程序的标签语言,结合小程序的基础组件、事件系统,可以构建出页面的结构。类似于HTML语言,但是他自身也拥有一定的特色。
WXSS(WeiXin Style Sheets)是微信样式表,是小程序>微信小程序用于修饰标签语言的样式文件,WXSS 用来决定 WXML 的组件应该怎么显示。为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性,同时为了更适合开发小程序>微信小程序,WXSS对CSS语言进行修改和扩充,引入全新尺寸单位rpx,但大体语法于CSS语言不分离。
JS是 JavaScript[4]语言的简称,小程序>微信小程序里面也可以叫做WXS,是一门脚本语言,通俗易懂,用于页面交互的语言。
2.5 MYSQL数据库
MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[5]
MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。
3 系统分析
3.1 可行性分析
在软件开发第一阶段时,就应该对整个系统进行一次可行性分析。在开发进行过程中,并不是所有的问题都能在预计的范围内解决。通过可行性分析可以提前从中发现问题,解决问题,从而避免财力、人力和物力的浪费。
3.1.1 技术可行性
技术可行性是指学习的技术是否能够完成本项目,如果团队本身没有相关的技术储备,而又能够迅速掌握此类技术,那项目应该达不到我们的设计要求。本云上考场小程序>微信小程序基于小程序>微信小程序开发,系统采用WXTML、JS、WXSS、MYSQL数据库等技术进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2 经济可行性
开发这个程序软件并不会涉及到经济上面的开销,在开发软件的选择上也不会额外付费安装软件,在开发软件的官网上面就可以下载需要的软件,并根据提示的安装步骤安装软件到自己的电脑上面。因此,该项目的实施在经济上完全可行。
3.1.3操作可行性
操作可行性主要是针对系统用户而言,一个系统再完美,技术再先进,用户不去使用,或者用户根本不会使用,该系统存在的价值也是不大的。本云上考场小程序>微信小程序具有易操作、易管理、交互性好的特点,在操作上是非常简单的,所以从用户的角度而言,没有任何学习成本,因此,操作上是可行性的。
3.1.4法律可行性
开发的云上考场小程序>微信小程序所使用到的软件和资料来源都是图书馆、百度文库、百度网页等渠道,并不涉及违法。在个人毕业设计上面,无论源代码还是论文编写内容不存在抄袭行为。
综上所述,我们进行了四个方面的可行性研究,可以看出,该云上考场小程序>微信小程序的开发是没有问题的。
3.2 用户体验需求分析
这个云上考场小程序>微信小程序要求在微信平台上可以运行,主要实现了注册登录、面试讲解、社区、错题本、试卷列表、考试记录、客服中心以及留言板的基本功能。一个好的程序要具备以下两方面用户体验:
(1)界面友好
用户界面要简洁直观、操作方便。
(2)响应快速
对用户的请求能快速响应,对一些耗时的应用程序,以进度条的形式显示,让用户随时了解程序执行情况[11]。
3.3 系统功能分析
本云上考场小程序>微信小程序主要分管理员和用户两大功能模块,下面将详细介绍管理员和用户分别实现的功能。
3.3.1用户功能分析
没有账号的用户可进行注册操作,注册登录后主要功能模块包括首页、社区以及我的(面试讲解、错题本、试卷列表、考试记录、客服中心、我要发帖、我的发帖、留言板)三大部分,用户用例图如图3-1所示。
图3-1 用户用例图
3.3.2管理员功能分析
管理员可登录系统后台,登录后可对系统进行全面管理,管理员主要实现的功能包括个人中心、用户管理、教师资格证管理、公务员管理、事业单位管理、面试讲解管理、公告管理、试卷管理、留言板管理、试题管理、社区、系统管理以及考试管理,管理员用例图如图3-2所示。
图3-2 管理员用例图
3.4 系统流程分析
3.4.1登录流程
登录模块主要满足了用户和管理员的权限登录,用户登录流程图如图3-3所示。
图3-3 登录流程图
3.4.2注册流程
未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-4所示。
图3-4用户注册流程图
3.5 系统界面分析
(1)简洁的用户界面
本系统主要是基于小程序>微信小程序,是一款云上考场软件。所以系统在用户界面的设计方面要给人以清晰明了的感觉,在使用过程中能够实现高效率、低出错率等要求。
当用户使用本系统时,应用程序应直接提供一个简洁明了的功能选择模块,首先让用户对系统能做什么有大致的了解。通过供以选择的功能模块完成用户在使用系统时的不同需求。
(2)清晰的系统层次
用户初次打开应用时所展现出来的简洁的界面已经首先清晰明了的向用户阐明了系统的各功能模块和系统能做些什么。用户界面被划分成多个条目,点击任一条目即可进入对具体数据进行处理的界面,因此清晰的系统层次对方便用户使用程序用着很重要的作用。根据以上所提到的一些模块,如注册登录、面试讲解、社区、错题本、试卷列表、考试记录、客服中心以及留言板等功能的处理步骤相对简单,点击进入后直接完成对数据的查看和了解。
4 系统设计
4.1 系统结构设计
在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。
图4-1 系统结构图
4.2 系统顺序图设计
(1)登录顺序图
用户在登录时,首先进入系统登录窗口,用户需要输入用户名和密码,点击登录按钮进行登录操作,系统会以用户名和密码为参数在数据库中进行登录信息的验证,验证成功则登录成功,进入用户主界面。登录模块顺序图如图4-2所示。
图4-2 登录顺序图
(2)注册顺序图
未有账号的用户可进入注册界面进行注册操作,在注册界面输入注册信息,点击提交按钮,系统首先判断用户名是否存在,存在则提示重新输入,不存在则验证注册信息是否正确,正确则在数据库中添加注册数据,提示注册成功。用户注册模块顺序图如图4-3所示。
图4-3 注册顺序图
4.3 系统数据库设计
4.3.1 数据库E-R图设计
在任何一个系统设计中,数据库都是其中至关重要的一个部分,如何选择适合的数据库并且使其的开发符合程序需要是在设计系统时所要考虑的一个关键性问题。本系统的数据库采用MYSQL进行设计和管理,其具有体积小、速度快的优势。E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。
实体与属性之间的关系:E-R图有三种基本成分,分别是实体(即数据对象)、属性、联系。所谓的数据对象是指在工作环境中所涉及到的事务用方框表示,属性则是对该事物特征的一种描述用椭圆表示。模型中的实体可以是具体的人事物也可以是某个概念。本云上考场小程序>微信小程序的E-R图如下所示:
1、试卷信息实体E-R图如图4-4所示:
图4-4 试卷信息实体的E-R图
2、试题信息实体E-R图如图4-5所示:
图4-5 试题信息实体E-R图
3、社区信息实体图如图4-6所示。
图4-6 社区信息实体E-R图
4、用户信息实体图如图4-7所示。
图4-7 用户信息实体E-R图
5、管理员信息实体图如图4-8所示。
图4-8 管理员信息实体E-R图
4.3.2 数据库表设计
本云上考场小程序>微信小程序采用MYSQL数据库进行系统数据的储存,下面介绍数据库中的各个表的详细信息。
表4-1 exampaper试卷信息表
列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 创建时间 | timestamp | 允许空 |
name | 试卷名称 | varchar(200) | 允许空 |
time | 考试时长 | int(11) | 允许空 |
status | 试卷状态 | int(11) | 允许空 |
表4-2 examquestion试题信息表
列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 创建时间 | timestamp | 允许空 |
paperid | 所属试卷 | bigint(20) | 允许空 |
papername | 试卷名称 | varchar(200) | 允许空 |
questionname | 试题名称 | varchar(200) | 允许空 |
options | 选项 | varchar(200) | 允许空 |
score | 分值 | longtext | 允许空 |
answer | 正确答案 | bigint(20) | 允许空 |
analysis | 答案解析 | varchar(200) | 允许空 |
type | 试题类型 | longtext | 允许空 |
sequence | 试题排序 | bigint(20) | 允许空 |
表4-3 forum社区信息表
列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 创建时间 | timestamp | 允许空 |
title | 帖子标题 | varchar(200) | 允许空 |
content | 帖子内容 | longtext | 允许空 |
parentid | 父节点编号 | bigint(20) | 允许空 |
userid | 用户编号 | bigint(20) | 允许空 |
username | 用户名 | varchar(200) | 允许空 |
isdone | 状态 | varchar(200) | 允许空 |
表4-4 yonghu用户信息表
列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
id | 编号 | bigint(20) | 不允许空,主键 |
addtime | 创建时间 | timestamp | 允许空 |
zhanghao | 用户名 | varchar(200) | 允许空 |
mima | 密码 | varchar(200) | 允许空 |
xingming | 姓名 | varchar(200) | 允许空 |
nianling | 年龄 | varchar(200) | 允许空 |
xingbie | 性别 | varchar(200) | 允许空 |
shouji | 手机 | varchar(200) | 允许空 |
youxiang | 邮箱 | varchar(200) | 允许空 |
zhaopian | 照片 | varchar(200) | 允许空 |
表4-5 users管理员信息表
列 名 | 说 明 | 类 型 ( 长 度 ) | 备 注 |
id | 编号 | bigint(20) | 不允许空,主键 |
username | 用户名 | varchar(100) | 允许空 |
password` | 密码 | varchar(100) | 允许空 |
role | 角色 | varchar(100) | 允许空 |
addtime | 创建时间 | timestamp | 允许空 |
开题指导、源码获取、程序定做、毕设帮助,联系方式见文末。
系统实现效果
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻