计算机科学与技术专业开放本科毕业设计说明书格式示例文档格式.docx
《计算机科学与技术专业开放本科毕业设计说明书格式示例文档格式.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术专业开放本科毕业设计说明书格式示例文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
意见
审核部门盖章:
年月日
基于WEB的学习讨论系统设计
【内容摘要】随着互联网技术的发展,网络教学内容的表现形式不断更新,借助网络进行学习讨论已占据越来越主要的位置,网络学习形式正在改变我们的学习形式。
在基于WEB的学习讨论系统领域的研究中本论文提出了一些新的概念与交流方式。
在原有的传统型学习讨论系统中提炼出讨论系统的精华,并研究了对知识进行学科、版块、论题三级分类的方法,并提出了版块预订、管理端的图表统计及对访问者进行动态分组教学等新概念。
【关键词】WEBASPBBS网络资源学习
1引言
1.1本课题的研究意义
今天,对某门课程的学习已经再也不用象以前一样,需要学生坐在教室里,看着老师站在讲台授课了。
在INTERNET上,学生们可以针对自己遇到的问题在拥有学习辅助功能的BBS讨论版中进行讨论,以最快速的方式获得自己需要知道的信息。
1.2本论文的目的、内容及作者的主要贡献
建成功能强大、结构合理的学习讨论系统,正是目前需要考虑和解决的重要问题。
研究本课题正是基于目前远程教学发展的现状和要求,对网络学习讨论系统进行的研究和开发加以深入。
在实现网络讨论功能的基础上,设计并实现了一个基于Web的学习讨论系统,该系统提供了更人性化的学习讨论环境。
参与学习讨论者可通过网络完成整个的学习过程,包括论题讨论,小组留言等一系列学习活动。
本论文在基于WEB的学习讨论系统领域的研究中提出了一些新的概念与交流方式。
2研究现状及设计目标
2.1相近研究课题的特点及优缺点分析
教学组织形式作为一个维度(水平方向),从个体的、小组的到集体的。
将学习过程的管理作为另一个维度(垂直方向),从被动的到主动的,则异步讲授型、同步讲授型、协作学习型、讨论学习型等模式均可从中找到其位置。
异步讲授和同步讲授型模式比较适合于以集体学习为主的远程教学;
在异步讲授过程中,学生学习过程的管理主动程度要高于同步讲授教学模式。
而介于两者之间的协作学习型和(异步和同步)讨论型学习模式比较适合于以小组为主体的远程教学模式。
很显然,异步讲授和同步讲授型模式已经将传统的远程的课堂式传统教学发展的很完善,但他们单方主动式进行的限时性教学并不能很好地完成学习者在课后对某一领域学科的知识补充和积累,我们在这里要实现的,是学习者在学习过程中及学习课程之外以群体互动交流的形式获得知识。
而讨论型学习模式也因为网络技术的功能而能发挥很好的协助教学作用。
在这里我们已确立了讨论型学习模式的研究方向。
该模式通过网络技术实现,而其实现方式从技术层面上讲,大致分为两类。
一类是以CS结构为主的软件交流平台,另一类则是以BS(WEB)结构为主的软件交流平台。
CS结构为主的软件交流平台界面友好,性能稳定的特点来源于其发展的成熟,但始终不能回避的问题在于,无论哪一位学习者都不愿意在进行互动交流之前都必须安装好必须的软件系统,以交流为主的学习方式的多向互动获取知识是追求便捷性教学的体现,而CS结构恰恰与这种概念相背离。
因此,选择以WEB为基础的学习讨论系统为课题的研究对于远程教学与学习是非常有积极性作用的。
2.2现行研究存在的问题及解决办法
当然,就目前的WEB型学习讨论系统的研究现状而言,还是存在着一些问题。
讨论型学习模式存在于远程教学模式中的主要价值在于它是为以小组为主体的学习者服务的,而目前的WEB基础的学习讨论系统对于参与讨论的学习者的讨论形式管理还比较粗糙,并没有把群体的概念深化到学习讨论中。
让人感觉到的是和传统型BBS没有太大的区别,而并不能按“学习者这个群体对学习资源的访问情况”进行有效的分类。
这在一定程度上也削弱了讨论型学习对于教学方面的作用以及其本身应具有的优势。
因此我们在这里要提出一个基于WEB的学习讨论系统的新概念,即:
“将学习者按学科群组化”。
我们需要针对以上的问题增加一个动态的可管理的分组功能。
2.3本课题要达到的设计目标
本课题要达到的设计目标为:
在建立传统型WEB学习讨论系统的基础上,加入具有实时短信息交流、分组讨论及管理等能更好地辅助学习者进行互动学习的模块。
真正实现“将学习者按学科群组化”的目标。
3要解决的几个关键问题
研究设计中要解决的问题
在研究设计过程中,我们要解决的问题如下:
问题1:
原先传统的学习讨论系统交流途径单一,只有在论坛上互相交流。
解决方法:
在讨论BBS以外建立一个组内成员及好友可以交流的短信息模块。
问题2:
讨论系统学科分类不明确,不细致。
论坛分为三个层次:
“学科、版块、论题”。
将用户所需要获取的学科知识逐层分流,以达到明确分类的目的。
问题3:
传统学习讨论系统不能按“学习者这个群体对学习资源的访问情况”进行有效的分类。
在讨论BBS添加动态分组功能及分组管理功能。
4系统结构与模型
4.1设计实现的策略和算法描述
我们需要制定一个好的策略去解决内容上的关键技术,以实现本设计的整体设计内容:
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用户端使用
a)版块文章的阅读及发表
用户首先要从学科列表中去选择自己要进入的某一学科版块。
为了让用户能直观地了解到该学科的内容和包含的版块信息,我们需要规划一个能尽量多反映学科信息的界面。
如[图5.1.1]所示:
[图5.1.1]
显然,要做到分列多层显示,我们需要用一个循环嵌套来实现。
具体代码如下:
<
tablewidth="
428"
border="
0"
cellspacing="
cellpadding="
>
tr>
%
……
ifnot(rs_board.bofandrs_board.eof)thenrs_board.MoveFirst
dowhilenotrs_board.EOF外循环
if(((rs_board("
board_id"
))mod4)=1)then通过四整除判断来分行
response.write("
"
)
endif
%>
tdwidth="
103"
valign="
top"
100%"
class="
text_7"
<
td"
SELECT*FROMbsubWHEREbsubtoboard_id="
&
rs_board("
)&
ORDERBY,1,1
ifnot(rs_bsub.BOFandrs_bsub.EOF)then
bsub_id=rs_bsub("
bsub_id"
bsub_name=rs_bsub("
bsub_name"
bsub_content=rs_bsub("
bsub_content"
endif
ifnot(rs_bsub.bofandrs_bsub.eof)thenrs_bsub.MoveFirst
k=0
dowhilenotrs_bsub.EOF内循环
td>
a
exitdo
loop
rs_bsub.Close
table>
%
))mod4)=0)then
rs_board.MoveNext
rs_board.Close
接下来用户找到该学科所包含的所有版块。
我们将显示版块列表的页面命名为bs.asp:
[图5.1.2]
在这里我们要实现翻页技术,算法如下:
setrs_bs=Server.CreateObject("
ADODB.Recordset"
rs_bs.Open"
board&
ifnot(rs_bs.BOFandrs_bs.EOF)then
bsub_name=rs_bs("
bsub_admin=rs_bs("
bsub_admin"
bs_page=1
rs_bs.absolutepage=