毕业设计,bbs论坛课程设计报告

石家庄信息职业学院

课程设计(实训)报告

 系    部 __            ___专    业 __软件技术___

   班    级 _        ______学    号 __         

 姓    名 ____        _____课    题 _ __bbs论坛__

 指导教师 ___          ___报告成绩______________

起讫日期: 20## 12 4 2013  1 6   

      

随着Internet技术的快速发展,人与人之间交流方式逐渐增多。网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。此外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还出现了在线论坛。在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。 开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的网上社区。因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。

关键字:论坛;asp;C#;


       

一 系统功能概述 ………………………………………………………3

1.1前言 …………………………………………………………………3

1.2需求分析 ……………………………………………………………3

1.3系统功能分析 ………………………………………………………3

二 数据库设计 …………………………………………………………4

三 系统功能设计 ………………………………………………………4

3.1 系统功能模块设计…………………………………………………4

3.2 系统功能模块介绍…………………………………………………5

3.3 BBS论坛系统的内容 ………………………………………………5

四 系统功能实现 ………………………………………………………6

4.1 通用模块介绍………………………………………………………6

4.2 用户控件介绍………………………………………………………6

4.3 前台功能界面………………………………………………………7

4.3.1 帖子相关操作………………………………………………7

五 心得体会 ……………………………………………………………8

六 参考资料 ……………………………………………………………8

附录  ……………………………………………………………………8

BBS论坛系统

一、    系统功能概述

1.1前言

BBS作为一种对外的展示窗口,进行内外信息交流,已成为大众的广泛需要。为了进行更好的交流,用户想就自己的专业和爱好能和其他的用户进行及时专业的交流,这就有了论坛,这样以来我们就可以在网络这个虚拟的空间中方便地实现交流,BBS论坛是我们在这个地球村中生活的重要交流工具。

本网站使用asp + SQL Server 2005在vs2008系统开发的,从而创建一个更为稳定,高效,安全的运行环境。

本文主要实现了一种asp论坛的设计与实现,主要功能是实现客户端和服务器端的动态交互。BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的加复者信息民,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。根据用户的需求及以上的分析, BBS论坛需要具备以下功能:显示各论坛类别及版面、查看版面下所有根帖、查看精华帖子、查看自己发表的帖子、搜索帖子、查看根帖内容、用户登录、发表帖子、回复帖子、进入后台、和用户注册。

设计BBS论坛系统所要考虑的问题主要有如何通过资源文件显示文字和使用静态代码块。设计中力求界面友好、简洁,易于操作。代码部分尽量避免逻辑错误,算法设计简单合理,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程)。

1.2需求分析

论坛也称为BBS是Bulletin Board System的简称。意思是电子公告版,它主要给浏览者提供沟通的平台。随着网上用户的普及,开发网上社区服务系统,可为网友提供方便实用的网上服务及人们之间更好的交流沟通途径.。

本系统分为管理员用户和注册用户,论坛新用户可以注册信息。注册用户登陆后,可以查看论坛的帖子信息并且回帖;如果不是注册用户不可回复帖子。可以查询用户信息和其他人所发的帖子,同时也可以回复发表自己的见解,但是非注册用户不可以发表帖子;管理员则可以对此系统进行定期更新维护:查看论坛用户发表的新帖,也可查看大家对一些新帖的不同见解,用时如果哪个新帖或回复含有有损大家的友谊的言论,管理员则可将此贴删除并且可以删除已经注册的用户。此系统将为网友提供交流的平台,同时也促使人们相互之间更好的交流与沟通。

1.3系统功能分析

   系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本系统的功能主要有:

1.3.1用户功能模块     

可分为发帖,浏览帖子,回复帖子。

(1)发帖:为已注册的用户提供发帖功能,输入内容和题目而非注册用户即游客则不能使用此功能。在发贴时,要把数据提交到添加贴是页面。添加贴的页面不但要把获取的信息保存到数据库中,还要取得当前时间作为发帖时间一起存到数据库中。在对帖子进行删除时,不但可以删除整个帖子(包括该贴的全部回复信息),而且可以删除某个帖子的单条回复。这些功能只有是管理员权限的人才可操作。

(2)浏览帖子:所有用户包括游客都可以使用此项功能。可查看帖子的主题列表也可查看帖子的发起和回复。当点击具体版面时,就可看到论坛的主题列表,在列表中分别列出了帖子发起人、发起时间、回复人、回复时间和帖子的回复数及点击率。

(3)回复帖子:依然是所有访问此WEB系统的人都可以使用回复功能。对帖子的回复是需要先确定帖子的主题ID,一个主题ID会有零个或多个回复,这个主题ID的提交也是在连接中动态生成的,回复页面只要获取该ID值即可。当用户提交帖子时,该帖子的回复信息将被提交到保存数据页面,当保存数据页面在保存完数据之后,再转到查看帖子的页面。回复某个具体有已经注册用户发起的主题,大家一起讨论,发表自己的看法。

二、数据库设计

(1)用户帖子数据表(teizi):该表用来保存用户在论坛里发表的帖子的信息,如表2-1所示。

表2-1 huitie数据表描述

(2)论坛用户数据表(users):该表用来保存论坛中注册用户的信息,如表2-5所示。

表2-2 users数据表描述

三、系统功能设计

3.1 系统功能模块设计

   在BBS论坛系统可以分为两个部分:前台和后台。具体模块如图3-1所示。

图3-1 论坛系统功能模块示意图

3.2 系统功能模块介绍

会员用户的注册、登录,登录之后的会员可以随时发表文章并回复他人发表的文章、也可以查看并回复系统及他人的短消息;以“游客”身份进入的用户只有查看文章的权限,这些都是一个比较好的论坛系统必须具备的。本BBS论坛系统主要包括如下三个方面的功能:

(1)用户登录及身份验证要求。用户在不同的权限下可以行使不同的权利。

a.用户注册。

     b.验证用户的注册信息。

     c. 系统用户进入系统时身份认证。

(2)论坛系统要求。

     a.会员可以发表文章、浏览他人文章、发表回复;收发短消息。

     b.“游客”只能浏览文章。

     c.后台管理员可以对帖子和用户进行一些操作。

3.3 BBS论坛系统的内容

BBS论坛系统使用的是SQLserver2005和visualstudio2008编写。在BBS文件夹内包括了一些子文件夹。

  (1)Image:用来存放本系统设计中用到的图片。

  (2)admin:用来存放用户的页面

  (3)App_Data:用来存放ASP.NET应用程序本地数据存储。

  (4)face:用来存放帖子的页面。

四、系统功能实现

4.1 通用模块介绍

(1)CommonFunction类

CommonFunction类定义三个函数,获取新序列号的函数getNewTableID()、获取公告信息的函数getAffiche()和设置公告信息的函数函数set Affiche()。

(2)DBOperate类

DBOperate类是一个数据库操作类、封装了底层的数据操作。例如输入SELECT语句。将返回指定数量的数据记录、根据SQL语句返回一条记录,执行SQL语句。

(3)DBOperateSite类

DBOperateSite类内包含了论坛的一些业务逻辑。例如检查用户是否存在、获取用户级别、获取用户管理级别等。

(4)ConvertInput类

ConvertInput类的作用是转换用户的输入信息。例如用户输入的字符串转换为可换行、替换HTML编码、无危害数据库特殊字符、去掉收尾空白的安全方便代码。

4.2 用户控件介绍

(1)论坛注册控件,如图4-1。

 

图4-1

(2)最新帖子列表控件,如图4-3。

图4-2

4.3 前台功能界面

4.3.1帖子相关操作

(1)帖子浏览,如图4-3。

图4-3

(2)帖子选择,如图4-4

(3)帖子删除,如图4-5

图4-5

五、心得体会

为期1周的课程设计结束了,在这次的BBS论坛课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

ASP.NET课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

通过这次ASP.NET课程设计,本人在多方面都有所提高。从本系统的开发过程中,我受益匪浅。首先,我认识到了代码规范的重要性,特别是在一些大型项目中,用到的函数可能有数百个,如果编写的代码不规范会给后期的检查带来极大的麻烦。其次,我意识到了软件设计的重要性,原来接触的项目往往是快速开发类型,几乎不需要在软件的逻辑设计上花费太多的时间,往往可以边开发边进行下一步的设计。但是这一次我意识到做软件设计的重要性,当初一个设计没注意,可能回造成后来的编码大面积的返工。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在韩老师的辛勤指导下,终于迎刃而解。同时,在王老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和韩老师再次表示忠心的感谢!

六、参考资料

[1]郑耀东.ASP.NET从入门到实践.清华大学出版社,2009

[2]武新华 秦连清 蔡丽丽 张志勇.ASP.NET+SQL数据库案例精粹.西安电子科学大学出版社,2007

[3]孙更新 宾晟 孙海伦.’网站’+’论坛’开发全程实录.清华大学出版社,2008

[4]翁健红.基于C#的ASP.NET程序设计.机械工业出版社,2010

附录

部分代码1

<form id="form1" runat="server">

    <div>

   

        <asp:Label ID="Label1" runat="server" Text="作者:"></asp:Label>

        <asp:TextBox ID="TextBox1" runat="server" Width="160px"></asp:TextBox>

        <br />

        <br />

        <asp:Label ID="Label2" runat="server" Text="帖子内容:"></asp:Label>

                <br />

        <asp:TextBox ID="TextBox2" runat="server" Height="86px" TextMode="MultiLine"

            Width="358px"></asp:TextBox>

        <br />

        <asp:Label ID="Label4" runat="server" Text="发表时间:"></asp:Label>

        <asp:Label ID="Label3" runat="server"></asp:Label>

        <br />

        <br />

        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="提交" />

        <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="重写" />

   

    </div>

    </form>

部分代码2

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

{

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    protected void Button2_Click(object sender, EventArgs e)

    {

        TextBox1.Text = "";

        TextBox2.Text = "";

       

    }

    protected void Button1_Click(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection("server=lenovo-PC;DataBase=Rain; User=sa; pwd=sa;");

        con.Open();

        //DateTime b;

        //b = System.DateTime.Now;

        //Label4.Text =b.ToString();

        Label4.Text = System.DateTime.Now.ToString().Trim();

        SqlCommand com = new SqlCommand("insert into teizi(zuozhe,words,datime) values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+Label4.Text+"');",con);

        com.ExecuteNonQuery();

        Response.Write("<script language=javascript>alert('发表成功')</script>");

        Response.Redirect("~/Default.aspx");

    }

}

相关推荐