毕业设计(论文)-基于JSP的个人博客网站的设计与实现(含源程序代码).doc_第1页
毕业设计(论文)-基于JSP的个人博客网站的设计与实现(含源程序代码).doc_第2页
免费预览已结束,剩余51页可下载查看

下载本文档

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

文档简介

太原理工大学阳泉学院毕业设计说明书源代码,程序等,联系 153893706毕业生姓名:专业:计算机科学与技术学号:指导教师:所属系(部):信息系二一二年六月太原理工大学阳泉学院毕业设计评阅书题目: 个人博客网站的设计与实现 信息系 计算机科学与技术 专业 姓名 设计时间:2012 年3月26日2012 年6月1日 评阅意见:成绩: 指导教师:(签字) 职务: 201 年月日太原理工大学阳泉学院毕业设计答辩记录卡信息 系 计算机科学与技术 专业 姓名 答 辩 内 容问 题 摘 要评 议 情 况 记录员: (签名)成 绩 评 定指导教师评定成绩答辩组评定成绩综合成绩注:评定成绩为100分制,指导教师为30%,答辩组为70%。 专业答辩组组长:(签名) 201 年月ii摘 要随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学习和交流的工具。博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思,还有日志、照片、诗歌和散文等。博客具有开放性、互动性和共享性的特点,是一个很好的交流的渠道,思想展现的舞台和学术探讨的园地。本网站采用b/s(浏览器/服务器)开发模式,以my eclipse作为开发平台,采用jsp技术,以tomcat为服务器和sql server 2000为后台数据库。本网站是一个实用的个人博客网站,集日志、图片、留言板于一身。用户可以查看文章,相册,还可以发表留言。博主可以管理自己的日志、相册、留言板等。整个网站层次结构清晰、性能稳定、界面友好,使用起来简单方便。关键词:互联网;b/s;my eclipse;jsp;sql server 2000;博客网站abstractwith the rapid development of internet technology and high speed of life rhythm, blog has being chosen by more and more people as the tool of study and communication. the content of blog is very rich and colourful which has hyperlink and comment of other website, personal thinking, news, music, article and so on. because of the character of independence, interaction and share of blog, it is regarded as an outlet of good exchange channel, the stage of personal thought displaying, and the garden area of knowledge studying. this website use b/s (browser/server) development pattern, my eclipse as a development platform,with the jsp technology, tomcat for servers and sql server 2000 for the backend database.this web site is a practical personal blog website,including log, pictures, message board . visitors can view the article, photo album, also can give a message. blogger can manage their log, photo album, message board, etc. the site level structure is clear, stable performance, friendly interface, it is simple and convenient to use.keywords:internet; b/s;my eclipse;jsp;sql server 2000;blog website目 录摘 要iabstractii1 概 述11.1 个人博客的概念11.2 国内外研究现状11.3 个人博客的研究意义21.4 可行性研究32 开发技术及开发环境42.1 开发技术42.1.1 jsp的特点42.1.2 servlet 技术52.1.3 javabean原理和机制62.2 开发工具72.2.1 eclipse简介72.2.2 tomcat简介72.2.3 dreamweaver简介72.2.4 sql server简介83 需求分析93.1 网站目标93.2 功能要求93.3 数据需求103.3.1 数据流图113.3.2 数据字典124 概要设计144.1 网站体系结构144.2 网站功能结构144.3 模块功能详细介绍164.3.1 用户客户端模块164.3.2 管理员模块184.4 数据库设计204.4.1 概念结构设计204.4.2 逻辑结构设计225 详细设计与实现265.1 公共模块的设计与实现265.1.1 数据库连接及操作类的编写265.1.2 字符串处理类的编写275.1.3 系统配置275.2 用户登录模块的设计与实现285.2.1 用户登录模块概述285.2.2 用户登录模块技术分析295.2.3 用户登录模块实现过程305.3 前台模块的设计与实现315.3.1 前台页面的设计与实现315.3.2 文章查询模块设计与实现335.4 后台模块的设计与实现345.4.1 后台页面的设计与实现355.4.2 相册管理模块设计与实现35结 论36致 谢37参考文献38外文资料39中文译文44iv太原理工大学阳泉学院-毕业设计说明书1 概 述对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性。从2002年开始,国内博客开始迅猛发展起来,从最初的只有几千个尝鲜者到现在的各式各样的博客,圈子。在这三年的发展过程中,主要呈现出如下两个特点。1.博客是可以将个人信息完整呈现在互联网上的载体。2.博客具有“准实名制”趋势,有助于信任机制的建立。1.1 个人博客的概念“博客”(blog或weblog)一词源于“web log(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通。博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。它作为一种新的表达方式,它的传播包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。1.2 国内外研究现状据不完全统计,到今天,全世界博客总量已超过一亿。其中中国的博客达到1600万。博客数量大约6个月翻一番,2006年4月份每天新增博客7万5千人。每天发贴120万篇,平均一小时5万贴。博客的影响力,早已超出了他作为个人,甚至作为自己所在行业的原有范围,开始引起主流媒体的强烈关注。自2006年以后,博客迎来了它的飞速发展时期,作为专业领域的知识传播模式,博客成为了该领域最具影响力的方式之一,博客的影响力也将超越传统媒体。它将成为一种全新的信息组织和传播方式,发挥更大的作用。现在的博客网站的主要特点:1.零机制:博客属于个人所有,是自发建立和非正式的建设。bsp(博客服务托管商)不能对博客发号施令。 2.零技术:博客不需要网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。 3.零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。 4.零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。 5.零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。 与个人主页相比较,博客是使用方便的、交互性强。与传统的电子邮件、bbs和icq这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。bbs公共匿名性很强,而个人性很弱,因此缺乏约束。电子邮件和icq则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比bbs简单的多。1.3 个人博客的研究意义人们一直习惯于把心里的故事写在日记本上,也许是因为怀念,这时候它是一种诉说的方式。日记通常是“隐私”的符号。但是人的心理是很奇怪的,总希望有人能够明白自己、理解自己、懂得自己在想什么、说什么,或者希望别人能够给自己一些意见建议和评价。webblog(网络日志)就是弥补了书本日记的不足,也满足了人们的心理需求。从此它备受宠爱,因为它简单又时尚,更重要的是网络的网络化使你的“隐私”不再“私隐”,虚拟化使没有人会知道你是谁?但你却会受到关注。日志的网络化,使日志不再仅仅只是日志。在你受到网友关注的时候,它已经作为一种宣传你自己的方式存在。日志的网络化、虚拟化,是人的心理需求,也是网络发展的需求。一个可以宣传个人平台的产生吸引了无数网络服务商,也带动了无数blogger的诞生。网络服务商搭建平台,个人通过这个大的平台来建立自己的平台。双方的需求通过网络便简单的实现了双方的满足,你开心我愉快,何乐而不为呢?从互联网的兴起到现在,网民由上网浏览网络文章和查找资料以及上论坛发帖子,发展到建网站、建个人网站论坛主页,再发展成现在的建博客,一路走来,网民在网络一直打拼着建造着一个属于自己的地盘,不知从何时起,建博客、写博客成为了众多网民网络生活的重要组成部分,与网络聊天成了并驾齐驱的热点,共同成为网民上网最关心的事情。因此,博客经济发展前景十分广阔。1.4 可行性研究可行性研究(feasibility analysis)是在网站调查的基础上,针对新网站的开发是否具备必要性和可能性,对新网站的开发从技术、数据、经济、社会的方面进行分析和研究,以避免投资失误,保证新网站的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该网站的可行性研究包括以下几个方面的内容。1.经济可行性:开发该网站所需的相关资料可以通过已存在的相关网站进行调查采集,所需的其他应用软件、硬件网站也易于获得。因此,开发成本较低。而引进使用本网站后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该网站可行。 2.数据可行性:针对于数据的要求,要确保数据存储的安全性,数据格式的正确性,数据访问的便捷性和有效性,现在的数据库管理软件中以sql server为主的几个大型软件都可以满足要求。3.技术可行性:本网站采用b/s结构(browser/server,浏览器/服务器模式),web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将网站功能实现的核心部分集中到服务器上,简化了网站的开发、维护和使用。客户机上只要安装一个浏览器(browser),如internet explorer,服务器安装sql server等数据库。浏览器通过web server同数据库进行数据交互。b/s最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零维护。4.社会可行性:社会可行性主要从法律因素、用户使用可行性两方面进行研究。法律因素,本网站是通过大量的调研得出的,网站的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。用户使用可行性,本网站对用户的要求,除了需要具备在microsoft windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用网站的管理员,需要具备对tomcat服务器的使用能力,在投入使用前,无需对操作网站的人员进行培训。这样既减少投入成本又简化了操作环节。2 开发技术及开发环境本章主要介绍了开发博客网站所用到的开发技术及开发环境。2.1 开发技术开发本网站用了jsp网站开发技术标准的模式二,即:jsp+servlet+javabean。此模式更明显地把显示和逻辑分离,提高了代码的重用性,适合于大型项目的开发。2.1.1 jsp的特点一些人可能已经对微软的active server pages(asp)很熟悉了;jsp在多数方面与asp功能相同但是具有平台无关特性。他们都用来帮助web内容的开发者们使用相对少的代码创建动态的网页。一个jsp页面包含掺杂着java代码的html代码。下面主要介绍下jsp的特点。1.将内容的生成和显示进行分离使用jsp技术,web页面开发人员可以使用html或者xml标识来设计和格式化最终页面。2.jsp技术源于java语言。java语言是体系结构中立的。这使jsp技术可以在实现这个jsp平台的任何网站中运行。这种途径适合于异构的网络环境和软件的分发。3.jsp网站是可移植的。这种可移植性来源于体系结构中立性。4.强调可重用的组件。绝大多数jsp页面依赖于可重用的,跨平台的组件(javabeans或者enterprisejavabeanstm组件)来执行应用程序所要求的更为复杂的处理。5.采用标识简化页面开发web页面开发人员不会都是熟悉脚本语言的编程人员。jsp技术封装了许多功能,这些功能是在易用的、与jsp相关的xml标识中进行动态内容生成所需要的。6.使用jsp标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和javabeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。7.由于jsp页面的内置脚本语言是基于java编程语言的,而且所有的jsp页面都被编译成为java servlet,jsp页面就具有java技术的所有好处,包括健壮的存储管理和安全性。8.作为java平台的一部分,jsp拥有java编程语言“一次编译,各处运行”的特点。当客户端请求一个jsp网页时,jsp engine会检查所请求的jsp网页是否已经处于被载入执行的状态,如果没有,它会先读取jsp程序文件,将它换成servlet程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户端第一次请求jsp网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。2.1.2 servlet 技术 servlet是java编写的服务器端程序,是由服务器端执行和调用的java类。servlet的主要功能在于交互式地浏览和修改数据,生成动态web内容。在本网站中,核心技术是servlet。下面将介绍servlet的生命周期。 servlet部署在容器里,其生命周期由容器管理。servlet的生命周期概括为以下几个阶段:1.当web客户请求servlet服务或当web服务启动时,容器环境加载一个javaservlet类。2.容器环境也根据客户请求创建一个servlet对象实例,或者创建多个servlet对象实例,并把这些实例加入到servlet实例池中。3.容器环境调用servlet的初始化方法httpservlet.init()进行初始化。这需要给init()方法传入一个servletconfig对象,servletconfig对象包含了初始化参数和容器环境的信息,并负责向servlet传递数据,如果传递失败,则会发生servletexception异常,servlet将不能正常工作。4.容器环境利用一个httpservletrequest和httpservletrespons对象,封装从web客户接收到的http请求和由servlet生成的响应。5.容器环境把httpservletrequest和httpservletrespons对象传递给httpservlet.service()方法。这样一个定制的java servlet就可以访问这种http请求和响应接口。service()方法可被多次调用,各调用过程运行在不同的线程中,互不干扰。6.定制的java servlet从httpservletrequest 对象读取http请求数据,访问来自httpsession或cookie对象的状态信息,进行特定应用的处理,并且用httpservletrespons对象生成 http响应数据。7.当web服务器和容器关闭时,会自动调用httpservlet.destroy()方法关闭所有打开的资源,并进行一些关闭前的处理。servlet的工作流程如图1-1所示。浏览器业务层servletjavabean信息系统视图层jsphttpservletrequest请求httpservletresponse响应图1-1 servlet的工作流程图2.1.3 javabean原理和机制 javabean是sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。按照sun公司的定义,javabean是一个可重复使用的软件部件。javabean体系结构是第一个全面地基于组件的标准模型之一,该组件是java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的javabean组件的方式进行构造。在java模型中,通过javabean可以无限扩充java程序的功能,通过javabean的组合可以快速生成新的应用程序。javabean具有以下特点。1.可以实现代码的重复利用。2.易维护性、易使用性、易编写性。3.可以在java的任何平台上工作,不需要重新编译。4.可以在内部网或者网络之间进行传输。5.可以以其它部件的模式进行工作。javabean在jsp程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得网站具有更好的健壮性和灵活性。jsp和asp.net同样是网站开发中常用的开发工具。但是,asp是微软的产品,其应用只能是在windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。每次由服务器解释运行,运行效率不高。jsp页面文件执行时被编译成字节代码,由客户端流览的java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。将数据库连接的重要信息存放在javabean文件后,可以编译成虚拟机才能解释的字节代码,确保了数据库的安全。在asp技术里,通过web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较麻烦。asp提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。因此要求读者需要掌握比较复杂的变成语言的开发技术。在jsp开发技术里,可以通过开发javabean文件实现同样的功能,javabean不需要注册,只要放置在相应的目录下就可以运行。可以实现asp的com组件同样的功能。此外jsp推出主要就是考虑到平台的无关性。jsp代码可以在apache、iis等服务器上执行,支持大部分操作网站。jsp继承java技术的优点:一次编译,处处运行。2.2 开发工具开发本网站用到的工具有eclipse、tomcat服务器、dreamweaver、sql server数据库,下面对这些工具做了简介。2.2.1 eclipse简介eclipse最初由oti和ibm两家公司的ide产品开发组创建,起始于1999年4月。ibm提供了最初的eclipse代码基础,包括platform、jdt和pde。eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。由eclipse项目、eclipse工具项目和eclipse技术项目三个项目组成。2.2.2 tomcat简介如今,基于web的应用越来越多,传统的html已经满足不了如今的需求。因此需要一个交互式的web,于是便诞生了各种web语言。如asp,jsp,php等。当然,这些语言与传统的语言有着密切的联系,如php基于c和c+语言,jsp基于java语言。tomcat即是一个jsp和servlet的运行平台。tomcat是一个免费的开源的serlvet容器,是apache基金会的jakarta项目中的一个核心项目,由apache,sun和其它一些公司及个人共同开发而成。2.2.3 dreamweaver简介dreamweavermx是一款专业的 html 编辑器,用于对 web 站点、web 页和 web 应用程序进行设计、编码和开发。无论您喜欢直接编写 html 代码的驾驭感还是偏爱在可视化编辑环境中工作,dreamweaver 都会为您提供帮助良多的工具,丰富您的 web创作体验。利用 dreamweaver 中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。不过,如果您更喜欢用手工直接编码,dreamweaver 还包括许多与编码相关的工具和功能。并且,借助 dreamweaver,您还可以使用服务器语言(例如 asp、asp.net、coldfusion 标记语言 (cfml)、jsp 和 php)生成支持动态数据库的 web 应用程序。2.2.4 sql server简介sql server 2000作为microsoft家庭的重要成员,是基于客户机/服务器的大型关系数据库网站。sqlserver 2000这种关系型数据库网站能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理(oltp)、数据仓库和电子商务应用程序的优秀数据库平台。sql server 2000 具有以下特点。1.强大可伸缩性。2.支持大型web站点或企业信息处理网站。3.客户机/服务器体系结构。而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图2-1所示。应用程序odbc管理器odbc api sql驱动程序管理器数据源名(dsn)odbc驱动程序数据源odbc层数据层应用层图2-1 数据库连接的实现3 需求分析需求分析工作是软件生存周期最重要的一个环节。需求分析的基本任务是要确定系统必须完成哪些工作,并提出完整、准确、清晰、具体的要求。需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此,必须准确完整地体现用户的要求。要体现用户的要求,就必须从以下几个方面进行分析。3.1 网站目标博客网站的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。具体的要求如下。1.博主可以简单的添加和删除文章、相片等。2.独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性。3.容易在原先基础上进行二次开发。4.中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果。为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则。1.模块接口定义清晰。2.基础类库和接口设计合理,尽量建立扩展的接口和抽象类。3.数据库操作使用标准sql语句,如果一定要使用有差别的sql语句,则尽量集中在一起,以减少将来维护和移植的难度。4.采用开放的标准和工具等。3.2 功能要求 在此,我参考现有的几大博客网站如qq空间,新浪博客等,采用browser/server结构,将个人博客网站划分为两个模块:前台模块和后台模块。下面分析各个模块的功能需求。1.前台模块在前台的功能实现上,可以分为以下几个部分。(1)用户登录:用户用个人注册的帐号,密码登录到网站。系统检测用户的帐号,密码并给予其相应的权限对系统进行操作。(2)用户注册:访客将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户。(3)用户修改个人信息:把已存储的用户信息用一个网页显示出来,方便用户对个人信息进行更新。(4)文章查询和留言:用户可以浏览博客中的文章同时给感兴趣的文章留言。(5)公告信息查询:用户可以浏览网站中发布的公告信息,了解博客的一些情况。(6)相片查询:用户可以对博客中的相片,图片等进行查询,浏览。(7)邮箱联系:用户可以借助微软开发的outlook express方便地和他人进行联系。(8)友情链接:用户可以通过该链接查看相关内容。2.后台模块通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友管理,用户设置及博主设置等子网站。(1)文章管理:博主可以添加新文章,对已有的文章进行修改和删除,还可以查看文章回复。(2)公告管理:发布,删除,更改公告。(3)投票管理:添加投票内容,统计票数,删除投票内容。(4)朋友管理:对朋友信息进行添加,删除和修改。(5)个人相册管理:对博客相册中的图片进行添加,删除和修改。(6)用户设置:对普通用户的信息进修查询,删除。(7)博主设置:对博主的信息进行修改。3.3 数据需求系统的数据需求采用结构化分析方法,结构化分析方法是基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分。数据流图是结构化分析方法最普遍采用的表示手段,但数据流图并不是结构化分析模型的全部,数据字典为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,二者共同构成了结构化分析的模型。以下几点是对本网站的结构化分析。3.3.1 数据流图数据流图分析主要包括对信息的流动、传递、处理、存储等的分析。数据流图分析的目的就是要发现和解决数据流通中出现的问题。现有的数据流图分析是通过分层的数据流程图(data flow diagram,简称dfd)来实现的。其具体的做法是:按照网站的设计理出的业务流程顺序,绘制成一套完整的数据流图。网站运行过程中,主要涉及到两部分的数据流向,博客的顶层dfd图,如图3-1所示。会员个人博客网站结果反馈博主管理信息页面信息请求信息图3-1 博客网顶层dfd 将顶层dfd分解得博客网的第二层dfd,博主进入后台可以进行相应的管理,访客注册成为会员后,可以查看博主发布的相关信息。如图3-2所示。用户信息表相册信息表投票信息表投票管理朋友管理相册管理用户管理查看相片修改个人信息查看朋友进行投票文章信息表公告信息表文章回复表博主朋友信息表文章分类表公告管理文章回复管理文章管理文章类型管理进入后台查看文章查看文章类型回复文章查看公告进入前台会员图3-2 博客网第二层dfd图3.3.2 数据字典 数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。名字:用户别名:会员描述:用户的个人信息,用于对用户的确认和更新。定义:用户=用户id+帐号+密码+姓名+性别+主页+qq号码+兴趣爱好 +邮箱地址 +用户等级名字:文章别名:日志描述:用于对文章进行分类。定义:文章=文章id+文章类型id+类型名称+文章题目+文章内容 +文章发布时间+文章访问次数名字:文章类型别名:日志类型描述:用于对文章进行分类。定义:文章类型=文章类型id+文章类型名称+分类说明别名:日志信息描述:关于文章的一些主要信息定义:文章信息=文章类型+文章题目+文章内容+文章发布时间+文章访问次数名字:文章回复别名:文章留言描述:关于文章回复的一些主要信息定义:文章回复=回复id+文章编号+回复用户+回复标题+回复内容别名:日志信息描述:关于文章的一些主要信息定义:文章信息=文章类型+文章题目+文章内容+文章发布时间+文章访问次数名字:公告别名:无描述:关于本博主的发布相关公告定义:公告=公告id+公告题目+公告内容+公告发布日期别名:日志信息描述:关于文章的一些主要信息定义:文章信息=文章类型+文章题目+文章内容+文章发布时间+文章访问次数 网站中的数据元素如下。 名字:朋友别名:无描述:关于博主的朋友的一些主要信息定义:朋友=朋友id+朋友昵称+qq号码+朋友描述信息别名:日志信息描述:关于文章的一些主要信息定义:文章信息=文章类型+文章题目+文章内容+文章发布时间+文章访问次数名字:投票别名:无描述:关于投票的主要信息定义:投票=投票id+投票内容+票数别名:日志信息描述:关于文章的一些主要信息定义:文章信息=文章类型+文章题目+文章内容+文章发布时间+文章访问次数名字:相册别名:无描述:用户上传的照片,图片等 定义:相册=相片id+相片上传地址+相片上传时间+相片描述信息别名:日志信息描述:关于文章的一些主要信息定义:文章信息=文章类型+文章题目+文章内容+文章发布时间+文章访问次数4 概要设计 经过需求分析阶段的工作,网站需要“做什么”已经很明确了,接下来的工作,也就是概要设计阶段的任务,本网站概要设计主要以下几个方面进行。4.1 网站体系结构基于b/s结构的个人博客网站,应由终端(用户主机/浏览器)、web服务器、数据服务器构成。用户通过浏览器向服务器发送请求,web服务器接收客户端发送来的请求,对请求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。动态页面中的脚本程序可以和数据库服务器进行交互。个人博客网站的总体结构图如图4-1所示。浏览器web服务器数据库请求响应图4-1 博客网站总体结构4.2 网站功能结构本网站分为前台和后台,其中,根据博客前台的特点,可以将其分为博主信息,文章查询及相册查询等13个部分,其中各个部分及其包括的具体功能模块如图4-2所示。查看网络说明网络日历邮箱联系朋友查询友情链接相册查询用户投票博客网前台查看博主信息文章查询文章详细查询文章留言公告查询公告详细查询图4-2 前台功能结构 根据博客网后台的特点,可以将其分为用户设置、公告管理、个人相册管理等13个部分,其中各个部分及其包括的具体功能模块如图4-3所示。投票内容添加投票内容设置朋友信息设置朋友信息添加公告添加公告设置相册添加相册设置发表博客文章文章分类设置博客文章设置博客网后台个人相册管理公告管理投票管理朋友信息管理用户设置博客文章管理博主信息设置图4-3 后台功能结构 4.3 模块功能详细介绍在软件设计中,模块化设计思想有广泛的应用。因为模块化的思想是“分而治之”的思想,它把复杂的问题分解成许多容易解决的小问题,这样原来很难的大问题也就很容易被解决了。网站流程的主要作用是便于使用者快速熟悉使用模块的流程。下面介绍本网站的二大模块的详细功能及业务流程。本网站分为前台用户浏览模块和后台用户管理模块。前台面向用户的客户端模块主要用于用户浏览日志信息;后台面向管理员的管理模块主要用于对个人博客网站的管理,如日志管理、留言管理及公告管理等。4.3.1 用户客户端模块 前台用户浏览模块主要用于用户浏览博主发布的一些信息,包括博主信息、日志信息、公告信息、相册信息、友情链接,还可以用邮箱进行联系。用户浏览日志可以直接查看,也可以概据分类信息进行查看,还可以对日志进行回复,查看别人的回复,觉得日志好时也可以进行投票。面向用户的客户端流程如图4-4所示。是否退出nn结束ynyn博客网站首页用户登录开始用户注册是否注册图4-4 面向用户的客户端流程图4.3.2 管理员模块用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,并跳转到登录界面。若通过验证,并且通过管理员验证,则可进入个人博客后台管理平台。博主可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;对其它日志分类信息、相册信息、朋友信息等也可以进行相应的添加、删除和修改。面向网站管理员的流程图如图4-5所示。结束ynynn博客网站后台是否退出开始是否为网站管理员n博客网站首页用户登录图4-5 面向管理员的流程图4.4 数据库设计4.4.1 概念结构设计在概念设计阶段中,从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定dbms的限制。利用e-r方法进行数据库的概念设计。文章的属性有文章id、文章类型id、文章题目、文章内容、文章发布时间、文章访问次数,如图4-6所示。文章类型id文章题目文章内容文章文章访问次数文章发布时间文章id图4-6 文章属性 文章类型的属性有文章类型id、文章类型名称、文章类型描述,如图4-7所示。 文章类型描述 文章类型文章类型名称 文章类型id 图 4-7 文章类型属性 回复内容 回复id 文章id 文章回复回复用户 回复标题 文章回复的属性有文章id、回复id、回复用户、回复标题、回复内容,如图4-8所示。图4-8 文章回复属性用户用户id用户名用户密码用户姓名邮箱地址qq号码用户兴趣用户主页用户性别用户等级 用户的属性有用户id、用户名、用户密码、用户姓名、用户性别、用户主页、用户兴趣、用户等级、邮箱地址、qq号码,如图4-9所示。 用户用户id用户名用户密码用户姓名邮箱地址qq号码用户兴趣用户主页用户性别用户等级图4-9 用户属性公告的属性有公告id、公告题目、公告内容、公告发布时间,如图4-10所示。 公告公告id公告内容公告发布时间公告题目 图4-10 公告属性 朋友的属性有朋友id、朋友昵称、朋友描述、qq号码,如图4-11所示。朋友朋友id朋友描述朋友昵称qq号码图4-11 朋友属性个人相册的属性有相片id、相片描述、相片上传地址、相片上传时间,如图4-12所示。 个人相册相片上传时间相片描述相片上传地址相片id 图4-12 个人相册属性 投票的属性有投票id、投票内容、票数,如图4-13所示。投票票数投票内容投票id 图4-13 投票属性其中文章、文章类型、文章回复之间的关系如图4-14所示。文章文章类型文章回复包括拥有1mn1图4-14 e-r模型4.4.2 逻辑结构设计一个设计良好的数据库,可以使网站的实现变得非常的简单。同时,也可以使网站的执行速度变得很快。反之,一个设计混乱的数据库,不仅增加了吸引的管理实现过程,同时在网站的执行过程中,使得检索变得很慢,降低效率。所以数据库的设计是一个网站设计很重要的步骤。根据网站功能设计要求和模块划分,本站的数据库主要有文章信息、文章类型信息、文章回复信息、用户信息、公告信息、朋友信息、个人相册信息、投票信息。数据库的设计通常是以一个已经存在的数据库管理网站为基础的,常用的数据库管理网站有access、sql server、oracle、my sql等。根据用户需求和网站分析,本网站采用sql server2000数据库管理网站。在sql server2000数据库管理网站中建立名称为在db_blodmay的数据库。1. 文章信息表(tb_artical)该表记录了文章的相关信息,包括文章编号、文章类型编号、文章题目、文章内容、文章发布时间、文章访问次数,其结构如表4-1所示。表4-1 文章信息表(tb_artical)字段说明类型(长度)能否为空备注id文章编号intno主键typeid文章类型编号intno外键title文章题目varchar(30)yescontent文章内容varchar(2000)yesphtime文章发布时间varchar(30)yesnumber文章访问次数intyes2. 文章类型信息表(tb_articaltype)该表记录了文章类型的相关信息,包括文章类型编号 、文章类型名称、文章类型描述,其结构如表4-2所示。 表4-2 文章类型信息表(tb_articaltype)字段说明类型(长度)能否为空备注id文章类型编号intno主键typename文章类型名称varchar(50)yesdescription文章类型描述varchar(50)yes 3. 文章回复信息表(tb_reply)该表列出了文章回复的相关信息,包括文章回复编号、文章编号、文章回复用户、文章回复标题、文章回复内容,其结构如表4-3所示。表4-3 文章回复信息表(tb_reply)字段说明类型(长度)能否为空备注id文章回复编号intno主键articleid文章编号intno外键reaccount文章回复用户varchar(50)yesretitle文章回复标题varchar(50)yesrecontent文章回复内容ntext(16)yes4. 公告信息表(tb_discuss)该表记录了公告的相关信息

温馨提示

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

评论

0/150

提交评论