版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录一、前言1二、设计前分析22.1 需求分析222.3 实现可行性分析2三、需求分析43.1 项目规划43.2 系统总体功能结构图43.3 系统总体流程5四、系统详细设计64.1 数据库设计64.2 系统主要功能详细设计与实现8五、参考文献27 一、前言计算机实验课在线答疑系统采用sql2005+为设计开发平台,主要为计算机机房提供一个利用现有设备进行课程教学,师生互动问答讨论的系统。通过相应功能模块实现问题的实时或留言问答,实验内容等文件资源的共享上传与下载,以及相关知识拓展,师生在电脑前就能完成全程教学,使学生摆脱了以前的羞涩心理,主动参与到网络学习活动中来,有效地调动了学生学习的积极
2、性。同学与同学之间、教师与同学之间的讨论既活跃了思维,也拉近了彼此的距离,促进了教学活动的开展。本系统基于网络教学支撑平台的教学模式具备人机互动、师生互动的优势,体现出以人为本,自主学习的特点,突破时空界限,延伸课堂空间,拓展思维方法,有利于培养善思考、高素质的综合人才,适应信息时代教育发展的要求。二、设计前分析2.1 需求分析首先,针对计算机实验室的特点,在线答疑功能模块可以利用现有的局域网拓扑结构,在网络环境中进行信息的输入与传输显示。通过对交谈方式的控制,在群聊和提出疑问等功能。再次,在线答疑模块中,主要是实现类似qq群聊天的即时通讯功能,里面的发言呈现出多人发言,交叉发言,讨论内容多且
3、比较凌乱的现象,不利于对某一疑问的深层次探讨。因此,在系统中,应设置类似我们平时所用的论坛留言的功能模块,并包含了发表疑问,回复疑问,管理疑问信息等功能。最后,该系统提供的后台数据管理,应让具有管理权限的人员对数据库进行操作,包括学生信息的管理,疑问管理等功能,具体功能呈现为对数据源的数据进行访问、添加、编辑、删除等操作。极大方便地对系统进行统一管理控制与显示。2.2 系统开发工具及思路本系统以ASP.NET2.0技术为蓝本、C#为开发语言、Microsoft Visual 2005版为开发环境、Microsoft SQL Server 2005为数据存储。运行环境的配置包括Microsoft
4、 .NET Framework 2.0,Internet 信息服务版本IIS5.1, Internet Explorer 6.0。本系统能很好地实现数据存储、运行业务逻辑、界面显示。以本身为.NET Framework而设计的C#语言开发系统,是真正面向组件的开发,无需考虑语言的兼容性,并且开发过程也比较简单易懂。利用Microsoft SQL Server 2005作为数据库服务器,可以方便地实现系统与数据库的连接,并且性能稳定、管理方便。2.3 实现可行性分析需求上可行性:在线答疑系统让同学们在计算机课室方便地进行课程学习与交流讨论,还可以管理班级的事务、通知。使得师生之间的教学互动省时,
5、省力。极大得提高同学们学习的主动性,促进了信息化教学的发展。技术上可行性:目前,IT网络技术已经发展成熟并得到普遍应用,硬件方面,cpu双核芯片成为流行配置,开发运行.NET系统所需的系统要求,内存要求完全能够满足。实现该系统在技术上是可行的。经济上可行性:该系统开发所需的工具主要是一台我们常用的个人主机,再加上一套常用软件VS2005+SQL2005,以现有的计算机课室的局域网络作为运行传输环境即可。实现该系统花费少,是可行的。三 、系统总体设计3.1 项目规划总体规划:在线答疑系统是一个典型的ASP.NET数据库开发应用程序,由系统前台展示模块、后台数据管理模块两大部分组成。前台展示模块:
6、该模块主要提供即时发言的输入与显示,发表疑问与回答,以及身份登录验证等功能模块。后台管理:该模块主要是对前台数据库进行管理,主要包括用户管理、疑问管理。3.2 系统总体功能结构图图 前台功能结构图图后台功能结构图用户成功登录后,如果验证是管理员身份,则可进入后台管理,如果是普通用户,则定向到系统前台首页。在首页里,默认是即时发言页面,也可通过页面链接到提出疑问页面。在即时发言页面,使用ajax的UpdatePanel和Timer空间实现信息窗口的定时局部刷新。在查看疑问页面,可以发表疑问或者点击相应疑问,进入详细回答页面。图系统总体流程图四、系统详细设计本系统数据库采用SQL Server 2
7、005数据库设计,其中包括6张表。4数据表的设计用户信息表 用户信息表记录用户的基本信息。其主要字段包括:用户ID、用户名称、用户密码、用户职位。见表所示:表用户信息表名称字段名称数据类型长度非空用户编号idint4yes用户名称usernamevarchar50yes用户密码passwordvarchar50yes疑问信息表 该表主要是记录发表疑问信息,以及访问次数和回答次数。包括标题,具体内容,提问者等字段。见表所示:表 疑问信息表名称字段名称数据类型长度非空默认值id号idint4yes提问者Authornvarchar50yes标题Subjectnvarchar50yes内容Conte
8、ntntext16no提问时间PostTimedatetime8yesgetdate()访问次数TotalViewint4yes回答次数Replyint4yes回复信息表 回复信息表主要字段包括:回答编号id、对应的问题id、回答者、标题、详细回答内容、回答时间。见表所示:表回复信息表名称字段名称数据类型长度非空默认值回答编号MessageIDint4yes对应问题idint4yes回答者Authornvarchar50yes标题Subjectnvarchar50yes详细内容Contentntext16no回答时间PostTimedatetime8yesgetdate()文件信息表文件信息表
9、主要字段包括:编号(id)、上传者用户名(Send_UserName)、上传的文件(Send_File)、上传的时间(Send_Time)、上传的文件名(Send_FileName)。见表所示:名称字段名称数据类型长度非空默认值编号idint10yes发送者Send_UserNamevarchar50no文件Send_Filevarchar50no上传时间Send_Timevarchar50no文件名Send_FileNamevarchar100no连接信息表连接信息表包括编号(id)、网站名称(name)、网址(link)、简介(show)。见表所示:名称字段名称数据类型长度非空默认值编号i
10、dint10yes网站名称namenchar10yes网址linknvarcharmaxyes简介shownvarcharmaxno公告信息表公告信息表包括编号(id)、通知主题(title)、内容(content)、发布时间(time)。见表如下:名称字段名称数据类型长度非空默认值编号idint10yes通知主题titlenvarchar50yes内容contentnvarcharmaxyes发布时间timedatetime50yes 数据库表间的逻辑关系图数据库的表与表之间各字段的关系如图所示:图数据库表间关系图4.2、系统主要功能模块详细设计与实现 前台主要功能模块介绍登录模块该模块为系
11、统的首个页面为default.aspx,主要是实现登陆用户的身份验证,让已经注册的的用户可以顺利的进入系统进行交流,而没有注册的用户则不可以进入系统。当登陆按钮按下时的代码:protected void Button2_Click(object sender, EventArgs e) string username = TextBox1.Text.Trim(); string pwd = TextBox2.Text.Trim(); int iRet = -1; if (username = zzq & pwd = 323114) Response.Redirect(guanli.aspx);
12、 else string myconnection = Data Source=PC-201010071136;Initial Catalog=sheji;uid=sa;pwd=123; SqlConnection conn = new SqlConnection(myconnection); string strsql = select * from user1 where name=username and password=pwd; SqlCommand cmd = new SqlCommand(strsql, conn); conn.Open(); cmd.Parameters.Add
13、(username, SqlDbType.NVarChar, 50); cmd.Parametersusername.Value = username; cmd.Parameters.Add(pwd, SqlDbType.NVarChar, 50); cmd.Parameterspwd.Value = pwd; SqlDataReader ds = cmd.ExecuteReader(); if (ds.Read() Sessionname = TextBox1.Text; Response.Redirect(Default2.aspx); else Response.Redirect(Def
14、ault.aspx); 即时发言模块:该模块首页面为Default2.aspx,页眉为自定义全局控件,里面包括各功能模块的链接,和显示登陆者等信息。中间为即时发言界面,主要是显示信息和发送信息。本页面使用ajax ajax的UpdatePanel和Timer空间实现信息窗口的实时刷新。登录页面Default2.aspx时,载入处理函数Page_Load(),控制代码为:即时发言的界面为:主要实现代码为: protected void Page_Load(object sender, EventArgs e) Label1.Text = Applicationsheji.ToString();
15、protected void Timer1_Tick(object sender, EventArgs e) Label1.Text = Applicationsheji.ToString(); protected void Button1_Click(object sender, EventArgs e) string message; message = + this.Sessionname+ 说:; message += this.TextBox1.Text; message += + DateTime.Now.ToLongTimeString() + ; message += ; in
16、t p_int_current=int.Parse(Applicationcurrent.ToString(); Application.Lock(); if (p_int_current = 0 | p_int_current 15) p_int_current = 0; Applicationsheji = message; else Applicationsheji = Applicationsheji.ToString() + message; p_int_current += 1; Applicationcurrent = p_int_current; Application.UnL
17、ock(); this.TextBox1.Text = ; 发表疑问模块:该模块主要页面包括显示疑问列表页面Default3.aspx,该模块主要实现疑问的查看疑问和发表疑问,里面有图片链接可以链接到相应的疑问查看具体的回复。删除功能包含在后台管理页面中。发表疑问主要实现代码为: protected void Button1_Click(object sender, EventArgs e) if (TextBox1.Text != null) string myconnection = Data Source=PC-201010071136;Initial Catalog=sheji;uid
18、=sa;pwd=123; SqlConnection conn = new SqlConnection(myconnection); string strsql = INSERT Into wenti (author,biaoti,content,posttine) values (author,biaoti,content,posttime); SqlCommand cmd = new SqlCommand(strsql, conn); conn.Open(); cmd.Parameters.Add(author, SqlDbType.NVarChar, 50); cmd.Parameter
19、sauthor.Value = this.Sessionname.ToString(); cmd.Parameters.Add(biaoti, SqlDbType.NVarChar, 50); cmd.Parametersbiaoti.Value = this.TextBox1.Text; cmd.Parameters.Add(content, SqlDbType.NText, 200); cmd.Parameterscontent.Value = this.TextBox2.Text; cmd.Parameters.Add(posttime, SqlDbType.DateTime, 50);
20、 cmd.Parametersposttime.Value = System.DateTime.Now.ToString(); SqlDataReader ds = cmd.ExecuteReader(); conn.Close(); Label1.Text = 添加成功; TextBox1.Text = ; TextBox2.Text = ; this.GridView1.DataBind(); else Label1.Text = 标题不可为空; 显示疑问模块该模块采用GridView控件添加数据源实现,里面添加一个TemplateField控件实现具体疑问回复的查看:主要实现代码为:pr
21、otected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = Select) Sessionid = e.CommandArgument; Response.Redirect(Default4.aspx?id=+e.CommandArgument); 查看回复模块本模块主要是实现对具体疑问的详细查看和回复,类似于论坛样式,在这里用户可以查看自己想要获得的答案或者发表自己对问题的见解。主要的实现代码是: if (TextBox1.Text != null) stri
22、ng myconnection = Data Source=PC-201010071136;Initial Catalog=sheji;uid=sa;pwd=123; SqlConnection conn = new SqlConnection(myconnection); string strsql = INSERT Into huifu (id,hauthor,content,posttime) values (id,hauthor,content,posttime); SqlCommand cmd = new SqlCommand(strsql, conn); conn.Open();
23、cmd.Parameters.Add(id, SqlDbType.Int, 50); cmd.Parametersid.Value =this.Sessionid.ToString() ; cmd.Parameters.Add(hauthor, SqlDbType.NVarChar, 50); cmd.Parametershauthor.Value = this.Sessionname.ToString(); cmd.Parameters.Add(content, SqlDbType.NText, 200); cmd.Parameterscontent.Value = this.TextBox
24、1.Text; cmd.Parameters.Add(posttime, SqlDbType.DateTime, 50); cmd.Parametersposttime.Value = System.DateTime.Now.ToString(); SqlDataReader ds = cmd.ExecuteReader(); conn.Close(); Label1.Text = 添加成功; TextBox1.Text = ; this.DataList2.DataBind(); else Label1.Text = 标题不可为空; 共享文件模块本模块主要是实现在实验过程中产生的文档,可以上
25、传文档和下载文档。实现的见面及主要代码:wenjian 上传文件 asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT * FROM SendFile ORDER BY id desc protected void SaveBtn_Click(object sender, EventArgs e) String username, FileTitle1; username = Accept_User.Text; FileTitle1 = FileTitle.Text; St
26、ring Send_user1 = Sessionname.ToString(); /String TitleStr = Send_user1 + To + username; String TimeNow = DateTime.Now.Year.ToString() + - + DateTime.Now.Month.ToString() + - + DateTime.Now.Day.ToString() + - + DateTime.Now.Hour.ToString() + : + DateTime.Now.Minute.ToString() + : + DateTime.Now.Seco
27、nd.ToString(); MyUpload MyUpload = new MyUpload(); MyUpload.Sizes = 2048; string Pic1 = File/; string myconnection = Data Source=PC-201010071136;Initial Catalog=s;uid=sa;pwd=123; MyUpload.Path = File; MyUpload.FileType = jpg|gif|bmp|JPG|GIF|BMP|doc|DOC|txt|TXT|xls|XLS|FLV|flv|SWF|swf; MyUpload.Poste
28、dFile = FileUpload1.PostedFile; FileTitle1 = MyUpload.PostedFile.FileName; string b = FileTitle1.Split(); FileTitle1 = bb.Length - 1; String Pic2 = MyUpload.Upload(); if (Pic2 = null) Page.RegisterStartupScript(, alert(上传失败!); Response.AddHeader(Refresh, 0.0001); else Pic2 = Pic1 + Pic2; String Sql
29、= insert into SendFile(Accept_UserName,Send_UserName,Send_File,Send_Time,Send_FileName) values( + username + , + Send_user1 + , + Pic2 + , + TimeNow + , + FileTitle1 + ); SqlConnection con = new SqlConnection(myconnection); con.Open(); SqlCommand cmd = new SqlCommand(Sql , con); int count = Convert.
30、ToInt32(cmd.ExecuteNonQuery(); if (count 0) Page.RegisterStartupScript(, alert(上传成功!); con.Close(); Accept_User.Text = ; Send_User.Text = ; 知识拓展模块知识拓展模块主要是实现在学有余力的时候可以进入相关的学习网站学习知识。具体的实现界面和主要代码如下: asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT id, name, link,
31、 show FROM linki 事务通知模块本模块主要是实现一些事情的通知功能。实现界面和主要实现代码如下: 无标题页 asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT id, title, time FROM gonggao ORDER BY time DESC asp:SqlDataSource ID=SqlDataSource2 runat=server ConnectionString= SelectCommand=SELECT id,title,conten
32、t FROM gonggao WHERE (id = id) 后台主要功能模块介绍在后台管理页面中,包含了母版页,主要是各子功能模块管理的链接按钮,集中管理了后台的显示。用户管理模块:该模块的页面为guanli.aspx,主要是使用SqlDataSource控件实现应用程序与数据库的链接,gridview数据控件显示、编辑、删除学生数据信息,可以实现用户的添加。主要实现代码: if (TextBox1.Text = null | TextBox2.Text = null) Label2.Text = 用户名和密码不可为空!; else string username = TextBox1.Te
33、xt.Trim(); string password = TextBox2.Text.Trim(); string myconnection = Data Source=PC-201010071136;Initial Catalog=sheji;uid=sa;pwd=123; SqlConnection conn = new SqlConnection(myconnection); string strsql = INSERT Into user1 (name,password) values (name,password); SqlCommand cmd = new SqlCommand(s
34、trsql, conn); conn.Open(); cmd.Parameters.Add(name, SqlDbType.NChar , 50); cmd.Parametersname.Value = username; cmd.Parameters.Add(password, SqlDbType.NChar, 50); cmd.Parameterspassword.Value = password; SqlDataReader ds = cmd.ExecuteReader(); conn.Close(); Label2.Text = 添加成功; TextBox1.Text = ; Text
35、Box2.Text = ; this.GridView1.DataBind(); 疑问管理该模块的页面为Default5.aspx,主要是使用SqlDataSource控件实现应用程序与数据库的链接,gridview数据控件显示、删除疑问数据信息。主要的实现代码为: asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= DeleteCommand=DELETE FROM wenti WHERE id = id InsertCommand=INSERT INTO wenti (author, biaoti, cont
36、ent, posttine, total, replay) VALUES (author, biaoti, content, posttine, total, replay) ProviderName= SelectCommand=SELECT id, author, biaoti, content, posttine, total, replay FROM wenti UpdateCommand=UPDATE wenti SET author = author, biaoti = biaoti, content = content, posttine = posttine, total =
37、total, replay = replay WHERE id = id 文件管理 该模块主要是使用SqlDataSource控件实现应用程序与数据库的链接,gridview数据控件显示、删除文件。实现的界面及相关代码如下: asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= DeleteCommand=DELETE FROM SendFile WHERE id = id InsertCommand=INSERT INTO SendFile (Send_UserName, Send_Time, Send_File
38、Name) VALUES (Send_UserName, Send_Time, Send_FileName) ProviderName= SelectCommand=SELECT id, Send_UserName, Send_Time, Send_FileName FROM SendFile UpdateCommand=UPDATE SendFile SET Send_UserName = Send_UserName, Send_Time = Send_Time, Send_FileName = Send_FileName WHERE id = id 连接管理本模块主要是对知识扩展模块里面的
39、信息进行添加和删除。实现界面及主要代码如下: if (TextBox1.Text = null | TextBox2.Text = null) TextBox1.Text = ; TextBox2.Text = ; TextBox3.Text = ; Page.RegisterStartupScript(, alert(网站名称和网址不可为空!); else string uname = TextBox1.Text.Trim(); string wz= TextBox2.Text.Trim(); string jianjie = TextBox3.Text; string myconnecti
40、on = Data Source=PC-201010071136;Initial Catalog=sheji;uid=sa;pwd=123; SqlConnection conn = new SqlConnection(myconnection); string strsql = INSERT Into linki (name,link,show) values (name,link,show); SqlCommand cmd = new SqlCommand(strsql, conn); conn.Open(); cmd.Parameters.Add(name, SqlDbType.NCha
41、r, 50); cmd.Parametersname.Value = uname; cmd.Parameters.Add(link, SqlDbType.NVarChar, 100); cmd.Parameterslink.Value = wz ; cmd.Parameters.Add(show, SqlDbType.NVarChar, 100); cmd.Parametersshow.Value = jianjie; SqlDataReader ds = cmd.ExecuteReader(); conn.Close(); Page.RegisterStartupScript(, alert
42、(添加成功!); TextBox1.Text = ; TextBox2.Text = ; TextBox3.Text = ; this.GridView1.DataBind(); 通知管理本模块主要时下对通知的发布和删除过去的通知。实现界面和主要代码入下:if (TextBox1.Text = null | TextBox2.Text = null) TextBox1.Text = ; TextBox2.Text = ; Page.RegisterStartupScript(, alert(标题和内容不可为空!); else string uname = TextBox1.Text.Trim(); string wz = TextBox2.Text.Trim(); string myconnection = Data Source=PC-201010071136;Initial Catalog=sheji;uid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区应急能力提升建设方案
- 2026年智能配送规划物流配送路径优化创新报告
- 2026年会展行业技术突破创新报告
- Web全栈开发案例教程课件 第5章 浏览器端JavaScript
- 2026年下半年度工作计划及目标
- 2026年正定中秋节活动安排
- 2026年幼儿园年度消防计划方案
- 2026年医院年终检查整改报告
- 2026年消防工作职业规划书
- 2026年新能源托管物流承运协议
- 2025年陕西供销集团有限公司社会招聘(8人)笔试参考题库附带答案详解(3卷合一版)
- (新教材)2026年人教版八年级下册数学 23.2 一次函数的图象和性质 课件
- 蔬菜代购合同范本
- 优生优育学课件
- 2025年军队文职人员(会计岗)历年考试真题(附答案)
- 室温下湿气快速固化聚硅氮烷的制备及其涂层性能研究
- 儿科医生沟通技巧礼仪
- 2025年蚌埠辅警招聘考试真题及一套完整答案详解
- 能源法律法规标准课件
- 机械租赁居间合同范本
- 压裂返排液处理培训课件
评论
0/150
提交评论