个人博客网站的设计与开发

编号:03023175”大学2007届本科毕业论文个人博客网站的设计与开发Desig n and Developme nt of Pers onal Blog Website论文作者姓名:工 作者学号:所在学院:计算机与信息工程学院所学专业:计算机科学与技术导师姓名职称:*******(副教授)论文完成时间:年5月20日年5月20日**大学2***届毕业论文(设计、创作)开题报告(由学生本人认真填写)课题题目个人博客网站的设计与开发课题来源■导师指定 口自定 □其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、 目的:为用户提供一个学习和交流的平台2、 意义:借助博客自主性、互动性、共享性的特点,用户可以尽情表达自己的思想,促进 人们的深度交流和沟通3、 现状:近两年来,博客及博客文化正成为互联网的热点,并被视为继 E—mail、BBS和ICQ之后出现的第四种网络交流方式博客的发展对应了全球范围内知识 社会来临的背景,它的快速发展以及广泛应用,有助于推研究目标、研究内容和准备解决的问题:1、 目标:设计一个既可以让用户拥有自己的自由空间,又可以与其他用户互动的个人博客网站2、 内容:设计的博客网站能够集博客、相册、链接于一身。
注册用户可以发布网上日志,通过文字、图片和链接,将个人工作、学习、生活等内容全方位的展示给公 众,同时对自己的博客空间进行管理访客可以浏览文章、发表评论、留言,与注册用户产 生互动,达到交流和共享的目的3、 准备解决的问题:设计友好的界面,方便用户的使用;设计安全的数据库,保存注册用户信息以及注册用户的博客信息拟采取的方法、技术或设计(开发)工具:拟采用Miscrosoft Visual Studio2005作为开发工具, 运用作为开发语言,采用MS SQL Server2005作为后台数据库预期成果:1、 毕业设计成果软件(源程序),相关开发文档2、 毕业论文进度计划:2006.12.1-2007.3.20 :查找资料、搜集相关素材2007.3.21-2007.4.3 :完成界面部分的设计2007.4.4-2007.4.15 :完成数据库部分的设计2007.4.16-2007.4.30 :完成功能实现部分的设计2007.5.1-2007.5.20 :整理资料、撰写毕业论文2007.5.21-2007.5.25 :根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:同意开题指导教师签名:2006年12月1日**大学2***届毕业论文(设计、创作)任务书(由学生本人认真填写)论文提要:1. 开发背景、意义,使用的开发工具2. 系统功能需求及流程分析3. 系统结构及数据库设计4. 系统主要功能模块实现课题任务要求:运用。
作为开发工具,米用 MS SQL Server作为后台数据库,完成博客系统中系统的架构设计,数据库设计,以及下歹^功能的设计与实现:1.用户基本资料维护; 2.后台管理; 3.用户博客管理,包括:1)用户信息发布与管理 2)留言管理3)个人资料管理4)评论管理等要求:1.界面美观;2.使用方便主要参考文献:[1] 陈志泊、李冬梅、王春玲,数据库原理及应用教程,第 1版,人民邮电出版社,2002年3月[2] 刘瑞新、马俊、何欣, C#网络编程及应用,第1版,机械工业出版社,2004年6月[3] Tom Archer, INSIDE C#, MICROSOFT PRESS, 2001.7[4]齐治昌、谭庆平、宁洪,软件工程,第 2版,高等教育出版社, 2004年4月⑸ 邓良松、刘海岩、陆丽娜,软件工程,西安电子科技大学出版社,年 2001**大学2***届毕业设计(论文、创作)中期检查表根据所查考的资料以及博客的特点,该系统所涉及的大部分界面已经设计好,数据库的设计正在进行中,部分表已经建立下一步将根据系统的需要,完成数据库的设计二、 存在问题虽然大部分的界面已经设计好,但界面还不够美观,不够规范。
对界面的设计得不够到位,需要进一步的修整三、 下一阶段的研究方法或设计思路对界面作进一步的调整,同时根据数据库的设计思想和方法,关系数据库的规范化的原则,以及该系统的实际情况来具体设计数据库中的各个 表四、 指导教师对学生设计(论文、创作)进展等方面的评语该生能够按照进度计划完成前一阶段的工作, 设计内容合理,进度适当,希望在下一阶段解决存在的问题指导教师签字:此表除第四项外由学生填写指导教师签名2007年4月10日学院名称:计算机与信息工程学院学号03023175姓名郑艳丽专业计算机科学与技术指导教师郭拯危(副教授)综□得分80论文题目个人博客网站的设计与开发指导教师评语及得分指导教师评语该生能够按照老师的要求完成毕业设计和论文, 毕业设计界面友好,完成了指定功能;毕业论文书写认真、规范,内容充实评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分128874580指导教师签 名2007年5月20日评阅教师评语及评分评阅教师评语该生毕业设计具有一定的实用性, 功能较齐全,毕业论文书写规范,语句通顺,达到了本科毕业论文的要求。
评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10—数据处 学习态度理、与规范要义字求10表达10论文(设计、创作)质里和创新意识55合计100得分127884580评阅教 师签名2007年5月22日此表由教师填写学号03023175姓名郑艳丽所在学院计算机与信息工程学院答^、±辩委员会评语 及评 分答辩委员会评语该生思路较为清晰,语言流畅,回答问题正确毕业论文书写规范,符合本科毕业论文的要求答辩委员签字:2007年5月26日评分项目分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与义字表达(20)论文(设计、创作)质量和创新意识(40)得分1220163280答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 80 分综合评定等级:良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文 中是否有新的见解或创新性成果等做出评价从论文来看学生掌握本专业基础理论和基本技能的程度成绩评定采用结构评分法, 即由指导教师、评阅教师和答辩委员会分别给分 (以百分计),评阅教师得分乘以 20%加上指导教师得分乘以 20%加上答辩委员会得分乘以60%即综合成绩。
评估等级按优、良、中、差划分,优中60-75分; 90-100分;良76-89分;差60分以下三、 评分由专业教研室或院组织专门评分小组(不少于委员会意见决定每个 5人),根据指导教师和答辩学生的分数,在有争议时,应由答辩委员会进行表决四、 毕业论文答辩工作结束后, 各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的 1.5%篇五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容须报教务 处备案六、书写格式要求:200左右汉字,开题报告(文科除外)的内容要根据不同专业1、目录;2 、内容提要须书写的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;4、参考文献(或资料)3、正文(含引言、结论等);论文题目个人博客网站的设计与开发姓名郑艳丽所学专业计算机科学与技术学号03023175完成时间2007年5月20日指导教师姓 名职称郭拯危(副教授)承诺内谷:1、 本毕业论文(设计、创作)是学生 郑艳丽在导师郭拯危的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相 应的法律责任。
2、 学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘备注:学生签名: 指导教师签名:2007年5月20日 2007 年5月20日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确, 承诺内容第2条即以备注为准目录摘要 IABSTRACT II第1章绪论 11.1开发背景及意义 11.2系统开发软件简介 21.2.1 .Net 框架 21.2.2 C# 语言 21.2.3 SQL Server 2005 3第2章 系统分析 42.1系统功能需求 42.1.1 访客 42.1.2 注册用户 42.1.3 管理员 52.2系统流程 6第3章 系统设计 73.1系统B/S结构 73.2数据库设计 73.2.1 数据库概念结构设计 83.2.2 数据库逻辑结构设计 83.3存储过程 9第4章系统实现 104.1系统主界面 104.2注册模块 104.3发表评论模块 124.4日志管理模块 13结论 16参考文献 17摘要随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学 习和交流的工具博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思, 还有新闻日志、照片、诗歌和散文等。
博客具有自主性、开放性、互动性和共享性的特 点,是一个很好的交流的渠道,思想展现的舞台和学术探讨的园地本系统是一个实用的个人博客网站,集博客、相册、留言板、链接于一身未注 册用户(访客)可以浏览文章,发表评论及留言也可以通过注册成为该系统的注册 用户, 注册用户可以管理自己的博客、 相册、留言板、友情链接等,同时还可以发表新日志,上传图片等关键词博客,日志,评论,留言ABSTRACTWith the rapid developme nt of Internet tech no logy and high speed of life rhythm, Blog has being chosen by more and more people as the tool of study and com muni cati on. The content of Blog is very rich and colourful: some has hyperlink and comment of other website, some about pers onal thinking, n ews, music, article and so on. Because of the character of independence, open, interaction and share of Blog, it is regarded as an outlet of good excha nge cha nn el, the stage of pers onal thought display ing, and the garde n area of kno wledge study ing.This system is a practical Blog website which has Blog, photo album, message board and link. Visitor can browse articles, post comments and leave messages. The visitor can register in the Blogwebsite, after that they can man age the Blog, photo album, message board, li nk of frie ndship etc. At the same time, they can also post newlog, picture etc.Keywords Blog , log , comment, message第1章绪论互联网技术的发展使得博客及博客文化成为热点。
博客以其自主性、开放性、共享 性的特点,满足了人们展示个性、尽情交流的要求本章主要介绍该系统的开发背景及 意义、系统的开发软件1.1 开发背景及意义近两年来,博客及博客文化正成为互联网的热点,并被视为继 E -mail、BBS和ICQ之后出现的第四种网络交流方式博客正在改变组织沟通和社会交流方式目前,全球参与博客的人数已经达到 1000万之众,而且每5.8秒钟,都有一名新的博客用户加盟进来很多记者、律师、教 授、学者、专家,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化美 国总统候选人乐于开设博客站点,作为竞选的重要手段企业界也正在把博客方式引入 企业内部网和公司网站,用于非正式的知识管理和网络营销等政府部门和教育领域都 在尝试利用博客构建内部知识管理和沟通交流的新体系,可以让职员发表评论,积累知 识,链接有意思的网络资源,促进彼此的交流沟通显然,博客的发展对应了全球范围内知识社会来临的背景对于中国这样一个组织 机构信息化仍处于初级阶段的国家,博客这种充分发挥个人主导性和积极性的非正式知 识管理工具和其深度沟通交流的功能,对于我们国家的知识传播、知识扩散和有效提升 组织的学习和创新能力,具有更特殊的意义。
博客用户的快速增长以及组织机构对它的 广泛应用,有助于 推动中国向学习型社会演进本系统根据现实的情况以及博客互动性的特点进行设计开发,旨在为用户提供一个 交流的平台,促进用户间的深度沟通;并根据博客共享性的特点,促进用户之间的知识 交流,使其成为一个学习的园地1.2系统开发软件简介系统的开发采用 Microsoft Visual Studio.Net 2005集成开发环境和SQL Server 2005等工具,使用C#编程语言在设计上采用 Visio图表的形式描述系统模型和系统架构,利用 Asp.Net、ADO.Net、存储过程等技术,大大提高了开发效率和系统的可维护与可扩展性在内容表现上努力做到数据的表 现和结构相分离,采用 XHTMLI1.0+CSS.0 标准编码,并且支持几乎所有的浏览器1.2.1 .Net 框架Visual Studio.NET 是一套完整的开发工具, 用于生成Asp Web应用程序、Xml Web services.桌面应用程序和移动应用程序Visual Basic.Net、Visual C++.Net、Visual C#.Net和Visual J#.Net全都使用相同的集成开发环境(IDE), 该环境允许它们共享工具并有助于创建混合语言解决方案。
另外,这些语言利用了 .Net Framework 的功能,此框架提供对简化Asp Web应用程序和Xml Web services 开发的关键技术的访问Net Framework是一种新的计算平台,它简化了在高度分布式 In ternet环境中的应用程序开发 .Net Framework 具有两个主要组件:公共语言运行库和.Net Framework类库Asp.Net 又叫 Asp+,是 Microsoft 推出的新一代 Active Server Pages 脚本语 言Asp.Net是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大 的 Web应用程序与以前的 Web开发模型相比,Asp.Net提供了数个重要的优点:增强的性能、世界级的工具支持、威力和灵活性、简 易性1.2.2 C# 语言C#语言是在C和C++语言基础上开发的在 .Net平台上运行的为适应In ternet > I ntran et和各类网络应用而设计的编程语言,该语言综合了 C、C++和Java以及其他高级语言的特点,是一种语法优雅,类型安全,完全面向对象的编 程语言,也是 .NET的首选语言早期的网络编程难度大、效率低,而 C#语言和.Net平台大大简化了这些技术,使得过去困难的网络应用编程变得轻松。
任何人只要熟悉 C和类似的语言,在应用C#时就几乎不会有什么问题 C#在不牺牲C和C++的功能和控制特色的前提下提高了 C++编程人员的开发速度基于C#的这些特点,本系统选择 作为开发语言1.2.3 SQL Server 2005本系统的数据库采用SQL server 2005SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使 用户可以构建和管理用于业务的高可用和高性能的数据 应用程序SQL Server 2005在SQL Server 2000的强大功能基础上,提供了一个完整的数 据管理和分析解决方案,它将会给不同规模的组织带来帮助:使应用程序更加安全、伸 缩性更强和更可靠;降低开发和支持数据库应用程序的复杂性;能够在多个平台、应用 程序和设备之间共享数据;更易于连接内部和外部系统;在不牺牲性能、可用性、可伸 缩性或安全性的前提下有效控制成本第2早系统分析本章将详细介绍该系统的分析过程,包括系统的各类用户的功能需求 以及系统流程2.1 系统功能需求系统涉及到的用户角色分三种:访客、注册用户和管理员。
下面分别介绍各类用户 角色的主要功能2.1.1 访客访客无须注册,即可浏览注册用户发表的日志、上传的图片,并且还可对自己感兴趣的日志发表评论,给注册用户留言其功能结构如图 2-1所示:博客访问者发表评论浏览图片发表留言图2-1 访客功能图2.1.2 注册用户注册用户可以通过登录,对自己的博客空间进行管理主要包括以下 几个模块:日志管理模块:包括日志分类管理(添加新分类、删除分类) ,个人日志管理(个人日志的添加、删除、编辑) ,日志评论管理(查看评论、删除评论)留言板管理模块:包括查看所有留言,删除留言相册管理模块:此匕模块包括上传新照片,删除照片友情链接管理模块:包括添加新的友情链接,编辑友情链接,删除友情链接功能结构如图2-2所示相友nn~册情管链理接添编删添删加辑除加除日日日分分志志志类类查删查删看除看除评评由由论论言_:= ・=(=)_: CZI言图2-2 注册用户功能图上删除编删传昭辑删昭八、添加链除八、、链接接链、片接2.1.3 管理员管理员要对系统的注册用户的基本资料进行维护,并管理注册用户的日志以及留 言另外,管理员还可以修改该系统的常规设置,如:修改系统公告,修改用户注册条 款等。
功能结构如图 2-3所示:用户管理用户日志管理 员管留•管理常规设置添加新用户查询用户信息修改注册条款修改系统公告图2-3 管理员功能图2.2 系统流程以及各类用户的功能要求,得到系统的流程女口根据以上的需求分析,图2-4所示::注册LN用卢后台管理—发 口表浏 览 日友情链接相册管理 ■个人日志 N顶刀类管理发表评论 (’日志4 J (照片V. -X图2-4系统流程图第3章系统设计本章主要介绍该系统采用的结构以及数据库的详细设计过程3.1 系统B/S结构B/S结构为三层结构,建立在广域网的基础之上,客户端只需要安装浏览器,通过 http协议向Web Server提出请求,Web Server站点收到 请求后,通过CGI(ISAPI)得到相关数据,然后以 HTML文档的形式返回给浏览器结构如图 3・1 f|( We嘲览器;httP^_ htmlU、 CGI/ISPA / ' XI V\feb服务器 K 〉数据库服务器j图3-1 B/S结构原理B/S建立在广域网之上,不必是专门的网络硬件环境,有比的适应范 C/S更强围,一般只要有操作系统和浏览器即可在 B/S结构的系统中, 用户可以通过浏览器向分布在网络上的许多服务器发出请求。
B/S结构极大地简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即 可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成 B/S体系的优点是:系统安装维护简便、数据集中管理;便于分散用户使用,适应互联 网时代软件的发展趋势根据 B/S结构的特点和本系统的性能特点,采用 B/S结构进行开发更合适3.2 数据库设计本系统采用微软公司的大型数据库 MS SQL Server 2005 ,数据库结构设计如下:3.2.1 数据库概念结构设计概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型在这里采用E-R模型概念结构的 E-R模型设计如图3-2所示:图3-2 E-R模型322数据库逻辑结构设计概念结构设计阶段得到的 E-R模型是用户的模型,它独立于任何一种数据模型,独立于任何一种具体的 DBMS为了建立用户所需求的数据库,需要把上述概念模型转换为某个具体的 DBMS所支持的数据模型数据库逻辑结构设计的任务就是将概念结构转换为特定 DBMS的所支持的数据模型的过程该系统数据库的逻辑结构设计如图 3-3所示:blog_comme ntPKcomJ dcomm dlog_ID comm_title comm_contentauthor post_timeblog_guestbookPKgb IDauthorauthor_IP gb_content post time一」blog Dblog_logblog_categoryPK log IDA blog_IDlog_title cate_name log_contnet post_time—PK cate ID catename cate nam・eblog_IDblog_userPK usernameuser_pwdblog Dblog picture ►user_sexi iQpr pmpilPK1 image D4,blog_IDblog_li nkimage_subject image_url* I link ID PKDling_name blog_ID link_url图3-3 数据库逻辑关系图3.3 存储过程简单的说,存储过程是由一些 SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发 器调用。
它的参数可以被传递和返回与应用程序中的函数过程类似,存储过程可以通 过名字来调用,而且它们同样有输入参数和输出参数根据返回值类型的不同,我们可以将存储过程分为三类:返回记录集的存储过程, 返回数值的存储过程(也可以称为标量存储过程) ,以及行为存储过程相对于直接使用 SQL语句,在应用程序中直接调用存储过程有以下好处:(1)减少网络通信量 (2)执行速度更」快 (3)更强的适应性4)可用于增强安全性由于存储过程具有以上的优点,该系统也多次使用例如:在发表日志时,存储 过程In sertLog用于保存新发表的日志的信息在日志管理时,存储过程updateLog 用于及时更新日志信息在用户注册时,存储过程checkUser用于验证数据库中是否已 经存在该用户名,以保证用户名不能重复第4章系统实现本章主要介绍该系统主要部分的具体实现4.1系统主界面该界面为该系统的首页,显示出最新日志,最热日志等访客只要一进入该网站,就可以看到该页面并通过该页面进入留言板、日志、发表评论等其他感兴趣的页面系统主界面如图4-1所示:2O07-0S0I7 LlfllQOM 2007^511 壬H—h H近A1 £1蓝 姓 g1112XI1 了lid21 &a£9 SQ最新文章I按哀肺和 号天孚潮心搐制天乜不卑-^沉沉的卜可管嗟诫了弟督郁旧“一词非第Mi住几乎.GE了如的□去谭到处怖率世靳宜式心这问立量主53 ::立童问客: 7 -D5-D2Llfl9:25丈章内粤:工n®和阀争看见看见由版币酣t用图4-1 系统主界面4.2 注册模块访客可以通过该界面注册成为该系统的注册用户,拥有自己的博客空间。
界面如图4-2所示:图4-2 用户注册界面protected void Butt on 1_Click(object sen der. Even tArgs e)(〃连接数据库,使用存储过程 CheckUser,查看该用户名是否已经存在SqlComma nd comma nd = new SqlComma nd("CheckUser", conn);SqlDataReader dr=comma nd.ExecuteReader();if (CheckBox1.Checked) 〃如果同意注册条款,则可以进行注册(if (dr.Read()) 〃如果用户名已经存在,则注册失败Respo nse.Write("");else //如果用户名不存在,则在数据库中保存新注册用户的信息(comma nd = new SqlComma nd("l nsertUser", conn);SqlParameter RegisterName =comma nd.Parameters.Add("@ name", SqlDbType.NVarChar, 30); 〃传递各个参数的值RegisterName.Value = TextBoxName.Text;Sessi on ["user name"] = TextBoxName.Text.Trim();}else 〃如果不同意注册条款,则不能进行注册Resp on se.Write("");。