1、摘要潍坊科技学院本科毕业设计(论文)题 目 基于ASP技术的个人博客系统的开发设计研究 院(系) 中印计算机软件学院 专业 计算机科学与技术 学 号 200801450015 学生姓名 指导教师 起讫日期 2011.12.22-2012.4.30 设计地点 潍坊科技学院 摘 要随着Internet的广泛应用,动态网页技术也应运而生。本文介绍了应用ASP动态网页技术开发博客系统的设计与实现。博客系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。博客系统主要实现了文章管理的数字化、信息化、智能化,是打破传统报刊、杂志发表文章方式的新
2、尝试。 本系统的开发设计实现采用ASP技术,系统后台使用SQL Server 2005数据库,并通过使用ODBC技术访问。本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。关键字:博客 ASP IAbstractAlong with
3、the wide application of Internet, dynamic web technology also arises at the historic moment. This paper introduces the application of ASP dynamic web technology development blog system design and implementation.The blog system mainly for the user to provide published articles, browse the article, an
4、d other functions, the user through the Internet can express some of his writing articles and other users to communicate. The blog system mainly realizes the management of the digital and information, intelligence, is to break the traditional magazines, newspapers, published articles new way to try.
5、The development of system design and implementation USES ASP technology, the system background use SQL Server 2005 database, and by using ODBC technology access.In this paper, the overall analysis blog system, made clear the feasibility and user needs; According to the principle of modular, planning
6、 and design the system function module; In database design part, detail the system database structure and database of integrity, security measures; The program design, the use of object-oriented program design idea, the program design thought system is presented to the front desk and backstage funct
7、ion the program realization are discussed in detail; System testing part, specific analysis and test appeared in the process of the main problems, and put forward the solution to the system function. Finally, the system in the objective and comprehensive assessment, and put forward some Suggestions
8、on the further improvement.Key Words: blog ASP SQL Server 2005 ODBC目录目 录第一章 系统概述11.1 开发背景11.2 系统开发的意义11.3 系统开发的目标21.4 系统相关技术及开发工具介绍31.4.1 ASP技术概论31.4.2 ASP工作原理41.4.3 ODBC技术51.4.4 硬件设备及操作系统61.4.5 系统开发平台61.5 研究方法介绍6第二章 系统分析82.1 可行性分析82.2 需求分析82.2.1 管理员登录92.2.2 文章管理92.2.3 系统信息管理92.3 数据分析102.4 数据流图102.4
9、.1 博客整体结构示意图102.4.2 博客文章细节示意图11第三章 数据库设计123.1 数据库技术概述123.2 数据库选择133.3数据库逻辑结构设计133.4 数据库的完整性和安全性153.4.1 数据库的完整性约束153.4.2 数据库的安全性16第四章 系统设计174.1 系统总体设计174.2 公用模块的编写174.2.1 数据库连接文件174.2.2 用户登录和注销174.3 客户界面的设计与实现184.3.1 界面头设计184.3.2 界面尾设计194.3.3 首页设计与实现194.3.4 “文章评论”功能模块设计204.4管理界面设计204.4.1 “添加文章”功能模块20
10、4.4.2 “文章管理”功能模块214.4.3 “评论管理”功能模块224.4.4 “基本设置”功能模块22第五章 系统测试235.1 测试目的235.2 测试方法235.3 测试实例235.3.1 后台管理权限测试235.3.2 前台文章显示测试245.3.3 前台显示文章详细内容测试245.3.4 文章管理245.3.5 系统信息管理25第六章 结束语26参考文献27致 谢28附录29IV第一章 系统概述第一章 系统概述1.1 开发背景随着计算机网络的飞速发展,一个新的概念出现了博客(Blog)。博客是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩
11、的个性化展示于一体的综合性平台。博客存在的方式,一般分为三种类型:一是托管博客,无须自己注册域名、租用空间和编制网页,博客们只要去免费注册申请即可拥有自己的博客空间,是最“多快好省”的方式。如英文的、及多种语言的博客室()等都提供这样的服务;二是自建独立网站的博客,有自己的域名、空间和页面风格,需要一定的条件。如方兴东建立的“博客中国”站();三是附属博客,将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址)。这三类之间可以演变,甚至可以兼得,一人拥有多种博客网站。目前进行网站开发的语言很多,如ASP、PHP、JSP、ASP.NET等。究竟应该选择什么语言来开发一个BLOG网
12、站呢,对于一个中小型的网站来说,ASP无疑是最好的选择,利用简单的HTML代码与脚本融合而成的ASP技术可以开发强大的Web应用程序。ASP(Active Sever Pages)是Microsoft推出的一种服务器端脚本环境,ASP内嵌于IIS中,让用户可以轻松的结合HTML Web页面、脚本和ActiveX组件建立或执行动态的、交互的Web服务器应用程序。ASP并不单指某一种编程语言,而是一门把HTML代码与VBScript和JavaScript等脚本语言融合在一起的技术,ASP技术的诞生,应该说是一项成功的技术,它开创了非专业人员开发高水平网站的历史。1.2 系统开发的意义博客作为一种新
13、表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。它的用途主要表现在一下几个方面:1、促进学习。写blog可以促进学习,想写出文章来,自然不能是泛泛的了解就可以的,要理解了才能写得出来的。这就促进了对某些领域的不断学习和思考。 2、记录收获。blog中,常常是记录下来都是瞬间的灵感,对事物的感悟,经过多日思考和实践的结果,对某个问题的解决方案等等,这些都是财富,要记录下来。 3、反映成长。写blog,可以反映出人的思考过程,而不仅仅是思考结果。对一个问题或领域,从不了解到
14、了解,从了解到熟悉,从熟悉到精通。这纪录了一个人思考和解决问题的成长过程。很久之后,看到自己之前的文章,你将会觉得自己进步了。 4、结交朋友。写了blog,自然会有许多志趣相同的朋友来阅读,这可以认识许多朋友。大家有共同的兴趣爱好,自然谈得来。 5、共享知识。blog给大家看,大家的blog也给你看。这个问题我解决了,那个问题他解决了。大家互通有无,建立起一个社群。 6、交流看法。回复的人对blog的观点或赞同,或反对,大家一起讨论,听听别人的思想,可以促进双方的共同进步。 7、包装自己。看到一篇篇用心写出的文章,自然是对自己知识技能的最好宣传。 1.3 系统开发的目标该系统以ASP为开发技术
15、,使用Macromedia Dreamweaver 8+IIS平台,结合HTML Web页面、脚本和ActiveX组件建立或执行动态的、交互的Web服务器应用程序,采用SQL Server 2005数据库,实现对个人博客系统的动态管理,方便了博客数据信息的及时更新,提高了系统性能。 个人博客系统包括前台及相应的后台界面。根据前后台功能划分,系统大致分为下面六个模块:注册模块:注册时会检查用户名和密码是否合法,用户名不合法则提示出错原因。登陆模块:登陆时检查用户名和密码,不匹配时提示登录失败,成功后登录到主页面。浏览文章模块:有文章目录列表。 文章管理模块:用户可添加、修改、删除文章。评论管理模
16、块:可以提交评论,用户也有删除评论的权限。系统管理模块:系统管理员可通过后台删除博客账号和文章。管理员通过前台页面进入后台管理模块后,可对注册的博客用户进行维护,包括对注册用户的添加、查找、修改和删除。管理员进入登录后,可对帐户进行管理,包括添加管理员帐户、修改管理员帐户、删除管理员帐户和对帐户进行权限设置。博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片、和相关人员进行交流和沟通以及删除访问者发表的评论等。1.4 系统相关技术及开发工具介绍1.4.1 ASP技术概论Microsoft Active Server Pages 即我们所称的ASP,其实是一
17、套微软开发的服务器端脚本环境,ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了Active Server Pages 所独具的一些特点:1、使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
18、 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语
19、言来设计外,还通过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+ 、COB
20、OL等编程语言来编写你所需要的ActiveX Server Component。1.4.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文件并将结果显示出
21、来。 图1.1 ASP工作原理1.4.3 ODBC技术ODBC的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据ODBC的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的DBMS采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。 这同时也就是数据库驱动的思想,它很类似于Windows中打印驱动的思想。在Windows中,用户安装不同的打印驱动程序,使用同样一条打印语句或操作,就可很容易地实现在不同打印机上打印输出,而不需要了解内部的具体原理。ODBC出现以后,用户安装不同的DBMS驱动就可用同样的SQL语句实现在不同DBMS上进行同样的
22、操作,而且无需预编译。ODBC带来了数据库连接方式的变革。在传统方式中,开发人员要熟悉多个DBMS及其API,一旦DBMS端出现变动,则往往导致用户端系统重新编建或者源代码的修改,这给开发和维护工作带来了很大困难。在ODBC方式中,不管底层网络环境如何,也无论采用何种DBMS,用户在程序中都使用同一套标准代码,无需逐个了解各DBMS及其API的特点,源程序不因底层的变化而重新编建或修改,从而减轻了开发维护的工作量,缩短了开发周期。ODBC具有以下灵活的特点: 1、使用户程序有很高的互操作性,相同的目标代码适用于不同的DBMS。 2、由于ODBC的开放性,它为程序集成提供了便利,为客户机/服务器
23、结构提供了技术支持。1.4.4 硬件设备及操作系统为了满足系统开发设计的需要,表1.1为实现系统设计开发对硬件要求的最低配置,建议使用当前中等或以上计算机配置。表1.1 硬件要求配置表CPU要求在P以上内存256MB及其以上硬盘20GB及其以上光驱无要求软驱无要求显示器无要求其他计算机设备网卡等联网设备1.4.5 系统开发平台电脑配置:DELL电脑 CPU:P3 2.53 内存:2G 硬盘:320G操作系统:Microsoft Windows7旗舰版数据库:SQL Server 2005 开发平台:Macromedia Dreamweaver 8+IIS平台1.5 研究方法介绍本系统采用软件工
24、程中的生存周期方法进行设计。1、需求分析通过该需求分析的方法确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。经过需求分析确定对系统的综合要求从系统的功能、性能、运行、以及将来可能提出的问题进行需求分析。必要时运用需求分析的软件工具验证需求分析。2、总体设计总体设计采用软件工程最基本的总体设计方法也称为概要设计或初步设计,首先主要工作是通过这个设计阶段的工作划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等。其次进入总体设计的第二阶段是设计软件的结构,也就是要确定系统中每个程序是由那些模块组成的,以及这些模块相互间的关系。具体过程是首先设想供选择的方案,其
25、次选取合理的方案、再次推荐最佳方案,之后进行功能分解、设计软件结构、数据库设计、制定相应的测试计划最终完成总体设计。3、详细设计详细设计阶段的目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对系统的精确描述,从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写程序。主要采用结构程序设计的方法,采用自顶向下逐步求精的设计方法和单入单出的控制结构。应用详细设计的工具程序流程图,绘制程序流程图进行详细设计,确定程序流程图从而完成详细设计。4、软件测试与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组
26、成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:l 模块测试:在这个测试步骤中所发现的往往是编码和详细设计的错误。l 子系统测试:这个步骤着重测试模块的接口。l 系统测试:在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。l 验收测试:在这个测试步骤中发现的往往是系统需求说明书中的错误。5、运行与维护l 可执行程序正确性维护:该系统为web服务,可执行程序即为网页,如出现错误则可重新连接。l 数据库文件正确性维护:系统提供数据库备份功能,可以进行备份还原。l 系统配置文件正确性维护:系统配之文件如出现错误,则以原有默认模式取代当前出错
27、配置文件。40第二章 系统分析第二章 系统分析2.1 可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。1、 经济可行性。经济可行性主要是对项目的经济效益进行评价。本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力
28、、物力、财力资源,所以本系统在经济上是可行的。2、 技术上的可行性。技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是ASP(Active Sever Pages)进行开发,前台网页设计使用的是Macromedia Dreamweaver 8,而数据库系统采用的是SQL Server 2005。通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。3、 时机可行性。时机可行性是分析系统开发时机是否成熟。目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的
29、设计具有时机可行性。4、 管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便校友信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。 综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。2.2 需求分析在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。2.2.1 管理员登录在调研中了解到,用户想要使用
30、系统,首先要有一个友好的用户注册界面,其次,用户需要经历登录验证过程,只有合法的拥有管理员身份的用户才可以使用系统中的管理功能,这样做可以防止非法用户登录并使用本系统,妨害数据安全。用户登录。通过系统登录验证,用户成功进入系统并开始使用其中功能。2.2.2 文章管理文章管理是用户所有文章的信息,用户可以进入此处进行相关文章的管理。这部分主要包括以下方面:1、 文章信息显示。显示出所有文章的大概信息。2、 发表新文章。可以发表新的文章。3、删除文章。允许用户对文章信息进行删除操作。2.2.3 系统信息管理系统开始运行之后,随着时间的变化会有想要更改系统的相关信息的要求,比如:修改博客的个人头像,
31、爱好,最难忘的事等等,因此需要提供信息修改的功能。2.3 数据分析博客系统中,主要是管理用户的文章、留言、系统信息等数据。数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是系统实现分析的起点。现通过数据流图的方式分析系统中数据的流动和处理。对系统的管理员,在登录系统后,本系统接受管理员的修改、添加、删除请求,通过分析将这种请求转化成相应的SQL语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。系统接收到数据库返回的结果集,经过一定的分析处理,将其转化成ASP页面,返回到客户端显示给用户。2.4 数据流图2.4.1 博客整体结构示意图如图2.1:管理员用户登录信息修改操作增加
32、操作相应结果返回Blog系统服务器浏览者提供数据浏览请求图2.1 博客整体结构示意图2.4.2 博客文章细节示意图如图2.2:图2.2 博客文章细节示意图第三章 数据库设计第三章 数据库设计3.1 数据库技术概述数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。近年来推出的计算机关系数据库管理系统,还具有操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强等诸多优点。总的来说,数据库的设计对系统的经济性、功能性和效
33、率有很大的影响,一个好的数据库,要求在设计时尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。数据库设计时速度与空间在范式上是相互矛盾的。一方面按规范化理论的要求,关系模式应尽量取高级范式,尤其对记录数较多的关系,低级范式将会造成存储的大量重复,是空间遭受严重浪费;另一方面从存取速度上考虑,应该尽量做到一个模式涉及的属性越多越好,相互运算越少越好,这样,又应取低级范式。因此我们在设计数据库时要严格地探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。经过综合的评价和分析后设计出的数据库应满足以下要求:1、 数据库信息要能充分体现出用户使用系统的需求。 2、 能够支持用户对数
34、据进行的所有处理。3、 能够容易被数据库管理系统运行维护。4、 数据一致性、完整性好,无更新异常。3.2 数据库选择本系统所采用的数据库是 SQL Server2005。 SQL(Structured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select
35、, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。 3.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。根据博客的使用情况的不同,可以采用SQL Server 2005数据库,SQL Server 2005便于安装。博客系统中各个表的设计结果如下面图表所示。每个表格表示在数据库中的一个表。 表3.1 Users注册用户表Users注册用户表,用来记录用户信息。表3.2 AddUser表AddUser表记添加用户。
36、表3.3 AddrizhiMessage博文信息表AddrizhiMessage博文信息表,发表博文的信息存储。表3.4 Comments文章评论表Comments文章评论表,记录文章的所有评论。表3.5 liuyan文章表liuyan文章表,记录用户书写的所有留言。3.4 数据库的完整性和安全性3.4.1 数据库的完整性约束数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。数据库的完整性约束主要包括以下三方面要求:1、实体完整性实体完整性是指若属性A是
37、基本关系R的主属性,则属性A不能取空值。对于每个表来说,主键都不可以为空。在用户提交信息时,系统会对用户所填写的信息进行验证,对于其中的关键信息没有填写或者数据非法时,系统会提示用户更改后再提交。这样保证了系统实体完整性。2、参照完整性由于表和表之间会存在某些联系,当关系R和关系S之间是一对多关系时(R的主键是A,S的主键是b,c是s中的外码),在插入数据时就要保证外码c的值或者为空或者等于R中某个元组的主码值。在对被参照表进行删除操作时应同时进行及联删除。3、用户定义完整性任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特
38、殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某个属性的取值范围等。3.4.2 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,同时又为许多用户直接共享,是宝贵的信息资源,因此系统的安全保护措施就显得更为重要。键全的数据库安全机制可以防止数据库被恶意的破坏和非法的存取。本系统的安全设计包括服务器和数据库两方面设计。当用户使用系统时,系统首先会检查用户是否登录,如果用户还没有登录,系统将会弹出警告窗口提醒用户,并将相应的页
39、面跳转至用户登录。在用户提交登录信息后,系统会对用户的身份进行核对,如果在数据库中查找到了相关记录,打开用户页面,表明用户登录成功。对于数据库的安全,主要是通过对授权用户的身份验证实现的。在的系统管理页面,提示用户使用管理员帐号在此登录,没有管理权限的系统注册用户无法登录到数据库管理的后台。系统确认了管理员身份之后统会打开管理页面,系统管理者可在此对整个系统的数据库进行管理和维护。第四章 系统设计第四章 系统设计对博客系统进行系统分析、数据库设计之后,本章将主要介绍系统各功能模块的设计及其实现。软件所实现的功能强弱是衡量一个软件的最根本的标准。通过对系统的全面分析并结合调研的情况,确定了本系统
40、的功能模块图。本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。4.1 系统总体设计本系统数据库采用SQL Sever 2005 ,Web服务器采用IIS 。4.2 公用模块的编写4.2.1 数据库连接文件为了操作数据库方便,把连接数据库、查询、更新、插入、关闭连接等数据库操作都写在一个公用文件web.config中,这样其他页面引入这个页面,就可以调用数据库操作方法,操作数据库了,这样便于提高程序的重用性。4.2.2 用户登录和注销把判定用户登录和注销的程序写在首页Default.asp中。当用户在首爷输入用户名和密码请求登录时,先从数据库查询该用户的用户名
41、和密码是否正确,如果正确则把该用户的用户名和密码,写入用户Cookie,这样其他页面如果需要用户登录才能访问,只需要从Cookie取用户的用户名,如果能取得,则说明用户已经登录,否则用户未登录。当然用Cookie记录用户登录是有风险的,最好用Session记录。注销只需要设置记录用户的Cookie过期就可以了。4.3 客户界面的设计与实现界面模块化,可以提高代码的重用性,能为编程提供很大便利,节省开发时间,提高开发效率。4.3.1 界面头设计 (1)设计思想为了体现简洁明快的风格,界面头不打算用很复杂的动画图片,顶部直接安排一个导航栏,让用户可以在首页、个人资料、博文、评论、博文管理、评论管理
42、等模块之间方便的切换。(2)效果预览按上面的设计思想,经过一番美工的润饰,设计出的界面头的效果如图4.1所示。图4.1 界面头4.3.2 界面尾设计界面尾部,一般声明一些版权信息,是否有ISP登记,联系信息等,本博客只需声明一下版权就可以了。图4.2 界面尾4.3.3 首页设计与实现首页是一个网站的窗口,长久留住一个用户靠网站强大的功能和丰富的内容,要想吸引用户,首页的设计精美和人性化也是重要的因素。首先是给浏览者留下的第一印象。所以设计要精美;首页是网站的导航图,所以设计要人性化,重点层次突出。设计思想:首页直接引入前面设计的公用模块的界面头和尾。首页左边给出浏览者一个清晰的导航。在右边用户
43、能登录/注册、最新更新的博文列表、评论,在左边显示最新更新的博文信息。 博客最核心的是文章,所以正文右边给出一块很大空间,用以展示最新书写的几篇文章的标题和内容概要,用户单击博文标签,能进入查看该文章的详细内容。图4.3为首页效果图4.3 首页4.3.4 “文章评论”功能模块设计在展现文章页面的末尾,提供接口供浏览者针对该文章发表评论,技术实现非常简单,就是提供发表评论标题和评论内容的文本框,让读者输入评论标题和内容,当读者单击提交按钮的时候,把评论标题和内容保存到数据库。4.4管理界面设计4.4.1 “添加文章”功能模块通过“添加文章”功能模块用户能设置文章标题,选择文章所属分类,填写文章概
44、要和文章内容,对应的页面是图4.5 发表文章4.4.2 “文章管理”功能模块“文章管理”功能模块主要显示当前用户所写的所有文章,并能修改或者删除现有文章,图4.6为效果图图4.6 日志管理4.4.3 “评论管理”功能模块图4.7 评论管理4.4.4 “基本设置”功能模块用户可能需要为自己的博客设置非常有个性的标题、LOGO图标或者发表一个有个性的公告显示在首页等,为此需要为用户提供一个界面,方便用户进行这些个性化设置。图4.8 个人资料第五章 系统测试第五章 系统测试5.1 测试目的程序测试就是在程序投入运行前,对程序的需求分析、设计规格说明和编码的最终复审,是保证程序质量的关键步骤。如果要给
45、程序测试下定义,可以这样讲,程序测试是为了发现错误而执行程序的过程。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。编程人员力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。5.2 测试方法程序测试的主要方法分为两大类,白盒测试和黑盒测试。白盒测试:也称结构测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否