免费预览已结束,剩余42页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文 基于架构的博客管理系统Blog Management System Based on Asp.Net Architecture姓 名: 学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师:教授 年 月 摘要博客,作为伴随着互联网发展而产生的重要产物,已经成为今日网络人类重要的生活方式之一。或许现在,博客已经不像过去几年那么火热,但作为今日诸多网站不可缺少的附属部分,它依然有其存在的意义。本论文主要阐述一个博客系统的建设及其后台操作过程和一些关键技术。该博客系统以为开发技术,以C#为开发语言,其开发工具为SQL Server 2005 + Microsoft Visual Studio 2008。本系统的开发遵循“放眼于系统,按功能分快”的原则,巧妙地将一个完整的博客网站的开发过程分解成各个模块,然后逐一的实现各个功能模块,最后把所有的模块连在一起就构成了一个完整的博客系统。本博客系统主要实现了博客的几个通用功能:发表日志,上传图片,管理博客,阅读博客,发表评论等等, 此外还可以对客户提供一些个性化设置,比如说可以设置博客的外观等。关键词:博客;ASP.NET;SQL Server 2005AbstractBlog, along with the development of the Internet, as a result of an important product of todays network, has become an important way of life. Perhaps it is not so hot as it has been over the past few years, but today as an indispensable part of a number of sites, it still has its own significance.In this paper, it introduces how to build a blog system, some key technologies and the main process of the blog system. The blog system takes ASP.NET as the development technology, uses C# as the development language, its development environment for SQL Server 2005 + Microsoft Visual Studio 2008, The development of the system follows the principle, System is divided into blocks according to the functions, divides a complete blog site into the process of each module, then realizes each of the various function modules, finally put all the modules linked together to constitute a complete blog system. The blog system mainly develop a few common functions: Log published, upload pictures, manage blog, read blog, comment, etc.Key words: Blog; ASP.NET; SQL Server 2005目录第一章引言1第二章系统相关技术概述22.1 简介22.2 MVC设计模式52.3 SQL Server 20058第三章系统总体设计113.1 系统概述及功能113.1.1 开发背景113.1.2 总体目标113.1.3 功能需求123.1.4 非功能需求133.3系统架构和模块划分143.4软、硬件配置15第四章系统详细设计164.1系统框架设计164.1.1框架结构图164.1.2 数据访问层164.1.3 逻辑组件层184.1.4 表示层204.2 数据库设计224.3 数据库的连接与操作的实现28第五章系统测试及运行结果345.1 测试目的和方法345.2 测试工作345.2.1 文章列表显示测试345.2.2 文章详细内容显示测试345.2.3 用户注册和登录测试355.2.4 文章管理测试355.2.5 评论管理测试36第六章总结37致谢38参考文献39ContentChapter 1Introduction1Chapter 2System related technologies outline22.1 Introduction22.2 MVC design pattern52.3 SQL Server 20058Chapter 3 System overall design113.1 System profiler and function113.1.1 Development background113.1.2 Overall objective113.1.3 Functional requirements123.1.4 Non-functional requirements133.3 System architecture and module division143.4 Software and hardware configuration15Chapter 4System detail design164.1 System profiler and function164.1.1 Framework and structural graph164.1.2 Data Access Layer164.1.3 Logic component layer184.1.4 Presentation Layer204.2 Database design224.3 Database connection and operation28Chapter 5System testing and the running results345.1 Testing purposes and methods345.2 Test345.2.1 ArticleList display testing345.2.2 The content of article display testing345.2.3 Register and login testing355.2.4 Article management testing355.2.5 Comment management testing36第六章Summarize37Acknowledgement38References39基于A架构的博客管理系统第一章引言互联网是当今信息产业发展的热点之一,它以人们始料不及的惊人速度向前发展至今,全世界已没有人能够知道互联网的确切规模。而它的蓬勃发展给全世界带来了非同寻常的机遇,对于它的有效开发和充分利用,已经成为社会和经济发展的重要推动力和取得经济发展的重要生产要素,随之而来的一系列新产业,新事物,正在逐渐的改变着人们的生产方式、工作方式、生活方式和学习方式。博客正是随着互联网的发展而形成的重要产物之一。它以率真、野性、无保留、富于思想而奇怪的方式提供无拘无束的言论。它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、链接、影音、图片建立起个性化的网络世界。通过博客,人们从读者变成了作者,将自己学习经历,生活经历分享出来,实现了让自己学的更多,让别人也学的更多的目标。总而言之,博客就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。过去数年来,博客的发展已经由新兴产业的兴旺发达转化为日趋平淡,今日的博客已经像路边小摊一般随处可见。无论是新浪,网易,搜狐等大型门户网站,还是一些中小型商业网站,都可以见到博客的身影。可以说,博客,作为一种人与人之间的信息交流平台,已经成了网络人类不可或缺的生活方式之一。本课题所研究的博客系统就是可以让用户零成本、较少维护地创建自己的网络媒体,并且能够实现博客的通用功能。第二章系统相关技术概述2.1 简介ASP.NET 1是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。ASP.NET 包括:l 页和控件框架l ASP.NET 编译器l 安全基础结构l 状态管理功能l 应用程序配置l 运行状况监视和性能功能l 调试支持l XML Web services 框架l 可扩展的宿主环境和应用程序生命周期管理l 可扩展的设计器环境(1)页和控件框架ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。ASP.NET 页和控件框架还提供各种功能,以便通过主题和外观来控制网站的整体外观和感觉。除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。(2)ASP.NET 编译器ASP.NET 编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 ASP.NET 宿主环境可以使用该程序集来处理用户请求。此外通过编译的代码,可提供强类型、性能优化和早期绑定以及其他优点。(3)安全基础结构除了 .NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由 IIS 提供的 Windows 身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使用 Windows 组或您自己的自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。 (4)状态管理功能ASP.NET 提供了内部状态管理功能,它使您能够存储页请求期间的信息,例如客户信息或购物车的内容。您可以保存和管理应用程序特定、会话特定、页特定、用户特定和开发人员定义的信息。此信息可以独立于页上的任何控件。ASP.NET 提供了分布式状态功能,使您能够管理一台计算机或数台计算机上同一应用程序的多个实例的状态信息。(5)应用程序配置通过 ASP.NET 应用程序使用的配置系统,可以定义 Web 服务器、网站或单个应用程序的配置设置。您可以在部署 ASP.NET 应用程序时定义配置设置,并且可以随时添加或修订配置设置,且对运行的 Web 应用程序和服务器具有最小的影响。ASP.NET 配置设置存储在基于 XML 的文件中。由于这些 XML 文件是 ASCII 文本文件,因此对 Web 应用程序进行配置更改比较简单。您可以扩展配置方案,使其符合自己的要求。(6)运行状况监视和性能功能ASP.NET 包括可监视 ASP.NET 应用程序的运行状况和性能的功能。使用ASP.NET 运行状况监视可以报告关键事件,这些关键事件提供有关应用程序的运行状况和错误情况的信息。这些事件显示诊断和监视特征的组合,并在记录哪些事件以及如何记录事件等方面提供了高度的灵活性。ASP.NET 支持两组可供应用程序访问的性能计数器:ASP.NET 系统性能计数器组ASP.NET 应用程序性能计数器组(7)调试支持ASP.NET 利用运行库调试基础结构来提供跨语言和跨计算机调试支持。可以调试托管和非托管对象,以及公共语言运行库和脚本语言支持的所有语言。此外,ASP.NET 页框架提供使您可以将检测消息插入 ASP.NET 网页的跟踪模式。(8)XML Web services 框架ASP.NET 支持 XML Web services。XML Web services 是包含业务功能的组件,利用该业务功能,应用程序可以使用 HTTP 和 XML 消息等标准跨越防火墙交换信息。XML Web services 不用依靠特定的组件技术或对象调用约定。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问 XML Web services。(9)可扩展的宿主环境和应用程序生命周期管理ASP.NET 包括一个可扩展的宿主环境,该环境控制应用程序的生命周期,即从用户首次访问此应用程序中的资源(例如页)到应用程序关闭这一期间。虽然 ASP.NET 依赖作为应用程序宿主的 Web 服务器 (IIS),但 ASP.NET 自身也提供了许多宿主功能。通过 ASP.NET 的基础结构,您可以响应应用程序事件并创建自定义 HTTP 处理程序和 HTTP 模块。(10)可扩展的设计器环境ASP.NET 中提供了对创建 Web 服务器控件设计器(用于可视化设计工具,例如 Visual Studio)的增强支持。使用设计器可以为控件生成设计时用户界面,这样开发人员可以在可视化设计工具中配置控件的属性和内容。最近微软推出了.NET 3.5,与过去相比,它为基于Web的开发和设计,带来了巨大的功能性变化,使创建标准Web程序比以前更容易。它在运行时包含ASP.NET AJAX,并且增加了一些新的控件,增强了对CSS、JavaScript和其他内容的支持。 1. 使用AJAX2,开发人员可以快速的创建灵活多变、快速响应的用户界面,而实现这些功能,只需要在页面中添加相应的几个服务器控件, 以前AJAX 只是ASP.NET运行时的一个扩展,现在它被集成在.NET平台上,而且能够完成更负责的跨平台任务,这使创建标准的AJAX 应用程序变得更简单。 2. .NET 3.5提供了一些新的控件以更好的完成开发任务。比如:新增加了一个数据绑定控件ListView,并为之专门提供了一个数据分页控件DataPager,从而提高了数据的加载和显示效果3。2.2 MVC设计模式在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。4微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层,如图2-1所示。图2-1 MVC三层构架图数据访问层:有时候也称为持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关。如果涉及到数据库的访问,则调用数据访问层。表示层:是系统的UI部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。而 Pet Shop 4.0 则不完全按照这三层架构。它的系统架构如图2-2所示。图2-2 Pet Shop 4.0 构架图可以看见,在数据访问层中,完全采用了“面向接口编程”思想。抽象出来的IDAL模块,脱离了与具体数据库的依赖,从而使得整个数据访问层利于数据库迁移。DALFactory模块专门管理DAL对象的创建,便于业务逻辑层访问。SQLServerDAL和OracleDAL模块均实现IDAL模块的接口,其中包含的逻辑就是对数据库的Select,Insert,Update和Delete操作。此外,抽象出来的IDAL模块,除了解除了向下的依赖之外,对于其上的业务逻辑层,同样仅存在弱依赖关系,如图2-3所示。图2-3 依赖关系图BLL层是业务逻辑层的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,而必须通过数据访问层。注意数据访问业务的调用,是通过接口模块IDAL来完成的,与具体的数据访问逻辑无关,所以层与层之间的关系就是松散耦合的。但是,由于核心的业务逻辑都放到了一个模块BLL中,并没有将具体的实现和抽象严格的按照模块分开。所以表示层和业务逻辑层之间的调用关系,其耦合度相对较高。本博客系统就是仿照Pet Shop 4.0来进行系统架构,将整个系统分成:表示层,BLL层,DAL Factory层,IDAL层, SQLServerDAL层,Model层。2.3 SQL Server 2005SQL Server5 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。SQL Server 2005 为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2005 为不同规模的企业提供了一个完整的数据解决方案。图2-4显示了SQL Server 2005数据平台的组成架构。图2-4 SQL Server 2005组成架构图SQL Server 数据平台包括以下工具:1) 关系型数据库: 安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(XML)数据。 2) 复制服务: 数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的Oracle数据库等。 3) 通知服务: 用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。 4) 集成服务: 可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。 5) 分析服务: 联机分析处理(OLAP)功能可用于多维存储的大量、复杂的数据集的快速高级分析。 6) 报表服务: 全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。 7) 管理工具: SQL Server 包含的集成管理工具可用于高级数据库管理和调谐,它也和其他微软工具,如MOM和SMS紧密集成在一起。标准数据访问协议大大减少了SQL Server和现有系统间数据集成所花的时间。此外,构建于SQL Server内的内嵌Web service支持确保了和其他应用及平台的互操作能力。 8) 开发工具: SQL Server 为数据库引擎、数据抽取、转换和装载(ETL)、数据挖掘、OLAP和报表提供了和Microsoft Visual Studio 相集成的开发工具,以实现端到端的应用程序开发能力。SQL Server中每个主要的子系统都有自己的对象模型和API,能够以任何方式将数据系统扩展到不同的商业环境中。 SQL Server 2005 数据平台为不同规模的组织提供了以下好处: 1) 充分利用数据资产: 除了为业务线和分析应用程序提供一个安全可靠的数据库之外,SQL Server 2005也使用户能够通过嵌入的功能,如报表、分析和数据挖掘等从他们的数据中得到更多的价值。 2) 提高生产力: 通过全面的商业智能功能,和熟悉的微软Office系统之类的工具集成,SQL Server 2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。SQL Server 2005目标是将商业智能扩展到组织内的所有用户,并且最终允许组织内所有级别的用户能够基于他们最有价值的资产数据来做出更好的决策。 3) 减少IT复杂度: SQL Server 2005 简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。 4) 更低的总体拥有成本 (TCO): 对产品易用性和部署上的关注以及集成的工具提供了工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。 4040第三章系统总体设计3.1 系统概述及功能3.1.1 开发背景随着互联网的迅速发展,新产业,新事物的不断更新,出现,博客的发展也进入了一个稳定期。博客是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。它的存在已经成为网络不可缺少的一部分,成为今日人们网络生活极为重要的一部分。其实博客就是一些网页的集合7,它通常是由简短且经常更新的帖子(Post)所构成。博客的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。许多博客记录着博主个人所见、所闻、所想,还有一些则是一群人基于某个特定主题或共同利益的集体创作。博客存在的方式,一般分为三种类型:一是托管博客,无须自己注 册域名、租用空间和编制网页,博客们只要去免费注册申请即可拥有自己的博客空间;二是自建独立网站的博客,有自己的域名、空间和页面风格;三是附属博客,将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址)。这三类之间可以演变,甚至可以兼得,一人拥有多种博客网站。 目前进行网站开发的语言很多,如ASP、PHP、 JSP、ASP.NET等。对于一个中小型的网站来说,ASP.NET无疑是很好的选择,可以快速开发强大的Web应用程序。本系统就是如此,以ASP.NET技术为基础,实现了博客系统的典型功能。3.1.2 总体目标博客系统开发的目标是提供一个网络用户之间进行在线交流的网络平台,通过个人博客可以结交更多的朋友,表达更多的想法。具体的要求如下:1. 实现博客的基本功能。2. 提供美观、时尚、易用、个性化的用户界面。3. 提供部分多媒体支持,如音乐,视频或者flash动画等。4. 提供多语言支持(简体,繁体,英文)。5. 维护简单,方便,快捷。6. 可扩展性3.1.3 功能需求该博客系统有三种角色,一是游客,二是注册用户(博主),三是博客系统平台的管理者。从用户的角度看,该博客系统的功能可以分为:1. 游客的功能有:阅读日志,发表评论,注册博客。(1)阅读日志:系统提供了查询文章功能,游客可根据文章的标题、摘要、内容(任意部分)、类型、文章的作者等相关信息查找文章。阅读文章内容,查看文章的详细信息,并发表文章评论。(2)发表评论:查看文章详细信息后即可发表对该文章的评论。系统将录入评论的详细信息:发表评论的昵称(非注册用户均为“游客”,注册用户为该用户所填资料的昵称)、评论的内容、评论时间。(3)注册博客:任何游客均可提出申请2.注册用户(博主)的功能有:发表文章,管理文章,管理文章评论等(1)发表文章:系统提供了文章发表功能,可以将文章标题、摘要、标签、发表时间、发表文章作者ID录入数据库。(2)管理文章:用户管理文章的功能主要为修改和删除。系统将用户文章的基本信息显示出来,既可在查看文章详细信息之后,执行修改和删除操作,又可直接对文章基本信息执行删除操作。修改文章信息即修改文章的标题、摘要、内容、类型;删除操作,将文章的相关信息从数据库删除。(3)管理文章评论:用户管理文章评论的功能是删除评论。系统将用户文章的基本信息显示出来,按不同的文章管理文章评论。根据文章编号,显示文章的评论信息,用户按自己的意愿删除评论,即从数据库里完全删除该条评论的相关信息。(4)阅读日志,发表评论的功能与游客相同。(5)可以自定义博客的外观。3.管理员的功能有:管理站内的用户、文章、评论和管理站内公告。(1)管理用户。管理员对用户管理操作即为删除。系统提供搜索功能,管理员可以通过用户登录名、真实姓名、出生年月等定位到具体用户。执行删除操作,即将用户的注册信息、基本信息、联系方式等完全从数据库删除。删除之后,该管理员用户则 和普通用户一样。但是,他所发表的文章仍然存在数据库中。(2)管理文章。管理员对文章的管理操作为删除。系统提供搜索功能,管理员可通过文章标题、摘要、内容(任意匹配)、类型、作者查询具体文章,然后执行操作。管理操作一旦执行,该文章所对应相关信息就从数据库里删除。管理员对文章的管理,还包括对文章类型的管理,即添加和删除文章类型。(3)管理文章评论。管理员对评论管理直接操作数据库表,系统显示所有评论相关信息,根据需要删除评论信息。(4)管理公告。管理员根据网站的需要添加和删除网站内公告。3.1.4 非功能需求该博客系统需要满足一定的非功能性需求。1. 安全性:由于该系统采用了BS架构,可以通过互联网来对它进行访问。所以为了防止系统被恶意攻击,必须采用一定的用户身份验证措施来保证信息安全。当注册用户或者管理员登陆系统时,需要判断用户的合法性。如果合法,就根据用户权限分配给其相应权利,否则系统返回登录界面,并进行相应提示。另外为了防止注入式攻击,必须限制某些格式的字符串输入。2. 方便性:系统的界面必须清晰明了,使得用户使用方便,不能因界面花哨而使用户产生恶感,从而不利于博客的推广使用。3. 个性化:由于博客系统是为个人提供的展示平台,所以必须为用户提供足够多的个性化设置。4. 兼容性:必须能够适应尽量多的web浏览器。5. 执行效率:当有大量用户访问网站时,必须保证网站能流畅的响应用户请求。3.3 系统架构和模块划分本系统的架构参照了的经典案例:pet shop 4.0。整个系统的架构设计如图3-1所示。Web UIBLL层数据层DAL FactoryInterface DALSQL DAL数据库MODEL OBJECT图3-1 博客系统构架图该系统按功能划分模块,可以分成:用户管理模块,文章管理模块,公告管理模块,评论管理模块,文章分类管理模块,功能模块加载管理,公告管理模块,搜索引擎模块。1. 用户管理模块:包括用户登陆,注册,修改用户信息以及管理员删除用户。2. 文章管理模块:包括文章发表,修改和删除。3. 评论管理模块:包括评论发表,和删除。4. 功能模块加载:决定例如日历,公告等功能模块的加载与否和显示顺序。5. 搜索引擎模块:可以根据关键字搜索博客文章。系统功能模块划分如图3-2所示。Blog System博客首页文章列表显示及评论首页功能模块搜索引擎公告模块分类模块时间分类模块日历模块博客系统管理员界面注册用户界面用户账号管理文章管理网站公告管理用户信息管理文章管理评论管理图3-2 博客系统模块划分3.4 软、硬件配置为了能够运行这一软件,我们的电脑需要满足一定的软硬件配置,如下:首先,你的电脑必须安装有IIS,另外,需要安装的软件有SQL Server 2005和Visio Studio 2008。至于电脑的硬件配置则需要能满足以上软件安装的配置要求即可。第四章系统详细设计4.1 系统框架设计上一章中,已经对博客系统的框架设计作了一些介绍,本节将对它进行更为详尽的阐述。4.1.1框架结构图图4-1 系统构架图4.1.2 数据访问层数据访问层一共有四个项目,分别是DALFactory项目;IDAL项目;SQLServerDAL项目;DBUtility项目。1. DALFactory项目如图4-2所示,DALFactory项目中包括一个密封类DataAccess.cs,该类供业务逻辑层的业务实体调用,利用.NET的反射技术,将SQLServerDAL层定义的各个业务实体的数据访问类实例化成对象,然后进行相关的业务操作。图4-2 DAL Factory层2. IDAL项目IDAL项目定义了各个业务实体数据访问层中的接口,每个业务实体对应一个接口类,各接口类如图4-3所示。图4-3 IDAL层2. SQLServerDAL项目SQLServerDAL项目是实现了IDAL接口项目的项目,对应IDAL项目中的各个接口类,它都有一个类实现接口方法对数据库进行相应的操作,如图4-4所示。图4-4 DAL层4. DBUtility项目DBUtility项目是一个通用的数据库访问项目,它实现了对数据库的各种操作方法,即数据库的查询,增加,删除和修改等操作。如图4-5所示,它只有一个类SQLHelper.cs,它被用于访问SQL Server数据库。图4-5 DBUtility层4.1.3 逻辑组件层逻辑组件层一共有两个项目,一是Model项目,二是BLL项目。1. Model项目如图4-6所示,Model项目包括了所有的业务实体类,在这些实体类中,定义了对应的属性,字段和一些常规操作。图4-6 Model层2. BLL项目BLL项目是业务的逻辑组件的核心项目。在业务处理的时候,表示层需要通过调用BLL层的方法才能对业务进行相应操作,它的业务类如图4-7所示。图4-7 BLL层4.1.4 表示层表示层由一个Web项目组成,该项目中包含了表示层需要展现给用户的页面,控件以及页面逻辑处理。以下是本博客系统一些主要的页面展示:1. 博客首页,如图4-8所示。图4-8 博客首页2. 发表日志,如图4-9所示。图4-9 发表日志3. 发表评论,如图4-10所示。图4-10 发表评论4. 注册用户登陆后的界面展示,如图4-11所示。图4-11 登陆后界面显示4.2 数据库设计系统数据库的设计图如下所示:图4-12 数据库关系图本系统的数据库采用的是SQL Server 2005,数据库中总共创建了12张数据表:用户表Users,文章表Article,评论表ArticleComment,角色表Role以及其他一些辅助表。(1)用户表User存放用户的固定信息,包括登录账号,登陆密码,电子邮件等信息。其详细信息如表4-1所示。表4-1:用户表User字段名称数据结构说明IDint自增字段,主键LoginIDvarchar(20)登陆账号,同时可以用于初始化博客空间账号Login Passwordvarchar(10)密码Namevarchar(20)姓名,昵称Emailvarchar(20)邮件地址BlogIDint博客账户ID,与Blog表关联(2)用户详细信息表UserDetails存放用户的详细可变信息,包括姓名,性别,年龄,住址,电话等信息。其详细信息如表4-2所示。表4-2:用户详细信息表UserDetails字段名称数据结构说明LoginIDvarchar(20)主键,与User表关联 Namevarchar(20)姓名,昵称Ageint年龄Sexvarchar(10)性别Picturevarchar(100)头像Birthdaydatetime生日Phonevarchar(20)电话Addressvarchar(50)地址Zipvarchar(20)邮编(3)角色表Role存放角色信息,创建不同的角色来控制用户的行为。详细信息如表4-3所示。表4-3:用户角色表Role字段名称数据结构说明IDint自增字段,主键RoleNamevarchar(20)角色名RoleDescriptionvarchar(100)角色描述(4)关联表UserRole详细信息如表4-4所示。表4-4:关联表UserRole字段名称数据结构说明IDint自增字段,主键UserIDint用户ID,与User表关联。UserID与RoleID是多对多关系。RoleIDint角色ID,与Role表关联。(5)博客信息表Blog存放博客的相关信息,比如博客名,博客描述等等,用户表通过BlogID与该表关联,详细信息如表4-5所示。表4-5:博客信息表Blog字段名称数据结构说明IDint自增字段,主键BlogNamevarchar(20)博客名BlogDescriptionvarchar(50)博客描述(6)文章表Article存放文章的相关信息,详细信息如表4-6所示。表4-6:文章表Article字段名称数据结构说明IDint自增字段,主键UserIDvarchar(20)用户ID,与User表关联Titlevarchar(50)文章标题Contenttext文章内容Labelvarchar(20)标签,存放文章的关键字。UploadTimedatetime文章上传时间(7)文章评论表ArticleComment该表记录每篇文章的相关评论,详细信息如表4-7所示。表4-7:文章评论表ArticleComment字段名称数据结构说明IDint自增字段,主键UserIDvarchar(20)用户ID,与User表关联。ArticleIDint文章ID,与Article表关联。Titlevarchar(50)评论标题ArticleContenttext评论内容NickNamevarchar(50)评论者昵称CreateTimedatetime评论创建时间(8)文章版本表ArticleVersion该表记录每一篇文章的版本信息,用户可以查看一篇文章的所有版本记录,也可以恢复到之前的版本,详细信息如表4-8所示。表4-8:文章版本表ArticleVersion字段名称数据结构说明IDint自增字段,主键ArticleIDint文章ID,与Article表关联。Titlevarchar(50)版本标题。Contenttext旧版文章内容VersionTimedatetime版本创建时间(9)文章分类表Groups该表存放用户定义的文章分类信息,用户可以为自己的博客空间文章分门别类,以便用户查找自己感兴趣的内容,详细信息如表4-9所示。表4-9:文章分类表Groups字段名称数据结构说明IDint自增字段,主键UserIDvarchar(20)用户IDGroupNamevarchar(50)文章分组名称(10)关联表ArticleGroup用于关联文章表和文章分类表,ArticleID与GroupID是多对多的关系,一篇文章可以对应多个Group,一个Group内也可以有多篇文章,详细信息如表4-10所示。表4-10:关联表ArticleGroup字段名称数据结构说明IDint自增字段,主键ArticleIDint文章ID,与Article表关联。GroupIDint文章分组ID,与Groups表关联。(11)博客栏目表Modules该表存放了每个博客用户的博客空间应该具有的栏目,这些栏目不一定显示,由用户来配置他们显示与否,以及显示顺序,详细信息如表4-11所示。表4-11:博客栏目表Modules字段名称数据结构说明ModuleNamevarchar(50)主键,栏目名ModuleTypeint栏目类型ModuleTitlevarchar(50)栏目标题ModuleContenttext栏目内容(12)栏目关联表ModuleView该表用于关联Modules表和User表,以确定每个用户具有哪些栏目,详细信息如表4-12所示。表4-12:栏目关联表ModuleView字段名称数据结构说明IDint自增字段,主键UserIDvarchar(20)用户ID,与User表相关联。ModuleNamevarchar(50)栏目名,与Modules表相关联。isDisplayint标记栏目是否显示在用户博客中。Sequenceint在显示栏目的情况下,标记栏目的显示顺序。4.3 数据库的连接与操作的实现数据库的连接首先需要配置Web.config文件,需要在其中加上如下代码:当用户在网站进行相应操作时,网页的后台代码将调用BLL层的方法,BLL层则通过数据访问层的方法调用来操作数据库,获得所需要的数据,或是进行查询,插入,删除,修改等数据库操作。举个具体例子,在注册用户(博主)的管理页面,发表文章,其网页的后台代码将调用如下方法。protected void submitImgBtn_Click(object sender, ImageClickEventArgs e) BLL.Article article = new BLL.Article();article.submitArticle(SessionuserID.ToString(), this.tbTitle.Text, this.WebEditor.Text, this.tbTag.Text, DateTime.Now); 对应的BLL层方法为:public class Article public void submitArticle(string l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常州春江路施工方案(3篇)
- 无主快递营销方案(3篇)
- 松滋楼板加固施工方案(3篇)
- 正餐店营销方案(3篇)
- 泥瓦工简单施工方案(3篇)
- 湖南小区洗车施工方案(3篇)
- 砖墙墙体加固施工方案(3篇)
- 粉色的营销方案(3篇)
- 芒果茶营销方案(3篇)
- 营销直播方案范文(3篇)
- 2025年高中思想政治教师资格考试学科知识与教学能力试题及解答参考
- 2024江苏盐城盐都区广播电视台招聘6人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 抵制宗教向校园渗透课件
- 学术道德与学术规范的关系
- 土石坝施工-碾压土石坝施工(水利工程施工课件)
- DL/T 5457-2012 变电站建筑结构设计技术规程
- 2023储能电站系统全面解析
- 学而思教育薪酬绩效管理制度
- 2022年丽江文化旅游学院教师招聘考试笔试试题及答案
- 2022年锦州市三支一扶考试真题
- 山西省交口县地方国营硫铁矿资源开发利用方案和矿山环境保护与土地复垦方案
评论
0/150
提交评论