软件工程毕业论文-社交网站的设计与实现.doc

上传人:一*** 文档编号:2096372 上传时间:2019-04-23 格式:DOC 页数:27 大小:3.09MB
下载 相关 举报
软件工程毕业论文-社交网站的设计与实现.doc_第1页
第1页 / 共27页
软件工程毕业论文-社交网站的设计与实现.doc_第2页
第2页 / 共27页
软件工程毕业论文-社交网站的设计与实现.doc_第3页
第3页 / 共27页
软件工程毕业论文-社交网站的设计与实现.doc_第4页
第4页 / 共27页
软件工程毕业论文-社交网站的设计与实现.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、本科毕业论文(20 届)社交网站的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘 要所谓社交网站,全称 Social Networking Services,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。也指社会现有已成熟普及的信息载体,如短信 SMS服务。本论文从学习、探讨的角度,介绍了关于社交网站的基本概念和国内外社交网站的发展状况,然后从需求分析、开发技术、数据库设计以及实现上分别叙述了原理及实现方案。本文通过自身了解和查阅大量资料进行编写,并且各种相关的技术理论贯穿论文。最后总结了本次毕业设计中我的收获和不足之处,但是系统中仍然存在一些地方需

2、要完善。关键字 : Spring ibatis 社交网站AbstractThe so-called social networking sites, the full name of Social Networking Services, the social networking services, specifically designed to help people establish a social network of Internet application services. Also refers to the information carrier of social e

3、xisting mature popular, such as the SMS message service.In this paper, from the study, on the point of view, introduces the development status of the social networking site basic concept and the domestic and foreign social networking sites, and then from the needs analysis, development technology, d

4、atabase design and realization are introduced. Principle and realization scheme, into the. In this paper, through their own understanding and access to large amounts of data for the preparation, and a variety of related technology theory throughout the paper. Finally summarizes the graduation of har

5、vest and my lack of design, but the system still exist in some places need to improve.Keywords : Spring ibatis social-network目 录1 绪 论 .11.1 研究背景及意义 .11.2 设计定义和简介 .11.3 国内国外发展状况分析 .11.3.1 国内发展状况分析 .11.3.2 国外发展状况分析 .21.4 论文各章内容的介绍 .22 需求分析 .32.1 功能分析 .32.2 设计原则 .32.3 可行性分析 .32.3.1 可行性分析的目的 .32.3.2 技术可

6、行性分析 .32.3.3 操作可行性分析 .42.3.4 系统开发及运行环境 .43 系统实现主要技术详解 .53.1 Javascript技术 .53.1.1 jQuery框架 .53.1.3 ajax技术 .53.1.4 JSON技术 .63.2 SSI框架 .63.2.1 springMVC框架技术 .73.2.2 ibatis框架技术 .73.3 Tomcat容器 .74 分层设计 .84.1 MVC设计模式 .84.2 系统分层设计 .85 数据库设计 .105.1 数据库表设计 .106 详细模块设计 .136.1 用户模块设计 .136.1.1 登录模块流程图 .136.1.2

7、用户注册模块流程图 .146.1.3 发表 moment模块流程图 .146.1.4 评论 moment模块流程图 .156.1.5 关注功能模块流程图 .156.1.6 编辑个人信息模块流程图 .156.2 管理模块设计 .166.2.1 用户管理模块流程图 .167 测试运行 .177.1 功能测试 .17总结 .21致谢 .22参考文献 .2311 绪 论1.1 研究背景及意义当代互联网业迅猛发展,诸如各种商业型网站、互动交流网站、企业内部的管理信息系统、BBS 论坛等都是十分典型的应用。这种开发模式被称作浏览器/服务器模式,用户通过访问网页提交相应的处理请求,服务器会解析用户的请求,调

8、用相应的业务逻辑代码进行处理,并将处理结果以网页的形式返回给用户,呈现在用户的浏览器上。 社交网站又称 SNS(Social Networking Services)是一种刚刚兴起的网站类型,专指旨在帮助人们建立社会性网络的互联网应用服务。所谓的社会性网络,也被称作为人际关系网,在现实生活中人与人之间的交际通常是依靠传统的信息沟通媒介来维系,例如电话、邮件之类,这种模式的局限性是个体与个体之间必须有一定的关系基础,仅仅在熟识的人群之间进行交流。显然这种交际模式已经越来越无法满足当今社会个体发展的要求。为了拓展个体的社会性网络即社交范围,使得原本并不相识但又有意愿彼此结识的个体之间通过有效的途径

9、建立起某种联系,诞生了 SNS型网站。社交网站一经推出就取得了迅猛的发展,此类型网站一般是通过某种方式进行社交拓展,比如根据相同话题进行凝聚、根据爱好进行凝聚、根据学习经历进行凝聚等,都被纳入了 SNS的范畴。社交网站的出现在某种程度上丰富了当今社会中个体交际的范围,把原本狭小的交友圈,即通常的熟人与熟人之间,或者熟人与熟人的熟人之间的这种模式拓展为通过网络服务与身处世界各地的拥有不同背景的个体进行交流。在信息化建设高速发展的今天,这种社会性网络显然更符合当代人的自身需要。然而社会交际的基础必须建立在诚信的基础上,而网络的虚拟性恰恰是这种交际模式的薄弱之处,所以如何设计和开发适应于当今社会个体

10、的社会性网络服务已然成为一项倍受关注的课题。1.2 设计定义和简介本系统定位是一个状态分享的社交平台,并分享自己所在的位置。区别于传统博客系统,它告别了单一的用写文章写日志的方式,而是通过少量文字向人们表达自己的心情、见闻和思想,使得信息分享更及时化,而且借助互联网可以更方便快捷的拥有自己的朋友圈。本课题的研究正是追求设计和实现一个人性化、个性化的社交网站系统。本系统从实现上包括管理模块和普通用户模块两大部分。1.3 国内国外发展状况分析1.3.1 国内发展状况分析从市场发展的格局来看,四大类 SNS网站发展仍然非常迅速,成为目前带动 SNS市场的主流力量。一是以服务校园学生的校园交友为主的

11、SNS网站,如校内网、占座网、QQ 校友等,这类网站起步较早,并以占据最具活力的大学生群体作为核心竞争优势;二是以休闲娱乐为主的 SNS网站,如开心网、 等,这类网站 2008年迅速成长成为年轻白领娱乐2休闲的新宠;三是以商务沟通和交友为主的 SNS网站,如若邻网、海内网等,这类网站在我国进步较慢,但发展较为稳定;四是以婚恋交友为主的 SNS网站,如百合网、嫁我网等,这类网站也颇有市场且较受欢迎。1.3.2 国外发展状况分析相比国内,国外在社交站点领域一直走在领先地位,并且在国内有非常多社教站点都是直接借鉴和参考国外的一些成功的著名社交网站的案例和设计思想。国外非常著名的社交网站有 Faceb

12、ook,Twitter,google+,LinkedIn 等,处于蓬勃发展的阶段,人们越来越多的将时间投入在这些平台之上。在保留早期的传统功能外,加入具有优秀用户体验的新的元素。这些新的功能无疑会吸引更多的个体注册用户,拓展网站的使用人群。1.4 论文各章内容的介绍论文全文共分为六章 第一章 绪论。这一章介绍了本论文的研究背景和意义,课题的具体介绍,以及国内外对该课题的研究及发展状况。 第二章 需求分析。这一章简单分析了系统的功能需求,并从可行性上进行分析,提出设计原则并选取合适的开发环境。 第三章 系统主要实现技术。这一章介绍了该系统使用的前台以及后台技术方案。 第四章 分层设计。这一章阐明

13、系统所应用的分层架构模式,以及分层化设计、模块化设计的思路。最后对系统文件目录做基本说明。 第五章 数据库设计。这一章介绍了系统后台所设计的具体的数据库表结构。 第六章 详细模块设计。这一章将系统分成两个部分,并介绍其具体实现,画出流程图,贴出核心代码。1)第七章 测试运行。这一章对系统的测试进行说明,并展示测试时的截图,保证系统的正常运行。32 需求分析2.1 功能分析本系统的定位是一个状态信息分享的社交网站,并可以分享自己所在的位置。不同于传统博客,它弃用了单一的用写文章或日志的方式,而是通过简短的文字向人们表达自己的心情、见闻和思想,使得信息分享更人性化和丰富多彩,而且借助互联网可以更方

14、便快捷的拥有自己的朋友圈。本论文的研究正是追求设计和实现一个人性化、个性化的社交站点。该系统从实现上包括管理模块和用户模块两部分。其中管理模块实现了对普通用户的增删改查等功能。而普通用户模块,则包括用户的登录注册,编辑个人信息,登陆后可浏览、发布和删除自己的状态信息,关注或取消关注其他用户,以及被其他用户关注或取消关注,对其他用户发表的信息进行浏览查看和评论,查看用户的状态、关注者以及正在关注人的数量信息等功能。2.2 设计原则用户是系统的最终使用者和评价者,所以在系统的开发设计的过程中,首先要从用户需求和体验出发,同时还要兼顾设计的合理性。尽可能选取简便可靠的解决方案,保证用户操作简便,界面

15、友好;保证系统稳定、高效、安全;在结构上应采用分层设计模式,减少不同层次间的耦合度,保证具有良好的可扩展性,方便未来的功能扩展和维护。2.3 可行性分析2.3.1 可行性分析的目的可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,可行性研究的目的不是解决问题,而是确定问题是否值得去解。要达到这样的目的,应当进行客观分析。同时要分析几种主要的可能性方案的利弊,从而判断原定的系统目标和规模是否能实现,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计的过程。2.3.2 技术可行性分析本系统所需的开发技术

16、手段包括 javascript和 Java语言,数据库为 Mysql。分别应用他们的相关框架进行实现。1)JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端 Web开发的脚本语言,常用来给 HTML网页添加动态功能,更重要的它是系统前台和后台进行数据交互不可缺少的。此外,它的强大之处在于,存在很多开源的 javascript类库,比如 jQuery,可以帮助我们在实现同样功能的同时,简化4代码操作和浏览器兼容性。2)本系统是基于面向对象思想的 JAVA语言中 JavaEE平台进行编写,JavaEE 平台具有以下优点:首先,开源性质的平台拥

17、有大量出色的框架体系,保证程序员高质量的完成开发。并且开发人员可以分工对系统不同模块进行开发,大大的提高了开发的效率。由于JavaEE基于 Java编程语言,具有良好的跨平台性,它提供了编写一次,随处运行的可移植性,基于 JavaEE的应用程序不依赖任何特定操作系统、中间件或硬件。其次,由于各模块的代码层次化清晰,相互之间耦合度极小,因而具有良好的可重用性,当然也便于系统日后的维护和升级。此外,JavaEE 的高性能、安全性等特质更加赢得了开发行业广泛的认可度。3)系统选用 Mysql数据库进行数据持久化MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,M

18、ySQL 具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,即便是大型应用也同样能够胜任。2.3.3 操作可行性分析本系统应具备友好的用户界面,使用方便、快捷,操作简单且易于维护,易于被用户接受,用户只需熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以大大促进人们之间的交流和沟通,从操作方面看,此系统的开发是可行的。在法律上并未侵害他人权利,无须承担任何法律责任。通过可行性分析,本系统在无论从技术上还是操作上都是完全可以实现的。我计划利用 javaee eclipse开发工具,通过运用 Javas

19、cript和 JavaEE相关技术:javascript、jquery、jsp、springmvc、spring、ibatis、css 等主要技术完成毕业设计,并在此基础上不断的测试、完善和补充。2.3.4 系统开发及运行环境1)服务器端 :操作系统 : windows 7 x32开发环境 : Tomcat 6.0.36、eclipse3.72、JDK 1.6、MySQL 5.5js类库支持 : jQuery 1.8.32)客户端 :浏览器 : 火狐浏览器、谷歌浏览器、IE 系列浏览器(为了更好的用户体验,请尽量选用高版本浏览器)53 系统实现主要技术详解3.1 Javascript技术Jav

20、aScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。也是一种广泛用于客户端 Web开发的脚本语言,更重要的它是系统前台和后台进行数据交互不可缺少的,常用来给 HTML网页添加动态功能,像表单验证、网页特效、甚至一些项目中 JS会在前台处理大量的业务数据供后台进一步处理操作。此外,存在很多开源的javascript类库和框架,来帮助我们在实现同样功能的同时,简化代码操作和浏览器兼容性。3.1.1 jQuery框架jQuery是一个兼容多浏览器的 javascript类库,核心理念是 write less,do more(写的更少,做的更多)。jQuery 是在 2006年 1

21、月由美国人 John Resig在纽约的barcamp发布,吸引了来自世界各地的众多 JavaScript高手加入,现在由 Dave Methvin率领团队进行开发。如今,jQuery 已经成为最流行的 javascript库,在世界前 10000个访问最多的网站中,有超过 55%在使用 jQuery。jQuery是免费、开源的,使用 MIT许可协议。jQuery 的语法设计可以使开发者更加便捷,例如操作文档对象、选择 DOM元素、创建动画效果、事件处理、使用 Ajax以及其他功能。除此以外,jQuery 提供 API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态

22、或动态网页以及网络应用程序。这使开发人员可以对底层交互与动画、高级效果和高级主题化的组件进行抽象化。使用方法是在 HTML文档的标签中插入对 jQuery类库的引用。3.1.2 Bootstrap框架Bootstrap是 Twitter推出的一个开源的用于前端开发的工具包。它由 Twitter的设计师 Mark Otto和 Jacob Thornton合作开发,是一个 CSS/HTML框架。Bootstrap 提供了优雅的 HTML和 CSS规范,它即是由动态 CSS语言 Less写成。Bootstrap 一经推出后颇受欢迎,一直是 GitHub上的热门开源项目,包括 NASA的 MSNBC(

23、微软全国广播公司)的Breaking News都使用了该项目。Bootstrap是基于 jQuery框架开发的,它在 jQuery框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分 jQuery插件3.1.3 ajax技术AJAX即“Asynchronous JavaScript and XML“(异步 JavaScript和 XML),AJAX 并非缩写词,而是由 Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术。6AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过

24、AJAX,JavaScript 可使用 XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,JavaScript 可在不重载页面的情况与 Web服务器异步交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求) ,这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 使因特网应用程序更小、更快,更友好。它是一种独立于 Web 服务器软件的浏览器技术,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。3.1.4 JSON技术JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于Jav

25、aScript的一个子集。JSON 采用完全独立于语言的文本格式,如今越来越多的项目中以 JSON作为前台与后台交互数据的基本格式,已经成了业内的规范。json简单说就是 javascript中的对象和数组,所以它有对象和数组 2种结构,通过这两种结构可以表示各种复杂的结构,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递,或者在异步请求中将字符串从 Web 客户机传递给服务器端程序。再有,服务器端也常将后台处理完成后的数据做成符合JSON规范的字符串,并传递给前台进行处理等。JSON 的两种结构:1、对象:对象是一个无序的“名称/值对”

26、集合。一个对象以“” (左括号)开始, “”(右括号)结束。每个“名称”后跟一个“:” (冒号) ;“名称/值 对”之间使用“,” (逗号)分隔。对象在 javescript中表示为“”扩起来的内容,数据结构为key : value,key : value,.的键值对的结构,在面向对象的语言中,key 为对象的属性,value 为对应的属性值,所以很容易理解,取值方法为“对象.key“,由此获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。2、数组:数组是值(value)的有序集合。一个数组以“” (左中括号)开始, “”(右中括号)结束。值之间使用“,” (逗号)分隔。数组在

27、javascript中是中括号“”扩起来的内容,数据结构为 “java“,“javascript“,“ssh“,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。3.2 SSI框架SSI为 springMVC+ spring + ibatis的一个集成框架,是目前较流行的基于 Java 语言开发的 Web应用程序开源框架。集成 SSI框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好的 Web应用程序。其中使用springMVC作为系统的整体基础架构,负责 MVC的分离,控制业务跳转,利用 ibatis框架对持久层提供支持,而 Spring管理 springMVC和 ibatis。即用面向对象的分析方法根

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。