资源描述
摘 要随着Internet的广泛应用,动态网页技术也应运而生。本文介绍了应用ASP动态网页技术开发博客系统的设计与实现。博客系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。博客系统主要实现了文章管理的数字化、信息化、智能化,是打破传统报刊、杂志发表文章方式的新尝试。 本系统的开发设计实现采用ASP技术,系统后台使用SQL Server 2008数据库,并通过使用ODBC技术访问。本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。关键字:博客ASP SQL Server 2008 ODBC目 录1系统概述31.1项目背景31.2系统开发的意义41.2.1发布想法41.2.2博客的用途41.3 系统开发的目标51.3.1任何拥有博客的人都可以做到51.3.2 访问博客系统的人,可以做到51.4系统概述51.5 系统的开发方法62系统分析82.1 可行性分析82.2 需求分析82.2.1 管理员登录82.2.2 文章管理92.2.3 系统信息管理92.3 系统的主要技术分析92.3.1 ASP技术概论92.3.2 ASP工作原理102.3.3 ODBC技术102.3.4 硬件设备及操作系统112.3.5 系统开发平台112.4 数据分析112.5 数据流图123数据库设计133.1 数据库技术概述133.2 数据库选择133.3数据库逻辑结构设计133.4 数据库的完整性和安全性153.4.1 数据库的完整性约束153.4.2 数据库的安全性164系统设计174.1系统总体设计174.2公用模块的编写174.2.1数据库连接文件174.2.2用户登录和注销174.3客户界面的设计与实现174.3.1 界面头设计174.3.2 界面尾设计184.3.3首页设计与实现184.3.4用户注册模块设计194.3.5“文章评论”功能模块设计204.4管理界面设计204.4.1“添加文章”功能模块204.4.2“文章管理”功能模块214.4.3“评论管理”功能模块214.4.4“基本设置”功能模块225系统测试225.1 测试目的225.2 测试方法225.3测试实例235.3.1 后台管理权限测试235.3.2 前台文章显示测试235.3.3 前台显示文章详细内容测试245.3.4 管理员登陆245.3.6 文章管理255.3.7 系统信息管理26总 结27致 谢28参考文献29附 录301 系统概述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技术的诞生,应该说是一项成功的技术,它开创了非专业人员开发高水平网站的历史。1.2系统开发的意义1.2.1发布想法博客能让个人在互联网上表达自己的心声。这是一个收集和共享任何感兴趣的事物的地方-可以是政治评论、个人日记或是指向您想记住的网站的链接。许多人使用博客只是要组织自己的想法,而有些人则在全球成千上万的浏览者中赢得影响力。职业和业余新闻记者使用博客发布特发新闻,而有写日记习惯的人则会在博客 中宣示自己内心的想法。而摄影和美术发烧者,可以通过博客 系统的管理自己的作品,无论您要发表什么意见,博客都可以帮您表达出来。博客作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。1.2.2博客的用途(1)促进学习。写blog可以促进学习,想写出文章来,自然不能是泛泛的了解就可以的,要理解了才能写得出来的。这就促进了对某些领域的不断学习和思考。 (2)记录收获。blog中,常常是记录下来都是瞬间的灵感,对事物的感悟,经过多日思考和实践的结果,对某个问题的解决方案等等,这些都是财富,要记录下来。 (3)反映成长。写blog,可以反映出人的思考过程,而不仅仅是思考结果。对一个问题或领域,从不了解到了解,从了解到熟悉,从熟悉到精通。这纪录了一个人思考和解决问题的成长过程。很久之后,看到自己之前的文章,你将会觉得自己进步了。 (4)结交朋友。写了blog,自然会有许多志趣相同的朋友来阅读,这可以认识许多朋友。大家有共同的兴趣爱好,自然谈得来。 (5)共享知识。blog给大家看,大家的blog也给你看。这个问题我解决了,那个问题他解决了。大家互通有无,建立起一个社群。 (6)交流看法。回复的人对blog的观点或赞同,或反对,大家一起讨论,听听别人的思想,可以促进双方的共同进步。 (7)包装自己。看到一篇篇用心写出的文章,自然是对自己知识技能的最好宣传。 1.3 系统开发的目标1.3.1任何拥有博客的人都可以做到(1)登录博客系统浏览文章(2)管理自己博客的基本信息(3)撰写个人随笔(4)处理留言、文章评论等内容1.3.2 访问博客系统的人,可以做到游览博客系统中的文章目录、评论博客系统中的内容,只有博客管理员登录系统之后,才能进行管理。而博客系统的访问者不需要注册,也不需要登录就可以访问博客系统中的内容。1.4系统概述一个博客其实就是由一序列网页组成的,它通常是由简短且经常更新的帖子所构成的,这些张贴的文章都按照年份和日期倒序列排列,能按照日期和主题检索。博客的内容和目的有很大的不同,有到其他网站的超级链接;有对其他网站的评论;有个人的日记,日常所思所想;有个人照片、诗歌、散文,甚至科幻小说的发表。正是由于博客能收容这些不拘于个人思想的表达,使博客这种交流和表达方式日益红火起来,博客秉承了个人网站的自由精神,也开拓了激发创造的新模式,能张扬人的个性,从这个意义上说,博客将会变得越来越普及,越来越为更多的人接受。本系统主要完成以下功能。1客户界面部分我的文章给我留言用户注册/登录首页:我的头像,最新评论,最新文章2管理界面部分文章管理留言管理基本设置1.5 系统的开发方法本系统主要采用ASP技术进行开发,ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。 当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。 由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。1. 本系统的前台开发采用Visual Studio 2010,Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。Visual Studio 2010特点:支持 Windows Azure,微软云计算架构迈入重要里程碑;助力移动与嵌入式装置开发,三屏一云商机无限; 实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力;升级的软件测试功能及工具,为软件质量严格把关; 搭配 Windows 7,Silverlight 4 与 Office,发挥多核并行运算威力,创建美感与效能并重的新一代软件; 支持最新C+标准,增强IDE,切实提高程序员开发效率。2. 本系统的后台数据库采用SQL Server 2008, SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能 在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。 这个平台有以下特点: 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。292 系统分析2.1 可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。(1) 经济可行性。经济可行性主要是对项目的经济效益进行评价。本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。(2) 技术上的可行性。技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是ASP(Active Sever Pages)进行开发,前台网页设计使用的是vs2010,而数据库系统采用的是SQL Server 2008 r2。通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。(3) 时机可行性。时机可行性是分析系统开发时机是否成熟。目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。(4) 管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便校友信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。 综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。2.2 需求分析在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。2.2.1 管理员登录在调研中了解到,用户想要使用系统,首先要有一个友好的用户注册界面,其次,用户需要经历登录验证过程,只有合法的拥有管理员身份的用户才可以使用系统中的管理功能,这样做可以防止非法用户登录并使用本系统,妨害数据安全。用户登录。通过系统登录验证,用户成功进入系统并开始使用其中功能。2.2.2 文章管理文章管理是用户所有文章的信息,用户可以进入此处进行相关文章的管理。这部分主要包括以下方面:(1) 文章信息显示。显示出所有文章的大概信息。(2) 发表新文章。可以发表新的文章。(3) 删除文章。允许用户对文章信息进行删除操作。2.2.3 系统信息管理系统开始运行之后,随着时间的变化会有想要更改系统的相关信息的要求,比如:修改博客的个人头像,爱好,最难忘的事等等,因此需要提供信息修改的功能。2.3 系统的主要技术分析2.3.1 ASP技术概论Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了Active Server Pages 所独具的一些特点:1.使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。 2.无须compile编译,容易编写,可在服务器端直接执行。 3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 4.与浏览器无关(Browser Independence),用户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active Server Pages所使用的脚本语言(VBScript 、Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 5.Active Server Pages能与任何ActiveX scripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。 6.Active Server Pages的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 7.可使用服务器端的脚本来产生客户端的脚本。 8.物件导向(Object-oriented)。 9.ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C+ 、COBOL等编程语言来编写你所需要的ActiveX Server Component。2.3.2 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.3.3 ODBC技术ODBC的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据ODBC的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的DBMS采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。这同时也就是数据库驱动的思想,它很类似于Windows中打印驱动的思想。在Windows中,用户安装不同的打印驱动程序,使用同样一条打印语句或操作,就可很容易地实现在不同打印机上打印输出,而不需要了解内部的具体原理。ODBC出现以后,用户安装不同的DBMS驱动就可用同样的SQL语句实现在不同DBMS上进行同样的操作,而且无需预编译。ODBC带来了数据库连接方式的变革,如图1所示。在传统方式中,开发人员要熟悉多个DBMS及其API,一旦DBMS端出现变动,则往往导致用户端系统重新编建或者源代码的修改,这给开发和维护工作带来了很大困难。在ODBC方式中,不管底层网络环境如何,也无论采用何种DBMS,用户在程序中都使用同一套标准代码,无需逐个了解各DBMS及其API的特点,源程序不因底层的变化而重新编建或修改,从而减轻了开发维护的工作量,缩短了开发周期。ODBC具有以下灵活的特点:1. 使用户程序有很高的互操作性,相同的目标代码适用于不同的DBMS;2. 由于ODBC的开放性,它为程序集成提供了便利,为客户机/服务器结构提供了技术支持;2.3.4 硬件设备及操作系统为了满足系统开发设计的需要,表2.1为实现系统设计开发对硬件要求的最低配置,建议使用当前中等或以上计算机配置。表2-1 硬件要求配置表CPU要求在P以上内存256MB及其以上硬盘20GB及其以上光驱无要求软驱无要求显示器无要求其他计算机设备网卡等联网设备2.3.5 系统开发平台电脑配置:DELL电脑 CPU:P3 2.53 内存:2G 硬盘:320G操作系统:Microsoft Windows7旗舰版数据库:SQL Server 2008 开发平台:Visual Studio 20102.4 数据分析博客系统中,主要是管理用户的文章、留言、系统信息等数据。数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是系统实现分析的起点。现通过数据流图的方式分析系统中数据的流动和处理。对系统的管理员,在登录系统后,本系统接受管理员的修改、添加、删除请求,通过分析将这种请求转化成相应的SQL语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。系统接收到数据库返回的结果集,经过一定的分析处理,将其转化成ASP页面,返回到客户端显示给用户。2.5 数据流图博客整体图管理员用户登录信息修改操作增加操作相应结果返回Blog系统服务器浏览者提供数据浏览请求 文章管理细节图3 数据库设计3.1 数据库技术概述数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。近年来推出的计算机关系数据库管理系统,还具有操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强等诸多优点。总的来说,数据库的设计对系统的经济性、功能性和效率有很大的影响,一个好的数据库,要求在设计时尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。数据库设计时速度与空间在范式上是相互矛盾的。一方面按规范化理论的要求,关系模式应尽量取高级范式,尤其对记录数较多的关系,低级范式将会造成存储的大量重复,是空间遭受严重浪费;另一方面从存取速度上考虑,应该尽量做到一个模式涉及的属性越多越好,相互运算越少越好,这样,又应取低级范式。因此我们在设计数据库时要严格地探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。经过综合的评价和分析后设计出的数据库应满足以下要求:(1) 数据库信息要能充分体现出用户使用系统的需求。 (2) 能够支持用户对数据进行的所有处理。(3) 能够容易被数据库管理系统运行维护。(4) 数据一致性、完整性好,无更新异常。3.2 数据库选择本系统所采用的数据库是 SQL Server2008 SQL(Structured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。 3.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。根据博客的使用情况的不同,可以采用SQL Server 2008数据库,SQL Server 2008便于安装。博客系统中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表: 表3-1 aspnet_Users注册用户表表3-1 aspnet_Users注册用户表,用来记录用户信息AddUser表记用户信息,其字段如表3-2所示表3-3AddrizhiMessage博文信息表表3-3 博文信息表,发表博文的信息存储表3-4 Comments文章评论表表3-4文章评论表,记录文章的所有评论。表3-5 liuyan文章表表3-5为留言表,记录用户书写的所有留言3.4 数据库的完整性和安全性3.4.1 数据库的完整性约束数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。数据库的完整性约束主要包括以下三方面要求:(1)实体完整性实体完整性是指若属性A是基本关系R的主属性,则属性A不能取空值。对于每个表来说,主键都不可以为空。在用户提交信息时,系统会对用户所填写的信息进行验证,对于其中的关键信息没有填写或者数据非法时,系统会提示用户更改后再提交。这样保证了系统实体完整性。(2)参照完整性由于表和表之间会存在某些联系,当关系R和关系S之间是一对多关系时(R的主键是A,S的主键是b,c是s中的外码),在插入数据时就要保证外码c的值或者为空或者等于R中某个元组的主码值。在对被参照表进行删除操作时应同时进行及联删除。(3)用户定义完整性任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某个属性的取值范围等。3.4.2 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,同时又为许多用户直接共享,是宝贵的信息资源,因此系统的安全保护措施就显得更为重要。键全的数据库安全机制可以防止数据库被恶意的破坏和非法的存取。本系统的安全设计包括服务器和数据库两方面设计。当用户使用系统时,系统首先会检查用户是否登录,如果用户还没有登录,系统将会弹出警告窗口提醒用户,并将相应的页面跳转至用户登录。在用户提交登录信息后,系统会对用户的身份进行核对,如果在数据库中查找到了相关记录,打开用户页面,表明用户登录成功。对于数据库的安全,主要是通过对授权用户的身份验证实现的。在的系统管理页面,提示用户使用管理员帐号在此登录,没有管理权限的系统注册用户无法登录到数据库管理的后台。系统确认了管理员身份之后统会打开管理页面,系统管理者可在此对整个系统的数据库进行管理和维护。4 系统设计对博客系统进行系统分析、数据库设计之后,本章将主要介绍系统各功能模块的设计及其实现。软件所实现的功能强弱是衡量一个软件的最根本的标准。通过对系统的全面分析并结合调研的情况,确定了本系统的功能模块图。本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。4.1系统总体设计本系统数据库采用SQL Sever ,Web服务器采用IIS 4.2公用模块的编写4.2.1数据库连接文件为了操作数据库方便,把连接数据库、查询、更新、插入、关闭连接等数据库操作都写在一个公用文件web.config中,这样其他页面引入这个页面,就可以调用数据库操作方法,操作数据库了,这样便于提高程序的重用性。4.2.2用户登录和注销把判定用户登录和注销的程序写在首页Default.asp中。当用户在首爷输入用户名和密码请求登录时,先从数据库查询该用户的用户名和密码是否正确,如果正确则把该用户的用户名和密码,写入用户Cookie,这样其他页面如果需要用户登录才能访问,只需要从Cookie取用户的用户名,如果能取得,则说明用户已经登录,否则用户未登录。当然用Cookie记录用户登录是有风险的,最好用Session记录。注销只需要设置记录用户的Cookie过期就可以了。4.3客户界面的设计与实现界面模块化,可以提高代码的重用性,能为编程提供很大便利,节省开发时间,提高开发效率4.3.1 界面头设计 (1)设计思想为了体现简洁明快的风格,界面头不打算用很复杂的动画图片,顶部直接安排一个导航栏,让用户可以在首页、个人资料、博文、评论、博文管理、评论管理等模块之间方便的切换。2)效果预览按上面的设计思想,经过一番美工的润饰,设计出的界面头的效果如图4-1所示。图4-1 界面头4.3.2 界面尾设计界面尾部,一般声明一些版权信息,是否有ISP登记,联系信息等,本博客只需声明一下版权就可以了。图4-2 界面尾4.3.3首页设计与实现首页是一个网站的窗口,长久留住一个用户靠网站强大的功能和丰富的内容,要想吸引用户,首页的设计精美和人性化也是重要的因素。首先是给浏览者留下的第一印象。所以设计要精美;首页是网站的导航图,所以设计要人性化,重点层次突出。设计思想首页直接引入前面设计的公用模块的界面头和尾。首页左边给出浏览者一个清晰的导航。在右边用户能登录/注册、最新更新的博文列表、评论,在左边显示最新更新的博文信息。 博客最核心的是文章,所以正文右边给出一块很大空间用以展示最新书写的几篇文章的标题和内容概要,用户单击博文标签能进入查看该文章的详细内容。图4-3为首页效果图4-3 首页4.3.4用户注册模块设计页面Register.aspx主要完成引导用户进行注册,首先会提供注册表让用户输入用户名和密码等,让用户输入注册信息,输入完成后,当用户单击注册按钮的时候,要对用户输入的注册信息简单认证,看用户信息是否验证,如果验证进行数据库验证,查看用户之前是否已经注册过,如果没有注册则插入一条新记录到数据库,完成注册。图4-4 用户注册4.3.5“文章评论”功能模块设计在展现文章页面的末尾,提供接口供浏览者针对该文章发表评论,技术实现非常简单,就是提供发表评论标题和评论内容的文本框,让读者输入评论标题和内容,当读者单击提交按钮的时候,把评论标题和内容保存到数据库。4.4管理界面设计4.4.1“添加文章”功能模块通过“添加文章”功能模块用户能设置文章标题,选择文章所属分类,填写文章概要和文章内容,对应的页面是writeblog.aspx图图4-5发表文章4.4.2“文章管理”功能模块“文章管理”功能模块主要显示当前用户所写的所有文章,并能修改或者删除现有文章,对应的处理页面是BlogManager.aspx,图4-6为效果图图4-6日志管理4.4.3“评论管理”功能模块图4-7评论管理4.4.4“基本设置”功能模块用户可能需要为自己的博客设置非常有个性的标题、LOGO图标或者发表一个有个性的公告显示在首页等,为此需要为用户提供一个界面方便用户进行这些个性化设置。图4-8 个人资料5 系统测试5.1 测试目的程序测试就是在程序投入运行前,对程序的需求分析、设计规格说明和编码的最终复审,是保证程序质量的关键步骤。如果要给程序测试下定义,可以这样讲,程序测试是为了发现错误而执行程序的过程。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。编程人员力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。5.2 测试方法程序测试的主要方法分为两大类,白盒测试和黑盒测试。白盒测试:也称结构测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。在本次测试工作中使用了两种方法。但主要使用的是黑盒测试方法。5.3测试实例5.3.1 后台管理权限测试测试内容:非管理员用户点击管理按钮,系统是否会允许进入后台管理。操作:以浏览者的身份进入博客系统,点击管理按钮结果:系统自动跳到注册的界面。如图图5-1 创建新账户5.3.2 前台文章显示测试测试内容:打开前台首页后,是否会显示相应的文章列表。操作:打开前台首页查看。结果:文章列表区域正确显示发表的文章。结论:显示的内容与数据库中的内容一致,经调试成功。图5-2 显示博客内容5.3.3 前台显示文章详细内容测试测试内容:点击一个文章的标题,是否会显示出文章的全部内容。操作:随意点击一篇文章的标题。结果:在文章细节页面正确的显示出文章的全部内容。结论:测试成功。5.3.4 管理员登陆测试1:测试内容:填写用户名及密码,验证能否成功登陆。操作: 填写正确的用户名及密码。 填写错误的用户名或密码。结果: 管理员成功登陆。 提示用户登录失败。测试2:测试内容:注册以已经注册的用户,系统是否会提示注册失败。操作:进入首页页面点击注册按钮进行用户名为“test”的注册,完成相关信息的后点完成,提示注册成功。重复以上操作再次注册用户名为“test”的用户。图5-3 注册5.3.6 文章管理(1) 发表文章测试内容:管理员用户发表新文章,。操作:以管理员的身份进入博客系统,点击管理按钮,选择添加文章的操作如图6-4所示,填写完文章内容之后单击添加按钮,看系统是否会提示发表成功。图5-4 发表文章 (2) 删除文章。测试内容:用户对自己所发表的文章信息能否成功删除。操作:点击删除系统询问是否删除该文章信息, 结果:文章信息被成功删除。结论:测试成功。5.3.7 系统信息管理(1) 显示原系统信息。测试内容:进入页面后,能否正确的显示原系统信息中的内容。操作:进入系统信息管理页面查看信息情况。结果:页面成功的显示出正确的信息。结论:测试成功。(2) 修改系统信息测试内容:修改系统内容后,系统配置是否能正确反映。操作:分别修改系统信息中的不同的信息。结果:成功的修改了配置,并成功反应到系统中。结论:测试成功。总 结经过3个月的努力,在老师的悉心帮助下,我终于完成了该论文。在此,我要深深感谢我的指导老师和所有帮助、支持过我的老师、同学们。通过此个人博客网站系统的开发,做到了理论联系实际,将书本上学到的知识与具体实践充分结合起来,既解决了工作中的一些问题,又进一步明确了开发管理信息系统的方法和思想;既加深了对管理信息系统的认识,又进一步巩固了以前所学的计算机软件开发方面的知识,提高了软件开发的水平,从而为今后在实际工作中更好的应用计算机进行信息管理打下了坚实的基础。本系统的设计开发基本上实现了博客应有的基本功能,用户通过使用系统可以利用Internet建立自己的博客系统,与互联网上的网友进行交流,并可以与网友们共同分享文章资源。由于是基于网络开发的系统,所以本系统具有网络应用系统方便、信息交流及时、系统使用不受地域限制等诸多优点,在世界任何角落,用户都可以通过Internet与其他人联系。本系统具有如下特点:(1) 界面美观简洁,程序结构清晰,编码规范。软件工程的思想是本论文文档组织上的亮点(2) 后台数据库采用的SQL Server 2008,它功能比较强大,可以处理包含在各种平台上运行的数据库管理系统内核。但同时也应该看到,由于时间仓促,本系统的功能实现还不是尽善尽美的,还存在需要改进的地方,例如系统的某些设计的可扩展性并不十分理想,在以后的系统维护过程中,使用重构方法对系统进行重构,使系统的设计日益趋于更强的可扩展性。希望在今后可以继续完善本系统设计。参考文献1. 张英男 高喆ASP.NET 2.0网络编程 北京电子出版社2008.42. 李岩 张瑞雪SQL Server 2005实用教程 清华大学出版社 2010.63. Css 实战手册 北京电子出版社 2007.94. 郑耀东.ASP.NET2.0从入门到实践北京:人清华大学出版社,2009.95. 茅健ASP.NET 2.0+ SQL Server 2005全程指南 北京电子出版社 2008.46. Visual studio 2005+ SQL Server 2005数据库应用系统开发 北京电子出版社 2007.87. 石志国. ASP.NET程序设计实用教程M.北京,电子工业出版社,2006.78. 张蓓. ASP.NET通用模块及典型系统开发实例导航M.北京,人民邮电出版社,2006.89. 邹建峰,李律松,李晓栓. ASP.NET开发技术详解M.北京,人民邮电出版社,2005.910. 马林艺,张喜英,钱春升.软件工程M.北京,机械工业出版社,2006.811. 吴晨,张亮,张静. ASP.NET + SQL Server数据库开发与实例M.北京,清华大学出版社,2006.712. 孟小峰,王珊.数据库系统导论M.北京,机械工业出版社,2000.913. 肖金秀,何鹏,王当文. ASP.NET 案例教程M.北京,冶金工业出版社,2005.1114. 冉晓旻(译). Visual C#.NET技术内幕(修订版)M.北京,清华大学出版社,2007. 6附 录附录一 软件使用说明书一 系统简介博客能让个人在互联网上表达自己的心声。这是一个收集和共享任何感兴趣的事物的地方-可以是政治评论、个人日记或是指向您想记住的网站的链接。许多人使用博客只是要组织自己的想法,而有些人则在全球成千上万的浏览者中赢得影响力。职业和业余新闻记者使用博客发布特发新闻,而有写日记习惯的人则会在博客 中宣示自己内心的想法。而摄影和美术发烧者,可以通过博客 系统的管理自己的作品,无论您要发表什么意见,博客都可以帮您表达出来。二 操作说明硬件环境(1) 最低配置 PIII以上CPU,128MB以上内存,40GB硬盘。(2) 建议配置 P4 CPU,256MB内存,80GB硬盘以上。软件环境(1)Windows 7(2)完整安装Office2010三 前台操作首先会提供注册表单让用户输入用户名和密码等,用户输入注册信息,输入完成后,用户单击注册按钮,要对用户输入的注册信息简单认证,看用户信息是否验证,如果验证进行数据库验证,查看用户之前是否已经注册过,如果没有注册则插入一条新记录到数据库,完成注册。下面可以访问别人的BLOG,可选的操作有浏览文章,发表留言,文章评论等等。附录二 源代码详情见毕业设计中
展开阅读全文