当前位置:文档之家› 基于asp个人博客的设计和实现

基于asp个人博客的设计和实现

基于asp个人博客的设计和实现毕业设计(论文)

题目:基于asp个人博客的设计与实现作者:

学号:

系(院):

专业班级:

指导老师:实验师

(姓名) (专业技术职务)

评阅老师:

(姓名) (专业技术职务)

2012年月xxx

摘要

随着Internet的广泛应用,动态网页技术也应运而生。本文介绍了应用ASP动态网页技术开发博客系统的设计与实现。

博客系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet 可以发表一些自己撰写的文章以和其他网友进行交流。博客系统主要实现了文章管理的数字化、信息化、智能化,是打破传统报刊、杂志发表文章方式的新尝试。

该系统以https://www.doczj.com/doc/dd15127665.html,为开发技术,使用C#为开发语言,采用Web展示层和SQLserver 2000数据库两层架构模式同时采用MVC开发模式,实现Blog网站的动态管理,使得对Blog信息的管理更加及时、高效,提高了工作效率。

本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。

关键词:Blog,https://www.doczj.com/doc/dd15127665.html,,C+,SQLserver

Abstract

With the extensive application of the Internet, dynamic web technology has emerged. This text describes the application of ASP dynamic web technology and development the blog system.

Blog system is mainly to provide users with published articles, browse articles, and other functions,Users can express themselves by some articles and with other netizens to conduct exchanges. Blog system of the main article on the digital management, information, intelligence, is to break the way of Released an article by traditional newspapers and magazine published ,it make a new way to try.

This system take https://www.doczj.com/doc/dd15127665.html, as the development technology, uses C# is the development language, uses the Web demonstration level and the SQLserver 2000 database two-tier system pattern simultaneously uses the MVC development pattern, realizes the Blog website dynamic management, causes to be even more prompt to the Blog information management, highly effective, raised the working efficiency.

In this text,it analysis the blog system by feasibility and the demand of the user. Under the modular theory, planning and design of the system functional modules; In the database design, a detailed description of the database structure and database integrity, security measures; Programming is used object-oriented programming design, system design ideas, background for the future and function of the program in detail; System testing, Analysis of the specific course of testing the key issues and proposed solutions to achieve system function. Finally, the system in an objective, comprehensive evaluation, as well as further improvements made.

key word: Blog, https://www.doczj.com/doc/dd15127665.html,, C#, SQLserve

目录

第一章引言 (6)

1.1系统开发背景 (6)

1.2 课题研究的意义 (7)

1.3系统概述 (7)

第二章博客系统开发技术 (8)

2.1可行性分析 (8)

2.2 需求分析 (9)

2.3 https://www.doczj.com/doc/dd15127665.html,技术概论 (9)

2.4 ASP工作原理 (10)

2.5 MVC开发模式 (10)

2.6 Ajax介绍 (11)

2.6.1什么是Ajax (11)

2.6.2 Ajax相关技术介绍 (12)

2.6.3 Ajax技术在系统中的应用 (12)

2.7 数据库选择 (12)

2.7.1 数据分析 (13)

2.7.2 SQL SERVER 2000 (13)

2.7.3 https://www.doczj.com/doc/dd15127665.html, (13)

2.8 https://www.doczj.com/doc/dd15127665.html,配置 (14)

2.9 XML (14)

第三章博客系统分析 (15)

3.1 系统设计方案 (15)

3.2 系统功能模块 (15)

3.3 数据库需求分析 (17)

3.4 系统操作流程 (17)

3.5 数据表设计 (18)

3.6 数据库的完整性和安全性 (20)

3.6.1 数据库的完整性约束 (20)

3.6.2 数据库的安全性 (21)

第四章博客系统设计 (22)

4.1后台功能模块详细设计 (22)

4.1.1用户注册模块设计 (22)

4.1.2 身份验证 (23)

4.1.3 后台文章添加管理 (23)

4.1.4 后台文章类别管理 (24)

4.2前台功能模块详细设计 (25)

4.2.1前台主界面 (25)

4.2.2 “文章评论”功能模块设计 (26)

4.2.3“文章管理”功能模块 (27)

4.2.4 在线聊天登录界面模块 (28)

4.2.5 在线聊天模块 (28)

4.3系统管理模块 (30)

第五章结论 (31)

5.1 不足之处与改进 (31)

5.1.1 权限分配 (31)

5.1.2 界面美观化 (31)

5.2 结论 (31)

致谢............................................... 错误!未定义书签。参考文献.. (32)

第一章引言

1.1系统开发背景

Blog,是Weblog的简称。Weblog,其实是Web和Log的组合词。Web,指World Wide Web,当然是指互连网了;Log的原义则是“航海日志”,后指任何类型的流水记录。合在一起来理解,Weblog就是在网络上的一种流水记录形式或者简称“网络日志”。Blogger或Weblogger,是指习惯于日常记录并使用Weblog工具的人。虽然在大陆早些时候或者台湾等地,对此概念的译名不尽相同(有的称为“网志”,有的称之为“网录”等等),但目前已基本统一到“博客”一词上来。该词最早是在2002年8月8日由著名的网络评论家王俊秀和方兴东共同撰文提出来的。博客也好,网志也罢,仅仅是一种名称而已,它的本义还是逃不过Weblog的范围。只是,通常我们所说的“博客”,既可用作名词Blogger或weblogger——指具有博客行为的一类人;也可以作动词用(相当于英文中的Weblog或blog),指博客采取的具有博客行为反映、是第三方可以用视觉感受到的行为,即博客们所撰写的Blog。因此,“他/她是一位博客,他/她天天在博客”及“博客博什么客?”在中文语法与逻辑上都是正确。只是不同场合的用法不同罢了。

Blog究竟是什么?说了半天,其实一个Blog就是一个网页,它通常是由简短且经常更新的帖子(Post)所构成,这些张贴的文章都按照年份和日期倒序排列。Blog的内容和目的有很大的不同,Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。许多Blogs记录着blog个人所见、所闻、所想,还有一些Blogs则是一群人基于某个特定主题或共同利益领域的集体创作。撰写这些Weblog或Blog的人就叫做Blogger或Blog writer。

博客存在的方式,一般分为三种类型:一是托管博客,无须自己注册域名、租用空间和编制网页,博客们只要去免费注册申请即可拥有自己的博客空间,是最“多快好省”的方式。如英文的https://www.doczj.com/doc/dd15127665.html,、https://www.doczj.com/doc/dd15127665.html,及多种语言的博客室(https://www.doczj.com/doc/dd15127665.html,)等都提供这样的服务;二是自建独立网站的博客,有自己的域名、空间和页面风格,需要一定的条件。如方兴东建立的“博客中国”站(https://www.doczj.com/doc/dd15127665.html,);三是附属博客,将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址)。这三类之间可以演变,甚至可以兼得,一人拥有多种博客网站。

目前进行网站开发的语言很多,如ASP、PHP、JSP、https://www.doczj.com/doc/dd15127665.html,等。究竟应该选择什么语言来开发一个BLOG网站呢,对于一个中小型的网站来说,ASP

无疑是最好的选择,利用简单的HTML代码与脚本融合而成的ASP技术可以开发强大的Web应用程序。ASP(Active Sever Pages)是Microsoft推出的一种服务器端脚本环境,ASP内嵌于IIS中,让用户可以轻松的结合HTML Web

页面、脚本和ActiveX组件建立或执行动态的、交互的Web服务器应用程序。ASP并不单指某一种编程语言,而是一门把HTML代码与VBScript和JavaScript 等脚本语言融合在一起的技术,ASP技术的诞生,应该说是一项成功的技术,它开创了非专业人员开发高水平网站的历史。

1.2 课题研究的意义

随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。

Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。系统加入聊天功能可以更加方便大家的交流。

博客有以下用途:

(1)促进学习。写blog可以促进学习,想写出文章来,自然不能是泛泛的了解就可以的,要理解了才能写得出来的。这就促进了对某些领域的不断学习和思考。

(2)记录收获。blog中,常常是记录下来都是瞬间的灵感,对事物的感悟,经过多日思考和实践的结果,对某个问题的解决方案等等,这些都是财富,要记录下来。

(3)反映成长。写blog,可以反映出人的思考过程,而不仅仅是思考结果。对一个问题或领域,从不了解到了解,从了解到熟悉,从熟悉到精通。这纪录了一个人思考和解决问题的成长过程。很久之后,看到自己之前的文章,你将会觉得自己进步了。

(4)结交朋友。写了blog,自然会有许多志趣相同的朋友来阅读,这可以认识许多朋友。大家有共同的兴趣爱好,自然谈得来。

(5)共享知识。blog给大家看,大家的blog也给你看。这个问题我解决了,那个问题他解决了。大家互通有无,建立起一个社群。

(6)交流看法。回复的人对blog的观点或赞同,或反对,大家一起讨论,听听别人的思想,可以促进双方的共同进步。

(7)包装自己。看到一篇篇用心写出的文章,自然是对自己知识技能的最好宣传。

1.3系统概述

一个博客其实就是由一序列网页组成的,它通常是由简短且经常更新的帖子所构成的,这些张贴的文章都按照年份和日期倒序列排列,能按照日期和主题检索。博客的内容和目的有很大的不同,有到其他网站的超级链接;有对其他网站的评论;有个人的日记,日常所思所想;有个人照片、诗歌、散文,甚至科幻小说的发表。正是由于博客能收容这些不拘于个人思想的表达,使博客这种交流和表达方式日益红火起来,博客秉承了个人网站的自由精神,也开拓

了激发创造的新模式,能张扬人的个性,从这个意义上说,博客将会变得越来越普及,越来越为更多的人接受。

本系统主要完成以下功能。

1.客户界面部分

我的文章

给我留言

用户注册/登录

首页:文章分类,最新评论,最新文章,最新加入

2.管理界面部分

添加分类

分类管理

文章管理

留言管理

基本设置

第二章博客系统开发技术

2.1可行性分析

可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够

解决。为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。

(1) 经济可行性。经济可行性主要是对项目的经济效益进行评价。本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。

(2) 技术上的可行性。技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是ASP(Active Sever Pages)进行开发,前台网页设计使用的是Dreamweaver MX,而数据库系统采用的是Microsoft Access 2000。通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。

(3) 时机可行性。时机可行性是分析系统开发时机是否成熟。目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。

(4) 管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便校友信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。

综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。

2.2 需求分析

在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。

2.3 https://www.doczj.com/doc/dd15127665.html,技术概论

本系统采用https://www.doczj.com/doc/dd15127665.html,开发技术进行开发。https://www.doczj.com/doc/dd15127665.html,不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和方法。https://www.doczj.com/doc/dd15127665.html,中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点:

(1)多语言

ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而https://www.doczj.com/doc/dd15127665.html,则支持多种语言,默认情况下为Visual https://www.doczj.com/doc/dd15127665.html,、C#和https://www.doczj.com/doc/dd15127665.html,,另外还支持一些第三方语言。

(2)服务器处理

ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。而https://www.doczj.com/doc/dd15127665.html,就解决了这个问题,方法是为控件引入一个声明的基于

服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。

(3)Web Form控件

将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft 公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。

(4)代码与内容分离

一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而https://www.doczj.com/doc/dd15127665.html,则采用了代码内联和后台编码两种方法实现了代码与内容的分离。

2.4 ASP工作原理

ASP的执行过程

(1)用户在浏览器的地址栏中键入ASP文件,并回车触发这个ASP的申请。

(2)浏览器将这个ASP的请求发送到给Web服务器。

(3)Web Server接收这些申请并根据.asp的后缀名判断这是ASP要求。

(4)Web Server 从硬盘或内存中读取正确的ASP文件。

(5)Web Server 将这个文件发送到ASP.DLL的特定文件中。

(6)ASP文件将会从头至尾执行并根据命令要求生成相应的HTML文件。

(7)HTML文件被送回浏览器。

(8)用户的浏览器解释这些HTML文件并将结果显示出来。

图2-1 ASP工作原理

2.5 MVC开发模式

MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和画面系统的构成基础。MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地实现了数据层与表示层的分离。MVC作为一种开发模型,通常用于分布式应用系统的设计和分析,以及用于确定系统各部分间的组织关系。对于画面设计可变性的需求,MVC

(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器3种部件。

(1) 视图部件把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

(2) 控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户画面与模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。

(3) 模型部件保存由视图显示、由控制器控制的数据;它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的画面表达和I/O操作。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映了这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化——传播机制。

(4)https://www.doczj.com/doc/dd15127665.html,模式下如何实现MVC?

https://www.doczj.com/doc/dd15127665.html,提供了一个很好的实现这种经典设计模式的类似环境。开发者通过在ASPX页面中开发用户接口来实现视图;控制器的功能在逻辑功能代码(.cs)中实现;模型通常对应应用系统的业务部分。在https://www.doczj.com/doc/dd15127665.html,中实现这种设计而提供的一个多层系统,对较经典的ASP结构实现的系统来说有明显的优点。将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来,可以让用户设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法。

2.6 Ajax介绍

2.6.1什么是Ajax

Ajax是Asynchronous JavaScript and XML的缩写,即异步JavaScript 和XML。

Ajax是一种客户端技术,Ajax技术借助异步JavaScript实现浏览器和服务器之间的异步交互,即相当于在Web应用中实现了原来C/S(Client/Server)结构下的交互结果,且这种效果的实现并没有带来繁琐的客户部署工作。比如:无需重新加载整个页面就可以想服务器发送请求,并接受响应。同时对XML文档解析和处理。

Ajax的解决方案及其优越性

Ajax相当于在浏览器客户端与服务器之间架设了一个桥梁、一个媒介,在它的帮助下,可以消除网络交互过程中的处理—等待—处理—等缺陷。在处理过程中Web服务器响应是标准的且易于解析的XML格式的数据传递给Ajax,然后再转换成HTML页面的格式,辅助CSS进行显示。Ajax是使用XMLHttpRequest 对象发送请求并获得服务器端的响应,同时Ajax可以在不重新载入整个页面的情况下用JavaScipt操作DOM以实现最终更新页面。因此在读取数据的过程中,用户棉对的不是白屏,而是原来的内容。这种更新是瞬间的,使用户感觉是连贯的。

借助Ajax,可以把以前一些原本由服务器负担的工作转移到客户端来完成,利用客户端闲置的能力来进行处理,这样也可以有效地减轻服务器和带宽的负担,使服务器更稳定,更良好的运行。同时节约了空间和宽带。

2.6.2 Ajax相关技术介绍

Ajax是多种技术的综合应用,包括JavaScipt脚本、CSS、DOM和重要对象XMLHttpRequest。

(1)JavaScipt是一种可以与HTML标记混合使用的脚本语言,编写的程序可以直接在浏览器中解释执行。因此使用脚本语言编写程序可以在浏览器支持下跨平台运行。JavaScipt脚本中可以调用浏览器及Ajax中提供的相关对象。利用这些对象的属性方法可以实现页面效果的动态控制。

(2)CSS是层叠样式表。CSS规则由模式匹配段和操作部分组成。模式匹配段用于表示元素与行为之间的关联性;操作部分用于确定对指定部分的操作。CSS层叠样式可以弥补HTML超文本标记语言在格式修饰中的不足,同时也为能够实现页面格式的批量动态更新。

(3)DOM的全称是文档对象模型(Document Object Model),它在本质上是一种文档平台。在使用Ajax技术中,借助DOM,可以结合脚本语言实现动态的数据存储以及动态上传文件。

(4)XMLHttpRequest是Ajax技术中最重要的一个对象。页面可以在不刷新的情况下通过它发送请求来获取服务器响应。也可以使用该对象在不刷新当前页面的情况下更新页面中的数据。

2.6.3 Ajax技术在系统中的应用

Ajax技术运用于该系统的在线即时聊天功能模块。通过该技术实现了聊天信息的不断更新,但并没有将整个页面都刷新,也不会带来页面在连续闪烁等问题。利用Ajax技术将聊天窗口不段更新数据,聊天窗口采用CSS样式,实现页面格式的批量动态更新。

2.7 数据库选择

数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。近年来推出的计算机关系数据库管理系统,还具有操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强等诸多优点。

总的来说,数据库的设计对系统的经济性、功能性和效率有很大的影响,一个好的数据库,要求在设计时尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。数据库设计时速度与空间在范式上是相互矛盾的。一方面按规范化理论的要求,关系模式应尽量取高级范式,尤其对记录数较多的关系,低级范式将会造成存储的大量重复,是空间遭受严重浪费;另一方面从存取速

度上考虑,应该尽量做到一个模式涉及的属性越多越好,相互运算越少越好,这样,又应取低级范式。因此我们在设计数据库时要严格地探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。经过综合的评价和分析后设计出的数据库应满足以下要求:

(1) 数据库信息要能充分体现出用户使用系统的需求。

(2) 能够支持用户对数据进行的所有处理。

(3) 能够容易被数据库管理系统运行维护。

(4) 数据一致性、完整性好,无更新异常。

本系统采用SQL SERVER2000做为后台数据库,使用https://www.doczj.com/doc/dd15127665.html,技术对数据进行操作。

2.7.1 数据分析

博客系统中,主要是管理用户的文章、留言、系统信息等数据。数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是系统实现分析的起点。现通过数据流图的方式分析系统中数据的流动和处理。

对系统的管理员,在登录系统后,本系统接受管理员的修改、添加、删除请求,通过分析将这种请求转化成相应的SQL语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。系统接收到数据库返回的结果集,经过一定的分析处理,将其转化成ASP页面,返回到客户端显示给用户。

2.7.2 SQL SERVER 2000

SQL SERVER2000是可以在WEB上运行的数据库服务产品。它既可适用于桌面系统的单用户数据库,也可适用于企业的网络数据库,甚至适用于专业的WEB 站点数据库,具有很强的可伸缩性。并且具有很高的可靠性、可用性和可管理性。从经济和开发效率上适合中小型网站。它和https://www.doczj.com/doc/dd15127665.html,同属于微软公司开发,在开发接口有一致性,能更好的协调工作。同时,SQL SERVER2000对数据的安全性也有一定的保障,它对用户的访问进行了两个阶段的检查:一是认证阶段,二是许可确认阶段。数据库使用https://www.doczj.com/doc/dd15127665.html,来处理数据。

2.7.3 https://www.doczj.com/doc/dd15127665.html,

https://www.doczj.com/doc/dd15127665.html,是基于.NET框架结构、面向分布式和以XML数据格式为核心的数据访问技术,它提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源及通过OLEDB和XML公开的数据远源的一致访问。https://www.doczj.com/doc/dd15127665.html,统一了数据容器类编程接口,无论编写何种应用程序(Windows窗体、Web窗体、Web服务)都可以通过同一组类来处理数据。为使用方便,https://www.doczj.com/doc/dd15127665.html, 还提供了一组丰富的控件,利用可视化方式来开发数据库应用。

https://www.doczj.com/doc/dd15127665.html,体系结构如下图2-1所示

图2-2 https://www.doczj.com/doc/dd15127665.html,体系结构

https://www.doczj.com/doc/dd15127665.html,体系结构的两大核心控件是.NET Framework数据提供程序和Dataset。. NET Framework数据提供程序用于连接到数据库、执行命令和检索结果。Dataset是一个功能丰富、比较复杂的数据集,它是支持https://www.doczj.com/doc/dd15127665.html,的断开式、分布式数据方案的核心对象。Dataset专门用来处理从数据源获得的数据,无论数据来自什么数据源,它都使用相同的方式操作数据。

2.8 https://www.doczj.com/doc/dd15127665.html,配置

https://www.doczj.com/doc/dd15127665.html,的配置文件都是XML格式的文件,XML格式文件易于书写和定制,采用这种方法进行https://www.doczj.com/doc/dd15127665.html,配置方便灵活。另外,https://www.doczj.com/doc/dd15127665.html,的配置都是可以随时更改的,即应用程序运行期间,可以随时增加和删除https://www.doczj.com/doc/dd15127665.html,配置文件中的项目,修改后可以立刻激活使用比当配置发生变化时需要服务重新启动配置才生效的方法有很大的优势。

2.9 XML

XML是Extensible Markup Language。它是一种存储数据的方法。它提供一种独立于应用程序的格式来保存数据,且容易实现不同应用程序之间的数据共享。与数据库相比,它不需要任何专用软件就可以创建和管理XML文档,只

要一个文本编辑器就可以了;而数据库需要专门的数据库管理系统对数据进行管理。

第三章博客系统分析

3.1 系统设计方案

本系统是面向个人用户和小型集体用户开发的系统,完成用户在Blog上进行预定操作,实现用户和来宾之间的双向沟通。具体设计方案为:

(1)系统服务器为IIS,数据库为SQLSERVER2000,整个系统界面采用Microsoft visual Studio 2005开发。

(2)系统采用MVC框架,用C#语言实现。

(3)服务器与数据库的连接使用OLEDB编程接口的OleDbConnection对象进行连接。

(4)系统分成两部分,前台为普通用户操作界面,功能包括:阅读文章,发表留言,发表评论,在线聊天。后台为管理员操作界面,管理员通过登录进入管理界面,功能包括:分类管理,文章管理,添加文章,评论管理,链接管理,留言管理。

3.2 系统功能模块

系统功能模块包括两大块:管理界面功能模块和普通用户界面功能模块。其具体功能如下所示:

(2)博客系统文章实体E-R 图如图3-1所示。

文章标题

文章编号

文章内容

发表日期

管理员

管理

浏览

用户

文章标题

文章内容

管理日期

图3-1 文章资源E-R 图

管理员用户功能模块图3-2如下:

图3-2 管理员功能模块

普通用户功能模块图3-3如下:

图3-3

普通用户功能模块

3.3 数据库需求分析

■用户分为普通用户和管理员用户

■管理员涉及类型管理、文章管理、添加文章、评论管理、链接管理、留言管理。

■普通用户可以阅读文章、发表回应、留言、评论和在线聊天。 ■一种文章类型有多篇文章。 ■一篇文章有多篇评论、回复。

对上面系统功能分析,设计如下数据项: ■ 管理员信息:用户名、密码。

■ 类型信息:类型编号、类型名称。

■ 链接:链接编号、链接名称、链接地址。

■ 留言:留言编号、留言人呢称、留言标题、个人主页、留言内容、留言时间、留言回复。

■ 文章信息:文章序号、文章作者、文章标题、摘要、文章内容、文章发表日期、文章人气、回复、文章类型编号、文章类型名称、文章回复数。

■ 评论:评论序号、评论用户呢称、评论标题、评论内容、评论时间、评论的文章序号。

3.4 系统操作流程

分析传统Blog 系统这一环节所应具有的功能,可以得到Blog 系统应具有以下功能:

高级系统用户(管理员)通过浏览器,可以实现文章的管理(对文章的各种信息进行浏览、增加、删除、修改等)、普通系统用户对文章信息只能阅读和留言。而该系统添加了在线即时聊天,是为该系统的一个亮点。 由此得到的系统的流程图如图3-4所示

图3-4 系统操作流程

3.5数据表设计

数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。

博客系统中的数据管理形式采用数据库,根据系统需要与数据规范化分为用户表,类型信息表,,留言信息表,日志信息表,评论信息表这五个表,博客系统中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表,表3-1为用户表,记录用户的详细信息。

表3-1用户表

列名含义类型长度缺省值允许空

BlogID用户编号Int 4 无否

UserName用户名Varchar20 无否

Password用户密码Varchar20 无否

NickName博客主题Varchar50 无否Description博客描述Varchar100 无是Email 电子邮件Email 50 无否RegisterTime注册日期Datetime8 无否

ArticleNum发表的日志数Int 4 0 否

该表为管理员登录的信息表,本系统没有包含管理员用户的注册模块,管理员帐号直接在数据库中设计。普通用户匿名登录主页。

表3-2类别表

列名含义类型长度缺省值允许空CategoryID类别编号Int 4 无否Name 类别名Varchar20 无否Description类别描述Varchar100 无是BlogID 用户编号Int 4 无否

该表用来记录文章类型的相关信息,系统文章分了类别,使管理文章,查看文章都变的非常的方便。

表3-3留言表

列名含义类型长度缺省值允许空MessageID留言编号Int 4 无否Title 留言标题Varchar20 无否

Content留言内容text 8 无否PublishTime发表时间Datetime8 无否LastModifyTime最后回复时间Datetime8 无否UserName用户名Varchar20 无否

BlogID 用户ID Int 4 无否该表包含了留言的相关信息,留言模块方便普通用户和版主之间的交流,为他们提供了一个专门的途径。

表3-4日志表

列名含义类型长度缺省值允许空ArticleID日志编号Int 4 无否Title 日志标题Varchar50 无否

Content日志内容text 8 无否

CategoryID类别ID int 4 无否

PublishTime 日志发表时间Datetime8 无否

LastModifyTime日志最后修改时间Datetime8 无否BlogID 用户ID Int 4 无否

ReadTimes日志浏览次数Int 4 0 否

FeedBackNum 日志评论数Int 4 0 否

该表为日志信息表,包含了文章的相关属性,用来记录文章信息。

该模块可以帮助用户了解文章的基本信息。比如:文章人气高可能是内容很有意义,方便用户去阅读那些比较好的文章。

表3-5日志评论表

列名含义类型长度缺省值允许空

FeedBackID评论编号Int 4 无否Title 评论标题Varchar20 无否

Content评论内容Text 8 无否PublishTime发表时间Datetime8 无否

UserName用户名Varchar20 无否

ArticleID日志ID Int 4 无否

此表为评论信息表,用来记录评论信息。评论也是用户的一种交流方式。该模块加强了用户之间的沟通。

3.6 数据库的完整性和安全性

3.6.1 数据库的完整性约束

数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。数据库的完整性约束主要包括以下三方面要求:

(1)实体完整性

相关主题
文本预览
相关文档 最新文档