《计算机科学与技术专业(开放本科)毕业设计说明书格式示例.doc》由会员分享,可在线阅读,更多相关《计算机科学与技术专业(开放本科)毕业设计说明书格式示例.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、开放教育计算机科学与技术专业(专升本)毕业设计 NANJING RADIO AND TELEVISION UNIVERSITY南京广播电视大学毕 业 设 计(论文)题 目 基于WEB的学习讨 论系统设计 姓 名 某某某 学 号 专 业 计算机科学与技术 指导教师 沈某某 分 校 直属部 日 期 2004年7月26日 南京广播电视大学毕业设计(论文,作业)课题审批表教学单位(盖章)专业学生类别课题名称填报时间年 月 日课题内容简介指导教师姓名参加学生姓名指导教师意见市校审核意见审核部门盖章: 年 月 日基于WEB的学习讨论系统设计(南京电大开放教育直属部计算机与科学技术专业 陈 军 )【内容摘要
2、】随着互联网技术的发展,网络教学内容的表现形式不断更新,借助网络进行学习讨论已占据越来越主要的位置,网络学习形式正在改变我们的学习形式。在基于WEB的学习讨论系统领域的研究中本论文提出了一些新的概念与交流方式。在原有的传统型学习讨论系统中提炼出讨论系统的精华,并研究了对知识进行学科、版块、论题三级分类的方法,并提出了版块预订、管理端的图表统计及对访问者进行动态分组教学等新概念。【关 键 词】WEB ASP BBS 网络资源 学习目 录1 引 言-11.1 本课题的研究意义-11.2 本论文的目的、内容及作者的主要贡献-12 研究现状及设计目标-12.1 相近研究课题的特点及优缺点分析-12.2
3、 现行研究存在的问题及解决办法-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参考文献-311 引 言1.1 本课题的研究意义今天,对某门课程的学习已经再也不用象以前一样,需要学生坐在教室里,看着老师站在讲台授课了。在INTERNET上,学生们可以针对自己遇到的问题在拥有
4、学习辅助功能的BBS讨论版中进行讨论,以最快速的方式获得自己需要知道的信息。1.2 本论文的目的、内容及作者的主要贡献建成功能强大、结构合理的学习讨论系统,正是目前需要考虑和解决的重要问题。研究本课题正是基于目前远程教学发展的现状和要求,对网络学习讨论系统进行的研究和开发加以深入。在实现网络讨论功能的基础上,设计并实现了一个基于Web的学习讨论系统,该系统提供了更人性化的学习讨论环境。参与学习讨论者可通过网络完成整个的学习过程,包括论题讨论,小组留言等一系列学习活动。本论文在基于WEB的学习讨论系统领域的研究中提出了一些新的概念与交流方式。在原有的传统型学习讨论系统中提炼出讨论系统的精华,并研
5、究了对知识进行学科、版块、论题三级分类的方法,并提出了版块预订、管理端的图表统计及对访问者进行动态分组教学等新概念。2 研究现状及设计目标2.1 相近研究课题的特点及优缺点分析教学组织形式作为一个维度(水平方向),从个体的、小组的到集体的。将学习过程的管理作为另一个维度(垂直方向),从被动的到主动的,则异步讲授型、同步讲授型、协作学习型、讨论学习型等模式均可从中找到其位置。异步讲授和同步讲授型模式比较适合于以集体学习为主的远程教学;在异步讲授过程中,学生学习过程的管理主动程度要高于同步讲授教学模式。而介于两者之间的协作学习型和(异步和同步)讨论型学习模式比较适合于以小组为主体的远程教学模式。很
6、显然,异步讲授和同步讲授型模式已经将传统的远程的课堂式传统教学发展的很完善,但他们单方主动式进行的限时性教学并不能很好地完成学习者在课后对某一领域学科的知识补充和积累,我们在这里要实现的,是学习者在学习过程中及学习课程之外以群体互动交流的形式获得知识。而讨论型学习模式也因为网络技术的功能而能发挥很好的协助教学作用。在这里我们已确立了讨论型学习模式的研究方向。该模式通过网络技术实现,而其实现方式从技术层面上讲,大致分为两类。一类是以C/S结构为主的软件交流平台,另一类则是以B/S(WEB)结构为主的软件交流平台。C/S结构为主的软件交流平台界面友好,性能稳定的特点来源于其发展的成熟,但始终不能回
7、避的问题在于,无论哪一位学习者都不愿意在进行互动交流之前都必须安装好必须的软件系统,以交流为主的学习方式的多向互动获取知识是追求便捷性教学的体现,而C/S结构恰恰与这种概念相背离。因此,选择以WEB为基础的学习讨论系统为课题的研究对于远程教学与学习是非常有积极性作用的。2.2 现行研究存在的问题及解决办法当然,就目前的WEB型学习讨论系统的研究现状而言,还是存在着一些问题。讨论型学习模式存在于远程教学模式中的主要价值在于它是为以小组为主体的学习者服务的,而目前的WEB基础的学习讨论系统对于参与讨论的学习者的讨论形式管理还比较粗糙,并没有把群体的概念深化到学习讨论中。让人感觉到的是和传统型BBS
8、没有太大的区别,而并不能按“学习者这个群体对学习资源的访问情况”进行有效的分类。这在一定程度上也削弱了讨论型学习对于教学方面的作用以及其本身应具有的优势。因此我们在这里要提出一个基于WEB的学习讨论系统的新概念,即:“将学习者按学科群组化”。我们需要针对以上的问题增加一个动态的可管理的分组功能。2.3 本课题要达到的设计目标本课题要达到的设计目标为:在建立传统型WEB学习讨论系统的基础上,加入具有实时短信息交流、分组讨论及管理等能更好地辅助学习者进行互动学习的模块。真正实现“将学习者按学科群组化”的目标。3 要解决的几个关键问题研究设计中要解决的问题在研究设计过程中,我们要解决的问题如下:问题
9、1:原先传统的学习讨论系统交流途径单一,只有在论坛上互相交流。解决方法:在讨论BBS以外建立一个组内成员及好友可以交流的短信息模块。问题2:讨论系统学科分类不明确,不细致。解决方法:论坛分为三个层次:“学科、版块、论题”。将用户所需要获取的学科知识逐层分流,以达到明确分类的目的。问题3:传统学习讨论系统不能按“学习者这个群体对学习资源的访问情况”进行有效的分类。解决方法:在讨论BBS添加动态分组功能及分组管理功能。4 系统结构与模型41 设计实现的策略和算法描述我们需要制定一个好的策略去解决内容上的关键技术,以实现本设计的整体设计内容:1、首先我们要讨论的是“基于WEB的学习讨论”这个主体功能
10、的实现: 图4.1.1 2、我们再来看一下“短信息交流”这个辅助功能的实现:某一好友某一组员全部组员普通用户 图4.1.2 短信息功能其实就是留言的功能,是个一对多的关系。针对某一个普通用户来说,具有查看所有用户给他的短信息内容的权限,与此同时他可以发送给“某一好友”、“某一组员”、“全部组员”三方短信息。3、“分组功能”我们放在下一章进行详细讨论。4.2 编程模型及数据结构1、根据目标制定框架:由于使用对象的不同,我们需要勾勒出用户、管理员两个使用界面,见 图4.2.1 。用户端使用界面框架示意图:讨论系统标志广告栏在线人数及新信息提示用户基本信息学科版块列表热门论题排行用户所属组名组内成员
11、列表预定版块列表短信息发送及信息列表栏 图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)用户讨论组管
12、理2)版块文章管理a)文章管理管理员可在阅读同时对任何文章进行修改、编辑与删除或对好的论题加精。b)公告管理3)讨论版管理a)版块管理管理员可以新增、修改、删除既定的版块,为任何版块命名及注释。b)版主管理管理员可以新增、修改、删除任何版块的版主。c)日志管理管理员可统计用户上站时间、IP、异常数据等。d)短信息管理 管理员可在对任何用户的任何短信息进行修改、编辑与删除。e)其它用户端功能其它功能a)动态分组功能系统根据在线用户的兴趣取向(即用户发送的短信息中的关键字包含的论题偏向),进行自动分组处理。b)其它不涉及到脚本的未详述功能如:界面设计、LOGO、BANNER等。2、数据库设计结构:
13、以下为反映该系统执行的主要数据库表。其它未列入的表在具体编程中由主表需求派生。5 系统实现技术参与设计有三人,在此仅针对我所主要设计的模块进行讨论:5.1 用户端使用1)学科版块讨论a)版块文章的阅读及发表用户首先要从学科列表中去选择自己要进入的某一学科版块。为了让用户能直观地了解到该学科的内容和包含的版块信息,我们需要规划一个能尽量多反映学科信息的界面。如 图5.1.1 所示: 图5.1.1 显然,要做到分列多层显示,我们需要用一个循环嵌套来实现。具体代码如下: %if not(rs_board.bof and rs_board.eof) then rs_board.MoveFirstdo
14、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 r
15、s_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_p
16、age)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格式、图片、超链、表情的功
17、能。我们会用到JAVASCRIPT的一些功能。2)自发文章的再编辑与删除:同版块列表显示的原理,我们可以做出read.asp阅读文章的页面,这里着重要提到的是对于不同角色的权限分配,我们以下面的标准来设计:a)当阅读者是普通用户时:当此文章不是他发表时,他只拥有浏览权限;是他发表且无回复时,拥有删除与修改权限;有回复时,无删除权限。b) 当阅读者是该版版主或管理员时,拥有浏览、修改、删除三种权限。c) 具体算法的实现代码因篇幅原因在此省略。3)预定版块:图5.1.4我们的整套系统是IFRAME多框架的结构,变量在各框架间交换数据,预定功能需要“论题显示列表的界面”与“预定版块列表界面”共同配合
18、完成,见图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=
19、8) thenexit doend if q=q+1loop %5.2 管理端设计:1、版块文章管理1)文章管理在前面客户端设计中提到过,论题的管理,针对不同的用户有不同的权限。而拥有对某个版块的某篇文章置顶或加精的权力的用户有两种,第一种是被管理员授权而产生的该版版主,第二种是管理员自己。因此我们针对这两种用户在这里将文章的管理的实现方法一并说明:见图5.1.14所示:图5.1.14当浏览者为普通用户时,只能看到该帖的性质及帖的标题等相关信息。当浏览者为该版版主或管理员时,可以在其左端显示出“撤”、“精”、“顶”字样的按钮。根据不同情况,会分别出现,如:“撤”只有在此帖成为精华或置顶帖时出现
20、。我们将代码公布如下: / 当用户为该版版主时 / 当帖为精华时 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
21、 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=
22、fu 2、日志管理在此讨论系统中我们将日志管理功能分为三个子模块:登录人数统计、论题访问排名、预定版块排行。我们用程序实现的图表显示。1)登录人数统计:我们可以知道,直方图的长短不一的图块都可以用表格加色彩来填充(这可以在HTML基础设计中了解到)。在HTML的表格传统设计中,宽度和高度都是一个常量,如果我们将其改为一个变量,并赋予一个与数据表中人数的多少关联的值,就不难实现数据的图形化。例如:table width= height=先建立数据表login,并通过基本操作,让login中有每天的人数值,然后我们将这个思想贯穿在我们的程序中,代码如下: . td height= / 登录次数的图
23、形化. 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
24、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我们知道了用户加入哪一个组取决于他对某个学科版块的兴趣程度后,就可以用刷新率来解决这个动态分组问题。我们可以根据点击页面频率来进行比较,得出近期保持最多访问的页,并定时刷新,自动判断条件并执行动态改组,以达到动态分组的目的。我们建立一个表