文档库 最新最全的文档下载
当前位置:文档库 › 毕业设计----基于协同过滤技术的在线交友系统

毕业设计----基于协同过滤技术的在线交友系统

目录

摘要.................................................................................................. 错误!未定义书签。Abstract .................................................................................................... 错误!未定义书签。

1 绪论 (1)

1.1引言 (1)

1.2开发设计思想 (1)

1.3可行性研究 (2)

2系统分析 (3)

2.1系统需求分析 (3)

2.1.1 系统功能概述 (3)

2.1.2系统用例模型 (5)

2.2数据库分析 (8)

2.2.1 E-R图 (8)

2.2.2数据库规范化 (9)

3 系统设计与实现 (11)

3.1 系统结构图 (11)

3.2 系统功能模块划分 (12)

3.3 详细设计 (13)

3.3.1 会员操作子系统 (13)

3.3.2 管理员操作子系统 (14)

3.4 数据库设计 (15)

3.4.1 数据库引擎 (15)

3.4.2 数据库表 (15)

4 系统实施 (19)

4.1 系统环境与配置 (19)

4.2 系统实现 (19)

结论 (21)

参考文献 (22)

致谢 (23)

1 绪论

1.1引言

随着科技的进步,网络渐渐成为生活中的一部分。越来越多的人每天都要在互联网上发布和获取信息,这样一来一方面使网站用户能够获取到更丰富的信息与服务,一方面却也给人们对于如何更方便地获取自己真正想要的内容带来了很大困扰,用户要求越来越高,希望网站能够尽量智能化地了解自己的需求,帮助个人得到适应性的信息和服务。在线交友比传统的交友方式提供了更多的想象空间。以往的交友方式可能是联谊、同学、郊游、社团和朋友介绍等方式。在线交友则在网络的方便性、私密性与匿名性的特性下,使用者可以依自己有兴趣的话题以留言的形式发布信息并认识一些志同道合的朋友;同时在线交友充满了光怪陆离的现象,一样具有现实的复杂性。网站将成为人与人认识和交往的重要载体。经调查,绝大多数大学生都有通过网络结识朋友的客观需求,当前已有许多大学生通过网络认识和交往,于是从事交友服务的网站应运而生。

本论文主要是介绍一交友网站的建立过程,从需求分析、总体设计、详细设计、测试到最终生成用户界面。本网站主要综合当今流行的jsp(java server pages)、javabean 等技术,建立的动态网页。本网站的基本功能:用户注册之后成为会员并登录到主页。登录到主页的用户可以查找其他会员,可以浏览、查看其他会员的详细信息,可以给其他会员留言以及修改个人的信息,可以通过输入个别属性搜索会员和会员发起的活动。在实现上,基于B/S模式, 利用计算机网络分布广、工作效率高等特点进行开发。它充分利用和发挥了计算机的优势,将大量复杂的数据与运算交给计算机来自动处理。

1.2开发设计思想

本系统的开发设计思想:

(1) 系统应符合规定,满足大家日常通讯的工作需要,并达到操作过程中的直观、方便、实用、安全等要求;

(2) 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员的补充和维护;

(3) 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作;

(4) 系统中还应具备有信息查询功能,以便使管理员方便、及时地了解各类有关情况,使系统真正地帮助并提高管理员的管理水平,使管理方便、快捷、准确、无误。

1.3可行性研究

(1) 技术可行性

随着计算机多媒体和网络技术的不断发展与普及,本系统要采用B/S模式,该模式在互联网中的应用已相当广泛,技术也很成熟。同时计算机应用技术公共实训基地完善,宽带网络能够满足大学生教学、科研、管理、学习和娱乐等多方面需要。

由以上分析可知,在线交友系统的开发在技术上是可行的。

(2) 经济可行性

本环节通过分析新系统的成本效益,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用以及新系统将获得的效益,估算开发成本是否高于项目预期的全部经费。下面具体列出了成本和效益的分析:

由于本系统的开发是作为毕业设计来进行的,学院无须资金投入,而且本系统所用到的软件成本投入也不高。因此软件设计和开发费可以承受。

经常性支出:系统运行后的日常维护费用少。开发人员完全可以负责本系统的维护工作。

效益:本系统的效益可以从经济效益和社会效益两方面考虑。其社会效益包括系统投入运行后可以使在线交友实现科学化、规范化,增强管理员对交友信息的管理能力。

由以上可知,本系统在经济上是可行的。

(3) 社会可行性

本系统建成后,后台工作人员实时的更新信息,以便用户查询,同时能够对所有查询终端实行有效的控制。统筹考虑系统所设计的各个环节,包括内外联系,除去花哨、目前不实用的功能,使用系统只涵盖必要的查询及发表日志的功能,在满足当前需求的同时降低建设成本。同时,在系统设计、实现过程中,尽可能使系统具有易操作性、易维护性,并与现有的各种服务设施紧密结合,以减轻广大用户使用/维护系统的难度。

综上所述,构建在线交友系统在经济上、技术上、社会上都是可行的。因而决定开发在线交友系统。

2系统分析

2.1系统需求分析

2.1.1 系统功能概述

从会员的角度来看,系统要提供如下功能,

(1) 会员注册、登陆模块,用户在注册账号时,输入的信息应满足正确性和合理性,用户登录时输入的账号、密码要经过检测,正确才可登录;

(2) 会员日志管理模块,包括日志的上传和删除,浏览自己和好友的日志和给好友日志留言;

(3) 会员相册管理模块,包括创建新的个人相册,上传、删除照片,以及对照片进行描述和浏览自己或好友的照片;

(4) 留言模块,会员间可以通过留言的形式进行交流,同时可以回复好友的留言或删除不想保留的留言内容;

(5) 搜索模块,会员可根据个别属性进行会员搜索,如:用户姓名、用户性别、用户住址、兴趣爱好等;

(6) 好友管理模块,会员可以轻松添加、删除自己的好友,可以选择是否接受网友的好友申请;

(7) 活动搜索模块,会员发起一项活动,其他会员可根据活动类型、活动地点或发起人姓名等属性项进行搜索,系统给出满足的活动项列表,用户选定感兴趣的活动后和发起人联系。

系统前台功能图如下页图2.1所示:

在线交友系统前台

会员注册、登陆模块会员

日志

管理

模块

会员

日志

管理

模块

留言

模块

搜索

模块

好友

管理

模块

活动

搜索

模块图2.1系统前台功能概述

从管理员的角度来看,系统要实现以下目标:

(1) 网络广告发布模块,管理员根据实际情况随时发布网络广告,并及时进行更新以便会员浏览;

(2) 会员管理模块,管理员可根据事实情况将填写虚假资料的会员或信誉度很低的会员账号注销;

(3) 日志管理模块,管理员可将评价不好的日志或对社会有严重负面影响的日志删除。

系统后台功能图如图2.2所示:

在线交友系统后台

网络广告发布模块

会员

管理

模块

日志

管理

模块图2.2系统后台功能概述

2.1.2系统用例模型

系统涉及的主要角色是会员。会员参与的主要用例有会员注册和登陆、管理日志、管理照片、留言管理、会员搜索以及活动搜索。

整个系统的用例图[2]如页图2.3所示:

图2.3 系统用例图

下面详述各个用例:

(1) 详述用例:会员注册、登陆 范围:交友系统 级别:用户目标 主要参与者:会员 涉众及其关注点:

会员:希望能够简便、快速地完整自己账号的注册,并成功登陆。 前置条件:打开浏览器,并成功登陆本网站首页。 后置条件:系统将会员注册的信息添加到数据库中。 主要场景:

会员

会员注册、登陆

管理日志

管理照片

留言管理

活动搜索

会员搜索

交友系统

①会员进入网站首页,点击注册按钮;

②会员根据系统提示正确输入自己的资料,并保证信息属实;

③注册后直接登陆到网站主页。

④会员退出。

(2) 详述用例:管理日志

范围:交友系统

级别:用户目标

主要参与者:会员

涉众及其关注点:

会员:希望能够快速、轻松地上传、删除自己写的日志,同时能够浏览好友的日志,还可以对日志进行评价。

前置条件:打开浏览器,并成功登陆本网站首页。

后置条件:系统将会员上传的日志信息添加到数据库中。

主成功场景:

①会员在自己的页面上传日志;

②会员对以往的日志进行删除和修改;

③会员浏览好友的日志并对其进行评价。

④会员退出。

(3) 详述用例:管理照片

范围:交友系统

级别:用户目标

主要参与者:会员

涉众及其关注点:

会员:希望能够快速、轻松地创建相册并上传照片,同时能够对照片进行个性化描述。

前置条件:打开浏览器,并成功登陆本网站首页。

后置条件:系统将会员上传的照片信息添加到数据库中。

主成功场景:

①会员在自己的页面创建相册并上传照片;

②会员对已上传的照片进行描述,或修改描述;

③会员删除不满意的照片。

④会员退出。

(4) 详述用例:留言管理

范围:交友系统

级别:用户目标

主要参与者:会员

涉众及其关注点:

会员:希望能够随时给好友留言。

前置条件:打开浏览器,并成功登陆本网站首页。

后置条件:系统将会员对好友的留言信息添加到数据库中。

主成功场景:

①会员进入好友页面给其留言;

②会员回复好友给自己的留言,同时可以删除留言;

③会员退出。

(5) 详述用例:会员搜索

范围:交友系统

级别:用户目标

主要参与者:会员

涉众及其关注点:

会员:希望能够通过个别属性快速、准确地搜索自己感兴趣的会员。

前置条件:打开浏览器,并成功登陆本网站首页。

后置条件:系统将会员输入的信息发送到数据库,提取出满足该属性的所有会员的信息。

主成功场景:

①会员点击搜索按钮,输入要进行搜索的属性项目;

②系统列出满足此属性的所有会员;

③会员找到自己感兴趣的目标用户;

④会员退出。

(6) 详述用例:活动搜索

范围:交友系统

级别:用户目标

主要参与者:会员

涉众及其关注点:

会员:希望能够根据活动的属性快速地查到自己想参加的活动项目。

前置条件:打开浏览器,并成功登陆本网站首页。

后置条件:系统将会员输入的活动属性发送到数据库,提取出满足该属性的所有活动的详细信息。

主成功场景:

①会员点击活动搜索按钮,进入活动搜索页面;

②会员输入活动的属性,系统给出满足该属性的活动列表;

③会员点击活动名称查看详细信息,并和发起人进行联系;

④会员退出。

2.2数据库分析

2.2.1 E-R图

在上文中,我们已经谈及本系统将要使用数据库存储会员信息。当前主流的数据库都是关系数据库。本系统也将采用关系数据库系统。

本系统涉及的实体有:用户、管理员、日志、照片、留言、活动、网络广告等。

用户有如下属性:用户账号、密码、姓名、邮箱、性别、年龄、住址、兴趣爱好、注册日期;

管理员有如下属性:管理员账号、密码、姓名、邮箱、联系电话;

日志有如下属性:用户账号、日志名称、日志内容、上传时间;

照片有如下属性:用户账号、照片地址、照片描述、上传时间;

留言有如下属性:用户账号、留言人、留言内容、留言时间;

活动有如下属性:发起人、活动类型、活动内容、时间、地点、人数、费用;

网络广告有如下属性:管理员账号、广告类型、广告内容、发布时间。

下面给出这些实体的实体关系图如下页图2.4所示:

会员

管理员

上传

发布

发起

上传

照片

活动

日志

留言

1

1

N

N

1

N

1

N

管理

发布

管理

网络广告

1

N

1

N

1

N

用户账号照片地址照片描述上传时间活动类型活动时间

活动内容活动地点人数

费用

发起人

用户账号

留言时间

留言人

留言内容

用户账号

日志名称

日志内容

上传时间

管理员账号广告类型广告内容发布时间

管理员账号密码姓名

邮箱

联系电话

用户账号密码姓名邮箱年龄

住址

兴趣爱好性别

注册日期

图2.4 E-R 图

2.2.2数据库规范化

关系数据库设计的核心问题就是关系模式[4]的设计。根据上文的E-R 图,可得到本系统有如下关系模式:

(1) 用户(用户账号,密码,姓名,邮箱,性别,年龄,住址,兴趣爱好,注册日期); (2) 管理员(管理员账号,密码,姓名,邮箱,联系电话); (3) 日志(用户账号,日志名称,日志内容,上传时间); (4) 照片(用户账号,照片地址,照片描述,上传时间);

(5) 留言(用户账号,留言人,留言内容,留言时间);

(5) 活动(发起人,活动类型,活动内容,时间,地点,人数,费用);

(5) 网络广告(管理员账号,广告类型,广告内容,发布时间)。

在后文讨论数据库设计时,我们将根据以上关系模式,使用数据库规范化理论规范化本系统的关系模式,使得它们符合第三范式。即:使得每个非主属性既不部分依赖于码也不传递依赖于码。

3 系统设计与实现

3.1 系统结构图

整个系统结构图如图3.1所示:

交友系统

数据库

会员资料监视

业务数据层

主界面

会员浏览日志浏览网络广告

会员搜索照片上传活动搜索网络功能

监视

更新

提供

控制

数据

提供和更新

提供

控制上传

控制搜索

控制信息

发送和接受信息

提供

日志上传控制上传

照片浏览活动浏览留言浏览提供

提供

提供

留言回复

控制回复

控制搜索

图3.1 系统结构图

上图为本项目的系统结构图,本系统从整体角度来看共分为数据层、主界面层和会员操作处理层三个基本层次。其中数据层主要包括了会员资料监视功能模块,对数据库的操作和对数据库操作的封装以及业务数据处理功能模块。该层完成对会员资料与会员

动态变化的监视工作并以此为基础更新数据库,同时此层次封装了对数据库的操作,负责从数据库中提取数据并向上提供给主界面层完成其他操作,而这个层次也将接受来自上一层的数据并将其写入数据库中。这个层次最接近操作系统和数据库,因而对于用户是透明的,但其设计的合理性直接影响整个系统的效率和性能。主界面层包括了会员浏览、照片浏览、日志浏览、活动浏览、留言浏览和网络广告显示等功能模块。这个层次接受从数据层传来的数据,提取并处理后显示在相应区域。这个层次将接受用户的输入并执行相应的操作,因而该层次的设计模式对整个系统设计是否人性化起到了至关重要的作用。会员操作处理层包括了会员搜索、照片上传、日志上传、活动搜索、留言回复和网络功能这六个功能模块。该层次受主界面层次中各模块的控制并接受来自主界面层的数据流,将它们进行处理后执行相应的操作。

3.2 系统功能模块划分

根据需求分析和系统结构图,将系统划分为如下两个个子系统:

(1) 会员操作子系统:会员注册模块、用户登录模块、个人资料管理模块、日志管理模块、相册管理模块、留言管理模块、好友管理模块、会员搜索模块、活动搜索模块。

(2) 管理员操作子系统:网络广告发布模块、会员管理模块、日志管理模块。

整个系统的功能模块图如图3.2所示:

交友系统

会员操作子系统管理员操作子系统

会员注册模块用

广

图3.2 系统功能模块划分

3.3 详细设计

3.3.1 会员操作子系统

会员操作子系统的主要功能是实现会员在此系统中的功能。

(1) 会员注册模块:

该模块负责实现新会员的注册,当用户第一次登录时首先要在本网站注册,成为会员用户才可在该网站上与网友交流信息,注册页面必须填写用户基本信息,如用户名、密码、E-mail等信息。通过本页面,可以实现会员合理化,通过用户登录,可以实现会员信息的规范管理,便于会员信息录入数据库。另外,简化了网站后台管理员的工作,节省时间。点击网站首页用户登录的用户注册,链接到注册页输入用户的相关信息,同时使用客户端JavaScript脚本,来规范用户输入的个人信息,从而保证用户输入的正确性、合理性。包括用户名的合理性检测、密码的合理性检测、E-mail的合理性检测等等。经检测无误的话,把相关数据插入到数据库表中[7],完成整个用户注册的过程。

(2) 用户登录模块:

当用户注册成为本站会员后,就可以通过交友系统与网友进行在线交流了。用户登录窗口设置在首页上,主要用来接受用户录入的用户名及密码。通过点击登录按钮来判断登录是否有效,如用户名或密码出现错误,将弹出警告信息,提示错误。而当验证成功后将会跳到会员个人页面,这时用户便可以浏览信息了。

(3) 日志管理模块:

用户登个人页面后,用户可点击日志上传按钮,弹出记录日志信息的页面,然后用户开始写日志内容,系统把这些信息储存到数据库中,并提示用户日志上传成功;当用户查看以往的日志时,可以将不想保留的日志删除;当用户浏览了好友的日志后,可对该日志进行评价,给好友留言,当好友登陆时查看到自己的日志留言后即可对其进行回复。

(4) 相册管理模块:

用户登个人页面后,用户可点击相册按钮,首先创建一个新的个人相册,之后便可进行照片的上传了,用户还可对每张照片进行个性化描述,系统把这些信息储存到数据库中,并提示用户照片上传成功;当用户查看以往的照片时,可以将不想保留的照片删除;当用户浏览了好友的照片后,可对该照片进行评价,给好友留言,当好友登陆时查看到自己的照片留言后即可对其进行回复。

(5) 留言管理模块:

当用户浏览好友的个人页面时,用户可在好友的留言板上给其留言,系统将接收到的信息存储到数据库中。当好友下次登陆该网站时,便可以看到给他的留言,好友可根据自己的意愿对其回复或删除留言。

(6) 好友管理模块:

用户如果想浏览网友的页面,必须先申请成为对方的好友,如果网友接受请求,用户便可以随时轻松地查看该网友的情况,当然,网友也可以选择拒绝接受请求。用户也可以把自己不喜欢的网友删除好友列表。

(7) 会员搜索模块:

用户可根据自己的需求,在搜索栏里输入用户属性,例如:用户姓名、用户性别、兴趣爱好、用户住址等。系统将信息提交到数据库中,经过筛选给出符合用户要求的会员列表。

(8) 活动搜索模块:

网友通常情况下都是通过一起参加活动,从而进一步了解对方成为朋友。用户点击活动搜索按钮,通过输入活动的属性项(例如:发起人、活动名称、活动地点等)进行搜索活动项目,该页将用户输入的信息提交到数据库,系统经过筛选列出符合要求的活动,并将类似的活动同时推荐给用户。

(9) 个人信息管理模块:

用户在注册完信息进入自己的页面之后,还可通过点击个人信息管理模块,对自资料进行添加、删除或修改,同时,系统将数据储存到数据库中。

3.3.2 管理员操作子系统

管理员操作子系统的主要功能是实现管理员在此系统中的功能。

(1) 网络广告发布模块:

管理员登陆后台后,可发布网络广告并及时更新广告,前台页面便可动态地显示这些网络广告,以便于用户随时随地查看网站情况,这些广告还利于用户了解实时情况。

(2) 会员管理模块:

管理员通过查看用户投诉状况,经过一段时期的考察,查出这些投诉信息属实的话,便可将达到一定投诉数量的会员账号注销。

(3) 日志管理模块:

管理员通过查看会员对日志的留言内容和评价情况,将反响不好的或对社会有负面影响的非法日志永久性删除。

3.4 数据库设计

3.4.1 数据库引擎

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL具有一下特点:

(1) 通过一个高度优化的类库实现SQL函数库,并且像他们能达到的一样快速,通常在查询初始化后不应该有任何内存分配;

(2) 可以在同一查询中混用来自不同数据库的表;

(3) 所有列都有缺省值,可以用INSERT插入一个表列的子集,那些没有明确给定值的列设置为他们的缺省值;

(4) MySQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来确定优化器如何解决一个查询;

(5) 函数名不会与表或列名冲突。例如ABS是一个有效的列名字。对函数调用的唯一限制是函数名与随后的”(”不能有空格;

(6) 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、MAX()和MIN())。

3.4.2 数据库表

本系统总共设计了六个表,分别是用户信息申请表、管理员信息表、网络留言表、日志信息表、照片信息表、网络广告信息表。

用户信息表存储了注册本系统的所有用户信息。

用户信息表如表3.1所示:

表3.1用户信息表

字段名数据类型约束描述user_account varchar2主码用户账号,主键

user_password varchar2主码用户密码user_name varchar2非空用户姓名user_mail varchar2无用户邮箱

user_sex varchar2非空用户性别

user_age varchar2无用户年龄user_home varchar2 无用户住址user_interest varchar2非空用户兴趣爱好user_date varchar2非空注册日期

管理员信息表存储了本系统的管理员信息。

管理员信息表如表3.2所示:

表3.2 管理员信息表

字段名数据类型约束描述manager_account varchar2主码管理员账号,主键manager_password varchar2主码管理员密码manager_name varchar2非空管理员姓名manager_mail varchar2非空管理员邮箱manager _phone varchar2非空管理员联系电话

网络留言信息表存储了用户间的留言信息。

网络留言信息表如表3.3所示:

表3.3网络留言信息表

字段名数据类型约束描述user_account varchar2主码用户账号,外键leave_name varchar2非空留言人leave_content varchar2非空留言内容leave_date varchar2非空留言时间

日志信息表存储了用户自己的日志信息。

日志信息表如表3.4所示:

表3.4 日志信息表

字段名数据类型约束描述user_account varchar2主码用户账号,外键log_name varchar2非空日志名称log_ content varchar2非空日志内容log_date varchar2非空上传时间

照片信息表存储了用户上传到页面的照片信息。

照片信息表如表3.5所示:

表3.5 照片信息表

字段名数据类型约束描述user_account varchar2主码用户账号,外键phone_url varchar2非空照片地址phone _describe varchar2非空照片描述phone _date varchar2 非空上传时间

活动信息表存储了用户发起的活动信息。

活动信息表如表3.6所示:

表3.6 活动信息表

字段名数据类型约束描述user_account varchar2主码用户账号,外键game_style varchar2非空活动类型game_content varchar2非空活动内容game_date varchar2 非空活动时间game_adress varchar2 非空活动地点game_person varchar2 非空人数game_fee varchar2 非空费用

网络广告信息表存储了管理员发布的网络广告信息。

网络广告信息表如表3.7所示:

表3.7网络广告信息表

字段名数据类型约束描述manager_account varchar2主码管理员账号,外键netads_style varchar2非空广告类型netads_content varchar2非空广告内容netads__date varchar2 非空发布时间

4 系统实施

4.1 系统环境与配置

(1) 硬件环境

①运行平台:

CPU:奔腾4,主频1.4 GHz以上,256 MB以上内存;

硬盘:系统基本空间20 GB,每10万条数据增加1 GB空间;

显示器:VGA彩色显示器。

②系统开发平台:

CPU:AMD Athlon(tm) 3600+ X2 Dual,主频2.01 GHz,512 MB内存;

硬盘:160 GB;

显示器:VGA彩色显示器(17’)。

(1) 软件环境

①运行平台:

操作系统:Microsoft Windows XP;

数据库:Mysql数据库;

JSP服务器:apache-tomcat-5.5.27;

浏览器:Microsoft Internet Explorer 6.0;

②系统开发平台:

操作系统:Microsoft Windows XP;

数据库:Mysql数据库;

开发工具:Myeclipse8.x ;

4.2 系统实现

会员注册模块实现如图4.1所示:

相关文档
相关文档 最新文档