目录
随着计算机技术、网络技术的不断发展,人们的生活、学习、工作方式发生了很大变化,人与人之间面对面的接触越来越少,人们希望能借助网络平台结识志同道合的人。因此,交友网站应运而生。
本系统采用Java语言编写一个基于SSM架构的交友网站系统,数据采用MySQL存储。管理员可以在系统的管理接口上进行系统的管理,管理员的功能包括首页、个人中心、用户管理、兴趣标签管理、交友信息管理、活动类型管理、线下活动管理、报名活动管理、留言板管理、交流论坛、系统管理。用户的权限包括查看公告信息、个人信息管理、交友信息管理、报名活动管理。本文对该软件的功能设计、业务流程设计及需求进行了较为详尽的阐述。并且通过测试与优化,保证了系统的稳定性。该系统操作方便,方便用户进行交流和互动,为用户提供更好的交友体验。
关键词:交友网站;SSM;Java;MySQL
Abstract
With the continuous development of computer technology and network technology, people's way of living, learning and working has changed a lot. Face-to-face contact between people is becoming less and less. People hope to get to know like-minded people with the help of network platforms. Hence the rise of dating sites.
This system uses Java language to write a dating website system based on SSM architecture, data is stored by MySQL. The administrator can manage the system on the management interface of the system. The functions of the administrator include home page, personal center, user management, interest label management, friend information management, activity type management, offline activity management, registration activity management, message board management, communication forum, system management. Users' rights include viewing announcement information, personal information management, making friends information management, registration activity management. In this paper, the function design, business process design and requirements of the software are described in detail. And through testing and optimization, the stability of the system is guaranteed. The system is convenient to operate, convenient for users to communicate and interact, to provide users with better experience of making friends.
Key Words: dating website; SSM; Java; MySQL
1 引言
1.1 课题研究的背景
随着互联网技术的不断快速发展,我国上网的人数逐年在增加,地球正逐渐变成了一个地球村[1]。网络渗透到我们生活的方方面面,如何充分利用互联网技术,为用户提供一个良好便捷的交流环境,丰富我们的个人生活是非常重要的[2]。
目前人们交友的方式不再采用传统的打电话或是线下见面,更多的采用有微信和QQ。但是微信和QQ方式接触到的朋友圈子还是非常有限。因此设计并实现一个交友网站,充分利用网络资源为用户提供更广泛的交流渠道是非常必要的。
1.2 课题研究的目的和意义
人与人之间不能没有交流,交友网站为社交难度较大的人们提供了一个平台。对于一些害羞或者社交能力较弱的人来说,主动与陌生人建立联系是非常困难的。但是通过交友网站,用户可以通过个人资料、聊天记录等信息了解对方的情况,轻松地筛选出自己感兴趣的人,避免了传统交友方式中需要大量时间和精力去约会、交往、筛选等繁琐的过程。通过交友网站,他们可以在不受到太多压力的情况下与其他人聊天,结识新的朋友或者寻找自己的另一半。其次,交友网站通过实名认证、身份验证等措施确保用户信息的安全,保障了用户的隐私权,减少了与陌生人交往时的风险。同时,交友网站也允许用户在自己的时间和地点方便的情况下进行线下交流,从而提高了交友的效率。因此,交友网站提供了一个便利、高效和安全的交友方式[3]。
总之,交友网站为用户提供一个能够轻松交流的社交平台,方便用户认识不同的朋友,实现不同地区文化交流与碰撞,拓展人脉,拓宽与朋友互动交流方式,使原本没有联系的产生了联系,扩大了人们的社交圈子,满足了人们对于爱情和友情的需要。
1.3 课题研究的主要内容
(1)本次针对开发设计系统并设置了与之相关的实施方案,通过对完整的软件开发流程进行分析,先是开发了设置不同用户的操作权限和相关功能两个模块,最后一步就是对系统进行测试。
(2)程序开发者根据框架迅速构建软件的整体层次, 而SSM是本次开发用到的框架,它有一个巨大的优势那就是拥有很强的开发环境部署的能力,程序开发者可以快速便捷的构建出相关的软件基本框架,通过多种框架的开发不仅可以帮助程序开发者减少代码量,而且系统的安全性和稳定性还得到了提升,对处理交友网站功能的模块也起到了帮助。
(3)操作数据需要通过使用开源框架进行管理,该框架不仅符合最基本的标准,还可以利用数据库之间的约束关系来约束数据库的记录,这样系统实体和数据库表字段就相映射,根据它们之间的关系模型从而来设置系统实体间的关系[4]。
2系统相关技术
2.1 Java语言简介
Java 语言是一门受众很广的语言,来自Sun Microsystems公司,Java可运行在很多平台,相较于C++语言,不仅吸收了C++很多优点,还摈弃了里面许多晦涩难懂的概念,Java的优点很多,可面向对象开发,平台多样性以及可移植性很高,目前市面上很多大型网站项目都使用Java编写,由此可知Java的受欢迎程度很高[5]。
Java面向对象的三种特征:封装,继承和多态。
密封:主要是指对数据信息的隐藏,通过把数据信息类别与通过数据信息的功能密封在一块,让数据信息被保存在数据信息类别的里面,只留下一部分可以对外的接口,以便于尽可能的地隐蔽里面的数据信息。因此好处也就十分的明显就是实现了专业的分工,同时也隐藏了信息,保证了安全。
继承:这就像是实际人生中的父子关系一样,孩子要承袭父母的特点。类似的,一个种类同时也继承了另一个种类的某些特性,其父属之间有一种特别的一般性的联系,是is-a的关系,从根本上来说都属于同一个实体。
多态:多态系统是以封装和继承为基础的。由于所传输的父类对象能够引入各种各样的子类对象,因而能够显示出各种各样的现象,给多态的编程带来了良好的扩展。
2.2 MySQL数据库
MySQL数据库一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等[6]。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。交友网站运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用[6]。
2.3 B/S架构
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少[7]。
2.4 SSM框架
若以模式—视—控制器的方式来进行信息系统的开发,则要从多个层面上验证多个层面的模型,就必须区别出系统的抽象与特定的差异。模式-视-控制器设计的目标并非要引导设计者如何设计模式,而是要透过模式-视图-控制器来引导软件开发人员进行合理的模式配置[8]。模式-视图-控制器旨在通过利用现有的构件简化软件开发人员开发软件,从而减少开发过程中的复杂性。在商业模式中,数据模式是很关键的,该数据模式可以将有关的信息存储在一个系统中。在控制区,可以对来自于前端网页的使用者的要求进行处理。
3 可行性分析
3.1 经济可行性
管理员有了这个管理软件,就可以对交友网站进行管理,节约了大量的经费。为了有效地克服由于传统方式所造成的额外的财务开支,特别是在人员方面所造成的费用开支,本文对此进行了研究和探讨。由于采用传统的管理方式,不但耗费了大量的人员,还常常要求管理员进行人工记录。该系统的设计与实施旨在减少软件开发费用,节约管理员工作时间,增强用户体验。鉴于现有的因特网开放源码架构及软体装置,因此在经济性上是可以做到的[9]。
3.2 技术可行性
在开发交友网站的时候,硬件和软件的要求相对较少,只要Win10就行了,不需要硬盘,所以硬件的价格要便宜一些;本系统的开发使用java作为系统开发的开发语言,开发工具选择 Eclipse,而 B/S架构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性[10]。
3.3 社会可行性
本文所研制的交友网站具有不违背法律、伦理层面、操作界面较为简便、便于用户使用的特点。由于电脑技术的飞速发展,电脑技术在服务行业中的运用也越来越广泛,因而可以更好地为这次的交友网站体系的开发打下坚实的基础[11]。
3.4 操作可行性
由于交友网站的部分功能是面向用户进行操作而开发的,在进行交友网站的管理时,必须考虑到用户对其进行操作和存取等方面的影响因素,一般都可以采用信息技术进行操作和使用,这样就可以降低用户的学习费用和一些繁琐步骤。该系统在设计中没有太多繁琐的操作和步骤,所用的操作接口和按键也比较简洁和易懂,参照了很多主要的交友网站,具有很好的操作性。
4 需求分析
4.1 用例图
从软件的发展的观点看,最主要的是对软件的需求进行了研究,并对其进行了研究。只要能正确地进行需求分析和设计,就能节约大量的研发周期,加快研发进度。在对本系统的要求有了一定的认识以后,再根据不同的任务要求设定相应的函数,以使用户能够更好地利用这些特点来实现对系统的服务和管理等多方面的要求[13]。
图4-1 管理员用例图
(2)用户用例图如下所示:
图4-2 用户用例图
4.2 性能需求
尽管在软件的发展中,系统功能性要求必须得到关注和认可,但性能要求同样也很关键。如果系统表现得很糟糕,就会降低使用者的使用感受,降低管理员的管理能力。若要提高系统效能,则须注意资料安全性、查询效率及反应能力等多方面要求。
由于日常使用的交友网站所生成的大量的资料,这些资料都包含在了整个系统的各个环节中,所以资料的安全问题就显得尤为关键。为了确保数据的安全,必须要对用户的口令进行加密,当用户的口令出现在数据库中的情况下,必须要通过特定的符号来进行操作和使用。
在交友网站的许多模块中,都具有检索的作用,一些还包含了多种表格的检索。随着交友网站业务的不断增加,随着系统业务的不断增加,所容纳的数据也会不断增加,所以必须对SQL数据库中的SQL语句进行适当的改进,以加速数据的检索。
5 系统设计与实现
5.1系统前台功能模块设计
根据以上的分析可得,交友网站前台功能模块图如图5-1所示。
图5-1 交友网站前台功能模块图
5.2 系统后台功能模块设计
根据以上的分析可得,交友网站后台功能模块图如图5-2所示。
图5-2 交友网站后台功能模块图
该交友网站的功能设计模块是针对用户的需要而设定的,而系统的概念化模式则是建立一个对象的架构,这就是建立一个数据库的一个关键步骤。E-R图是一种用于描述概念模型的方法,它可以在已获得的数据模型的基础上,针对使用者的需要,设计出符合其要求的对象。
用户实体属性图,如图5-3所示:
图5-3用户实体属性图
线下活动实体属性图,如图5-4所示:
图5-4线下活动实体属性图
交友信息实体属性图如图5-5所示:
图5-5交友信息实体属性图
报名活动实体属性图如图5-6所示:
图5-6报名活动实体属性图
用户参加活动E-R图如图5-7所示:
图5-7 用户参加活动E-R图
(1)用户表
用户表用来存储用户信息,字段设计如表5-1所示。
表5-1 用户表
列名 | 数据类型 | 长度 | 主外键 | 字段说明 |
id | bigint | 20 | 主键 | 主键 |
addtime | timestamp | 0 | 创建时间 | |
yonghuzhanghao | varchar | 16 | 主键 | 用户账号 |
mima | varchar | 16 | 密码 | |
yonghuxingming | varchar | 16 | 用户姓名 | |
touxiang | longtext | 0 | 头像 | |
xingbie | varchar | 11 | 性别 | |
chushengriqi | int | 11 | 出生日期 | |
shouji | varchar | 11 | 手机 | |
youxiang | varchar | 50 | 邮箱 | |
xingqubiaoqian | varchar | 50 | 兴趣标签 |
(2)线下活动表
线下活动表用来存储线下活动信息,字段设计如表5-2所示。
表5-2 线下活动表
列名 | 数据类型 | 长度 | 主外键 | 字段说明 |
id | bigint | 20 | 主键 | 主键 |
addtime | timestamp | 0 | 创建时间 | |
huodongbiaoti | varchar | 50 | 活动标题 | |
huodongleixing | varchar | 50 | 活动类型 | |
huodongdidian | varchar | 50 | 活动地点 | |
huodongyaoqiu | varchar | 50 | 活动要求 | |
baomingrenshu | int | 11 | 报名人数 |
续表5-2
列名 | 数据类型 | 长度 | 主外键 | 字段说明 |
kaishishijian | datetime | 0 | 开始时间 | |
jieshushijian | datetime | 0 | 结束时间 | |
tupianfengmian | longtext | 50 | 图片封面 | |
huodongneirong | longtext | 50 | 活动内容 | |
huodongpinglun | varchar | 50 | 活动评论 |
(3)报名活动表
报名表用来存储报名活动信息,字段设计如表5-3所示
表5-3 报名活动表
列名 | 数据类型 | 长度 | 主外键 | 字段说明 |
id | bigint | 20 | 主键 | 主键 |
addtime | timestamp | 0 | 创建时间 | |
huodongbiaoti | varchar | 50 | 活动标题 | |
huodongleixing | varchar | 50 | 活动类型 | |
huodongdidian | varchar | 50 | 活动地点 | |
huodongyaoqiu | varchar | 50 | 活动要求 | |
baomingrenshu | int | 11 | 报名人数 | |
baomingshijian | datetime | 0 | 报名时间 | |
yonghuzhanghao | varchar | 16 | 外键 | 用户账号 |
yonghuxingming | varchar | 16 | 用户姓名 | |
shouji | varchar | 11 | 手机 | |
crossuserid | bigint | 20 | 跨表用户id | |
crossrefid | bigint | 20 | 跨表主键id |
(4)交友信息表
交友信息表用来存储交友信息,字段设计如表5-4所示。
表5-4 交友信息表
列名 | 数据类型 | 长度 | 主外键 | 字段说明 |
id | bigint | 20 | 主键 | 主键 |
addtime | timestamp | 0 | 创建时间 | |
biaoti | varchar | 50 | 标题 | |
xingqubiaoqian | varchar | 50 | 兴趣标签 | |
tupian | longtext | 50 | 图片 | |
shijian | date | 0 | 时间 | |
neirong | longtext | 50 | 内容 | |
fabuzhanghao | varchar | 16 | 发布账号 | |
fabuxingming | varchar | 16 | 发布姓名 | |
youxiang | varchar | 50 | 邮箱 | |
sfsh | varchar | 50 | 审核 | |
shhf | varchar | 50 | 审核状态 |
(5)管理员表
管理员表用来存储管理员信息,字段设计如表5-5所示。
表5-5 管理员表
列名 | 数据类型 | 长度 | 主外键 | 字段说明 |
id | bigint | 20 | 主键 | 主键 |
username | varchar | 100 | 用户名 | |
password | varchar | 100 | 密码 | |
role | varchar | 100 | 角色 | |
addtime | timestamp | 0 | 新增时间 |