




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开放教育计算机科学与技术专业(专升本)毕业设计 NANJING RADIO AND TELEVISION UNIVERSITY南京广播电视大学毕 业 设 计(论文)题 目 基于WEB的学习讨 论系统设计 姓 名 某某某 学 号 001000000 专 业 计算机科学与技术 指导教师 沈某某 分 校 直属部 日 期 2004年7月26日 南京广播电视大学毕业设计(论文,作业)课题审批表教学单位(盖章)专业学生类别课题名称填报时间年 月 日课题内容简介指导教师姓名参加学生姓名指导教师意见市校审核意见审核部门盖章: 年 月 日基于WEB的学习讨论系统设计(南京电大开放教育直属部计算机与科学技术专业 陈 军 001000189)【内容摘要】随着互联网技术的发展,网络教学内容的表现形式不断更新,借助网络进行学习讨论已占据越来越主要的位置,网络学习形式正在改变我们的学习形式。在基于WEB的学习讨论系统领域的研究中本论文提出了一些新的概念与交流方式。在原有的传统型学习讨论系统中提炼出讨论系统的精华,并研究了对知识进行学科、版块、论题三级分类的方法,并提出了版块预订、管理端的图表统计及对访问者进行动态分组教学等新概念。【关 键 词】WEB ASP BBS 网络资源 学习目 录1 引 言-11.1 本课题的研究意义-11.2 本论文的目的、内容及作者的主要贡献-12 研究现状及设计目标-12.1 相近研究课题的特点及优缺点分析-12.2 现行研究存在的问题及解决办法-22.3 本课题要达到的设计目标-23 要解决的几个关键问题-34 系统结构与模型-34.1 设计实现的策略和算法描述-34.2 编程模型及数据结构-45 系统实现技术-65.1 用户端使用-75.2 管理端设计:-155.3 其它功能-236 性能测试与分析-276.1 测试环境与测试条件-276.2 测试实例的研究-276.3 性能分析-307 结束语-30致谢-30参考文献-31南京广播电视大学毕业设计说明书- 1 -南京广播电视大学毕业设计说明书1 引 言1.1 本课题的研究意义今天,对某门课程的学习已经再也不用象以前一样,需要学生坐在教室里,看着老师站在讲台授课了。在INTERNET上,学生们可以针对自己遇到的问题在拥有学习辅助功能的BBS讨论版中进行讨论,以最快速的方式获得自己需要知道的信息。1.2 本论文的目的、内容及作者的主要贡献建成功能强大、结构合理的学习讨论系统,正是目前需要考虑和解决的重要问题。研究本课题正是基于目前远程教学发展的现状和要求,对网络学习讨论系统进行的研究和开发加以深入。在实现网络讨论功能的基础上,设计并实现了一个基于Web的学习讨论系统,该系统提供了更人性化的学习讨论环境。参与学习讨论者可通过网络完成整个的学习过程,包括论题讨论,小组留言等一系列学习活动。本论文在基于WEB的学习讨论系统领域的研究中提出了一些新的概念与交流方式。在原有的传统型学习讨论系统中提炼出讨论系统的精华,并研究了对知识进行学科、版块、论题三级分类的方法,并提出了版块预订、管理端的图表统计及对访问者进行动态分组教学等新概念。2 研究现状及设计目标2.1 相近研究课题的特点及优缺点分析教学组织形式作为一个维度(水平方向),从个体的、小组的到集体的。将学习过程的管理作为另一个维度(垂直方向),从被动的到主动的,则异步讲授型、同步讲授型、协作学习型、讨论学习型等模式均可从中找到其位置。异步讲授和同步讲授型模式比较适合于以集体学习为主的远程教学;在异步讲授过程中,学生学习过程的管理主动程度要高于同步讲授教学模式。而介于两者之间的协作学习型和(异步和同步)讨论型学习模式比较适合于以小组为主体的远程教学模式。很显然,异步讲授和同步讲授型模式已经将传统的远程的课堂式传统教学发展的很完善,但他们单方主动式进行的限时性教学并不能很好地完成学习者在课后对某一领域学科的知识补充和积累,我们在这里要实现的,是学习者在学习过程中及学习课程之外以群体互动交流的形式获得知识。而讨论型学习模式也因为网络技术的功能而能发挥很好的协助教学作用。在这里我们已确立了讨论型学习模式的研究方向。该模式通过网络技术实现,而其实现方式从技术层面上讲,大致分为两类。一类是以C/S结构为主的软件交流平台,另一类则是以B/S(WEB)结构为主的软件交流平台。C/S结构为主的软件交流平台界面友好,性能稳定的特点来源于其发展的成熟,但始终不能回避的问题在于,无论哪一位学习者都不愿意在进行互动交流之前都必须安装好必须的软件系统,以交流为主的学习方式的多向互动获取知识是追求便捷性教学的体现,而C/S结构恰恰与这种概念相背离。因此,选择以WEB为基础的学习讨论系统为课题的研究对于远程教学与学习是非常有积极性作用的。2.2 现行研究存在的问题及解决办法当然,就目前的WEB型学习讨论系统的研究现状而言,还是存在着一些问题。讨论型学习模式存在于远程教学模式中的主要价值在于它是为以小组为主体的学习者服务的,而目前的WEB基础的学习讨论系统对于参与讨论的学习者的讨论形式管理还比较粗糙,并没有把群体的概念深化到学习讨论中。让人感觉到的是和传统型BBS没有太大的区别,而并不能按“学习者这个群体对学习资源的访问情况”进行有效的分类。这在一定程度上也削弱了讨论型学习对于教学方面的作用以及其本身应具有的优势。因此我们在这里要提出一个基于WEB的学习讨论系统的新概念,即:“将学习者按学科群组化”。我们需要针对以上的问题增加一个动态的可管理的分组功能。2.3 本课题要达到的设计目标本课题要达到的设计目标为:在建立传统型WEB学习讨论系统的基础上,加入具有实时短信息交流、分组讨论及管理等能更好地辅助学习者进行互动学习的模块。真正实现“将学习者按学科群组化”的目标。3 要解决的几个关键问题研究设计中要解决的问题在研究设计过程中,我们要解决的问题如下:问题1:原先传统的学习讨论系统交流途径单一,只有在论坛上互相交流。解决方法:在讨论BBS以外建立一个组内成员及好友可以交流的短信息模块。问题2:讨论系统学科分类不明确,不细致。解决方法:论坛分为三个层次:“学科、版块、论题”。将用户所需要获取的学科知识逐层分流,以达到明确分类的目的。问题3:传统学习讨论系统不能按“学习者这个群体对学习资源的访问情况”进行有效的分类。解决方法:在讨论BBS添加动态分组功能及分组管理功能。4 系统结构与模型41 设计实现的策略和算法描述我们需要制定一个好的策略去解决内容上的关键技术,以实现本设计的整体设计内容:1、首先我们要讨论的是“基于WEB的学习讨论”这个主体功能的实现: 图4.1.1 2、我们再来看一下“短信息交流”这个辅助功能的实现:某一好友某一组员全部组员普通用户 图4.1.2 短信息功能其实就是留言的功能,是个一对多的关系。针对某一个普通用户来说,具有查看所有用户给他的短信息内容的权限,与此同时他可以发送给“某一好友”、“某一组员”、“全部组员”三方短信息。3、“分组功能”我们放在下一章进行详细讨论。4.2 编程模型及数据结构1、根据目标制定框架:由于使用对象的不同,我们需要勾勒出用户、管理员两个使用界面,见 图4.2.1 。用户端使用界面框架示意图:讨论系统标志广告栏在线人数及新信息提示用户基本信息学科版块列表热门论题排行用户所属组名组内成员列表预定版块列表短信息发送及信息列表栏 图4.2.1 1)学科版块讨论a)版块文章的阅读及发表 b)自发文章的再编辑与删除 c)预定版块 d)查看最新版块热点排行2)短信息讨论a)短信息的阅读及发送 b)短信息的删除 c)查看组员列表 d)新信息到达提示3)个人基本信息管理a)个人密码修改 b)基本资料修改 c)基本信息查看4)其它功能a) 查看在线人数 b)查看在线好友管理端使用界面框架示意图:讨论系统标志广告栏在线人数及新信息提示用户基本信息学科版块列表热门论题排行用户所属组名组内成员列表预定版块列表短信息发送及信息列表栏 图4.2.2 1)用户信息管理a)用户基本资料管理b)用户讨论组管理2)版块文章管理a)文章管理管理员可在阅读同时对任何文章进行修改、编辑与删除或对好的论题加精。b)公告管理3)讨论版管理a)版块管理管理员可以新增、修改、删除既定的版块,为任何版块命名及注释。b)版主管理管理员可以新增、修改、删除任何版块的版主。c)日志管理管理员可统计用户上站时间、IP、异常数据等。d)短信息管理 管理员可在对任何用户的任何短信息进行修改、编辑与删除。e)其它用户端功能其它功能a)动态分组功能系统根据在线用户的兴趣取向(即用户发送的短信息中的关键字包含的论题偏向),进行自动分组处理。b)其它不涉及到脚本的未详述功能如:界面设计、LOGO、BANNER等。2、数据库设计结构:以下为反映该系统执行的主要数据库表。其它未列入的表在具体编程中由主表需求派生。5 系统实现技术参与设计有三人,在此仅针对我所主要设计的模块进行讨论:5.1 用户端使用1)学科版块讨论a)版块文章的阅读及发表用户首先要从学科列表中去选择自己要进入的某一学科版块。为了让用户能直观地了解到该学科的内容和包含的版块信息,我们需要规划一个能尽量多反映学科信息的界面。如 图5.1.1 所示: 图5.1.1 显然,要做到分列多层显示,我们需要用一个循环嵌套来实现。具体代码如下: %if not(rs_board.bof and rs_board.eof) then rs_board.MoveFirstdo while not rs_board.EOF / 外循环if (rs_board(board_id) mod 4)= 1) then / 通过四整除判断来分行response.write()end if% a ref=bs.asp?user_id=&board= class=all. a href=board.asp?user_id=&bsub_id=&bsub_name= class=all 6 thenexit doend iflooprs_bsub.Close% %if (rs_board(board_id) mod 4)= 0) thenresponse.write()end if rs_board.MoveNextlooprs_board.Close% 接下来用户找到该学科所包含的所有版块。我们将显示版块列表的页面命名为bs.asp:图5.1.2在这里我们要实现翻页技术,算法如下: -HTML 主体列表内容显示 -8 thenexit doend ifloop%接下来显示翻页用的连接。即“首页/ 下页/ 转到.”a href=bs.asp?user_id=&bs_page=1&board= class=per首页%if bs_Page1 then%a href=bs.asp?user_id=&bs_page=&board= class=per上页%if Cint(bs_page)Cint(bs_page_count) then%a href=bs.asp?user_id=&bs_page=&board= class=per下页a href=bs.asp?user_id=&bs_page=&board= class=per末页跳转到 option value=bs.asp?user_id=&bs_page=&board=第页 最后是论题的列表显示页,我们将置顶和加精这些特殊功能放在后面管理端功能中介绍,而列表翻页显示论题的主体算法大致同“版块显示”。这里只介绍一下“发表文章”的实现,见图5.1.3:图5.1.3发帖包含普通文字、HTML格式、图片、超链、表情的功能。我们会用到JAVASCRIPT的一些功能。2)自发文章的再编辑与删除:同版块列表显示的原理,我们可以做出read.asp阅读文章的页面,这里着重要提到的是对于不同角色的权限分配,我们以下面的标准来设计:a)当阅读者是普通用户时:当此文章不是他发表时,他只拥有浏览权限;是他发表且无回复时,拥有删除与修改权限;有回复时,无删除权限。b) 当阅读者是该版版主或管理员时,拥有浏览、修改、删除三种权限。c) 具体算法的实现代码因篇幅原因在此省略。3)预定版块:图5.1.4我们的整套系统是IFRAME多框架的结构,变量在各框架间交换数据,预定功能需要“论题显示列表的界面”与“预定版块列表界面”共同配合完成,见图5.1.4:我们先要建立一个存储版块预定信息的ord表,里面包括预定的用户名称及用户所预定的版块序号。设计一个显示版块预定的页,命名为order.asp,它以“查找表中用户名称字段是自己(某一用户)”为条件提取记录。4)查看最新版块热点排行:图5.1.4此项功能如图5.1.5所示,实现方法要联系到数据表bbs表中的回复数,它的算法是在bbs表中按帖回复数(字段名为reply_value)由大到小提取前9条记录。实现的代码如下: a href=read.asp?user_id=&unit=&bsub_id=&bsub_name= class=all target=bbs_list_1=8) thenexit doend if q=q+1loop %5.2 管理端设计:1、版块文章管理1)文章管理在前面客户端设计中提到过,论题的管理,针对不同的用户有不同的权限。而拥有对某个版块的某篇文章置顶或加精的权力的用户有两种,第一种是被管理员授权而产生的该版版主,第二种是管理员自己。因此我们针对这两种用户在这里将文章的管理的实现方法一并说明:见图5.1.14所示:图5.1.14当浏览者为普通用户时,只能看到该帖的性质及帖的标题等相关信息。当浏览者为该版版主或管理员时,可以在其左端显示出“撤”、“精”、“顶”字样的按钮。根据不同情况,会分别出现,如:“撤”只有在此帖成为精华或置顶帖时出现。我们将代码公布如下: / 当用户为该版版主时 / 当帖为精华时 input type=hidden name=bsub_name value= input type=hidden name=bsub_id value= input type=hidden name=user_id value= input type=hidden name=prime_id value= / 加“撤”input type=hidden name=bsub_name value=input type=hidden name=bsub_id value=input type=hidden name=user_id value=input type=hidden name=add_prime_id value=input type=hidden name=bsub_name value=input type=hidden name=bsub_id value=input type=hidden name=user_id value=input type=hidden name=add_prime_id value= / 当帖为精华时 a href=read.asp?user_id=&unit=&bsub_id=&bsub_name= class=fu 2、日志管理在此讨论系统中我们将日志管理功能分为三个子模块:登录人数统计、论题访问排名、预定版块排行。我们用程序实现的图表显示。1)登录人数统计:我们可以知道,直方图的长短不一的图块都可以用表格加色彩来填充(这可以在HTML基础设计中了解到)。在HTML的表格传统设计中,宽度和高度都是一个常量,如果我们将其改为一个变量,并赋予一个与数据表中人数的多少关联的值,就不难实现数据的图形化。例如:table width= height=先建立数据表login,并通过基本操作,让login中有每天的人数值,然后我们将这个思想贯穿在我们的程序中,代码如下: . td height= / 登录次数的图形化. 9 thenexit doend iflooprs_tab_login.Close% .结果图5.1.17所示:图5.1.172)论题访问排名此统计项目以bbs表中的阅读数(read_value)为标准,倒序排出。图形的实现方式同上理,也不再赘述。登录次数的图形化代码段为:td width= table border=0 cellspacing=0 cellpadding=0 height=16 bgcolor=#CC0000 width= 结果图5.1.18所示:图5.1.183)预定版块排行图形的实现方式同上理,也不再赘述。登录次数的图形化代码段为:td width= table border=0 cellspacing=0 cellpadding=0 height=16 bgcolor=#CC0000 width= 结果图5.1.19所示:图5.1.195.3 其它功能1、分组功能分组的概念即为:将学习者按其所需获得的知识小范围地进行划分。首先,我们需要对学习者的信息中加入分组这一项。即:我们先在user表中加入“所属分组(class_id)”这一字段,而这一字段的值即为bsub表中的版块序号(bsub_id)。对于一个用户来说,他只有遇到自己感兴趣的,以及经常访问的学科版块,才会愿意加入相应的这个组。我们规划了两种分组方案:动态分组和静态分组。1)动态分组的实现:首先我们必须规划一个显示用户分组信息的页面,我们命名为member_of_group.asp,如图5.1.21所示:图5.1.21我们知道了用户加入哪一个组取决于他对某个学科版块的兴趣程度后,就可以用刷新率来解决这个动态分组问题。我们可以根据点击页面频率来进行比较,得出近期保持最多访问的页,并定时刷新,自动判断条件并执行动态改组,以达到动态分组的目的。我们建立一个表case,里面包含“学科版块的序号”、“访问次数”等相关的字段。每当用户访问某一版块,版块列表页内将对表case内“相应的学科版块序号”所在的那条记录的“访问次数”字段里的值加1。而在member_of_group.asp里,我们进行定时刷新,判断表case里的最新访问排名,以确定出最高者。并在user表中取而代之。代码如下:%dim user_iduser_id=Request(user_id)set rs_own=Server.CreateObject(ADODB.Recordset)rs_own.Open SELECT * FROM user WHERE user_id=&user_id&,conn,1,1if not(rs_own.BOF and rs_own.EOF) thencls_yn=rs_own(cls_yn)end ifif (cls_yn=1) thenset rs_check_case=Server.CreateObject(ADODB.Recordset)rs_check_case.Open SELECT * FROM case WHERE user_id=&user_id& ORDER BY times DESC,conn,1,1/ 提取自己访问量最高的版块if not(rs_check_case.BOF and rs_check_case.EOF) thenmax_id=rs_check_case(class_id) set rs_update_user=Server.CreateObject(ADODB.Recordset)rs_update_user.Open SELECT * FROM user WHERE user_id=&user_id&,conn,1,3rs_update_user.updaters_update_user(class_id)=max_id / 取代旧的组序号rs_update_user.updaters_update_user.closeend ifend if set rs_user_group=Server.CreateObject(ADODB.Recordset)rs_user_group.Open SELECT * FROM user WHERE user_id=&user_id&,conn,1,1if not(rs_user_group.BOF and rs_user_group.EOF) thengroup=rs_user_group(class_id)end ifrs_user_group.closeset rs_group=Server.CreateObject(ADODB.Recordset)rs_group.Open SELECT * FROM bsub WHERE bsub_id=&group&,conn,1,1if not(rs_group.BOF and rs_group.EOF) thengroup_name=rs_group(bsub_name)end ifrs_group.closeif (cls_yn=1) thenset rs_reupdate_case=Server.CreateObject(ADODB.Recordset)rs_reupdate_case.Open SELECT * FROM case WHERE user_id=&user_id& and class_id=&max_id&,conn,1,3rs_reupdate_case.updaters_reupdate_case(times)=10rs_reupdate_case.updaters_reupdate_case.closeset rs_reupdate0_case=Server.CreateObject(ADODB.Recordset)rs_reupdate0_case.Open SELECT * FROM case WHERE user_id=&user_id& and class_id&max_id& and times=10,conn,1,3if not(rs_reupdate0_case.BOF and rs_reupdate0_case.EOF ) thenrs_reupdate0_case.updaters_reupdate0_case(times)=9rs_reupdate0_case.updaters_reupdate0_case.closeend ifend if%定时刷新的META函数:2)静态分组的实现:当然有些用户或者用户有的时候还是不需要程序自行将其分组的,在用户基本信息栏里我们设计一个分组开关。可以控制选择什么样方式的分组。如图5.1.22所示:图5.1.22关闭了动态分组后,在修改资料页面,可以看到打开分组状态时所不能看到的分组修改框。我们可以在关闭动态分组的状态下(即静态分组)进行手动分组。设计实现方法,可以在修改资料的页面set_intro.asp中加入一个条件判断: -显示修改框- 当然,管理员也拥有对一切用户进行静态分组的功能,其实也没有什么特殊的地方,就不再赘述了。6 性能测试与分析6.1 测试环境与测试条件测试环境一:操作系统:WIN98WEB服务:PWS数据库:ACCESS测试内容:客户端的登录、发帖、修改资料、分组控制等操作;服务端的五项管理工作测试结果:正常测试环境二:操作系统:WIN2000WEB服务:IIS 5.0数据库: ACCESS测试内容:客户端的登录、发帖、修改资料、分组控制等操作;服务端的五项管理工作测试结果:正常6.2 测试实例的研究我们以一个用户在客户端进行登录,并执行预定版块操作为例,进行一次演示:STEP1:首先,在界面中输入,用户名:8can 密码:*图6.2.1STEP2:现在我们已经进入了index.asp页面,我们先对学科版块进行一个浏览,我们寻找到我们要找的物理学,我们点击,并进入属于物理的版块。见图6.2.2:图6.2.2STEP3:点击“受力平衡问题”标题,进入浏览该版内容,我们觉得该版的内容比较好,于是按“预定按钮”,随即在右栏的预定版块中出现了“受力平衡问题”标题。见图6.2.3:图6.2.3STEP4:已完成任务,点击左下角“退出”按钮,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电缆基本知识培训内容总结
- 小学班主任如何做好学生心理健康教育工作
- 电的基础知识培训课件
- 电煤知识培训总结课件
- 北京化学物理高考试卷及答案
- Pentyl-4-hydroxybenzoate-d11-Amylparaben-d-sub-11-sub-生命科学试剂-MCE
- Argininic-acid-13C6-L-Argininic-Acid-sup-13-sup-C-sub-6-sub-生命科学试剂-MCE
- N-Ethyl-3-4-methylenedioxy-aniline-d5-N-Ethyl-3H-1-2-benzodioxol-6-amine-d-sub-5-sub-生命科学试剂-MCE
- 软件开发合同(编号2)
- 护士公招考试题及答案
- 水利部2002《水利建筑工程概算定额》
- 四年级数学下册12月份计算小超市
- 医院陪护中心运营方案
- 厂家如何做好经销商的利润管理
- 2023《中央企业合规管理办法》要点解读课件PPT
- 聚合物基础知识
- 危机谈判专题培训课件
- 售楼部钢结构玻璃幕墙拆除方案
- 国家级自然保护区乡土文化遗产灾后恢复重建项目可行性研究报告
- 高血压患者心率管理专家讲座
- 集团公司校园招聘计划实施方案
评论
0/150
提交评论