个人博客系统设计与实现

摘要

Blog的全名应该是Web log,中文意思是“网络日志”,后来缩写为Blog,而博客(Blogger)就是写Blog的人。从理解上讲,博客是“一种表达个人思想、网络链接、内容,按照时间顺序排列,并且不断更新的出版方式”。

本系统通过使用Visual Studio 开发平台中集成C#语言开发的,数据库使用的是微软SQL Server 2005。本系统所完成的功能主要有以下几方面:

  1. 网站首页功能
  2. 注册、登陆功能
  3. 个人信息管理功能
  4. 系统管理功能
  5. 相册分类管理功能
  6. 日志浏览功能
  7. 日志发布和管理功能
  8. 日志留言和管理功能
  9. 管理员管理功能

【关键词】博客;Visual C# 2005 ;SQL Server 2005。

Abstract

Blog full name should be the Web log, in Chinese means "Web log", later known as Blog, the blog (Blogger) who is writing Blog. From the understanding of speaking, the blog is "a personal expression of ideas, network links, content, are arranged in chronological order, and constantly update the publication of way."

 This system is developed by using Visual Studio 20005 in C# integration platform development, database using Microsoft SQL Server 2005. Basically has the following functions:

  1. Home Page
  2. Log in /registered
  3. Personal information management
  4. System management
  5. Photo management
  6. Log browsing
  7. Log published/management
  8. Log message/management
  9. Administrator management

 【Keywords】Blog;Visual C# 2005 ;SQL Server 2005.

摘要

Abstract

第一章 开发工具及工具简介

1.1数据库的选择

1.2Visual Studio 平台与C#编程语言的介绍

第二章 需求分析

2.1 系统分析

2.1.1 系统项目背景

2.2项目概述

2.2.1系统概述

2.2.2功能概述

2.3系统功能分析

2.3.1博客首页功能

2.3.2 博客注册功能

2.3.3个人主页功能

2.3.4个人信息管理功能

2.3.5日志发布浏览功能及留言评论

2.3.6上传相片的功能

第三章 数据库设计

3.1数据库技术的概述

3.2数据库的选择

3.3数据库的概念结构设计

3.3.1 实体与属性之间的关系

3.3.2数据库的E-R

3.4数据库逻辑结构设计

3.4 .1用户表 dbo.bk_yh

3.4.2.日志表 dbo.bk_rz

3.4.3.用户分类表 dbo.bk_fz

3.4.4.相册表 dbo.bk_album

3.4.5.照片表 dbo.bk_pics

3.4.6.留言表dbo.bk_comment

3.4.7.评论表 dbo.bk_review

3.4.8.管理员表 dbo.bk_admin

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

3.5.1数据库的完整性约束

3.5.2数据库的安全性

第四章 系统设计

4.1博客首页

4.1.1博客首页(登录)

4.1.2博客首页实现图

4.2博客注册页面

4.3个人主页

4.4发表博文

4.5博文浏览

4.6管理员界面

第五章 系统测试

5.1测试目的

5.2测试方法

5.3测试用例设计

5.4覆盖分析

5.5测试结论

结论

实现语言及预期运行环境

谢辞

参考文献

附录

第一章 开发工具及工具简介

1.1数据库的选择

   SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 基于 SQL Server 2000 的强大功能之上,提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来帮助:

构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠。

降低开发和支持数据库应用程序的复杂性,实现了 IT 生产力的最大化。

能够在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统。

在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。

以下将以表格的形式描述SQL Server 2005 在数据库管理和有关开发的各十个重要特点

数据库管理10个最重要的特点

特点

描述

数据库镜像

通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。

在线恢复

使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。

在线检索操作

在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。

快速恢复

新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。

安全性能的提高

SQL Server 2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。

新的SQL Server Management Studio

SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。

专门的管理员连接

SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器。这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题。

快照隔离

我们将在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。

数据分割

数据分割 将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。

增强复制功能

对于分布式数据库而言,SQL Server 2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQL Server的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。

开发方面的10个最重要的特点

特点

描述

.NET 框架主机

使用SQL Server 2005,开发人员通过使用相似的语言,例如微软的Visual C# .NET和微软的Visual Basic,将能够创立数据库对象。开发人员还将能够建立两个新的对象——用户定义的类和集合。

XML 技术

在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server 2005将会自身支持存储和查询可扩展标记语言文件。

ADO.NET 2.0 版本

从对SQL类的新的支持,到多活动结果集(MARS),SQL Server 2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。

增强的安全性

SQL Server 2005中的新安全模式将用户和对象分开,提供fine-grain access存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。

Transact-SQL 的增强性能

SQL Server 2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT, APPLY, ROW_NUMBER和其他数据列排行功能,等等。

SQL 服务中介

SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。

通告服务

通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在SQL Server 2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQL Server Management Studio。

Web服务

使用SQL Server 2005,开发人员将能够在数据库层开发Web服务,将SQL Server当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。

报表服务

利用SQL Server 2005, 报表服务可以提供报表控制,可以通过Visual Studio 2005发行。

全文搜索功能的增强

SQL SERVER 2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。

1.2Visual Studio 平台与C#编程语言的介绍

 ⑴Visual Studio

Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。

⑵C#编程语言

    C#(读做 "C sharp",中文译音暂时没有.专业人士一般读"C sharp",现在很多非专业一般读"C井"。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

  并且C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。

微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."

C#独有的特点

C#最引人入胜的地方是它和Java的不同,而不是相似的地方.这一节(和这个系列第二部分的大部分地方)讲述了C#实现的和Java不同的地方或者Java根本没有的特点.

中间代码


   微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地.微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码.它也明白许多--如果不是大多数的话--程序员认为Java程序要不可避免的比C编写的任何东西都要慢.而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,"Managed C++"--C++的一个符合CLS的版本--等语言编写的程序)将在性能上超过"解释性的"Java代码.当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布.但是Java JIT编译器的普遍存在使得Java和C#在性能上相对相同.象"C#是编译语言而Java是解释性的,"之类的声明只是商业技巧.Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码.

命名空间中的申明


   当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类.同在这个命名空间里(在类的外面)你还有可能声明接口,枚举类型和结构体.必须使用using关键字来引用其他命名空间的内容.

基本的数据类型


C#拥有比C,C++或者Java更广泛的数据类型.这些类型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一样,所有这些类型都有一个固定的大小.又象C和C++一样,每个数据类型都有有符号和无符号两种类型.与Java相同的是,一个字符变量包含的是一个16位的Unicode字符.C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字.

两个基本类


   一个名叫object的类是所有其他类的基类.而一个名叫string的类也象object一样是这个语言的一部分.作为语言的一部分存在意味着编译器有可能使用它--无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它.

参数传递


   方法可以被声明接受可变数目的参数.缺省的参数传递方法是对基本数据类型进行值传递.ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值.out关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值.

与COM的集成


C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术.实际上,最终有可能在任何.NET语言里编写COM客户和服务器端.C#编写的类可以子类化一个以存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件.这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用用任何.NET语言子类化.

索引下标


   一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的.

public class ListBox: Control

{

private string[] items;

public string this[int index]

{

get

{

return items[index];

}

set

{

items[index] = value;

Repaint();

}

}

}

  可以用一个循环器来匿名引用字符串内部数组成员,就象下面这样:

ListBox listBox = ...;

listBox[0] = "hello";

Console.WriteLine(listBox[0]);

代理和反馈


   一个代理对象包括了访问一个特定对象的特定方法所需的信息.只要把它当成一个聪明的方法指针就行了.代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用.一个反馈方法是代理的特例.event关键字用在将在事件发生的时候被当成代理调用的方法声明.

第二章 需求分析

2.1 系统分析

编写本说明书是为了准确定义出博客系统的开发需求,便于和本项目的任务提出者沟通交流后,确认需求,也使项目的设计和开发人员了解开发本系统的目的。明确所要开发的软件应具有的功能、性能与界面,使软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作

2.1.1 系统项目背景

     我们是在福州大学计算机系组织下,模拟在公司中的实际软件发现流程。

旨在:

1. 熟悉软件开发团队工作流程和工作方式;

2. 熟悉实际项目分析、设计、开发、测试、提升等完整流程,熟悉企业各类文档模板,并按照这些魔棒撰写项目文档;

3. 熟练使用各类开发工具、数据库设计工具、系统设计工具、项目管理工具和缺陷管理工具;熟练使用常用服务器软件安装、配置和开发;

4. 熟练掌握.NET,并灵活运用到项目中;

5. 熟练账目.NET架构,能独立设计挖成企业中小型解决方案;

6. 掌握企业发开常用的建模工具和设计模式;

7. 养成良好的表达、沟通和团队协作能力,掌握快速学习方法,培养良好的分析问题和解决问题能力。

2.2项目概述

2.2.1系统概述

系统目标是使同学之间有一个交流和沟通的平台,通过博客系统互相了解彼此的生活状况,发布日志相册等问题的解决。锻炼我们所学的编程能力。

2.2.2功能概述

  1. 网站首页功能
  2. 注册、登陆功能
  3. 个人信息管理功能
  4. 系统管理功能
  5. 相册分类管理功能
  6. 日志浏览功能
  7. 日志发布和管理功能
  8. 日志留言和管理功能

(图)

2.3系统功能分析

2.3.1博客首页功能

博客首页提供 热门博客、热门博文、分栏选择、登陆(分别有管理员登陆和用户登陆)、注册链接,显示最新注册用户。

2.3.2 博客注册功能

个人博客系统能够提供用户注册的功能。、

2.3.3个人主页功能

   个人博客系统提供个人主页空间,该空间提供了博客主人所写日志所传相册的所有链接功能。用户可以修改自己的头像等。

2.3.4个人信息管理功能

    个人博客系统提供用户修改个人信息的功能

2.3.5日志发布浏览功能及留言评论

个人博客系统能够提供日志发布管理的功能以及提供日志、相册、相片的留言功能。

2.3.6上传相片的功能 

    个人博客系统提供照片上传功能和删除相片的功能。

第三章 数据库设计

 数据库设计的优劣直接关系到项目系统的成败,一个好的数据库设计方案可以有效的提高系统的效率,高效快捷的组织数据管理,而且方便的系统维护。

3.1数据库技术的概述

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

     总的来说,数据库的设计对系统的经济性,功能性和效率有很大的影响,一个号的数据库,要求在设计是尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。数据库设计是速度与空间在范式上市相互矛盾的。一方面按规范化理论的要求关系模式应尽量取高级范式,尤其对记录数较多的关系,低范式将会造成存储的大量重复,使空间遭受严重浪费;另一方面从存取速度上考虑,应该尽量做到一个模式涉及的属性越多越好,相互运算越少越好,这样,由应取低级范式。因此我们在设计数据库是要严格地探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。经过综合的评价和分析后设计出数据库应满足以下要求:

  1. 数据库信息要能充分体现出用户使用系统的需求。
  2. 能够支持用户对数据进行的所有处理。
  3. 能够容易被数据库管理系统运行维护。
  4. 数据一致性、完整性好 、无更新异常。

3.2数据库的选择

本系统是采用SQL Server 2005 数据库关系系统

   SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。

  与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。

3.3数据库的概念结构设计

3.3.1 实体与属性之间的关系

      E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。

  1. 模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称表中在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系类型。
  2. 属性是事态的性质。用椭圆框表示,与实体之间用一条线相连接表的主码是关键属性,关键属性项加下划线。
  3. 各子系统模块中主键相同的字段之间存在着相互关联的关系。
  4. 在程序中实现对他们的完整性和一致性控制。

3.3.2数据库的E-R图

     (1)博客系统整体E-R图 如图所示:

         

(2)博客系统文章实体E-R图:

    

3.4数据库逻辑结构设计

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

   博客系统中各个表的设计结果如下面表格所示。每个表格表示在数据库中的一个表。

3.4 .1用户表 dbo.bk_yh

本表记录用户信息相册和日志功能必须是注册用户才能使用,所以需要此表。

字段意义

字段名

字段类型

备注

用户id

User_id

int

用户的id,系统自动生成,是主键

用户名

User_name

Varchar(20)

用户的名称

用户密码

User_password

Varchar(20)

用户密码

用户注册时间

User_regtime

datetime

用户注册时间

用户性别

User_sex

int

分别是 0,1,2 分别代表是 保密,男,女

用户生日

User_birthday

datetime

用户的出生日期

用户文章数

User_articleCount

int

计算用户发表的文章数,默认为零

用户的留言数

User_commentCount

int

用户的留言数,用户每次给别人留言都记录下来

用户被浏览数

User_byviewedCount

int

用户被浏览数

用户分组

Use_groupID

int

用户所属的分组

用户的qq号码

User_QQ

Varchar(15)

用户的qq号码,可允许为空

用户的email

User_email

Varchar(20)

可以为空

用户头像

User_face

text

头像图片的路径

3.4.2.日志表 dbo.bk_rz  

本表储存了日志的所有信息,并且对应用户表中的用户的ID。  

字段意义

字段名

字段类型

备注

日志ID

log_id

int

日志的id,主键

日志标题

Log_title

Varchar(50)

日志发表时间

Log_time

Datetime

日志发表作者的id

Log_authorID

int

日志评论数

Log_commentCount

int

日志浏览数

Log_viewCount

int

日志属性

Log_attribute

int

公开(0) 隐藏(1)

日志分类

Log_categoryID

int

日志分类id

日志内容

Log_content

text

日志URL

Log_url

text

3.4.3.用户分类表 dbo.bk_fz  

本表划分了系统使用这的类别,为权限级别进行分类和统计。

字段意义

字段名

字段类型

备注

分组ID

Group_id

int

分组名

Group_name

Varchar(50)

分组权限

Group_rights

int

3.4.4.相册表 dbo.bk_album

·该表记录了相册的基本信息。

字段意义

字段名

字段类型

备注

相册ID

Album_id

int

相册Id

相册名称

Album_name

Varchar(20)

用户id

Albu_user_id

int

3.4.5.照片表 dbo.bk_pics

该表储存了照片的信息包括所属相册,和相册表中的相册ID相关联。

字段意义

字段名

字段类型

备注

照片ID

Pic_id

int

照片所属相册

Pic_blbum_id

int

照片名称

Pic_name

Vachar(20)

照片url

Pic_url

text

3.4.6.留言表dbo.bk_comment

留言表储存了所有的留言,

 字段意义

字段名

字段类型

备注

留言ID

Comment_id

int

留言Id

留言者id

Comment_user_id

int

留言时间

Comment_time

datetime

留言内容

Comment_content

text

留言属性

Comment_attribute

int

0代表公开 1 代表隐藏

留言针对的用户id

Comment_to_user_id

int

3.4.7.评论表 dbo.bk_review

评论表储存了所有日志的留言和用户表中的ID有关联

字段意义

字段名

字段类型

备注

评论id

Review_id

int

评论属性

Review_attribute

int

0公开,1隐藏

日志id

Review_log_id

int

评论时间

Review_log_time

datetime

评论者id

Review_user_id

int

评论内容

Review_content

text

3.4.8.管理员表 dbo.bk_admin

字段意义

字段名

字段类型

备注

管理员ID

Admin_id

int

Id为00

管理员名

Admin_name

Varchar(20)

管理员密码

Admin_password

Varchar(20)

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

3.5.1数据库的完整性约束

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

  1. 实体完整性

实体完整性是指若属性A是基本关系R的主属性,则属性A不能取空值。对于每个表来说,主键都不可以为空。在用户提交信息是,系统会对用户所填写的信息进行验证,对于其中的关键信息没有填写或者数据非法时,系统会提示用户更改后再提交。这样保证了系统实体的完整性。

  1. 参照完整性

由于表和表之间会存在某些联系,当关系R和关系S之间是一对多关系时,在插入数据时就要保证外码C的值或者为空或者等于R中某个元组的主码值。在对被参照表进行删除操作时应同时进行及联删除。

  1. 用户自定义完整性

任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。列入某个属性必须取唯一值,某个属性的取值范围等。

3.5.2数据库的安全性

     数据库的安全性事指保护数据库以防止不合法的使用所造成的数据泄漏,更改或者被破坏。在数据库系统中,大量的数据集中存放,同时又为许多用户之间共享,是宝贵的信息资源,因此系统的安全保护措施就是显得更为重要。健全的数据库安全机制可以防止数据库被恶意的破坏和非法的存取。

     本系统的安全设计包括服务器和数据库两方面设计。当用户使用系统时,系统首先会检查用户是否登录,如果用户还没有登录,系统将会弹出警告窗口提醒用户,并将相应的页面跳转至用户登录。在用户提交登录信息后,系统会对用户的身份进行核对,如果在数据库中查找到了相关记录,打开用户页面,表面用户登录成功。对于数据库的安全,主要是通过对授权用户的身份验证实现的。在系统管理页面,提示用户使用管理员账号在此登录,没有管理权限的系统注册用户无法登录到数据库管理的后台。系统确认了管理员身份之后会打开管理页面,系统管理者可在此对整个系统的数据库进行管理和维护。

第四章 系统设计

      对博客系统进行系统分析,数据库设计之后,本章将主要介绍系统各功能模块的设计及实现。

      

      以下将介绍系统各个页面设计的模块图以及页面实现图。

4.1博客首页

4.1.1博客首页(登录)

4.1.2博客首页实现图

 1.概述

博客主页通过各类模块组合展示了用户需要的各种信息:

用户,最新注册用户,推荐博文,博文排行,博文分类显示,友情链接。

2.页面介绍

   

2.1顶部导航模块

由博客系统的logo,用户数统计,博文数统计,登录栏,时钟组成

登录栏有用户输入框,密码输入框,确认登录按钮,注册按钮以及管理员登录按钮组成

2.2个人资料栏

在用户登陆后,时钟下方的空白处会出现个人档案栏。由个人头像以及进入个人主页按钮组成,点击“进入个人主页”后,页面会切换到用户的个人主页中。

2.3博文分类显示栏

2.4友情链接

4.2博客注册页面

1、概述

在首页点击注册按键即可跳转至注册页面,用户填写各类资料后即可注册,拥有自己的博客账号。

2、页面介绍

2.1注册

用户名,密码,密码确认为必填项。其他均为选填。

用户名可以任意字符,密码即密码确认为除汉字外所有字符。

性别在选框中选择男/女

生日必须输入XXXX-XX-XX的格式。

输入内容各种正确的话,点击注册按钮即可注册成功。不正确会弹出错误提示框,返回重新输入。点击取消即回到博客首页。

4.3个人主页

 1、概述

个人博客首页通过各类模块组合展示了此用户的各种信息:

个人资料,博文,相册,留言

2、页面介绍

2.1顶部导航模块:

    固定版块内容。

栏目左侧显示博主的名字,右侧有返回博客首页的按钮,根据用户登录情况显示。未登录时空白:登陆后显示退出博客按钮。

2.2用户基本信息:

显示用户的头像。点击更改头像按钮即可修改头像。

文字显示用户的博客名,注册时间,性别,出生日期,邮箱。

2.3博文列表

右侧有发表博文按钮,点击进入发表文章页面。

表格显示博文标题,发表时间,作者,评论次数,浏览次数。

2.4相册

标题栏有上传按钮

下方框体内以缩略图的形式显示用户上传的照片,点击图片下方的删除按钮即可删除用户不需要的图片。

点击标题栏的上传按钮后会出现地址栏和浏览…(路径选择),上传(确认上传)以及取消按钮。

2.5留言

留言栏显示用户给博主的留言以及博主的回复

有用户的头像,文字显示用户的用户名,留言时间,以及留言内容。

博主可以点击删除按钮删除留言

4.4发表博文

1、概述

发表文章,撰写正文组成。

2、页面介绍

2.1发表文章

添加文章标题,选择日志类型,选择日志属性。

2.2撰写正文

编写文章内容

2.3控制按键

有提交(确认提交日志),返回(返回个人首页),清空(刷新页面)按钮。

4.5博文浏览

1、概述

显示用户的头像,基本资料,博文内容,以及用户评论。

2、页面介绍

2.1顶部导航模块:

博客首页,个人首页按钮,点击即可跳转进入对应页面。

2.2博文及评论

分栏显示博文以及评论

显示用户头像,用户名,评论时间及内容。用户可以点击评论下方的“删除”按钮来删除评论。

2.2发表评论

用户可以在评论最下方的发表评论框内输入要发表的评论,之后点击“提交”即可发布评论。

4.6管理员界面

  1. 根据分类将不同类型的博客显示在不同的类型框里面 ,管理员可以对博文 进行删除
  2. 管理员也可以删除用户

第五章 系统测试

5.1测试目的

   程序测试就是在程序投入运行前,对程序的需求分析,设计规格说明和编码的最终复审,是保证程序质量的关键步骤。如果要给程序测试下定义,可以这样讲,程序测试时为了发现错误而执行程序的过程。

   测试的目的就是在软件投入生产性运行之前,尽可能多低发现软件中的错误。在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。编程人员力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。

5.2测试方法

程序测试的主要方法分为两大类,白盒测试和黑盒测试。

白盒测试:也成结构测试,将软件看成一个透明的合作,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。

黑盒测试:也成为功能测试,将软件看做黑盒子,在完全不考虑程序的内部结构和特性情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。

本地通主要采用的是黑盒子测试。

5.3测试用例设计

   测试用例参考附录一。

5.4覆盖分析

   1.测试用例的执行情况

模块

用例个数

执行数

未执行数

未执行/漏测原因

注册

28

28

登录

38

38

留言

39

39

相册

17

17

博文

11

11

管理员

133

133

2.覆盖分析

功能模块

功能名称

页面

是否能运行

备注

主页面

注册

Home

登录

Home

博文列表

Home

日志分类

Home

最新发表日志

Home

最新注册博客

Home

留言

游客留言

Coment

未注册

个人留言

Coment

是注册博客用户

回复

Coment

主任回复

管理员

推荐博客

Admin

删除博客

Admin

删除用户

Admin

用户

写日志

Personalhome

更换头像

Personalhome

用户

发表评论

Personalhome

删除留言

Personalhome

回复

Personalhome

分类日志列表

个人日记

Home

天下杂烩

Home

休息搞笑

Home

影音动漫

Home

日志排行

Home

5.5测试结论

5.1 测试执行足够充分 对博客的安全性能有十足的把握 ,维护人员可以按说明进行博客的维护

5.2 我们的测试风险=0

5.3 测试各个功能都能通过

5.4测试过程中要多好开发人员沟通,对不完善支持可进行完善化

结论

   经过这段时间的努力,在老师的悉心帮助下,我们终于完成了改论文。在此,我要深深感谢我的指导老师和所有帮助,支持过我们的老师,同学们。

   通过此博客系统的开发,做到了理论联系实际,将书本上学到的知识与具体实践充分结合起来,既解决了工作中的一些问题,又进一步明确了开发管理信息系统的方法和思想;既加深了对管理信息系统的认识,又进一步巩固了以前所学的计算机软件开发方面的知识,提高了软件开发水平,从而为今后在实际工作中更好的应用计算机进行信息管理打下了坚实的基础。

   本系统的所完善的功能有:

网站首页功能

注册、登陆功能

个人信息管理功能

系统管理功能

相册分类管理功能

日志浏览功能

日志发布和管理功能

日志留言和管理功能

(图)

实现语言及预期运行环境

建模工具

Visio 建模工具

开发工具

Visual Studio 2005

数据库

SOL Server 2005

谢辞

   在张继红老师的精心指导下完成了本次毕业设计,她丰富的专业知识,博爱的胸怀,谦逊的品质和严谨的细致,一丝不拘的作风是我工作,学习中的榜样:她循循诱导的教导和不拘一格的思路给予我无尽的启迪。通过这短短的几个月的毕业设计环节,我无论在基础理论知识,软件操作技能,还是独立思考问题能力方面都有了很大的进步。

本论文从选题,编程实际到毕业设计整个过程都是在张老师的指导下完成的,再一次向她表示衷心的感谢和诚挚的敬意!

同时也要感谢学校,让我愉快而有意义的度过这三年时间;感谢我的父母,他们给予了我极大的支持和鼓励;另外,还要感谢陪伴我共同走过大学时代并给予我帮助的老师,同学和朋友们,感谢你们,祝福你们在以后的日子里,身体健康,万事如意,马到成功!

参考文献

【1】郁莲 编著 《软件测试方法与实践》 清华大学出版社

【2】郑阿奇 梁敬东 《C#实用教程》 电子工业出版社

【3】张立云编著 《计算机网络基础编程》 清华大学出版社

【4】微软公司著 《Visual C# 2205 程序设计语言》 高等教育出版社

【5】伊增明 《ASP.NET Web 应用开发(C#版)》 机械工业出版社

【6】佟伟光 《软件测试》 人民邮电出版社

【7】张海潘 《软件工程导》清华大学出版社

【8】郝安林等编著 《SQL Server 2005 基础教程与实用指导》 清华大学出版社

附录

附录一 测试用例

   详见本系统测试文档。

附录二 源代码

   详见本系统源程序。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值