保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 计算机论文 >> 正文

基于WWW的协同式CAI软件的Java实现


免安全性带来的麻烦和减少客户端的ODBC配置,笔者在访问试题库的部分中采用了由服务器方Java应用程序访问数据库的办法,无安全性限制。浏览器方Applet程序通过与服务器方应用程序通信来传递访问请求和结果。
  整个系统的数据库表格设计如下:
  .填空题表:含试题标识号、问题号、难度、试题内容、答案共五个字段。
  .判断题表:结构同上。
  .填空题试卷表:试题标识号、分数共两字段。
  .判断题试卷表:结构同上。
  .教学内容索引表:含章号、节号、问题号、问题名、URL地址共五个字段。
  .章标题表:含章号、标题共两字段。
  .节标题表:含章号、节号、标题共三个字段。
  .成绩登记库:含姓名,成绩两字段。
  从数据库设计可看出,本系统将教学内容与试题库中试题通过问题号连接起来。
  4.2数据通信处理
  从总体设计可知,系统有两类应用,它们有不同的工作特点。基于客户/服务器的应用是客户方发出访问请求后,再直接在事件代码中获取服务方返回的结果;而对于协作应用则必须在所有客户方分别设立消息监听线程去获取和处理数据。从实现效率上考虑,这两类应用不宜共用一条Socket通道。笔者采用了双Socket通路的办法。在服务方设立两个Socket监听口,分别是8883和8884,所有客户端要分别针对两个监听口建立Socket连接。为避免创建过多线程,并将两类应用通道分开,系统在通道的使用上作了一些特殊处理,具体情况说明如下:
  .学生客户:使用8883口发送消息,使用8883口接收数据库访问结果,使用8884口接收所有其它消息。
  .服务器方:系统为每个客户创建一个消息接收线程,它使用8883口接收消息,并将消息通过8884口的相应输出流转发给其他客户方。考虑到只有教师能发控制消息,在服务器方,针对8884口只建立一个教师控制监听线程,它专门使用8884口接收教师控制消息,并通过8884口发送给所有学生。与学生对应的8884口的输入流未用,因此服务方也不必创建相应的监听线程。
  .教师方:使用8884口发送教学控制信息,使用8883口发送谈话、白板、查分等消息。接收消息线程使用8884口接收消息。
  服务器方是通过8884口的输出流将消息转发到各个客户方,这就要求与每个用户连接对应的输出流要能实现共享访问,这是各用户间互发信息的基础。为此,在服务方通信线程类的设计上采用Static数组存放输出流,这样既可实现同一类中各对象间的数据共享,又可在不同类中通过类名直接访问其数据。
  由于在服务方和客户方都采用了多线程设计,系统的效率得以充分发挥。
  4.3消息设计
  整个系统是建立在消息基础上的,服务器端和客户端都承担有消息处理的工作。大量基于协作应用的消息,服务方只负责转发,由客户方进行处理。每类消息由消息头和内容组成,消息头用于系统判别。在整个系统中,主要有6类消息:交谈消息;白板消息;向导消息;用户登入和退出消息;试题库访问消息其它消息(如登分、查分等)。
  4.4教学应用界面设计
  4.4.1教师界面
  教师操作界面是固定的,在Applet面板上含四部分内容:①用户列表;②控制面板,有页面向导、讨论、练习、测试、查成绩共五个按钮,其中,前四个按钮分别用来控制学生进入各学习阶段,学生的界面将随教师的控制变化;③交谈文本显示域和谈话录入按钮,点击“谈话录入”按钮,将弹出一个文本录入窗口供发送谈话内容;④共享白板及工具栏。
  4.4.2学生界面
  学生界面是一个变动的界面,由两个帧构成,一帧用来显示JavaApplet,另一帧显示教师发送的URL页面内容。Applet帧的界面由多块面板(分别是“登录面板、“讨论面板”、“练习面板”、“测试面板”)采用卡片布局构成,初始为“登录面板”,以后显示哪块面板由教师的控制消息去控制。URL显示帧则按教师发送的URL内容显示多媒体页面。在学生测试时,可允许学生在两类试题(是非判断题和填空题,选择题可归为填空一类)间来回切换,并可用翻动试题按钮前后浏览试题。为了提高访问试题的速度和减少服务器端的访问负担,在客户端使用向量保存对已读过的试题内容、标准答案及学生的解答等信息,并引入一个标记向量标记某序号的题是否访问过,只有没访问过的试题才去访问试题库。测试时将创建一个计时线程,时间用完或点击“答题结束”按钮,计算机将自动进行评分,将得分以对话框形式告诉用户,同时写入成绩登记表供教师查询。
  4.5URL向导的实现
  URL输入与传送教师点击“页面向导”按钮,系统将访问学习内容索引等表,并弹出一个对话框让教师选定要学习的章节和问题,系统将其对应的URL地址通过Socket通道送往所有学生客户端,同时教师端将弹出一个新浏览器显示页面以供确认。
  URL显示步骤如下:①使用URL类按接收字符串生成URL对象;②通过Applet类中的getAppletContext()方法取得小应用程序的AppletContext;③通过AppletContext接口的showDocument方法显示URL内容。该方法的具体格式和参数说明如下:
  voidshowDocument(URLurl,Stringtarget)
  其中,target参数用于指定文件内容显示的位置,其具体值及作用见下表:
  
  值文件显示位置"—self"当前帧"—parent"父帧"—top"最顶部的帧"—blank"开辟新浏览器窗口显示"帧名"在指定的帧中显示
  在教师方笔者采用了“—blank”的办法,即另开辟一个浏览器窗口显示URL内容,供教师确认URL内容。学生方采用了多帧的办法,在HTML文件中安排多帧,一帧用来显示JavaApplet,另一帧显示教师发送的URL页面内容,在HTML文件

《基于WWW的协同式CAI软件的Java实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/173922.html

★温馨提示:你可以返回到 计算机论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。