基于人才搜索的博客系统的设计与实现毕业论文.doc_第1页
基于人才搜索的博客系统的设计与实现毕业论文.doc_第2页
基于人才搜索的博客系统的设计与实现毕业论文.doc_第3页
基于人才搜索的博客系统的设计与实现毕业论文.doc_第4页
基于人才搜索的博客系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

基于人才搜索的博客系统的设计与实现毕业论文目录1.1 研究背景61.2 国内外研究现状61.3 本文研究的主要内容71.4 论文组织结构8第2章 项目开发技术介绍92.1 Ehcache技术介绍92.2 S2SH框架介绍92.3 MySQL Server数据库介绍112.4 MyEclipse开发工具介绍122.5 本章小结12第3章 系统需求分析123.1 系统开发条件133.2 目标设计要求133.3 系统功能需求分析143.4 系统用例图153.5 可行性研究分析173.5.1 技术可行性183.5.2 经济可行性183.5.3 操作可行性183.6 本章小结19第4章 系统总体设计194.1 系统总体架构194.2 系统主要功能模块设计204.3 系统流程224.4 系统数据库设计244.4.1 数据库表实体属性图254.4.2 数据库逻辑结构图274.5 本章小结28II第5章 系统详细设计285.1 系统主要功能模块设计295.1.1 登陆、注册功能295.1.2 博客网站首页管理295.1.3 个人博客空间管理295.1.4 博客文章管理295.1.5 书签管理305.1.6 用户基本资料、相册管理305.1.7 系统后台管理305.2 数据库设计实现305.3 系统类图及交互图335.4 本章小结37第6章 系统功能实现376.1 Hibernate配置数据库376.3 Ehcache缓存文件配置426.4 博客登录管理446.5 用户注册管理456.6 文章发表及管理466.7 留言及评论管理506.9 博客系统后台管理53第7章 系统测试577.1 测试目的577.2 测试用例执行结果58第8章 结论与展望598.1 结论598.2 展望60致谢61参考文献61III第1章 绪 论1.1 研究背景WEBLOG即为网络博客,也称其为网络日志。早在十八世纪初,通过互联网平台发表博客的思想就已经被提出来了,但到了十九世纪才真正开始流行起来。从刚开始的仅有不到一万的用户到现在各种各样的博客网站系统纷纷涌现于当今社会。自2006年开始,在国内如新浪博客、网易博客、天涯博客等等各大门户网站,纷纷宣布即将进入博客时代,并不断涌现出一批继新浪博客、网易博客等聚集千万用户的博客系统,目前国内已有数十家大型的博客网络站点。博客是继E-MAIL(电子或QQ邮箱)、BBS(论坛系统)、ICQ(网络即时聊天)之后出现的第4种最新的网络交流和生活方式。Blog网站现在也在教育方面、金融方面、公司内部、医疗方面等领域都得到了很大的发展,它将互联网从过去的专门通讯、在线交流等功能进一步强化,使其更加个性化、界面化、开放化、实时化、关注用户体验、全球化,把个人所学信息共享到互联网。通过分析并研究对比国内知名的博客网站系统,分析其做的成熟的原因和吸引用户的主流功能,设计实现一个能让用户更好的充实自己、展示自己的平台。此系统采用Struts+Velocity+Hibernate框架进行本系统的开发,以目前现有博客系统的功能为基础,力求设计一个基于人才培养,人才搜索的博客平台。1.2 国内外研究现状截止目前,全世界的博客用户已经超过三亿的数量了,博客平台活跃程度进一步地提高,经常更新、浏览博客的用户比例为68.8%,活跃的博客用户规模近达到1.28亿。在我国,博客网站系统以48%的增长率在增长,博客网站已经成为人们在网络生活中所不可缺少重要的组成部分,与网络聊天系统并驾齐驱成为当今的热点。由此可见,博客系统已经在人们的日常生活中发挥着极其重要的作用,它在满足博客用户对网络生活不断增长的需求的同时,博客也正在以其本身的热度来改变着人们的交流方式和生活方式,加快并丰富了互联网信息传播的步伐和途径。时代当下,博客网站的影响力已毋庸置疑,在当今的信息社会中发挥的巨大作用也在日益渐增。在中国,博客网站系统的研究已具有一定的规模性,通过长时间的分析研究发展现状可以知道,我国的博客系统研究具有如下几个特点:1. 博客网站对传统媒介的影响力是研究分析的热点之一。博客的蓬勃发展,在很大程度上对传统媒体产生了众多的影响,但两者者之间就必定存在着一定程度上的关联,进而萌生了研究二者密切关系的话题。2. 网络技术的背景成为突破研究的方面。根据互联网信息和科技技术的飞速发展,便促进博客系统在成长和创新方面得到了升华,关于博客网络技术背景的研究则更加侧重于如何让博客在众多热门同行的激烈竞争中吸引和招揽更多的博客用户并且进一步地扩大博客市场。3. 博客网站系统的研究范围具有广泛性。它正逐渐地渗透到当今社会的众多领域中去,在最近几年已经有越来越多的研究学者开始从文化、宗教、医疗、法律、教育、金融行业以及社交等方面对博客进行全面的研究。总之,博客的系统研究已经从对博客系统本身的应用实用性研究发展到对广大用户、社会发展的研究,随着对博客的研究的不断全面发展和系统深入,必将把博客推动到一个全新的新巅峰。1.3 本文研究的主要内容现如今,博客完全突破了最原始的功能,渐渐走进社会的众多领域,然而博客现在不仅仅只是为了展示个人风采的平台。本系统除了能让用户发表文章,上传图片,在线听音乐之外,还能寻求更多更好的工作机会,站长通过后台的统计,看哪一个用户擅长于哪一方面,根据公司的需求,便会给此用户一个工作的新机会。同样可以向站长咨询相关的招聘信息。通过这样一个平台,既节约了人们的时间,同时通过与其他用户进行学术上的交流又能学到更多的新技术,新知识。本论文设计的人才搜索博客将更加关注用户每日所发表的文章,通过其文章发表数,访问量等来衡量其IT专业技能。同时注重博客用户的社交需求,本系统为用户提供了发表文章,发表评论,留言管理,个人信息管理,短消息功能,个人相册功能,还可以为用户提供书签保存,添加好友,黑名单等社交功能。针对本次论文的研究内容,系统的设计会将文章的发布、论坛区等展示个人风采与技能放在系统功能的重要位置,以便用户登录后进入个人博客空间就可以方便的发表文章日志和相册等个人信息,充分强调博客功能的重要性和便捷性。同时把文章、相册、留言、好友以及评论等信息的管理功能将放在操作便捷的位置,引导用户随时关注个人基本信息的管理,及时删除掉无用信息,增强个人博客空间的吸引力。使本系统具有更高的安全性和稳定性(如防SQL注入,ENCHACE缓存),以及更优良的功能层次的扩展性。1.4 论文组织结构第1章 绪论。首先阐述了本次课题提出的研究背景和目标,包括博客网站系统的产生原因和发展历史。掌握当今博客网站的发展状况,最后对博客论文的主要研究内容与目的和组织结构进行全面的简述。第2章 课题关键技术的可行性研究。通过介绍了本系统在开发的过程中所用到的关键技术,主要用到了Java语言,Java EE平台中的S2SH框架技术,MySQL Server5.5数据库,SQLyog数据库操作界面,MyEclipse10.8开发工具,Tomcat6.8服务器,FCKEditor编辑器以及B/S开发模式等相关技术。第3章 系统需求分析。本章主要对基于人才搜索的博客系统进行了详细的需求分析,明确设计目标和整体要求,系统模块之间的各个功能需求。为博客系统的总体设计和详细设计提供了明确而清晰的设计方向。第4章 系统总体设计。本章节主要是明确博客系统的总体设计目标,根据分析阶段的需求分析,博客系统流程以及数据库的分析与设计进行全面性地描述,为博客系统的详细设计奠定了充分的铺垫。第5章 系统详细设计。本章节在前期的系统需求分析和系统总体设计的基础上,对博客系统各个功能模块和数据库进行了详细而全面的系统设计,明确各模块之间的联系以及模块功能的界面设计,尤其是博客系统的核心功能的具体实现,成为后期编程工作的主要实现依据和方向。第6章 系统功能实现。本章主要是以系统的详细设计为基础,给出博客系统的具体设计和实现代码,至此本基于人才搜索的博客系统设计开发工作即将接近尾声,最后对本系统进行全面调试、白盒测试,黑盒测试,进一步全面完善本系统。第7章 结论与展望。对本次论文和系统进行深刻而全面的总结,并对其中需要完善的部分进行学术性展望。第2章 项目开发技术介绍2.1 Ehcache技术介绍EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。Ehcache主要的特性有快速、简单、多种缓存策略、缓存数据有两级:内存和磁盘,因此无需担心容量问题,缓存数据会在虚拟机重启的过程中写入磁盘,可以通过RMI、可插入API等方式进行分布式缓存,具有缓存和缓存管理器的侦听接口,支持多缓存管理器实例,以及一个实例的多个缓存区,提供Hibernate的缓存实现。2.2 S2SH框架介绍S2SH 即 Struts2 + Spring + Hibernate 3个开源框架的组合,如图2.1所示: 图2.1 SSH框架架构图1. Struts2是一个基于MVC的框架,通过Struts2的配置文件可以很好的实现模型层(Model)与视图层(View)的分离,Struts2 的MVC设计模式让编程者的逻辑思维变得更加清晰,效率更高。如图2.2所示。图2.2 Struts组件结构图2. Spring 是一个轻量级的开源框架,提供AOP实现,IOC控制,DAO/ORM(对象关系映射)支持,Web集成等功能。AOP的目的是分离系统中的层次结构,使其独立于业务逻辑的实现,使得每个层相互关联单不相互影响。图2.3 Spring框架模块3. Hibernate 是基于JDBC 的持久化解决的一个框架,是一个独特的对象关系映射框架。封装了JDBC连接数据库的代码。采用Hibernate作为持久层好处在于:可以完全地以面向对象的思想方式进行博客系统分析和设计,如图2.4所示。图2.4 Hibernate完整体系结构2.3 MySQL Server数据库介绍MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,这样便增加了存取速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。MySQL是真正的多用户、多线程的SQL数据库的服务器。MySQL是以客户机/服务器结构实现的,是由服务器守护程序mysqld和许多不同的客户程序和程序库构成的。为多种编程语言提供了 API。支持多线程,充分利用 CPU 资源。优化的 SQL查询算法,有效地提高查询速度。它使得数据的存储、删除、更新和存取数据变得更加容易。2.4 MyEclipse开发工具介绍MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)利用它我们可以在数据库Mysql和JavaEE的开发、部署以及应用程序服务器的整合方面能极大的提高工作效率和节约时间。完整地支持HTML,Struts2,JSP,CSS,Javascript,Spring4,SQL,Hibernate3等多种框架或技术。我们可以利用它在数据库和Java开发、发布以及应用程序与服务器的整合等方面极大的提高开发者的工作效率,是功能丰富的Java EE集成开发环境。2.5 本章小结第2章 介绍了本系统在开发过程中所用到的关键技术或插件,主要包括Java语言,J2EE平台中的S2SH框架,MySQL Server数据库,MyEclipse10开发工具,Ajax异步刷新技术,Ehcache缓存技术,Velocity开发模板,Tomcat服务器以及B/S开发模式等相关技术。第3章 系统需求分析3.1 系统开发条件PC配置:CPU:Intel(R) Core(TM) i3 M380 2.53GHZ 2.53GHZ内存:2.00GBWeb服务器:Apache-tomcat-7.0.50操作系统:Microsoft Windows 7 旗舰版32位开发工具:MyEclipse10,Firefox最新版浏览器数据库:MySql Server3.2 目标设计要求本系统的设计要求是采用MyEclipse10工具作为开发平台,以MySQL Server作为数据库,Velocity开发模板,使用S2SH开源框架技术并基于B/S (Browser/Server)模式来对博客系统进行设计开发。本博客系统的设计目标是充分利用S2SH的框架优势,开发一个具有界面友好的、注重安全性的、用户体验良好的、易于扩展和维护、结构开放的基于人才搜索的博客网站系统。界面设计要求:1.博客首页:首页的界面设计在保证功能齐全的同时,尽量做到简洁不冗余,为博客用户提供友好的界面交互,更加注重用户体验。应当在突出个人才能展示的同时,兼顾博客的社交功能,为博主提供博客好友的动态、最近访问、最新评论等信息。2. 注册界面:注册分为三个步骤,填写用户基本信息,填写个人空间信息,注册成功。注册界面在做到简洁而美观的同时,通过采用JavaScript技术对用户输入的注册信息进行验证,保证用户注册信息的合法性和安全性。3. 主页提供最新发布文章、最新上传照片、博客每日精粹、热门博客,最新注册站点,热门文章站点,热门用户站点等信息展示,同时为用户显示短消息和友情链接,便于与他人进行交流。用户可以在浏览他人博客空间的时候,可以对其文章进行书签保存等操作。用户可以在他人的博客空间添加好友,以此实现交友功能,同时也可进行黑名单操作。4. 博客空间首页,博客空间首页当为用户提供用户查询浏览博客文章、日历、公告、留言、发送短消息等功能,同时管理自己博客空间的设置,以满足用户上网的需求,为用户提供更方便快捷的网络平台服务。5.登陆界面:由于本博客系统角色分为游客,VIP,普通用户,管理员4个角色,除了管理员其他都可在博客首页进行登录。3.3 系统功能需求分析系统需要包括首页功能,用户个人管理,博客空间管理,音乐管理,短消息功能,书签管理,标签管理,黑名单,相册功能,留言及评论功能,好友功能等。首页功能需求分析:1. 首页提供最新发布文章和评论、照片、最新上传音乐,热门文章、热门站点、最新注册站点、博客每日精粹以及博主列表等最新信息,以方便用户浏览。2. 提供用户登陆、注册功能,能够对用户在登录时输入的数据进行可靠地有效性验证,同时对已登录的用户提供进入个人博客空间的入口,同时为用户提供安全注销按钮,保护博客用户的账户安全。3. 首页还提供对文章、照片、音乐、标签、好友等信息提供查询功能,方便用户快速获取所需信息。4.在博客首页,可以对热门站点,热门文章,照片,音乐进行订阅操作。方便自己实时浏览他人的动态消息。用户个人资料管理:用户可以点击管理来修改自己的个人资料信息,包括密码、手机号、QQ号、个人宣言、头像、邮箱等资料。日志管理功能:用户可以发表自己的博文,添加文章分类,设置关键字,同时可以对自己已发表的博文进行移到垃圾箱,设为精华,修改、删除和查看评论的操作。还可以为文章提供书签保存等功能,增强个人博客的社交功能。相册功能:用户通过创建相簿,然后上传自己的照片到相册,同时可以对已有图片进行保存为书签,编辑,评论,删除等操作。留言功能:用户在进入其他用户的博客空间时,进行留言操作,当用户进入自己的博客空间时便会提示有几条留言未读的字样。音乐功能:用户可以新建音乐盒,然后添加歌曲,包括歌曲名,专辑,歌手,链接地址,歌词,这里主要采用在线添加音乐的方式。并可进行增删改查操作,播放,下载等功能。短消息功能:这里会显示管理员发布的公告,可对好友消息,陌生人消息,系统消息,我发送的消息,进行查看和删除操作,还可给自己的好友写短信操作。黑名单功能:若不希望某用户访问自己,可以通过黑名单设置。管理员功能:管理员通过博客网站系统提供的管理员登陆入口进入博客系统后台对系统进行管理和维护。统计今日发帖数,今日回复数,今日新注册用户,主要模块为:站点管理,日记列表,图片管理,风格管理,管理员设置。可以修改某一用户的权限,如果是非管理员,便不能登录到此管理页面。好友功能:用户可以通过首页进入某个用户的博客空间,通过查看博主的个人资料,便可进行加为好友操作,待对方同意后,加好友成功,便可进行留言,短消息等操作了。搜索功能:用户在博客首页也可以进行关键字,日志,照片等提示来搜索,同样,进入某用户的博客空间后,可以选择搜索范围来进行搜索,搜索范围有:注册用户,个人博客,日志,照片,音乐,论坛等选择。标签管理:用户在自己的博客空间发表文章,上传照片的时候,输入的关键字便自动形成一个标签库,通过标签这个功能,可以快速浏览自己的某一篇文章或某一张图片。同时也支持关键字的搜索。书签管理:在浏览其他用户博客空间里文章或图片时,可以添加为书签,这样以后便能快速的查看自己书签库里的文章了。同时也可添加某一个友情链接为书签,可以对书签进行删除操作。3.4 系统用例图本博客平台系统致力于为用户提供公司招聘信息,工作机会,以及更好的展现自我才能和在线交流的平台,围绕这一核心任务,将博客系统的用户分为四类:VIP、普通用户、系统管理员和游客。系统管理员拥有最高权限,以便于对后天系统进行管理和维护,而未注册的用户被视为游客,只具有浏览和评论等相关有限的功能。管理员的角色可以对系统所有功能进行管理和维护,如站点用户管理,博客文章管理,相册管理,公告管理,及管理员设置,可以修改其他用户的权限,统计相关的数据信息等,管理员用例图如图3.1所示:博客文章管理 相册管理 博客用户管理 公告管理 站点管理 管理员设置 管理员图3.1 管理员用例图注册并登录成功后的用户用户游客的所有功能以及可以进入自己的博客空间,拥有文章管理,书签管理,相册管理,好友管理,评论管理及个人资料管理的模块的权限,通过管理博客空间,使自己的博客空间更加具有吸引力,登录用户用例图如图3.2所示:文章管理 书签管理 相册管理 评论管理 好友功能 个人管理 登录用户论坛管理 留言管理 图3.2 登录用户用例图作为非登录用户(即游客)拥有较少的权限功能,可以在博客首页浏览所有用户发表的最新或最热文章,浏览相册,对某篇文章发表评论,进入某用户博客空间进行浏览等,游客用例图如图3.3所示:发表评论 浏览相册 浏览文章 游客图3.3 游客浏览主页 图3.1 管理员用例图3.5 可行性研究分析3.5.1 技术可行性本博客系统最终将在分布式系统上部署并运行,并且本人电脑的配置对系统的要求足够的,所以本博客系统的功能足以被实现并正常演示。在软件方面可以用以下几种:1. 操作系统可以用Windows7 32位。Windows作为一个优秀的WEB网络操作系统,它在发行版本中集成了许多的网络应用服务软件。2. web服务器端。Tomcat是一个免费的开源的Serlvet容器,在Tomcat服务器中,应用程序的部署较为简单,只需将工程项目打包放到Tomcat的webapp目录下,Tomcat便会自动检测到这个文件及文件下的内容,并将其解压。Tomcat也具有传统的Web服务器的功能:处理静态Html页面。但是与Apache相比,它处理静态Html页面的能力就不如Apache。所以我采用了Tomcat和Apache结合的服务器,让Apache处理静态Html页面,而Tomcat服务器处理JSP页面和Servlet容器。3.5.2 经济可行性本系统的开发周期持续了34个月,开发所需的硬件和软件设施都是由PC机器来满足需求,PC机系统能够承担,没有花费多少费用。现如今,互联网网络服务器性能优良,完全可以满足本博客系统为博客用户提供服务的需求。该软件系统的安装、开发工具的安装、配置、部署、测试、调试、运行和维护,都由我来实施,且费用不高。3.5.3 操作可行性本系统采用目前较流行的基于B/S架构进行开发设计,用户不需要安装本系统的任何Web软件,只需要在PC机(或笔记本电脑)上通过浏览器输入访问地址即可对本博客网站系统进行访问,通过系统页面为用户提供各种各样的便捷服务,创建并管理属于自己的个人博客空间。总结上述三方面进行可行性分析、研究后,我们认为该项目的可行性是OK的。3.6 本章小结本章主要对本基于人才搜索的博客系统进行了详细的需求分析设计,并且明确了系统的设计目标和实现要求,以及本博客系统的各个功能之间的联系与功能需求。为博客系统的总体设计和详细设计提供明确的设计方向和实现目标。第4章 系统总体设计4.1 系统总体架构本系统由用户PC机端(浏览器端)、Web服务器端和数据库持久端构成。用户通过在浏览器端输入地址便能访问本博客系统进行使用。相应的用户请求,进而为博客用户提供相应的操作功能,并与服务器进行交换数据的操作,为用户提供相关信息和持久化数据到数据库。基于B/S架构的系统具有优良的安全性能,Windows防火墙可以确保系统后台数据库的安全性。对博客系统进行的配置工作都只需集中在服务器端的后台,并且所有用户端的请求都是通过DBMS来访问数据库中的数据,采用了Encache缓存技术,提高了用户的体验性。使用MD5对用户密码进行加密,进而极大的降低了数据直接暴露的风险性,也降低了系统在开发和维护过程中所涉及到的成本。本系统通过采用基于B/S架构大致可以分为三部分:用户客户端、WEB服务器端和数据库服务端。用户端通过接受用户的相关请求并将请求的数据发送到服务器端,Web服务器端通过接受来自用户的请求数据并进行相关的业务逻辑处理,同时将请求信息与数据库进行比较交换,从而完成前端用户的请求操作,并把处理之后的请求数据回传给用户端的界面。数据库持久端与服务器端响应Web服务器的各个请求,存储Web服务器端传来的数据信息或为服务器端提供相应的请求信息数据。本博客系统的总体架构如图4.1所示:用户请求VM系统界面 请求用户PC端(浏览器端) 网络数据传输处理 Web 服务端 WEB服务器(Server) 系统业务逻辑处理 数据更新操作数据库服务端 数据库 服务端 MySQL图4.1 系统总体架构4.2 系统主要功能模块设计本系统根据需求将用户划分为四大类:系统管理员、VIP用户、普通用户和游客。登录用户可以使用登录成功后开放的功能,如发表博客、添加音乐、留言操作、发送短消息、添加书签、上传相册和管理个人信息等功能。系统管理员拥有最高权限,可以对博客系统的所有相关信息进行统一地管理和维护,而未注册的用户则被定为游客,只具有浏览相关信息和评论文章等有限的功能。本博客系统的主要模块设计如图4.2所示:S2SH博网站系统游客管理登录用户管理系统管理员VIP用户管理文章相册浏览发表评论文章相册管理音乐留言管理个人信息管理书签论坛管理管理员设置公告管理风格管理图片管理日志列表管理站点管理图4.2 系统主要模块关系图用户通过注册登录并开通个人博客空间之后,可以选择日志分类,并发表相应分类的博客文章。同时可以通过提供的文本编辑器对文章格式进行编辑、保存此文为书签、移到垃圾箱、一移到草稿箱、设为精华等功能操作。文章管理模块:用户可以查看自己全部的博客文章,同时有最新文章和热门日志的分类,并对其进行删除,修改,保存书签等管理操作。评论留言模块:用户可以管理自己博客空间中的评论和留言,同时也可给好友发送留言和短消息。相册管理:可以通过创建相簿,上传照片,并可以对照片进行编辑,删除,修改相簿属性,移动相簿,删除相簿等功能操作。个人信息管理模块:用户可以对自己的基本资料进行查看和修改操作,例如修改个人资料、上传头像、个人宣言、地区和联系信息等。用户注册模块:新用户通过填写用户基本信息、填写个人空间、注册成功三个步骤,注册属于自己的博客账号,开通个人博客空间,以便使用本博客网站系统,注册模块需要对用户输入的信息进行规则性的校验,以保证用户所注册的信息符合博客系统的统一要求。4.3 系统流程当用户作为游客身份或者还未进行登录进入本博客网站时,便会跳到博客首页,在首页,用户可以浏览最新发表的文章,最近上传照片,博客每日精粹,热门博客,最新注册的博客用户以及友情链接,用户可以通过选择相关类型来搜索。同时也可以点击某个用户进入他的博客空间进行文章,相册,留言查看,加对方为好友等功能,具体的博客系统流程如图4.3所示: 开 始 博客网站系统首页 系统注册界面博客系统登录界面NN注册信息是否合理用户名密码是否正确YY登录到博客系统 用户注册信息保存到数据库进入博客空间退出博客系统 结束图4.3 系统功能流程图4.4 系统数据库设计不管什么样的项目,合理地设计数据库,不仅可以提高数据库对各种数据的执行效率,更能有助于提高系统访问并处理相关数据的效率,从而提高用户的体验性。针对系统性能的提升,增强用户的体验有着非常重要的作用。下列ER图清晰简洁地描述出了本博客系统实体与其属性之间的关系。本系统的数据库E-R图,如图4.5所示:管理文章、相册m发表系统管理员管理浏览m1浏览者博客用户1n 音乐注册管理添加nn1mn书签日志、标签 留言个人资料 好友图4.5系统数据库E-R图4.4.1 数据库表实体属性图:1.用户信息(DLOG_USER)表用于保存注册用户的个人基本信息以及权限等信息,由于本系统用户角色有管理员,IVP用户,普通用户,游客,所以通过用户表来作为本博客系统区分不同用户,为不同权限用户提供不同服务的依据,如图4.6所示: QQ用户名用户ID 密码 注册时间用户角色 昵称 用 户用户头像出生日期 性别个人简介 邮箱图4.6 用户信息实体属性图2.文章信息表(DLOG_DIARY)用于存储用户发布的文章的信息,包括博主名称、博主URL、文章标题、文章内容、文章标签、文章评论数、文章浏览数、文章大小、发布时间等信息,如图4.7所示文章标题文章作者文章ID站点ID 文章内容文章类型文章标签 博客文章文章引用评论量文章大小 浏览量发布时间图4.7 博文信息实体属性图3.评论留言(BLOG_MESSAGE)信息表,用于存储文章、日志和相册中的评论信息,给某个用户进行留言的信息,包括所评论的相应博文的ID、评论用户名、评论内容和时间、留言人、给谁留言、留言内容、留言时间、等,如图4.8所示:留言人ID评论ID文章ID评论人留言内容评论内容留言时间 评论留言评论时间被留言人ID图4.8 评论信息实体属性图4. 相册信息表存储包括用户ID,相簿ID、照片ID、相簿名称、相簿描述、照片数量、相册类型、访问密码、创建时间等所上传图片的信息,如图4.10所示:照片ID用户ID相簿ID相簿名称相册类型相簿描述访问密码 个人相册照片数量创建时间图4.10 相册信息实体属性图5. 系统公告表(BLOG_BULLETIN)主要存储管理员发布的公告信息,包括公告ID、站点ID、公告类型、发布时间、公告标题、公告内容等信息,图4.15所示:公告ID站点ID公告类型公告标题 公告信息表发布时间公告内容图4.15 公告信息实体属性图4.4.2 数据库逻辑结构图mm1111m mmmm 4.5 本章小结本章节主要明确了博客系统的总体设计目标和任务要求,根据上面已经确定了的需求分析,以及对系统总体架构的叙述,系统的各个主要功能模块设计,博客系统流程以及各个数据库表的数据库设计进行了详细而全面的描述,为后面 的详细设计提供了全面而完美的技术支持。从而开发出少bug的系统。第5章 系统详细设计5.1 系统主要功能模块设计1. 登录、注册功能用户在博客系统首页浏览相关信息时,可以通过点击登录进入登录界面,用户输入用户名和口令之后,系统将用户的登陆信息与数据库的用户信息表中的用户名和口令进行验证,将结果返回到前台页面显示给用户。若登录信息错误,则提醒用户用户名或密码错误,重新登录。登录成功后则可进入自己的个人博客空间,进行相关操作的管理。注册界面是游客或未注册用户首访问的界面,通过博客注册界面填写个人基本信息,填写个人空间信息,页面会通过Ajax动态验证用户名、密码、邮箱、QQ等是否符合基本要求,若不符合要求则提示用户重新输入相关信息,否则,则点击提交按钮,系统将用户信息存入数据库,然后自动登录跳到首页,用户便可进入个人博客空间进行管理。2. 博客网站首页管理当用户进入博客首页时,可作为游客身份浏览最新发布的文章,最新上传的图片,博客每日精粹,热门博客,查看最新注册的博主信息或者浏览某个用户的博客空间,同时也可搜索相关的信息。也可进行登录后,进入自己的博客空间进行管理。3. 个人博客空间管理个人空间首页展示个人发布的最新文章和热门日志,用户可以点击浏览已经发布的全部博客文章,以及其他用户的评论。用户可以对相册,音乐,留言以及个人资料进行管理,添加好友,向好友发送短消息等操作。对自己的博客空间进行相应的管理。4. 博客文章管理用户通过点击写文章。在发布界面依次输入文章标题,选择分类或新添分类,选择背景音乐,设置关键字,插入相册图片,也可上传附件,添加为书签,同时可设置心情系数和天气状况等功能,同时通过引用地址来动态发布文章,增加文章的吸引力和可读性,使用户发表的文章更加多样化、个性化。5. 书签管理用户可以把自己发表的文章添加到书签库里,同时在浏览其他用户的文章时,也可添加为书签,在个人博客空间里,可以查看自己的书签或删除书签。通过书签可以快速便捷的浏览相应文章,照片等信息。6. 用户基本资料、相册管理用户可以浏览和修改自己的基本信息,包括密码,邮箱,个人网址,个人宣言等资料。同时对自己文章中的所有评论,好友留言等信息,用户都有权限进行删除等管理操作。用户通过相册功能,创建相簿,上传照片到相簿,编辑照片,或删除已有图片。7. 系统后台管理博客系统后台只对管理员或者部分功能对VIP用户开放而普通用户没有权限,以便对本系统进行管理和维护,充分保证用户能更好的使用本系统。为管理员提供对用户信息、文章、相册和公告等信息的统一管理操作,统计站点的排行榜,统计每日,每周,每月的注册用户或相关统计。5.2 数据库设计实现1. 用户表blog_user,用于存储注册用户的个人信息,如表5.1所示:表5.1 用户信息表属性类型长度说明允许空主/外键user_idint11用户ID否主键 Site_idint11站点ID否usernamevarchar40用户名否passwordvarchar50用户密码否sexsmallint6性别否addressvarchar200住址否emailvarchar50邮箱允许portrait_iconChar100头像允许2. 文章信息表blog_diary,用于存储用户发布的文章信息,如表5.2所示:表5.2文章信息表属性类型长度说明允许空主/外键diary_idInt11文章ID,自增长否主键Site_idInt11站点ID否外键catalog_idInt11博客分类否外键titlevarchar200文章标题否contenttext文章内容否write_timedatetime添加时间否user_idint11用户Id否外键view_countInt11浏览量否reply_countInt11回复量否TagsVarchar100文章标签允许Diary_sizeInt11文章大小否AuthorVarchar20文章作者否Doary_typeSmallint6文章日志分类否3. 评论信息表blog_reply,存储用户提交的评论信息,如表5.3所示:表5.3 评论信息表属性类型长度说明允许空主/外键idint11评论信息id、自增长否主键User_idInt11用户ID否外键diary_idint11文章表id否外键AuthorVarchar20文章作者否contentvarchar100评论信息是createdatedatetime20发表评论的时间是4.文章分类信息表blog_catalog,如表5.4所示:表5.4 文章分类信息表属性类型长度说明允许空主/外键catalog_idInt11分类ID否主键catalog_namevarchar20分类名称否catalog_descVarchar200文章分类描述允许Create_timeDatetime创建时间否Article_countSmallint6分类数量否verifyCodeVarchar20访问密码允许 5. 相册信息表blog_album,存储用户上传的照片信息,如表5.5所示:表5.5 相册信息表属性类型长度说明允许空主/外键Album_idInt11相册ID,自增长否主键Photo_idInt11照片ID否Site_idInt11站点ID否外键Album_nameVarchar40相册名称否Album_descVarchar200相册描述允许Photo_countInt 11照片总数否Album_typeInt11相册类型否verifyCodeVarchar20访问密码允许Create_timeDatetime创建时间否6. 系统公告信息表blog_bulletin,存储系统公告信息,如表5.6所示:表5.6 系统公告信息表属性类型长度说明允许空主/外键Bulletin_idint11公告ID,自增长否主键Site_idInt11站点ID否外键Bulletin_typeInt11公告类型否Pub_timeDatetime发布时间否StatusSmallint6发布状态否TitleVarchar200公告标题否ContentText公告内容否7. 用户好友列表blog_friend,存储用户所有的好友信息,如表5.7所示:表5.7 用户好友列表属性类型长度说明允许空主/外键User_idint11用户ID否主键Friend_idint11好友ID否主键Friend_typeInt11好友类型否Friend_roleInt11好友角色否Add_timeDatetime添加时间否Friend_group_idInt11好友分组ID否5.3 系统类图及交互图DiaryForm类表示博客文章信息。其中catalog_id、author、title、content等属性分别表示文章分类、作者、发布博文的标题、内容等信息,并有对应属性的get和set方法。DiaryDAO类中的updateArticle、addArticle、deleteArticleById等方法实现对文章信息在数据库中的增删改查操作。DiaryAction类对应具体文章操作的业务逻辑。doAutoCreateCatalogAndWrite、doUpdateArticle、doDeleteFromTrash等方法实现对文章增删改的逻辑操作,通过接受从前台页面传来的请求后进行逻辑业务处理,然后通过调用DiaryDAO类实现对底层数据库的数据访问操作。类图以及各个方法之间的关系如图5.3所示:图5.3 涉及文章操作的类图及相互间的关系UserLoginService类为用户逻辑处理。通过调用DlogAdminDAO和DlogUserDAO类,分别从数据库中获取普通用户、VIP用户和管理员用户的基本信息,通过ValidateLogin方法进行逻辑业务的处理,类图以及之间的关系如图5.4所示:图5.4 涉及用户登陆操作的类图及相互间的关系TUserDAO类中的SaveUser、selectUserFindById、deleteUser等方法实现对用户信息的增删改查操作。通过调用BlogUser类,将信息封装到BlogUser类中,然后存储到数据库中。BlogUserAction类为用户逻辑类。RegisterBlogUser、getBlogUser、delBlogUser等方法实现对用户信息CRUD逻辑操作,通过前端传回的信息,然

温馨提示

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

评论

0/150

提交评论