个人博客系统毕业设计论文11741143

(此文档为word 格式,下载后您可任意编辑修改!) 你如果认识从前的我,也许会原谅现在的我。

摘 要

随着Internet 的广泛应用

动态网页技术也应运而生

本文介绍了应用ASP 动态网页技术开发博客系统的设计与实现

博客系统主要为用户提供发表文章、浏览文章等功能

用户通过Internet 可以发表一些自己撰写的文章以和其他网友进行交流

博客系统主要实现了文章管理的数字化、信息化、智能化

是打破传统报刊、杂志发表文章方式的新尝试

本系统的开发设计实现采用ASP 技术

系统后台使用SQL Server 2008数据库

并通过使用ODBC 技术访问

本文对博客系统进行整体分析

明确了系统的可行性和用户需求;根据模块化原理

规划设计了系统功能模块;在数据库设计部分

详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想

提出系统的程序设计思路

对前台与后台功能的程序实现进行了详细论述;系统测试部分

具体分析测试过程中出现的主要问题

并提出了解决方案

实现系统功能

最后

对系统作以客观、全面的评价

并对进一步改进提出了建议

关键字:博客ASP SQL Server 2008 ODBC

目 录

1 系统概述 3

1.1项目背景 3

1.2系统开发的意义 4

1.2.1发布想法 4

1.2.2博客的用途 4

1.3 系统开发的目标 5

1.3.1任何拥有博客的人都可以做到 5

1.3.2 访问博客系统的人

可以做到 5

1.4系统概述 5

1.5 系统的开发方法 6

2 系统分析 8

2.1 可行性分析 8

2.2 需求分析 8

2.2.1 管理员登录 8

2.2.2 文章管理 9

2.2.3 系统信息管理 9

2.3 系统的主要技术分析 9

2.3.1 ASP技术概论 9

2.3.2 ASP工作原理 10

2.3.3 ODBC技术 10

2.3.4 硬件设备及操作系统 11

2.3.5 系统开发平台 11

2.4 数据分析 11

2.5 数据流图 12

3 数据库设计 13

3.1 数据库技术概述 13

3.2 数据库选择 13

3.3数据库逻辑结构设计 13

3.4 数据库的完整性和安全性 15

3.4.1 数据库的完整性约束 15

3.4.2 数据库的安全性 16

4 系统设计 17

4.1系统总体设计 17

4.2公用模块的编写 17

4.2.1数据库连接文件 17

4.2.2用户登录和注销 17

4.3客户界面的设计与实现 17

4.3.1 界面头设计 17

4.3.2 界面尾设计 18

4.3.3首页设计与实现 18

4.3.4用户注册模块设计 19

4.3.5" 文章评论" 功能模块设计 20

4.4管理界面设计 20

4.4.1" 添加文章" 功能模块 20

4.4.2" 文章管理" 功能模块 21

4.4.3" 评论管理" 功能模块 21

4.4.4" 基本设置" 功能模块 22

5 系统测试 22

5.1 测试目的 22

5.2 测试方法 22

5.3测试实例 23

5.3.1 后台管理权限测试 23

5.3.2 前台文章显示测试 23

5.3.3 前台显示文章详细内容测试 24

5.3.4 管理员登陆 24

5.3.6 文章管理 25

5.3.7 系统信息管理 26

总 结 27

致 谢 28

参考文献 29

附 录 30

1 系统概述

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

博客存在的方式

一般分为三种类型:一是托管博客

无须自己注册域名、租用空间和编制网页

博客们只要去免费注册申请即可拥有自己的博客空间

是最" 多快好省" 的方式

如英文的、wordpress 及多种语言的博客室(blogates)等都提供这样的服务;二是自建独立网站的博客

有自己的域名、空间和页面风格

需要一定的条件

如方兴东建立的" 博客中国" 站();三是附属博客

将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址) 这三类之间可以演变

甚至可以兼得

一人拥有多种博客网站

目前进行网站开发的语言很多

如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

微软云计算架构迈入重要里程碑;助力移动与嵌入式装置开发

三屏一云商机无限; 实践当前最热门的 AgileScrum 开发方法

强化团队竞争力;升级的软件测试功能及工具

为软件质量严格把关; 搭配 Windows 7

Silverlight 4 与 Office

发挥多核并行运算威力

创建美感与效能并重的新一代软件; 支持最新C++标准

增强IDE

切实提高程序员开发效率

2. 本系统的后台数据库采用SQL Server 2008

SQL Server 2008是一个重大的产品版本

它推出了许多新的特性和关键的改进

使得它成为至今为止的最强大和最全面的SQL Server版本

这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能...... 在现今数据的世界里

公司要获得成功和不断发展

他们需要定位主要的数据趋势的愿景

微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求 微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能

SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序

同时降低了管理数据基础设施和发送观察和信息给所有用户的成本

这个平台有以下特点:

· 可信任的--使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序

· 高效的--使得公司可以降低开发和管理他们的数据基础设施的时间和成本

· 智能的--提供了一个全面的平台

可以在你的用户需要的时候给他发送观察和信息

2 系统分析

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 2010

2.4 数据分析

博客系统中

主要是管理用户的文章、留言、系统信息等数据

数据的类型决定了程序对数据的处理方式也就是算法

因此

数据是系统实现分析的起点

现通过数据流图的方式分析系统中数据的流动和处理

对系统的管理员

在登录系统后

本系统接受管理员的修改、添加、删除请求

通过分析将这种请求转化成相应的SQL 语句执行对数据库的相关的操作

并将执行的相应结果送回系统中

系统接收到数据库返回的结果集

经过一定的分析处理

将其转化成ASP 页面

返回到客户端显示给用户

2.5 数据流图

博客整体图

文章管理细节图

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 后台管理权限测试

(此文档为word 格式,下载后您可任意编辑修改!) 你如果认识从前的我,也许会原谅现在的我。

摘 要

随着Internet 的广泛应用

动态网页技术也应运而生

本文介绍了应用ASP 动态网页技术开发博客系统的设计与实现

博客系统主要为用户提供发表文章、浏览文章等功能

用户通过Internet 可以发表一些自己撰写的文章以和其他网友进行交流

博客系统主要实现了文章管理的数字化、信息化、智能化

是打破传统报刊、杂志发表文章方式的新尝试

本系统的开发设计实现采用ASP 技术

系统后台使用SQL Server 2008数据库

并通过使用ODBC 技术访问

本文对博客系统进行整体分析

明确了系统的可行性和用户需求;根据模块化原理

规划设计了系统功能模块;在数据库设计部分

详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想

提出系统的程序设计思路

对前台与后台功能的程序实现进行了详细论述;系统测试部分

具体分析测试过程中出现的主要问题

并提出了解决方案

实现系统功能

最后

对系统作以客观、全面的评价

并对进一步改进提出了建议

关键字:博客ASP SQL Server 2008 ODBC

目 录

1 系统概述 3

1.1项目背景 3

1.2系统开发的意义 4

1.2.1发布想法 4

1.2.2博客的用途 4

1.3 系统开发的目标 5

1.3.1任何拥有博客的人都可以做到 5

1.3.2 访问博客系统的人

可以做到 5

1.4系统概述 5

1.5 系统的开发方法 6

2 系统分析 8

2.1 可行性分析 8

2.2 需求分析 8

2.2.1 管理员登录 8

2.2.2 文章管理 9

2.2.3 系统信息管理 9

2.3 系统的主要技术分析 9

2.3.1 ASP技术概论 9

2.3.2 ASP工作原理 10

2.3.3 ODBC技术 10

2.3.4 硬件设备及操作系统 11

2.3.5 系统开发平台 11

2.4 数据分析 11

2.5 数据流图 12

3 数据库设计 13

3.1 数据库技术概述 13

3.2 数据库选择 13

3.3数据库逻辑结构设计 13

3.4 数据库的完整性和安全性 15

3.4.1 数据库的完整性约束 15

3.4.2 数据库的安全性 16

4 系统设计 17

4.1系统总体设计 17

4.2公用模块的编写 17

4.2.1数据库连接文件 17

4.2.2用户登录和注销 17

4.3客户界面的设计与实现 17

4.3.1 界面头设计 17

4.3.2 界面尾设计 18

4.3.3首页设计与实现 18

4.3.4用户注册模块设计 19

4.3.5" 文章评论" 功能模块设计 20

4.4管理界面设计 20

4.4.1" 添加文章" 功能模块 20

4.4.2" 文章管理" 功能模块 21

4.4.3" 评论管理" 功能模块 21

4.4.4" 基本设置" 功能模块 22

5 系统测试 22

5.1 测试目的 22

5.2 测试方法 22

5.3测试实例 23

5.3.1 后台管理权限测试 23

5.3.2 前台文章显示测试 23

5.3.3 前台显示文章详细内容测试 24

5.3.4 管理员登陆 24

5.3.6 文章管理 25

5.3.7 系统信息管理 26

总 结 27

致 谢 28

参考文献 29

附 录 30

1 系统概述

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

博客存在的方式

一般分为三种类型:一是托管博客

无须自己注册域名、租用空间和编制网页

博客们只要去免费注册申请即可拥有自己的博客空间

是最" 多快好省" 的方式

如英文的、wordpress 及多种语言的博客室(blogates)等都提供这样的服务;二是自建独立网站的博客

有自己的域名、空间和页面风格

需要一定的条件

如方兴东建立的" 博客中国" 站();三是附属博客

将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址) 这三类之间可以演变

甚至可以兼得

一人拥有多种博客网站

目前进行网站开发的语言很多

如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

微软云计算架构迈入重要里程碑;助力移动与嵌入式装置开发

三屏一云商机无限; 实践当前最热门的 AgileScrum 开发方法

强化团队竞争力;升级的软件测试功能及工具

为软件质量严格把关; 搭配 Windows 7

Silverlight 4 与 Office

发挥多核并行运算威力

创建美感与效能并重的新一代软件; 支持最新C++标准

增强IDE

切实提高程序员开发效率

2. 本系统的后台数据库采用SQL Server 2008

SQL Server 2008是一个重大的产品版本

它推出了许多新的特性和关键的改进

使得它成为至今为止的最强大和最全面的SQL Server版本

这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能...... 在现今数据的世界里

公司要获得成功和不断发展

他们需要定位主要的数据趋势的愿景

微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求 微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能

SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序

同时降低了管理数据基础设施和发送观察和信息给所有用户的成本

这个平台有以下特点:

· 可信任的--使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序

· 高效的--使得公司可以降低开发和管理他们的数据基础设施的时间和成本

· 智能的--提供了一个全面的平台

可以在你的用户需要的时候给他发送观察和信息

2 系统分析

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 2010

2.4 数据分析

博客系统中

主要是管理用户的文章、留言、系统信息等数据

数据的类型决定了程序对数据的处理方式也就是算法

因此

数据是系统实现分析的起点

现通过数据流图的方式分析系统中数据的流动和处理

对系统的管理员

在登录系统后

本系统接受管理员的修改、添加、删除请求

通过分析将这种请求转化成相应的SQL 语句执行对数据库的相关的操作

并将执行的相应结果送回系统中

系统接收到数据库返回的结果集

经过一定的分析处理

将其转化成ASP 页面

返回到客户端显示给用户

2.5 数据流图

博客整体图

文章管理细节图

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 后台管理权限测试


相关文章

  • 毕业论文个人博客的设计与实现
  • 本科毕业设计(论文) 题 目: 个人博客的设计与实现 学生姓名: 学号:系(部): 数学与计算机科学 专业:计算机科学与技术 入学时间: 201 年 月 导师姓名: 职称/学位: 导师所在单位: 个人博客的设计与实现 摘 要 个人博客相对于 ...查看


  • 个人博客系统毕业设计论文46282031
  • (此文档为word 格式,下载后您可任意编辑修改!) 摘 要 随着Internet 的广泛应用,动态网页技术也应运而生.本文介绍了应用ASP 动态网页技术开发博客系统的设计与实现. 博客系统主要为用户提供发表文章.浏览文章等功能,用户通过I ...查看


  • 防论文抄袭1
  • 很多即将毕业的学生都在为一件事情发愁,就是自已的论文能否能过抄袭检测, 所以经常打来电话,询问相关的软件问题. 现在提供论文检测的机构主要来源于三大中文期刊数据库,即中国知网论文检测系统,万方论文相似性检测系统,维普通达检测系统. 现在应用 ...查看


  • 论文抄袭检测网站大全
  • 很多即将毕业的学生都在为一件事情发愁,就是自已的论文能否能过抄袭检测, 所以经常打来电话,询问相关的软件问题. 现在提供论文检测的机构主要来源于三大中文期刊数据库,即中国知网论文检测系统,万方论文相似性检测系统,维普通达检测系统. 现在应用 ...查看


  • 本科计算机论文题目
  • 基于asp 语言的测试项目 学生信息管理系统的设计与实现 基于ASP.NET 的社区人口管理系统 基于ASP.NET 的课程教学网站设计 公司会议网站 C#高校工资管理系统 C#在线点歌系统 <数据库原理>精品课程网站设计 教师 ...查看


  • 本科生毕业论文选题
  • 05本科毕业论文选题参考 张梅贞 2008-06-03 1. 网络公关的服务产品和服务策略分析 [综述] 网络媒体的发展极大的丰富了公关和营销的手段.如何利用网络延伸公共关系的新功能,创造公共关系的新价值,成为企业.公关公司和学术界共同关心 ...查看


  • 教育科学研究方法与基本写作规范-教育研究技术-中国教育人博客
  • 教育科学研究方法与基本写作规范 邓猛.赵振州 ■研究的方法是研究的首要问题 对任何一个从事某项研究的研究者而言,至少有两个要素是必须考虑的:其一为研究的方法.研究者在整个研究过程当中需要经常反思自己采用的方法是否能够较好地回答研究的问题?使 ...查看


  • 计算机专业毕业论文题目_大全(1)
  • 目 录 ASP 类计算机专业毕业论文题目.................................................................................................... ...查看


  • 论网络政治参与的发展趋势
  • 2fx)8年2月10日中共福建省委党校学报Journal of Feb.10,2008 第2期(总第328期) Fujian PartySchool No.2(GeneralNo.328) 论网络政治参与的发展趋势 李 斌 750021) ...查看


热门内容