Paper: 基于用户体验的移动学习软件质量保证框架研究

 

傅健1   谢新秀2

(1 思科CSG合肥分公司,中国合肥 230088  2华东师范大学心理与认知科学学院,中国上海200062)

摘要:“移动学习”兴起迫切需要充足的学习资源,而运行终端(屏幕尺寸、性能、平台等)、学习者群体、需求多样性,使得移动学习资源须具备自身特点,这就要求其质量保证过程有着特殊需求。目前对于移动学习软件质量的研究更侧重对已成型产品的评价和待开发产品的需求定位层面,而忽略了软件质量形成于开发的整个过程中的事实。本文结合用户体验的思想,提出贯穿整个移动学习软件开发流程的质量保证框架,并根据不同阶段对关键质量要点进行了简述。

关键词:移动学习;用户体验;软件测试;质量保证;

中图分类号:G434          文献标志码:B

 

伴随移动应用的兴起,移动学习悄然开展并蓬勃发展。在过去的十年,从电子词典到学习机、从普通通信手机到“移动学机”、从公共短信收发、语音通信模块到专用学习软件。支持移动学习的硬件性价比的提升使更多的移动学习软件应用起来,仅以英语学习为例,碟中碟移动英语通,NOKIA“行学一族”,诺亚舟“掌上思维英语”等作为手机、电子词典等终端附属软件绑定从而带动销售,使得更多购买者能享受到移动学习软件服务的便捷,并逐渐将是否内置移动学习软件作为选购移动设备的一个重要因素。作为一款移动学习软件,其质量非常重要,它不仅代表商家的品牌,更影响大众开展移动学习的学习体验,因此移动学习软件质量保证体系的建立尤为重要。台湾学者和大陆学者从E-learning的角度对移动学习质量做了较全面的阐述,如对E-learning的补充和扩展、基于SCORM的模式等[1],国内学者詹青龙基于QFD(质量功能配置)构造了移动学习资源的质量屋模型[2];这些研究分别立足于已发行的软件产品的学习效果评价和未开发软件产品的需求,对具体如何在操作层面执行未作详述,而在软件的整个开发周期进行质量保证可以更有效地节约成本,出版优良的资源,有效地提高学习者的学习效果。因此本研究基于学习者体验和交互设计的思想,结合移动应用项目Cisco Webex Blackberry Program质量保证实践经验,试图提出一套贯穿软件开发周期的全程质量保证框架,以期为国内从事移动学习产品质量研究者提供参考。

、基于用户体验的移动学习软件质量因素分析

近年来,用户体验(UE)观念在商业市场中关注度日益增高,同时,强调沟通、情境和互动的建构主义学习思想和“以人为本”的设计理念深入人心,使得“用户体验”在教育领域颇受重视。设计好的学习资源,为学习者提供良好的学习体验成为每位教学设计者的共同目标。ISO 9241-210标准将用户体验定义为“人们对于针对使用或期望使用的产品、系统或者服务的认知印象和回应,即用户在使用一个产品或系统之前、使用期间和使用之后的全部感受,包括情感、信仰、喜好、认知印象、生理和心理反应、行为和成就等各个方面。”[3]

与传统数字化学习方式相比,移动学习软件在满足学习者需求的同时,还要考虑到使用基于移动设备进行学习是否便捷、是否高效等诸多因素。结合其具体使用而言,不论是用户体验的5E模型[4],还是蜂窝模型[5],都可以归类为可用性、易用性、爱用性三层次(表1)。以下梳理对影响移动学习软件应用质量因素,为后续的质量保证策略提供依据:

表1 移动学习软件质量因素层次划分

111

UE 5E模型 UE蜂窝模型 移动学习软件质量因素层次
吸引的 信任价值期待 个性化趣味性可靠性
易学效率 可寻可及 易学性易理解易操作
有效性容错 有用可用 软、硬件资源普适性

(一)可用性层次

对基本功能可用性考察更侧重软件对移动终端的依赖与适应:(1)对硬件资源的占用:消费的CPU、内存、磁盘空间等是否合理,尽量减少资源消耗比;(2)对网络资源的利用:虽然目前国内3G传输速率已达M/S(例如:GPRS目前已经达到每秒384KB速率[6]),但是现阶段测试速度还不是很稳定,整体在50~200KB/s之间,而移动终端在移动过程中或信号“弱”区域连接速率会更低,因此需要合理利用带宽,减少带宽浪费,在低带宽时仍然保证容错等;(3)学习软件的通用性:主要表现在软件在不同类型、型号的移动设备上的兼容性,及对不同语种用户的需求的满足。例如对于不同屏幕尺寸的设备来说,有切换内容显示方式的功能,小屏幕设备上需要采用更深层次的信息架构方式,满足用户“清晰”阅读的需要;此外,具备多语种切换等功能的多国语言、多民族语言设计将是一种满足更多区域软件用户群体的重要方式。

(二)易用性层次

交互设计的基本思想在于最大程度上适应人的习惯和本能[7],因此软件的易用性在满足用户移动学习上尤为重要,主要包括三方面:(1)易学与易理解,主要包括内容呈现和内容组织两方面:其中内容呈现是指根据学习者应用环境采用不同内容呈现形式,包括视频、音频、文本等;内容组织包括内容多少、导航方式等方面。相关的研究表明,内容丰富的软件反而起不到很好学习效果,这主要是由移动学习自身的特点来决定的—移动学习是让学习者在较零碎的时间里更快地学习一些有用的知识,如果过于冗长和纷繁的学习内容,不适宜出现在移动学习的环境中,这就是“少即是多”和“简介就是力量的”设计理念。短小精悍的学习内容让用户快速地现学现用,真正达到移动学习目的,体现了移动学习的优越性和实用性。(2)易操作性,按键的设置是否符合习惯,左右“软键”的合理使用、组合键的使用、触摸屏中菜单“伸缩切换”方式等都是手机需要考虑的不同输入方式,以使用户有舒适的使用体验。

(三)爱用性层次

软件在为大众提供服务时,如果充分考虑人的个性及情感等因素,会使用户有良好的学习体验,并达到爱用的效果。(1)可靠性:可靠性是指软件的质量、安全等方面具有可信性,值得用户的信赖。这一点对于任何一款软件都非常重要,对于移动学习软件又具有独特意义,因为手机等移动终端目前大多为个人所有,具有较强的个人归属感,任何私密信息的泄露或者影响手机正常功能的使用都将给用户糟糕的使用经历甚至畏惧情绪。(2)个性化:作为一款应用于手机、电子词典等与人具有很强的情感联系的移动设备上的学习软件,与人的互动性颇为重要,学习者更希望所使用的软件是为自己量身制作,因此目前也有很多移动学习站点采用实名注册方式,使用中反复提醒是为学习者定制的服务;(3)内容趣味性:一款学习软件的设计阶段,首先要考虑的就是该软件的内容是什么,是为用户提供日常生活小知识,还是关于某个领域的专门知识,或是某种语言的学习。在内容的选择上需要考虑实用性外,趣味性也是一个重要的因素,让学习者对学习内容感兴趣,避免知识枯燥乏味,增加娱乐性和吸引力,势必让学习者在学习的过程中轻松愉悦,达到事半功倍的效果。

影响移动学习软件使用的因素除以上列举之外,还包括学习者使用的场合、动机水平等因素,这里不做详述。

、移动学习软件质量保证模型析出

现代软件质量管理理论认为软件产品的质量保证应贯穿于整个软件开发周期内。而不论开发模型采用传统的瀑布模型还是快速原型法及最新的敏捷开发方式,都可以将移动学习软件的质量保证过程分为启动、计划、执行、监控与结束五个基本过程。结合上文提出的影响学习效果的用户体验的三层次,可对基本过程的具体内容进行具体加工,并对关键过程的要素进行解析,以下就五个阶段分别作解析:

222

图1 移动学习软件质量保证模型

 

(一)启动阶段:启动是对执行计划前的需求收集与资源规划,一般应发生在软件需求说明书的编制过程中,从而驱动开发,减少随后的需求变更,具体包括以下三个部分:(1)收集测试需求:测试需求的初衷是在时间、资源、成本上进行移动学习软件质量保证,基于用户体验的质量保证强调将“体验”的三个层次在最初的需求收集中有所体现,在考虑爱用性和易用性从而确定内容表达、呈现、组织等方式后提出具体的可用性需求;强调学习者的参与,析出真实有效的需求;(2)编写测试计划:经过对测试需求的核实与确认,即可编制测试计划,以便于在宏观上计划整个测试过程与目标,但区别与传统质量保证将测试计划分为可行性测试、易用性测试以及爱用性测试计划并涵盖具体方法选择与实施方案。(3)规划测试资源:对于移动学习项目的测试,除了需要主机、服务器等设备外,还需要规划采购移动终端进行真实的场景测试。虽然主流的移动终端(如诺基亚,黑莓等手机)都提供软件模拟器便于测试,但与真实机器仍有差距,所以需要购置真实移动终端,其中支持型号、购置数量都是需要权衡的要素。

(二)计划阶段:编写测试用例,结合测试计划,根据系统的具体功能,可以完成测试用例的设计与编排,同样根据用户体验三层次可以划分为三种不同类型的用例。与可用性层次不同,对易用性、爱用性测试计划和用例不是明显的“刺激-反映”式的机械界面、功能反馈,因此在此阶段上可以粗略粗粒度的初步编写,随着测试的进一步进行,不断探索、调整以达到最优化的质量保证方法和途径。

(三)执行与监控阶段:在具体的测试用例执行中,可以划分为以下三个主要的子阶段:

(1)可用性测试阶段:可用性测试即验证基本功能的是否可用,以“可用”为基本目标。对于移动学习软件,此阶段根据测试方法的不同,可以分为“黑盒测试”、“灰盒测试”及“白盒测试”阶段。考虑到在一般移动项目中,用户的“黑盒操作”可以完成绝大部分功能的验证,“灰盒测试”可以通过修改发送端代码来测试移动接收端的方式;无法验证的部分通过“白盒测试”来进行。可以据此特点最优化测试的途径(如表2)。其中黑盒测试阶段使用模拟器或真机即可完成;而“白盒测试”可以采用类似单元测试的方法(不同于开发在编码中的单元测试)来完成未验证的测试。当然,部分开发平台没有良好的单元测试框架,也可以将函数或代码复制出来进行测试,或不用测试框架写测试用例代码来测试。根据传统可用性测试的方向可以划分为功能性测试、性能测试、安全性测试等范畴,与传统软件测试方向相比,对于移动学习软件项目有其自身的可用性测试要点,具体表现在以下方面:

表2 移动学习软件可用性测试解析

 

可用性测试 测试分类 测试流程、方法 测试要点
功能测试性能测试安装测试兼容性测试恢复测试 333 ①电池用电量②无限连接速度③CPU/MEM利用率 

④多语言、平台支持

②无线连接速度:对于连接速度的测试,主要考虑两个方面,一是在低速的情况下,软件运行的情况是否正常或不出现Crash的情况;二是正常情况下对于网速的消费是否合理可接受。①电池用电量:手机等移动终端电池多使用的锂电,供电量有限,而当前的移动学习软件趋向于图像化、声音化、视频化等发展,这对于电池的耗费也越来越大,这都需要控制在用户可接受范围之内,目前对于不同呈现形式资源,电池电量的耗费都有较好的区分。在测试时,可根据一定的标准进行评价。

③CPU、内存等利用率:一般移动应用终端的内存、CPU频率较低。虽然目前宣称利用效率很高,但是对于大多应用而言,还是需要占用很多资源,因此可以使用内存、CPU监控软件对运行过程中资源耗费进行跟踪以不断调优软件。

④多语言、多平台支持:目前手机的型号繁多,每种型号的屏幕尺寸,性能等指标迥异,而对于大多软件不可能仅仅适用于一种移动终端的一种型号或者一种语言,多终端支持需要在纷繁繁杂的多种型号上进行测试,多语言支持可以使用标准常用字符进行测试。

(2)易用性测试阶段:易用性是交互式IT产品、系统的重要质量指标,指的是产品对用户来说有效、易学、高效、好记、少错和令人满意的程度[8]。即用户能否用产品完成他的任务,效率如何,主观感受怎样,实际上是从用户角度所看到的产品质量。根绝具体的测试内容可以划分为易理解性测试、易学性测试、易操作性测试等。在此阶段测试,对于测试方法而言,首先要完成的是初步易用性指标的确定,然后根据不同的测试对象划分测试的方法(采用用户调查、软件自身测试或相结合方法实施):例如以移动学习软件“导航”易用性测试为例,可以通过主题讨论到达某“片段”学习内容的步骤数、导航耗时、是否便捷等是否达到指标来完成,同时也可以通过具体的软件自身测试(记录并打印键盘操作的耗时情况)来衡量是否易用。最后对测试的结果分析、确认并最终完善软件。在易用性测试阶段更多的是对于内容的组织、导航、表达,是否改善以是否提高学习者学习体验的指标来决策。同样对于移动学习软件而言,具有以下测试要点:

表3 移动学习软件易用性测试解析

易用性测试 测试分类 测试流程、方法 测试要点
易学性测试易操作性测试易理解性测试 444 ①内容组织:是否采用“片段化”方式,是否提供“使用指导”②内容呈现:颜色是否可定制,是否标记上次学习内容③键盘、声音导航:进入学习内容的步骤及耗时④内容操作:是否利用手机自带特殊功能(如黑莓的“一键信息”iSMS)

(3)爱用性测试:建立在可用性、易用性测试之上,考虑的是不同人群满意度的“感性”调查,是对应用软件的“模糊评价”:类似于针对用户的Ad-hoc测试,对公司外学习者使用优缺点进行收集与整理,多采用开放式方法(用户访谈、专家评审等)进行,可划分为科学性、艺术性、思想性、趣味性等不同纬度(表4)。移动软件面向的学习群体年龄、职业等可能差异较大,系统应用效果模糊评价作用凸显。通过实用性原则,内容的选择必然是对学习者具有教育性、有用的实用性知识,其教育性的“浓厚”程度直接影响学习效果;通过趣味性原则,如果知识枯燥乏味缺少趣味性和吸引力,那么这款学习软件的应用将大打折扣;其他如科学性、思想性等因素都直接影响学习者使用“愉悦”度。可见一款软件要成为好的学习伙伴,除建立在可用、易用的基础上外,更要在爱用性的趣味性、教育性、科学性等要素上得以体现。

表4 移动学习软件爱用性测试解析

爱用性测试 测试方法 测试要点
专家评审(德尔菲法)用户访谈头脑风暴调查问卷 ①教育性②科学性③艺术性④思想性⑤趣味性

(四)结束阶段:此阶段是对项目整个质量保证过程中记录的文档及最终验证结果做归类总结,并且对于整个质量保证过程中所采用的基本工具,方法,流程等的全方面总结,对于不足予以总结,以便于在以后的项目中扬长避短。

以上即为适用于移动学习软件质量保证的框架。

三、移动学习软件质量保证模型应用

思科的Webex Online Meeting系统是针对商业应用而开发的在线会议模式,在该领域市场份额高达64%[9],根据不同的模式可划分为Train, Event、Support、Meeting等系统,其中Train系统面向于教学过程。2005年,Simba Information公司的报告<Corporate Training Market 2005: Forecast and Analysis>称誉其为最佳网络学习方案[10]。结合各种系统特点而开发的移动客户端系统及Web Solution,覆盖三星、诺基亚、黑莓、Iphone等主流品牌手机及最新的Android平台,主要包括聊天(chat)、分享(share)、语音(audio)、在线帮助(help)功能,可满足不同人群对培训教学的需求。本文提出的移动学习软件质量保证模型在Cisco Webex Blackberry Program应用中主要体现在以下方面:

(1)可用性质量保证阶段:遵循了以下流程(如图2),在Blackberry客户端应用软件测试过程中以代码覆盖率为标准,贯穿①黑盒测试—>②灰盒测试—>③白盒测试三个基本可用性测试过程,有效利用了移动应用项目的特点(分为PC,手机收发两端,用户操作覆盖大多代码实现,“异常”保护较少),对可用性进行了充分测试。

555

图2质量保证框架可用性应用示例

(2)易用性和爱用性质量保证阶段:分别由对移动学习软件熟悉的内部开发、测试人员及不熟悉的用户来实施,同时针对测试的要点,分别采用了主题要素讨论和用户意见模糊搜集的方式,从而改善软件的应用效果,从用户角度最大程度迭代优化软件,提高用户体验。具体应用如表5所述:

表5 质量保证框架易用性、爱用性应用示例

测试类别 测试(验证)人员/审核人员 测试方式/频次 测试过程 主要产品改进
易用性测试 软件开发、测试人员(QA)/RO(Release Owner) 头脑风暴:次/周 列出易用性讨论主题(“导航”)—>周期性例会头脑风暴法讨论是否存在改善之处(导航仅可以通过切换菜单实现)—>改善软件—>下次例会讨论是否达到目标 ①功能:添加内容呈现快捷键(Z),帮助键(H)②功能:添加“帮助&反馈”子菜单③功能:语音接入(Call)模块:填写手机号支持“国家区域”(如中国:086)首字母导航选择;学习讨论(Chat)模块:支持用户名首字母导航
爱用性测试 公司内部其他项目组成员/PM(Product  Manager) 用户访谈(问卷调查):整个开发过程中两次 选择其他项目组成员—>发放手机(配备软件)及调查问卷—>汇总调查问卷、访谈方式收集使用意见—>讨论用户意见并决策措施—>重复上述步骤验证完善效果 ①界面:分享资料(share)背景色由纯黑变成(#666666)②功能:分享材料(share)应自动隐退菜单栏③界面:页面切换方式不统一

 

结合以上应用可知,本文提出的移动学习质量模型,综合考虑了“移动学习”优劣势,结合了软件质量保证的流程,同时更注重了用户的参与与互动。

四、结语

通过上文对质量保证框架建立基础、析出及应用的概述,可知对于一款移动学习软件,其质量保证除应贯穿于整个软件开发周期外,更多的要考虑面向的用户、运行的终端、开发的目的三方面因素,在整个需求规划阶段就应立足可用、易用、爱用三个基本用户体验层次。本文仅仅是对于移动学习领域软件产品的质量保证做了分析,对于硬件产品应用未作涉及,因此仅供参考,在后续研究中,将做进一步实践与思考。

 

 

 

 

 

 

参考文献:

[1] 黄荣怀,Jyri Salomaa. 移动学习-理论·现状·趋势[M].北京:科学出版社,2008

[2] 詹青龙,元梅竹. 移动学习资源建设的质量屋模型构建[J].中国电化教育,2009,(10):51-56.

[3] 用户体验[DB/OL]. http://baike.baidu.com/view/274884.htm.2010-11-18

[4] Morville,P.User Experience Design.[DB/OL].http://semanticstudios.com/publications/semantics/000029.php,2004-6-21

[5] Michael J. Albers, Mary Beth Mazur.Content and complexity: information design in technical communication [M].Mahwah, NJ: Lawrence Erlbaum .2003

[6] 毕书清.3G技术促进了媒体业的快速发展[J].中国科技信息,2010,(20):95-97.

[7] 奚丹,Matt Jones. 移动设备交互设计[M].北京:电子工业出版社,2008

[8] 邱均平,叶晓峰. 情报学中的易用性原理初探[J].情报探索,2007,(9):3-5.

[9] Webex网络视频会议[DB/OL]. http://www.webex.com.cn/companyinfo/webex-company.html

[10]Industry report names WebEx Training Centre top solution for web-based training [DB/OL]. http://www.ipress.com.

hk/companyview.asp?id=10772

 

 

Paper: 基于WAP的移动个人知识管理系统设计与开发

 

傅健    杨雪    

(吉林大学 高等教育研究所,吉林长春 130012)

【摘要】 个人知识管理(PKM)和移动学习都是当前教育领域研究热点:个人知识管理利于个人知识的扩充和创新,而移动学习便捷了人们的学习,将Wml和Jsp技术结合,采用MVC-Model2模式设计和开发了手机等移动终端可随时接入的WAP个人知识管理系统,为学习者提供便捷和高效的知识管理方式。

【关键词】WAP;移动学习;个人知识管理;Jsp;MVC;Wml

中图分类号G420               文献标识码B              论文编号

Design and Development of Mobile Personal Knowledge Management System Based on WAP

FU Jian    YANG Xue   

Institute of Higher Education, Jilin University, Jilin,Changchun, 130012, China

Abstract:Personal knowledge management and M-learning both are hot research topics in the area of education:Personal knowledge management promotes amplification and innovation of knowledge; M-learning is proposed for the convenience of learner’s study.The article designs and develops a Personal Knowledge Management System based on WAP that mobilephones and other mobile terminals can connect with anytime through combining Wml with Jsp and taking the mode of mvc-model2.The system privides an efficient and convinent learning style for learner.

Keywords:WAP;M-learning;personal knowledge management; Jsp; MVC; Wml

 

引言

个人知识管理(Personal Knowledge Management), 简称PKM, 最早由美国的Paul A.Dorsey教授在1998 年提出: “Personal knowledge Management should be viewed as a set a problem-solving skills that have both a logical or conceptual as well as physical or hands-on component.”,译为中文即“个人知识管理应该被看作既有逻辑概念层面又有实际操作层面的一套解决问题的技巧与方法”[1]。尽管个人知识管理目前有多种版本定义, 其本质却都在于整合个人的知识资源,提高个人工作学习效率和竞争力。通过实施个人知识管理, 个人可以快速有效地存取所获知识, 提高效率。

随着个人知识管理越来越得到认可和重视,相应的知识管理系统近年来也已经出现,典型的如:针式PKM、magicflu中文信息知识管理平台、Microsoft OneNote,同时很多基于Web2.0的社会性软件(Blog、Wiki等)也被用做个人知识管理的有效平台,虽然这些都一定程度上促进了个人的知识管理,但用户还是摆脱不了电脑终端或网线的束缚。实际生活中,有时候突然的灵感或体会等重要知识都不能及时记录,即使记录下来,但终因缺乏良好的管理而出现无法找到的尴尬局面,不仅不利于知识掌握,而且做了大量重复的知识存储过程,为解决这些问题,本文将Wml和Jsp技术结合,设计和开发了一个基于手机等移动终端的个人知识管理系统, 方便学习者随时随地存储和管理自己的知识,同时也为移动学习研究者开发移动学习站点提供参考。

  WAP技术简介

WAP(Wireless Application Protocol)即无线应用协议,是由一个称为“WAP论坛”的公开组织提出的,其定义来自无线工业界。WAP是移动通信终端与互联网融合的产物,它基于现有的XML和IP等Internet技术,主要为手机等无线移动终端能够访问各种服务和信息(特别是Internet上的服务与信息)提供规范[2]

1998年5月,WAP规范1.0 版推出, 并于1999年9月发布了1.1 版,当前版本为WAP2.0,它通过WML技术使得手机浏览器可以识别浏览WAP网页。

目前WAP技术广泛应用于生活服务信息、商业、娱乐、理财等领域,而且近年来随着移动学习(M-leaning)的兴起,开始被应用于移动教育资源和信息站点的开发。

  移动个人知识管理系统的分析

1 系统的设计目的

(1) 增加个人的知识储量;

(2) 使个人的知识成为良构性的知识,有利于知识存取和知识系统体系的建立;

(3) 促进同学、同行知识的共享,有利于通过共享交流转化为个人知识资本,促进知识创新。

2 系统的设计原则
(1) 良好的远程接入特性:基于WAP的开发,使得用户可以随时随地通过手机等移动终端接入系统;

(2) 体现个性化和简易性:每个用户通过自己注册的帐号,应该可以建立不同于别人的知识体系,而且由于手机等移动数字终端屏幕有限且可操作不多,因此系统应简单易用,易于操作;

(3) 体现知识管理中的可良构性:知识应具有不同的类别,便于检索浏览;

(4) 体现积累性与可管理性: 知识点内容可能随着学习的进一步有所修改,因此需要具有良好的管理功能:可以对知识进行修改、添加和删除,体现知识积累的重要性;同时将管理功能与浏览功能集于同一界面,便于管理;

(5) 体现一定的知识共享特点:个人知识管理区别与企业管理,主要目的是提高个人的知识能力,但作为个人知识管理系统,具备一定的共享交流功能,更能扩大个人知识储量。但要注意系统设计在使个人和他人进行交流、共享知识的同时还应考虑对个人不愿共享知识的保密;

(6) 强大的知识检索功能:强大的检索功能是个人知识管理必须具备而且要求较高的模块,良好的检索应提供多角度的检索方式并能对检索结果按不同要求进行筛选。

  移动个人知识管理系统的总体设计   

1 根据以上提出的原则,可将功能模块划分为图1所示:

111

1 移动个人知识管理系统功能模块划分图

详细功能介绍:

(1) 注册登录模块:用户可以通过手机等移动数字终端访问系统进行注册并登录,建立属于自己的知识体系;

(2) 浏览模块:用户进入系统后可以选择自己建立的知识类别来进入各类别的知识点列表,从而选择可浏览的知识点,查看知识点的内容;同时若该知识点被设置为共享且有其他用户评论,则用户可以查看别人针对该知识点的评论并可以回复,进行一定的交流;

(3) 知识类别/知识点管理模块:用户可以根据自己的学习情况对知识点和知识分类进行管理和扩充,建立良构的知识体系,在知识点设置上,可以设置是否为共享,保护隐私知识内容的同时便于共享;

(4) 检索模块:用户可以通过按标题、标签、内容三种方式对知识库进行检索,同时可以按“时间”和“是否包含别人共享知识”等筛选检索结果;

(5) 共享交流模块:该模块汇聚了所有用户共享出的知识,用户可以浏览并对其进行评论,还可以给发布共享知识的用户留言。

2 数据库的设计及要点

根据以上功能要求,利用PowerDesigner工具可将个人知识管理系统数据库设计如图2所示:

222

2 移动个人知识管理系统数据库图

对于知识点表(Knowledge)中的是否共享(isshare)字段和用户信件表(Message)中的阅读状态(readstate)字段应该设置为bit型,以达到逻辑判断的目的;对于内容较长的字段使用text类型,而诸如用户名等字段则用varchar类型,使得满足存储要求的前提减少存储空间。

  移动个人知识管理系统的实现

根据以上对系统的分析以及设计,可将该系统的主界面设计如图4中的右图所示,包含四个主菜单供选择:进入知识库、检索知识库、共享交流、收发信件。

对于该系统的开发,这里以Red Hat Enterprise Linux 5为平台,以Tomcat 5.5为服务器,采用的技术方案是以Jsp和Wml相结合的方式,按照MVC-Model2来设计:

MVC(Model,View,Controller的缩写,分别为模型、视图、控制)是Application开发的一种设计模式,它要求在开发中把业务逻辑、界面显示和数据进行分离以利于组件复用和开发分工,而MVC-Model2具体是指使用Jsp+Servlet+JavaBean技术方案:Model层实现系统的业务逻辑,这里使用DAO模式封装对数据的操作;View层用于与用户的界面交互,采用Jsp、Wml结合实现;Controller层是Model层与View层间的纽带,使用Servlet来完成有效控制,具体如图3所示。下面具体介绍下后台数据库的连接并以MVC-Model2实现系统登录模块为例介绍系统的实现。

333

3 系统开发的环境及MVC-Modle2模式

1 后台数据库的连接

后台数据库是存取用户信息及其各自知识类别、知识点等信息的关键,这里使用可跨平台的MySQL做为数据库,Jsp与数据库的连接可以通过JDBC或ODBC方式,而ODBC依赖微软平台,移植性不强,所以这里采用JDBC方式,在对数据库的操作上通过建立一个ConnectionManager类来提供对数据库的连接,然后通过DAO模式来调用,ConnectionManager类的关键代码如下:

public class ConnectionManager {

public static Connection getConnection() {  //定义取得到数据库PKM连接的方法

……

Class.forName(“com.mysql.jdbc.Driver”);

Connection dbConnection = DriverManager                            .getConnection(“jdbc:mysql://localhost:3306/pkm?user=root&password=fujian”);

……

return dbConnection; }……}

2 MVC-Model2实现登录模块(界面如图4)实例

444

4 移动PKM的登录模块

(1) 在视图层(View层):利用Jsp和Wml相结合生成手机可以浏览的页面,结合方式主要有两种:一种是利用Jsp中的out.println()方法动态生成WML,另一种方式是将Jsp代码和Wml代码分离,Jsp负责处理会话,Wml负责显示Jsp处理的结果,这里以第二种方式为例,Login.jsp关键代码如下:

……

<% response.setContentType(“text/vnd.wap.wml”);%>

<!—上面为头部分和JSP操作部分,以下为WML显示部分–>

<wml>

<card title=”移动PKM”>

<p>         用户:<input name=”name” type=”text”/><br />

密码:<input name=”password” type=”text/>

<do type=”accept” label=”登录”>

<go href=”LoginServlet” method=”post”> <!—调用LoginServlet–>

<postfield name=”name” value=”$name” />

<postfield name=”password” value=”$password” />

</go></do>……

</p></card></wml>

(2) 在控制层(Contorl层):接受视图层Login.jsp传来的用户名和密码,使用Servlet进行控制,LoginServlet关键代码如下:

……

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String name = request.getParameter(“name”);

String password = request.getParameter(“password”);

if (new PKMdao().checkUser(name, password)) //调用PKMdao()类的checkUser()方法验证用户

{……

this.getServletContext().getRequestDispatcher(“/main.jsp”).forward(request, response);}

……

(3) 在模型层(Model层):使用DAO模式封装对数据的操作,提供操作数据库的checkUser()方法供控制层LoginServlet调用,PKMdao类关键代码如下:

……

public boolean checkUser(String name,String password){     //操作数据库、验证用户的checkUser()方法

boolean flag=false;

Connection con=ConnectionManager.getConnection();

……

PreparedStatement ps=con.prepareStatement(“select * from pkmuser where name=? and password=?”);

ps.setString(1, name);ps.setString(2, password);

if(ps.executeQuery().next())flag=true;

……

return flag;               }

……

通过以上MVC-Model2模式,可以实现强大的WAP应用,系统的其他功能模块都可以通过这种方案来实现,其中几个主要模块的界面实现效果预览如图5和图6。

  移动个人知识管理系统的发布与测试

    对于WAP系统的发布和测试,和普通WEB站点存在一些区别,下面从发布和测试两方面介绍WAP系统的发布和测试方法:

1 系统的发布

若要将WAP应用发布至外网,必须将代码应用到服务器平台上,WAP服务器与普通Web服务器架设方法相同, 若只想进行简单的WAP内容服务,仅需修改当前服务器的MIME类型,MIME(多用途因特网的邮件扩展)是用来定义互联网上传输数据的规格,当使用浏览器浏览一个页面时,服务器将告诉用户浏览器将接收到文件的类型,设置MIME则设置了服务器传给浏览器的文件类型,与WAP有关的主要有五种MIME类型,具体如表1:

1 WAP的五种MIME[3]

MIME类型  文件类型 扩展名
text/vnd.WAP.wml Plain WML documents .wml
image/vnd.WAP.wbmp Wireless Bitmap Images .wbmp
application/vnd.WAP.wmlc Compiled WML documents .wmlc
text/vnd.WAP.wmlscript WMLScripts .wmls
application/vnd.WAP.wmlscriptc Compiled WML Scripts .wmlsc

可以使用微软的IIS或Apache的Tomcat作为服务器来发布系统,为了便于移植和高效,这里操作系统选择Red Hat Enterprise Linux 5,服务器选择Tomcat5.5,将WAP的MIME类型加入到Apache服务器可以按照下面步骤:

(1) 添加五种MIME类型到服务器的主配置文件中:Linux系统安装Apache服务器后,系统的/etc目录下会新增一个httpd目录来存放所有Apache的配置文件,可使用命令“vi /etc/httpd/conf/httpd.conf”编辑Apache的主配置文件httpd.conf:定位到AddType区域,按a进入插入模式,以“AddType text/vnd.WAP.wml .wml”格式将五种MIME类型添加进主配置文件,保存退出;

(2) 重新启动Apache:使用命令“/etc/init.d/httpd restart”重新启动Apache服务。

通过以上操作即可将WAP的MIME类型加至服务器配置文件中以提供完整的WAP服务。

2 系统的测试

WAP页面不同于普通WEB页面,如果要在电脑终端上测试和浏览Jsp实现的WAP应用除需要安装Java虚拟机(JRE)外还需安装支持WAP的浏览器(即手机模拟器),目前常用的WAP浏览器有WinWAP、Opera、M3gate、Nokia WAP Toolkit等,其中M3gate测试的最为严格和标准,因此本文采用此软件进行测试,图5和图6为该系统主要模块主要页面的测试效果图。

555

5 移动PKM的浏览模块主要界面

666

6 移动PKM的检索模块主要界面

结语

当前不论是企业还是学校和个人对个人知识管理越来越重视,扩大个人知识储备,提高个人竞争力,从而推动企业甚至国家的发展成为人们加入个人知识管理研究的主要动力,采用当前主流技术开发的基于WAP的移动个人知识管理系统(PKM)提高了个人对知识的存储、获取、转化和创新的能力,一定程度上满足了普通学习者知识管理的需求,同时面向手机等移动数字终端的开发使个人知识管理更为便捷,用户的灵感和体会等重要知识不再流失,实现了“以人为本”的高效便捷学习。

 

参考文献

[1]王力.个人知识管理研究[D].长春:东北师范大学,2007.

[2]魏群英.WAP协议和WAP网关研究[D].长春:吉林大学,2006.

[3]千展研发中心.eWAP无线世界:WML玩家通[M].北京:清华大学出版社,2002:36-38.