




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着Internet的广泛应用,动态网页技术也应运而生。本文介绍了应用ASP动态网页技术开发博客系统的设计与实现。博客系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。博客系统主要实现了文章管理的数字化、信息化、智能化,是打破传统报刊、杂志发表文章方式的新尝试。 该系统以ASP.NET为开发技术,使用C#为开发语言,采用Web展示层和SQLserver 2000数据库两层架构模式同时采用MVC开发模式,实现Blog网站的动态管理,使得对Blog信息的管理更加及时、高效,提高了工作效率。 本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。关键词:Blog,ASP.NET,C+,SQLserverAbstractWith 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 ASP.NET 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, ASP.NET, C#, SQLserve目录第一章 引言81.1系统开发背景81.2 课题研究的意义91.3系统概述9第二章 博客系统开发技术112.1可行性分析112.2 需求分析112.3 ASP.NET技术概论112.4 ASP工作原理122.5 MVC开发模式132.6 Ajax介绍132.6.1什么是Ajax132.6.2 Ajax相关技术介绍142.6.3 Ajax技术在系统中的应用142.7 数据库选择152.7.1 数据分析152.7.2 SQL SERVER 2000152.7.3 ADO.NET162.8 ASP.NET配置172.9 XML17第三章 博客系统分析183.1 系统设计方案183.2 系统功能模块183.3 数据库需求分析193.4 系统操作流程203.5 数据表设计203.6 数据库的完整性和安全性233.6.1 数据库的完整性约束233.6.2 数据库的安全性24第四章 博客系统设计254.1后台功能模块详细设计254.1.1用户注册模块设计254.1.2 身份验证254.1.3 后台文章添加管理264.1.4 后台文章类别管理274.2前台功能模块详细设计284.2.1前台主界面284.2.2 “文章评论”功能模块设计294.2.3“文章管理”功能模块304.2.4 在线聊天登录界面模块304.2.5 在线聊天模块314.3系统管理模块32第五章 结论345.1 不足之处与改进345.1.1 权限分配345.1.2 界面美观化345.2 结论34致 谢35参考文献36第一章 引言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。 博客存在的方式,一般分为三种类型:一是托管博客,无须自己注册域名、租用空间和编制网页,博客们只要去免费注册申请即可拥有自己的博客空间,是最“多快好省”的方式。如英文的、及多种语言的博客室()等都提供这样的服务;二是自建独立网站的博客,有自己的域名、空间和页面风格,需要一定的条件。如方兴东建立的“博客中国”站();三是附属博客,将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址)。这三类之间可以演变,甚至可以兼得,一人拥有多种博客网站。目前进行网站开发的语言很多,如ASP、PHP、JSP、ASP.NET等。究竟应该选择什么语言来开发一个BLOG网站呢,对于一个中小型的网站来说,ASP无疑是最好的选择,利用简单的HTML代码与脚本融合而成的ASP技术可以开发强大的Web应用程序。ASP(Active Sever Pages)是Microsoft推出的一种服务器端脚本环境,ASP内嵌于IIS中,让用户可以轻松的结合HTML Web页面、脚本和ActiveX组件建立或执行动态的、交互的Web服务器应用程序。ASP并不单指某一种编程语言,而是一门把HTML代码与VBScript和JavaScript等脚本语言融合在一起的技术,ASP技术的诞生,应该说是一项成功的技术,它开创了非专业人员开发高水平网站的历史。12 课题研究的意义随着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 ASP.NET技术概论本系统采用ASP.NET开发技术进行开发。ASP.NET不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点: (1)多语言ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET,另外还支持一些第三方语言。(2)服务器处理ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。(3)Web Form控件将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。(4)代码与内容分离一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而ASP.NET则采用了代码内联和后台编码两种方法实现了代码与内容的分离。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)ASP.NET模式下如何实现MVC?ASP.NET提供了一个很好的实现这种经典设计模式的类似环境。开发者通过在ASPX页面中开发用户接口来实现视图;控制器的功能在逻辑功能代码(.cs)中实现;模型通常对应应用系统的业务部分。在ASP.NET中实现这种设计而提供的一个多层系统,对较经典的ASP结构实现的系统来说有明显的优点。将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来,可以让用户设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法。2.6 Ajax介绍2.6.1什么是AjaxAjax是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做为后台数据库,使用ADO.NET技术对数据进行操作。 2.7.1 数据分析博客系统中,主要是管理用户的文章、留言、系统信息等数据。数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是系统实现分析的起点。现通过数据流图的方式分析系统中数据的流动和处理。对系统的管理员,在登录系统后,本系统接受管理员的修改、添加、删除请求,通过分析将这种请求转化成相应的SQL语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。系统接收到数据库返回的结果集,经过一定的分析处理,将其转化成ASP页面,返回到客户端显示给用户。2.7.2 SQL SERVER 2000SQL SERVER2000是可以在WEB上运行的数据库服务产品。它既可适用于桌面系统的单用户数据库,也可适用于企业的网络数据库,甚至适用于专业的WEB站点数据库,具有很强的可伸缩性。并且具有很高的可靠性、可用性和可管理性。从经济和开发效率上适合中小型网站。它和ASP.NET同属于微软公司开发,在开发接口有一致性,能更好的协调工作。同时,SQL SERVER2000对数据的安全性也有一定的保障,它对用户的访问进行了两个阶段的检查:一是认证阶段,二是许可确认阶段。数据库使用ADO.NET来处理数据。2.7.3 ADO.NET ADO.NET是基于.NET框架结构、面向分布式和以XML数据格式为核心的数据访问技术,它提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源及通过OLEDB和XML公开的数据远源的一致访问。ADO.NET统一了数据容器类编程接口,无论编写何种应用程序(Windows窗体、Web窗体、Web服务)都可以通过同一组类来处理数据。为使用方便,ADO.NET还提供了一组丰富的控件,利用可视化方式来开发数据库应用。ADO.NET体系结构如下图2-1所示.NET Framework 数据提供程序DatasetData TableCollection数据表DataAdapterConnection事务Command参数DataReaderDeleteCommandUpdateCommandInsertCommandSelectCommand数据库DataRowCollectionConstraintCollectionDataColumnCollectionnDataRelationCollectionXML图2-2 ADO.NET体系结构ADO.NET体系结构的两大核心控件是.NET Framework数据提供程序和Dataset。. NET Framework数据提供程序用于连接到数据库、执行命令和检索结果。Dataset是一个功能丰富、比较复杂的数据集,它是支持ADO.NET的断开式、分布式数据方案的核心对象。Dataset专门用来处理从数据源获得的数据,无论数据来自什么数据源,它都使用相同的方式操作数据。2.8 ASP.NET配置A的配置文件都是XML格式的文件,XML格式文件易于书写和定制,采用这种方法进行配置方便灵活。另外,的配置都是可以随时更改的,即应用程序运行期间,可以随时增加和删除配置文件中的项目,修改后可以立刻激活使用比当配置发生变化时需要服务重新启动配置才生效的方法有很大的优势。2.9 XMLXML是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如下:View_Users用户Users文章ArticleArticle.username=Users.username图3-3 普通用户功能模块3.3 数据库需求分析用户分为普通用户和管理员用户管理员涉及类型管理、文章管理、添加文章、评论管理、链接管理、留言管理。普通用户可以阅读文章、发表回应、留言、评论和在线聊天。一种文章类型有多篇文章。一篇文章有多篇评论、回复。对上面系统功能分析,设计如下数据项:管理员信息:用户名、密码。类型信息:类型编号、类型名称。链接:链接编号、链接名称、链接地址。留言:留言编号、留言人呢称、留言标题、个人主页、留言内容、留言时间、留言回复。文章信息:文章序号、文章作者、文章标题、摘要、文章内容、文章发表日期、文章人气、回复、文章类型编号、文章类型名称、文章回复数。评论:评论序号、评论用户呢称、评论标题、评论内容、评论时间、评论的文章序号。3.4 系统操作流程分析传统Blog系统这一环节所应具有的功能,可以得到Blog系统应具有以下功能:高级系统用户(管理员)通过浏览器,可以实现文章的管理(对文章的各种信息进行浏览、增加、删除、修改等)、普通系统用户对文章信息只能阅读和留言。而该系统添加了在线即时聊天,是为该系统的一个亮点。由此得到的系统的流程图如图3-4所示图3-4 系统操作流程3.5数据表设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。博客系统中的数据管理形式采用数据库,根据系统需要与数据规范化分为用户表,类型信息表,留言信息表,日志信息表,评论信息表这五个表,博客系统中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表,表3-1为用户表,记录用户的详细信息。表3-1 用户表列名含义类型长度缺省值允许空BlogID用户编号Int4无否UserName用户名Varchar20无否Password用户密码Varchar20无否NickName博客主题Varchar50无否Description博客描述Varchar100无是Email电子邮件Email50无否RegisterTime注册日期Datetime8无否ArticleNum发表的日志数Int40否该表为管理员登录的信息表,本系统没有包含管理员用户的注册模块,管理员帐号直接在数据库中设计。普通用户匿名登录主页。表3-2 类别表列名含义类型长度缺省值允许空CategoryID类别编号Int4无否Name类别名Varchar20无否Description类别描述Varchar100无是BlogID用户编号Int4无否该表用来记录文章类型的相关信息,系统文章分了类别,使管理文章,查看文章都变的非常的方便。表3-3 留言表列名含义类型长度缺省值允许空MessageID留言编号Int4无否Title留言标题Varchar20无否Content留言内容text8无否PublishTime发表时间Datetime8无否LastModifyTime最后回复时间Datetime8无否UserName用户名Varchar20无否BlogID用户IDInt4无否该表包含了留言的相关信息,留言模块方便普通用户和版主之间的交流,为他们提供了一个专门的途径。表3-4 日志表列名含义类型长度缺省值允许空ArticleID日志编号Int4无否Title日志标题Varchar50无否Content日志内容text8无否CategoryID类别IDint4无否PublishTime日志发表时间Datetime8无否LastModifyTime日志最后修改时间Datetime8无否BlogID用户IDInt4无否ReadTimes日志浏览次数Int40否FeedBackNum日志评论数Int40否该表为日志信息表,包含了文章的相关属性,用来记录文章信息。该模块可以帮助用户了解文章的基本信息。比如:文章人气高可能是内容很有意义,方便用户去阅读那些比较好的文章。表3-5 日志评论表列名含义类型长度缺省值允许空FeedBackID评论编号Int4无否Title评论标题Varchar20无否Content评论内容Text8无否PublishTime发表时间Datetime8无否UserName用户名Varchar20无否ArticleID日志IDInt4无否此表为评论信息表,用来记录评论信息。评论也是用户的一种交流方式。该模块加强了用户之间的沟通。3.6 数据库的完整性和安全性3.6.1 数据库的完整性约束数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。数据库的完整性约束主要包括以下三方面要求:(1)实体完整性实体完整性是指若属性A是基本关系R的主属性,则属性A不能取空值。对于每个表来说,主键都不可以为空。在用户提交信息时,系统会对用户所填写的信息进行验证,对于其中的关键信息没有填写或者数据非法时,系统会提示用户更改后再提交。这样保证了系统实体完整性。(2)参照完整性由于表和表之间会存在某些联系,当关系R和关系S之间是一对多关系时(R的主键是A,S的主键是b,c是s中的外码),在插入数据时就要保证外码c的值或者为空或者等于R中某个元组的主码值。在对被参照表进行删除操作时应同时进行及联删除。(3)用户定义完整性任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某个属性的取值范围等。3.6.2 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,同时又为许多用户直接共享,是宝贵的信息资源,因此系统的安全保护措施就显得更为重要。键全的数据库安全机制可以防止数据库被恶意的破坏和非法的存取。本系统的安全设计包括服务器和数据库两方面设计。当用户使用系统时,系统首先会检查用户是否登录,如果用户还没有登录,系统将会弹出警告窗口提醒用户,并将相应的页面跳转至用户登录。在用户提交登录信息后,系统会对用户的身份进行核对,如果在数据库中查找到了相关记录,打开用户页面,表明用户登录成功。对于数据库的安全,主要是通过对授权用户的身份验证实现的。在的系统管理页面,提示用户使用管理员帐号在此登录,没有管理权限的系统注册用户无法登录到数据库管理的后台。系统确认了管理员身份之后统会打开管理页面,系统管理者可在此对整个系统的数据库进行管理和维护。第四章 博客系统设计4.1后台功能模块详细设计 通过此功能用户可以对主页中的许多功能和数据进行操作控制。4.1.1用户注册模块设计页面Register.asp主要完成引导用户进行注册,首先会提供注册表让用户输入用户名和密码等,让用户输入注册信息,输入完成后,当用户单击注册按钮的时候,要对用户输入的注册信息简单认证,看用户信息是否验证,如果验证进行数据库验证,查看用户之前是否已经注册过,如果没有注册则插入一条新记录到数据库,完成注册。图4-1 用户注册4.1.2 身份验证管理员通过此登陆入口进入管理界面,此入口需要填写正确的ID才能够登陆,非法ID不能够登陆,其界面效果预览如图4-2所示:图4-2 管理员登录界面一个系统能正常使用,安全性是非常重要的一个部分。安全性是对用户的生份进行验证并通过验证的用户按照为其授予的访问权限来确定用户是否可以访问某资源的一个过程。为了保证系统的安全,为了保证应用程序的安全,本系统采用了身份验证技术。该代码表示系统禁止对ST_login目录下的ST_admin进行匿名访问.如果存在匿名用户,系统将自动验证用户名,提示错误信息。保证了系统的安全.关键代码如下: 实现此功能的关键代码为: protected void Button1_Click(object sender, System.EventArgs e) OleDbCommand ST_myCmd = new OleDbCommand(select * from ST_admin where ST_admin_user= + adminname.Text.Trim() + and ST_admin_psw= + adminpsw.Text.Trim() + , ST_myConn); ST_myConn.Open(); OleDbDataReader ST_read = ST_myCmd.ExecuteReader(); if (ST_read.Read() SessionUserName = ST_read0.ToString(); Response.Redirect(ST_admin.aspx); else Response.Write(alert(用户名和密码不对); 4.1.3 后台文章添加管理管理员可以在此页面操作管理功能,这些功能可以对主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位装修验收合同范本
- 展览策展 合同范本
- 自主智能系统知到智慧树答案
- 闲置厂房担保合同范本
- 社区庆七一消防知识培训课件
- 林地承包协议合同范本
- 纸板长期供货合同范本
- 项目工程咨询合同范本
- 提前上班合同范本
- 物流租出箱子合同范本
- 县域共配仓农村物流配送成本控制报告
- 二级实验室生物安全管理手册
- 2025年新演员签约协议书
- 电子信息类专业导论(第3版)课件全套 张有光 00 课程简介 - 12 中国大学教育:理念与实践
- 2025届安徽省A10联盟高三上学期开学考-物理试题(含答案)
- 全国“安康杯”职工安全健康意识与应急技能知识竞赛试卷附答案
- 馕小屋管理办法
- (2025)全国辅警考试题库及答案
- 钢结构设计质量保证体系及措施
- 基孔肯雅热防控技术指南(2025年版)试题及答案
- 护理实践指南手术室废物管理
评论
0/150
提交评论