论坛系统设计与开发

更新时间:2024-05-05 20:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编号 2009241337

毕业设计论文

题目:

论坛系统设计与开发

学生姓名 学 号 系 部 专 业 班 级 指导教师 评阅教师

2012 年 5 月

论坛系统设计与开发

旭鸿公司论坛系统设计与开发

System design and development of xuhong forum

毕业设计(论文)共 32 页 图纸共 24 张

完成日期 2012年5月10日 答辩日期 2012年5月12日

II

摘 要

随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不光是一种交流平台,甚至是成为了实现自我价值的一个舞台。正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。

根据在校交流平台的实际需要,本系统的基本功能模块划分为:新闻公告信息管理、用户管理、管理员信息管理、论坛分类信息管理、论坛信息管理等6种功能。

关键词:论坛信息;信息搜索;ASP.NET;SQL SERVER 2000

I

论坛系统设计与开发

ABSTRACT

As the network is becoming increasingly popular, people are increasingly on such an exchange platform - Forum. Many commercial sites have opened their own forum to exchange and services, and a lot of personal websites and personal forum, the forum has not only a communication platform, and even become a stage of self-worth. An increasingly important forum, the maintenance of the forum has become a profession, better maintenance needs from design level to understand and carry.

According to the actual needs of the school exchange platform, the basic functional modules of the system is divided into: six kinds of press release information management, user management, administrators and information management, forums, classified information management, forums, information management and other functions.

key words:Forum information;information search;ASP.NET;SQL SERVER 2000

II

目 录

摘 要 ........................................................................................................................ I 第一章 绪论 ............................................................................................................. 1

1.1 选题背景 ..................................................................................................... 1 1.2 论文研究的内容及结构 ............................................................................. 1 第二章 软件开发环境与技术简介 ......................................................................... 3

2.1 .NET技术 .................................................................................................... 3 2.2 ASP.NET技术 .............................................................................................. 5

2.2.1 ASP.NET的新特性 ............................................................................ 5 2.2.2 ASP.NET开发和运行平台 ................................................................ 7 2.3 SQL SERVER 2000数据概述 .................................................................... 7 2.4 C#概述 ......................................................................................................... 8 第三章 系统需求分析 ............................................................................................. 9

3.1 网站需求分析 ............................................................................................. 9

3.1.1 网站功能需求分析 ........................................................................... 9 3.1.2 网站数据流向分析 ........................................................................... 9 3.1.3 系统用例图分析 ............................................................................. 11 3.1.4 数据字典分析 ................................................................................. 12

第四章 总体设计 ................................................................................................... 14

4.1 系统的设计思想 ....................................................................................... 14 4.2 系统功能模块图 ....................................................................................... 14 4.3 数据库概念模型设计 ............................................................................... 15 4.4 数据库详细表的设计 ............................................................................... 15 第五章 详细设计与实现 ....................................................................................... 18

5.1 数据库连接配置 ....................................................................................... 18

论坛系统设计与开发

5.2 登录界面模块 ........................................................................................... 19 结 论 ..................................................................................................................... 30 致 谢 ..................................................................................................................... 31 参考文献 ................................................................................................................. 32

IV

学院毕业设计(论文)

第一章 绪论

1.1 选题背景

随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不光是一种交流平台,甚至是成为了实现自我价值的一个舞台。正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。

在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。

1.2 论文研究的内容及结构

在探讨NET和数据库互联技术的基础上,开发了一套基于WEB的论坛系统,本系统设计理念具有先进的指导意义。

本论文的研究内容主要包括以下几个方面:

1.对结构化设计方法和面向对象的设计开发方法进行了研究和比较,本课题采用的是更为先进的面向对象设计开发方法;

2.软件开发可以根据需要选用开发模式,本文采用了当前较为先进的面向对象的三层B/S构架模式。

3.研究Microsoft新的.NET技术,ADO.NET数据库访问技术及 SQL Server 2000数据库管理技术。

4.设计并实现基于WEB的论坛系统的基本功能。如用户注册登录、个人资料修改、管理信息、交流平台等。

全文共分为六章,各章内容分别如下:

第一章绪论。阐述了本课题的研究背景和研究意义及其本文的研究内容和组织结构。 第二章系统使用技术概述。本章首先介绍了ASP.NET技术,接着对SQL SERVER 2000 数据库进行了相关介绍,对开发工具进行简单介绍,之后对系统的运行环境IIS做了简单

1

论坛系统设计与开发

的介绍。

第三章论坛系统的分析。本章首先对系统进行了可行性研究,指出了系统要解决的问题,并提出系统的设计思想;接下来对系统进行了需求分析,最后分析了系统的业务流程。

第四章总体设计和数据库设计。在对系统进行架构设计后,本章首先对系统流程进行了详细设计,最后对数据库进行了概念设计和逻辑设计。

第五章系统的实现与维护。本章主要介绍了系统的实现基础,然后按照系统结构,逐层分析并给出相关代码示例,最后给出了部分页面的显示结果图。

在总结中,总结了本文的内容,并介绍了作者的主要工作及本系统存在的不足。 在参考文献中,主要列举了本文及本系统在构建过程中所参考的教学资料和期刊。最后在致谢中,对给予帮助的师生表示感谢之情。

2

学院毕业设计(论文)

第二章 软件开发环境与技术简介

通过前期的市场调研与研究分析了其他的一些管理应用软件,权衡了各方面的利弊,最终选择了用ASP.NET+SQL SERVER 2000来开发本论坛系统。本章主要介绍了本管理系统的开发技术(ASP.NET+C#)、开发工具(VISUAL STUDIO 2005,DREAMWEAVER)、数据库(SQL SERVER2000)的选择以及软件开发环境。

2.1 .NET技术

Microsoft.NET将开创互联网的新局面,基于HTML的显示信息将通过可编程的基于XML(可扩展标记语言)的信息得到增强。XML提供了一种从数据的演示视图分离出实际数据的方式。这是新一代互联网的关键,提供了开启信息的方式,以便对信息进行组织、编程和编辑;可以更有效地将数据分布到不同的数字设备;允许各站点进行合作,提供一组可以相互作用的“Web服务”。

Microsoft.NET环境中的突破性改进有三个方面,首先使用统一的Internet标准将不同的系统对接;其次.NET是Internet上第一个大规模的高度分布式应用服务架构;最后.NET使用了功能强大的管理程序,能全面管理平台中运行的服务程序,并且为它们提供更加安全的保护后台。.NET的平台蓝图如图2.1所示。

Web Service 应用程序与Web Service Internet Visual Studio.Net 内部Service Orchestration .NET Framework Operation 使用您的服Building Block .NET Enterprise Server Windows.NET,C终端用户 E,Me,XP,2000

图2.1 .NET 平台蓝图

3

论坛系统设计与开发

Microsoft.NET增加许多新的特性,包括.NET Framework、Web Services等。

VB C++ C# 其他 通用语言规范 (Common Language Specification) Visual Studio.NET Web Service Data 与 XML 用户接口 基础数据库(Base class library) 通用语言执行环境 (Common Language Runtime) 图2-2 NET Framework的基本层次

写好一份程序,到处执行,是Microsoft.NET对未来的期望。而实现这个目标的关键就在于.NET Framework,它的结构主要分为四大部分:通用语言执行环境CLR(Common Language Runtime),类函数库,程序语言,Visual Studio.NET。

CLR是.NET框架的运行环境。该运行环境为基于.NET平台的几乎一切提供一个统一的、受控的运行环境。CLR运行环境在.NET平台中充当一个类似于代理人的角色,为图2-3中基于其上的层次提供统一的底层进程和线程管理、内存管理、安全管理、代码验证和编译以及其他的系统服务。CLR通过中间语言等机制实现基于.NET的编程语言的无关性。即凡是符合通用语言规范CLS(Common Language Specification,定义了一组运行于.NET Framework的语言特性)的程序语言所开发的程序,可以在任何有CLR的操作系统下执行。

.NET Framework提供了一个包含许多高度可重用的接口、类型的类库。该类库是一个完全面向对象的类库,所以它不仅支持面向过程语言,还为面向对象语言提供了完美的支持。它既是.NET应用软件开发的基础类库,也是.NET平台本身的实现基础。当然该类库不是.NET程序员可以使用的唯一一个类库,他们可以使用第三方厂商提供的类库。

.NET SDK本身提供了C#、Managed Extensions for C++、VB.NET、JavaScript的编译器。因此.NET Framework默认支持的语言是C#、C++、VB.NET、JavaScript。但.NET Framework具有了支持几乎所有语言互操作的特性,只要为该语言实现了可以将源代码编译成MSIL代码的编译器,都可以用于.NET平台的开发。

Visual Studio.NET是快速开发企业级Web应用程序和高性能桌面应用程序的工具。

4

学院毕业设计(论文)

Visual Studio.NET包括了基于组件的开发工具,例如Visual C++以及许多其它用来简化、开发和解决方案部署的技术。Visual Studio.NET支持.NET Framework、ASP.NET。

.NET Framework支持Windows中所有的应用程序,它是Microsoft的下一代Web服务NGWS (Next Generation Web Service Framework)的主要部分,在.NET Framework发布之前,程序是以Win32API及COM对象为接口,ASP网页则以asp.dll所提供的对象为接口,但在.NET Framework发布之后,不管是程序或是ASP网页都是以它所提供的对象类别库为接口。

2.2 ASP.NET技术

2.2.1 ASP.NET的新特性

ASP.NET是微软.NET技术中最引人注目的网站开发工具,它的推出和使用将对开发优质网站提供广泛的技术支持。它是一个建立服务器端Web应用程序的框架。ASP.NET是ASP的后继版本,它向前兼容ASP,但它又不仅仅是ASP的简单升级。 ASP.NET和ASP相比具有许多优势。

1.语言独立性,它支持功能强大的Visual Basic.NET、C#, JavaScript仍可用,凡是可以编译成MISL(Microsoft Intermediate Language,是介于程序语言和机器码之间的一种语言,具有和程序语言无关的特性)的程序语言ASP.NET都支持,ASP.NET为Web应用程序提供了一个真正的中间语言的执行框架。ASP缺省只支持JScript和VBScript,若要使用其他脚本语言,必须安装相应的脚本引擎。

2.代码更易于编写、结构更清晰,程序代码与用户界面接口彻底分开,使程序的可读性更强。在ASP中,几乎必须为每件事情写代码,而且将代码、HTML、文本、对象说明等混在一起,很难重复使用这些代码。而在ASP.NET中引入了一种真正的组件模式,只需写很少的代码,并且在很多情况下,可以完全不写任何代码。

3.执行效率更高。ASP.NET是由支持它的服务器上的.NET Framework负责编译执行,当服务器接收到一个ASP.NET页面时,如果这是对该页面创建或修改后的第一次请求,.NET Framework就会把该页面中的程序语言内容先编译成MSIL,ASP.NET的执行代码以独立线程的方式一直存在于服务器内存中。以后对ASP.NET页面提出请求时,不需要重新编译,直到该页面被修改或Web应用程序重启动(见图2.3)。而ASP是解释性脚本语言,每次都需要重新编译。

5

论坛系统设计与开发

第一次执行 ASP.NET网页 MSIL 机器码 第二次执行 高速缓存 图2-3 ASP.NET网页运行模式

整体比较如下:ASP.NET网页第二次被浏览速度>ASP网页浏览速度>ASP.NET网页第一次被浏览速度。

4.网页服务结构不同,ASP.NET与ASP的系统内部运行模式有很大差异(见图2-5)。ASP是通过一个ASP.DLL动态连接文件来支持ASP运行的,而ASP.NET的运行则完全依赖.NET Framework所提供的新架构以及多达数百种好用的类与对象。但可以考虑将原来的ASP做适度的修改,以便让它们能在.NET Framework的环境中运行。

.NET Framework ASP.DLL ASP.NET(.aspx) ASP3.0 (.asp) Windows 2000 Server,IIS 图2-4 ASP.NET与ASP网页服务结构

5.数据处理模式的不同,ASP网页的数据处理需要用请示来的接收数据,然后作进一步的处理,数据处理完毕再将结果用响应的方式返回到客户端。ASP.NET网页的数据处理却是采用事件处理驱动的模式,可以在同一个网页中直接处理。事件是以Page_Load、特定的事件及Page_Unload为处理顺序(见图2.5)。

HTML或ASP网页 ASP数据处理程序 响应 HTML数据应答 ASP.NET用户界面 数据处理程序段 请求 Page_Load 特定事件 Page_Unload 图2-5 ASP与ASP.NET数据处理的模式

6.简化组件部署和组态的操作。ASP.NET取消了组件注册以及DLL锁定,只需将相关文件复制到目的机器就可以,组件更换后不需重新启动,简化了组件的部署。全面使用了XML配置文件,从而解决了DLL陷阱问题。ASP中使用COM(Component Object Model)组件,COM组件在使用之前必须进行注册,将组件的信息写到系统登录中,同时组件在使用中会被锁定而无法更新版本。

7.对后台数据库的访问ASP并没有提供任何输出数据为内容的元件,所以以往使用

6

学院毕业设计(论文)

ASP撰写数据库网页时,只能借助ADO的RecordSet对象逐笔读取记录,然后再将记录显示出来。ASP.NET通过ADO.NET技术访问数据库系统,ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系,把数据库中的内容显示出来。

8.更强的安全机制。ASP.NET提供三种不同的登录验证方式:基于Windows验证机制、Passport和Cookie,它还可以为每个应用进行配置的方法,确保用户的应用是安全可靠的。

9.开发调试工具ASP的主要开发工具是Microsoft 的Visual Studio,在ASP的开发过程中,由于没有很好的侦错程序(Debugger),所以给程序开发带来了很多不便。ASP.NET采用VB.NET及任何可以编译成MSIL的语言作为开发工具,所以调试较为便利。

通过上面的比较分析可以看出,ASP.NET的性能在许多方面要远远超越了ASP,利用ASP.NET技术实现一个交互式的动态Web页是比较简单。而且随着.NET技术的日益成熟,相信ASP.NET的应用会越来越普及。

2.2.2 ASP.NET开发和运行平台

如果只运行ASP.NET应用程序,可以安装.NET Framework Redist软件包。如果要开发、部署和运行ASP.NET应用程序,需要安装.NET ASP.NET Premium Edition、.NET Framework SDK或者Visual Studio.NET中的任何一个。

.NET Framework SDK Beta 2支持以下操作系统:Window XP、Windows 2000、Windows NT4(带Service Pack 6a),并要求Internet Explorer版本在5.01或5.01以上。要求系统安装Microsoft Data Access Component 2.6,推荐安装2.7版本ASP.NET还需要IIS 5.0或IIS 4.0(带 NT4 Service Pack 6a)。IIS已集成在NT/Windows 2000操作系统中,一般不必另外安装。

2.3 SQL SERVER 2000数据概述

SQL Server 2000是Microsoft公司推出的大型数据库管理系统,它建立在成熟而强大的关系型基础上,可以很好的支持客户机/服务器网络模式,能够满足各种类型的企事业单位对构建网络数据库的需求。它具有易用性、可扩展性、可靠性等特点,是目前使用最为广泛、普及率最高的数据库管理系统之一。

在高性能和企业级可伸缩性领域,SQL Server 2000 设计成利用 Windows 2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2000 采用 Windows 2000 四路群集,提供了大大改进的群集支

7

论坛系统设计与开发

持。SQL Server 7.0 已经在可管理性和易用性方面在行业内领先,SQL Server 2000 通过与 Windows 2000 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2000 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。

2.4 C#概述

Microsoft 公司推出了基于XML 的Web Services 平台的.NET 技术,并提供包括Visual Studio .NET 在内的一系列.NET 平台。而Visual Studio .NET 平台支持的C#是面向构件的新型开发语言,它具有:(1)支持构件开发;(2)面向对象; (3) 类型安全;(4)能支持版本处理等特点,因此,开发基于.NET平台上的商品化构件,以及基于.NET平台开发应用程序将成为软件业的发展方向,对基于.NET 平台的C# 逆向工程工具,尤其是支持C#构件化特征的逆向工程工具的需求便日趋迫切。

C #是一种面向对象的语言,同时也是面向构件的编程语言,它具有面向对象和面向构件两方面的功能。C # 支持所有关键的面向对象概念:封装、继承和多态性。 在C # 中所有的对象被封装在类中,C # 取消了多继承,每个类仅允许有一个基类,以Object作为基类。当需要多继承时,可以运用接口,一个类可以实现多个接口,从而实现多继承.。C # 提供名字空间(namespace) 声明一个范围,以便组织代码并创建全局类型。在一个名字空间下,可以声明别的名字空间、类、接口、结构、枚举和代理。通过嵌套的名字空间,把语义相关的程序分成层次结构,从而提供一个逻辑上的组织系统。

8

学院毕业设计(论文)

第三章 系统需求分析

3.1 网站需求分析

3.1.1 网站功能需求分析

基于ASP.NET的在线交流平台系统包括以下几个模块: 1.用户注册登录:用户在这个板块实现注册,登陆的功能 2.个人资料修改:用户修改个人资料,如头像,名字等 3.管理信息:管理人员管理用户的信息,板块信息、帖子信息等 4.交流平台:允许用户发帖,回帖,查看帖子、搜索帖子等

基于ASP.NET+SQLServer,遵循软件工程规范,按照需求分析,系统概要设计,系统详细设计,系统实现和系统测试等步骤来实现系统。其具体功能结构图如图所示:

论坛管理系统 用户管理 新闻管理 管理员管理 论坛主题管理 论坛管理 用户注册 用户登录 修改信息 新闻添加 新闻删除 新闻修改 管理员添加 管理员删除 管理员修改 主题添加 主题修改 主题删除 发表帖子 回复帖子 查看帖子 删除帖子

图3-1 系统功能结构图

3.1.2 网站数据流向分析

根据数据流向分析,画出整个系统的数据流图,数据流图是用来描绘系统的逻辑模型,描绘信息在系统中流动和处理的情况,没有具体的物理元素,它可以作为计算机人员与客户之间的通信工具,还可以作为软件设计的出发点,根据系统的要求,用来交流信息的工

9

论坛系统设计与开发

具,还可以帮助进行详细设计(面向数据流的设计方法),在这里还要提及数据字典,关于数据的信息的集合,也就是对数据流图中包含的所有元素进行定义的集合,数据流图和数据字典一起构成系统的逻辑模型,两者共同构成系统的规格说明。在画数据流图时,为了表达数据处理过程的数据加工的情况,需要采取层次结构的数据流图,按照系统的层次结构进行逐层细分,并以分层的数据流图反映这种结构关系,使人能容易、清楚地表达和理解整个系统,在这里采用了三层进行细分,顶层数据流图仅包含一个加工,它代表的就是系统,输入流是系统所输入的数据,中间层流图则表示对其上层图的细化,它的每一个加工可能继续细化,形成子图,底层是指加工需要再分解的数据流图,它处于最底层,得出所需数据流图(DFD)如下:

用户交流信息论坛系统论坛信息管理员

图3-2 网站顶层数据流程图

顶层数据流图主要描述了整个论坛系统网站的数据流,表明用户通过身份验证直接进入论坛系统网站进行相关操作。

对系统采用层次结构进行初步细化,得到如下第二层数据流图:

浏览者浏览模块浏览帖子回帖进入系统发贴添加模块后台管理图3-3第二层数据流图

管理员 对用户—>资料信息进行二次展开,得到图3.4的数据流程图。即用户注册DFD图描述了用户进入系统的流程图,原有系统管理员登陆系统时在身份验证中输入用户名和密码就可通过,而新管理员则需要通过系统管理员添加,填写管理员信息并且成功,之后写入到系统数据库中。

10

学院毕业设计(论文)

非用户 用户信息息 用户 P1.1 身份 验证 .P1.2 注册 添加用户 用户表 用户 P1.3 登陆 用户 图3-4 用户登陆DFD图

用户查阅DFD图描述了用户进行信息查阅的流程图,用户进行信息查阅时可选择查询按选择的类型和输入的关键字进行查阅,就会检索出库中所有包括你输入字段的信息。

用户 P2.1 信息查看 选择 P2.3 查询信息 返回查询信息 模糊查找资料查找信息用户

图3-5 用户查阅DFD图

3.1.3 系统用例图分析

各个版块有浏览列表和管理两个操作,管理方法又包括了创建、修改和删除这3个子方法,如图3-6。

创建版块 管理员 管理版块 修改版块 用户 浏览列表 删除版块

图3-6 版块对象的相关用例图

帖子有浏览、发帖、回帖、搜索和管理5种方法,浏览方法又可以分列表和查看2个

子方法,管理方法又可分编辑、删除、置顶、转移、加精华5个子方法,如图3-7。

11

论坛系统设计与开发

浏览 删除 搜索 用户 回帖 管理员 管理帖子 发帖 编辑 图3-7 帖子对象的相关用例图

用户类有注册、登陆和管理3个方法,管理方法又分为添加、删除2个子方法,如图。

浏览 删除 回帖 用户 管理员 管理用户 添加 发帖 图3-8 用户对象的相关用例图

论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的,即上级权限

包含下级权限。这样论坛的基本功能就可以从各种需求中筛选出来了,即发帖、浏览帖子、回帖。基本功能就是构成论坛系统的必要功能,具备这些功能的Web系统即是论坛。

3.1.4 数据字典分析

它是用来对数据流程图(DFD)中的各个要素进行详细说明的。数据字典是关于数据的信息的集合,也就是数据字典的概念是以某种固定的格式定义的数据流,数据存储及构成它们的数项和数据结构的卡片集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。

经过数据流图的分析总结出以下几个数据字典。

表3.1 管理员数据结构数据字典

数据结构 含义说明 组成 管理员 是网站的管理者,管理各种信息 自动编号、用户名、密码

12

学院毕业设计(论文)

表3-2 新闻公告信息数据结构数据字典

数据结构 新闻公告信息 含义说明 是新闻公告信息,主要包括信息标题、信息内容、添加时间 组成 自动编号、信息标题、信息内容、添加时间 表3-3 用户信息数据结构数据字典

数据结构 用户信息 含义说明 是用户信息,主要包括用户名、密码、所在班级、联系电话、学生学号、真实姓名、联系电话 组成 自动编号、用户名、密码、所在班级、联系电话、学生学号、真实姓名、联系电话 表3-4 论坛分类数据结构数据字典

数据结构 论坛分类信息 含义说明 是分类信息,主要包括自动编号、分类名称 组成 自动编号、分类名称、分类描述 表3-5 论坛主题帖子数据结构数据字典

数据结构 论坛主题帖子信息 含义说明 是帖子信息,主要包括自动编号、主题标题、主题内容、发布人、发布时间、回复人、回复时间 组成 自动编号、主题标题、主题内容、发布人、发布时间、回复人、回复时间 表3-6 论坛回复帖子数据结构数据字典

数据结构 论坛回复帖子信息 含义说明 是回复信息,主要包括自动编号、主题编号、回复内容、回复人、回复时间 组成 自动编号、主题编号、回复内容、回复人、回复时间

13

论坛系统设计与开发

第四章 总体设计

4.1 系统的设计思想

系统使用页面模块化设计,就是把一个页面当作一个模块,进行单独的调试,然后把各个模块堆砌在一起。该系统把左边部分、头部、尾部以及数据库连接文件等都分别建立一个公共文件,需要连接时就进行调用,把各个部分结合成一个页面。为了减少代码的编写,可以通过使用以前项目积累的代码,进行代码复用。

4.2 系统功能模块图

对系统进行可行性和需求分析之后,开始对论坛系统网站进行功能设计,划分其要实现的功能。根据需求分析,可以将本系统的基本功能模块划分为:

1.用户注册登录:用户在这个板块实现注册,登陆的功能 2.个人资料修改:用户修改个人资料,如头像,名字等 3.管理信息:管理人员管理用户的信息,板块信息、帖子信息等

4.交流平台:允许用户发帖,回帖,查看帖子、搜索帖子等。具体功能模块示意图

论坛管理系统 用户管理 新闻管理 管理员管理 论坛主题管理 论坛管理 用户注册 用户登录 修改信息 新闻添加 新闻删除 新闻修改 管理员添加 管理员删除 管理员修改 主题添加 主题修改 主题删除 发表帖子 回复帖子 查看帖子 删除帖子

图4-1 论坛管理系统功能模块图

14

学院毕业设计(论文)

4.3 数据库概念模型设计

数据库设计(Database Design)是指对一个给定的应用环境,构造最优秀的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的使用需求(信息要求和处理要求)。数据库的设计分成几个阶段,要进行需求分析,再进行概念设计和物理逻辑设计等,其中要对表和字段进行设计以及画出E-R图等。大多数网络应用系统都需要后台数据库的支持,对于这个论坛系统来说,也不例外,在Windows操作系统中,Access和SQL Server是最常见的网络后台数据库,在互联网上,很多人出于价格方面的考虑选择Access数据库,操作起来比较简单,但实现比较大的网络应用系统,选择SQL Server 数据库要好。本系统选择SQL SERVER 2000数据库存储数据,SQL SERVER 2000拥有友好的用户界面和简单的数据表的操作,易学易懂,通过向导创建表、窗体、查询以及报表,自动绘制数据统计图和绘图功能,具有有效管理和分析数据的功能。

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。对数据库进行设计的时候首先要对其进行需求分析。

根据系统功能分析和需求总结,得到各个数据项,并且根据数据项对数据库进行设计,得到下列不同的记录集::管理员:自动编号、用户名、密码;分类信息:自动编号、自动编号、分类名称;新闻公告信息:自动编号、信息标题、信息内容、添加时间;用户信息:自动编号、用户名、密码、联系地址、联系电话、真实姓名、联系电话;论坛分类信息:自动编号、分类名称、分类描述;论坛主题帖子信息:自动编号、主题标题、主题内容、发布人、发布时间、回复人、回复时间;论坛回复帖子信息:自动编号、主题编号、回复内容、回复人、回复时间。

4.4 数据库详细表的设计

根据系统的具体要求,由数据库概念模型设计阶段得到的实体图、以及E-R图可得系统所需要的数据表,其主要由管理员用户信息表、新闻公告、论坛分类、论坛帖子、回复帖子、学生用户信息表等共6个表组成。具体包括:

管理员信息表提供管理员的一些必要的信息,标明了唯一识别是帐号。

列名 aid 表4-1 管理员信息数据表(admin) 数据类型 长度 允许空 整数 4 否 字段含义 自动编号 15

论坛系统设计与开发

username pwd 文本 文本 20 20 否 否 管理员用户名 管理员密码 用户信息表主要用于记录添加的注册用户管理信息,该表的结构如表所示。 表4-2 用户信息数据表(tb_yonghu) 列名 tid tname tuname taddress ttel tsfz tpwd 数据类型 整数 文本 文本 文本 文本 文本 文本 长度 4 20 20 50 50 50 50 允许空 否 否 否 否 否 否 否 字段含义 自动编号 用户名 真实姓名 所在班级 电话 学号 密码 教学资料分类主要用于记录添加的所属分类信息,该表的结构如表4-3所示 表4.3 用户信息数据表(tb_subject) 列名 sbj_id sbj_name sbj_desp 数据类型 整数 文本 文本 长度 4 20 200 允许空 否 否 否 字段含义 自动编号 科目名称 科目描述 新闻公告主要用于记录添加的新闻公告信息,该表的结构如表4-4所示。 表4-4 新闻公告数据表(tb_news) 列名 nid ntitle ncontent ntime 数据类型 整数 文本 文本 时间 长度 4 20 2000 8 允许空 否 否 否 否 字段含义 自动编号 标题 内容 时间 论坛栏目主要用于记录添加的所属分类信息,该表的结构如表4-5所示 表4-5 论坛栏目信息数据表(tb_type) 列名 sbj_id sbj_name sbj_desp 数据类型 整数 文本 文本 长度 4 20 200 允许空 否 否 否 字段含义 自动编号 科目名称 科目描述 16

学院毕业设计(论文)

论坛主题帖子主要用于记录添加的所属论坛帖子信息,该表的结构如表4-6所示

表4-6 论坛帖子信息数据表(bbs) 列名 bid btitle bcontent btype btime htime huser buser 数据类型 整数 文本 文本 文本 时间 时间 文本 文本 长度 4 20 2000 20 8 8 20 20 允许空 否 否 否 否 否 否 否 否 字段含义 自动编号 主题标题 内容 类型 时间 时间 回复人 发布人 论坛回复帖子主要用于记录添加的所属论坛帖子信息,该表的结构如表4-7所示 表4-7 论坛回复帖子信息数据表(bbs_reply) 列名 rid rbid rcontent ruser rtime 数据类型 整数 文本 文本 文本 时间 长度 4 20 2000 20 8 允许空 否 否 否 否 否 字段含义 自动编号 主题编号 内容 回复人 时间 17

论坛系统设计与开发

第五章 详细设计与实现

5.1 数据库连接配置

在项目文件中找到web.config配置文件,我们在该文件中加入一个新的节点:

之后,我们新建一个数据库连接类,添加到APP_Code文件夹下,命名为PYDataCon,我们在类上引用System.Configuration; System.Data;System.Data.SqlClient三个命名空间。该类的具体实现如下图5-1。 using System; using System.Data;

using System.Configuration; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Configuration; using System.Data;

using System.Data.SqlClient;

public class PYDataCon {

public PYDataCon() {

18

学院毕业设计(论文)

}

public SqlConnection getConn() {

string conStr = ConfigurationManager.AppSettings[\].ToString(); SqlConnection conn = new SqlConnection(conStr); return conn; }

public DataTable GetDataSetStr(string sqlStr, string TableName) {

PYDataCon m_get = new PYDataCon(); SqlConnection conn = m_get.getConn(); conn.Open();

DataSet ds = new DataSet();

SqlDataAdapter adapt = new SqlDataAdapter(sqlStr, conn); adapt.Fill(ds, TableName); conn.Close();

return ds.Tables[TableName];

} }

图5-1 数据库是实现图代码

5.2 登录界面模块

系统用户登录模块的功能是提供给系统用户进入系统用户管理模块的入口,使合法的系统用户能够进入系统并进行各种系统用户操作,而不合法用户将被阻挡在外。判断想进入的用户是否是合法用户,如果是合法用户,用户将进入到主窗体,而如果你是不合法用户,则提示用户名和密码错误。本管理系统登录的流程图如图5-2所示。

19

论坛系统设计与开发

用户输入用户名和密码不成功登录成功管理员界面

图5-2 管理员用户登录流程设计

会员来到登录界面后,需输入自己的用户名和密码,单击确定后系统用request对象将会员的用户名和密码提交到服务器,由服务器将这些参数提交到数据库进行检验,检验时注意了字符串中字符的提取,只对字符串中有用字符进行匹配。根据不同的情况服务器用对象作出不同的反映。管理员界面如下图图5-3所示。

图5-3管理员登录界面

20

学院毕业设计(论文)

在登录是必须输入正确的用户名和密码,一但用户名和密码为空或不正确就会就不能登录进去。如下图5-4所示。

图5-4 管理员登录失败界面

代码如下图:5-5所示。 using System; using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

public partial class add_bbs : System.Web.UI.Page

21

论坛系统设计与开发

{

SqlConnection conn;

protected void Page_Load(object sender, EventArgs e) {

PYDataCon m_get = new PYDataCon(); conn = m_get.getConn(); gvv_bind();

if (Session[\] != null) {

//判断用户是否登录

this.tabLoad.Visible = true; //显示显示用户 板 this.tabLoading.Visible = false; //隐藏用户登录面板 } }

protected void gvv_bind() {

PYDataCon m_get = new PYDataCon(); conn = m_get.getConn(); conn.Open();

string ms_sqlstr = \;

SqlDataAdapter ms_adpter = new SqlDataAdapter(ms_sqlstr, conn); DataSet ms_dataset = new DataSet(); ms_adpter.Fill(ms_dataset); GridView1.DataSource = ms_dataset; GridView1.DataBind(); conn.Close(); }

22

学院毕业设计(论文)

protected void Button1_Click(object sender, EventArgs e) {

if (useranem.Text == \) {

Label9.Text = \用户名不能为空\; }

if (pwd.Text == \) {

Label10.Text = \密码不能为空\; }

if (useranem.Text != \ & pwd.Text != \) {

PYDataCon conObj = new PYDataCon(); SqlConnection conn = conObj.getConn(); conn.Open();

SqlDataReader m_reader = null;

SqlCommand m_cmd = new SqlCommand(\tname='\ + useranem.Text.ToString() + \, conn); m_reader = m_cmd.ExecuteReader();

if (m_reader.HasRows) {

m_reader.Read();

if (pwd.Text.ToString().Trim() == m_reader[\].ToString().Trim()) {

Session[\] = m_reader[\].ToString().Trim(); Session[\] = m_reader[\]; Response.Redirect(\); }

23

论坛系统设计与开发

else {

Label9.Text = \; Label10.Text = \密码错误\; } } else {

Label9.Text = \无此用户名\; Label10.Text = \; } } } }

在登录成功后就进入了管理员界面,可以实现管理员的全部功能。如下图5-5所示。

图5-5管理员界面

管理员成功登录系统后就可以返回界面管理管理员信息。从而实现了管理员信息的添加、修改和删除的功能。如下图5-6所示。

24

学院毕业设计(论文)

图5-6管理员添加、修改和删除界面

管理员添加代码如下所示 using System; using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

public partial class add_admin : System.Web.UI.Page {

SqlConnection conn;

protected void Page_Load(object sender, EventArgs e) { }

25

论坛系统设计与开发

protected void Button1_Click1(object sender, EventArgs e) {

PYDataCon conObj = new PYDataCon(); conn = conObj.getConn();

bool m_check = true;

if (TextBox_username.Text == \) {

Label1.Text = \用户名不能为空\; m_check = false; }

if (TextBox_usertruename.Text == \) {

Label2.Text = \真实姓名不能为空\; m_check = false; }

if (TextBox_pass.Text == \) {

Label3.Text = \密码不能为空\; m_check = false; }

if (m_check)//检测用户名 {

conn.Open();

SqlDataReader m_reader = null;

SqlCommand m_cmd = new SqlCommand(%user_name='\ + TextBox_username.Text.ToString() + \, conn); m_reader = m_cmd.ExecuteReader(); if (m_reader.HasRows) {

26

学院毕业设计(论文)

m_check = false;

Label1.Text = \已经存在的用户名\; }

conn.Close(); }

if (m_check)//执行添加 {

conn.Open();

string m_user_name = TextBox_username.Text.Trim().Replace(\, \);

string m_user_truename =

TextBox_usertruename.Text.Trim().Replace(\, \);

string m_user_pass = TextBox_pass.Text.ToString();

string m_sql = \ + m_user_name + \ + m_user_truename + \ + m_user_pass + \;

SqlCommand cmd = new SqlCommand(m_sql, conn); cmd.ExecuteNonQuery(); conn.Close();

Response.Write(\添加成功!');location.href='user_manage.aspx';\); } } }

添加完成之后如图5-7所示。

27

论坛系统设计与开发

图5-7管理员添加完成界面

有了管理员权限后就可以对论坛进行管理。例如对普通用户进行管理、新增帖子的管理、最新新闻的管理等等。具体如下图5-8所示。

图5-8管理员管理菜单栏

不能成为管理员的员工就只能在旭鸿公司登录首页注册为普通用,只能享有一般

28

学院毕业设计(论文)

的浏览权限不能享有管里功能。如图5-9所示

图5-9普通用户登录界面

普通用户登录后有可以浏览公司的最新新闻观看公司的最新资料查询自己需要的

资料 如下图5-10所示

图5-10 普通用户的功能

29

论坛系统设计与开发

结 论

本文主要说明了ASP.NET论坛的设计和SQL SERVER2000数据库的设计和实现,运用的ASP.NET Web数据库技术具有强大的功能和普遍的适用性。ASP.NET技术发展已经有许多年了,现在也有各种其他的更安全稳定的技术,如JSP、PHP等。ASP.NET作为可以直接应用于页面的技术仍然有他的优势,在各种网络应用领域依然很有实用性,也是Web设计的基础技术。SQL SERVER2000作为数据库拥有使用简单,平台架设方便和普及性强的特点,作为一般学生论坛或者个人论坛其功能也是足够的。本文的主要是说明如何设计数据库已经如何将页面和数据库进行连接,而且这里的数据库也可以更换成SQL等高级数据库进行应用,只需要修改数据库的连接函数就可以做到数据库的转换。通过研究和设计工作,对于Web编程有了更深入的了解,对掌握和运用ASP.NET和数据库的应用方面也有了更进一步的提高,对于今后的对于其他技术的深入和研究也打好了良好基础。

30

致 谢

致 谢

从论文选题到搜集资料,从写稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。

我要感谢,非常感谢我的导师。他为人随和热情,治学严谨细心。在论文的写作和措辞等方面她也总会以“专业标准”严格要求我,从选题、定题开始,一直到最后论文的反复修改、润色,老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励。正是老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢老师。

感谢三年的大学生活中老师们对我的热情帮助,从他们身上,我学到了许多宝贵的知识和经验,在此,谨表诚挚的谢意。在与共同进行毕业设计的同学的共同学习、工作和生活中,大家给了我许多帮助,使我获得了多方面的知识和生活的乐趣。

最后,我要诚挚感激和爱献给帮助我的同学与父母,感谢他们对我的养育之恩和谆谆教诲。我会时刻铭记父母对我的期望和教导,努力走好人生道路上的每一步,不辜负他们寄予我的殷切希望。

31

参考文献

参考文献

[1]Greg Buczek(美)著,杜伟 罗治国译,《即学即用ASP.NET应用开发》,清华大学出版社,2002年9月第1版

[2]东名 吴名月著,《ASP.NET动态网页设计高手》,清华大学出版社,2001年10月第1版

[3]康际科技编著,《网络精华录系列ASP.NET行家设计实务》,中国铁道出版社,2002年1月第1版

[4]明月创作室编著,《ASP.NET编程精彩百例》,人民邮电出版社,2002年1月第1版

[5] 郑其健,杨正洪等.SQL Server 2000 关系数据库系统管理与开发[M]. 北京: 机械工业出版社, 2002: 8-14.

[6] Amit Kalani, John Schenken等著. 徐燕华 崔伟译. ASP.NET命名空间参考手册. 北京,清华大学出版社,2003.2

[7] Sanjoy Dey, Sharif Mahmud. A Web-Based Examination System in the Context of Bangladesh. The Second Asian Applied Computing Conference. Kathmandu, Nepal, 2004 : 296-301

[8] 闪四清编著, SQL SERVER实用简明教程, 北京, 清华大学出版社, 2002.4 [9] 王志伟,宋晓鹏 等编著 突破ASP.NET编程实例五十讲,北京, 中国水利水电出版社,2002,5

32

本文来源:https://www.bwwdw.com/article/i52g.html

Top