“高校聚集地”社交网站的设计与实现_第1页
“高校聚集地”社交网站的设计与实现_第2页
“高校聚集地”社交网站的设计与实现_第3页
“高校聚集地”社交网站的设计与实现_第4页
“高校聚集地”社交网站的设计与实现_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论1.1课题背景在当前信息化社会背景下,网络已经成为促进人们信息交流的重要媒介和渠道,网络交流方式也在发生着翻天覆地的变化。“高校聚集地”社交网站系统出现之前,人们会通过论坛发表贴子或者通过即时通信软件聊天[5],表达想法抒发情感。“高校聚集地”社交网站出现的目的,就是想让人们可以把自己每天的一些想法或者感受,经过语言的组织或整理放在自己的“高校聚集地”社交网站上,作为一条新鲜的动态发表出来。虽然一些想法思考没有太大的思想深度,但却是自己当下的一种体会,通过发布在“高校聚集地”社交网站动态的时候就感觉到了一种满足感,一种情感得以释放的满足感。当日后回过头来翻阅动态时,又会变成一种难忘的回忆,这也是我们在“高校聚集地”社交网站上发布新鲜动态,社交的目的之一。不仅如此,通过发布“高校聚集地”社交网站动态,可以帮助实现致力于建立灵活、方便的“高校聚集地”社交网站系统,主要功能包括有系统管理员模块、注册用户访问模块以及游客访问模块。系统管理员模块,只有系统管理员有权运行。用户可通过该模块发布系统公告、添加动态、删除动态、浏览动态、浏览相册等。注册用户模块:该模块功能只有通过“高校聚集地”社交网站提供的接口注册成功后的用户才具有。是该系统的核心功能模块,该模块实现了“高校聚集地”社交网站动态发表、相册上传、动态评论、删除动态、删除照片、修改个人信息和好友管理的功能。这些都是在用户登陆成功以后才会有的一系列权限和操作。游客模块:用户不需要注册就有的功能。该模块实现了“高校聚集地”社交动态信息浏览、相册查看和发表评论等功能。1.2课题意义由于现在互联网的飞速发展,我们的生活工作已经处于一个全新的网络和信息时代,互联网已经成为我们生活工作中不可或缺的存在,并且影响着我们生活工作的方方面面。而我们每天通过使用互联网工作生活,每个人的角色不再仅仅是单纯的信息发布者或接收者,而是变成了将两种角色完美融合在一起的使用者存在。通过互联网,我们与家人朋友同事在线交流沟通,随之而产生的一种基于真实社会关系而建立的社交网站开始受到人们的追捧和热爱。通过社交网站作为平台,不认识的人之间的交流互动越来越贴近现实生活中的人际交往和人际关系。这种通过社交网站的人与人之间的互动主要是以信息分享的方式发生的,其实信息分享也是一种信息传播的过程。该论文对“高校聚集地”社交网站系统的设计、研发等进行了系统的分析。根据其开发过程环节,从系统分析、设计、系统实现以及系统测试等角度入手,对该系统分别进行了论述。设计实现一个“高校聚集地”社交网站系统,允许用户登录系统,发布最新动态、对照片进行个性化管理,将我们平时的工作、生活故事、灵光一现的小想法等随时记录和发布,发挥个人无限的表达力;更可以认识新的朋友,扩展自己的朋友圈。主要的核心功能包括:社交网站动态发表、相册上传、动态评论、删除动态、删除照片、修改个人信息和好友管理的功能。设计思想采用的是java面向对象的设计思想,目的是为了提高网站系统的稳定性、可靠性和扩展性。另外,“高校聚集地”社交网站系统的开发软件选用MyEclipse,并且使用了Mysql数据库来存储数据。“高校聚集地”社交网站系统的实现,使人们可以简单地注册一个账号后,就可以发布最新动态、对照片进行个性化管理,将我们平时的工作、生活故事、灵光一现的小想法等随时记录和发布,发挥个人无限的表达力;更可以认识新的朋友,扩展自己的朋友圈。

2系统相关技术与开发环境概述2.1开发技术2.1.1数据库管理员在查找特定书籍时,首先,通过目录检索,查询到书号和书的分类,确定该书所在书架,并根据书号从该书架找到需要的书籍。数据库中有关数据的查询,就如同从图书馆中查询到相应书籍一般,应本着便于查询的基本原则进行设计。数据库管理系统的开发,就是在图书馆书籍管理方式基础上开发而来的。开发人员将大量的信息资料,存储于计算机系统,并在特定计算机程序作用下,管理这些信息资料,这样的程序,就可以视为“数据库管理系统”,可帮助管理人员,查询到计算机系统存储的海量信息。2.1.2数据库的管理技术所谓的数据库,指的是多种数据的集合,有一定的结构性的特点,存在多种不同类型数据,并为不同用户提供数据服务,并存储于不同用户程序;新插入数据库的数据,进行相应的修改和检索,并采用公用的控制方式进行管理。如果某个系统在结构上,对其进行拆分时,各系统部分分别对应一个数据库。2.1.3网络数据库数据库主要有以下优点:数据库的出现和应用,精简了冗余数据,提升了数据共享性,节约了大量的存储空间。同时,数据库也为用户提供了便于数据编写的应用程序。尤其是当前应用范围不断扩大的数据库管理系统dBASELL,操作较为便利,应用范围较广,有一定的数据处理了能力。当前,数据库在国内应用范围不断扩大,逐渐成为经济管理的主要技术方式。数据库理念被提出后,先后推出了多种类型的数据库模型,其中网络模型、层次模型和关系模型是应用最多、最具影响力的模型。形成于二十世纪六十年代的关系模型,具有结构简单、操作灵活、简单易学等优点。七十年代至今,关系模型已经成为数据模型研发的基础和指标,当前应用范围最为广泛的数据库软件,都是在关系模型基础上开发的。管理信息系统(MIS)是当前迅速发展的新兴自然学科,其是对着计算机信息技术发展而不断发展的管理系统。当前,人们认为该系统是以计算机信息技术为基础获得应用的,是人和计算机设备形成的信息管理技术。其管理对象为信息。信息是在加工、处理后产生的有一定价值的信息。信息主要特点是量大、来源广,都产生于社会日常生活中,有一定的时效性特点。系统是由多个相互影响、相互作用的要素,在相应规则下产生的并有一定功能的结构。其主要构成要素包括输入、反馈、管理、处理等。关系模型要求将系统视为实体Entity、联系Relationship部分构成。其中,实体的作用是区分事物,和系统关系较为密切。对象多以实体形式呈现,用来描述各实例特点。而联系用来体现各实体关系,即各实体间的应对关系。联系的形式包括有:首先,个体之间的联系,如一个人只对应一种性;其次,一对多的联系,如同一种性别,对应于多人身上;最后,多对一的联系,如很多人具有统一性别。根据联系关系,就可以由一个实体,查询到另一个实体信息,并将相关数据组织到表列中。表格结构为行、列结合的结构,行用于记录相关数据,列用于记录信息域值。系统的反映出现实社会的事实和值。2.1.4数据库接口Internet自身就是一个拥有海量数据的数据库,而和Web、接口等功能的结合,为数据的远程交互、网络管理提供了便利和支持。网络数据库的信息交互,不同于自动化控制系统,实时性要求不高,网关接口无法长时间连续连接。在查询结果发动给远程客户端时,其和浏览器之间的链接便即中断。所以,数据库自身容量大小,不会直接影响到信息传递效率。在Web基础上创建的数据库,主要存在文本数据库、大型数据库等多种类型的数据库。而数据库接口是Web和数据库之间重要连接渠道。通常情况下,Web表是用户访问并操作数据库的主要途径。在数据库交互过程中,通过表单前端进行信息收集、分析,并从数据库中提取数据信息。作为文本数据库,可作为前端也可作为后端,分别对数据库数据进行翻译,并发送到客户终端。如果采用数据库管理,可通过前端,将查询数据导入一个表单中,接着导入服务器数据库,由后端CGI进行查询,并回应用户或将前后端集成到同一脚本中,完成系统创建;Windows下则需要采用OLE组件技术或其他与程序之间的通信手段。Internet――――――――――――――――――――――――客户机WebInternet――――――――――――――――――――――――客户机Web服务器数据库服务器2.1.5网络数据库的运作机制(1)运作流程本系统是在HTML作用下进行开发的,内部采用的JavaScript、CSS,风格较为一致,操作人员在一个窗体作用下,完成相关的操作工作,和图片、音频、视频等无直接关系,从而保证了输出时效性。操作人员可较为直观的进行数据填写、查看,并简化操作程序。系统数据库以JDBC技术进行连接,操作较为简洁,系统数据访问是在系统内部作用下实现的。数据库的连接是在JavaBean作用下获得实现的。并在MYSQL作用下存储BBS数据,主要由系统数据、用户信息、文章信息等构成。(2)资料传递方法Server在将用户信息资料上传到交互程序前,首要的是将多种类型的资料,转化为同一变量,为程序运行奠定基础。这些变量通常在Server端接口运行时产生的。Web表达即时通信方式主要存在POST,GET以及HEAD三种。(3)输出数据输出是程序互动交流的最后环节,且输出的数据形态并非单一的。为更好的识别信息,必须在资料送出前,先将额外信息送出。2.1.6动态网站(1)动态网站在当前Web技术迅速发展的背景下,传统的静态发布信息的网站已经无法满足人们的信息交流所需,要求加强和用户之间的互动交流,且能够提供后台数据的动态网站。所谓的动态网站,是相对于静态网站来说的,不单单只是动态显示网页内容的内容或极具动感的网页界面,指的是网页信息可不通过网页编辑器自动修改,或网页在用户浏览器自动生成,或用户通过浏览Webserver动态生成的网页,并以html格式发送给用户。送给用户浏览。(2)动态网站与数据库最初的网页是以静态形式进行展现的,信息更新速度慢、维护难度大,这对人们信息检索、信息获取、信息分析造成了极大的困难。随着网络信息技术的不断发展,应用范围不断扩大,尤其是www技术的发展,静态网页已经无法满足人们对信息实时性、交互性以及动态性的需求。而随着数据库技术的不断发展,功能越发全面、完善,并先后衍生出SQLServer,Oracle,Sybase等多种类型的数据库,为信息的管理、查询、组织等提供了技术支持。通过在网页HTML文件(*.htm,*.html)中植入Java程序(Scriptlet)、JAVA标记(tag),JAVA网页(*.JAVA)由此生成。服务器在接收到JAVA网页发送的访问需求时,部分程序开始运行,运行结果通过HTML格式发送给客户。程序部分可以是数据库、动态网页或者电子邮箱等功能部分,这是动态网站创建过程中的功能要求。所以,所有程序都是基于服务端运行的,对浏览器无严格要求,可在avaApplet、无Plugin环境下进行运行。2.2系统的开发环境2.2.1系统硬件支撑系统开发的平台和开发工具如下所示:软件系统:环境配置软件:Wampserver3.1.064bitx64 开发软件:JAVA2010 数据库:MySQL硬件环境: 系统内存:8GDDR3 系统类型:64位 操作系统:Windows7旗舰版 硬盘大小:120G西部数据固态硬盘500G西部数据机械硬盘2.2.2主要开发软件(1)JAVA简介JAVA是一种编程语言,通过其创建的WEB站点,内容丰富且极具个性化,并处于动态状态。在JVAV的ADO组件,为系统访问数据库提供了便利。JAVA主要有以下特点:首先,其基于JavaScript等脚本语言,结合HTML代码的应用程序,其优点在于编程语言简单易懂、便于网站创建。其次,不用编译,可直接运行于服务器终端。再次,可通过一般文本编辑器进行网页设计。最后,和浏览器无直接相关性,用户只要启动HTML格式的浏览器,就能浏览JAVA网页。(2)Mysql简介Mysql是Microsoft公司研发的一款SQLServer数据库管理系统,其在兼容SQLServer7.0版本的优点基础上,增添了很多新的功能,具有良好的伸缩性、高度集成性等优点,能够在MicrosoftWindows98、MicrosoftWindows2000多种服务器平台上运行。Mysql能够为多种先进行、大型系统运行,提供数据库支持。大型服务器系统可能同时连接有成千上万的用户,而Mysql为用户安全、稳定运行,提供了有效的安全保护,避免了安全问题的产生和出现,提升了信息的安全等级,可避免多个用户同时进行相同数据的更新。Mysql还合理分配用户资源,如内存、宽带和磁盘。Mysql可运行于Mysql系统的计算机上。其是通过Windows的通讯(IPC)组件(如共享内存)而并非以网络形式和Mysql进行链接,从而使其能够应用于系统程序,而不必存储于本地小型系统的数据库中。大型Web网站和企业数据处理系统的交互中,会产生大量的数据,从而加大了计算机运载压力。这些大型系统的数据,通常由服务层数据库提供。Mysql不支持以平衡负荷形式聚集、创建的数据库,但却支持自主服务器分存数据。

3系统概要设计3.1系统业务流程图分析与设计业务流程分析同时包括业务流程分析、游客业务流程以及管理员业务流程分析等多个部分。3.1.1注册用户业务流程分析注册成功的用户进入到用户登录界面后,在登录界面输入用户账号与密码,登录成功后立即跳转到个人主页界面。用户可以添加、编辑或删除自己的信息。各项操作完成后退出当前界面,回到系统主页。注册用户业务流程分析如图3.1图3.1注册用户业务流程图3.1.2系统管理员业务流程分析系统管理员登陆系统界面后,需要在登陆界面,输入用户账号与密码,登录成功后跳转到系统后台主页面。系统管理员可以查看或删除用户信息;查看或删除不符合系统规定的动态和相册;添加、编辑或删除公告信息。完成各项操作后退出当前界面,回到系统主窗体。图3.2管理员业务流程图3.1.3游客业务流程分析游客不需要登陆就直接可以进行的操作。有浏览用户的动态,并且发表评论,浏览用户的相册,游客也可以注册成为网站的会员。图3.3游客业务流程图3.2系统数据流程图分析数据流图指的是以图形方式,直观体现系统功能的图形。数据在系统中进行逻辑转变时,结构化分析是用来表达工具、软件模型结构的图示方式,是促进系统分析员和用户交互的重要工具。对大型的系统软件来说,可能包含成百数千的数据流图,无法一次将其绘制出来。因此,应当从系统模型加工入手,并对其逐层进行分解,每多进行一次分解,加工量就多增加一些,功能也更为具体、全面。这种分解将持续进行,直到所有加工需求都被简化,便不再进行更多层次的分解。3.2.1用户管理模块系统可以获取用户信息,系统管理员有权限对获取到的用户信息进行浏览或删除等操作。浏览用户信息,即从用户信息表中查询用户信息并显示到页面;删除用户信息,即从用户信息表中删除相应用户ID的用户信息。结束各项操作后退出,回到系统主窗体。用户管理模块数据流程如图3.4所示:图3.4用户管理模块数据流程图3.2.2动态管理模块系统可以获取每个用户发布的动态信息,系统管理员有权限对获取到的用户动态信息进行浏览或删除等操作。浏览用户信息,即从文章信息表中查询发布该动态的用户信息;删除博文信息,即从文章信息表中删除相应动态ID的文章信息。各项操作完成后退出界面,回到系统主窗体。动态管理模块数据流程如图3.5所示:图3.5动态管理模块数据流程图3.2.3相册管理模块系统可以获取每个用户发布的相册信息,系统管理员有权限对获取到的相册信息进行浏览或删除等操作。浏览相册信息,即从相册信息表中查询每个用户发布的相册信息并显示到页面;删除相册信息,即从相册信息表中删除相应相册ID的相册信息。各项操作结束后退出,回到系统主窗体。相册管理模块数据流程如图3.6所示:图3.6相册管理模块数据流程图3.2.4系统公告管理模块通过该模块,可帮助用户获得管理员发布的公告信息,并对其进行添加、编辑、处理。添加公告信息,即向公告信息表中插入一条公告信息;编辑公告信息,即对公告信息表中相应公告ID的公告信息进行编辑修改并保存;删除公告信息,即从公告信息表中删除相应公告ID的公告信息。系统公告管理模块数据流程如图3.7所示:图3.7系统公告管理模块数据流程图3.2.5修改密码模块系统管理员可通过该模块,获得用户信息并有权对用户信息进行编辑、整理和修改,可修改用户密码,可从用户信息表中获取用户id密码等关键信息。其运作流程,参见图3.8所示:图3.8修改密码模块数据流程图3.2.6动态发布模块该模块中,每个登录成功的用户都有发布属于自己的动态的权限。用户发布动态,即向文章信息表中添加一条新的文章动态信息。该模块流程如图3.9所示:图3.9动态发布模块数据流程图3.2.7相册上传模块该模块中,每个登录成功的用户都可以从相册信息表中获取自己上传过的相册信息。用户要上传新的相册,即向相册信息表中添加一条新的相册信息。该模块流程如图3.10所示:图3.10相册上传模块数据流程图3.2.8修改个人信息模块该模块中,每个登录成功的用户都可以从个人信息表中获取自己的个人基本信息。选择编辑修改个人信息,即修改用户信息表中对应用户ID的各项基本信息。该模块流程如图3.11所示:图3.12修改个人信息模块数据流程图3.2.9好友管理模块该模块中,每个登录成功的用户都可以从好友信息表中获取自己想要查询的好友信息。点击“添加好友信息”,就可以获取数据库中的好友信息,并将其添加到自己的好友列表中。该模块流程如图3.13所示:图3.13好友管理模块数据流程图3.2.10动态浏览模块该模块中,动态浏览权限面向的是未注册的游客。游客浏览“高校聚集地”社交网站主页时,获取到用户的动态信息,并进行浏览。即从文章信息表中查询动态信息进行前台页面的展示。该模块流程如图3.14所示:图3.14动态浏览模块数据流程图3.2.11动态评论模块该模块中,动态评论权限面向的是未注册的游客。游客浏览“高校聚集地”社交网站主页时,获取到用户的动态信息,并对自己感兴趣的动态进行评论。即向评论信息表中添加评论信息。该模块流程如图3.15所示:图3.15动态评论模块数据流程图3.2.12相册浏览模块该模块中,动态浏览权限面向的是未注册的游客。游客浏览“高校聚集地”社交网站主页时,获取到用户发布的相册信息,并进行浏览。即从相册信息表中查询相册信息进行前台页面的展示。该模块流程如图3.16所示:图3.16相册浏览模块数据流程图3.3系统功能结构分析与设计系统各功能模块主要有以下功能:用户信息管理模块:管理员在登陆系统后,可添加、删除用户并编辑用户信息。相册管理功能:管理员可浏览、查看、添删相册。系统公告管理模块:主要用于管理员维护、发布公告信息,包括信息的录入、编辑、查询和删除。修改密码模块:主要用于密码修改、编辑等工作,保证系统信息的安全性,避免信息泄露或被撺取。动态管理模块:用户在成功注册、登陆系统后,可对历史动态信息进行修改、编辑、添删等操作。相册管理模块:用户成功注册、登陆系统后,可根据需求,编辑、添加、删除、创建新的的相册等。个人信息编辑模块:主要用于新用户的注册并设置个人信息。好友管理模块:主要功能是注册用户管理自己的好友信息、查找新的好友、是否加为好友、删除已有的好友等功能。动态、相册浏览模块:主要功能是游客进入系统后,可以浏览他人添加的动态,浏览他人上传的照片,如有兴趣,还可以发表一下评论。系统功能结构图,如图3.17所示。图3.17系统功能结构图3.4数据库概念模型设计数据库概念设计——E-R模型该模型主要用于信息建模,建模方式是多样的,应用最大用的是实体-联系模型,也就是E-R模型,其通过E-R图来直观的展示信息世界结构,直观的展示出“高校聚集地”社交网站系统实体与其属性之间的关系。数据库概念设计如图3.18所示:图3.18数据库概念模型E-R图数据库逻辑设计——关系模型图3.18将数据库E-R图转化为关系模型。用户信息(ID,密码,用户名,性别,昵称,电话,E-mail地址,头像,地址)动态信息(ID,内容,标题,用户发布时间,浏览量)相册信息(ID,标题,内容,发布时间,用户ID)评论信息(ID,评论者姓名,评论者联系方式,评论者QQ,评论时间,动态ID)公告信息(公告ID,标题,内容,发布时间)管理员信息(用户名,密码)3.5数据字典3.5.1定义数据库表“高校聚集地”社交网站后台数据库中总共设计了7张数据表,即动态信息表(t_bowen)、评论信息表(t_pinglun)、管理员信息表(t_admin)、相册信息表(t_xiangce)、用户信息表(t_user)、照片信息表(t_zhaopian)以及公告信息表(t_gonggao),其结构特点为:(1)用户信息表(t_users)其主要作用是存储用户基本信息,包括用户ID,密码,用户名,性别,昵称,电话,E-mail地址,头像,地址等信息,参见表3.1:表3.1用户信息表(t_user)字段名数据类型字段描述长度主键IDint用户ID4√Namevarchar用户账号50Pwdvarchar用户密码50Realnamevarchar昵称50Sexvarchar性别50Addressvarchar住址50Telvarchar联系方式50picpathvarchar头像50(2)动态信息表(t_bowen)动态信息表主要用于存储用户添加的动态信息,主要字段有动态编号、标题、内容。动态信息表如表3.2所示:表3.2动态信息表(t_bowen)字段名数据类型字段描述长度主键IDint动态编号4√Titlevarchar标题50Contentvarchar动态内容5000TimesDate添加时间4User_idvarchar用户Id4Clicksvarchar浏览量4(3)相册信息表(t_xiangce)其主要用于用户相册信息的添加、存储和删除,包括相册标题、内容、编号等信息,参见表3.3:表3.3相册类型信息表(t_xiangce)字段名数据类型字段描述长度主键IDint相册编号4√Titlevarchar相册标题50TimesDate添加时间4User_idint用户Id4(4)评论信息表(t_pinglun)主要用于用户动态评论信息的存储和管理,包括评论时间、内容、评论人员用户名等。参见表3.4:表3.4评论信息表(t_pinglun)字段名数据类型字段描述长度主键IDint评论编号4√contentvarchar评论内容50shjianvarchar评论时间50bowen_idint动态ID50(5)公告信息表(t_gonggao)主要用于网站公告信息的存储和管理,包括公告内容、标题、日期,参见表3.5:表3.5公告信息表(t_gonggao)字段名数据类型字段描述长度主键IDvarchar编号4√Titlevarchar标题50Conentvarchar内容5000timesDatetime发布时间4(6)照片信息表(t_zhaopian)主要用于用户招聘信息的存储和管理,包括用户ID、标题、介绍等信息,参见表3.6:表3.6照片信息表(t_zhaopian)字段名数据类型字段描述长度主键IDInt编号4√titlevarchar照片标题4fujianvarchar照片路径4jieshaovarchar照片介绍50xiangce_idInt相册ID4(7)管理员信息表(t_admin)主要用于管理员信息的存储和管理,包括账号、密码、编号等信息,参见表3.7:表3.7管理员信息表(t_admin)字段名数据类型字段描述长度主键IDInt编号10√Namevarchar登陆账号50Pwdvarchar登陆密码503.5.2定义数据流1.数据项的描述表3.8用户信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间用户账号文本50最多25个汉字密码文本50密码至少4位数字昵称文本50最多25个汉字性别文本50最多25个汉字电话数字20中国电话号码,固定电话号码,手机号码住址文本50最多25个汉字头像文本50最多25个汉字表3.9动态信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间用户ID数字40000000000至9999999999之间标题文本502~100个汉字内容文本2000-200个汉字发布时间日期10年-月-日,形如“2011-5-19”浏览量数字100000000000至9999999999之间表3.10相册信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间用户ID数字40000000000至9999999999之间路径文本202~50个汉字上传时间日期10年-月-日,形如“2011-5-19”浏览量数字400000000000至9999999999之间表3.11公告信息数据项描述数据项类型长度值范围ID数字100000000000至9999999999之间标题文本102~50个汉字内容文本5002~500个汉字发布时间日期1年-月-日,形如“2011-5-19”表3.12评论信息数据项描述数据项类型长度值范围ID数字100000000000至9999999999之间标题文本102~50个汉字内容文本5002~500个汉字评论时间日期1年-月-日,形如“2011-5-19”评论者姓名文本102~50个汉字评论者联系方式文本502~50个汉字评论者QQ文本502~50个汉字动态ID数字100000000000至9999999999之间2.数据流的描述(1)数据流名:动态信息简述:用户登录成功后有权限对动态信息进行添加、编辑和删除操作组成:动态参数=标题+内容数据量:约100次/日(2)数据流名:用户信息简述:系统管理员登录成功后可以浏览和删除用户信息组成:用户信息=用户账号+姓名+密码+状态+地址+电话+手机+头像+住址数据量:每天50次。(3)数据流名:相册信息简述:用户在正确输入账号密码后,登陆系统,就可修改、添加、删除相册信息。内容:编号、标题、内容、日期。数据量:约100次/日(4)数据流名:公告信息简述:管理员在登陆系统后,可查询、修改、编辑、添加或删除公告信息。组成:公告信息=公告编号+标题+内容+发布时间数据量:约100次/日(5)数据流名:评论信息简述:游客打开网站后可以查看动态信息、发表评论组成:动态信息=评论者姓名+联系方式+评论者QQ+动态ID+评论时间数据量:约100次/日3.外部实体的描述(1)外部实体名称:系统管理员简述:系统管理员拥有最大的系统应用权限。输入的数据流:对用户的管理,并浏览系统动态、相册、添加相册、删除相册以及公告信息的管理等。输出数据流:包括对各类用户的管理。(2)外部实体名称:注册用户简述:注册用户,具有动态发布、动态评论、好友信息管理、个人信息维护管理等多种权限。输入的数据流:包括相册添加、删除、修改、个人信息的编辑管理、好友信息的编辑管理、动态评论管理等。输出的数据流:个人信息修改、管理、发表评论、上传相册等;(3)外部实体名称:游客简述:游客拥有浏览相册、发布评论等权限输入的数据流:动态浏览、相册查看和发表评论输出的数据流:浏览动态、查看相册和评论发表

4系统实现4.1系统首页设计“高校聚集地”社交网站的首页上方显示的是网站的logo和当前的时间;下方主要部分是信息显示区域,右侧中间部分是通知公告,管理员发布的公告都可以在此点击后链接到相应的信息页面查看具体通知公告;左上方是登陆模块,用户必须输入正确的用户名、密码后才能进入系统;右下方是一个精美的日历表,用于显示当前的日期。首页界面如图4.1所示:图4.1系统首页界面4.2用户注册模块4.2.1用户注册模块界面游客要想使用本系统的功能,而不只限于浏览、评论,首要的是用户注册,并登陆账号,才能有上传相册、好友信息管理以及动态发布等这些功能权限。注册界面如图4.2所示:图4.2用户注册模块界面4.2.2用户注册模块关键代码publicStringuserReg() { TUseruser=newTUser(); user.setUserName(userName); user.setUserPw(userPw); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserRealname(userRealname); user.setUserEmail(userEmail); user.setUserSex(userSex); user.setUserQq(userQq); user.setFujian(fujian.equals("")==true?"/img/none.gif":fujian); user.setFangwenliang(0); user.setUserDel("no"); userDAO.save(user); return"successAdd"; } publicStringuserEdit() { TUseruser=userDAO.findById(userId); user.setUserName(userName); user.setUserPw(userPw); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserRealname(userRealname); user.setUserEmail(userEmail); user.setUserSex(userSex); user.setUserQq(userQq); user.setFujian(fujian); userDAO.getHibernateTemplate().update(user); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","修改成功"); return"msg"; }图4.3用户注册模块关键代码4.3照片发布模块4.3.1照片模块界面相册管理界面中,用户需要输入照片标题、照片说明信息。在这里采用的是现在比较流行的富文本编辑器fckEditor。照片模块界面如图4.4所示:图4.4照片发布模块界面4.3.2照片发布模块关键代码publicStringzhaopianAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TZhaopianzhaopian=newTZhaopian(); zhaopian.setTitle(request.getParameter("title")); zhaopian.setFujian(request.getParameter("fujian")); zhaopian.setXiangceId(Integer.parseInt(request.getParameter("xiangceId"))); zhaopian.setDel("no"); zhaopianDAO.save(zhaopian); request.setAttribute("msg","上传图片成功"); return"msg"; } publicStringzhaopianDel() { Stringsql="updateTZhaopiansetdel='yes'whereid="+id; xiangceDAO.getHibernateTemplate().bulkUpdate(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","照片删除成功"); return"msg"; } publicStringxiangceAll() { Maprequest=(Map)ServletActionContext.getContext().get("request"); Stringsql="fromTXiangcewheredel='no'anduserId="+userId; ListxiangceList=xiangceDAO.getHibernateTemplate().find(sql); for(inti=0;i<xiangceList.size();i++) { TXiangcexiangce=(TXiangce)xiangceList.get(i); Strings="fromTZhaopianwheredel='no'andxiangceId="+xiangce.getId(); ListzhaopianList=zhaopianDAO.getHibernateTemplate().find(s); xiangce.setZhaopianList(zhaopianList); } request.put("xiangceList",xiangceList); TUseruser=userDAO.findById(userId); request.put("user",user); returnActionSupport.SUCCESS; }图4.5照片发布模块关键代码4.4添加动态模块4.4.1添加动态模块界面在该界面中首先输入动态标题和内容。点击“提交”按钮,即可完成动态发布操作。添加动态界面如图4.6所示:图4.6添加动态模块界面4.4.2添加动态模块关键代码publicStringbowenAdd() { TBowenbowen=newTBowen(); bowen.setTitle(title); bowen.setContent(content); bowen.setShijian(newDate().toLocaleString()); bowen.setUserId(userId); bowen.setDel("no"); bowenDAO.save(bowen); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","博文发布成功"); return"msg"; } publicStringbowenDel() { TBowenbowen=bowenDAO.findById(id); bowen.setDel("yes"); bowenDAO.getHibernateTemplate().update(bowen); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","博文删除成功"); return"msg"; } publicStringpinglunMana() { HttpServletRequestrequest=ServletActionContext.getRequest(); Strings="fromTPinglunwherebowenId="+Integer.parseInt(request.getParameter("bowenId")); ListpinglunList=pinglunDAO.getHibernateTemplate().find(s); request.setAttribute("pinglunList",pinglunList); returnActionSupport.SUCCESS; }图4.7动态添加模块关键代码4.5用户修改个人资料模块4.5.1修改个人资料界面单击个人资料界面的“修改”菜单,系统就会自动转到个人资料编辑、修改界面。在完成个人信息资料的修改后,自动跳回到个人文本框中。用户可自行修改文本框中的信息,修改完毕,单击“确定”按钮,即可完成修改个人资料操作。用户个人资料编辑界面如图4.8所示:图4.8用户个人资料编辑模块界面4.5.2编辑个人资料关键代码publicStringuserEdit() { TUseruser=userDAO.findById(userId); user.setUserName(userName); user.setUserPw(userPw); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserRealname(userRealname); user.setUserEmail(userEmail); user.setUserSex(userSex); user.setUserQq(userQq); user.setFujian(fujian); userDAO.getHibernateTemplate().update(user); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","修改成功"); return"msg"; } publicStringuserEditPre() { TUseruser=userDAO.findById(userId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("user",user); returnActionSupport.SUCCESS; } 图4.9用户个人资料编辑界面关键代码4.6管理员登录模块4.6.1登录界面系统管理员要维护整个“高校聚集地”社交网站系统,必须先登陆到系统中。系统登录界面,管理员输入其用户账号和密码,并通过验证后,就可登入系统,并在数据库中查询用户信息。如果用户存在,则提取用户账号、密码,并分别赋予其相应的字符变量,判断其输入的账号、密码是否正确,如果密码通过验证,则根据相应的权限,登入相应的界面。如果密码无法通过验证,则系统会发出密码错的提示。如图4.10,为该系统管理员登陆界面:图4.10系统管理员登陆模块界面4.6.2登录界面关键代码Stringsql="fromTUserwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListuserList=userDAO.getHibernateTemplate().find(sql,con); if(userList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TUseruser=(TUser)userList.get(0); session.setAttribute("userType",1); session.setAttribute("user",user); result=user.getUserId().toString(); }图4.11登陆界面关键代码4.7注册用户管理4.7.1注册用户管理模块界面在管理员登陆系统界面后,点击“用户信息管理”连接,就可浏览用户相册信息,也可修改、删除、添加用户信息。注册用户界面如图4.12所示:图4.12注册用户模块界面4.7.2用户管理模块关键代码publicStringuserDetail() { TUseruser=userDAO.findById(userId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("user",user); returnActionSupport.SUCCESS; } publicStringuserMana() { Stringsql="fromTUserwhereuserDel='no'"; ListuserList=userDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; } publicStringuserSearch() { Stringsql="fromTUserwhereuserDel='no'anduserRealnamelike'%"+userRealname.trim()+"%'"; ListuserList=userDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }图4.13注册用户模块关键代码4.8公告管理模块4.8.1公告管理模块界面管理员登陆到系统后,点击“系统公告管理”,可以浏览之前发布的公告信息,同时也可以删除、编辑之前的历史公告,录入新的公告。公告管理界面如图4.14所示:图4.14公告管理模块界面4.8.2公告管理模块关键代码publicStringgonggaoAdd() { TGonggaogonggao=newTGonggao(); gonggao.setGonggaoTitle(gonggaoTitle); gonggao.setGonggaoContent(gonggaoContent); gonggao.setGonggaoData(newDate().toLocaleString()); gonggaoDAO.save(gonggao); this.setMessage("公告添加完毕"); this.setPath("gonggaoMana.action"); return"succeed"; } publicStringgonggaoMana() { ListgonggaoList=gonggaoDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("gonggaoList",gonggaoList); returnActionSupport.SUCCESS; } publicStringgonggaoDel() { TGonggaogonggao=gonggaoDAO.findById(gonggaoId); gonggaoDAO.delete(gonggao); this.setMessage("公告删除完毕"); this.setPath("gonggaoMana.action"); return"succeed"; }图4.15公告管理模块关键代码

5系统测试5.1软件测试概述软件测试是系统开发过程中的关键和重点环节。通过软件测试,可帮助系统开发人员找出系统当前主要存在的问题,并采取相应的解决措施,以不断完善系统功能,并降低系统后期维护成本。测试目的是为了保证系统质量安全和功能的完善,保证系统能够符合用户应用所需。所以,软件测试系统开发的重要环节。5.2软件测试的目标测试的目的是为了发现软件系统的错误,找出系统中的不足。因此,一次成功的系统测试,是能够发现未发现错误的过程。软件测试包括单元测试、编码测试以及综合测试多个部分。其中,单元测试可通过各模块逐次测试的方式,判定其功能是否有效;通过编码测试,可判断各模块之间是否有效连接;综合测试的目的,是为了判定系统功能是否完善。5.3软件测试的方法主要测试方式包括动态、静态测试两种。其中,动态测试根据设计方式,又可划分为黑盒测试、白盒测试两种。5.3.1静态测试静态测试是通过人工检测盒,对系统程序进行测试的检测方式。具体的检测方式为:首先,人工检测。指的是单纯靠人工的方式,而不借拥计算机程序,进行软件系统的检测。其次,计算机辅助静态分析:指的是通过计算机等辅助设备,对被测试系统进行分析,并从中提取一些关键信息,并检测可能发生错误的变量和代码。5.3.2动态测试动态测试不同于静态测试,只要输入一组动态数据,并运行程序,在程序运行中找出系统的问题和不足之处。通常情况下,动态测试主要存在白盒测试和黑盒测试两种。1.黑盒测试黑盒测试同时也被称为“功能测试”、“数据驱动测试”,测试其应用功能是否能够正常应用。测试过程中,应当将系统视为无法正常打开的黑盒子,在忽略内部结构特点的情形下,在程序接口处进行测试,检测其个程序功能能否正常发挥,能否接收输入数据并发出输出数据,还要检测其外部信息是否完整。功能测试过程中,被测试的系统软件输出域、输入域一般是无限域,所以穷举测试是不可取的,必须以合理的策略进行检测,并得出测试用集,并尽可能的对软件进行全面性的测试。本文以下部分,对应用较多的测试方式进行了说明和论述:a.等价类划分等价类指的是多个输入域之集,该集合中的各个输入,都可用于揭露错误程序,并将程序输入域划分为多个部分,并从各部分中抽取少部分代表性数据为测试用例,就是所谓的等价类划分法,是功能测试中基础测试方式。b.因果图法因果图是一种由自然语言转化而来的形式语言,其本质是被简化的数字逻辑托。该方式是帮助人们选择高效测试用例的方式,同时,还能帮助用户人员找出程序中的二义性和不完全性。c.边值分析大量的实证经验指出,在软件输入、输出域边界,差错率较高。边值分析是根据边界条件,确定测试用例的检测方式。这里所说的边界条件,指的是相对于输入、输出值,确定其边界状态条件。总的来说,边值分析是等价类划分的延伸、补充和完善。黑盒测试的目的,是为了发现系统是否存在以下错误:首先,功能是否完善;其次,系统接口输入能否正确接收?输出的结果是否正确?最后,是否存在数据结构错误或者外部访问错误?2.白盒测试白盒测试同时也被称之为逻辑驱动测试、结构测试,通过白盒测试,可了解系统功能是否符合相关规定,内部结构是否科学、合理,检测程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论