1、本 科 毕 业 论 文留言管理系统设计与实现Design and Implementation of Message Management System姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 教授助理教授年 月I摘 要互联网作为一种先进的,易于被人们所接受的信息检索手段,发展十分迅速,成为目前世界上最大的信息资源宝库,是人们快速获取、发布和传递信息的重要渠道。它在人们生活中的各个方面发挥着重要的作用,其内容范围跨越了教育科研、文化事业、金融、商业、娱乐、体育等各个领域。因此,建设一个好的Web站点对于一个机构的发展十分重要。21世纪是个信息化的时代。现
2、代计算机技术的发展,为各行各业的发展创造了一个全新的时代背景人们的生活、工作等已经越来越离不开计算机科学的运用,而Internet的应用加速了这种趋势,人们越来越需要在互联网上交流各种信息和讨论各种问题。网站留言板系统(Website Message Board System)是互联网上一种人与人之间交互的必备工具,特别是做网站必备。 网站留言板系统是互联网上的一种应用服务模式,通过这种服务,互联网用户可以在上面浏览到其他用户或网站发布的各类主题、文章、问题等具有各种表现形式的文字或图像的内容,并且用户可以在上面针对某个具体的内容发表自己的回答、看法、议论等,或是直接发表自己的文章、问题、图片
3、或是其它内容。由于网站信息留言版的这些特点,使得全球的用户都可以在网站信息留言版上随时随地地进行交流,从而真正做到全球信息没有任何限制的交流。在Internet的发展中网站留言板的作用将是无法替代的。本系统的设计是基于ASP.NET,并且采用了C#语言组作为后台的编程语言,Microsoft Visual Studio 2005 作为开发工具,以IIS 为服务平台,实现了网络平台的构建。后台的数据库则采用了Sql Server 2008,用ADO.NET 技术来访问数据库。关键词:留言;ASP.NET;C#;SQL Server;数据库IIAbstractThe Internet is dev
4、eloping very rapidly as an information retrieval method which is advanced, easily accepted by people. It has became the worlds largest information resources, and the important channel of quick obtaining, releasing and transmitting information. It plays an important role in all aspects of life, as th
5、e education and scientific research, culture, finance, business, entertainment, sports, etc. Therefore, a good Web site for an organizations development is very important.The 21st century is the era of information. The development of modern computer technology create a new era background for industr
6、ies developments- peoples live, work cannt leave the use of computer science .And Internet application accelerate this trend, people need exchanging information and discussing various problems on the Internet. Website Message Board System is an an indispensable tool for interaction on internet, espe
7、cially developing website. Website Message Board System is an application service mode, through this service, Internet users can browse other users or websites on various topics or publish articles, problems, with various forms of words or image content, and the user can express their answers, think
8、s and discussions aimed at a specific content, or directly published their articles and pictures, or other contents. Because these features of the Website Message Board System, the users can communicate anytime, anywhere on Website Message Board System. Thus Global information can exchange without a
9、ny restrictions.Website Message Board Systems role will be irreplaceable in the development of Internet.This system is designed based on ASP.NET.Using C# as the programming language, Microsoft Visual Studio 2005 as a development tool, IIS as the service platform.SQL Server 2008 as the database.Using
10、 ADO.NET operation database.Key words: Message; ASP.NET; C#; SQL Server; DataBaseIII目录第一章 绪论 .11.1 引言 .11.2 背景 .11.3 现状 .21.4 设计的目的与意义 .2第二章 系统相关理论与技术概述 .32.1 C#语言介绍 .32.2 ASP.NET 技术应用 42.3 JavaScript.62.4 CSS 简介 62.5 数据库访问基础 ADO.NET62.6 SQL 语言简介 92.7 关于 ASP.NET 的三层结构 .9第三章 系统需求分析 .103.1 系统需求分析 .103
11、.1.1 开发背景 103.1.2 系统功能需求 103.1.3 性能要求 103.2 系统概要设计 .113.2.1 模块划分 113.3 数据需求分析与设计 .163.4 本章小结: .17第四章 系统的设计与实现 .184.1 系统的框架定义 .184.2 系统类定义及设计 .194.3 系统页面设计 .204.4 中英文页面显示 .254.5 系统业务逻辑 .274.5.1 页面传值方式 284.5.2 数据处理 284.5.3 数据绑定和显示 31IV4.6 部分代码设计说明 .344.7 本章小结 .40第五章 系统测试与运行结果 .415.1 在线聊天测试 .415.2 留言测试
12、 .425.3 分类查看留言测试 .445.4 查看某条留言记录测试 .465.5 回复留言测试 .475.6 本章小结 .48结论 .49参考文献 .50致谢 .51VContentChapter 1 Introduction.11.1 Preface.11.2 Background 11.3 Current21.4 The purpose and significance2Chapter 2 Related Theories and Technology Overview 32.1 Introduced of C# 32.2 Application of ASP.NET .42.3 Int
13、roduction of JavaScript62.4 Introduction of CSS .62.5 The technology of ADO.NET 62.6 Introduction to SQL 92.7 About the three-layer of ASP.NET.9Chapter 3 System Requirements Analysis 103.1 System requirements analysis.103.1.1 Development background 103.1.2 Function requirement .103.1.3 Performance r
14、equirements .103.2 System outline design.113.2.1 Module partition.113.3 Data analysis and design .163.4 Summary.17Chapter 4 Design and Implementation .184.1 The system framework defined.184.2 Class define and design194.3 Page design .204.4 Display of chinese and english 254.5 Business logic274.5.1 P
15、ass value on page .284.5.2 Data processing284.5.3 Data binding and show.31VI4.6 Explain some code344.7 Summary.40Chapter 5 Test and Run415.1 Test of chating online.415.2 Test of adding messages.425.3 Test of checking different kind of messagess.445.4 Test of checking the detail info of a message.465
16、.5 Test of repling messages 475.6 Summary.48Summed up 49References 50Acknowledgements51第一章 绪论1第 1 章 绪论1.1 引言Internet 飞速发展, “地球村”这个名词都已过时,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们生活中的各个方面发挥着重要的作用。网站留言板系统(Website Message Board System)是互联网上的一种应用服务模式,通过这种服务,互联网用户可以在上面浏览到其他用户或网站发布的各类主题、文章、问题等具有各种表现形式的文字或图像的内容,并且用户可以
17、在上面针对某个具体的内容发表自己的回答、看法、议论等,或是直接发表自己的文章、问题、图片或是其它内容。由于网站留言板的这些特点,使得全球的用户都可以在网站留言板上随时随地地进行交流,从而真正做到全球信息没有任何限制的交流。网站留言板具有多种的表现形式,各网站可按照自身的服务特点设计出适合自己的网站留言板形式,例如,各种网站留言板、在线回答、各类供求信息、网上订购等,都可以使网站信息留言板的表现形式。网站留言板目前在互联网上得到非常广泛的使用,而且反应非常活跃。由于网站留言板可以使网上信息交流变得非常方便、广泛、及时,因而对于加深网站的服务深度、提高网站的知名度、拓展网站的交流范围、激活网站的人
18、气都有不小的作用;它也可以单独作为专门的网站形式。1.2 背景由于Internet技术持续而飞速的发展,给人们各个方面带来了巨大变化,尤其对传统的交流方式提出了新的模式和要求,由此而诞生的网上留言板系统和博客(Blog )在 Internet应用上的地位显而易见。它已成为现代网络信息化建设中的重要组成部分,从而倍受人们的重视。到今天全世界自觉实践的博客留言板数量,已经达到了100万到200万之众。虽然与网民总数相比,还显得微不足道。但这些博客和留言板的影响力,却早已超出了他作为个人、甚至作为自己留言管理系统设计与实现2所在行业的原有范围。开始引起主流媒体的强烈关注,并明显感受到他们对传统媒体的
19、冲击。借助留言板和博客可以方便的和朋友等联系,增进感情,促进信息与技术的交流,作为一种基于互联网的开放模式,为人们提供了一个广泛学习和文化交流的桥梁。1.3 现状在网络经济与电子商务迅猛发展的今天,越来越多的企业认识到建立网站的必要性。有了网站,网站留言板是其中必不可少的一部分,这部分是整个网站与用户沟通的关键。事实说明,大部分的网站都会设有留言板模块,以方便用户与网站管理者之间的交流与合作。可以说,留言板对于网站来说越来越普及,在未来网络的发展中,它是一项不容忽视的内容,它的发展将越来越成熟。这就是网站留言板发展的现状。1.4 设计的目的与意义在Internet飞速发展的今天,互联网是人们快
20、速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布的信息主要是通过网站实现的。因此网站建设已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。留言板对一个网站来说是非常重要的,他主要用于方便人们的交流。使用留言板,用户可以轻松地将自己的意见与问题发送给网站管理者,网站管理者也可以及时地浏览和采纳用户的意见,回答用户的问题,以便及时对网站进行改进与更新等。留言板的形式各式各样,他可以独立的作为一个网站,大小规模也是看需求而定。本留言板系统是主要是为网站提供一个游客与管理员交流的通道。第二章 系统相关理论与技术概述3第二章
21、 系统相关理论与技术概述2.1 C#语言介绍C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。它吸收了C+、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。C# 继承了C 语言的语法风格,同时又继承了C+的面向对象特性1。不同的是,C# 的对象模型已经面向Internet进行了重新设计,使用的是 .NET框架的类库;C# 不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。.NE
22、T 框架为 C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。同时,公共语言运行时(Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。1)简洁的语法在默认的情况下,C# 的代码在 Microsoft .NET框架提供的“可操纵“ 环境下运行,不允许直接地进行内存操作。它所带来的最大特色是没有了指针。与此相关的是,那些在C+ 中被使用的操作符(如“:“ 、“ “)已经不再出现,只支持“.”操作,需要理解的仅仅是一个名字而已。2)精心地面向对象设计C# 语言是完全按照面向对象 1的思想来设计的,因此它具有面向对象所应有的一
23、切特性:封装、继承和多态性。C# 语言只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在 C# 语言中,每种类型都是一个对象,因此不存在全局函数、全局变量和全局常数等概念,所有常量、变量、属性、方法、索引和事件等都必须封装在类中,从而使代码具有更好的可读性,也减少了发生命名冲突的可能。在C# 的类型系统中,每种类型都可以看作一个对象。C# 提供了一个叫做装箱(boxing) 与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。3)与Web紧密结合留言管理系统设计与实现4Microsoft .NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相
24、统一,如超文本标记语言 (HyperText Markup Language,HTML) 和XML。由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就像是C# 的本地对象。程序员能够利用已有的面向对象的知识与技巧开发Web 服务。仅需要使用简单的C# 语言结构,C# 组件将能够方便地为Web 服务,并允许它们通过 Internet 被运行在任何操作系统上的任何语言所调用。4)完整的安全性与错误处理语言的安全性和错误处理能力是衡量一种语言是否优秀的重要依据,C# 语言可以避免很多软件开发中的常见错误,并提供了包括类型安全在内的完整的安全性能。在默认情况下,从 Internet 和 In
25、tranet 下载的代码都不允许访问任何本地文件和资源,C# 语言不允许使用未初始化的变量,并提供了边界检查与溢出检查等功能。内存管理中的垃圾回收机制也大大减轻了开发人员的内存管理负担。5)版本处理技术C# 语言内置了版本控制功能,如对函数重载和接口的处理方式及特性支持等,从而保证方便地开发和升级复杂的软件。6)灵活性与兼容性在托管状态下,C# 语言不能使用指针,而是用委托(delegate)来模拟指针的功能。兼容性是指 C# 语言允许与具有C 或 C+ 语言风格的需要传递指针型参数的 API 进行交互操作,允许 C# 语言组件与其他语言组件间的交互操作等。2.2 ASP.NET 技术应用AS
26、P.NET 是一种建立在通用语言上的程序构架,能被用于一台Web 服务器来建立强大的Web应用程序 2。ASP.NET 提供许多比现在的Web开发模式强大的的优势。1)执行效率的大幅提高ASP.NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当第二章 系统相关理论与技术概述5然比一条一条的解释强很多。2)世界级的工具支持开发人员可以在Visual Studio.集成开发环境中使用丰富的工具箱和设计器来开发ASP.NET 。3)强大性和适应性(多语言支持)因为ASP.NET是基于通用语言的编译运行的程序,所以它的强
27、大性和适应性,可以使它运行在Web 应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是 language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java 的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET。4)简单性和易学性ASP.NET是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变
28、得非常简单。5)高效可管理性ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。6)多处理器环境的可靠性ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的 ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的AS
29、P确做不到这一点。7)自定义性,和可扩展性ASP.NET设计时考虑了让网站开发人员可以在自己的代码中自己定义“plug-留言管理系统设计与实现6in“的模块。这与原来的包含关系不同,ASP.NET 可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。8)安全性基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。2.3 JavaScriptJavaScript 是因特网上最流行的脚本语言,被用来改进设计、验证表单、检测浏览器、创建cookies,等等等等。Javascript可在所有主要的浏览器中运行,比方说 Internet Explorer、 Mozill
30、a、Firefox、Netscape、和 Opera,能够增强用户与 Web 站点和 Web 应用程序之间的交互。十分的方便和好用,是好的网站开发、网页设计所必须的。2.4 CSS 简介CSS 指层叠样式表 (Cascading Style Sheets),是一种标记语言,它不需要编译,可以直接由浏览器执行(属于浏览器解释型语言)。CSS解决内容与表现分离的问题,在标准网页设计中负责网页内容(XHTML) 的表现。可以通过设计CSS 文件来控制网站页面的布局和样式美观,同时经过简单的更改CSS文件就改变快速的改变网页的整体表现形式,可以大量减少我们的工作量,所以它是每一个网页设计人员的必修课。
31、2.5 数据库访问基础 ADO.NET所谓ADO.NET 技术 3,就是一种让程序员可以快速、高效地利用Visual Studio 集成开发环境开发出数据库应用程序的技术。1)ADO.NET 实际包括两个组成部分:(1)数据提供者也称为.NET Framework 数据提供程序,实际上就是建立和数据库的连接、提取数据、操作数据、执行数据命令等一系列类。(2)DataSet(数据集)表示数据在客户机内存中的缓存。第二章 系统相关理论与技术概述72)ADO.NET 的核心对象 4有:Connection对象:数据库连接对象,用于建立和数据库的连接;Command对象:命令对象,更加灵活执行命令的对
32、象;DataReader对象:数据阅读器对象,读取数据源中只读、向前的数据;DataAdapter对象:数据适配器对象,读取数据源数据填充数据集对象DataSet。3)ADO.NET 访问数据库的两种机制 5:1连接模式 2断开连接模式1.连接模式连接模式下,客户机一直保持和数据库服务器的连接,这和 ADO 技术是一致的。这种模式适合数据传输量少、系统规模不大、客户机和服务器在同一网络内的环境。一个典型的 ADO.NET 连接模式如图 2-1 所示。图 2-1:连接模式连接模式下数据访问的步骤如下。(1)使用 Connection 对象连接数据库。(2)使用 Command(命令)对象向数据库
33、索取数据。(3)把取回来的数据放在 DataReader(数据阅读器)对象中进行读取。(4)完成读取操作后,关闭 DataReader 对象.(5)关闭 Connection 对象。留言管理系统设计与实现8提示:ADO.NET 的连接模式只能返回向前的、只读的数据,这是因为DataReader 对象的特性决定的。2断开连接模式断开连接模式适合网络数据量大、系统节点多、网络结构复杂,尤其是通过Internet/Intranet 进行连接的网络。典型的 ADO.NET 断开连接模式应用如图2-2 所示。图 2-2:断开连接模式断开连接模式下数据访问的步骤如下。(1)使用 Connection 对象
34、连接数据库。(2)使用 Command 对象获取数据库的数据。(3)把 Command 对象的运行结果存储在 DataAdapter(数据适配器)对象中。(4)把 DataAdapter 对象中的数据填充到 DataSet(数据集)对象中。(5)关闭 Connection 对象。(6)在客户机本地内存保存的 DataSet(数据集)对象中执行数据的各种操作。(7)操作完毕后,启动 Connection 对象连接数据库。(8)利用 DataAdapter 对象更新数据库。(9)关闭 Connection 对象。第二章 系统相关理论与技术概述9由于使用了断开连接模式,服务器不需要维护和客户机之间的
35、连接,只有当客户机需要将更新的数据传回到服务器时再重新连接,这样服务器的资源消耗就少,可以同时支持更多并发的客户机。当然,这需要 DataSet 对象的支持和配合才能完成,这是 ADO.NET 的卓越之处。2.6 SQL 语言简介SQL(Structured Query Language)结构化查询语言是一种数据库查询 6和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL 语言结构简洁,功能强大,简单易学,所以自从 IBM 公司 1981 年推出以来,SQL 语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server 这些大型的数据
36、库管理系统,还是像Visual Foxpro、PowerBuilder 这些 PC 上常用的数据库开发系统,都支持 SQL语言作为查询语言。SQL 语言包含 4 个部分:1)数据定义语言(DDL),例如:CREATE、DROP、ALTER 等语句。2)数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。3)数据查询语言(DQL),例如:SELECT 语句。4)数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK 等语句。2.7 关于 ASP.NET 的三层结构一、三层体系架构ASP.NET 的三层结构使项目的结构
37、层次更为清晰。分别是表示层、业务逻辑层和数据访问层。三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。二、具体区分留言管理系统设计与实现101.表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。2.业务逻辑层:主要负责对数据层的操作,也就是说把一些数据层的操作进行组合。3.数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作,而不必管
38、其他操作。留言管理系统设计与实现10第三章 系统需求分析3.1 系统需求分析3.1.1 开发背景为中荷信息技术应用能力研发中心(China Holland Educational Competence and Knowledge Center on IT 简称 CHECK-IT)开发一个即时通信系统附加在 CHECK-IT 网站上。让管理员与游客可以实时通信,聊天交流,回答和解决各种问题。更好的建设和维护网站系统。3.1.2 系统功能需求通过即时通讯系统,实现发送聊天信息,游客可以指定在线的管理员对象进行聊天,给管理员留言,备份聊天记录等。管理员可以管理留言列表和回复留言。功能更强大的即时通讯
39、系统不仅提供发送信息也可以进行各种设置包括聊天者的表情及文字颜色,还支持视频和音频、传送文件等功能。3.1.3 性能要求除了要满足用户的功能要求外,系统的性能要求也是很重要的。作为即时通讯系统,最为主要的就是要能够进行实时显示出聊天者所谈的内容,所以时间特性的要求重要。这通常涉及到谈话内容的存储方式,即以什么方式存储在服务器中。不过本系统不保存聊天信息于服务器上,只提供备份聊天记录到本地上的功能。同时还要考虑界面的友好性、可靠性、容量要求、精度要求等。界面友好性:简单易用的人机交互界面系统可靠性:为了提高系统可靠性必须采用模块化和结构化设计,提高系统容错能力,并保障系统不会因认为的操作错误而死
40、机或崩溃。容量要求:确定系统的容量,如聊天时发送的数据量。第三章 系统需求分析113.2 系统概要设计3.2.1 模块划分主要模块可以划分为用户登录、在线聊天、备份聊天记录、留言、留言管理(查看留言、删除留言、回复留言)、后台管理(用户管理、角色管理)。系统功能模块划分如图 3-1:图 3-1:功能模块划分图系统各个流程分析与描述1.用户(管理员)登录:1)输入“用户名”、“密码”;2)判断“用户名”、“密码”是否匹配;3)如果“用户名”、“密码”不匹配,弹出提示信息,重新填写“用户名”、“密码”;若匹配,成功登陆;用户(管理员)登录流程图,如图 3-2 所示:图 3-2:登录流程图留言管理系
41、统设计与实现122.管理员进行在线服务的流程:1)管理员登陆网站,进入“在线服务”;2)管理员选择游客,进行在线服务;3)管理员可选择是否将本次聊天记录以文本文件的形式保存到本地;4)若管理员选择将本次聊天记录以文本文件形式保存在本地,则执行该操作;若否,结束聊天;5)结束在线服务。管理员在线服务流程图,如图 3-3 所示:图 3-3:管理员在线服务流程图3.游客进入聊天系统并选择管理员进行聊天1)游客进入网站,选择“在线服务”进入在线聊天系统;2)游客选择一个在线管理员(同时接受到一条由该管理员设置的自动回复信息),进行在线聊天;3)游客可选择是否将本次聊天记录以文本文件的形式保存到本地;4
42、)若游客选择将本次聊天记录以文本文件形式保存在本地,则执行该操作;若否,结束聊天;5)结束在线服务。游客在线聊天流程图,如图 3-4 所示:第三章 系统需求分析13图 3-4:在线聊天流程4.游客留言流程:1)游客进入网站,选择“在线服务”上的留言系统,进入游客留言系统;2)游客填写留言相关信息,内容包括:游客 E-mail(必填)、姓名、电话、留言内容;3)发送信息;4)判断填写内容是否合法;5)若填写信息不合法,提示错误信息;若填写信息合法且成功留言,提示成功信息。游客留言流程图,如图 3-5 和图 3-6 所示:图 3-5:游客留言流程 11)游客进入网站,选择“在线服务”上的在线聊天,
43、进入在线聊天系统;2)跳转到游客留言系统;留言管理系统设计与实现143)游客填写留言相关信息,内容包括:游客 E-mail(必填)、姓名、电话、留言内容;4)发送信息;5)判断填写内容是否合法;6)若填写信息不合法,提示错误信息;若填写信息合法且成功留言,提示成功信息。图 3-6:游客留言流程 25.管理员管理留言信息的流程:1)登陆管理员留言管理界面;2)选择查看留言的方式(有查看所有留言、未读留言、未回复留言、已回复留言四种,默认查看全部留言);3)选择要操作的一条留言4)选择特定留言进行操作(操作内容有:查看、回复、删除);管理员留言流程图,如图 3-7 所示:第三章 系统需求分析15图
44、 3-7:管理留言流程6.管理员对留言的回复流程:1)管理员选择要进行操作的信息;2)查看留言详细信息;3)选择回复,并填写回复的相关内容;4)提示回复状况(成功或者失败)回复留言流程图,如图 3-8 所示:图 3-8:回复留言流程留言管理系统设计与实现163.3 数据需求分析与设计对与留言管理系统来说,除管理员外就是游客,没有其他用户。游客要能够给管理员留言,而管理员要管理留言。所以要设置用户表与留言表。根据管理的特点与作用,将设置以下用户表(管理员也是一种用户),如表3-1 所示:表 3-1 User字段名称 数据类型 数据大小 存储信息Email varchar 255 用户的用户名(e
45、mail) ,主键passWord varchar 255 用户密码name varchar 255 用户名(允许为空)greetingMessage nvarchar MAX 自动回复内容(允许为空)根据功能需求,留言应有的基本字段时 ID、 messageFrom、 messageTo 、messageDatetime 以及两个表示状态的字段 readOrNot、replyOrNot(也可以用一个字段 state,四种数值来区别留言信息的状态)由此设计留言信息表,如表 3-2 所示:表 3-2 Message_ChatSystem_table字段名称 数据类型 数据大小 存储信息messa
46、geID int 主键messageFrom varchar 255 留言的发送者(email) ,作为留言的一部分messageTo varchar 255 留言的接收者(email)即管理员,外键messageDatetime varchar 50 留言发送时间visitorName nvarchar 50 游客姓名(允许空)phone varchar 50 游客电话(允许空)第三章 系统需求分析17messageContent nvarchar MAX 留言内容(允许空)readOrNot Boolean(bit) 1 属性,1 表示未读,0 表示已读,默认为 1replyOrNot B
47、oolean(bit) 1 属性,1 表示未回复,0 表示已回复,默认为 13.4 本章小结:本章主要讲述系统的需求分析与设计,整个系统的概述,功能模块和流程分析,以及数据库的设计 7。下一章我们将讲述系统的整个框架与实现。留言管理系统设计与实现18第四章 系统的设计与实现4.1 系统的框架定义ASP.NET 中常用的一种体系结构三层结构的设计模型。系统的三层结构8指的是 3 个逻辑层的设计模型,分别为表示层、业务逻辑层和数据访问层。使用这种模型使系统结构更清楚,分工更明确,有利于后期的维护和升级。1)表示层(USL):用户表示层为客户端提供应用程序的访问。此层在系统中的具体体现为用户的界面,
48、在系统中以 Web 项目的形式存在。在 ASP.NET中,该层包括 aspx 页面、用户控制、服务器控制以及某些与安全相关的类和对象。2)业务逻辑层(BLL):业务逻辑层实现应用程序的业务功能。业务逻辑层在数据访问层之上,根据系统的业务要求调用数据层,并将对数据的处理结果返回给表示层。也就是说 BLL 调用 DAL 的类和对象。DAL 访问数据并将其转给 BLL。3)数据访问层(DAL):数据访问层为业务逻辑层或表示层提供数据服务。在 ASP.NET 中,该层可以用 SqlClient 或 OleDb 从 SQL Server 或 Access 数据库取数据,把数据通过 DataSet 或 D
49、ataReader 的形式给 BLL,BLL 处理数据给表现层。然而有的时候,DAL 会直接把 DataSet 或 DataReader 送给表现层的,此时的 BLL 是一个透明层。这三层之间的关系如图 4.2 所示:第四章 系统的设计与实现19A S P . N E TW e b F o r m sC u s t o m B u s i n e s s L o g i cD a t a A c c e s s A p p l i c a t i o n B l o c k s( U s e A D O . N E T )S Q L S e r v e r 2 0 0 5表示层 业务逻辑层 数据访问层 数据库图 4-1: 系统三层结构图4.2 系统类定义及设计提供页面调用的接口类IGreetingManager.cs访问控制接口ImessageManager.cs留言管理接口IchatUserManager.cs管理员控制接口提供业务处理的业务代码类ChatUserManager.cs GreetingManager.cs MessageManager.cs 访问数据库的数据访问类DBHelperSQL.cs与数据库数据相关联的实体类Message_table.cs User_