博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到🔎百套Python实战项目持续更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,帮你做好开题答辩❤️文末获取源码联系、提供项目参考文档❤️ ⚠️最新亮点功能定制⚠️
通过前三章的分析说明,本论文中宠物网已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
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所示。
图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-1 系统首页界面
系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
图5-2系统注册页面
宠物领养:在宠物领养页面的输入栏中输入宠物名称,宠物品种,宠物性别和选择宠物状态进行查询,可以查看到宠物领养详细信息,并根据需要进行评论操作;宠物领养页面如图5-3所示:
图5-3宠物领养详细页面
寻找主人:在寻找主人页面的输入栏中输入宠物名称,宠物品种,选择宠物性别和选择主人状态进行查询,可以查看到寻找主人详细信息,并根据需要进行评论操作;寻找主人页面如图5-4所示:
图5-4寻找主人详细页面
源码获取
大家点赞、收藏、关注 ,让更多需要的同学看到
不同开发语言专栏推荐订阅:
👇下方有我的微信名片👇