毕业设计(论文)
宠物领养系统的设计与实现
学生姓名:
二级学院:
班级名称:
指导教师:
年 月 日
- 录
摘 要
ABSTRACT
1 引言
1.1 课题背景
1.2 设计原则
1.3 论文组织结构
2 系统关键技术
2.1 JSP技术
2.2 JAVA技术
2.3 B/S结构
2.4 MYSQL数据库
3 系统分析
3.1 可行性分析
3.1.1 操作可行性
3.1.2 经济可行性
3.1.3 技术可行性
3.1.4 法律可行性
3.2 系统功能分析
3.3 系统性能分析
3.4 系统流程分析
3.4.1 注册流程
3.4.2 登录流程
4 系统设计
4.1 系统结构设计
4.2 系统顺序图设计
4.3 数据库设计
4.3.1 数据库E-R图设计
4.3.2 数据库表设计
5 系统的实现
5.1 用户功能模块的实现
5.1.1 系统主界面
5.1.2 用户注册界面
5.1.3 用户登录界面
5.1.4 送养宠物详情界面
5.1.5 添加送养宠物界面
5.1.6 添加宠物秀界面
5.1.7 个人中心界面
5.2 管理员功能模块的实现
5.2.1 管理员登录界面
5.2.2 用户管理界面
5.2.3 送养宠物管理界面
5.2.4 地区类型管理界面
5.2.5 申请领养管理界面
5.2.6 宠物秀管理界面
6 系统测试
6.1 测试定义
6.2 测试方法
6.3 测试方案
6.4 测试结论
结论
致谢
参考文献
本课题是根据用户的需要以及网络的优势建立的一个宠物领养系统,来满足用宠物领养的需求。
本宠物领养系统应用JSP技术,Java语言,MYSQL数据库存储数据,基于B/S结构开发。在网站的整个开发过程中,首先对系统进行了需求分析,设计出系统的主要功能模块,其次对网站进行总体规划和详细设计,最后对宠物领养系统进行了系统测试,包括测试概述,测试方法,测试方案等,并对测试结果进行了分析和总结,进而得出系统的不足及需要改进的地方,为以后的系统维护和扩展提供了方便。
本系统布局合理、色彩搭配和谐、框架结构设计清晰,具有操作简单,界面清晰,管理方便,功能完善等优势,有很高的使用价值。
关键词:JSP技术,宠物领养,MYSQL数据库,B/S结构
This topic is based on the needs of users and the advantages of the network to establish a pet adoption system to meet the needs of pet adoption.
This pet adoption system uses JSP technology, Java language, MYSQL database to store data, and is developed based on the B/S structure. In the entire development process of the website, firstly, the system's requirements were analyzed, and the main functional modules of the system were designed. Secondly, the overall plan and detailed design of the website were carried out. Finally, the system test of the pet adoption system was carried out, including test overview and test methods. , Test plan, etc., and analyze and summarize the test results, and then draw the system's deficiencies and areas that need improvement, which provides convenience for future system maintenance and expansion.
The system has the advantages of reasonable layout, harmonious color matching, clear frame structure design, simple operation, clear interface, convenient management, and complete functions. It has high use value.
Keywords: JSP technology, pet adoption, MYSQL database, B/S structure
在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。
在现在的社会生活中,人们的生活品质不断的提高,物质的需求也相应的得到了满足。但是也有一些人在物质上的满足并不能填满心里的孤寂。当一个人在外拼搏,就算在工作氛围中有很多人的陪伴,但是回家也可能会是一个冷冷清清的环境。所以这时候如果有了一个宠物的陪伴,心里的孤寂也会得到很大的慰藉,饲养宠物可以给我们带来快乐,也让我们的心灵得到慰藉。这让用户宠物领养的需求日益在增加,但是人们在领养宠物方面却缺乏一个很好的平台,针对这一情况,开发了本宠物领养系统,为用户通过一个全新的宠物领养的平台,提高效率。
在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:
(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。
(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。
(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。
(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。
(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。
第一章主要是简单的介绍下设计本网站的研究背景、设计原则,在这一章里主要是让大家了解下我的设计的前因后果,为接下来我的其它章节做铺垫。
第二章主要是介绍在设计过程中所涉及到的技术。
第三章主要是介绍下设计这个网站所需要的需求以及我们的功能需求分析,因为只有更好的分析清楚我们的功能需求才能更好的完成我们的设计。
第四章网站系统设计,主要介绍了网站结构的设计以及展示了数据库E-R图设计,这一章主要是为了能让大家更好的了解网站的一些基本设计信息。
第五章系统的实现,介绍了系统每个模块的设计与实现,让大家能清晰的了解系统的主要功能。
第六章系统的测试,这章主要是测试下各个部分每个功能是否能用,看下是否有错误。
第七章总结,进行最后的总结工作。
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html) [7]。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,帮助程序开发者省下许多时间,JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性[8]。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计。
JSP的优点:编写一次,始终运行。还有jsp可以延展可以缩短的强大优势,还有就是支持多种开发语言并且兼容性好,适用于很多平台顺利运行。
Java是面向对象进行编程的一门语言,基础语法和C语言、C++都差不多,Java删除了C++里面的多指针、继承、自动的强制类型转换等,Java的JVM还可以自动进行垃圾回收,减少了程序员的后顾之忧。最重要的一点是Java语言是支持跨平台的,这使Java语言的使用更加广泛。
JDK(Java Development Kit)是Java语言的软件开发工具包。Java开发中JDK是最重要的核心,JDK里面有JRE,包括client和server端的。环境变量需要配置好。[1]
JRE(JAVA Runtime Environment)是支持Java程序运行的标准环境,JRE里面只有client运行环境,会自动的添加PATH 。
此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。
相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。
图2-1 B/S模式三层结构图
MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[13]
MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。
本节通过对系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。
由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。
本系统使用Java语言作为后面控制层编码的语言,Java语言有面向对象的特点,所以使用它会让整体结构更加的清晰[3]。JSP将内容的生成和显示进行分离以为方便进行动态网站的开发[4]。同时使用mysql存储数据,保证数据不会丢失。此系统在技术上来说是非常成熟的,可以进行非常平稳的技术开发。
本课题开发和运行的宠物领养系统没有任何与国家法律法规相违背的之处。而且宠物领养系统所使用的操作方式是根据一般大众的日常习惯研发的,操作简单易懂,便于管理。所以具有法律可行性。
从上面几个部分的可行性分析得出,这次开发的宠物领养系统在开发上面没有什么大问题,值得开发。
本宠物领养系统主要包括两大功能模块,即管理员模块、用户模块。下面将对这两个大功能进行具体功能需求分析。
(1)管理员:管理员登录后主要功能包括个人中心、用户管理、送养宠物管理、地区类型管理、失信黑名单管理、申请领养管理、宠物秀管理以及系统管理。管理员用例图如图3-1所示。
(2)用户:用户进入系统前台可查看系统信息,包括网站首页、送养宠物、失信黑名单以及宠物秀等。用户要想实现宠物领养操作,必须进行登录系统,未有账号用户可进入注册界面进行注册操作,注册登录后主要功能包括个人中心、送养宠物管理、失信黑名单管理、申请领养管理以及宠物秀管理。用户用例图如图3-2所示。
图3-2用户用例图
(1)系统的存储性:因为是宠物领养系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。
(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。
(4)系统稳定性:开发的宠物领养系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(5)系统的兼容性:该系统采用Java技术开发。Web开发采用Java Servlet和JSP应用程序,可以在Linux和Windows等平台上使用,具有良好的兼容性。
未有账号的用户可进行注册操作,注册流程图如图3-3所示。
图3-3 注册流程图
登录模块主要满足了管理员和用户的权限登录,用户在登录界面输入用户名和密码,点击登录,通过验证,进入系统,登录流程图如图3-4所示。
图3-4登录流程图
在系统结构设计过程中,首先,整个系统分成几个小的模块,小的问题,然后,进一步细分模块,添加细节。根据第三章中系统功能需求分析,可构建本宠物领养系统的结构图,如图4-1所示。
图4-1 系统结构图
顺序图表示交互、是指为得到一个期望的结果而在多个分类器角色之间进行的交互序列。
(1)登录顺序图
用户在登录时,首先进入系统登录窗口,用户需要输入用户名和密码,点击登录按钮进行登录操作,系统会以用户名和密码为参数在数据库中进行登录信息的验证,验证成功则登录成功,进入用户主界面。登录模块顺序图如图4-2所示。
(2)注册顺序图
未有账号的用户可进入注册界面进行注册操作,在注册界面输入注册信息,点击提交按钮,系统首先判断用户名是否存在,存在则提示重新输入,不存在则验证注册信息是否正确,正确则在数据库中添加注册数据,提示注册成功。用户注册模块顺序图如图4-3所示。
图4-3 注册顺序图
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,还是需要多花时间进行考虑,最终设计出配套程序的数据库出来。
E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。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、地区类型信息实体属性E-R图如图4-6所示:
图4-6 地区类型信息实体属性E-R图
4、申请领养信息实体属性E-R图如图4-7所示:
图4-7 申请领养信息实体属性E-R图
5、送养宠物信息实体属性E-R图如图4-8所示:
图4-8 送养宠物信息实体属性E-R图
宠物领养系统采用MYSQL数据库进行数据的储存,下面介绍数据库中的各个表的详细信息。
表4-1 users管理员信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 |
id` | bigint(20) | NOT NULL | 编号 |
username` | varchar(100) | NULL | 用户名 |
password` | varchar(100) | NULL | 密码 |
role | varchar(100) | NULL | 角色 |
addtime | timestamp | NULL | 新增时间 |
表4-2 chongwuxiu宠物秀信息表
字段名 | 数据类型 | 是否允许空 | 字段含义 | |
`id | bigint(20) | NOT NULL | 编号 | |
addtime | timestamp | NULL | 创建时间 | |
chongwudongtai | longtext | NULL | 宠物动态 | |
chongwuzhaopian | varchar(200) | NULL | 宠物照片 | |
shouyanghao | varchar(200) | NULL | 收养号 | |
`shouyangming` | varchar(200) | NULL | 收养名 | |
thumbsupnum` | int(11) | NULL | 赞数 | |
crazilynum` | int(11) | NULL | 踩数 | |
clicktime | ` datetime | NULL | 最近点击时间 |
表4-3 diquleixing地区类型信息表
字段名 | 数据类型 | 主键/允许空 | 字段含义 |
`id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
leixing | varchar(200) | NULL | 类型 |
表4-4 shenqinglingyang申请领养信息表
字段名 | 数据类型 | 主键/允许空 | 字段含义 |
`id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
chongwumingcheng | varchar(200) | NULL | 宠物名称 |
chongwuzhaopian | varchar(200) | NULL | 宠物照片 |
chongwudizhi | varchar(200) | NULL | 宠物地址 |
songyanghao | varchar(200) | NULL | 送养号 |
songyangming | varchar(200) | NULL | 送养名 |
diqu | varchar(200) | NULL | 地区 |
shouyanghao | varchar(200) | NULL | 收养号 |
`shouyangming` | varchar(200) | NULL | 收养名 |
xingbie | varchar(200) | NULL | 性别 |
shouji | varchar(200) | NULL | 手机 |
weixinhao | varchar(200) | NULL | 微信号 |
`dizhi | varchar(200) | NULL | 地址 |
lingyangyuanyin | varchar(200) | NULL | 领养原因 |
yangchongjingyan | varchar(200) | NULL | 养宠经验' |
sfsh | varchar(200) | NULL | 是否审核 |
shhf` | longtext | 审核回复 |
表4-5 `songyangchongwu送养宠物信息表
字段名 | 数据类型 | 主键/允许空 | 字段含义 |
`id | bigint(20) | NOT NULL | 编号 |
addtime | timestamp | NULL | 创建时间 |
chongwumingcheng | varchar(200) | NULL | 宠物名称 |
chongwuzhaopian | varchar(200) | NULL | 宠物照片 |
chongwudizhi | varchar(200) | NULL | 宠物地址 |
diqu | varchar(200) | NULL | 地区 |
fabushijian` | datetime | NULL | 发布时间 |
songyanghao` | varchar(200) | NULL | 送养号 |
songyangming | varchar(200) | NULL | 送养名 |
shouji | varchar(200) | NULL | 手机 |
songyangzhuangtai | varchar(200) | NULL | 送养状态 |
sfsh | varchar(200) | NULL | 是否审核 |
shhf` | longtext | 审核回复 |
用户进入本系统可查看系统信息,系统主界面展示如图5-1所示。
图5-1系统主界面图
未有账号的用户可进行注册操作,在注册的时候可根据提示输入相关注册信息,用户注册界面如图5-2所示
图5-2 用户注册登录界面