• 36.90 KB
  • 2022-04-29 14:29:44 发布

C#计算机实验课在线答疑系统设计(答辩PPT)-论文(1)

  • 20页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'C#计算机实验课在线答疑系统设计(答辩PPT)-论文C#计算机实验课在线答疑系统设计(答辩PPT)摘要:网上答疑系统为基于ASP.NET与C#技术的WEB应用程序,并以互联网为传播媒介来实现远程教育的一个教学平台。系统主要论述了其设计开发的基本过程,设计开发中主要运用了ASP.NET技术与C#语言、SQL等相关技术,根据面向对象开发原理,采用了基于B/W/S三层体系结构的开发模式系统。以IIS为服务器,SQLserver2005为数据库平台,提供一个师生之间相互交流、相互探讨的网络空间,使学生在获取知识时更具有主动性。本系统包括即时答疑的管理与控制,文件资源的共享管理,问题及疑问留言解答的管理,后台数据库信息的管理维护等这些基本模块。关键词:ASP.NET;在线答疑;实验室信息化;B/W/S结构注:本论文(设计)题目来源于教师的国家级(或省部级、厅级、市级、校级、企业)科研项目,项目编号为:           。ExperimentalcomputercoursesonlineQ&ASystemAnalysisandDesignAbstract:OnlineQ&AsystembasedonASP.NETandC#technologiesWEBapplications,andInternetmediatoachievealong-distanceeducationteachingplatform.Focusesonsystemdesignanddevelopmentofitsbasicprocesses,designanddevelopmentofthemainuseofASP.NETtechnologyandC#language,SQLandrelatedtechnologies,inaccordancewiththeprincipleofobject-orienteddevelopment,basedontheuseofB/W/Sthree-tierarchitecturesystemdevelopmentmodel.ToIISserver,SQLserver2005databaseplatformtoprovideamutualexchangebetweenteachersandstudents,toexploreeachotherincyberspace,sothatwhenstudentsacquireknowledgeinamoreproactive.Thesystemincludesreal-timeQ&Amanagementandcontrol,file-sharingmanagementresources,problemsandanswerquestionsaboutthemanagementofmessage,thebackgrounddatabaseinformationsuchasthemanagementofthemaintenanceofthebasicmodule.Keywords:ASP.NET onlineQ&A oflaboratoryinformation B/W/SStructure目   录1前言 62设计前分析 72.1需求分析 72.2系统开发工具及思路 72.3实现可行性分析 83系统总体设计 9 4系统详细设计 114.1数据库设计 114.1.1数据表的设计 114.1.2数据库表间的逻辑关系图 134.2系统主要功能模块详细设计与实现 134.2.1前台主要功能模块介绍 134.2.2后台主要功能模块介绍 21参考文献 26致谢971C#计算机实验课在线答疑系统设计1前言计算机实验课在线答疑系统采用sql2005+asp.net为设计开发平台,主要为计算机机房提供一个利用现有设备进行课程教学,师生互动问答讨论的系统。通过相应功能模块实现问题的实时或留言问答,实验内容等文件资源的共享上传与下载,以及相关知识拓展,师生在电脑前就能完成全程教学,使学生摆脱了以前的羞涩心理,主动参与到网络学习活动中来,有效地调动了学生学习的积极性。同学与同学之间、教师与同学之间的讨论既活跃了思维,也拉近了彼此的距离,促进了教学活动的开展。本系统基于网络教学支撑平台的教学模式具备人机互动、师生互动的优势,体现出以人为本,自主学习的特点,突破时空界限,延伸课堂空间,拓展思维方法,有利于培养善思考、高素质的综合人才,适应信息时代教育发展的要求。2设计前分析2.1需求分析首先,针对计算机实验室的特点,在线答疑功能模块可以利用现有的局域网拓扑结构,在网络环境中进行信息的输入与传输显示,并存储在主机数据库服务器里。通过对交谈方式的控制,在群聊和一对一私谈交流两者之间切换交谈方式。 其次,在教学过程中,必然有跟实验课程相关的实验指导、实验内容等相关的文档。为免去安装ftp服务器实现文件共享的麻烦,在该答疑系统中还应包括文件资源的上传、下载功能模块,实现相关资料的相互传递。再次,在线答疑模块中,主要是实现类似qq群聊天的即时通讯功能,里面的发言呈现出多人发言,交叉发言,讨论内容多且比较凌乱的现象,不利于对某一疑问的深层次探讨。因此,在系统中,应设置类似我们平时所用的论坛留言的功能模块,并包含了发表疑问,回复疑问,管理疑问信息等功能。另外,在教学过程中,为加深学生对实验内容的理解,拓宽知识的应用,有必要设置知识扩展模块,包含相关知识门户网站链接,应用实例展示,技术文章等内容。为更方便处理班级事务,通知学生们班中相关信息,系统中也应包括班级公告功能,显示近期的班级安排等。为了保证数据库的安全,以及教学的顺利进行,系统还需要对学生们的身份进行管理,最简单的一点就是对访问该系统的学生要求登录操作,进行身份的验证,以及把该身份在系统中其它功能的使用情况存储在系统的数据库中,方便以后需要确认某学生身份的调用操作。最后,该系统提供的后台数据管理,应让具有管理权限的人员对数据库进行操作,包括学生信息的管理,上传文件管理,疑问管理,链接管理,通知管理等功能,具体功能呈现为对数据源的数据进行访问、添加、编辑、删除等操作。极大方便地对系统进行统一管理控制与显示。2.2系统开发工具及思路本系统以ASP.NET2.0技术为蓝本、C#为开发语言、MicrosoftVisualWebDeveloper2005速成版为开发环境、MicrosoftSQLServer2005Express为数据存储。运行环境的配置包括Microsoft.NETFramework2.0,Internet信息服务版本IIS5.1,InternetExplorer6.0。本系统开发设计采用B/W/S三层结构实现,即数据层、业务层、表示层。能很好地实现数据存储、运行业务逻辑、界面显示。以本身为.NETFramework而设计的C#语言开发系统,是真正面向组件的开发,无需考虑语言的兼容性,并且开发过程也比较简单易懂。利用.NET自带的SQL2005EXPRESS作为数据库服务器,可以方便地实现系统与数据库的连接,并且性能稳定、管理方便。2.3实现可行性分析需求上可行性:在线答疑系统让同学们在计算机课室方便地进行课程学习与交流讨论,还可以管理班级的事务、通知。使得师生之间的教学互动省时,省力。极大得提高同学们学习的主动性,促进了信息化教学的发展。 技术上可行性:目前,IT网络技术已经发展成熟并得到普遍应用,硬件方面,cpu双核芯片成为流行配置,开发运行.NET系统所需的系统要求,内存要求完全能够满足。实现该系统在技术上是可行的。经济上可行性:该系统开发所需的工具主要是一台我们常用的个人主机,再加上一套常用软件VS2005+SQL2005,以现有的计算机课室的局域网络作为运行传输环境即可。实现该系统花费少,是可行的。C#计算机实验课在线答疑系统设计3系统总体设计3.1项目规划总体规划:在线答疑系统是一个典型的ASP.NET数据库开发应用程序,由系统前台展示模块、后台数据管理模块两大部分组成。前台展示模块:该模块主要提供即时发言的输入与显示,文件资源的上传下载,发表疑问与回答,相关网站访问,查看班级通知,以及身份登录验证等功能模块。后台管理:该模块主要是对前台数据库进行管理,主要包括学生管理、文件管理、疑问管理、链接管理、通知管理。3.2系统总体功能结构图图3.2.1前台功能结构图图3.2.2后台功能结构图3.3系统总体流程用户成功登录后,如果验证是管理员身份,则可选择进入前台显示还是后台管理,如果是普通用户,则定向到系统前台首页。在首页里,默认是即时发言页面,也可通过页面链接到文件共享或者查看疑问页面。在即时发言页面,可以选择发言字体的颜色,切换群聊和密谈模式。在文件共享页面,显示现有的文件列表,右击文件名即可选择下载,点击上传文件按钮,进入文件上传页面。在查看疑问页面,可以发表疑问或者点击相应疑问,进入详细回答页面。各页面中,都包含返回主页面的链接按钮。  图3.3.1系统总体流程图4系统详细设计4.1数据库设计本系统数据库采用SQLServer2005EXPRESS数据库设计,其中包括5张表。4.1.1数据表的设计用户信息表 用户信息表记录用户的基本信息。其主要字段包括:用户ID、用户名称、用户密码、用户职位。见表所示:表4.1.1用户信息表名称 字段名称 数据类型 长度 非空用户编号 id int 4 yes用户名称 username varchar 50 yes用户密码 password varchar 50 yes用户职位 position varchar 50 No即时发言信息表  即时发言信息表的主要字段包括:ID号、发言者、接收者、发言内容、发言字体颜色、是否密谈、发言时间。见表所示:表4.1.2即时发言信息表名称 字段名称 数据类型 长度 非空ID号 id int 4 yes发言者 user_from varchar 50 yes接收者 user_to varchar 50 yes发言内容 [content] varchar 255 yes字体颜色 color varchar 50 yes是否公开 ispublic bit 4 yes 发言时间 sendtime datetime 8 yes文件信息表  药文件信息表的字段主要包括上传者、文件名称、上传时间、存储路径等。见表所示:表4.1.3文件信息表名称 字段名称 数据类型 长度 非空id号 id int 4 yes上传者 Send_UserName varchar 50 yes文件名称 Send_FileName varchar 100 yes上传时间 Send_Time varchar 50 yes存储路径 Send_File varchar 100 yes疑问信息表  该表主要是记录发表疑问信息,以及访问次数和回答次数。包括标题,具体内容,提问者等字段。见表所示:表4.1.4疑问信息表名称 字段名称 数据类型 长度 非空 默认值id号 id int 4 yes 提问者 Author nvarchar 50 yes 标题 Subject nvarchar 50 yes 内容 [Content] ntext 16 no 提问时间 PostTime datetime 8 yes getdate()访问次数 TotalView int 4 yes 回答次数 Reply int 4 yes 回复信息表  回复信息表主要字段包括:回答编号id、对应的问题id、回答者、标题、详细回答内容、回答时间。见表所示: 表4.1.5回复信息表名称 字段名称 数据类型 长度 非空 默认值回答编号 MessageID int 4 yes 对应问题 id int 4 yes 回答者 Author nvarchar 50 yes 标题 Subject nvarchar 50 yes 详细内容 [Content] ntext 16 no 回答时间 PostTime datetime 8 yes getdate() 链接类别表名称 字段名称 数据类型 长度 非空 默认值编号 id int 4 yes 类别名称 class char 10 yes 网站信息表名称 字段名称 数据类型 长度 非空 默认值编号 id int 4 yes 类别编号 cid int 4 yes 网站名称 name char 10 yes 网址 link char 50 yes 网站简介 show char 50 no C#计算机实验课在线答疑系统设计班级公告表名称 字段名称 数据类型 长度 非空 默认值编号 id int 4 yes 标题 title char 50 yes  内容 content char 50 no 时间 time datetime 8 yes getdate()4.1.2数据库表间的逻辑关系图数据库的表与表之间各字段的关系如图所示:图4.1.2数据库表间关系图4.2系统主要功能模块详细设计与实现4.2.1前台主要功能模块介绍即时发言模块:该模块首页面为default.aspx,页眉为自定义控件WebUserControl.ascx,里面包括各功能模块的链接,和显示系统时间等信息。中间为即时发言界面,主要是显示信息和发送信息,页脚为后台登录链接,当登录者为admin时,该链接控件由灰色不可用变为可用链接,点击即进入后台登录页面。登录页面default.aspx时,载入处理函数Page_Load(),控制代码为:protectedvoidPage_Load(objectsender,EventArgse)   {       if(Session["username"].ToString()=="admin")           HyperLink1.Visible=true;              }          普通用户登录                        admin登录即时发言的界面为:处理发送信息的函数为send();代码为functionsend() {  vartxtContent=document.all("content").value;//文本框输入内容  if(txtContent=="")return;    varuser_to=document.all("userlist").value; //聊天对象   vartextcolor=document.all("textcolor").value; //颜色   varisPublic=!(document.all("isSecret").checked); //是否密谈    显示发言信息的函数为refresh_chatcontent();代码为 functionrefresh_chatcontent() {  //调用服务器方法获取最新消息的HTML字符串  vardiv=document.all("chatcontent");  varstrNewMsg=ChatRoom.GetNewMsgString().value;}  控制上线名单的函数为refresh_onlineusers();代码为 functionrefresh_onlineusers() {  //发送对象列表  varuserlist=document.all("userlist");    //调用服务器端方法获取用户列表字符串(用逗号分隔)  varstrUserlist=ChatRoom.GetOnlineUserString().value;    //获取客户端显示的用户列表字符串  varstrUserlistClient="";  for(vari=1;i    使用SqlDataSource控件操作数据库的语句为: "SelectCommand="SELECT*FROM[SendFile]ORDERBY[id]desc"> 使用GridView控件显示数据的代码为:                                                                                                                                                              处理上传文件的函数为SaveBtn_Click(),主要代码为:protectedvoidSaveBtn_Click(objectsender,EventArgse)   {          StringSend_user1=Send_User.Text;  StringTimeNow=DateTime.Now.Year.ToString()+"-"+DateTime.Now.Month.ToString()+"-"+DateTime.Now.Day.ToString()+"-"+DateTime.Now.Hour.ToString()+":"+DateTime.Now.Minute.ToString()+":"+DateTime.Now.Second.ToString();  //获得时间           MyUploadMyUpload=newMyUpload();            stringPic1="File/";//保存路径           MyUpload.Path="File";           MyUpload.Sizes=2048; //文件大小                 MyUpload.FileType="jpg|gif|bmp|JPG|GIF|BMP|doc|DOC|txt|TXT|xls|XLS|FLV|flv|SWF|swf";//文件类型           string[]a=MyUpload.PostedFile.FileName.Split("\");//分离出文件名           stringb=a[a.Length-1];           FileTitle1=b;           MyUpload.PostedFile=FileUpload1.PostedFile;          StringPic2=MyUpload.Upload();           if(Pic2==null)           {  Page.RegisterStartupScript("","");               Response.AddHeader("Refresh","0.0001");           }           else           {   Pic2=Pic1+Pic2;               StringSql="insertintoSendFile(Accept_UserName,Send_UserName,Send_File,Send_Time,Send_FileName)values(""+username+"",""+Send_user1+"",""+Pic2+"",""+TimeNow+"",""+FileTitle1+"")";               if(db.insert(Sql)) //插入数据                   Page.RegisterStartupScript("","");               Accept_User.Text="";               Send_User.Text="";发表疑问模块:该模块主要页面包括显示疑问列表页面showthread.aspx,某疑问及相应回复列表页面showmessages.aspx,发表新疑问页面editthread.aspx。该模块主要实现疑问的发表和回复。删除功能包含在后台管理页面中。发表疑问利用一个AddThread方法,代码为:  publicvoidAddThread(System.Int32threadID,System.Stringauthor,System.Stringsubject,System.Stringcontent,System.Int32reply,System.Int32totalView)  {   //下面为创建数据库实例和命令对象   SqlConnectionmyConnection=newSqlConnection(ConfigurationSettings.AppSettings["connectionString"]);   SqlCommandmyCommand=newSqlCommand("AddThread",myConnection);   //下面为把命令对象类型设置为数据库已经创建好的存储过程,能把一大段sql语句存储为一个过程,便于调用   myCommand.CommandType=CommandType.StoredProcedure;   //向存储过程中传递参数   SqlParameterparameterAuthor=newSqlParameter("@author",SqlDbType.NVarChar,50);   parameterAuthor.Value=author;   myCommand.Parameters.Add(parameterAuthor);   SqlParameterparameterSubject=newSqlParameter("@subject",SqlDbType.NVarChar,50);   parameterSubject.Value=subject;   myCommand.Parameters.Add(parameterSubject);   SqlParameterparameterContent=newSqlParameter("@content",SqlDbType.NText,16);   parameterContent.Value=content;   myCommand.Parameters.Add(parameterContent);   SqlParameterparameterTotalView=newSqlParameter("@totalView",SqlDbType.Int,4);   parameterTotalView.Value=totalView;   myCommand.Parameters.Add(parameterTotalView);   SqlParameterparameterReply=newSqlParameter("@reply",SqlDbType.Int,4);   parameterReply.Value=reply;   myCommand.Parameters.Add(parameterReply);    //打开数据库并执行   myConnection.Open();   myCommand.ExecuteNonQuery();   myConnection.Close(); 显示疑问列表采用GetThreads()方法,代码为privateDataSetGetThreads()  {   //创建数据库实例和命令对象 SqlConnectionmyConnection=newSqlConnection(ConfigurationSettings.AppSettings["connectionString"]);   SqlDataAdaptermyCommand=newSqlDataAdapter("GetThreads",myConnection);   //下面为把命令对象类型设置为数据库已经创建好的存储过程,能把一大段sql语句存储为一个过程,便于调用   myCommand.SelectCommand.CommandType=CommandType.StoredProcedure;   //建立并且填充一个dataset数据集   DataSetmyDataSet=newDataSet();   myCommand.Fill(myDataSet);     //返回一个dataset数据集   returnmyDataSet;C#计算机实验课在线答疑系统设计显示疑问详细内容的方法为AddThread(),代码为 publicvoidAddThread(System.Int32threadID,System.Stringauthor,System.Stringsubject,System.Stringcontent,System.Int32reply,System.Int32totalView)  {   //创建数据库实例和命令对象    SqlConnectionmyConnection=newSqlConnection(ConfigurationSettings.AppSettings["connectionString"]);   SqlCommandmyCommand=newSqlCommand("AddThread",myConnection);   //下面为把命令对象类型设置为数据库已经创建好的存储过程,能把一大段sql语句存储为一个过程,便于调用   myCommand.CommandType=CommandType.StoredProcedure;   //向存储过程中传递参数   SqlParameterparameterAuthor=newSqlParameter("@author",SqlDbType.NVarChar,50);   parameterAuthor.Value=author;   myCommand.Parameters.Add(parameterAuthor);   SqlParameterparameterSubject=newSqlParameter("@subject",SqlDbType.NVarChar,50);   parameterSubject.Value=subject;   myCommand.Parameters.Add(parameterSubject);   SqlParameterparameterContent=newSqlParameter("@content",SqlDbType.NText,16);   parameterContent.Value=content;   myCommand.Parameters.Add(parameterContent);   SqlParameterparameterTotalView=newSqlParameter("@totalView",SqlDbType.Int,4);   parameterTotalView.Value=totalView;   myCommand.Parameters.Add(parameterTotalView);   SqlParameterparameterReply=newSqlParameter("@reply",SqlDbType.Int,4);   parameterReply.Value=reply;   myCommand.Parameters.Add(parameterReply);   //打开数据库并执行   myConnection.Open();   myCommand.ExecuteNonQuery();    myConnection.Close();  } 知识扩展模块班级公告模块4.2.2后台主要功能模块介绍在后台管理页面中,包含了母版页adminMasterPage.master,主要是各子功能模块管理的链接按钮,集中管理了后台的显示。用户管理模块:该模块的页面为admin.aspx,主要是使用SqlDataSource控件实现应用程序与数据库的链接,gridview数据控件显示、编辑、删除学生数据信息,FormView控件实现数据插入功能。SqlDataSource控件的代码为:"DeleteCommand="DELETEFROM[UserInfo]WHERE[id]=@id"InsertCommand="INSERTINTO[UserInfo]([username],[password],[isadmin],[isonline],[lastchatinfo])VALUES(@username,@password,@isadmin,@isonline,@lastchatinfo)"SelectCommand="SELECT*FROM[UserInfo]"UpdateCommand="UPDATE[UserInfo]SET[username]=@username,[password]=@password,[isadmin]=@isadmin,[isonline]=@isonline,[lastchatinfo]=@lastchatinfoWHERE[id]=@id">                                                                                                                                                                                  gridview数据控件的设计代码为:                                                                                                     FormView控件的插入功能代码为:                                                                                  姓名:"Width="82px">                                          密码:"Width="88px">                                                                                           "               Visible="False"/>"                   Visible="False"/>"                        Visible="False">                              增加学生资料                 文件管理模块:本功能的页面为file.aspx,主要是显示文件信息,以及修改文件名称,删除某文件等功能。 疑问管理模块:本功能模块的页面为question.aspx,包括SqlDataSource控件进行数据库链接,gridview数据库控件显示疑问列表,统计疑问信息,并可以对疑问进行删除操作。网站链接模块通知管理模块参考文献[1]邵良杉,刘好增,马海军.ASP.NET(C#)实践教程[M].北京:清华大学出版社.2007:252-298.[2]马颖华,苏贵洋,袁艺.ASP.NET2.0网络编程从基础到实践[M]. 北京:电子工业出版社.2007:350-400.[3]王保健.ASP.NET网站建设专家[M].北京清华大学出社.2005:97-126.[4]郝刚,袁永刚,齐艳.ASP.NET服务器控件开发技术与实例[M].北京:人民邮电出版社.2005:196-215.[5](美)ScottMitchell著;陈武译.ASP.NET2.0入门经典[M].北京:人民邮电出版社.2007:233-353.[6](美)ImarSpaanjaars,PaulWilton,ShawnLivermore著,袁国忠译.ASP.NET2.0经典案例教程[M].北京:人民邮电出版社.2007:65-88[7](美)(StephenWalther)沃尔瑟.ASP.NET2.0揭秘(卷2)[M].北京:人民邮电出版社.2007:86-130. [8]陈冠军.精通ASP.NET2.0典型模块设计与实现[M].北京:人民邮电出版社.2007:50-83[9]武新华,刘彦明.ASP.NET+SQLServer典型网站建设[M].北京:人民邮电出版社.2007:65-88[10]王涛.你必须知道的.NET[M].北京:电子工业出版社.2008:40-120[11]Northrup.MCPD自步培训教程Microsoft.NETFrameworkWindowsDeveloper[M].国外:OverseaPublishingHouse出版社.2007:75-142.[12]BillEvjen,KentSharkey.专业XMLProfessionalXML [M].吉林:长白山出版社.2007:70-135.致谢经过一段时间的努力,在老师的悉心指导下,以及同学的大力支持和帮助,这次毕业设计和论文顺利完成。在这里,要特别感谢论文导师王X娴老师,给予我细致的评述和指导意见,还要感谢广东药学院医药信息工程学院给我提供了这么好的学习环境和难得的实践机会。经过这次毕业设计的实践学习,使我的各方面能力都得到了很快很大的提高,专业知识方面也得到了提高。整个撰写论文的过程,是对在本科四年期间学习成果的一个总结,在编写论文中所总结的一些方法和经验体会,必将对今后的学习和工作中有很大帮助。'