关于卓越网络学习系统的设想

 

这是有关卓越网络学习系统的设想,这个设想整合了现有DS(当然DS需要为此进行重新开发新版本)和我们设想中的资源库系统,并提供了更多更高级的功能。

从中可以看出,这个网络学习系统是网络时代的产物,充分体现了“一切都是服务的理念”,并有效的整合了地域上的一切可利用的资源,充分发挥了分布式计算的作用。并不局限于英语学习,可以将各种学习功能纳入其中,并可以于随时随地进行访问。从中,我们可以感受到,这套网络学习系统的推出必将是带来学习方式的新的突破。

一.      系统特性

1.  通用的服务接口,各学校可方便的共享资源;

2.  开放的编程接口,轻松扩展系统功能;

3.  完善的网络访问机制,随时随地享受服务;

4.  优秀的缓存机制,联机和离线均可使用;

5.  动态加载运行组件,采用“徐徐注入”的方式减少需要加载的程序集大小;

6.  程序自动升级,有效降低部署成本;

7.  高效的开发效率,稳定、安全的系统。

二.      系统架构

卓越网络学习系统的架构如下图所示:

上图各部分作用如下所述:

1.  Able资源中心提供如下服务:

a)         注册鉴权,各学校客户只有在注册并缴纳服务费之后才能享受Able资源中心提供的一系列增值服务;

b)        大学资源中心服务器储存资源的列表,各大学资源中心在使用注册的帐户登陆之后和获得各大学资源中心服务器储存资源的列表,从而可与各大学资源中心共享资源;

c)        Able提供的教学资源;

d)        提供系统的升级服务,分发系统的升级及扩展组件;

e)         收集系统Bug及客户体验报告,以便在后续开发中参考。

2.  大学资源中心提供如下服务:

a)         纪录学校用户的活动,学校的教师和学生的身份认证信息储存在这里,并纪录下用户在系统中的活动信息,并可以查询分析;

b)        资源储存和分发,学校的有关教学资源储存在这里,可以分发给各语音教室从事各项教学活动;

c)        与其他学校资源中心交换资源信息,教学资源有是否公开属性,如果属性为真,则该资源可与其他学校资源中心共享;

d)        Able资源中心下载并更新自身程序,获取并分发语音教室、客户机的更新程序。

3.  语音教室服务器③和语音教室学生机是目前DS系统的组成部分,当然DS需要为满足这里的功能需求进行重新开发。语音教室服务器是否同时作为教室机还是与教师机相独立还有待考虑,语音教室服务器(教师机)提供如下功能:

a)         控制学生机进行各项教学活动,具体实现的教学功能可参考现有DS系统的功能并根据需要进行扩展;

b)        从校资源中心获取并分发教学资源,并根据需要进行缓存,以备以后教学使用;

c)        将学生在本教室中的活动提交校资源中心;

d)        从校资源中心下载并更新自身程序,获取并分发学生机的更新程序。

4.  语音教室学生机④将提供如下功能:

a)         在教师机的控制下开展各项教学活动,,具体实现的教学功能可参考现有DS系统的功能并根据需要进行扩展;

b)        从教室服务器获取教学资源并播放,并根据需要进行缓存,以备以后教学使用;

c)        将学生的活动发给教师机并转发到校资源中心;

d)        从教室服务器下载并更新自身程序。

5.  校外用户⑤的使用,学校的教师、学生在校外时,比如在家里、在移动中,一样可以通过各种方式来享受我们的服务,他们可以:

a)         通过各种方式来获取资源进行学习,无论是使用电脑还是移动设备;

b)        可以将资源缓存在本地,从而无论在联机时还是在离线时均可自由的学习;

三.      相应案例及这种架构设计的理由

本系统采用的这种设计可以看作是产品与服务的融和,是一种经营模式的改变。对于语音教室部分,这是我们已经成功的产品,只需要根据需要进行再开发;而客户与我们服务端的连接,提供的其实是一种完善的服务。

提供这种服务的案例,比如Kuro,是一个点对点的MP3下载服务,收费为每月20元,公司提供的服务便是所有的用户的地址和资源,利用这个服务,用户可以找到自己喜欢的MP3进行下载。用户越多,资源便越多;资源越多,喜欢使用这种服务的用户便越多;那么工资获得的收入也越多。这样便形成了一个很好的良性循环。我自己便是Kuro的用户之一,我很喜欢KuroKuro号称有50万首MP3不限速下载,我自己使用的感觉也是几乎没有什么歌是我不能找到的,所以很喜欢。

采用这种架构设计,是基于如下方面的考虑:

1.             语音教室部分(语音教室服务器③和语音教室学生机)是目前的DS,我们将在这个版本当中增强其功能并赋予其网络访问资源的能力,使其不再是以语音教室为单位的孤岛;

2.             Able资源中心部分是原来计划中的资源库(这是成立我们.net小组的初衷),但是我们现在赋予它更强大的功能,而不仅仅是一个资源库。仅仅做成一个资源库带来的问题是我们必须经常更新,否则用户很快会对我们的资源库失去兴趣。但是现在它不仅仅是个资源库,而是提供了更多的服务,大学资源中心的引入使得用户对资源的兴趣将长久保持,从而使我们提供的服务保持了长久的生命力。

3.             各大学资源中心的存在带来了如下的好处:

                         i.              将各语音教室孤岛连结了起来,使其能够方便的共享资源、交换信息;

                       ii.              Able资源中心一起构成了一个巨大的、动态的、能够长久保持生命力的资源库,这极大地拓展了我们原先设想的资源库的范畴,并使我们从这样的一个服务中长久获利;

                      iii.              为本校的教师和学生随时随地进行工作和学习提供了支持,Any Time, Any Where,他们都能够做自己想做的事;

                     iv.              有了一个集中的节点来储存本校教师和学生在系统中做的每一件事,一个集中的节点储存学生每一次的考试成绩,并可以进行查询和分析,从而将 葛总 提了几年而没有实现的这个需求得到了最完美的实现。

四.      一个典型场景

Jack的学校使用了我们的系统,我们来看看他一天的生活:

早上,Jack来到的学校,开始学习,他查看系统中的课件列表,当然他不知道这份课件列表是来自学校资源中心的,也不知道这份课件列表上的资源都是来自全国各个不同的学校的,他只知道,有这么一份课件列表,上面的资源都可以利用,就这样。

实际上,这份课件列表是学校资源中心事先利用在Able注册的帐号登陆后获取的各学校资源中心列表后与各个学校资源中心交换数据得到的,其中有些资源已经从其他学校的服务器上下载到了本地,有些则没有。

Jack从列表中选了一个视频,于是系统开始请求资源,Jack所用的学生机首先寻找本地缓存列表,可惜没有,于是它向教室服务器请求。教室服务器收到请求后也会检查本地的资源库,不过好像也没有,于是这个请求就再次被转到了校资源中心,校资源再次检查自己的资源库,oh, my God,校资源中心也没有,但是他检查了资源列表中的资源来源信息,知道了该资源的来源,并向该校的服务器发出资源请求,将返回的视频再通过教室服务器分发到Jack的学生机上,于是Jack可以观看了。同时,校资源服务器、教室服务器和Jack的学生机都根据预设的设置进行缓存。利用校园网和教育网的高带宽,这只耗费了很短的时间,但仍然对Jack说一声对不起,让你久等了,但是以后再看就不会了。

Jack利用我们的系统学习,看了一本英文小说,在老师的指导下上了一堂很有意义的课,并参加了一次考试,这些活动都被系统一一记录下来保存在校资源中心里,考试的成绩也在经过计算机自动判卷和老师手动判卷之后保存在了校资源中心里,并将在适当的时候进行分析给出相关报表。

Jack也不知道,在他开机的时候系统曾经自动的从网上下载了一个升级补丁,从而使得系统更加稳定健壮。不过任何东西都不会是完美的,Jack发现了系统的一个小小的不完美的地方,于是他利用系统的用户体验报告功能将建议提交给了Able。这个建议将会被Able的工程师在仔细讨论之后予以完善。

上完了课,Jack去看了一场足球赛,在回家的路上,他掏出自己心爱的PPC手机背起了白天刚刚学过的单词,而这些单词则是刚刚上网下载下来的……而与此同时,他的老师则在家里用电脑正做着明天上课的课件,课件的内容被及时的传递到了学校的资源中心……

五.      目前DS系统存在的一些问题的解决方案

1.  资源存储的问题。目前的DS系统的资源还没有进行深入的分析整理,都是以文件的形式保存在磁盘上。同样的问题也存在于试卷库中,目前的考试卷是以txt格式存放的,这样带来的诸多问题现在是不言而喻的。下面以考试卷为例谈谈我的想法:

试卷应当以拆分为试题的方式存放在数据库中,由于试题形式多样,如选择题、填空题、翻译题等等,显然不能用一种单一的方式来处理它,但是一些设计模式的观点来看待,就可以发现,我们一样能解决这个问题。

在数据库中,每一种题型可以采用一张或多张数据库表来存放,我们称之为一个数据库对象。

对于每一个数据库对象我们可以开发一个包装器,负责从关系型的数据库中读取数据并包装为试题对象。对于包装器和试题对象,都可以由一个或多个类构成,但都各自是从一个基类来继承。

这样,试题对象便可以被方便的调用。

在客户端或者说UI中,我们再调用相应的显示模块显示出来。这些显示模块也是从一个基类中继承,以方便的嵌入到UI中。

类型列表则记录了每一种试题类型的相关信息,如,储存在哪一个数据库对象中,采用哪一个包装器来包装,包装成哪一种试题对象,再调用哪一个显示模块进行显示,等等。可以认为是整个试题处理模块的参谋本部。

除了上述对象外,还会有一个执行引擎,该引擎的工作就是根据类型列表提供的信息调用相应的模块来处理试题,可以认为这个引擎就是整个试题处理模块的司令部。

采用这样的设计可以方便的处理试题,并借助.net的反射机制,可以采用动态加载,再有新的题型出现时无需修改主程序,只需要开发相应的包装器、试题对象和显示模块并在题型列表中添加相应的记录即可。

另外,对于考试,目前DS是试卷很像纸质的试卷来考,我觉得这是不必要的,既然技术先进了,那为什么不理念也先进一些呢,国内很多机考考试也都是像极了纸质试卷。我觉得这一点应该向微软、思科的一些认证考试学习,机考就是机考。

其他资源的处理也可以采取类似的方法。

2.  资源和试卷录入数据库的问题。由于资源格式有很多种,这一点目前还没有作处理,目前是把考试卷统一规定为txt格式。我想,其实针对资源和试卷录入,我们可以开发一些相应的工具,每一种工具特定专门面向一种资源,系统发布时提供一个有几种基本工具的工具包,后续还可以继续开发并可以考虑将附加工具有偿提供给客户。客户可以使用这些工具来将资源读入数据库,工具首先对资源进行预处理,然后在经过用户手工整理后录入数据库。

3.  试卷自动生成模块。目前的试题时叫做试卷库而不是试题库,其原因有三:一是前面低一点所述的资源在数据库中的储存方式没有考虑好,这点可以照前述第一点解决;二是前述第二点所述的录入方式没有解决,这也可以照前述第二点解决;三是生成逻辑的不确定性,我考虑的解决方法是这样的,给每一道题作出难度、适用层面(几年级、或者是几级水平)、知识点范围等等方面的评价,然后在试题生成器上由用户输入以上相关筛选依据随机产生,并且提供和用户自定义几个筛选条件模板。由于系统自身的自动升级特性,试题生成器也是可以自动更新的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值