基于JSP的SNS个人博客系统论文Word文件下载.docx
《基于JSP的SNS个人博客系统论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于JSP的SNS个人博客系统论文Word文件下载.docx(74页珍藏版)》请在冰豆网上搜索。
1.5本文的组织结构4
第2章需求分析5
2.1概述5
2.2系统目标5
2.3可行性分析5
2.4系统的需求分析6
2.5业务流程分析7
2.5功能需求用例图13
2.6数据需求15
2.7数据字典18
2.8系统的非功能性需求分析20
2.9环境需求21
第3章系统概要设计22
3.1概述22
3.2系统实际遵循的系统设计的原则及方法22
3.3系统体系结构设计23
3.4系统子模块功能介绍23
3.5对象类的设计24
3.6功能模块设计26
3.7数据库设计27
3.8数据库概念设计——E-R模型28
3.9界面原型设计32
第4章系统详细设计与实现33
4.1系统的工程结构33
4.2面向对象程序设计34
4.3数据库选择34
4.4数据库的SQL语句的实现35
4.5典型系统界面和实现技术说明36
第5章系统测试40
5.1测试目的40
5.2测试方法40
5.3系统测试用例40
5.4测试结果41
总结42
致谢43
参考文献44
附录A45
第1章引言
1.1课题背景
随着计算机和互联网的飞速发展,信息在各个领域已经成为越来越重要的的组成部分。
与此同时,在人与人之间出现了多种多样的交流方式,例如博客,博客作为互联网第四代信息传播方式,它在教育、科研、娱乐等方面得到了广泛的应用,博客和博客文化深刻影响着人们的生活,成为热门的的信息传播平台,具有良好的应用前景。
在互联网中,PC机、智能手机都没有强大的计算及宽带资源,他们依赖网站服务器,才能浏览发布信息。
如果将每个设备的计算及宽带资源进行重新分配与共享,这些设备就有更强大的能力。
这就是分布计算机理论诞生的根源,是SNS技术诞生的理论基础。
SNS,全称SocialNetworkingService是,即社会性网络服务,专指在帮助人们建立社会性网络的互联应用服务。
SNS网站,就是依据六度空间建立的网站,帮你运营朋友圈的网站。
目前,SNS社区性网络服务的应用如火如荼,也正是因为SNS顺应了六度分割理论才能够得到迅速的发展。
博客作为互联网上的主流应用,可以作为展示自我的一个窗口。
继而,博客将与SNS功能相结合,以SNS理论为根基,以博客为辅,实现SNS博客系统。
让人们通过博客发表文章等,认识新朋友,交流感悟。
不仅如此,通过SNS博客可以帮助实现如下这些目的:
(1)记录生活,在自己的每一天上留下思考的划痕。
(2)整理思路,固化知识,获得更多更好的想法。
(3)分享,将自己的想法、经验与人分享。
(4)交流、提高,通过交流产生更多的思维火花,相互提高。
(5)交友,互相鼓励,一路同行。
1.2课题目的及意义
SNS博客作为网络应用程序的一种,而且它属于B/S结构的Web应用程序。
SNS说白了就是社交网络,核心就是交友。
而且博客作为互联网上的主流应用,为了适应计算机网络的发展,为了研究B/S结构应用程序的特点,同时为了了解和认识博客,更进一步知道SNS,再次选择博客的开发并结合SNS特性作为论文的研究方向。
SNS博客系统的实现,用户轻松注册一个账号后,可以发布文章、管理照片、上传视频、管理留言,更可以结识和汇聚朋友,互加好友,进行深度交流沟通。
1.3国内外研究现状
SNS的核心应该是用户的个人空间(博客)。
一个SNS服务网站就是想给用户提供最好的个人网络空间环境,并吸引用户来使用,不仅要他们来使用空间,还要他们把朋友也带进来,建立一个网络家园。
美国是SNS网站的先行者。
著名社交网站Facebook更是风靡全球。
在国内,SNS网站大致划分两大类:
第一类是综合聊天交友类型,以某种共同爱好共同话题为核心,建立朋友关系。
如新浪微博,人人网等;
第二类是婚恋类型,这些网站目标大多是白领阶层。
如世纪佳缘等。
但SNS网站仍然存诸多问题:
如一是内容的分类与筛选,里面的内容五花八门,偏离了网站创立的初衷。
二是内容的沉淀与积累。
真正的用户也仅仅能接触到其中很小的一部分。
1.4技术综述
1.4.1简述SNS
SNS,全称SocialNetworkingServices,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。
SNS的一种常用解释:
全称SocialNetworkSite,即“社交网站”或“社交网”。
社会性网络(SocialNetworking)是指个人之间的关系网络,这种基于社会网络关系系统思想的网站就是社会性网络网站(SNS网站)。
1967年,哈佛大学的心理学教授StanleyMilgram(1933~1984)创立了六度分割理论,简单地说:
“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。
”按照六度分割理论,每个个体的社交圈都不断放大,最后成为一个大型网络。
这是社会性网络(SocialNetworking)的早期理解。
后来有人根据这种理论,创立了面向社会性网络的互联网服务,通过“熟人的熟人”来进行网络社交拓展,比如ArtComb,Friendster,Wallop,adoreme等。
但“熟人的熟人”,只是社交网络的一种方式,并非社交拓展的全部。
因此,现在一般所谓的SNS,则其含义还远不及,这个层面。
比如根据相同话题进行凝聚(如贴吧)、根据学习经历进行凝聚(如Facebook)、根据共同爱好进行凝聚,都被纳入“SNS”的范畴。
1.4.2JSP综述
JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术。
JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。
随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。
JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势。
其优势在于:
可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
JSP能提供所有Servlet的功能。
1.4.3Servlet概述
Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。
Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。
Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面。
Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。
Servlet工作流程:
(a)客户端发送请求信息至服务器。
(b)服务器将请求信息发送至Servlet。
(c)Servlet生成响应内容并将其传给Servlet。
响应内容动态生成,通常取决于客户端的请求。
(d)服务器将响应信息传回服务端
1.4.4JavaBean概述
JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。
按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。
JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。
JavaBean具有以下特点:
(a)可以实现代码的重复利用。
(b)易维护性、易使用性、易编写性。
(c)可以在Java的任何平台上工作,不需要重新编译。
(d)可以在内部网或者网络之间进行传输。
(e)可以以其它部件的模式进行工作。
JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
1.4.5三层体系结构
三层体系结构图如图1-1所示:
图1-1三层体系结构图
CGI,ASP,PHP等技术的出现,使得开发动态交互式的Web应用得以实现。
用户通过浏览器向服务器发送请求,Web服务器接收客户端发送来的请求,对请求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;
如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。
动态页面中的脚本程序可以和数据库服务器进行交互。
Web服务器可以根据用户的请求动态更新页面上的信息,Web信息提供者可以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。
用户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间的交互性。
1.5本文的组织结构
第一章引言介绍了选题背景及意义。
第二章需求分析介绍了SNS博客系统需求分析内容。
第三章系统设计介绍了系统设计原则与功能设计。
第四章系统详细设计与实现系统的工程结构与实现。
第五章系统测试介绍了系统测试的方法与测试用例。
第2章需求分析
2.1概述
SNS,简单地说就是社交网络,专指旨在帮助人们建立社会性网络的的互联网应用服务。
据六度分割理论,一个人最多通过六个人就能够认识一个陌生人,通过建立一个社交性网络,将线下的朋友圈转变为人际网络。
博客,是一种由个人管理,不定期更新文章的网站。
人们通过博客发表自己的文章、感悟总结知识,交流心得。
我会将博客与SNS功能相结合,以SNS理论为根基,以博客为辅,实现SNS博客系统。
本章采用软件工程方法对《基于JSP的SNS博客系统》进行了需求分析,包括系统目标、功能性需求、非功能性需求(主要指性能需求、环境需求及将来可能提出的需求)、数据需求。
2.2系统目标
本系统作为毕业项目提出,以提高个人能力。
希望能通能过SNS博客系统软件设计开发,了解文档的相关标准和编写原则,训练并掌握各类软件的使用技巧,同时提高使用开发应用的能力。
SNS博客网站系统的目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、以扩充的、易维护的。
具有良好的人机交互界面的SNS博客系统,为网络用户提供交流的网络平台。
通过SNS博客系统可以结交更多的朋友,表达更多的想法,它随时可以进行发布文章、上传照片、上传视频、进行留言、结交朋友等功能。
2.3可行性分析
可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。
(1)经济可行性。
经济可行性主要是对项目的经济效益进行评价。
本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。
(2)技术上的可行性。
技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
在软件方面,本系统采用的是JSP(JavaSeverPages)进行开发,而数据库系统采用的是SQLServer2008。
通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。
(3)时机可行性。
时机可行性是分析系统开发时机是否成熟。
目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。
(4)管理上的可行性:
主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
系统的开发主要就是为了方便校友信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。
综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。
2.4系统的需求分析
在可行性分析阶段已经简要地分析和研究了SNS博客系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。
SNS博客系统致力于建立灵活、方便的SNS博客系统,主要模块如下:
注册会员用户模块:
用户只用通过该网站提供的接口注册后才有的功能。
该模块是系统核心的功能模块,要求如下:
(1)用户登录模块:
网站博客用户用个人注册的帐号和密码登录到SNS博客系统。
系统检测用户的帐号和密码是否错误和判断用户是博主还是普通用户并给予其相应的权限对系统进行操作。
(2)用户注册模块:
由于只有注册博客用户才能进入系统,所以游客必须先注册,将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户。
(3)文章的管理模块:
已注册的博客用户可以在博客主页中发表、修改、删除文章,同时评论感兴趣的文章,也可以查看其他评论和进行评论。
(4)照片管理模块:
已注册博客用户可以在博客主页中上传图片、删除图片等操作。
(5)视频影音管理模块:
已注册博客用户可以在博客主页中上传影音、删除影音等操作。
(6)留言管理模块:
已注册博客用户可以进行好友留言,留言的回复、删除等操作。
(7)好友管理模块:
已注册博客用户可以进行好友的查询、添加和删除操作。
(8)互加好友模块:
已注册博客用户可以互加好友来体现SNS社交网络的模式。
这些都是在用户登录以后有的。
未注册用户访客模块:
用户不需要注册就有的功能。
该模块要求如下:
(1)文章的浏览模块:
未注册的用户以匿名的身份可以在博客中对喜欢的文章进行浏览查阅、浏览等操作。
(2)文章的评论模块:
未注册的用户以匿名的身份可以在在博客中对喜欢的文章进行评论等操作。
(3)图片的浏览模块:
未注册的用户以匿名的身份可以在博客中进行浏览博主上传的图片信息等操作。
(4)视频的浏览模块:
未注册的用户以匿名的身份可以在博客中进行浏览博主上传的视频信息等操作。
(5)留言及评论模块:
未注册的用户以匿名的身份可以在博客中对博主的进行评论及留言等操作。
(6)浏览推荐的博客模块:
未注册的用户以匿名的身份可以在博客首页浏览已注册的用户博客。
2.5业务流程分析
业务流程分析主要包括注册用户业务流程分析,游客业务流程分析,SNS流程分析。
2.5.1注册用户业务流程分析
已注册用户进入用户登录界面后,在登录功能区输入用户的账号与密码,登录成功后跳转到系统主窗体。
系统可以进行留言管理,并对其进行留言或删除等操作;
查看相册,对用户相册中的图片进行浏览,对图片进行删除等操作;
好友管理,用户可以进行添加好友,和删除好友等操作。
文章管理,用户可以进行添加文章,编辑文章,删除文章等操作。
结束各项操作后退出,回到系统主窗体。
本模块业务流程图如图2-1所示:
图2-1系统管理员业务流程图
2.5.2游客业务流程分析
游客不需要登录就直接可以进行操作。
系统可以进行浏览文章等操作,可以进行浏览相册等操作,还可以进行浏览视频等操作,游客也可以注册成为网站的会员。
本模块业务流程图如图2-2所示:
图2-2游客业务流程图
2.5.3SNS流程分析
注册用户进入用户登录界面后,在登录功能区输入用户的账号与密码,登录成功后跳转到系统主窗体。
可以对已注册用户博客进行浏览,选择对感兴趣的网友进行添加好友操作。
本模块业务流程图如图2-3所示:
图2-3SNS业务流程图
2.5.4时序图分析
图2-4SNS时序图分析
2.5.4数据流图分析
(1)SNS好友模块:
已注册的博客用户成功登录博客后,在系统的主界面浏览已注册用户信息,并访问用户博客主页,可以进行添加好友操作。
本模块数据流程图如图2-4所示:
图2-4好友管理模块数据流程图
(2)文章发表模块:
已注册的博客用户成功登录博客后,可以在自己博客主页中发表文章等操作。
图2-5文章发布模块数据流程图
(3)相册上传模块:
已注册的博客用户成功登录博客后,在自己博客主页中上传照片等操作。
本模块数据流程图如图2-6所示:
图2-6相册上传模块数据流程图
(4)视频管理模块:
已注册的博客用户成功登录博客后,在自己博客主页中浏览视频信息,也可以删除视频信息等操作。
本模块数据流程图如图2-7所示:
图2-7相册管理模块数据流程图
(5)文章浏览模块:
未登录或未注册的用户将以匿名者的身份,进入某个博客主页内,对自己喜爱的文章进行浏览查阅。
本模块数据流程图如图2-8所示:
图2-8文章浏览模块数据流程图
(6)文章评论模块:
无论是未登录或未注册的用户,还是已注册的博客用户成功登录博客后,进入某个博客主页内,都可以对自己喜爱的文章进行评论。
本模块流程图如图2-9所示:
图2-9文章评论模块数据流程图
(7)相册浏览模块:
本模块数据流程图如下图所示:
图2-10相册浏览模块数据流程图
2.5功能需求用例图
SNS博客系统主要功能是注册用户在网上博客中进行用户注册、文章管理、相册管理、视频影音管理,留言管理、添加好友等功能。
(1)注册用户进入系统中进行文章管理:
用户主要进行发表文章、编辑文章、删除文章、文章评论的操作。
(2)注册用户进入系统中进行相册管理:
用户主要进行上传照片、删除照片等操作。
(3)注册用户进入系统中进行视频管理:
用户主要进行上传视频、删除视频等操作。
(4)注册用户进入系统中进行留言管理:
用户主要进行网上留言、删除留言等操作。
(5)注册用户进入系统中进行好友管理:
用户主要进行好友查询、添加、删除等操作。
通过对以上信息分析注册用户能够通过该系统进行的活动。
用户简单用例图如图2-11所示:
图2-11用户用例图
SNS系统博客主要功能是