基于C#的Blog博客系统开发与实现Word文件下载.docx
《基于C#的Blog博客系统开发与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于C#的Blog博客系统开发与实现Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
![基于C#的Blog博客系统开发与实现Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/13/f8b8ed11-31a7-46c3-97d1-c1b599ebd180/f8b8ed11-31a7-46c3-97d1-c1b599ebd1801.gif)
7.Logpublished/management
8.Logmessage/management
9.Administratormanagement
【Keywords】Blog;
SQLServer2005.
摘要I
AbstractII
第一章开发工具及工具简介3
1.1数据库的选择3
1.2VisualStudio平台与C#编程语言的介绍3
第二章需求分析3
2.1系统分析3
2.1.1系统项目背景3
2.2项目概述3
2.2.1系统概述3
2.2.2功能概述3
2.3系统功能分析3
2.3.1博客首页功能3
2.3.2博客注册功能3
2.3.3个人主页功能3
2.3.4个人信息管理功能3
2.3.5日志发布浏览功能及留言、评论3
2.3.6上传相片的功能3
第三章数据库设计3
3.1数据库技术的概述3
3.2数据库的选择3
3.3数据库的概念结构设计3
3.3.1实体与属性之间的关系3
3.3.2数据库的E-R图3
3.4数据库逻辑结构设计3
3.4.1用户表dbo.bk_yh3
3.4.2.日志表dbo.bk_rz3
3.4.3.用户分类表dbo.bk_fz3
3.4.4.相册表dbo.bk_album3
3.4.5.照片表dbo.bk_pics3
3.4.6.留言表dbo.bk_comment3
3.4.7.评论表dbo.bk_review3
3.4.8.管理员表dbo.bk_admin3
3.5数据库的完整性和安全性3
3.5.1数据库的完整性约束3
3.5.2数据库的安全性3
第四章系统设计3
4.1博客首页3
4.1.1博客首页(登录)3
4.1.2博客首页实现图3
4.2博客注册页面3
4.3个人主页3
4.4发表博文3
4.5博文浏览3
4.6管理员界面3
第五章系统测试3
5.1测试目的3
5.2测试方法3
5.3测试用例设计3
5.4覆盖分析3
5.5测试结论3
结论3
实现语言及预期运行环境3
谢辞3
参考文献3
附录错误!
未定义书签。
第一章开发工具及工具简介
1.1数据库的选择
SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQLServer2005基于SQLServer2000的强大功能之上,提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来帮助:
•
构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠。
降低开发和支持数据库应用程序的复杂性,实现了IT生产力的最大化。
能够在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统。
在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。
以下将以表格的形式描述SQLServer2005在数据库管理和有关开发的各十个重要特点
⑴数据库管理10个最重要的特点
特点
描述
数据库镜像
通过新数据库镜像方法,将记录档案传送性能进行延伸。
您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。
在线恢复
使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。
在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。
在线检索操作
在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。
例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。
快速恢复
新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。
管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。
安全性能的提高
SQLServer2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。
新的SQLServerManagementStudio
SQLServer2005引入了SQLServerManagementStudio,这是一个新型的统一的管理工具组。
这个工具组将包括一些新的功能,以开发、配置SQLServer数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。
专门的管理员连接
SQLServer2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器。
这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题。
快照隔离
我们将在数据库层面上提供一个新的快照隔离(SI)标准。
通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。
这一功能将为服务器提供更大的可升级性。
数据分割
数据分割将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。
增强复制功能
对于分布式数据库而言,SQLServer2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQLServer的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。
另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。
⑵开发方面的10个最重要的特点
.NET框架主机
使用SQLServer2005,开发人员通过使用相似的语言,例如微软的VisualC#.NET和微软的VisualBasic,将能够创立数据库对象。
开发人员还将能够建立两个新的对象——用户定义的类和集合。
XML技术
在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。
SQLServer2005将会自身支持存储和查询可扩展标记语言文件。
ADO.NET2.0版本
从对SQL类的新的支持,到多活动结果集(MARS),SQLServer2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。
增强的安全性
SQLServer2005中的新安全模式将用户和对象分开,提供fine-grainaccess存取、并允许对数据存取进行更大的控制。
另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。
Transact-SQL的增强性能
SQLServer2005为开发可升级的数据库应用软件,提供了新的语言功能。
这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等。
SQL服务中介
SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。
通告服务
通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。
在SQLServer2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQLServerManagementStudio。
Web服务
使用SQLServer2005,开发人员将能够在数据库层开发Web服务,将SQLServer当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。
报表服务
利用SQLServer2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。
全文搜索功能的增强
SQLSERVER2005将支持丰富的全文应用软件。
服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。
查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。
1.2VisualStudio平台与C#编程语言的介绍
⑴VisualStudio
VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。
VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。
另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术。
⑵C#编程语言
C#(读做"
Csharp"
,中文译音暂时没有.专业人士一般读"
,现在很多非专业一般读"
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#,VisualBasic,"
ManagedC++"
--C++的一个符合CLS的版本--等语言编写的程序)将在性能上超过"
解释性的"
Java代码.当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布.但是JavaJIT编译器的普遍存在使得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语言子类化.
索引下标
一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的.
publicclassListBox:
Control
{
privatestring[]items;
publicstringthis[intindex]
get
returnitems[index];
}
set
items[index]=value;
Repaint();
可以用一个循环器来匿名引用字符串内部数组成员,就象下面这样:
ListBoxlistBox=...;
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功能概述
10.网站首页功能
11.注册、登陆功能
12.个人信息管理功能
13.系统管理功能
14.相册分类管理功能
15.日志浏览功能
16.日志发布和管理功能
17.日志留言和管理功能
(图)
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数据库的选择
本系统是采用SQLServer2005数据库关系系统
SQLServer2005数据引擎是本企业数据管理解决方案的核心。
此外SQLServer2005结合了分析、报表、集成和通知功能。
这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域。
与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包(包括BusinessIntelligenceDevelopmentStudio)的紧密集成使SQLServer2005与众不同。
无论您是开发人员、数据库管理员、信息工作者还是决策者,SQLServer2005都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
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数据库逻