1.1研究背景
随着科学技术的发展,计算机已经成为人们办公工作中必不可少的工具,在这种背景下,网络技术已经被应用到各个方面,为了提高办公生活的效率,网络信息技术得到了迅速的发展。当人类社会进入了一个新的信息时代。信息管理一直是一大难题的存在。宠物管理人员具有很大的流动性和大量的服务。此时,迫切需要为宠物管理找到一种有效便捷的信息管理方法。而日益成熟的计算机信息管理技术已成为解决这一问题的唯一选择。如今,计算机信息管理技术处理宠物信息已经绰绰有余,事实上,信息管理技术已经渗透到各个行业的信息控制管理中,并具有举足轻重的地位。随着现代社会主义的不断进步,许多方面都在网络上实现,使网络成为最直接、方便、快捷的接入方式。
1.2 研究意义
在当今这个时代,计算机技术和网络的发展,在许许多多方面便捷了人们的生活,在宠物信息的管理上也不例外。本论文旨在,通过利用计算机和互联网技术,设计并实现一套宠物网,帮助管理员和用户最大程度上的简化日常管理工作。
一个好的宠物网,将帮助管理人员从琐碎冗杂的日常管理事务中解放出来,更专心投入在宠物管理的职责上,因而能更好的履行他自身的责任,这个宠物网也就间接地为美好社会的创建出了一份力。所以宠物网的设计和实现是必要的也是很有意义的。
1.3国内外研究现状
如今,因为无线网相关技术的快速,尤其是在网上进行资源的上传下载、搜索查询等技术,以及信息处理和语言开发技术的进步,同时编程语言、建模技术的不断发展,促使诸多的平台系统架构由C/S(客户端/服务器)更多的转变为采用B/C(浏览器/服务器)的架构,从而让程序平台网络端的系统架构迎来了一个新的阶段。
并且,在对国外办公自动化系统发展现状的了解中,发现国外办公自动化系统大多是一种门户的建设,除日常的办公业务外,与物流和资金流关系紧密的许多业务也都被设计为功能模块加入系统中。在这一点上,我国完全没有落后,通过采用集成了这些功能的系统,帮助宠物的工作效率得到了极大提高,从而持续地为宠物店带来更多经济收益。
而宠物信息管理也是管理员和用户日常管理工作中的一部分,我国现有的宠物信息管理中,往往管理实施的具体程序不够全面规范,这说明在程序开发过程中对这部分功能的重视程度不够,宠物信息管理也并未达到共享,这可能让用户信息流失使服务无法到位。
1.4本文组织结构
本论文将详细阐述宠物网的开发背景、应用可行性以及系统实现所具有的现实意义,在对宠物网进行详细的需求分析后,会根据需求分析的结果再结合实际情况为系统的实现选取合适的技术和架构,之后在上述分析论述的基础上进行系统设计,最后完成系统实现和测试。
本文共分为七章,分别是:
第一章绪论,在这一章中对宠物网的研究背景和意义进行介绍,同时浅述了信息管理系统的发展,明确了宠物网的实现的目的和方向。
第二章技术介绍,在本章中列举介绍了系统实现采用到的所有技术,包括一些主流的框架技术。
第三章需求分析,这一章对宠物网的需求进行了全面详细的分析,从系统实现的应用可行性、技术可行性,再到系统的功能、性能、安全性需求都做了说明分析,最后描述了系统的业务流程对需求分析进行补充。
第四章系统设计,这一章中包含了系统实现选取的架构模式,以及组成系统的各个功能模块。
第五章系统实现,本章是在经过前面几章的分析后,将宠物网开发实现,章节内容包括系统开发环境、运行环境和具体的功能模块实现。
第六章系统测试,模拟系统的实际应用环境,对编写完成的程序进行测试。在本章中列举了测试用例和测试结果。
第七章总结,对宠物网的整个设计和实现过程进行总结。
2 技术介绍
在这一章中,主要是罗列出实现系统将采用的技术框架并对其做简单介绍。本论文中的宠物网使用当下主流的 Python开发。系统前端的业务逻辑以及数据展示使用Django框架技术来实现,系统的底层数据库选用了关系型数据库MySQL。
2.1 Python介绍
Python不仅可以取代NCL,还可以实现NCL不具备的许多功能,极大地改善了用户体验,这已成为未来的趋势。与Highcharts和eCharts等Web前端可视化工具相比,Python在气象数据可视化领域更为专业。
Python目前支持使用第三方库,如netCDF4、Numpy、Matplotlib、Canopy和Xarry,以解析和可视化NetCDF格式的数据,从而使Pythone易于处理天气数据。对这些主要的第三方库进行了介绍如下表:
表2.1 主要python库
2.2 DJANGO框架
Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈·莱因哈特命名。该架构的主要组件如下:
1.用于创建模型的对象关系映射。
2.最终目标是为用户设计一个完美的管理界面。
3.是目前最流行的URL设计解决方案。
4.模板语言对设计师来说是最友好的。
5.缓存系统。
2.3 MySQL数据库
MySQL是一个小型,廉价,快速的开源数据库。本系统对大量的数据进行了全面的支持,可以同时处理数百万的数据,在调试、管理、优化等方面都有较大的优势。它支持 SQL语句的通用规格,使用非常灵活和安全的授权和口令。虽然 Sql服务器易于使用,并且可以存储大量的数据,但是它比 MS Sql服务器要好得多。但是在网络连接的速度上,无法实现实时、高效的目的。因此,尽管 MySql有很大的缺陷,但是它的可移植性,支持多线程,优化查询算法,这使得 MySql在个人和中小型企业中非常流行[8]。
2.4 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
2.5 HTML5 技术
HTML5 是对 HTML 标准的[2]第五次修订。其主要的目标是将互联网语义化,以便于更好的将音频和视频融入web,同时给用户创造了便捷的开发。HTML5 的语法是向后兼容的。HTML5是WHATWG在2004年提出,经过三年的整合之后由W3C接手,并成立了新的 HTML 工作团队。可以在网页上直接调试和修改是HTML5手机应用的最大优势。灵活性、新属性、淘汰过时的或冗余的属性、 一个HTML5文档到另一个文档间的拖放功能、离线编辑、信息传递的增强、详细的解析规则、多用途互联网邮件扩展(MIME)和协议处理程序注册。
2.6本章小结
在本章中,详细介绍了本论文中实现的宠物网所采用的技术,描述了对mysql数据库, Python技术和Django框架的介绍。对上述技术的研究和应用,可以为程序后续的顺利开发提供帮助,在简化程序开发的同时提高开发效率和质量。
3需求分析
在这一章中将对本论文要实现的宠物网进行详尽的需求分析,本章内容主要涵盖了对系统预期应用环境的分析,对系统功能和性能需求的分析,最后还有对系统的非功能性需求以及业务流程的分析。这一章的内容将为之后的系统设计和实现提供可靠依据,是系统完整可靠实现的重要保障。
3.1可行性分析
3.1.1经济可行性分析
本系统所需要用到的所以的工具都是开源,不收费的,并且本系统因为不具有太过于复杂的结构,用户维护系统的费用也不高。所以,本系统的经济可行性是可行的。
3.1.2技术可行性分析
该论文将采用 B/S架构,主要使用 Python语言进行系统后端开发,同时选用MySQL作为持久层交互的数据库,系统同时使用Django框架,使开发过程能够变得高效简便。这里采用的MVC 三层架构,将业务逻辑、数据存取、界面显示分离开的程序开发模式,使用这种模式进行开发、组织代码,可以将所有的业务逻辑整合到一个实体类中,这样的话在有新需求提出或者某个需求需要进行变更的时候,不需要大量的修改程序,只需要找到对应的功能模块进行修改,这极大地方便了程序的维护,提高了程序的可扩展性。
3.2系统需求分析
3.2.1功能需求
本论文中实现的宠物网将以管理员和用户的日常信息维护工作为主,主要涵盖了个人中心,用户管理,宠物领养管理,寻找主人管理,寻找宠物管理,推荐类型管理,推荐信息管理,系统管理等功能,采用该宠物网将满足管理员和用户日常管理工作的基本需求。从管理员和用户登录开始录入系统,然后记录宠物信息,从而让管理员和用户对系统的管理都能够清晰规范,相应信息的检索和维护简单高效,进而提高整体工作的效率。
3.2.2 性能需求
(1)故障率低
低故障率对宠物网十分重要,如果故障率较高,将会给用户的日常工作和服务带来很大不变。所以系统的实现要尽可能的保证更低的故障率,以保障系统的平稳运行。
因此,除了保证使用系统的硬件较为可靠外,在程序的设计上,我们需要增加一些预防性功能,比如当系统中的某些功能运行出现故障时,提供预防措施,例如给出错误信息告知用户然后结束该功能,否则的话可能因为一个功能的故障导致整个系统瘫痪。
(2)界面友好
本系统设计的目的在于帮助系统用户更加高效轻松地进行日常的管理工作,所以作为一个工具,该系统应该被设计得易于上手使用,整个系统界面需要简洁明了、清晰易懂,而且一定要为用户提供必要的提示信息,比如在登录时用户密码或者用户名输入错误时要给予提示。总之一定要从使用者的角度出发,去设计用户操作界面。
3.2.3 安全性需求
首先要保证服务器不受攻击,数据库不能曝露在互联中。对使用系统的不同用户赋予相应的权限,用户只能进行自己权限允许范围内的操作。数据库中进行多用户管理,对用户的敏感信息如身份证信息,只有最高权限的数据库管理员用户可查询,其他用户无权限查看。
3.3系统用例分析
在设计系统的过程中,用例图是系统设计过程中必不可少的模型,用例图可以更为细致的,结合系统中人员的有关分配,能够从细节上描绘出系统中有关功能所完成的具体事件,确切的反映出某个操作以及它们相互之间的内部联系。
其中参与者就是和系统能够发生交互的外在实体,一般可以指系统的某个用户。一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由不同的用例图所组成的。系统用例图下所示。
图3-1 管理员用例图
图3-2 用户用例图
3.4系统流程的分析
3.4.1 登录流程
登录流程如图3-3所示:
图3-3 登录流程
3.4.2个人中心管理流程
个人中心管理流程如图3-4所示:
图3-4 个人中心管理流程
3.4.3 系统操作流程
系统操作流程如图3-5所示:
3.5本章小结
在本章中对本论文要实现的宠物网要实现的需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。
通过前三章的分析说明,本论文中宠物网已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
4.1系统结构设计
随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的宠物网也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层,并且在表现层采用MVC设计模型。
采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前端也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。
同时,该系统采用的B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。
以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。
4.2系统功能模块设计
宠物网的使用者主要有两类用户,一类是管理员,他拥有整个系统的最高权限,然后是用户,都只能对自己的个人信息进行操作。系统根据这两类用户,划分出了两大功能模块。
4.2.1管理员模块
管理员用户具有整个系统的最高权限,可以使用系统中的所有功能模块,包括查看所有宠物信息,并对这些数据进行管理。在用户模块中可以将新的信息录入系统,还可以查询,删除和编辑权限内的信息。在系统维护管理中可以对用户登录信息、用户权限进行管理。
4.2.2 用户模块
用户的功能模块中主要涵盖:可以根据需要和实际情况修改自己的个人信息,可以对宠物领养,寻找主人,寻找宠物,推荐信息进行操作等。
4.3系统功能结构设计图
以上所涉及到的有关的功能,都是用功能结构图来简洁和清晰的表示出来,功能结构图就是能够把比较复杂的功能结构用图的形式清晰的描绘下来,并且为后续的设计以及测试等模块提供了明确的方向,在构思功能结构图的时候,便可以给设计的过程带来一定的思维导向,不至于在设计过程中有所遗漏,可以尽可能的明确系统所涉及到的功能。
以上所涉及到相关的功能以简洁清晰的方式来表示的,将复杂的结构以图形的形式画清楚,并且为后续的设计和测试模块提供了明确的方向,在构思功能结构图的时候,可以给设计过程带来一定的思维导向,在设计过程中不至于遗漏。可以尽可能明确系统所涉及的功能。
系统的总体功能结构图如图4-1所示。
图 4-1系统总体结构图
4.4数据库设计
数据库对所有信息管理系统来说都十分重要,因为系统中的核心功能大多都依赖于数据库,所以数据库的设计将对系统的性能和功能实现起到重要作用。该系统内总共有两类对象,分别是管理员和用户,数据库设计将根据这些用户的属性来实现,同时,建立表的结构以及表与表之间的关系。
4.4.1 概念模型设计
数据库在程序的设计中扮演了重要的角色,它将系统涉及的数据全部容纳其中,在数据库设计时,为了能够明确思路,清晰明了一般都是先构建E-R图,ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1)寻找宠物实体属性图如4-2所示
图4-2寻找宠物实体属性图
(2) 宠物领养实体属性图如4-3所示
图4-3宠物领养实体属性图
(3)用户实体图如图4-4所示。
图4-4用户实体图
(4)推荐信息实体属性图如4-5所示。
(5)百科信息实体属性图如4-6所示。
图4-6百科信息实体属性图
4.4.2 数据库表结构
本论文中的宠物网采用MySQL数据库,系统中的所有对象以及对象的所有属性都将在下列表格中展现。
表4-1:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-2:寻找宠物
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
chongwumingcheng | varchar | 200 | 宠物名称 | ||
chongwutupian | longtext | 4294967295 | 宠物图片 | ||
chongwupinzhong | varchar | 200 | 宠物品种 | ||
chongwuxingbie | varchar | 200 | 宠物性别 | ||
yishishijian | datetime | 遗失时间 | |||
yishididian | varchar | 200 | 遗失地点 | ||
chongwuzhuangtai | varchar | 200 | 宠物状态 | ||
chongwujianjie | longtext | 4294967295 | 宠物简介 | ||
fabushijian | datetime | 发布时间 | |||
faburen | varchar | 200 | 发布人 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
yonghuzhanghao | varchar | 200 | 用户账号 |
表4-3:宠物领养
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
chongwumingcheng | varchar | 200 | 宠物名称 | ||
tupian | longtext | 4294967295 | 图片 | ||
chongwupinzhong | varchar | 200 | 宠物品种 | ||
chongwunianling | varchar | 200 | 宠物年龄 | ||
chongwuxingbie | varchar | 200 | 宠物性别 | ||
lingyangyaoqiu | longtext | 4294967295 | 领养要求 | ||
chongwuxiangqing | longtext | 4294967295 | 宠物详情 | ||
lingyangzhuangtai | varchar | 200 | 领养状态 | ||
fabushijian | datetime | 发布时间 | |||
faburen | varchar | 200 | 发布人 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
yonghuzhanghao | varchar | 200 | 用户账号 |
表4-4:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-5:联系我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
表4-6:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
shoujihaoma | varchar | 200 | 手机号码 |
表4-7:推荐信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tuijianbiaoti | varchar | 200 | 推荐标题 | ||
fengmian | longtext | 4294967295 | 封面 | ||
tuijianleixing | varchar | 200 | 推荐类型 | ||
tuijianliyou | longtext | 4294967295 | 推荐理由 | ||
tuijianxiangqing | longtext | 4294967295 | 推荐详情 | ||
tuijianriqi | date | 推荐日期 | |||
tuijianren | varchar | 200 | 推荐人 | ||
yonghuzhanghao | varchar | 200 | 用户账号 |
表4-8:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-9:寻找主人
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
chongwumingcheng | varchar | 200 | 宠物名称 | ||
chongwutupian | longtext | 4294967295 | 宠物图片 | ||
chongwupinzhong | varchar | 200 | 宠物品种 | ||
chongwuxingbie | varchar | 200 | 宠物性别 | ||
shidaoshijian | datetime | 拾到时间 | |||
shidaodidian | varchar | 200 | 拾到地点 | ||
zhurenzhuangtai | varchar | 200 | 主人状态 | ||
chongwujianjie | longtext | 4294967295 | 宠物简介 | ||
fabushijian | datetime | 发布时间 | |||
faburen | varchar | 200 | 发布人 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
yonghuzhanghao | varchar | 200 | 用户账号 |
表4-10:推荐类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tuijianleixing | varchar | 200 | 推荐类型 |
表4-11:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-12:百科信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-13:寻找主人评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-14:寻找宠物评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-15:推荐信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-16:宠物领养评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
4.5本章小结
本章主要是对管理员和用户进行系统设计,详细的说明了该系统实现所采用的架构、系统中所有的功能模块,并以表格的形式展现了系统持久层中的所有实体和实体的所有属性。明确的功能说明和详尽的数据陈列,方便将系统业务和数据联系起来,为后面的程序开发提供方便。
5 系统实现
在上一章中,已经本论文中的宠物网进行了全面的系统设计。接下来第五章对本宠物网的实现过程进行说明,包括对该宠物网所需的开发环境、运行环境的说明以及对上一章中提到的各种内容的实现。
5.1系统开发环境以及运行环境
5.1.1 系统开发环境
表5-1 开发环境
开发使用的操作系统 | Windows10 |
开发使用的编程语言 | Python |
开发框架选择 | Django |
选取的数据库 | MySQL |
5.1.2 系统运行环境
本宠物网的运行环境如表5-2所示。
表5-2 客户端运行环境
运行使用操作系统 | Windows10 |
客户端软件 | Chrome浏览器 |
5.2系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到宠物网的导航条,通过导航条进入各信息展示页面进行操作。系统首页界面如图5-1所示:
系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
宠物领养:在宠物领养页面的输入栏中输入宠物名称,宠物品种,宠物性别和选择宠物状态进行查询,可以查看到宠物领养详细信息,并根据需要进行评论操作;宠物领养页面如图5-3所示:
图5-3宠物领养详细页面
寻找主人:在寻找主人页面的输入栏中输入宠物名称,宠物品种,选择宠物性别和选择主人状态进行查询,可以查看到寻找主人详细信息,并根据需要进行评论操作;寻找主人页面如图5-4所示:
图5-5百科信息详细页面
个人中心:在个人中心页面通过填写个人详细信息进行信息更新操作,还可以根据需要对我的收藏进行详细操作;如图5-6所示:
5.3管理员模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-7所示。
图5-7 管理员登录界面
管理员进入主页面,主要功能包括对个人中心,用户管理,宠物领养管理,寻找主人管理,寻找宠物管理,推荐类型管理,推荐信息管理,系统管理等进行操作。管理员主页面如图5-8所示:
图5-8 管理员主界面
管理员点击用户管理。在用户页面输入用户账号进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-9所示:
图5-9用户管理界面
管理员点击宠物领养管理。在宠物领养页面输入宠物名称,宠物品种,选择宠物性别和选择宠物状态进行查询、新增或删除宠物领养列表,并根据需要对宠物领养详情信息进行详情、修改、查看评论或删除操作;如图5-10所示:
图5-10宠物领养管理界面
管理员点击寻找宠物管理。在寻找宠物页面输入宠物名称,宠物品种,选择宠物性别和选择宠物状态进行查询、新增或删除寻找宠物列表,并根据需要对寻找宠物详情信息进行详情、修改、查看评论或删除操作;如图5-11所示:
管理员点击寻找主人管理。在寻找主人页面输入宠物名称,宠物品种,选择宠物性别和选择主人状态进行查询、新增、删除寻找主人列表,并根据需要对寻找主人详情信息进行详情、修改、查看评论或删除操作;如图5-12所示:
图5-12寻找主人管理界面
管理员点击推荐信息管理。在推荐信息页面输入推荐标题进行查询,新增或删除推荐信息列表,并根据需要对推荐详情信息进行详情、修改、查看评论或删除操作;如图5-13所示:
图5-13推荐信息管理界面
管理员点击系统管理。在百科信息页面输入标题进行查询,新增或删除百科信息列表,并根据需要对百科详情信息进行详情、修改或删除操作;如图5-14所示:
图5-14系统管理界面
5.4用户模块实现
用户进入系统可以对个人中心,宠物领养管理,寻找主人管理,寻找宠物管理,推荐信息管理等功能进行操作。用户主页面如图5-15所示:
图5-15用户主界面
5.5本章小结
在本章中对系统的开发和应用环境进行说明,这些内容为下一章测试时的环境搭建提供依据。本章还通过文字说明和截图的方式对系统应用的界面做了简要介绍。
6系统测试
系统测试是针对整个产品系统进行的测试,通过测试验证整个系统是否正确满足了前面需求分析篇章中的所有需求,测试系统的性能和功能是否与预想的一致,进而提高系统的稳定性和可靠性。同时,通过合理的测试可以发现系统中存在的问题,以防止系统在正式投入使用后出现故障,影响系统使用者工作的顺利进行。系统测试的主要方法有白盒测试和黑盒测试,本章节将采用黑盒测试法,从系统的功能和性能两方面入手进行测试。
6.1 系统测试目的
在一个可靠的软件系统开发过程中,系统测试是其中重要的一环,有时在一套大型的软件系统中一个小故障就可能带来严重后果。虽然不存在完全没有问题的软件,但是可以通过全面系统的测试尽可能的发现漏洞,并在系统投入使用前修复漏洞,尽可能减小在实际使用中系统发生故障的概率。
6.2 系统测试环境
为了使测试结果更加可靠,需要模拟实际的系统应用场景来搭建测试环境。下表列出了系统测试环境的组成部分。
表6-1系统测试环境组成
硬件或软件 | 型号以及版本 |
操作系统 | Windows10 |
数据库 | MySQL Sever5.7 |
浏览器 | Chrome |
测试网络 | 4G热点 |
6.3系统测试用例
- 页面跳转测试
目的测试是测试系统的不同功能页面间能否正常准确跳转,测试结果如下表。
表6-2首页跳转表
编号 | 操作 | 预期结果 | 测试结果 |
1 | 点击用户管理 | 跳转相应用户管理界面 | 成功跳转管理界面 |
2 | 点击登录 | 跳转至初始界面 | 成功跳转初始界面 |
3 | 点击注册 | 跳转到注册界面 | 成功跳转注册界面 |
- 用户登录功能测试
测试登录注册功能的正确性以及用户错误登录时的系统反馈,测试结果如下表所示。
表6-3 注册登陆页面测试表
编号 | 操作 | 预期结果 | 测试结果 |
1 | 点击注册,输入新的用户名密码 | 注册成功 | 注册成功 |
2 | 使用注册成功的用户名进行登录 | 登陆成功 | 登录成功 |
3 | 使用错误用户名登录 | 显示账号或密码错误 | 提示“账号或密码错误” |
4 | 用户名为空进行登录 | 显示用户名不能为空 | 提示“用户名不能为空” |
6.4本章小结
本章旨在进一步的完善系统,为此进行了系统测试,通过测试验证了系统运行的正确性和可靠性,根据测试结果也进一步完善了宠物网的功能。