27页计算机实验课在线答疑系统黄志春大学本科方案设计书_第1页
27页计算机实验课在线答疑系统黄志春大学本科方案设计书_第2页
27页计算机实验课在线答疑系统黄志春大学本科方案设计书_第3页
27页计算机实验课在线答疑系统黄志春大学本科方案设计书_第4页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、封面作者: Pan Hongliang仅供个人学习本科毕业论文 ( 设计 )计算机实验课在线答疑系统的分析与设计二级学院医药信息工程学院专业计算机科学与技术 (药品电子商务)班级2005 级学生姓名黄志春学号0507504118指导教师王鹤娴2009年4月诚信声明我声明,所呈交的毕业论文(设计) 是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容均真实、可信。2/21毕业论文(设计)作者(签名) :年月日计算机

2、实验课在线答疑系统的分析与设计摘要:网上答疑系统为基于ASP.NET与 C#技术的 WEB应用程序,并以互联网为传播媒介来实现远程教育的一个教学平台。系统主要论述了其设计开发的基本过程,设计开发中主要运用了ASP.NET技术与 C#语言、 SQL 等相关技术,根据面向对象开发原理,采用了基于B/W/S 三层体系结构的开发模式系统。以IIS为服务器, SQL server 2005 为数据库平台,提供一个师生之间相互交流、相互探讨的网络空间 , 使学生在获取知识时更具有主动性。本系统包括即时答疑的管理与控制,文件资源的共享管理,问题及疑问留言解答的管理,后台数据库信息的管理维护等这些基本模块。关

3、键词: ASP.NET;在线答疑;实验室信息化;B/W/S 结构注:本论文(设计)题目来源于教师的国家级(或省部级、厅级、市级、校级、企业)科研项目,项目编号为:。Experimental computer courses o nline Q & A SystemAnalysis and DesignAbstract: Online Q & A system based on ASP.NET and C # technologies WEB applications, and Internet media to achieve a long-distance education teachin

4、g platform. Focuseson system design and development of its basic processes,design and development of the main use of ASP.NET technology and C # language, SQL and related technologies, in accordance with the principle of object-oriented development, based on the use of B / W / S three-tier architectu

5、re system development model. To IIS server, SQL server 2005 database platform to provide a mutual exchange between teachers and students, to explore each other in cyberspace, so that when students acquire knowledge in a more proactive. The system includes real-time Q & A management and control, file

6、-sharing management resources, problems and answer questions about the management of message, the background databaseinformation such as the management of the maintenance of the basic module.3/21Keywords: ASP.NET online Q & Aof laboratory informationB/W/SStructure目录1前言 .错误!未定义书签。2设计前分析 .错误!未定义书签。2.1

7、需求分析 .52.2系统开发工具及思路 . .62.3实现可行性分析 . .63系统总体设计 .74系统详细设计 .94.1数据库设计 . .94.1.1数据表的设计 . .94.1.2数据库表间的逻辑关系图 . .104.2系统主要功能模块详细设计与实现 .114.2.1前台主要功能模块介绍 . .114.2.2后台主要功能模块介绍 . .16参考文献 .18致谢.194/21个人收集整理勿做商业用途1 前言计算机实验课在线答疑系统采用 sql2005+ 为设计开发平台,主要为计算机机房提供一个利用现有设备进行课程教学, 师生互动问答讨论的系统。 通过相应功能模块实现问题的实时或留言问答,

8、实验内容等文件资源的共享上传与下载,以及相关知识拓展, 师生在电脑前就能完成全程教学, 使学生摆脱了以前的羞涩心理 , 主动参与到网络学习活动中来 , 有效地调动了学生学习的积极性。 同学与同学之间、教师与同学之间的讨论既活跃了思维 , 也拉近了彼此的距离 , 促进了教学活动的开展。 本系统基于网络教学支撑平台的教学模式具备人机互动、 师生互动的优势,体现出以人为本,自主学习的特点,突破时空界限,延伸课堂空间,拓展思维方法,有利于培养善思考、高素质的综合人才,适应信息时代教育发展的要求。2 设计前分析2.1需求分析首先,针对计算机实验室的特点, 在线答疑功能模块可以利用现有的局域网拓扑结构,在

9、网络环境中进行信息的输入与传输显示, 并存储在主机数据库服务器里。通过对交谈方式的控制, 在群聊和一对一私谈交流两者之间切换交谈方式。其次,在教学过程中, 必然有跟实验课程相关的实验指导、 实验内容等相关的文档。为免去安装 ftp 服务器实现文件共享的麻烦, 在该答疑系统中还应包括文件资源的上传、下载功能模块,实现相关资料的相互传递。再次,在线答疑模块中,主要是实现类似 qq 群聊天的即时通讯功能,里面的发言呈现出多人发言, 交叉发言,讨论内容多且比较凌乱的现象, 不利于对某一疑问的深层次探讨。 因此,在系统中,应设置类似我们平时所用的论坛留言的功能模块,并包含了发表疑问,回复疑问,管理疑问信

10、息等功能。另外,在教学过程中 , 为加深学生对实验内容的理解 , 拓宽知识的应用 , 有必要设置知识扩展模块 , 包含相关知识门户网站链接 , 应用实例展示 , 技术文章等内容。为更方便处理班级事务, 通知学生们班中相关信息, 系统中也应包括班级公5/21个人收集整理勿做商业用途告功能,显示近期的班级安排等。 为了保证数据库的安全, 以及教学的顺利进行,系统还需要对学生们的身份进行管理,最简单的一点就是对访问该系统的学生要求登录操作,进行身份的验证, 以及把该身份在系统中其它功能的使用情况存储在系统的数据库中,方便以后需要确认某学生身份的调用操作。最后,该系统提供的后台数据管理, 应让具有管理

11、权限的人员对数据库进行操作,包括学生信息的管理,上传文件管理,疑问管理,链接管理,通知管理等功能,具体功能呈现为对数据源的数据进行访问、添加、编辑、删除等操作。极大方便地对系统进行统一管理控制与显示。2.2系统开发工具及思路本系统以 ASP.NET2.0技术为蓝本、 C#为开发语言、 Microsoft Visual WebDeveloper 2005速成版为开发环境、 Microsoft SQL Server 2005 Express为数据存储。运行环境的配置包括Microsoft .NET Framework 2.0,Internet信息服务版本 IIS5.1,Internet Explo

12、rer 6.0。本系统开发设计采用B/W/S 三层结构实现,即数据层、业务层、表示层。能很好地实现数据存储、运行业务逻辑、界面显示。以本身为.NET Framework 而设计的C#语言开发系统,是真正面向组件的开发,无需考虑语言的兼容性,并且开发过程也比较简单易懂。利用.NET 自带的 SQL2005 EXPRESS作为数据库服务器,可以方便地实现系统与数据库的连接,并且性能稳定、管理方便。2.3实现可行性分析需求上可行性:在线答疑系统让同学们在计算机课室方便地进行课程学习与交流讨论,还可以管理班级的事务、 通知。使得师生之间的教学互动省时, 省力。极大得提高同学们学习的主动性,促进了信息化

13、教学的发展。技术上可行性:目前, IT 网络技术已经发展成熟并得到普遍应用,硬件方面,cpu 双核芯片成为流行配置, 开发运行 .NET 系统所需的系统要求, 内存要求完全能够满足。实现该系统在技术上是可行的。经济上可行性: 该系统开发所需的工具主要是一台我们常用的个人主机,再加上一套常用软件VS2005+SQL2005,以现有的计算机课室的局域网络作为运行6/21个人收集整理勿做商业用途传输环境即可。实现该系统花费少,是可行的。3 系统总体设计3.1项目规划总体规划:在线答疑系统是一个典型的ASP.NET数据库开发应用程序, 由系统前台展示模块、后台数据管理模块两大部分组成。前台展示模块:

14、该模块主要提供即时发言的输入与显示,文件资源的上传下载,发表疑问与回答,相关网站访问,查看班级通知,以及身份登录验证等功能模块。后台管理:该模块主要是对前台数据库进行管理,主要包括学生管理、 文件管理、疑问管理、链接管理、通知管理。3.2系统总体功能结构图系统前台身即文疑知班份时件问识级登发管管扩公录言理理展告图 3.2.1前台功能结构图系统后台学文疑链通生件问接知管管管管管理理理理理图 3.2.2后台功能结构图7/21个人收集整理勿做商业用途3.3 系统总体流程用户成功登录后, 如果验证是管理员身份, 则可选择进入前台显示还是后台管理,如果是普通用户,则定向到系统前台首页。在首页里,默认是即

15、时发言页面, 也可通过页面链接到文件共享或者查看疑问页面。在即时发言页面, 可以选择发言字体的颜色,切换群聊和密谈模式。 在文件共享页面,显示现有的文件列表, 右击文件名即可选择下载, 点击上传文件按钮,进入文件上传页面。在查看疑问页面, 可以发表疑问或者点击相应疑问,进入详细回答页面。 各页面中,都包含返回主页面的链接按钮。即时发言群聊 /密谈系返统回首文件共享下载 /上传页首页查看疑问回复 /发表知识扩展查看访问班级公告查看通知进否入后登录界面成功管理者是台是否图 3.3.1 系统总体流程图8/21个人收集整理勿做商业用途4 系统详细设计4.1 数据库设计本系统数据库采用SQL Serve

16、r 2005 EXPRESS数据库设计,其中包括5 张表。4.1.1数据表的设计用户信息表用户信息表记录用户的基本信息。其主要字段包括:用户 ID 、用户名称、用户密码、用户职位。见表所示:表 4.1.1用户信息表名称字段名称数据类型长度非空用户编号idint4yes用户名称usernamevarchar50yes用户密码passwordvarchar50yes用户职位positionvarchar50No即时发言信息表即时发言信息表的主要字段包括: ID 号、发言者、接收者、发言内容、发言字体颜色、是否密谈、发言时间。见表所示:表 4.1.2即时发言信息表名称字段名称数据类型长度非空ID 号

17、idint4yes发言者user_fromvarchar50yes接收者user_tovarchar50yes发言内容contentvarchar255yes字体颜色colorvarchar50yes是否公开ispublicbit4yes发言时间sendtimedatetime8yes文件信息表药文件信息表的字段主要包括上传者、文件名称、上传时间、存储路径等。见表所示:表 4.1.3 文件信息表名称字段名称数据类型长度非空id 号idint4yes上传者Send_UserNamevarchar50yes文件名称Send_FileNamevarchar100yes上传时间Send_Timevar

18、char50yes存储路径Send_Filevarchar100yes疑问信息表9/21个人收集整理勿做商业用途该表主要是记录发表疑问信息,以及访问次数和回答次数。包括标题,具体内容,提问者等字段。见表所示:表 4.1.4 疑问信息表名称字段名称数据类型长度非空默认值id 号idint4yes提问者Authornvarchar50yes标题Subjectnvarchar50yes内容Contentntext16no提问时间PostTimedatetime8yesgetdate()访问次数TotalViewint4yes回答次数Replyint4yes回复信息表回复信息表主要字段包括:回答编号

19、id 、对应的问题 id 、回答者、标题、详细回答内容、回答时间。见表所示:表 4.1.5 回复信息表名称字段名称数据类型长度非空默认值回答编号MessageIDint4yes对应问题idint4yes回答者Authornvarchar50yes标题Subjectnvarchar50yes详细内容Contentntext16no回答时间PostTimedatetime8yesgetdate()链接类别表名称字段名称数据类型长度非空默认值编号idint4yes类别名称classchar10yes网站信息表名称字段名称数据类型长度非空默认值编号idint4yes类别编号cidint4yes网站名称

20、namechar10yes网址linkchar50yes网站简介showchar50no班级公告表名称字段名称数据类型长度非空默认值编号idint4yes标题titlechar50yes内容contentchar50no时间timedatetime8yesgetdate()4.1.2数据库表间的逻辑关系图10/21个人收集整理勿做商业用途数据库的表与表之间各字段的关系如图所示:图 4.1.2 数据库表间关系图4.2 系统主要功能模块详细设计与实现4.2.1前台主要功能模块介绍即时发言模块:该模块首页面为 default.aspx ,页眉为自定义控件 WebUserControl.ascx ,里

21、面包括各功能模块的链接 , 和显示系统时间等信息。中间为即时发言界面,主要是显示信息和发送信息, 页脚为后台登录链接, 当登录者为 admin 时,该链接控件由灰色不可用变为可用链接,点击即进入后台登录页面。登录页面 default.aspx时,载入处理函数Page_Load() , 控制代码为:protectedvoid Page_Load( objectsender,EventArgs e)if(Sessionusername .ToString() =admin )HyperLink1.Visible =true ;普通用户登录admin登录即时发言的界面为:处理发送信息的函数为send

22、();代码为functionsend()var txtContent = document.all(content).value;/ 文本框输入内容if(txtContent = ) return;var user_to = document.all(userlist).value;/ 聊天对象var textcolor = document.all(textcolor).value;/ 颜色var isPublic = !(document.all(isSecret).checked);/ 是否密谈显示发言信息的函数为refresh_chatcontent();代码为functionrefr

23、esh_chatcontent()/ 调用服务器方法获取最新消息的HTML字符串var div = document.all(chatcontent);var strNewMsg = ChatRoom.GetNewMsgString().value;控制上线名单的函数为refresh_onlineusers();代码为functionrefresh_onlineusers()/ 发送对象列表var userlist = document.all(userlist);/ 调用服务器端方法获取用户列表字符串(用逗号分隔)11/21个人收集整理勿做商业用途var strUserlist = Chat

24、Room.GetOnlineUserString().value;/ 获取客户端显示的用户列表字符串var strUserlistClient = ;for ( var i = 1;i userlist.options.length;i+)if(i != userlist.options.length - 1)strUserlistClient += userlist.optionsi.value +, ;elsestrUserlistClient += userlist.optionsi.value;if(strUserlistClient != strUserlist)/ 在线用户列表发生

25、变化var userArr = strUserlist.split(,);/ 在线用户数var usercount = document.all(usercount);usercount.innerHTML = 在线名单:( + userArr.length + 人) ;文件共享模块:该功 能模 块包 括文 件显 示下 载页 面 SaveFile.aspx 和 文件 上传 页面 Chuanshu.aspx 两页面,以及保存资源的文件夹 file 。通过该模块, 可以方便地上传下载实验内容等资料文件。在 web.config 中设置连接数据库的语句为:使用 SqlDataSource 控件操作数

26、据库的语句为:asp: SqlDataSourceID=SqlDataSource1runat =serverConnectionString= SelectCommand=SELECT * FROMSendFileORDER BY id desc使用 GridView 控件显示数据的代码为:12/21个人收集整理勿做商业用途处理上传文件的函数为SaveBtn_Click(),主要代码为:protectedvoid SaveBtn_Click(objectsender,EventArgs e)StringSend_user1 = Send_User.Text;StringTimeNow = D

27、ateTime .Now.Year.ToString() +-+ DateTime .Now.Month.ToString() +-+DateTime .Now.Day.ToString()+- +DateTime .Now.Hour.ToString()+: +DateTime .Now.Minute.ToString()+ : +DateTime .Now.Second.ToString();/ 获得时间MyUpload MyUpload =new MyUpload();stringPic1 =File/;/ 保存路径MyUpload.Path =File;MyUpload.Sizes =

28、 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 = aa.Length - 1;FileTitle1 = b;MyUpload.PostedFile = FileUpload1.PostedFile;StringPic2 = MyUpload.Upload();if(Pic2 =null )Page.Register

29、StartupScript( ,alert(上传失败 !);Response.AddHeader(Refresh,0.0001 );elsePic2 = Pic1 + Pic2;StringSql =insert intoSendFile(Accept_UserName,Send_UserName,Send_File,Send_Time,Send_FileName) values(+username +,+ Send_user1 +,+ Pic2 +,+ TimeNow +,+ FileTitle1 +);if( db.insert(Sql)/ 插入数据Page.RegisterStartup

30、Script( ,alert(上传成功 !);Accept_User.Text = ;Send_User.Text = ;13/21个人收集整理勿做商业用途发表疑问模块:该模块主要页面包括显示疑问列表页面 showthread.aspx ,某疑问及相应回复列表页面 showmessages.aspx,发表新疑问页面 editthread.aspx 。该模块主要实现疑问的发表和回复。删除功能包含在后台管理页面中。发表疑问利用一个AddThread 方法,代码为:public void AddThread(System. Int32 threadID,System. String author,S

31、ystem. String subject,System. String content,System. Int32 reply,System. Int32 totalView)/ 下面为创建数据库实例和命令对象SqlConnectionmyConnection =newSqlConnection ( ConfigurationSettings.AppSettingsconnectionString);SqlCommandmyCommand = new SqlCommand( AddThread , myConnection);/下面为把命令对象类型设置为数据库已经创建好的存储过程,能把一大段

32、sql 语句存储为一个过程,便于调用myCommand.CommandType =CommandType.StoredProcedure;/向存储过程中传递参数SqlParameterparameterAuthor =new SqlParameter( author ,SqlDbType.NVarChar,50);parameterAuthor.Value = author;myCommand.Parameters.Add(parameterAuthor);SqlParameterparameterSubject =new SqlParameter( subject,SqlDbType.NVa

33、rChar,50);parameterSubject.Value = subject;myCommand.Parameters.Add(parameterSubject);SqlParameterparameterContent =new SqlParameter( content,SqlDbType.NText,16);parameterContent.Value = content;myCommand.Parameters.Add(parameterContent);SqlParameterparameterTotalView =new SqlParameter( totalView,Sq

34、lDbType.Int,4);parameterTotalView.Value = totalView;myCommand.Parameters.Add(parameterTotalView);SqlParameterparameterReply =new SqlParameter ( reply , SqlDbType .Int,4);parameterReply.Value = reply;myCommand.Parameters.Add(parameterReply);/ 打开数据库并执行myConnection.Open();myCommand.ExecuteNonQuery();my

35、Connection.Close();显示疑问列表采用 GetThreads() 方法,代码为privateDataSet GetThreads()/ 创建数据库实例和命令对象14/21个人收集整理勿做商业用途SqlConnectionmyConnection =newSqlConnection ( ConfigurationSettings.AppSettingsconnectionString);SqlDataAdaptermyCommand = new SqlDataAdapter ( GetThreads , myConnection);/ 下面为把命令对象类型设置为数据库已经创建好的

36、存储过程,能把一大段 sql 语句存储为一个过程,便于调用myCommand.SelectCommand.CommandType =CommandType.StoredProcedure;/ 建立并且填充一个 dataset 数据集DataSet myDataSet =new DataSet ();myCommand.Fill(myDataSet);/ 返回一个 dataset 数据集returnmyDataSet;显示疑问详细内容的方法为AddThread() ,代码为publicvoid AddThread(System.Int32threadID,System.Stringauthor,

37、System.Stringsubject,System.Stringcontent,System.Int32 reply,System.Int32totalView)/ 创建数据库实例和命令对象SqlConnectionmyConnection =newSqlConnection ( ConfigurationSettings.AppSettingsconnectionString);SqlCommandmyCommand = new SqlCommand( AddThread , myConnection);/ 下面为把命令对象类型设置为数据库已经创建好的存储过程,能把一大段 sql 语句存

38、储为一个过程,便于调用myCommand.CommandType =CommandType.StoredProcedure;/ 向存储过程中传递参数SqlParameterparameterAuthor =new SqlParameter ( author ,SqlDbType.NVarChar,50);parameterAuthor.Value = author;myCommand.Parameters.Add(parameterAuthor);SqlParameterparameterSubject =new SqlParameter ( subject ,SqlDbType.NVarChar,50);parameterSubject.Value = subject;myCommand.Parameters.Add(parameterSubject);SqlPar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论