5.2.4 留言板 25
第 6 章 系统测试 27
6.1 功能测试 27
6.1.1 发帖功能测试 27
6.1.2 删除订单功能测试 29
6.2 测试结果 31
结论 32
致谢 33
参考文献 34
第 1 章 简介
1.1 项目背景
随着移动互联网的不断发展,各行各业都在探索移动互联网给各自行业带来的变化,不断尝试开发适合自己行业或公司的APP。然而这样一来,用户就需要在手机上安装各种软件。然而APP作为只服务于某家公司的软件,是一个闭环的生态系统,获取和维护用户粘性成了问题,维护也需要考虑成本。渐渐地,不开发APP就跟不上潮流,开发APP又很难运营。如何获取新的客源渠道和转化渠道,成为了管理者需要面对的问题。如何让一个用户从自己已经习惯的应用跳转到自己希望用户访问的应用是一个问题,而微信小程序解决了这个问题。微信拥有庞大的用户群,用户无需换APP,直接在微信上就可以访问自己想要访问的资源。因此,微信小程序比APP更受欢迎。 本项目利用微信小程序技术开发一个微信读书网站小程序。
1.2 项目意义
微信小程序背靠微信庞大的用户基础,成为解决当前用户访问应用程序问题的一个选项。只要用户手机上有微信,就可以直接访问指定目标,获取指定内容,无需安装新软件,解决了管理者的痛点。此外,微信作为聊天工具,支持微信内多种生活服务,也为微信用户提供了粘性。微信小程序对于用户和管理者而言,是一个双赢的局面。目前,传统的电商、零售行业因为小程序的出现而获得了新生。本项目专注于书籍章节阅读,借助微信小程序等平台,用户可以更便捷地购买书籍章节,并在线阅读书籍各章节的内容。
1.3 研究内容
微信读书网址小程序的设计和制作,不仅需要技术支持,还需要大量的理论研究,本文将对微信读书网址小程序进行如下介绍。
第一部分:介绍微信读书网小程序研究的背景和意义,帮助用户了解该系统;
第二部分:介绍开发微信读书网小程序所需要的环境,包括技术和工具;
第三部分:介绍用户对于微信读书官网小程序的功能需求,以及对于微信读书官网小程序的性能要求;
第四部分:介绍数据库设计方案及根据功能需求设计的功能结构;
第五部分:介绍通过编码最终实现的系统功能运行效果;
第六部分:介绍系统的功能测试,对系统进行全面的测试,及时解决系统问题,直至系统正常运行。
第二章 开发环境与技术
微信读书网小程序的编码实现需要一定的环境的搭建和相应技术的使用,以下内容是对微信读书网小程序所使用的技术和工具的介绍。
2.1 数据库
本次项目开发的应用程序在数据操作方面不可预测,经常变化,没有办法直接在文档中写入数据,这样不仅不安全,也无法实现应用程序的功能。如果要实现应用程序所需的数据存储功能,就不能避免选择专业的数据库存储软件。基本上应用程序实现的功能不会太复杂,市面上任何关系型数据库软件都可以实现。参考我自己的学习进度和操作习惯,数据库是合适的,但是需要的安装软件体积大,而且有很多不必要的功能是开启的,很耗电脑资源,所以没有选择数据库。虽然学过SQL数据库,但是安装的时候电脑上可能还有其他软件,经常会出现问题,安装问题不好解决的话,需要重新安装操作系统,对已有的软件来说太浪费时间了。唯数据库安装包小,安装速度快,操作简单,即使安装出现问题也很容易解决。 不需要重新安装操作系统,也不影响电脑上运行的其他软件,占用资源较少,最重要的是在功能上完全达到设计要求,所以我最终选择该数据库作为应用软件开发所需的数据库。
2.2 JSP技术
在动态网站兴起之初,Java作为高级编程语言,自然不会放弃这个领域的蛋糕。Sun推出了一个输出动态网站的技术标准,虽然当时在程序员中并不是很受欢迎,但当时的选择并不多。几个月后,PHP问世了。不管性能和效率如何,至少它区分了编写网页所需的动态代码块和静态代码块,大大提高了编写效率和可读性。因此,很多Java程序员和刚入行的初级程序员都选择了PHP作为职业发展方向。为了维护Java语言在高级编程语言中的地位,不让PHP继续抢夺市场份额,Sun和基金会为Java动态网页制定了一项新的技术标准,这就是JSP技术。JSP吸收了PHP语言在页面编写方面的所有优点,但背靠Java EE的庞大背景,可以实现很多通过Java组件才能实现的功能。在JSP页面上可以直接引用那些组件,使得JSP的功能更加强大和丰富。 保证了Java技术可持续的纵向发展,最终在动态网站开发领域站稳了脚跟,其他PHP开发人员可以快速切换到JSP进行开发,而不用考虑某些特殊组件或功能的开发,单从动态页面开发的角度来说,完全实现了PHP程序和JSP程序几乎无成本的转换,JSP技术就这样发展起来了。
2.3 SSM框架
SSM框架并不是一个框架的名字,而是三个框架的缩写,分别是、、,是Java开发者学习的首选框架。
该框架继承了EJB框架的优点,在依赖注入方面去除了臃肿的配置,在面向切面方面精简了代码量,提高了代码质量。配置通过依赖注解的方式进行,使得所有的依赖都能被程序自动配置和发现,减少了代码编写量,提高了代码的可读性。
框架仅来自一家公司,底层代码结构可以复用,但主要功能是过滤数据提交请求,过滤返回的数据,不仅限于JSP页面,也可以是其他技术,是一个比较容易大规模开发的技术集合。
框架摒弃了框架臃肿的配置,有时候当框架业务比较复杂时,代码量增加,性能下降,无法优化底层数据库语句,框架有效的解决了这个问题,可以通过Java语句来优化数据库操作语句,使得代码更加简洁,执行效率更高,也可以产生一些模块化的代码,解决开发过程中容易出现的实体映射操作。
2.4 微信开发者工具
微信网页开发者工具是国内腾讯公司开发的一款专门用于开发微信小程序的工具。在开发过程中,如果项目组在开发,可以设置多个开发测试成员,管理员可以在小程序管理后台添加成员并设置需要的权限。微信网页开发者工具可以开发小程序项目和微信公众号网页项目。如果小程序项目没有部署到服务器,只用于开发测试,可以点击测试生成,否则需要在微信公众平台申请微信公众号和微信小程序。微信网页开发者工具可以用来调用程序和页面、组件和API,发布前可以生成若干个小程序版本,后台可以查看运营相关数据。微信开发者工具是微信小程序开发必备工具!
第三章 系统分析
面对一个要开发的系统,需要事先进行分析,这也是开发过程中必不可少的一个环节,通常在系统分析过程中,主要涉及的内容包括系统开发的可行性、系统功能和性能的分析等。
3.1 可行性分析
在正式投资建设一个项目之前,有一个不可缺少的关键步骤,那就是可行性分析。它主要从现有技术和经济的角度来评估该系统的可行性。这种科学的方法经常用于投资决策中对项目进行论证。
3.1.1 技术可行性
目前系统开发的技术已经成熟,可以通过计算机网络获取所使用的开发工具以及标准化的模块代码,这些知识可以帮助开发人员顺利完成本系统的编码工作。
3.1.2 经济可行性
本系统开发过程中需要配置的软件环境可以通过开发类官网免费下载安装,需要配置的硬件设备不需要高性能,通常网吧或者学校机房的电脑就可以满足要求,因此从经济角度考虑,开发微信读书网站小程序是可行的。
3.1.3 运营可行性
微信读书站小程序根据用户习惯开发,界面统一,导航功能完善,运营人员可以轻松运营微信读书站小程序。
综上所述,从以上论证来看,该系统是可以发展的。
3.2 系统流程
流程图等工具可以直观地反映系统内部的运行逻辑,帮助用户更好的理解系统。
3.2.1 操作流程
访客进入本系统需要提供验证信息,通过验证的访客才能获得访问资格,具体操作流程如下图所示,访客在登录界面如实填写设置的信息项,信息通过验证后,访客即可进入指定页面享受本系统提供的服务以及阅读本系统的相关信息。
图3.1 操作流程图
3.2.2 登录流程
本系统登录模块内部流程如下图所示,主要对访问本系统人员提供的验证信息进行逐一判断,当输入的信息有误时系统会给出提示,如提示账号错误、密码不匹配等,总之,如果登录页面填写的信息全部符合要求,访问者即可登录成功。
图3.2 登录流程图
3.2.3 删除信息流程
本系统在频繁使用后会产生很多已经失去价值的信息,所以需要及时清理这些数据,释放系统空间。清理这些数据时,对应的流程如下图所示。先选中需要清理的数据,反复确认需要清理的数据,避免操作人员误删。被删除的数据不会出现在系统中。
图3.3 删除信息流程图
3.2.4 添加信息流程
本系统主要用于信息展示和提供服务,其中数据添加功能是服务之一,具体流程如下图所示,操作员在信息添加页面录入数据,数据提交、测试后在系统指定页面展示。
图3.4 添加信息流程图
3.3 性能要求
需求分析包括根据用户的实际需求制定功能,也涵盖了要设计的系统的性能需求分析。所以在分析系统的时候,我们一方面需要分析系统功能,另一方面也需要分析系统性能。毕竟设计和开发一个性能良好的系统才能保证系统的质量和可靠性。
接下来对系统的性能进行分析,并从界面友好性、系统时间特性、系统可靠性等方面进行分析和说明。
(1)时间特性要求:系统对于数据处理有时间要求,这也是系统的时间特性。通常,数据处理时间的分析、用户请求的响应时间的设定、系统满负荷运行时可以偏离的数值范围等都需要事先分析确定。
(2)界面友好性:人机交互界面的设计除了考虑功能上的用户需求外,还需要考虑用户的使用习惯,包括界面的布局、界面色调的选择、颜色的搭配等。尽量保证用户在接受简单培训后就能独立操作系统。
(3)系统可靠性:对于初学者来说,一个常见的问题就是自己设计开发的系统因为人为失误而崩溃。这种现象也说明这种容错性低的系统是不可靠的。完全不适合作为生活中处理信息的系统。目前系统开发要保证可靠性,在设计时也要考虑到模块化、结构化的设计理念。
3.4 功能要求
不同的系统提供不同的服务,对应的功能也不同,因此在启动系统前,需要明确系统的目的和功能,然后才能进行各项任务。
经过分析,微信读书网站小程序确定需要设置管理员角色,其操作功能通过用例图呈现(见下图)。管理员管理书店、图书订单、图书章节、回复用户消息、管理用户、阅读信息等。
图3.5 管理员用例图
经过分析,微信读书网站小程序确定需要设置用户角色,其操作功能通过用例图呈现(见下图),用户购买图书订单、支付、查看图书章节、发表留言、管理图书收藏信息等。
图3.6 用户用例图
第四章 系统设计
一个设计成功的系统,必须内容丰富,且无论在外观或功能上,都具有使用者的友善性,因此,为了提升系统的价值,吸引更多访客到访系统,让到访用户在系统上停留更多时间,就意味着系统是经过专业设计的。
4.1 设计原则
系统在设计过程中需要遵循一定的设计原则,目的是使开发的系统质量高、功能齐全、操作方便、简单,最大程度地满足用户的要求。系统设计原则除了操作方便这一基本原则外,还包括安全性、准确性等原则。
设计原则一是易操作性。系统设计时应保证功能齐全,界面友好。用户使用本系统后,应便于使用,方便快捷地操作本系统进行数据处理。此外,还应设计一些必要的提示,引导用户操作本系统。
第二个设计原则是安全性。在登录模块中,系统需要对每个访问者进行身份验证。系统会根据访问者输入的信息进行判断,使用预先编写的安全验证码进行数据比对,并将匹配成功的访问者引导至指定的操作界面。这样可以防止无关访问者窃取系统数据。
第三个设计原则是准确性原则。为了保证用户登记的数据是正确的,需要事先设计数据纠错机制,让用户通过系统的错误提示认真检查登记的错误信息,及时纠正错误,填写正确的信息。比如设置密码时,密码长度不能小于6个字符,数据类型不能全是数字等都可以规范化。
4.2 功能结构设计
基于以上分析的管理员功能,进行如下设计工作,最终呈现设计的管理员结构图(见下图)。管理员管理书店、图书订单、图书章节、回复用户消息、管理用户、阅读信息等。
图4.1 管理员功能结构图
基于以上分析的用户功能,进行如下设计工作,最终呈现设计的用户结构图(见下图)。用户可进行图书订单购买、支付、图书章节查看、留言、图书收藏信息管理等功能。
图4.2 用户功能结构图
4.3 数据库设计
开发一个系统,也需要事先设计好数据库。这里的数据库是相关数据的集合,存储在一起的数据也是按照一定的方式组织起来的。目前,数据库因为具有最优的存储方式和数据冗余度低的优势,可以服务于各种各样的应用。数据库虽然为程序提供信息存储服务,但也能与程序保持高度的独立性。总之,数据库经历了一个漫长的发展时期,从一开始的默默无闻到现在人尽皆知,其相关技术也越来越成熟,也有了扎实的理论基础。
4.3.1 数据库概念设计
这部分需要借助数据库关系图来完成,同时也需要借助专门用于绘制数据库关系图的工具,比如可以设计ER图(数据库关系图)的工具。设计数据库,同样需要遵循设计的流程,首先还是需要根据需求确定实体,分析实体的特征,确定实体之间的关系。最后利用ER模型的表示方法,画出本系统的ER图。无论是使用亿图软件还是工具,ER模型的符号都是一样的,通常用矩形表示实体,用菱形符号表示实体之间的关系,用椭圆表示实体的属性也就是实体的特征。最后用直线把矩形、菱形、椭圆等符号连接起来。接下来就开始画本系统的ER图了。
(1)下图为图书分类实体及其属性。
图4.4 图书分类实体属性图
(2)下图显示了书籍实体及其属性。
图4.5 书籍实体属性图
(3)下图显示了用户实体及其属性。
图4.6 用户实体属性图
(4)下图显示了图书订单实体及其属性。
图4.7 图书订单实体属性图
(5)下图显示了上述实体之间的关系。
图4.8 实体间关系ER图
4.3.2 数据库物理设计
本数据库是关系型数据库,所以二维表的结构设计也非常关键,毕竟二维表模型是关系型数据库中的关系模型。而关系模型中一些常用的概念在设计关系模型之前也需要了解,下面简单介绍一下关系、元组、属性、域、关键字等常用概念的含义。

关系:关系是数据库中的一张数据表,每个数据表都有一个名字,也就是说每个关系也有一个名字,也就是数据表名。
元组:元组是数据表中的一行记录;
属性:属性是数据表中的字段,也就是数据表中的列;
域:域是对数据表中属性值的限制;
关键字:关键字是数据表中的主键;
了解了表结构设计的常用概念之后,需要利用前面画出的ER模型,完成表结构的设计,在数据库中创建数据表,并为每个数据表命名。以下是展示设计结果的表格。
表4.1 图书分类信息表
字段类型 空 默认 注释
id(主键) (20) 没有主键
无创作时间
(200)为 NULL 类别
表4.2 图书信息表
字段类型 空 默认 注释
id(主键) (20) 没有主键
无创作时间
(200)为 NULL 书名
(200)为 NULL 封面
(200)为 NULL 类别
(200)为 NULL 字符数
(200)为 NULL 章节数
(200)为 NULL 作者
(200)为 NULL 价格
date 为 NULL,即上市日期
(200)是否完成
Is NULL 简介
表4.3 图书订单信息表
字段类型 空 默认 注释
id(主键) (20) 没有主键
无创作时间
(200)为 NULL 订单号
(200)为 NULL 书名
(200)为 NULL 类别
(200)为 NULL 封面
(200)为 NULL 价格
(200)为 NULL 作者
(200)用户账户为 NULL
(200)为 NULL 用户名
(200)为 NULL 用户的电话号码
sfsh(200)是否审计
shhf 为 NULL 审核回复
(200) 是 否 付款
(20)无用户ID
表 4.4 管理员信息表
字段类型 空 默认 注释
id(主键) (20) 没有主键
(100) 没有用户名
(100)无密码
role(100)是管理员角色
无添加时间
表 4.5 用户信息表
字段类型 空 默认 注释
id(主键) (20) 没有主键
无创作时间
(200)没有用户账户
mima (200) 没有密码
(200)为 NULL 用户名
(200)为 NULL 性别
(200)为 NULL 年龄
(200)为NULL头像
(200)为 NULL 用户的电话号码
(200)为 NULL ID
表4.6 章节信息表
字段类型 空 默认 注释
id(主键) (20) 没有主键
无创作时间
(200)为 NULL 订单号
(200)为 NULL 书名
(200)为 NULL 类别
(200)为 NULL 封面
(200)为 NULL 章节
内容为 NULL
(200)用户账户为 NULL
(200)为 NULL 用户名
为NULL 发布时间
(20)无用户ID
第五章 制度实施
进入这个阶段,还可以检查之前设计的需求是否可靠。一个设计良好的方案在系统实现中会帮助系统程序员节省时间,提高开发效率。因此在系统编程阶段也就是系统实现阶段,一些不合理的设计需求也能被及时发现。因为设计方案完全指导了系统编码过程。
5.1 管理员功能实现
5.1.1 书店管理
进入指定功能操作区后,管理员可以管理图书信息,页面如下图所示,管理员可以添加、删除、修改图书信息,查看图书章节是否完成。
图5.1 书店管理页面
5.1.2 图书订单管理
进入指定功能操作区后,管理员可以管理图书订单,页面如下图所示,管理员审核订单,查看订单是否已经付款,并向购买该图书的用户推送相应章节。
图5.2 图书订单管理页面
5.1.3 章节信息管理
管理员进入指定功能操作区后,可以对章节信息进行管理,页面如下图所示,管理员对章节信息进行维护,可以进行修改、删除信息。
图5.3 章节信息管理页面
5.1.4 留言板管理
进入指定功能操作区后,管理员可以管理留言,页面如下图所示,管理员可以对用户留言进行回复。
图5.4 留言板管理页面
5.1.5 读书信息管理
进入指定功能操作区后,管理员可以管理读书信息,页面如下图所示,管理员可以添加、删除、修改、查看读书信息。
图5.5 读书信息管理页面
5.2 用户功能实现
5.2.1 图书信息
进入指定功能操作区后,用户可以查看书籍简介,页面如下图所示,用户可以查看该书籍的章节数、作者、价格、书籍简介等信息,可以点击红色五角星收藏该书籍,也可以购买该书籍。
图5.6 图书信息页面
5.2.2 图书订单
进入指定功能操作区后,用户可以管理图书订单,页面如下图所示,用户可以搜索图书订单,点击图书封面图片对未支付的订单进行支付,也可以删除订单。
图 5.7 图书订购页面