网络聊天室课程设计报告.docx
- 文档编号:9616505
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:25
- 大小:816.21KB
网络聊天室课程设计报告.docx
《网络聊天室课程设计报告.docx》由会员分享,可在线阅读,更多相关《网络聊天室课程设计报告.docx(25页珍藏版)》请在冰豆网上搜索。
网络聊天室课程设计报告
·
.NET软件开发课程设计报告
(2012-2013学年第二学期)
题目:
网络聊天室
院(系):
计算机科学与技术学院
专业年级:
10级物联网工程方向
姓名:
学号:
指导教师:
2013年06月21日
目录
1课程设计选题意义1
2相关技术及工具介绍2
2.1相关技术介绍2
2.2相关工具介绍2
3系统需求分析3
4系统总体设计4
4.1系统设计的目标4
4.2系统总体功能设计4
4.3数据库设计6
4.3.1数据库概念结构设计6
4.3.2数据库逻辑设计7
4.3.3数据库物理结构设计7
5系统实现与测试9
5.1系统开发平台及工具选择9
5.2系统功能实现9
5.2.1用户登录页面9
5.2.2用户注册页面9
5.2.3用户取回密码页面10
5.2.4用户聊天页面10
5.2.5查看聊天记录页面10
5.2.6管理员登陆页面10
5.2.7管理员管理页面10
5.3测试11
6课程设计总结14
附录16
参考文献22
1课程设计选题意义
互联网技术的广泛应用,对整个世界政治、经济、文化等各方面产生了十分广泛和深远的影响。
它奇迹般的崛起、爆炸般地扩容,令全世界瞩目。
如今,大大小小的网络已遍布全球,并通过Internet实现了互联。
据估计,Internet的规模大约每年要翻一番,网络的应用领域也从原来的科技和教育领域进入到文化、产业、政治、经济、新闻、体育、娱乐、商业以及服务等行业。
随着网络的普及,人类生活越来越依赖网络,人与人之间的交流也越多的在网络上进行。
由于交流的实时性,即时通讯系统也被越来越多的人所使用。
即时通讯系统除了普通的生活上的交流,也在商业交流中越来越受到重视,它可以是个很好的与客户之间即时交流的平台,在时间上它要比电子邮件更加具有实时性,而费用相对电话交流也要经济的多。
在这种环境下,聊天软件作为一种即时通讯工具,得到了很好的发展。
因此,设计开发一个可以灵活用于网站,论坛,公司或企业内部交流的聊天工具很有必要。
2相关技术及工具介绍
2.1应用的相关技术
B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
2.2开发工具介绍
VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。
VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。
另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术。
3系统需求分析
编写一个网站来实现网络聊天室的功能,具体要求如下:
(1)具有较好的可视化界面,做到美观、大方。
(2)含有站点地图,用Menu控件实现站点导航功能。
(3)能实现用户的登录、注册、取密码等功能。
(4)用户登录后可进行聊天,可查看在线人数和聊天记录。
(5)聊天时实现对消息中敏感词汇的提示和替换。
(6)具有管理员功能,管理员登录后可查看用户信息和用户聊天记录。
(7)管理员能够根据查询条件和查询值查询到所要查找的聊天记录(删除时有提示框)。
4系统总体设计
本章首先分析系统设计的目标,系统设计阶段的根本目标是确定应该怎样具体地实现所要求的系统。
对系统总体功能设计进行了详细的说明。
然后结合实际,根据系统相应的需求设计系统的功能,对数据库的概念结构设计,逻辑结构设计和物理结构设计等进行了详细的说明。
最后经过这一阶段的设计工作,应该得出对目标系统的精确描述,为系统的实现打下基础。
4.1系统设计的目标
本系统是基于B/S模式的网络聊天室。
主要由用户登录页面、管理员登陆页面、注册页面、取回密码页面、聊天页面、查看聊天记录页面、管理员管理信息页面(两个页面)、Web.Config配置页面以及全局应用程序类组成。
要求实现用户登录、注册、取回密码、聊天等功能。
具有管理员功能,管理员登录后可查看用户注册信息和用户聊天记录管理员的登录、管理用户信息等功能。
管理员能够根据查询条件和查询值查询到所要查找的聊天记录(删除时有提示框),用户聊天页面能看到在线人数,用户可看到消息的详细信息并可随时查看聊天记录。
实现对聊天消息中敏感信息的屏蔽功能。
4.2系统总体功能设计
本系统由用户登录页面、管理员登陆页面、注册页面、取回密码页面、聊天页面、查看聊天记录页面、管理员管理信息页面(两个页面)、Web.Config配置页面以及全局应用程序类。
其中数据源为Sqlserver,数据库连接字符串UserConnectionString存放在Web.Config中。
Session对象用来存储登录用户的用户名,以便多个页面之间的调用。
Application对象用来存储和读取全局变量,实现在线人数的统计功能。
站点地图Web.sitemap,用于站点导航。
普通用户只能实现查看聊天记录功能。
管理员登录后可实现对用户信息和聊天记录的管理。
系统的总体流程图如图4-1所示。
图4-1系统总体流程图
4.3数据库设计
数据库设计是建立数据库及其应用系统的基础,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。
按照数据库的设计步骤主要分为以下三步,即数据库概念结构设计、数据库逻辑结构设计以及数据库物理结构设计。
下面将从这三部分进行详细的分析设计。
4.3.1数据库概念结构设计
概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。
数据库概念模型是现实世界到机器世界的一个中间层次。
概念模型首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,主要有层次模型、网状模型和关系模型,其中最常用的方法之一是关系,即使用E-R图来描述某一组织的概念模型。
E-R模型是指直接从现实世界中抽象出实体类型及实体间联系,是一种描述静态数据结构的概念模型。
它的主要成分是实体、联系和属性。
可用E-R模型进行数据库概念设计。
E-R图是直观表示概念模型的工具。
系统包括的实体有3个,分别是:
管理员、用户、消息,管理员实体图如图4-2所示、用户实体图如图4-3所示、信息实体图如图4-4所示。
图4-2管理员实体图
图4-3用户实体图
图4-4消息实体图
4.3.2数据库逻辑设计
逻辑结构是独立于任何一种数据模型的,由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。
将E-R图转换为关系数据库的数据模型,其关系模式为:
管理员信息表:
User_admin(username,passwprd,question)
用户信息表:
User_usertable(username,passwprd,email,question)
聊天记录表:
User_message(username,time,message,id)
其中带下划线表示主键。
4.3.3数据库物理结构设计
数据库物理结构设计是指根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构。
表4.5管理员信息表
字段名称
字段类型
Null
含义
示例数据
username
varchar(50)
否
用户名
管理员1
password
varchar(50)
否
密码
654321
question
varchar(50)
是
密保问题
111111
表4.6用户信息表
字段名称
字段类型
Null
含义
示例数据
username
varchar(50)
否
用户名主键列
小王
password
varchar(50)
否
密码
123456
varchar(50)
否
邮箱
123456@
question
varchar(50)
是
密保问题
000000
表4.7消息记录表
字段名称
字段类型
Null
含义
示例数据
username
varchar(50)
否
发送者
张三
time
datetime
否
时间
2013-6-20
message
varchar(50)
是
消息内容
你好!
id
int
否
编号主键列
1
5系统实现与测试
经过对系统的需求分析和设计,介绍了系统开发平台和工具的选择,并对其主要的功能如用户登录模块、用户注册模块、取回密码模块、管理员登录模块、聊天模块、聊天记录模块、管理员管理信息模块进行详细的设计与实现。
5.1系统开发平台及工具选择
系统开发平台和工具为项目的实现提供了必不可少的支撑平台和环境,选择恰当的开发平台和工具,不仅可以加快开发的进度,提高开发的质量,而且还对用户的使用有极大的影响。
本节针对基于Web的毕业设计资料管理系统的需求和实际应用条件,选择应用广泛,用户熟悉和习惯的微软公司的产品,具体如下:
硬件:
PC机一台。
客户端要求:
IE5.0及以上。
软件:
1.数据库:
SQL2005。
2.开发工具:
MicrosoftVisualStudio2005。
运行环境:
Win7/WindowsXP。
5.2系统功能实现
5.2.1用户登录页面
该页面包含Menu控件,数据源为SiteMapDataSource1。
实现站点导航功能。
包含一个取消按钮,点击取消按钮后将两个TextBox按钮文本置空。
包含一个登录按钮,点击登录按钮后先判断用户名和密码是否为空,为空提示输入用户名和密码,不为空的话从数据库中查找用户名和输入用户名相同的数据项,若不存在提示用户名不存在,若存在则将比对密码是否与输入密码相同,若不同提示密码错误,若相同则登录成功跳转到聊天页面。
5.2.2用户注册页面
该页面包含Menu控件,数据源为SiteMapDataSource1。
实现站点导航功能。
页面包含四个数据验证控件用于实现用户名、密码是否为空的判断、比较两次输入的密码是否一致的判断、输入的邮箱是否为正确的邮箱格式的判断。
若均无误后,进行数据库查询操作。
如若查询到输入的注册名与数据库中的用户名相同则提示用户名已存在,否则则注册成功。
5.2.3用户取回密码页面
该页面包含Menu控件,数据源为SiteMapDataSource1。
实现站点导航功能。
页面包含一个数据验证控件用于实现用户名是否为空的判断。
若不为空则进行数据查询操作,若查不到与数据库中用户名相同的项则提示用户名不存在,若存在将输入的密保问题与数据库中的密保问题作比较,若不同,提示密保问题错误。
若相同将密码显示到页面,用户取得密码。
5.2.4用户聊天页面
该页面包含两个Lable控件,分别用于显示当前在线人数和发言人。
两个TextBox控件,用来实现显示消息和输入消息。
三个按钮,一个查看聊天记录按钮,用于跳转到查看聊天记录页面。
一个关闭按钮,用于跳转到用户登录页面。
一个发送按钮,点击之后将消息输入框的内容与数组中的词汇作比较,若包含则提示含有敏感字汇(消息未存入数据库),若不包含则将消息显示到消息框并存入数据库。
5.2.5查看聊天记录页面
该页面包含一个GridView控件,用来显示聊天记录表,绑定数据源为SqlDataSource1,并启用分页,SqlDataSource1绑定字符串为UserConnectionString。
其中数据库连接字符串UserConnectionString存放在Web.Config中。
5.2.6管理员登录页面
该页面包含Menu控件,数据源为SiteMapDataSource1。
实现站点导航功能。
页面包含一个取消按钮,点击取消按钮后将两个TextBox按钮文本置空。
包含一个登录按钮,点击登录按钮后先判断用户名和密码是否为空,为空提示输入用户名和密码,不为空的话从数据库中查找用户名和输入用户名相同的数据项,若不存在提示用户名不存在,若存在则将比对密码是否与输入密码相同,若不同提示密码错误,若相同则登录成功跳转到管理员管理页面。
5.2.7管理员管理页面
该页面包括两个页面:
用户信息管理页面:
包含一个注销按钮,用于退出登录。
一个消息管理按钮,用于跳转到消息管理页面。
一个GridView控件,用来显示用户表,绑定数据源为SqlDataSource1,并启用分页、编辑和删除,SqlDataSource1绑定字符串为UserConnectionString。
聊天信息管理页面:
该页面包含一个注销按钮,用于退出登录。
一个用户管理按钮,用于跳转到用户管理页面。
一个GridView控件用来显示聊天记录表,数据绑定由后台代码实现(根据查询条件不同绑定不同的数据),启用分页,添加删除列。
5.3测试
经过测试,设计的网站能较好的实现需求分析中的功能,满足给出的要求。
运行图如下:
图5-1用户登录
该页面用于实现对用户名、密码的验证。
核心代码为:
command.CommandText="SELECTusername,passwordFROMusertableWHEREusername='"+username.Text.Trim()+"'andpassword='"+password.Text.Trim()+"'";
图5-2用户聊天
该页面用来实现用户聊天功能。
核心代码为:
Application.Lock();
Application["message"]+=Session["username"]+"说:
"+message+DateTime.Now.ToString()+'\n';
Application.UnLock();
TextBox1.Text=Application["message"].ToString();
图5-3用户取回密码
该页面用来实现用户取回密码功能。
核心代码为:
command.CommandText="SELECTpasswordFROMusertableWHEREusername='"+username.Text+"'";
Response.Write("您的密码为:
"+command.ExecuteScalar().ToString());
图5-4用户注册
该页面用来实现用户注册功能。
核心代码为:
command.CommandText="insertintousertablevalues('"+username.Text+"','"+password.Text+"','"+email.Text+"','"+question.Text+"')";
command.ExecuteNonQuery();
Response.Write("注册成功!
");
图5-5管理员登录
该页面用来实现管理员登录功能。
核心代码为:
command.CommandText="SELECTpasswordFROMadminWHEREusername='"+username.Text+"'";
图5-6管理员管理用户信息
该页面用来实现管理员管理用户信息功能,通过GridView控件实现。
图5-7管理员管理消息记录
该页面用来实现管理员登录功能。
核心代码为:
GridView2.DataSource=show("select*frommessage");
GridView2.DataBind();
stringsql="SELECT*FROMmessageWHEREusername='"+TextBox1.Text+"'";
GridView2.DataSource=show(sql);
GridView2.DataBind();
6课程设计总结
从这次系统设计中,我发现了自己还存在很多不足,还有许多知识都没掌握。
通过这次程序设计,我懂得了怎么根据现有资料开发一些自己想要实现的一些功能的系统,懂得了只要肯努力就会有收获。
课程设计期间,我得到了经验丰富的聪厚同学的耐心指导,正是这些使得本次设计能够比较成功的完成。
这次的课程设计不仅是对过去一段时间所学知识的一次检验,同时还让我学会如何去提出问题,思考问题和解决问题。
总之,通过本次设计让自己有了新的认识,新的体会,希望在今
后的实践过程中能做的更好。
最后,感谢老师和同学们的帮助,谢谢!
附录
登录代码:
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(username.Text==""||password.Text=="")
{
Response.Write("
');");
}
else
{
StringConnectionString=WebConfigurationManager.ConnectionStrings["UserConnectionString"].ConnectionString;
SqlConnectionconn=newSqlConnection(ConnectionString);
SqlCommandcommand=newSqlCommand();
command.Connection=conn;
command.CommandType=CommandType.Text;
command.CommandText="SELECTusername,passwordFROMusertableWHEREusername='"+username.Text.Trim()+"'andpassword='"+password.Text.Trim()+"'";
conn.Open();
if(command.ExecuteScalar()!
=null)
{
Session["username"]=username.Text;
Application["meessage"]="";
Response.Redirect("ChatRom.aspx");
}
else
{
Response.Write("
');");
}
conn.Close();
}
}
注册页代码:
protectedvoidButton1_Click(objectsender,EventArgse)
{
StringConnectionString=WebConfigurationManager.ConnectionStrings["UserConnectionString"].ConnectionString;
SqlConnectionconnection=newSqlConnection(ConnectionString);
SqlCommandcommand=newSqlCommand();
command.Connection=connection;
command.CommandType=CommandType.Text;
connection.Open();
command.CommandText="SELECTusernameFROMusertableWHEREusername='"+username.Text.Trim()+"'";
if(command.ExecuteScalar()==null)
{
command.CommandText="insertintousertablevalues('"+username.Text+"','"+password.Text+"','"+email.Text+"','"+question.Text+"')";
command.ExecuteNonQuery();
Response.Write("注册成功!
");
}
else
{
Response.Write("
');");
}
connection.Close();
}
聊天页面代码:
protectedvoidButton1_Click(objectsender,EventArgse)
{
string[]let=newstring[]{"金钱","转账","付款","毒品"};
intk=0;
inti=0;
for(i=0;i { k=TextBox2.Text.ToString().IndexOf(let[i]); if(k>-1) {break;} } if(k>-1) { stringmessage=TextBox2.Text.ToString(); stringw=let[i]; message=message.Replace(w,"***"); Application.Lock(); Application["message"]+=Session["username"]+"说: "+message+DateTime.Now.ToString()+'\n'; Application.UnLock(); TextBox1.Text=Application["message"].ToString(); TextBox2.Focus(); Response.Write(""); } else { StringConnectionString=WebConfig
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 聊天室 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)