(计算机应用技术专业论文)基于对象关系映射的知识库的核心技术研究与应用.pdf_第1页
(计算机应用技术专业论文)基于对象关系映射的知识库的核心技术研究与应用.pdf_第2页
(计算机应用技术专业论文)基于对象关系映射的知识库的核心技术研究与应用.pdf_第3页
(计算机应用技术专业论文)基于对象关系映射的知识库的核心技术研究与应用.pdf_第4页
(计算机应用技术专业论文)基于对象关系映射的知识库的核心技术研究与应用.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于对象关系映射的知识库的核心技术研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 本文阐述了智能教学的基本理念及发展现状,指出了目前智能教学建 设中存在的主要问题。从智能教学的实际要求出发,以面向对象设计思想 和对象关系映射理论为基础,设计了一个以知识点为中心的知识库。采用 最新的j 2 e e 技术,构建了一个高效、安全、松散耦合和高度集成的智能教 学框架体系,并对课题中所采用的核心技术做了一些研究。 文中以知识库为核心来构建智能教学系统。知识库存放有关教学的专 业知识,是智能教学系统的一个重要组成部分;作为整个教学系统的基础, 一直是智能教学系统研究的热点和难点。良好的知识表示方法不仅可以合 理、有效的将领域知识组织在一起,也能为系统提供知识分类查询,还可 以帮助学生建立清晰的概念关系,建立良好的知识结构,提高学生问题求 解的能力。因此,知识表示方法的优劣对智能教学系统是至关重要的。这 里我们使用面向对象的知识表示来讨论建立知识库,利用关系数据库存储 和管理资料。同时使用h i b e r n a t e 作为数据持久的方案来解决关系模型与对 象模型之间的“阻抗不匹配”问题。 在智能教学系统的构建过程中,本文主要采用了三种核心技术:u m l 建模技术、基于对象关系映射的h i b e r n a t e 技术和基于m v c 框架的s t r u t s 技术。其中,我们通过h i b e r n a t e 技术提供面向对象的数据持久方案,使面 向对象的知识库仅仅依赖于知识库的对象模型,而独立于具体的关系数据 库产品。利用u m l 技术找出构成智能教学系统的对象,分析各个对象具体 的职责和对象之间的交互,完成整个系统建模和实现部分代码。s t r u t s 技术 用来实现m v c 框架,确保了表示层和数据模型的分离,保证系统层次清晰, 便于维护和扩展。 上述的智能教学系统的解决方案,为智能教学系统的建设提供了一套 完整的框架,同时也为中国各大高校的智能教学系统的建设提供了一套崭 新的模式。 关键词:智能教学;知识表示;对象关系映射;h i b e r n a t e : a b s t r a c t i nt h i s p a p e r , w e d i s c u s st h e i n t e l l i g e n tt u t o r i n gs y s t e m ( i t s ) s b a s i c c o n c e p ta n di t st e n d e n c y , p r e s e n t i n gi t s m a i np r o b l e m s o nt h eb a s eo ft h e o b j e c t o r i e n t e dd e s i g na n do b j e c t r a t i o n a lm a p p i n gt e c h n o l o g y , w ed e s i g na r e p o s i t o r yc e n t e r i n g o n k n o w l e d g ep o i n t ,f r o mi t sa c t u a lr e q u i r e m e n t m o r e o v e r , u s i n gt h en e w j 2 e et e c h n o l o g y , w eb u i l da f le f f i c i e n t ,s a f e ,l o o s ec o u p l i n ga n d h i g hi n t e g r a t i o n i t sf r a m e w o r k a n dm a k es o m er e s e a r c ho nt h en u c l e a r t e c h n o l o g i e sa p p l i e di nt h i sp a p e r t h ek n o w l e d g er e p o s i t o r yi st h ec o r eo ft h ei t s i n i t s p r o f e s s i o n a l k n o w l e d g e o f t e a c h i n gi sd e p o s i t e di nt h er e p o s i t o r y , w h i c hi sa ni m p o r t a n tp a r t o fi t s m e a n w h i l e ,a st h eb a s eo ft h ew h o l et e a c h i n gs y s t e m ,i th a sb e e ni n h o t t e s ta n dm o s td i f f i c u l tf i e l d sa b o u tt h er e s e a r c ht oi t sf o tal o n gt i m e i f g o o d e n o u g h ,ak n o w l e d g er e p r e s e n t a t i o n c a nn o to n l y o r g a n i z ek n o w l e d g eo fa t e r r a i nv e r yc o r r e c t l ya n de f f i c i e n t l y , b u ta l s oh e l ps t u d e n to r g a n i z et h es t r u c t u r e o f t h ek n o w l e d g e ,e n h a n c et h ea b i l i t yt or e s o l v ep r o b l e m s oi ti sc r i t i c a lf o rt h e i t sr e s e a r c h h e r e ,w es e tu pt h er e p o s i t o r yb yt h eo b j e c t - o r i e n t e dk n o w l e d g e r e p r e s e n t a t i o n ,u s i n gr m i o n md a t a b a s et os t o r i n ga n dm a n a g i n gd a t a h i b e r n a t e i sas c h e m eo f d a t a p e r s i s t e n c e u s e dt os o l v et h e ”i m p e d a n c em i s m a t c h 。b e t w e e n t h er e l a t i o n a lm o d e la n dt h eo b j e c tm o d e l m o r e o v e r , i tr e d u c e st h ec o m p l i c a t i o n o f o p e r a t i n g r e l a t i o nd a t a b a s es y s t e m ( r d s ) w h i l eb u i l d i n gt h ei t sf r a m e w o r k w eu s et h et h r e en u c l e a rt e c h n o l o g i e s : u m lm o d e l i n g t e c h n o l o g y , h i b e r n a t et e c h n o l o g y b a s e do no b j e c t r a t i o n a l m a p p i n ga n d s t r u t s t e c h n o l o g yb a s e do nm o d e l v i e w - c o n t r 0 1 w e u s et h e h i b e m a t et oo f f e ra l l o b j e c t o r i e n t e d d a t ap e r s i s t e n c es c h e m e ,b yw h i c ht h e k n o w l e d g er e p o s i t o r yc o u l do n l yd e p e n do nt h eo b j e c tm o d e l b yt h eu m l t e c h n o l o g y , w ec o u l dm o d e lt h e w h o l es y s t e ma n dr e a l i z es o m ec o d e s n l e s t r u t s t e c h n o l o g yr e a l i z i n g t h ef l a m eo fm o d e l - v i e w c o n t r o li n s u r e st h e s e p a r a t i o no f v i e wl a y e ra n d d a t am o d e l a 1 lt h e s es o l u t i o n so f 也ei t sp r o v i d eas e r i e so ft h ew h o l ef r a m e w o r kf o r i i i t sc o n s t r u c t i o n a tt h es a m et i m e ,i tp r o v i d e san e wm o d ef o rt h ei t s c o n s t r u c t i o n so fu n i v e r s i t i e si nc h i i l a k e y w o r d s :i t s ;k n o w l e d g er e p r e s e n t a t i o n ;o rm a p p i n g ;h i b e r n a t e 4 i i 武汉理工大学硕士学位论文 第1 章引言 1 1 智能教学系统的概念及现状 基于知识的教学系统( k n o w l e d g e b a s et u t o rs y s t e m ) ,或者说智能教学 系统( i n t e l l i g e n tt u t o r i n gs y s t e m ) 是人工智能在计算机辅助教育领域的重要 应用。其研究的最终目的是由计算机系统担负起人类教育的主要责任,即 赋予计算机系统以智能,由计算机系统在一定程度上代替人类教师实现最 佳教学以减轻人类教师的教学工作量,提高教学质量,增进人类对其自 身认知过程的了解和带动相关科学的发展。经过3 0 多年的研究和使用智 能教学系统已经成为信息教育的一个重要的组成部分。与传统的教学方式 相比,它有着独特的个别化因材施教、交互性、宽松的学习环境等特点, 使学生能主动的根据自己的兴趣爱好程度需要主动的进行学习,可以把学 习知识和能力的培养紧密地结合在一起。 计算机在教育方面的研究,开始于本世纪的5 0 年代。在5 0 年代的时 候,计算机在教育方面的应用主要使用的是线性程序,即程序提供一系列 的线性步骤引导学生的学习。到6 0 年代,分支程序被引入智能教学,计算 机提供的学习的路径可以有选择的被学生选择,从而个别化教学的出现具 备了可能。7 0 年代计算机用于教育的标志性进展生成系统出现,某些教学 材料可以自动生成。至此,智能教学系统具备了一个完整的概念。在这之 后,人们智能教学开始了全面、深入的研究,进入9 0 年代以后,由于计算 机软硬件功能的提高,计算机处理问题的能力的提高,如图像界面的处理 工作、工业领域复杂过程的模拟、视频教学的出现等,使得人们对智能教 学的研究思路发生了变化。这一时期,多媒体智能教学发展很快,同时认 知理论的发展、学习过程的研究成果对智能教学也有较大贡献拉】。 国内智能教学系统研究起步较晚,少量的研究工作主要集中在少数大 学和研究机构断续进行,大多只是用于研究和演示,具有真正实用价值的 武汉理工火学硕士学位论文 系统很少。这主要在于目前教育软件质量不高,市场需求没有加以深入挖 掘。另外早先的智能教学系统基本上是单机软件,系统费用昂贵,维护代 价高,难以大范围推广和应用。另外,大多数系统在知识库、学生模型、 学生学习诊断模型等基本模块没有一个统一开发标准,研究人员和开发人 员总是重复许多不必要的劳动。 具体在知识库方面,知识库没有一个完整的知识结构体系。网上教学 利用网络给学习者提供丰富的信息,使学习者可以自主学习知识。但是, 从整体而言,知识的罗列显得较为混乱。目前的智能教学,后台的知识库 建立往往只是按照原先课本中的章节将教学资料堆积上去。学生在刚刚登 陆知识库系统时会觉得浩如烟海的信息扑面而来,有种无从下手的感觉。 而且,教学系统的表示层往往只是静态的页面,无法动态体现知识库的内 容。学生无法通过网络和知识库进行动态双向的互动。 1 2 以知识库为核心的智能教学的解决方案 为了解决智能教学中存在的许多问题,本文提出了一种以知识库为核 心组建智能教学系统。整个智能教学系统以知识库为坚实核心来提供智能 教学所需的各种功能。在具体的实现上选择了多种遵循j 2 e e 技术的开源产 品来构建灵活的、易于扩展的系统构架。学习者能够通过网络来访问知识 库,通过动态的网页效果,知识库和学习者能够发生有价值的双向互动。 我们的解决方案关注于解决下厩几个主要的问题。对于传统智能教学 系统的因人施教的核心问题。我们通过知识库中知识点的不同属性来判断 不同学习者的性格和学习动机。多个知识点之间的不同路径构成不同的学 习策略,针对不同类型的学生提供不同形式的学习方式。 针对传统智能教学软件仅限于单机,软件使用和维护代价昂贵,扩展 性差的问题。在整个技术架构上,采用目前领先的j 2 e e 架构来实现知识库 系统。从用户应用层面来看,用户仅仅需要一台安装有浏览器的机器就可 以登录系统,学习知识库里的知识。从软件升级和维护方面来看,作为开 武汉理工大学硕士学位论文 发者只需要升级服务器上的系统就可以提供更多更好的功能。从系统日后 的开发来看,灵活的j 2 e e 架构赋予了系统松散的耦合性和极高的整合能力。 知识库的具体设计使用了面向对象的思想对知识库进行整体建模。和 其他的表示方法相比,面向对象的知识表示方法具有更丰富的表示力和更 良好的封装性。而且,面向对象的表示规范更容易得到统一的标准。最终 存储的方案使用目前成熟的关系数据库。由于这两者之间存在着“阻抗不 匹配”例的问题,在研究的过程中,我们创造性的把最新的对象关系映射 工具h i b e r n a t e 同面向对象的知识表示结合在一起,设计了一个面向对象的 知识库。 武汉理工大学硕士学位论文 第2 章智能教学系统框架体系的核心技术 2 1基于对象关系映射的h i b e r n a t e 技术 对象一关系数据库的映射在目前而言是一个非常重要的问题。这是因为 现在对象技术( 例如j a v a 技术) 是应用于新软件系统开发的最常见的环境。 另外,关系数据库仍然是许多人都青睐的持久信息存储方法,并且在较长 时间内这种情况不太会改变。p j 对象范例基于软件工程的一些原理,例如耦 合、聚合和封装,而关系范例则基于数学原理,特别是集合论的原理。两 种不同的理论基础导致各自有不同的优缺点。而且,对象范例侧重于从包 含数据和行为的对象中构建应用程序,而关系范例则主要针对数据的存储。 当为访问而寻找一种合适的方法时,“阻抗不匹配”就成了主要矛盾:使用 对象范例,我们使用它们的关系来访问对象,而使用关系范例,则通过复 制数据来联接表中的行。这种基本的差异导致两种范例的结合并不理想。 为了解决两种范例之间差异所带来的问题,人们一直没有停止在这方 面的研究,许多产品和解决方案也层出不穷。h i b e r n a t e 就是其中的一种非 常优秀的解决方案。 h i b e m m e 提供的是一种轻量级的持久方案。从实现的原理来看, h i b e r n a t e 是在j d b c 上面的一层轻型的封装。与不同的数据库具体的连接 和优化h i b e r n a t e 并没有参与在其中。它只是对j d b c 做了一个非常优雅的 封装,同时提供了i a v a 对象和数据库模型的一一对应的映射关系。另外, h i b e r n a t e 还提供了丽向对象的查询语句和恢复机制。相对于使用j d b c 和 s q l 来手工操作数据库,使用h i b e r n a t e ,不仅可以大大减少操作数据库的 工作量,同时还可以使j a v a 程序员能够随心所欲的使用对象编程思维来操 纵数据库。 另外,h i b e m a t e 不仅提供了从j a v a 类到数据表之间的映射,也提供了 数据查询和恢复机制。相对于使用j d b c 和s q l 来手工操作数据库,使用 武汉理工大学硕士学位论文 h i b e r n a t e ,不仅可以大大减少操作数据库的工作量,同时还可以使j a v a 程 序员能够随心所欲的使用对象编程思维来操纵数据库。 图1 【4 1h i b e r n a t e 体系结构概览 从图1 可以很清楚的看到,在使用h i b e r n a t e 作为数据持久方案的系统 中,应用程序直接使用持久对象( p e r s i s t e n to b j e c t ) 来操作数据库,而具体 实现的细节则被h i b e r n a t e 成功的隐藏了。h i b e r n a t e 在h i b e r n a t e p r o p e r t i e s 和x m l 映射文件等配置文件的帮助下处理具体的数据库操作。 2 2s t r u t s 技术 在使用j a v a 技术建立w 曲应用的过程中,j s p ( j a v a s e r v e rp a g e s ) 技 术因为其容易掌握和开发迅速的特点成为了创建w e b 应用的主要技术。在 j s p 页面中可以非常容易的将业务逻辑和服务端的处理过程结合在一起,同 时还可以实现页面显示和业务流程的控制,所以可以快速地完成应用开发。 现在,很多w e b 应用就是由一组j s p 页面构成。在w e b 程序开发的,这种 武汉理工大学硕士学位论文 开发模型被广泛应用。但是,它不足之处很快就开始显现了。首先,由于 系统的实现基于过程设计,当要进行改动的时候,必须在多个地方进行修 改,这样非常不利于系统的扩展和更新。其次,系统不是建立在模块上, 业务逻辑和表示逻辑混合在j s p 页面中,没有进行适当的抽象和分离,系 统的某些重复的应用没有办法加以抽象以供日后的重用。 随着研究的深入,人们提出了m v c ( m o d e l v i e w c o n t r o l l e r ) 的设计 模式。大型w e b 应用开发往往都严格遵守这个设计模式。m v c 的主要优点 是减弱了业务逻辑接口和数据接口之间的耦合,让视图层更富于变化。 但是,w e b 应用开发明显区别于不同于传统的一个地方是,w e b 应用 中的通信的特殊性导致了客户机和服务器往往都是无状态连接,这种无状 态行为使得模型的更改很难通知到视窗。浏览器必须通过重新查询服务器 来发现对应用程序状态的修改。所以,对于w e b 应用,需要对标准的m v c 形式加以修改。 目前,人们倾向于使用j a v a b e a n 或者是e j b 组件来实现数据模型,使 用s e r v l e t 技术来实现控制层,使用j s p 技术来实现表示层。这样的分层不 仅是系统层次清晰,提高了组件的可重用性。同时,也充分发挥了各种技 术特点和优势。但是,这种模型的本身就非常复杂,需要很长时间来学习 和掌握,所以,许多组织都发布公开的源代码来实现这个模型,力图提供 可以简化开发和重复使用的框架。s t r u t s 便是其中的一种技术。s t r u t s 的目 的是为了帮助你减少在运用m v c 设计模型来开发w e b 应用的时间。如果 想混合使用s e r v l e t 和j s p 的优点来建立可扩展的w e b 应用,s t r u t s 将是一 个不错的选择。 2 3j 2 e e 灵活的层次结构 远程智能教学系统使用j 2 e e 来构架和实现整个系统。s t r u t s 和h i b e r n a t e 技术都是在j 2 e e 规范基础的扩展。j 2 e e 是一整套技术、规范的总称,包 括建立企业应用系统的各个方面,使用j 2 e e 技术能够快速建立可伸缩性企 武汉理工大学硕士学位论文 业应用系统,其目标是提供一个基于j a v a 语言的服务器应用结构,支持 平台独立、可移植、多用户、安全和标准的企业级应用。 目前,j 2 e e 中可用的标准组件接口和组件主要有: j a v a b e a n :定义了编写j a 、,a 代码的标准模型,对外提供组件属性 和事件以及与j a v a b e a n 容器的接口。 r m i ( r e m o t em e t h o di n v o c a t i o n ) :r m i 是用于两层之间的通信协 议。使用接口定义远程对象,然后在本地可以象调用本地对象一样 调用这些远程对象的方法。它是j a v a 实现分布式对象应用程序的 主要机制之一。 j 2 e ew 曲组件:s e r v e l e t 和j a v as e r v e rp a g e 一起构成了表示服务 器端的组件,它们处理w e b 请求和生成w e b 表示内容,运行和操 作在基于j 2 e e 的w e b 容器环境内部。 j m s ( j a v am e s s a g es e r v i c e ) :提供通过异步发送数据来连接各种分 布式组件的功能。它提供了通过面向消息的中间件发送和接收消息 的功能。 e j b :e j b 是服务器端的遵守标准模型的应用组件,它们在e j b 容 器和服务器内操作,其典型结构包括:e j bs e r v e r 、e j bc o n t a i n e r 、 e n t e r p r i s e b e a n 、e j bc l i e n t s 、辅助系统r m i 、j d b c 、j m s 、j t s 等,它为在分布式的计算环境中执行应用逻辑提供了一个可伸缩的 框架结构【1 5 j 。 这些标准中,e j b 是一种服务器端组件体系结构。当时这个技术规范推 出的目的在于帮助用户开发大型企业所需要的商务系统。大型的商务系统 中,缓存、安全、分布式应用等等一直都是一个难题。但是这些技术的实 现具有明显的通用性。s u n 试图提出一组组件,这些组件能够帮助处理上述 的所有问题,程序员只需要关注具体的商务逻辑就可以了,在组件服务器 的帮助下,容器管理组件,提供缓存、安全、分布式应用等服务。这些就 武汉理工大学硕士学位论文 是e j b 组件和e j b 容器。 无疑这是一个非常先进的思想。e j b 的推出立刻得到了热烈的反应。但 是一段时间的实际使用过后,人们发现事实和想象有着巨大的鸿沟。原因 是e j b 技术试图提出一个大而全的解决方案。他把所有的技术都捆绑在了 一个技术规范中。这导致用户为了得到某项技术,却不得不实现所有e j b 规定的技术。最终得到的系统的变得复杂无比。这直接造成了系统造价的 提高和维护性的降低。因此年后推出e j b 3 0 的技术规范作了翻天覆地的变 化。试图避免这些问题。但是,人们不可能把解决问题的希望寄托于一个 没有推出的技术上面。所以,技术的开拓者一直都没有停止探索的脚步。 j 2 e e 的魅力的根源所在是它的开放性,s u n 只是提出了一系列的规范, 一切符合这些规范的技术都可以作为j 2 e e 的产品。这直接造成了开源社区 在j 2 e e 研究方面的兴旺。s t r u t s 是一个用来分离表示层和逻辑层的框架。 它是一个开源的产品。h i b e r n a t e 使用来解决对象关系映射的问题。它部 分解决了e j b 组件中实体e j b 要解决的问题。开源社区试图针对企业开发 中要遇到的系列问题提出各种不同的产品。用户可以根据实际的需要灵活 的选择具体的产品搭配。在这些方面,相应的产品数不胜数。部分简单列 表如下: 表1 开源产品部分列表 w e b 框架s t r u t s ,t a p e s t r y ,w e b w o r k 2 , e c h o 持久层框架h i b e r n a t e ,i b a t i s 事务管理 j o t m 缓存 o s c a c h e ,j c a c h e 消息服务 o p e n j m s , a c tiv e m q , j o r a m e j b 服务器j b o s s ,j o n a s , g e r o n i m o 数据库引擎h y p e r s o n i cs q l ,m e k o i 武汉理工大学硕士学位论文 x m l 解析器d o m 4 j ,7 d o m l 工作流引擎 w o r k f l o w , j b p m 远程智能教学选择s t r u t s 和h i b e r n a t e 构建整个系统的主要的框架。 使用s t r u g s 分离表示层和逻辑层。其中,w e b 页面的编写使用s t r u t s 的标 签库将j a v a 代码从网页中剥离,页面的跳转使用a c t i o n s e r v l e t 控制,具 体的逻辑在a c t i o n 里面实现。而且,使用设计模式将业务层良好的封装, 最后,使用h i b e r n a t e 作为对象关系映射工具,整个系统的技术框架如下 图所示: w e b 层| # p # i 目嚣目* 一自s 咖b ,t l 】f b 眦# h 4 ,$ 令 哩i 雯篁 图2 智能教学系统整体框架 在这个框架体系中,w e b 层的数据表示是f o r m b e a n ,数据来源于h t m l f o r mp o s t 。业务层的数据表示是v ov a l u e0 b j e c t ) 。持久层的数据表示 是p o ( p e r s i s to b j e c t ) ,其数据来源于数据库,由h i b e r n a t e 动态生成。在 这样一个规范的j 2 e e 架构中,不同层的数据表示被严格限制在自身所属的 层内,这样可以降低层间的耦合性,提高j 2 e e 架构整体的维护性和扩展性。 比如说,目前,由于学习者希望了解更多的知识点的信息。希望能够 令画 8 冒 武汉理工大学硕士学位论文 看到以前的在w e b 页面里被隐藏了的知识点的难度等属性。这样,我们势 必要对w e b 层的逻辑进行修改,那么我们只需要修改f o r m b e a a 的结构, 在s t r u t s 的a c t i o n 里,我们将以前持久层的p o 里面本来就存放着的知识点 的难度等属性赋给v o 就可以了。而完全不需要触动业务层和持久层的代 码修改。 类似的情况,我们需要对知识库进行升级,调整知识点的属性和知识 点的关系。但是这种变动完全没有涉及到w e b 层所需要显示的消息。因为 学习者并不关心知识库内部的智能判断等复杂的问题。他所需要的是更加 友好的学习界面。这种情况下,我们修改了知识库的对象模型,然后在 h i b e r n a t e 提供的工具的支持下,自动对数据库表进行了小的调整,那么也 只需要修改持久层数据表示,而不需要触动业务层代码和w e b 层代码。 另外,s t r u t s 和h i b e r n a t e 作为目前开源产品优秀者的代表,都有着 共同的特点是轻量级的产品。什么是轻量级的产品? e j b 是最好的反 例。在程序中使用e j b ,最终的产品的a p i 必须依赖于e j b ,而且不能在e j b 容器外工作,必须实现e j b 所要求的所有技术规范。但s t r u t s 和h i b e r n a t e 避免了这些问题,他们只关注某一特定的领域问题,只负责系统中的某一 个层次。同时,我们设计的智能教学系统不同层的数据表示被严格限制在 自身所属的层内,层与层之间有着极低的耦合性。如果系统有扩展和变化 的需要,我们可以轻松的引入其他的技术。例如,在w e b 表示层,我们可 以引入v e l o c i t y 模版技术提高w e b 层的表现力,可以加入0 s c a c h e 控制系 统的缓存。或者,使用目前非常热门的w e b w o r k2 来代替s t r u t s 技术,而 所作的这些变化,完全不会影响到后面的业务层和数据持久框架。 智能教学系统的核心部分是使用面向对象知识表示建立的知识库,整 个系统的层次和结构也是在嘶l 模型帮助下完成。最初的设计,一步一步 按照面向对象的思想逐步细化,最终得到层次清晰的系统和结构良好的代 码。而且,在各层中所使用的技术都源于轻量级的开源产品。目前的智能 教学系统,可以随着实际的需求逐步的增加系统的复杂度,而各个部件或 层次之间也很容易分离或替换。整个系统呈现出良好结构,随着需求的变 化和系统的发展,可以非常容易修改维护和扩充。 武汉理工大学硕士学位论文 2 4u m l 建模技术 面向对象的分析与设计方法的发展在8 0 年代末至9 0 年代中出现了一 个高潮,u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 是这个高潮的产物。它统一了 b o o c h 、r u m b a u g h 和j a c o b s o n 的表示方法,并且对其作了进一步的扩充和 发展,最终形成了大家所熟悉的标准建模语言。u m l 统一建模语言是一个 绘制软件概念图的图形化记法。人们可以用它绘制图形,用这些图形来表 示一个计划进行的软件设计的问题域,或者用这些图来表示一个已经完成 的软件实现。u m l 的重要内容可以由下列五类图( 共9 种图形) 来定义: 用例图( u s ec a s ed i a g r a m ) :一个用例是有关一个系统的行为的 一个描述。那个描述是从一个用户的观点编写的,这个用户告诉系 统去做一些特定的事情。用例图仅仅描述用户可见到的事情,而对 系统的隐藏机制则不加以讨论。 静态图( s t a t i cd i a g r a m ) :包括类图、对象图和包图。 一类图( c l a s sd i a g r a m ) :描述系统中类的静态内容和类之间的 关系。类图描述的是一种静态关系,在系统的整个生命周期 都是有效的。在一个类图中,我们能够查看一个类的成员变量 和成员函数。我们也能查看一个类是否继承了另外一个类,是 否拥有对另外一个类的引用。 一对象图( o b j e c t d i a g r a m ) 是类图的实例,说明了系统执行期 间在某一特定时刻的一组对象及其关系。和类图不同,对象图 显示类的多个对象实例,而不是实际的类。一个对象图是类图 的一个实例。 _ 包图( p a c k a g ed i a g r a m ) 由包或类组成,表示包与包之间的 关系,用于描述系统的分层结构。 行为图( b e h a v i o r d i a g r a m ) :描述系统的动态模型和组成对象间的 武汉理工大学硕士学位论文 交互关系。由状态图和活动图组成。 _ 状态图( s t a t ed i a g r a m ) :描述类的对象所有可能的状态以及事 件发生时状态的转移条件。它是针对优先状态机的一个非常有 用的工具。用于研究系统在一个未预料的情况下系统可能的反 应。 _ 活动图( a c t i v i t yd i a g r a m ) :描述满足用例要求所要进行的活 动以及活动间的约束关系。 交互图( i n t e r a c t i v ed i a g r a m ) :描述对象间的交互关系。包括顺序 图和合作图。 顺序图( s e q u e n c ed i a g r a m ) :显示对象之间的动态合作关系, 强调对象之间消息发送的顺序,同时显示对象之间的交互; _ 台作图( c o l l a b o r a t i o nd i a g r a m ) :描述对象间的协作关系,合 作图跟顺序图相似,显示对象间的动态合作关系。除显示信息 交换外,合作图还显示对象以及它们之间的关系。 实现图( i m p l e m e n t a t i o nd i a g r a m ) 。包括构件图和部件图。 一 组件图( c o m p o n e n td i a g r a m ) :描述代码部件的物理结构及各 部件之间的依赖关系。一个部件可能是一个资源代码部件、一 个二进制部件或一个可执行部件。它包古逻辑类或实现类的有 关信息。部件图有助于分析和理解部件之间的相互影响程度。 一 配置图( d e p l o y m e n td i a g r a m ) :定义系统中软硬件的物理体系 结构。它可以显示实际的计算机和设备( 用节点表示) 以及它 们之间的连接关系,也可显示连接的类型及部件之间的依赖 性。 u m l 的目标是以面向对象图的方式来描述任何类型的系统,具有很宽 武汉理工大学硕士学位论文 的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描 述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂 数据的信息系统、具有实时要求的工业系统或工业过程等。总之,u m l 是 一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进 行建模。 在远程智能教学系统的整个开发过程中,都是使用u m l 来建立模型。 在核心数据库的设计中,本文使用u m l 中静态图中的类图来设计数据库中 的表。在j 2 e e 应用服务器端的设计中,本文使用u m l 中静态图中的类图 来设计j a v a b e a n ,使用用例图来设计业务流程。在学生学习系统客户端的 设计中,本文使用u m l 中静态图中的包图来设计包文件,使用用例图来分 析学生的具体需求,使用了顺序图来实现学生学习系统中的具体代码。 武汉理工人学硕士学位论文 第3 章面向对象的知识库的设计思路 3 1使用u m l 建模技术分析整个系统 在智能教学系统中,用户要进行的操作有登录系统,按计划学习,浏 览教学内容,修改用户资料等。下面图3 就是智能教学系统的部分用例图。 另- 二二瀑 学生 、 按计划学习 冶断模型 j 上 3 l 一一? 署 【l 、矗一蕊 图3智能教学系统的部分用例图 该用例图源自从文字的或者口头的需求中提取的该用户所期望系统应 拥有的功能。通过此用例图,很明显可以看出学生( 图中的人型图标在u m l 中叫做a c t o r ) 可以进行四种活动( 图中的椭圆,u m l 中称之为用例) 。 建立用例的任务是从面上给出反映系统的概貌。用例的粒度也是应该 宁粗勿细的,而且不应该在用例图上添加各种细节。对系统的详细分析通 常使用用例事件流、补充规范、分析级s e q u e n c e 与c o l l a b o r a t i o n 框图等来 完成。 事件流可以用两种方法建档。有些情况中最简单的方法是创建用例中 具体工作的编号步骤清单: 武汉理工火学硕士学位论文 1 、选择智能教学选项。 2 、输入个人资料、学习要求等。 3 、建立学习模型。 4 、根据模型给出测试。 5 、根据测试结果更新模型。 6 、根据模型给定学习计划。 7 、学生按计划学习更新学习模型。 8 、如果继续学习,继续按照学习模型学习。 9 、学生中止学习。 l o 、退出登录。 这个方法的问题时如果有许多条件逻辑,则会让读者费解。上面的这 个事件流很简单,但是如果事件流中含有复杂的逻辑结构且有许多其他事 件流或客户对文本不想对框图那么熟悉,则文本形式可能较难阅读和理解。 活动框图现实与文本事件流相同的信息,我们用活动框图来描述用例中的 工作流。图4 显示了上述事件流的样本活动框图。可以看出,活动框图更 容易表达流中的步骤。 武汉理工大学硕士学位论文 i 盏 呈智能 教学避项l f输 十 资料 f,学习要求等 l 建麓3j 。 l f 1 葑 。1 1 1 1 。_ 。,。 :51。 l 曼 i 土一 哩墅卜 学习 图4 学生学习过程活动框图 对用例的细化分析,是为了显示出模型内部元素的静态特性,以及他 们是如何互相作用以满足系统的功能需求,从而提供给用户更清晰的有关 系统的概念。u m l 使用s e q u e n c e 框图和c o l l a b o r a t i o n 框图来一步一步显示 等一 厂l 武汉理工大学硕士学位论文 使用案例的流程。包括流中需要什么对象;对象相互发送什么消息:什么 消息启动流;消息按什么顺序发送。研究事件流中的名词是寻找对象的好 办法,另外一个办法是查阅情境文档。研究情境时,有些名词是角色:有 些是对象;有些是对象属性。建立i n t e r a c t i o n 框图时名次介绍对象是什么。 如果不知道一个名词是对象还是对象属性,可以看看它是否有任何行为。 如果是单纯的信息,则可能是属性。如果还有一些行为,则可能是对象。 还可以检查自己是否有属性。 s e q u e n c e 框图是按时间排序的i n t e r a c t i o n 框图,用于通过情境检查逻 辑流程。尽管c o l l a b o r a t i o n 框图也包括执行顺序,但从s e q u e n c e 框图更容 易看出。图5 为学生王小丫登陆智能教学系统学习时的s e q u e n c e 框图。 旦 旦 图5 学生登陆智能教学系统学习时的s e q u e n c e 框图 和s e q u e n c e 框图一样,c o l l a b o r a t i o n 框图也显示使用案例中特定情形 的流程。s e q u e n c e 框图按时间排序,而c o l l a b o r a t i o n 框图则着重于对象之 亟婆婆王查堂堡主兰焦笙墨一 间的关系。图6 为学生王小丫登陆智能教学系统学习时的c o l l a b o r a t i o n 框 图。 2 高芫所垃掉的知识电 。榔蝴热;等芝窆眄 1 勰秘兰秒嬲 ! 堡鳖。j ,一, 7 ,7 子、? 翌要爹嘲_ _ _,m i 篇识点自窖 孙麓、二芝丽丽识钠5 掣燮掣、! 翼鬈敬果 、 贴息、旦 ;,一i 、 , 、 匿鋈墅n 7 ,纛模型。燮 :。一卜、 ,7 r 靳肇j 牲型 e 最示霉嘉状习s 盛玉酬 图6 学生王小丫登陆智能教学系统学习时的c o l l a b o r a t i o n 框图 在r a t i o n a lr o s e 中,可以按f 5 或选择b r o w s e c r e a t e ( s e q u e n c e c o i l a b o r a t i o n ) d i a g r a m 在c o l l a b o r a t i o n 框图与s e q u e n c e 框图 i 之间进行转换。 每个c o l l a b o r a t i o n 框图或s e q u e n c e 框图中的对象都可以映射类。例如。 学生王小丫的学习状态可以映射s t u d e n t m o d e l 类。在r a t i o n a lr o s e 的对象 规范窗口中,可以用c l a s s 字段设置对象的类。 在上述的过程中,我们用多种u m l 图来分析智能教学系统需要做什 么,随着设计过程逐步深入,对问题的理解也足逐步细化。上述的分析过 程我们使用智能教学中学生选学知识点为例,通过u m l 图找出构成智能教 学系统的对象,并且通过时序图和协作图来分析各个对象具体的职责和对 象之间的交互。在这个设计阶段,我们得到了一个细化的对象模型,但是 武汉理工大学硕士学位论文 并没有考虑具体实现的技术。这种分析的方法有助于我们解决智能教学中 更为简单和普遍的问题,为解决问题提供更大的灵活性。在整个分析结束 的时候,我们可以明白在逻辑上,智能教学系统中的对象在系统中应该做 什么和它们具体是怎么做的,最后再结合具体的应用环境选择合适的技术 来实现整个系统。综合考虑,我们最终使用j 2 e e 技术构架来实现智能功能 教学系统。 3 2 智能教学系统的基本结构 智能教学系统不仅仅是一种授课器或者问题产生器,而是像人类教师 那样具有归纳能力的教学系统。这种系统应提供一种个性化的教学系 统根据不同学生各自的特点及其任务的完成情况,采用不同的教学策略。 在这个系统中,学生主动地与系统打交道,学生的兴趣和误解推动着教学 过程的发展。具备上述功能和特征的智能教学系统,应具有如下几个模块: 知识库、学生模型、诊断模块、人机智能接口。系统的总体结构如下图所 不: 亟堡堡三查堂堡主堂焦丝壅 学科知_ i = 库 m 口一一 q j 壁亘二教学策略 库 教师模型一孝j 缪。 图7 智能教学系统结构 学生模型:智能教学系统中,为了做到因材施教,必须要了解当前的教 学对象,这就要求将学生的情况用适当的数据结构记录下来,作为智能教学 系统进行教学决策的依据。这种用于记录学生情况的数据结构称作为“学 生模型”。当前学术界研究的学生模型可分成3 种:一是理想学生模型,它 表示了学生应该掌握的知识水平:二是个体学生模型,它表示了当前某个 学生已获取的知识( 包括正确知识与错误知识) ;三是一般学生模型,一般 学生模型实际上是计算机模拟系统,该系统可以真实地模拟学生的学习行 为,参与学习过程,与学生一起接受相同的教学信息|

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论