河 南 工 程 学 院
实 习 报 告
课程名称 ASP.NET程序设计实训 设计题目 网上在线论坛 系(部) 计算机学院 班 级 学 号 姓 名 实习时间 2013.12.30-2014.1.3 指导教师 李艳玮
2014年 1 月 3日
实 习(训) 报 告 评 语
等级:
评阅人:
职称: 年 月 日
目录
摘 要 ...................................................................... 4 一 绪论 ..................................................................... 5 1课题开发背景 ............................................................... 5 2课题开发意义 ............................................................... 5 二 系统分析 ................................................................. 5 1 可行性分析................................................................. 5 2 需求分析................................................................... 6 3 角色分析................................................................... 6 三 网站总体设计 ............................................................. 7 1 系统目标................................................................... 7 2 系统功能结构............................................................... 7 3 功能描述................................................................... 8 4 业务流程图................................................................. 8 5 构建开发环境............................................................... 9 6 数据库设计................................................................. 9 7 文件夹组织结构............................................................ 12 四 网站详细设计 ............................................................ 13 1公共模块设计 .............................................................. 13 2用户登录页面设计 .......................................................... 14 3网站首页设计 .............................................................. 15 4用户协议页面设计 .......................................................... 17 5注册信息页面设计 .......................................................... 18 五 总结 .................................................................... 20 1系统的特点与不足 .......................................................... 20 2系统以后的扩展与拓宽 ...................................................... 20 3自己的体会与感想 .......................................................... 20 参考文献 ................................................................... 21
摘 要
应本学期实训要求,设计BBS系统。BBS起源于20世纪80年代初,最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛。作为与网民交流的园地。同时在线技术支持和在线服务也在论坛中开展起来。
BBS论坛系统是为了方便大家的沟通和获取信息而开发的系统。本文阐述了一个网上在线论坛网站的基本体系结构,它包括浏览搜索帖子、用户登陆注册、发表回复帖子、个人资料管理和帖子管理;后台功能主要包括用户管理、论坛版块管理和帖子管理等功能模块,并构建了一个网上在线论坛网站的基本体系结构。
本系统采用VS2008集成开发环境进行编程开发,配合使用微软数据库系统SQL SERVER 2008数据库来存储网站中用到的数据信息。
关键词:在线论坛网站设计 VS2008 SQL SERVER 2008 数据库
4
一 绪论
1课题开发背景
应本学期实训要求,设计BBS系统。BBS起源于20世纪80年代初,最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛,作为与网民交流的园地。同时在线技术支持和在线服务也在论坛中开展起来。 2课题开发意义
BBS论坛系统是为了方便大家的沟通和获取信息而开发的系统。我们利用Asp.Net知识和SqlServer2008开发BBS论坛管理系统。该系统以Internet为平台,前台可使任何人注册、登录、登录在论坛上进行发帖、回帖、浏览帖子等。总之, 通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库编程实践。该网站基本上满足了大家通过网上在线论坛进行正常的沟通与学习。
二 系统分析
1 可行性分析
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。
一、经济可行性
经济可行性主要是对项目的经济效益进行评价。本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。
二、技术可行性
技术可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是ASP.NET进行开发,前台网页设计使用的是Microsoft Visual Studio 2008,而数据库系统采用的是SQL2008。通过分析,
5
在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。
三、时机可行性
时机可行性是分析系统开发时机是否成熟。目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。
四、管理可行性
主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。
综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。 2 需求分析
网上论坛主要的功能是讨论各种语言的开发技术、技巧,并交流开发经验等,但是需要对技术栏目的文章浏览和发表文章功能加以,这样,论坛的管理功能显得尤为重要。除此之外,还需要将用户划分为不同级别,根据用户级别的不同在论坛中为用户分配不同的权限。同时,一个成功的BBS系统还需要拥有对各种信息管理的功能。通过对一些典型BBS系统的考察、分析,要求本系统具有以下特点:
一、要求系统具有良好的人机界面。
二、功能强大,操作简单,扩张性强,稳定性高。 三、系统无操作系统,方便不同平台之间的移植。 四、网站最大限度的实现维护性和易操作性。 五、网站运行稳定、安全可靠。 3 角色分析
本网站是为了方便大家的沟通和获取信息,同时促进大家互相认识,以便提高人们的娱乐生活水平。本网站分为两个角色,管理员和用户。
每个角色操作的共性是通过密码验证后登录,显示身份信息,通过点击修改密码菜单实现密码更改。角色工作完成后,通过注销登录退出登录状态。
管理员可以对帖子、版块、用户等进行相关的管理。
用户可以注册、登录、登录网上在论坛上进行发帖、回帖、浏览帖子等。
6
三 网站总体设计
1 系统目标
开发网上论坛的最终的是为用户提供一个良好的技术交流平台,得到用户的及时反馈。本系统实际时实现以下几个目标:
◇ 系统界面友好、美观。
◇ 划分用户级别,将不同的权限划分给不同的用户。 ◇ 合理管理论坛相关信息。 ◇ 易于维护和发展。 ◇ 系统运行稳定、可靠。 2 系统功能结构
网上论坛是一个典型的ASP.NET应用程序。当进入论坛的首页后不论是论坛的注册用户,还是普通游客,其区别在于随着用户的等级不同,所拥有的功能也不同。功能结构如图3-1所示:
论坛功能模块 发表新帖 用户信息 回复/浏览帖子 用户登录 添加新帖子信息 添加用户信息 查询用户信息 修改用户信息 删除用户信息 浏览帖子详细信息页 回复帖子信息 用户注册
图3-1功能结构图
7
3 功能描述 一、会员注册
新会员注册,提供会员信息,检验会员信息的有效性。 二、会员登陆
提供用户凭证,验证用户信息,基于角色授权。 三、会员管理
管理员由系统初始化分配一个,管理员可以对会员信息户角色调整,版主调整,删除会员等。
四、论坛版块管理
管理员可以添加、删除、论坛版块。 五、帖子管理
管理员可以对所有帖子进行删除等操作,也可以对本版块帖子进行置顶、删除等操作。
六、帖子发表
注册用户可以在感兴趣的版块中发表新主题帖。 七、帖子回复
用户可以对自己感兴趣的主题发表回复。 八、帖子浏览
用户可以浏览所有可见帖子。 4 业务流程图
网上在线论坛的业务流程图如图3-2所示:
8
论坛系统 用户注册 用户登录 发表主题 用户管理 用户相关信息 发表回复 普通用户 管理员 浏览管理 浏览相关信息 浏览文章 发表管理 发表相关信息 浏览论坛 图 3-2业务流程图
回复管理 回复相关信息
5 构建开发环境
网站开发环境:Microsoft Visual Studio 2008 集成开发环境。 网站开发语言:ASP.NET+C# 网站后台数据库:SQL Server 2008
开发环境运行平台: Windows XP/Windows 2003 6 数据库设计
本系统采用SQL Server 2008 数据库,名称为luntan ,其中包括4张表。下面分别给出数据表概要说明、数据表E-R图及主要数据表的结构。
一、数据库概要说明
如图3-3所示,为系统数据表树形结构:
9
图3-3数据表树形结构
二、数据库概念设计
通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划处系统中使用的数据库实体对象分别为发帖信息实体、回帖信息实体、头像信息实体以及用户信息实体。实体E-R图如以下所示。
图3-4发帖信息实体E-R图
图3-5回帖信息实体E-R图
10
图3-6头像信息实体E-R图
图3-7用户信息实体E-R图
三、数据库逻辑结构设计
根据数据库实体E-R图设计数据表结构。由于篇幅,下面给出主要数据表的结构,如下所示。
tb_Users(用户信息表)
用户信息表主要存储用户的相关信息,如图3-8所示。
图3-8用户信息表
tb_hf(回贴信息表)
回贴信息表主要存储回复帖子的相关信息,如图3-9所示。
11
图3-9回贴信息表
tb_Content(发帖信息表)
发帖信息表主要存储发表帖子的相关信息,如图3-10所示。
图3-10发帖信息表
tb_touxiang(头像信息表)
头像信息表主要存储头像的相关信息,如图3-11所示。
图3-11头像信息表
7 文件夹组织结构
如图3-12所示,为文件的组织结构。
12
图3-12网站文件组织结构图
四 网站详细设计
网站的详细设计主要包括公共模块设计、用户登录页面设计、网站首页设计、用户协议页面设计、注册信息页面设计。 1公共模块设计
一、功能描述:
本系统中创建了一个公共类 DB 类,主要用来访问 SQL Server 2008 数据库,数据库操作类主要的功能是连接数据库。
二、设计思路:
首先在命名空间区域引用命名空间。
using System.Data.SqlClient;
三、核心代码:
public class DB {
private static String connectString =
ConfigurationManager.ConnectionStrings[\"connectString\"].ConnectionString; public static SqlConnection createDB()
13
{
SqlConnection con = new SqlConnection(connectString); return con; } }
2用户登录页面设计
一、功能描述:网上在线论坛的用户登录页面主要显示用户登录的界面,并提供用户凭证,验证用户信息,基于角色授权。经过验证后如果输入的用户名和密码错误,则会提示出错信息,若正确便可进入相应的后台操作界面 。
二、设计思路:该界面主要运用了Label、Textbox、Button控件,输入用户姓名和用户密码后点击确定按钮即可跳转到网站首页界面。
三、核心代码:
protected void btnOk_Click(object sender, EventArgs e) {
SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = \"select count(*) from tb_Users where UserName='\" + this.txtyhm.Text + \"'and UserPwd='\" + this.txtyhmm.Text + \"' \"; con.Open();
int a = Convert.ToInt32(cmd.ExecuteScalar()); if (a > 0) {
Session[\"UserName\"] = this.txtyhm.Text; Session[\"UserPwd\"] = this.txtyhmm.Text;
Response.Redirect(\"~/Default2.aspx\");
} else {
Response.Write(\"\");
}
con.Close(); }
四、网上在线论坛用户登陆页面实现结果如图4-1所示。
14
图4-1在线论坛用户登录页面运行效果
3网站首页设计
一、功能描述:网上在线论坛的网站首页主要显示论坛中帖子的信息列表,并提示网站菜单导航及用户登录和注册功能。网站菜单导航包括用户信息管理、修改当前用户信息、用户信息查询、用户登录、发表帖子、用户注册等。
二、设计思路:本模块使用的数据表:tb_Users、tb_Conten。该界面主要运用了Label、Literal、Textbox、ImageButton、GridView控件。
调用用户定义aa()方法,首先创建一个新的数据库连接对象,并初始化一个SqlCommand命令对象,然后通过SqlDataAdapter(数据适配器)的Fill()方法填充创建的DataSet数据集,最后以DataBind()方法绑定数据库中的数据,以显示注册会员发表帖子的相关信息。
在应用程序中应用GridView控件自带的分页技术时,首先将GridView控件的AllowPaging属性设置为True,以允许该控件分页,然后触发其PageIndexChanging事件,并在该事件中编写GridView控件分页的代码。
三、核心代码:
15
public void aa() {
SqlConnection con = DB.createDB(); string sql = \"select * from tb_Content\";
SqlCommand cmd = new SqlCommand(sql ,con ); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds, \"tb_Content\"); this.gvlt.DataSource = ds;
this.gvlt.DataKeyNames = new string[] { \"ContId\" }; this.gvlt.DataBind(); con.Close();
}
protected void ImageButton1_Click1(object sender, ImageClickEventArgs e) {
SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open();
cmd.CommandText = \"select count(*) from tb_Users where UserName='\" + this.txtname.Text + \"'and UserPwd='\" + this.txtpwd.Text + \"' \"; int a = Convert.ToInt32(cmd.ExecuteScalar()); if (a > 0) {
Response.Write(\"\");
Session[\"UserName\"] = this.txtname.Text; Session[\"UserPwd\"] = this.txtpwd.Text;
this.Literal1.Text = Session[\"UserName\"].ToString() + \" \" + \"登录成功\"; txtname.Text = \"\"; txtpwd.Text = \"\"; } else {
Response.Write(\"\"); }
con.Close();
}
四、网上在线论坛首页实现结果如图4-2所示。
16
图4-2在线论坛首页运行效果
4用户协议页面设计
一、功能描述: 网上在线论坛的网站的用户协议页面主要显示网站的用户协议,及是否同意该协议。
二、设计思路:该界面主要运用了Label、Button等控件。点击同意按钮即可跳转到注册信息页面。反之,点击不同意按钮将跳转到网站首页。
三、核心代码:
public partial class zhucexinix_UserProtocol : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
}
protected void btnty_Click(object sender, EventArgs e) {
Response.Redirect(\"~/zhucexinix/Register.aspx\"); }
protected void btnbty_Click(object sender, EventArgs e) {
Response.Redirect(\"~/Default2.aspx\"); }
}
17
四、在线论坛用户协议页面实现结果如图4-3所示。
图4-3在线论坛用户协议页面运行效果
5注册信息页面设计
一、功能描述:要在论坛中发表帖子必须注册成为会员。在网站首页中单击“注册”按钮,首先进入用户协议页面(Userprotocol.aspx),同意用户协议之后再进入注册页面,在其中根据提示提示输入相关信息。另外,注册的用户可以选择自己喜欢的有个性的头像在论坛中代表自己的形象。完成以上操作,单击“保存”按钮,系统核对无误后即可注册为会员,
二、设计思路:该界面主要运用了Label、Image、Textbox、RequiredFieldValidator、LinkButton、DropDownList等控件。
在page_Load单击事件中,根据传过来的变量id的值查询头像信息表,主要通过SqlDataAdaper类实现,然后通过Fill()方法,将数据绑定到数据集中并且将数据绑定到DropDownList控件中加以显示。
单击“保存”按钮,通过SqlConnection对象的BeginTransaction()方法创建名为st的SqlTransaction对象,然后将该对象分配给SqlCommand对象的Transaction属性,然后通过该对象的Commit()方法提交事务,利用SqlTransaction对象的Rollback()方法回滚事务。
三、核心代码:
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack)
18
{
SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open();
string sqlstr = \"select * from tb_touxiang\";
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, con); DataSet myds = new DataSet(); myda.Fill(myds, \"tb_touxiang\");
this.ddltouxiang.DataSource = myds.Tables[\"tb_touxiang\"]; this.ddltouxiang.DataTextField = \"Image\"; this.ddltouxiang.DataBind();
this.imgtouxiang.ImageUrl = this.ddltouxiang.SelectedValue; con.Close(); }
protected void Button1_Click(object sender, EventArgs e) {
SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open();
cmd.CommandText = \"insert into tb_Users(UserId,UserName, UserPwd, Ename, Email, Logo) values('\" + this.TextBox1.Text + \"','\" + this.txtname.Text + \"','\" + this.txtpwd.Text + \"','\" + this.txtywname.Text + \"','\" + this.txtemail.Text + \"','\" + this.ddltouxiang.SelectedItem.Text.ToString() + \"')\"; cmd.ExecuteNonQuery();
Response.Redirect(\"~/tisixinxi/chenggong.aspx\"); con.Close(); }
四、在线论坛注册信息页面实现结果如图4-4所示。
图4-4在线论坛注册页面运行效果
19
五 总结
1系统的特点与不足
本系统能完成帖子的发送与回复。其中用户还可以注册,登录等功能。界面设计简单但不缺乏韵味。管理员能对系统进行管理,系统使用了母版页,还是用了一定的权限管理。所以会一个页面的设计就会其他的设计了。
有的界面不够完善,比如说用户登录界面,只有用户姓名和用户密码,应当再添加一些验证信息,这样既安全又美观。论坛首页界面还可以增加更多发帖发帖内容。如果能实现这个功能,系统将会更完善。 2系统以后的扩展与拓宽
有些方面没有考虑到,还有一些功能没有实现。比如说没有考虑版主的问题。不仅管理员可以登录后台对版块进行管理,其实版主也可以直接对版块进行相关的操作。另外界面的友好性可能还不够,也许有些地方只是按照自己的理解设计的,可能存在缺陷,以后慢慢拓宽和改善,也由于自己努力不够,能力有限,希望在以后的学习中让系统尽可能的从各方面完善。 3自己的体会与感想
1.这次实训运用了软件工程的设计思想,展现出一个完整的系统开发流程。在程序的开发过程中,采用了JavaScript脚本语言是整个系统的操作变得更加方便、灵活。
2.在做网上在线论坛网站的过程中,我们不忽略任何细节,尽我们的最大努力做到网站结构完整、功能齐全、代码无误。当我们遇到问题和不懂得知识点时,及时讨论并向老师和同学请教,或者去图书馆查阅相关书籍。
3.与此同时,我们小组三人协同合作、分工明确,在共同的学习中我们认识到这与我们的团结是分不开的。此外,感谢老师的指导与帮助。今后,我们将再接再厉、努力学习,争取更大的进步。
20
参考文献
[1]朱晔ASP.NET第一步.2007年7月第一版.清华大学出版社, 2008,01
[2] 孟宪会 张慧研ASP.NET 2.0应用开发技术.人民邮电出版社,2007,
08
[3] 金旭亮NET 2.0面向对象编程揭秘.电子工业出版社,2007,06 [4] 周奇SQL Server2005数据库基础及应用.北京大学出版社,2009,02
[5] 邵鹏明C#面向对象程序设计.清华大学出版社,2008,04
[6] 陈元春 张亮 王勇.实用数据结构基础.2007年8月第2版.中国铁道出版社
[7] 王养廷 李磊 宋汉珍.UML基础与应用.清华大学出版社,2009,06
[8] 曾光 马军JavaScript入门与提高.科学出版社,2008,11 [9] 杜文洁软件测试教程.清华大学出版社,2009,07
[10] 韩陵宜网页制作.中国科学技术大学出版社,2008,01 [11] 钟玉,阳昊,浅谈大学校园网BBS,益阳师专学报,2004,11 [12] 刘冰,从BBS 看校园网络文化对大学生学习的影响,现代远程教育研究,2005,02
[13] 邵斐,基于Web的BBS系统的建立,金陵职业大学学报,2003,03
21
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务