《毕业设计论文基于.NET的内容管理系(CMS)设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于.NET的内容管理系(CMS)设计与实现.doc(37页珍藏版)》请在三一办公上搜索。
1、基于.NET的内容管理系统(CMS)设计与实现信息管理与信息系统 2007-2经济管理学院III毕业设计(论文)诚信声明本人郑重声明:所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。就我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写的研究成果,也不包含为获得华东交通大学或其他教育机构的学位或证书所使用过的材料。如在文中涉及抄袭或剽窃行为,本人愿承担由此而造成的一切后果及责任。本人签名_ 导师签名_年 月 日摘要摘 要随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信
2、息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合。于是一套专业的内容管理系统CMS应运而生,来有效解决用户网站建设与信息发布中常见的问题和需求。本系统是针对文章内容设计的一个管理系统,它是一个相对独立的B/S架构的信息管理系统,采用Visual Studio2005 作为开发平台,C#为开发语言,SQL Server作为数据库平台,主要使用SQL语句,DateSet及控制类来实现数据库的操作。使资源得以综合管理。.NET框架是一种新的计算平台,基于.NET框架设计了一套适合小型的网站系
3、统。关键字: 三层架构;B/S结构;.NET;需求分析; SQL2005;目录AbstractWith the enrichment and development of network applications, many sites often do not follow a lot of information quickly and the business model derived from the pace of change often takes a lot of time, manpower and material resources to handle updates
4、and maintenance work; encounter site expansion, when inside and outside the network and integrate the work of the branch site to become more complex, and even construction sites need to be revisited; it goes on, the user is always at a high cost and low efficiency of the cycle upgrade, integration.
5、So a professional content management system CMS came into being to solve the user site building and information dissemination in the common problems and needs. This system is for the content of the article design a management system, which is a relatively independent of the B / S structure informati
6、on management system, using Visual Studio2005 as a development platform, C # as development language, SQL Server as the database platform, primarily using the SQL statement, DateSet and control class to implement the database operation. To the integrated management of resources. . NET Framework is a
7、 new computing platform, based on the. NET Framework design a website suitable for small systems. Keywords:B/S Model;SQLServer2005;.NET;Demand Analysis;目录第一章绪论11.1研究背景11.2主要研究内容1第二章 系统构建相关技术32.1 三层架构介绍32.2 数据库访问技术ADO.NET42.3 ASP.NET技术5第三章 文章内容管理系统(CMS)的分析83.1 系统功能分析83.2文章管理用例分析83.2.1文章内容管理系统(CMS)用例图
8、83.2.2 用例规格说明书8第四章 文章内容管理系统(CMS)的设计134.1 系统总体设计134.1.1 总体功能结构设计134.1.2 总体系统架构设计144.2 数据库及表的设计154.2.1数据库概念结构设计164.2.2 数据库逻辑结构设计174.2.2 数据库表单的设计184.2.3 数据库中关系图的设计20第五章 文章内容管理系统(CMS)的实现225.1 系统的运行环境225.2 系统的实现225.2.1 文章信息后台管理的实现225.2.2 文章的前台显示页面27总 结30参考文献31谢 辞32华东交通大学毕业论文第一章 绪论1.1研究背景在互联网蓬勃发展的今天,网络和我们
9、的生活、工作越来越密不可分,网络正领导着一个新时代的来临。Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在
10、Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。随着文章信息数量的日益增多,新的文章的添加和旧文章的更新,以及文章的删除。在管理上都有很多困难,为了能更加方便和有效的管理文章,因此采用了文章信息化管理,就是建立计算机化的文章内容管理系统(CMS)。在当今各种资源发展迅速,信息量多与变化快,已经使人们意识到对信息进行管理是非常重要的,也是很有价值的。随着无纸化办公的一步步实现,信息的自动处理以及网络式的信息交互方式越来越被人们认可和应用。
11、本文主要通过理论结合实际的方法来研究和开发一个适合本系统的文章内容管理系统。本系统的文章信息是对外公布的,任何人可以进行查看的。在此介绍系统中文章管理的分析与开发过程。1.2主要研究内容本文所设计的基于.net的信息管理系统,采用目前流行的融合了先进成熟的计算机网络、中间件和组件技术的B/S(Browser/Server,浏览器/服务器)的软件架构体系,以Windows 2000为网络操作系统,以微软企业的.NET为开发平台,以ASP.NET和C#为开发语言,以SQL Server 2005为后台数据库。此文章内容管理系统(CMS)全面支持广域网络办公模式,减少了手工管理的工作量。文章内容管理
12、系统(CMS)主要是对实物信息数据化,分析出主要信息的特征然后将它们构建出一个数据库,将所有信息都存储在该数据库中,使得所有资源信息可以利用本系统来浏览、查询及管理。在拥有这些资源的统一管理时,也让不同用户充分共享其中的资源。这样可以很好地将文章管理得井井有条,又节省很多时间。第二章 系统构建相关技术2.1 三层架构介绍根据 Web 应用程序和 ASP.NET 技术的特点,我们利用基于 ASP.NET 技术的三层设计模型来进行 Web 应用程序的开发设计。如图2.1:图2.1:三层架构图(1)表示层(WEB)在表示层中,.NET 是由 ASP.NET Web Forms 来实现的。Web Fo
13、rms 是 CLR(Common Language Runtime,通用语言运行时)的程序模型。基于服务器端的动态页面技术,服务器端可以根据客户端的请求和提交的信息,动态地生成与客户端浏览器类型无关的通用HTML 页面,也可以根据客户端浏览器类型,生成特定的数据表现形式。Web Forms 控件负责生成用户接口,它提出了一种将应用程序代码和用户接口内容分离的更加结构化的方法,使 ASP.NET 网页能动态地编译到受控类中,用以提高性能。每个引入的 HTTP 请求都被传递到一个新的网页实例,开发人员不需要关心代码中的线程安全性。主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强
14、大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。(2)业务逻辑层(BLL)业务逻辑层也叫事务逻辑层或中间层。Bussiness Logical layer,也可说是Bussiness Rule(业务规则),这一层是处理业务逻辑的。这一层包括数据访问子层和业务服务子层。.NET 框架使用ADO.NET 完成对数据库的访问。ADO.NET 技术是一个基于标准的、面向创建的、分布式数据共享应用程序的编程模型。数据访问子层主要解决如何从数据库中提取和保存数据。业务服务子层主要处理一些业务逻辑和业务规则。主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据
15、层是积木,那逻辑层就是对这些积木的搭建。(3)数据访问层(DAL)数据访问层负责实际的数据存储和检索。也叫 DataAccess层、DAL(DataAccess Layer层),这一层的工作就是与数据库或其它文件打交道。主要是对源数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。之所以要使用三层架构,是因为每一层都可以在仅仅更改很少量的代码后,就能放到物理上不同的服务器上使用,因此结构灵活而且性能更佳。此外,每层做些什么其 它层是完全看不到的,因此更改、更新某层,都不再需要重新编译或者更改全部的层
16、了。这是个很强大的功能。例如,如果把数据访问代码与业务逻辑层分离,当数据库服务器更改后,你只需要更改数据访问的代码,因为业务逻辑层是不变的,因此不需要更改或者重新编译业务逻辑层。 三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。2.2 数据库访问技术ADO.NETADO.NET(ADO,ActiveX Data Objects)比现有API(Application Programming Interf
17、ace,应用程序编程接口)在技术上高出很多。它与ADO仅仅是名称类似,但类和访问数据的方法则完全不同。ADO (ActiveX Data Objects)是一个COM组件库,在过去的几年中,这些组件有许多版本。ADO.NET 对象模型中有五个主要的组件,分别是Connection 对象、Command 对象、DataSetCommand、DataSet 以及DataReader。ADO.NET附带了4个数据库客户命名空间,一个用于SQL Server,另一个用于Oracle,第3个用于ODBC(ODBC ,Open Database Connectivity,开放数据库互联)数据源,第四个用于
18、通过OLEDBC(Object Linking and Embedding Database Connection,对象链接与植入数据库连接)实现的数据库。如果数据库不是SQL Server或Oracle,就应使用OLE DB,除非还能使用ODBC。 .NET数据提供者是连接结构的核心组件。在使用了从数据源检索得到的结果(数据)后,.NET数据提供者会再次被用来更新在数据源中的修改,这样,.NET数据提供者就在应用程序和数据源之间起到了桥梁的作用。.NET数据提供者由4个核心组件构成:(1)Connection对象:用来建立和管理与数据源的连接。微软在.NET框架中提供了两个connectio
19、n对象SQL Connection和ADO.Connection。应用Connection对象时,先用Connection对象建立连接,然后调用Open的方法来打开连接。(2)Command对象:建立了与数据源的连接之后,使用Command对象来处理请求和从数据库返回这些请求的结果。它能访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息。利用Commnand构造函数或调用Connection对象的Create Command方法,可以创建Command对象。(3)DataReader对象:用来以顺序方式读取数据,当我们只需要循序的读取数据而不需要其它操作时,可以使用DataRead
20、er 对象。可以用来从数据库中检索只读、只向前的数据流。DataReader对象仅仅从数据库中返回一个只读的数据流,使得当前内存中每次仅存在1条记录,所以使用起来不但节省资源而且效率很好。 (4)DataAdapter对象:DataAdapter对象用来在数据源和数据集之间传送数据。修改数据集中的数据之后,可以接着把修改过的数据回送给数据源。DataSet 这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet 的能力不只是可以储存多个Table,还可以透过DataSetCommand 对象取得一些例如主键等的数据表结构,
21、并可以记录数据表间的关联。DataSet 对象可以说是ADO.NET 中重量级的对象,这个对象是架构在DataSetCommand 对象上,本身不具备和数据源沟通的能力 ;也就是说我们是将DataSetCommand 对象当做DataSet 对象以及数据源间传输数据的桥梁。如下图2.2.是ADO.NET的层次结构:图2.2 ADO.NET的层次结构2.3 ASP.NET技术(1) NET框架(.NET Framework)概述.NET框架是一种用于构建、配置、运行Web服务和应用程序的多语言环境,是在Microsoft.NET平台上进行开发的基础,它采用一种全新的网络计算机模式,通过标准的In
22、ternet协议如XML(Extensible Markup Language,即可扩展标记语言)和SOAP(简单对象访问协议)等,解决了异质平台上的分布式松耦合计算问题。它包含2个主要部分:一是公共语言运行时(Common Language Runtime,CLR)环境,CLR提供了一个可靠而完善的多语言运行环境,简化了应用程序的开发配置和管理,从而实现组件能在多语言环境下跨平台工作;二是.NET的基础类库(Basic Class Library,BCL),它提供了几乎所有应用程序都需要的公共代码。而类库主要由三部分组成ASP.NET,Windows Forms和ADO.NET。使用.NET
23、类库提供的公共方法开发应用程序,可以使开发者将精力集中于编写应用程序所独有的代码,而不必重复编写类似读写文件的经常使用的功能代码。 (2) ASP.NET的系统结构ASP.NET使用IIS来传送内容,以响应HTTP请求,ASP.NET页面是一个.aspx文件,图2.3所示的是ASP.NET处理客户请求流程图。 图2.3 ASP.NET处理客户请求流程图在ASP.NET处理过程中,可以访问所有的.NET类、C#或其他语言创建的定制组件、数据库等。实际上,运行C#应用程序和ASP.NET的功能一样强大,在ASP.NET中使用C#就是在运行C#程序。ASP.NET 是一个已编译的、基于 .NET 的
24、环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C#.NET 和 JScript .NET)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GU
25、I 和完全集成的调试支持。C#是.NET框架的核心语言。该语言几乎综合了目前所有编程语言系统的优点,并结合因特网发展的需要,增加了丰富的新特性和增强功能。C#语言面向对象的设计,可以用来构建从高水平的商务目标到体系标准应用程序的范围宽广的组件。使用C#语言,我们能够迅速地建造提供充分开拓计算和通信的工具和服务的新的MicroSoft.NET平台2。31第三章 文章内容管理系统(CMS)的分析需求分析是对系统开发提出明确要求的过程,其结果是后续系统开发工作的基础。所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求
26、分析”就是确定要计算机“做什么”。 也就是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程3.1 系统功能分析针对一般文章管理信息系统的需求,通过对文章管理信息工作过程的内容和数据流程分析, 本系统主要要实现的功能有;后台文章添加,更新、删除和查询;文章评论的添加、更新与删除;文章类型的添加、更新和删除;站内公告的添加、更新和删除;领导致辞的信息添加、更新和删除;友情链接的添加、更新和删除;前台:游客或注册用户对文章查看、评论和查询;游客注册或登入功能;文章显示功能:最近更新、热点新闻文章、图片新闻文章、滚动资讯(包括站内公告和领导致辞);给
27、管理员发邮件。3.2文章管理用例分析3.2.1文章内容管理系统(CMS)用例图用例图(use case diagram)就是由主角、用例以及它们之间的关系构成的图。说明了用例模型中的关系。可以将用例图组织到用例包中,并归用例包所有,让特定包中仅显示互为关联关系的内容。用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。用例是描述参与者在系统中的动作序列描述,由于本网站对外开放,无需注册用户直接可以查看文章内容。(1)管理员描述:管理员可以添加和删除一般用户;添加、删除、修改、查询文章和文章的属性信息.(2)一般用户及游客描述:一般用户查询文章和检索信
28、息。无法对数据库进行任何操作。现对文章内容管理系统(CMS)用例图进行分析。3.2.2 用例规格说明书用例规格说明书(Use Case Specification, UCS)是用来详细描述用例过程的文字工具。在有些情况下,可以将用例规格说明书作为需求规格说明书的补充或者直接的组成部分。用例规格说明书需要有一些格式要求,并形成一种文字模板。一般来说,从书写用例的格式编排上看,有两种常见的模板:单列格式和双列格式。单列格式按照参与者和系统之间交互行为先后顺序编写在一张表格的一列当中。而双列格式则将按照参与者和系统的行为分别写在一张表格的两列当中。但是两种格式都必需具备如下一些基本的编写要素。1)
29、用例名称Use Case。2) 用例编号ID。3) 参与者列表Actors。4) 前置条件Preconditions:前置条件是表示该用例场景开始前的系统状态。5) 后置条件Postconditions:后置条件是表示该用例场景结束后的系统状态。6) 用例场景(事件流)Flow of events:用例场景是表示在该用例过程中,参与者和系统之间具体的交互过程。表3.2.1 添加文章信息用例描述Use Case:添加文章信息ID:01Actors:管理员Preconditions:1 管理员成功进入网站后台Flow of events:1 管理员通过后台登录界面登录,系统验证管理员; 1.1 验
30、证通过,管理员进入后台进行网站管理; 1.2 否则,终止本用例;2 管理员进入网站管理首页,通过菜单进入文章管理页面; 2.1 管理员添加文章信息,包括文章的编号,文章标题,文章标题、文章内容、文章小标题、文章关键字、文章作者、文章发表日期、图片、以及是否在前台页面显示,添加图片和详细的说明等; Postconditions:1 数据操作成功;2 如果上述任何一个步骤出现错误,系统将自动转向错误提示屏幕。表3.2.2 文章分类用例描述Use Case:文章分类管理ID:02Actors:管理员Preconditions:1 管理员成功进入网站后台Flow of events:1 管理员通过后台
31、登录界面登录,系统验证管理员; 1.1 验证通过,管理员进入后台进行网站管理; 1.2 否则,终止本用例;2 管理员进入网站管理首页,通过菜单进入文章管理页面,点击进入分类管理进入管理; 2.1 管理员添加或者更新文章分类;Postconditions:1 数据操作成功;2 如果上述任何一个步骤出现错误,系统将自动转向错误提示屏幕。表3.2.3 协会企业成员信息用例描述Use Case:协会企业成员信息ID:03Actors:管理员Preconditions:1 管理员成功进入网站后台Flow of events:1 管理员通过后台登录界面登录,系统验证管理员; 1.1 验证通过,管理员进入后
32、台进行网站管理; 1.2 否则,终止本用例;2 管理员进入网站管理首页,通过菜单进入文章管理页面,点击进入协会企业成员信息管理页面; 2.1 管理员删除或者更新协会企业成员信息信息; 2.2 管理员添加协会企业成员信息,包括企业编号,企业名称,企业电话号码,企业详细地址,企业传真,企业电子邮箱,企业照片,照片显示,简要介绍,主页显示图片。Postconditions:1 数据操作成功;2 如果上述任何一个步骤出现错误,系统将自动转向错误提示屏幕。表3.2.4 友情链接管理用例描述Use Case:友情链接信息管理ID:04Actors:管理员Preconditions:1 管理员成功进入网站后
33、台Flow of events:1 管理员通过后台登录界面登录,系统验证管理员; 1.1 验证通过,管理员进入后台进行网站管理; 1.2 否则,终止本用例;2 管理员进入网站管理首页,通过菜单进入文章管理页面,点击友情链接进入友情链接管理页面; 2.1 管理员添加或者更新友情链接信息;Postconditions:1 数据操作成功;2 如果上述任何一个步骤出现错误,系统将自动转向错误提示屏幕。第四章 文章内容管理系统(CMS)的设计 在第三章中我们用用例分析的方法对文章内容管理系统(CMS)的需求进行了分析,接下来我们要做的就是按照需求分析的结果对本系统进行实质性的设计,比如管理员需要进行文章
34、的管理与维护,我们在设计的时候就要根据其需求进行功能模块的设计,只有设计好了才能进行实施与维护。 本章的内容就是对文章内容管理系统(CMS)的设计,主要包括:系统功能的设计(根据实体的需求进行功能模块的设计)、系统框架的设计和数据库的设计。在数据库的设计中主要运用了E-R图法。4.1 系统总体设计 根据本系统的需求分析和系统设计的目标的要求进行总体的功能设计和系统的架构设计。4.1.1 总体功能结构设计本文所开发的部分功能模块如下图4.1所示:介绍文章管理模块的开发过程.前台显示后台管理文章的添加、删除、更新文章列表显示详细文章信息显示文章分类添加文章的批量删除与选择删除文章更新对文章进行评论
35、文章的站内搜索图4.1 系统总体功能结构图4.1.2 总体系统架构设计构建信息系统的框架主要有C/S(Client/Server)模式和B/S(Brower/Server)模式,也有C/S结合B/S的模式。因为本系统是基于WEB开发的所以采用了B/S结构。C/S结构,即Client/Server(客户机/服务器)结构,是建立在局域网基础上的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软
36、件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从
37、而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可, 服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。在Browser/Server三层体系结构下,表示层(Presentation)、功能层(Business Logic)、数据层(Data Service)被割成三个相对独立的单元。仔细分析不难看出,三层的Browser/Server体系结构是把二层Client/S
38、erver结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。这种三层体系结构如下图4.2所示1 。图4.2 B/S模式结构示意图4.2 数据库及表的设计数据库是信息系统的核心和基础,它把信息系统中大量的数据按一定的模型组织起来;提供存储、维护、检索数据的功能;使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在,而数据库设计则是信息系统开发
39、和建设的重要组成部分。数据库中的数据是整个系统的核心,怎样合理地进行信息建模和范式分解将直接影响整个数据库的运行效能。数据库系统的设计在完成功能的前提下,因力求逻辑关系简单,否则由于数据库表之间的连接操作会大大降低系统的性能45。在此系统中后台数据库采用SQL Server 2005。数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。设计数据库系统并不像解一道数学习题那样有着既定的证明思路和规范化的推导过程,它是一项系统的工程,有着十分复杂的过程。然而,在过
40、去很长一段时间内,由于应用环境的复杂和设计理论的缺乏,数据库设计人员多采用手工的方法,凭自身的经验进行设计。由于使用这种艺术而不是工程的方法,设计的质量直接依赖于工程人员的经验和水平。而且由于缺乏科学理论和工程方法的指导,数据库的质量难以得到保证,系统往往在运行一段时间后不断产生各种问题,增加了系统的维护代价。目前,数据库设计一般都遵循软件的生命周期理论,分为6个阶段进行,即需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行与维护。在此介绍数据库的概念结构设计与逻辑结构设计。4.2.1数据库概念结构设计在数据库的概念设计中,通常采用E-R数据模型来表示数据库的概念结构
41、。 E-R数据模型将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。E-R模型由实体、实体的属性和实体之间的联系三个要素组成。提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。其表示方法为: 实体型:用矩形表示,矩形框内写明实体名;是指客观世界存在的且可以相互区分的事物。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;有时也称性质,是指实体某一方面的特征。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。指实体间的相互关系。经过需求分析现设计出如下图4.3所示的E-R模
42、型。类型文章信息文章类型会员回复问题登入提出问题注册N1111N11评论NM图4.3 数据库E-R图4.2.2 数据库逻辑结构设计逻辑结构设计的任务是把概念模型,例如E-R图转换成所选用的具体的DBMS所支持的数据模型。将E-R模型转换为关系模型,关系模型的逻辑结构是一组关系模式的集合。而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式。我在进行数据库逻辑结构分析的时候采用了ERwin分析工具。CA ERwin是功能强大、易于使用的数据库设计工具。它为设计、生成、维护高水平的数据库应用程序提供
43、了非凡的工作效率。从描述信息需求和商务规则的逻辑模型,到针对特定目标数据库优化的物理模型,ERwin可视化地确定合理的结构、关键元素,并优化数据库。文章内容管理系统(CMS)的逻辑结构图如下4.4所示。文章相关信息登记查询搜索管理员访问者M1N1图4.4 数据库逻辑结构图4.2.2 数据库表单的设计根据前面概念结构分析与逻辑结构分析,我们设计出如下的数据表单。(1) 文章信息表(Article)该表记录了文章的全部信息,包括了文章编号、文章标题、文章内容、文章小标题、文章关键字、文章作者、文章发表日期、图片、是否显示主页面、更多详细信息等。(2)文章分类表(Type) 该表记录了文章的分类名称
44、。(3)文章分类字表表(SubType)该表用来记录文章的现状信息。(4)协会企业成员信息表(EnterPrice)(5)企业发布信息存储表DisTri_Info表信息类型:1表示发布信息,0表示信息留言(6)SiteInfo表(7)Speak表(8).FriendLink表0,其它;1,协会会员;2,政府机构;(9).Notice表(10).Tool表4.2.3 数据库中关系图的设计 本系统使用SQL来建立实体关系(E-R)模型,实现从E-R模型到逻辑结构设计,然后实现数据库的设计。本文仅给出使用SQL Serve完成的文章内容管理系统(CMS)的部分数据库结构,主要包括的文章(Articl
45、e)、文章分类表(Type)、企业成员信息表(EnterPrise)、友情链接表(Friendlink)、协会会员信息表(Member)。 其结构关系如图4.5所示。图4.5文章管理部分数据库关系图第五章 文章内容管理系统(CMS)的实现5.1 系统的运行环境在该系统中,采用Visual Studio.NET的IDE环境作为设计平台。Visual Studio.NET是开发.NET应用程序的推荐平台,它包括了集成解决方案所需的一切。Visual Studio.NET对性能要求很高,必须保证计算机满足下面的最低要求: 硬件要求: CPU :Intel Pentium 300MHZ以上 内存:25
46、6MB 磁盘空间:250MB(完全安装)、155MB(快速安装)软件要求: Microsoft Windows 2000 ServerMicrosoft Internet Explorer 5.5以上IIS5.0.Net Frame Work SDK 5.2 系统的实现文章内容管理系统(CMS)分前台信息网站和后台管理系统两大部分,其中,后台管理系统是文章内容管理系统(CMS)文章数据上传、类型管理。根据前面的需求分析在后台管理系统中,主要解决如下几个问题:数据的上传和分类管理、文章的现状管理、文章是否在前台显示的管理,以及文章价值的分类统计。5.2.1 文章信息后台管理的实现根据第4章的设计,实现了系统的主要功能。本系统采用B/S三层结构,尽量做到操作简便。先介绍一下文章的后台管理部分的实现以及操作过程。 图5.2展示了网站的后台登录界面,因为网站全部内容开放,所以只有管理员角色,管理员可以通过这里进入后台管理页面。在登录框输入正确的用户名和相应的密码就可以进入管理页面了。进入后可以进入超级管理页面进行密码的修改。另外新加管理员可以从此页面注册新用户用超级管理员在后台提升成为管理员进入后台管理,或者直接从超级管理页面添加新的管理员用户。图5.2 后台管理首页界面图5.3展示了文章信息添加的页面。进入文