【网络教学辅助系统的探析与设计7000字(论文)】_第1页
【网络教学辅助系统的探析与设计7000字(论文)】_第2页
【网络教学辅助系统的探析与设计7000字(论文)】_第3页
【网络教学辅助系统的探析与设计7000字(论文)】_第4页
【网络教学辅助系统的探析与设计7000字(论文)】_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

PAGE网络教学辅助系统的分析与设计目录TOC\o"1-2"\h\u150网络教学辅助系统的分析与设计 19512摘要 2312041引言 2251592需求分析 3111432.1用户需求和设计目标 3261101.重点对文件管理、课程管理、作业管理部分的建模。 4234632.2数据字典 55233类型:varchar2 6168773系统设计 76073.1系统E-R图 7135803.2数据结构的具体实现 1053521、用户注册表ws01,如表3-1。 10209551、下面班级表ws04,如表3-2。 11309443、教师开课表ws09,如表3-3。 11204544、作业管理表ws11,如表3-4。 12300805、测试成绩管理表ws14,如表3-5。 1261134系统功能分析及模块设计 13321614.1系统功能分析 1347114.2系统功能模块实现 15153481、班级管理: 1666252、科目管理: 16311843、个人短信 1642431、用户管理: 17321362、答疑管理 19256304.2.2教师主要模块 2193261、课程管理: 21209802、作业管理: 21240442、作业管理: 2273182、作业管理 2362304.2.3学生主要模块 2580801、我的课程: 25300522、我的作业 26247223、下载中心: 2629394、视频点播: 26281845、个人短信 26251266、答疑中心 2683157、在线教室 2629291、试题测试: 2714434参考文献 29摘要现代网络教学尤为突出的是利用了现代技术手段,打破了原有地域的界限,不仅使讲授更为方便、生动,而且使双向教育成为可能。如何充分发挥网络的教学功能,使网络教学真正成为高等教育变革的开始,怎样利用现有技术,建成功能强大、结构合理的远程教学体系,正是目前急需考虑和解决的重要问题。搞好网络教学互动平台设计对整个远程教学的成功具有十分重要的意义,本文正是基于目前网络教学发展的现状和要求,对网络远程教学支持平台系统方面进行的研究和开发进行介绍。在结合开设实际项目的基础上,设计并且实现一个基于Web的通用远程网络教学互动平台,该平台将提供完整的远程网络教学环境。网络教学互动平台采用先进的.NET框架技术,以3层B/S为系统架构,以MicrosoftVisualStudio.NET2003平台为开发工具,以关系型数据库Oracle作为后台数据管理和维护。关键词:网络,教育,B/S,Oracle1引言现在网络教学最为突出的是利用现代技术手段,打破了地域的界限,不仅使讲授更为生动,而且使双向教育成为可能。如何充分发挥网络的教学功能,使网络教学真正成为高等教育变革的开始,怎样利用现有技术,建成功能强大、结构合理的远程教学体系,正是目前急需考虑和解决的重要问题。搞好教学平台设计对整个远程教学的成功具有十分重要的意义,本文正是基于目前网络教学发展的现状和要求,对网络远程教学支持平台系统方面进行的研究和开发进行介绍。在结合开设实际课程的基础上,设计且实现了一个基于Web的通用远程网络教学平台,该平台提供了完整的远程网络教学环境。2需求分析2.1用户需求和设计目标需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。需求分析就是给系统分析、设计人员一个和用户交流来理解问题的机会—了解用户究竟需要什么。需求分析也是一个建模的过程,与在概要设计中建模不同在需求分析中建模是面向用户的过程。而在概要设计中的建模过程是面向开发人员的过程。这样两种建模的过程就会存在差异和不同,从而使用自然语言进行描述也就不同。在传统的软件工程中并不建议大量的使用自然语言对软件的需求进行描述,因为太多的自然语言会引发出很多问题。比如说,二义性即不同的人对自然语言的描述会有不同的理解,就是再好的文档编写人员也不会保证他的文档不存在二义性。毕竟我们不是语言学家。这样就引入了借用图示进行功能的描述和建模的过程。图示有其自己的优势比如,清晰,明确给人直观的感觉。无论是何种背景的人群都可以理解。这样就大大减少需求分析中的二义性。从而使系统设计人员和用户更加有效的沟通。这样也增加了软件的正确性。在传统的软件工程中提供了多种不同的图示,每一种都从不同的角度对同一个问题进行描述,之所以这样。可以使系统开发人员在不同的图示中挑出最适合他和他的团队进行问题详尽描述的一个或者一些图示。比如数据流图,在需求分析中使用数据流图,就充分体现了数据在软件系统中移动时被变换的逻辑过程。所以就是一个建立功能模型的最好图示;而实体关系图,就是描述数据对象以及他们之间关系的图示,所以就是一个建立数据模型的最好例子。状态转换图通过事件的外部作用从而对状态进行改变,这就是一个建立行为模型的例子。分析任务确定这次需求分析的主要任务:1.重点对文件管理、课程管理、作业管理部分的建模。2.了解存在的问题并确定改进的可能性。确保需求符合实际的业务流程,形成用户需求说明书。3.在分析过程中,遇到不明白的流程,及时与指导老师交流,并得到解决。分析方法采用自顶向下的结构化分析方法(Structuredanalysis简称SA)分析和表达用户的需求的方法:图2-1SA分析法用SA的方法做需求分析,可以将任何一个系统抽象成如下图的形式:图2-2系统抽象图将处理功能分解成若干个子功能,再将各个子功能继续分解,直到把整个系统工作流程表达清楚为止。2.2数据字典数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。数据字典是程序开发过程中的重要程序文档,若将数据字典建成一个数据表,今后的维护将更加方便,而且还可以利用现成的数据字典中的数据,快速建立数据录入、查询、统计等通用程序,对不同的应用软件,只要修改数据字典,就可生成一套新的应用软件,大大地提高了编程速度和质量。在数据库设计中占有很重要的地位。下面是本系统中的部分数据字典:数据项1数据项:学习资料文件流水号含义说明:表示唯一的一个文件类型:varchar2长度:10取值含义:用户自定义数据项2数据项:作业流水号含义说明:表示唯一的一个作业类型:varchar2长度:10取值含义:用于自定义数据项3数据项:短信流水号含义说明:表示唯一的一个短信类型:varchar2长度:10取值含义:用于自定义数据项4数据项:文件流水号含义说明:表示唯一的一个文件类型:varchar2长度:10取值含义:用于自定义数据结构1数据结构:学生测试题成绩含义说明:学生测试题成绩信息组成:成绩流水号,课程名流水号,学习主题流水号,成绩分数,学生用户名,测试时间数据结构2数据结构:答疑主题含义说明:答疑主题相关信息组成:主题帖流水号,答疑大项流水号,答疑小项流水号,主题帖标题,主题帖内容,帖子浏览人数,帖子回复人数,帖子发表时间,帖子发表人数据结构3数据结构:学生测试题成绩含义说明:学生测试题成绩信息组成:成绩流水号,课程名流水号,学习主题流水号,成绩分数,学生用户名,测试时间数据结构4数据结构:学生选课含义说明:学生选课信息组成:选课流水号,课程名流水号,学生用户名,选课时间3系统设计3.1系统E-R图在系统概念设计的设计中,我们常采用E-R图来描述结构,概念结构是根据需求分析的结构对显示进行抽象面设计E-R图的。下面是此系统的主要E-R图。管理员用户:管理员查询普通用户删除普通用户新增删除管理员查询普通用户删除普通用户新增删除编辑科目班级公告科目公告班级科目班级公告11111nnnnnnnnnnn教师用户:教师用户教师用户下载学生作业查询测试成绩新增删除编辑公告课程文件公告文件课程公告课程文件nnnnnnnnnnn11111图3-2教师E-R图学生用户:学生用户学生用户下载学习资料查询测试成绩新增删除编辑作业所选课程作业所选课程作业所选课程nnnnnnnn11111点播视频n图3-3学生E-R图3.2数据结构的具体实现下面是该系统的一些主要表结构,每个表在其字段名前加*:1、用户注册表ws01,如表3-1。表3-1用户注册表字段名含义数据类型和长度是否允许空Ws0101用户流水号Varchar2(10)Notnull*Ws0102用户IDVarchar2(20)NotnullWs0103密码Varchar2(20)NotnullWs0104姓名Varchar2(20)nullWs0105用户类别Varchar2(4)NotnullWs0401所属班级Varchar2(10)NotnullWs0106注册时间datenull1、下面班级表ws04,如表3-2。表3-2班级表字段名含义数据类型和长度是否允许空Ws0401班级流水号Varchar2(10)Notnull*Ws0402班级名称Varchar2(40)NotnullWs0403注册时间datenullWs0404班级说明Varchar2(2000)null3、教师开课表ws09,如表3-3。表3-3教师开课表字段名含义数据类型和长度是否允许空*Ws0901课程流水号Varchar2(10)NotnullWs0902课程名称Varchar2(50)NotnullWs0102教师IDVarchar2(10)NotnullWs0903科目区流水号Varchar2(10)NotnullWs0904状态Varchar2(4)NotnullWs0905说明Varchar2(100)null作业管理表ws11,如表3-4。表3-4作业管理表字段名含义数据类型和长度是否允许空*Ws1101作业流水号Varchar2(10)NotnullWs1102作业标题Varchar2(50)NotnullWs0302学习主题Varchar2(50)NotnullWs0902课程名Varchar2(50)NotnullWs1103作业路径Varchar2(100)NotnullWs1104上交时间dateNotnullWs1105批阅时间dateNotnullWs1106作业成绩Number(4)nullWs0901课程流水号Varchar2(10)NotnullWs0301学习主题流水号Varchar2(10)NotnullWs01020学生IDVarchar2(20)Notnull测试成绩管理表ws14,如表3-5。表3-5作业管理表字段名含义数据类型和长度是否允许空*Ws1401测试成绩流水号Varchar2(10)NotnullWs0901课程流水号Varchar2(50)NotnullWs0301学习主题流水号Varchar2(50)NotnullWs1402获得分数Number(4)NotnullWs0102学生IDVarchar2(20)NotnullWs1403测试时间dateNotnullWs01020教师IDVarchar2(20)NotnullWs1404试题总分Number(4)null4系统功能分析及模块设计4.1系统功能分析该系统的用户所拥有的主要操作功能如下:管理员用户:个人信息修改,密码修改,用户管理,班级管理,科目管理,公告管理,答疑管理,个人短信;教师用户:个人信息修改,密码修改,课程管理,作业管理,试题管理,公告管理,文件管理,个人短信,答疑中心,在线教室;学生用户:个人信息修改,密码修改,选课管理,我的作业,试题测试,视频点播,答疑中心,个人短信,下载中心,在线教室;网络教学互动平台教师用户管理员用户学生用户个人信息修改密码修改网络教学互动平台教师用户管理员用户学生用户个人信息修改密码修改码修改用户管理班级管理科目管理公告管理答疑管理个人短信图4-1操作功能图1在线教室在线教室答疑中心学生用户个人信息修改答疑中心学生用户个人信息修改密码修改码修改选课管理我的作业试题测试视频点播答疑中心个人短信下载中心图4-3操作功能图3教师用户个人信息修改密码修改码修改课程管理作业管理试题管理公告管理文件管理个人短信答疑中心图4-2操作功能图24.2系统功能模块实现由于系统功能模块比较多,下面先简单介绍一些模块,然后具体介绍几个比较典型的模块。4.2.1管理员主要模块1、班级管理:管理员可以新增,删除,修改班级。如图4-4。图4-4班级管理图2、科目管理:管理员可以新增,删除,修改科目。如图4-5。图4-5科目管理图3、个人短信用户之间的短息交流。如图4-6。图4-6个人短信图详细介绍模块:1、用户管理:管理员可以根据用户名,姓名,用户类别,所属班级进行模糊查询和精确查询。并且可以删除用户。如图4-7。图4-7用户管理图模块主要功能设计详解:此模块用到的主要控件是:DataGrid,DropDownList,Button,TextBox,RadioButtonList。首先,管理员在管理页面的左边导航中点击用户管理链接,页面显示如图4-7。当页面刚加载的时候,执行Page_Load()函数,在此函数里面,进行数据库操作,从数据库里面获取所有用户的信息,绑定到DataGrid控件上,显示给管理员看。由于用户信息表里面的所属班级字段存放的是班级表里面的流水号,所以要通过用户表和班级表的连接查询,显示给管理员班级信息是班级名称而不是班级流水号。此外用户信息表里存放的类别字段的数据是数字,不是如图中所看到的教师,学生等数据,所以这里在写SQL语句的时候还要用到Oracle的一个函数decode(ws0105,’0’,’管理员’,’1’,’教师’,’2’,’学生’)。其中:ws0105是类别的字段名,0,1,2是存放在数据库里面的类别字段的数据。这个函数的意思为:将字段名为ws0105里面的0转化成管理员,1转化成教师,2转化成学生。所以在页面上显示类别信息的是管理员,教师,学生,而不是0,1,2。另外,还要从数据库中获取班级表中的两个字段的所有数据:流水号,班级名称。将流水号绑定到DropDownList的DataValueField属性,班级名称绑定到DataTextField属性。当点击班级下拉框的时候,显示的是所有班级名称。还有一个类别的DropDownList控件,它的内容是固定的,即:管理员,教师,学生三个类别。管理员进行查询操作的时候,先要填写查询条件,否则不作任何变化。当填好条件的时候,还要选择是模糊还是精确查询。下面是查询按钮中的一段代码:stringls_ws0102=ws0102.Text.ToString();stringls_ws0104=ws0104.Text.ToString();stringls_ws0105=ws0105.SelectedValue;stringls_ws0401=ws0401.SelectedValue;if(RadioButtonList1.SelectedValue=="0")//精确查询{stringLs_ws0102="andws0102='"+ls_ws0102+"'";stringLs_ws0104="andws0104='"+ls_ws0104+"'";stringLs_ws0105="andws0105='"+ls_ws0105+"'";stringLs_ws0401="andws01.ws0401='"+ls_ws0401+"'";}else//模糊查询{stringLs_ws0102="andws0102like'%"+ls_ws0102+"%'";stringLs_ws0104="andws0104like'%"+ls_ws0104+"%'";stringLs_ws0105="andws0105='"+ls_ws0105+"'";stringLs_ws0401="andws01.ws0401='"+ls_ws0401+"'";}点击全部按钮,即显示所有的用户信息,跟页面刚加载的时候一样。点击全选按钮,循环检查datagrid控件里面单选框模板列,如果单选框的checked属性是false,那么就改成ture,即给单选框打勾。点击取消按钮,则相反,将ture属性改成false属性。点击删除的时候,循环检查datagrid控件里面的单选框,如果checked属性是true,那么就获取该行的用户流水号,通过该流水号删除相应的用户信息。2、答疑管理管理员管理答疑帖子,可以查看具体某个帖子信息和回复帖信息,并有删除权利。如图4-8,图4-9,图4-10,图4-11。图4-8答疑管理图1图4-9答疑管理图2图4-10答疑管理图3 图4-11答疑管理图4模块主要功能设计详解:此模块用到的主要控件是:Datagrid,Button。管理员在管理页面的左边导航中,点击答疑管理链接,首先进入的页面如图4-8,同前面讲的一样,数据的绑定是在Page_Load()函数里面完成。显示答疑大项信息的Datagrid控件中使用了模板列,模板列中放了一个LinkButton控件,将大项名称绑定到LinkButton的Text属性中,点击答疑大项,即触发LinkButton事件,在事件中定义个大项流水号变量,将当前行的大项流水号赋值给此变量,然后跳转到下一个页面,大项流水号变量作为参数传递到下一个页面,如图4-9,页面加载的时候,同样触发Page_Load()函数,进行数据的绑定,传递过来的参数的值作为数据查询的一个条件,即显示的答疑小项是与之前的答疑大项相关的。此页面中的布局同答疑大项的页面相同,点击答疑小项,进入与之相关的主题帖的页面,如图4-10。此页面中的Datagrid控件使用了两个模板列,模板列都各自放了LinkButton控件,点击查看主题帖,将主题帖信息显示到Label上。主题帖的信息在之前已经绑定到了Datagrid控件上,但是将visible属性设置false了,所以控件中没有显示出来,所以点击查看主题帖的时候,只需将当前行主题帖所在列的信息赋值给Label即可。不必再一次通过流水号从数据库中获取。点击主题帖,则页面跳转到相关回复帖页面,如图4-11。点击查看回复帖,同点击主题帖一样。此模块中的删除,全选,取消按钮同前面的一样,不在一一分析。4.2.2教师主要模块1、课程管理:教师开课,并对相应课程编写学习内容。可以删除,编辑内容。如图4-12。图4-12课程管理图2、作业管理:教师下载学生的上交作业,并对作业进行打分。如图4-13。图4-13作业管理图2、作业管理:图4-14试题管理图1图4-15试题管理图2图4-16试题管理图3模块主要功能设计详解:此模块主要用到的控件是:Datagrid,Button,CheckBox,TextBox。教师用户点击学习主题(相当于课程章节),进入试题管理页面,如图4-14,数据的绑定就不在重复说明。点击编辑,通过获取当前行的流水号获取试题信息,并将试题信息显示到相应控件上,如图4-15。然后可以修改试题信息,点击保存按钮,更新试题信息。点击新增,教师可以新增试题,如图4-16。在点击新增前,需选择题目类型,因为不同题目类型的试题的内容形式不同,所以用到的控件有些不同。点击保存按钮,就新增了一条试题信息。此模块中的删除,全选,取消按钮同前面的一样,不在一一分析。2、作业管理教师下载学生上传的作业,并给学生打成绩。并且可以对作业信息进行删除操作。如图4-17。图4-17作业管理图模块主要功能设计详解:此模块主要用到的控件是:Datagrid,DropDownList,TextBox,Button。当页面加载的时候,将与当前教师相关学生的作业信息绑定到Datagrid控件上,如图4-17。将当前教师所开课程信息绑定到DropDownList控件上,用于查询条件。这里的查询功能跟用户管理模块中的查询功能一样。不过,选择条件的时候,学习主题的信息是跟课程名相关的,也即选择课程名的时候,才显示相应的学习主题。实现这个功能,首先要将课程名的DropDownList控件的AutoPostBack属性设置成True,意为当DropDownList控件中显示的信息有变化的时候,自动回发,即会触发DropDownList控件的SelectedIndexChanged()函数,在此函数中,获取相应课程的学习主题信息,然后将信息绑定到学习主题的DropDownList控件中。点击下载图片按钮,通过获取当前行的作业文件路径,然后再通过文件路径,将其下载,具体代码如下:stringxd_filepath=e.Item.Cells[9].Text.Trim();//服务器相对路径stringls_ret="";stringfilename=System.IO.Path.GetFileName(xd_filepath);//获取文件名System.IO.StreamiStream=null;byte[]buffer=newByte[10000];intlength;longdataToRead;stringfilepath=Server.MapPath(xd_filepath);try{iStream=newSystem.IO.FileStream(filepath,System.IO.FileMode.Open,System.IO.FileAccess.Read,System.IO.FileShare.Read);dataToRead=iStream.Length;Response.ContentType="application/octet-stream";Response.AppendHeader("Content-Disposition","attachment;filename=\""+Server.UrlEncode(filename)+"\"");while(dataToRead>0){if(Response.IsClientConnected){length=iStream.Read(buffer,0,10000);Response.OutputStream.Write(buffer,0,length);Response.Flush();buffer=newByte[10000];dataToRead=dataToRead-length;}else{dataToRead=-1;}}ls_ret="1";}catch(Exceptionex){Response.Write("Error:"+ex.Message);}finally{if(iStream!=null){iStream.Close();}}此模块中的删除,全选,取消按钮同前面的一样,不在一一分析。4.2.3学生主要模块1、我的课程:学生进入我的课程,可以对自己所选择的课程进行在线学习。如图4-18。图4-18我的课程图2、我的作业以文件形式上交教师布置的作业,可以对作业进行编辑、删除。如图4-19。图4-19我的作业图3、下载中心:下载教师发布的学习资料。如图4-20。图4-20下载中心图4、视频点播:学生在线观看教师发布的学习视频。如图4-21。图4-21视频点播图5、个人短信同管理员。6、答疑中心同教师。7、在线教室同教师。详细介绍模块:1、试题测试:学生在线测试。如图4-22。图4-22试题测试图模块主要功能设计详解:此模块用到的主要控件是:Datagrid,TextBox,Button。当页面加载的时候,从数据库中获取试题信息,分别根据试题的类型,各自将数据绑定到Datagrid控件中,如图4-22,单选题,多选题,判断题,分别绑定在3个Datagrid控件中。在Datagrid控件中使用了模板列,在模板列中放置了一个Table,Table里面放置两个Lable,一个TextBox控件。其中一个Lable用于显示试题信息,一个Lable用于显示正确答案,不过在试题没有提交之前这个Lable的visible属性为false,即隐藏的。TextBox用与填写答案。点击提交,首先系统先检测是否所有试题答案已填写,通过循环判断Datagrid控件中TextBox的值是否为空,如果检测到有空,则提示学生将答案填写完整。若检测试题答案已经全部完成,然后循环将Datagrid模板列中用于显示正确答案的Label的visible属性设置成true,这样,正确答案就显示出来了。接下去,将填写的答案跟正确答案做比较,判断是否得分,循环3个Datagrid。将得分信息显示出来。最后,再将此记录保存到数据库中。具体代码如下://统计获得分数!inta=0,a1=0,a2=0,a3;TextBoxTB;for(intd=0;d<dg.Items.Count;d++){TB=(TextBox)dg.Items[d].Cells[0].FindControl("Textbox1");if(TB.Text.Trim()==dg.Items[d].Cells[1].Text.Trim()){a=a+Convert.ToInt32(dg.Items[d].Cells[2].Text.Trim());}}for(intg=0;g<dg1.Items.Count;g++){TB=(TextBox)dg1.Items[g].Cells[0].FindControl("t1");if(TB.Text.Trim()==dg1.Items[g].Cells[1].Text.Trim()){a1=a1+Convert.ToInt32(dg1.Items[g].Cells[2].Text.Trim());}}for(intf=0;f<dg2.Items.Count;f++){TB=(TextBox)dg2.Items[f].Cells[0].FindControl("Textbox2");if(TB.Text.Trim()==dg2.Items[f].Cells[1].Text.Trim()){a2=a2+Convert.ToInt32(dg2.Items[f].Cells[2].Text.Trim());}}

温馨提示

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

评论

0/150

提交评论