(计算机应用技术专业论文)基于面向对象技术的远程教育题库系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于面向对象技术的远程教育题库系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于面向对象技术的远程教育题库系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于面向对象技术的远程教育题库系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于面向对象技术的远程教育题库系统的研究与实现.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

独创性声明 秉承学校严谨的作风和优良的科学道德,本人声明所呈交的学位论文 是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知, 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,不包含本人或他人已申请学位或其他用途使用过 的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示致谢。 申请学位论文与资料若有不实之处,本人承担一切相关责任 论文作者签名:弓斗、臻骤 2 胡年7 月j f 日 保护知识产权声明 本人完全了解西安理工大学有关保护知识产权的规定,e p :研究生在 校攻读学位期间,论文工作的知识产权单位属西安理工大学。本人保证 毕业离校后,发表论文或使用论文成果时署名单位仍然为西安理工大学。 学校有权保留送交论文的复印件,允许论文被查阅或借阅;学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论 文。 ( 保密的学位论文在解密后应遵守此规定) 论文作者签名:显巫蓥塞导师签名 摘要 基于面向对象技术的远程教育 题库系统的研究与实现 学科:计算机应用 硕士生:孙荣荣签名: 导师:姚全珠副教授签名: 答辩日期:2 0 0 3 3 2 3 摘要 为了能完整的理解一个复杂的系统,就要对它建模,即从某个视点,在某种层次 上详细说明被建模的系统。建模可看成一套在目标系统完成之前表达目标系统的技 术面向对象对于复杂软件系统的建模提供了正确的抽象,组件技术在面向对象抽象 的基础上提供了更粗粒度级别的封装。本文的目的就是要基于以上技术基础实现远程 教育题库系统模型的分析设计与实现。 本文首先介绍了建模相关理论及技术基础,同时详细描述了u m l - - - - 种用于对 软件密集型系统进行可视化、详述、构造和文档化的建模语言主要适用于分析与 设计阶段的系统建模。在此技术基础上通过对远程教育题库系统的用况分析建立了 远程教育题库系统的体系结构模型,通过u m l 设计完成了题库系统的静态类图模型和 动态行为模型,最后介绍了在考虑分布式环境的同时用面向对象语言j a v a 实现远程 教育题库系统。 关键词:远程教育题库系统面向对象组件u m l 模型 西安理工大学硕士学位论文 r e s e a r c ha n di m p l e m e n t a t i o no fr e m o t ee d u c a t i o n s u b j e c t 。b a s es y s t e mb a s e do no b j e c t 。o r i e n t e dt e c h n o l o g y n a m e :s u nr o n gr o n g s i g n a t u r e :9 血型哪gz 争咿7 d i r e c t o r :y a oq u a nz h u s i g n 8 t t l r e :逝幽艺胁 k e y w o r d s :r e m o t ee d u c a t i o n , s u b j e c t b a s es y s t e m ,o b j e c t o r i e n t e d , 2 前言 第1 章前言 面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术 发展的重要成果和趋势之一。面向对象的问题求解就是力图从实际问题中 抽象出封装了数据和操作的对象,通过定义属性和操作来描述它们的特征 和功能,通过定义接口来描述它们的地位及与其他对象的关系,最终形成 一个广泛联系的可理解、可扩充、可维护、更接近于问题本来面目的对象 模型系统。面向对象的程序没计将在面向对象的问题求解所形成的对象 模型基础之上,选择一种面向对象的高级语言来具体实现这个模型。 由于现在的系统规模越来越大,一个系统要求完成的功能很多,因 此软件复用和集成更加具有非同寻常的意义。丌发和使用可复用的组件 成为了自面向对象技术发展而来的另一项重要技术,通过组件达到全面 应用对象技术与概念,成为开发出高效、低成本应用程序的重要的现实 途径。 组件技术的基本思想在于,创建和利用可复用的软件组件来解决应用 软件的开发问题。组件与对象最基本的不同点是,一个对象是源代码的一 部分或者是个规范,用来执行应用程序的部分:而组件不仅仅是一个 规范,也不定足需要编译才能使用的一部分源代码,而是可实际运行的 软件模块。虽然基于组件的开发建立在面向对象开发之上,但是对组件问 题和解决方案域的封装可以比严格的面向对象方法在更高的抽象级上完 成。 为了能开发出具有持久品质保证的软件,必须打好能适应变化的体系结 构基础,建模是所有活动中的核心部分。系统越大、越复杂,建模的重要 性就越大,所以为了能完整的理解一个复杂的系统,我们要对它建模。模 型是对现实的简化。帮助我们按照实际情况或按照我们所需要的样式对系 统进行可视化,详细说明系统的结构或行为,对做出的决策进行文档化。 在分布式特性这一点上,必须实现面向对象计算与分布式计算之间 的某种结合,组件技术将面向对象特性和( 接口) 继承,与( 逻辑的和 西安理工走学硕士学位论文 或物理的) 分布结合起来。本文的目的就是要研究利用面向对象和组件 技术设计出一个可复用的,结构合理的,在分布式环境中健壮的系统, 通过面向对象组件复用技术和分布式网络技术来共同完成在分布式网络 环境中能进行系统及内部组件复用和与外部系统的应用集成的题库系 统,来实现对基于面向对象技术的动态分布式系统对象模型的研究。 相关理论及技术基础 第二章相关理论及技术基础 贯穿本章论文的主题可以用这样一句话来概括:面向对象对于复杂 软件系统的建模提供了正确的抽象,但面向对象带来的并不是全新的技 术,要在实际软件开发中运用这些抽象,必须满足一些技术要求。 2 1 面向对象软件开发技术 2 1 1 技术基础 对象、类与实体 “对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。具 体地,对象是具有唯一对象名和固定对外接口的一组属性和操作的集合, 用来模拟组成或影响现实世界问题的一个或一组因素。对象之间可以互 相通信、协凋和配合,从而共同完成整个程序的任务和功能。 类也是面向对象技术中一个非常重要的概念。类是一种抽象的数据类 型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称 为是类的一个实例,是类的一次实例化的结果。图2 1 表示了类、对象、实 休的相互关系和面向对象的问题求解的思维方式。 计算机世界 ,一。, 。现实世界、 、婪鱼些墨一 幽2 - 1 对象、实体与类 在用面向对象的软件方法解决现实世界的问题时,首先将物理存在 的实体抽象成概念世界的抽象数据类型,这个抽象数据类型里面包括了 实体中与需要解决的问题相关的数据和属性:然后再用面向对象的工具, 如j a v a 语言,将这个抽象数据类型用计算机逻辑表达出来,即构造计算 西安理工大学硕士学位论文 一_ 一 机能够理解和处理的类:最后将类实例化就得到了现实世界中的实体上 的问题并解决之。 对象的属性 状态和行为是对象的主要属性。对象的状态又称为对象的静态属性, 主要指对象内部所包含的各种信息,也就是变量。行为是对象的第二个属 性,又称为对象的操作。它主要表述对象的动态属性,操作的作用是设 置或改变对象的状态。 对象的关系 一个复杂的系统必然包括多个对象。这些对象间可能存在的关系有 三种:包含、继承和关联。 而向对象技术在实用中的特征是: 信息隐藏:状念、自治行为; 数据抽象:侧重于做什么而不是如何做: 动态绑定:运行时绑定,多态性: 继承:增量式改变( 特化) ,可复用性。 因而,面向对象技术的优点可概括为: 0 0 = 封装+ 继承; 模块化自治的实体,通过交换消息来协作; 推迟实现一一对象的内部实现可以重新定义而不用改变系统的其它 部分; 可复用性一一通过继承重新定义类: 自然性一一面向对象分析、设计和建模。 2 1 2 面向对象方法的开发过程 面向对象的软件开发过程可以大体划分为面向对象的分析( o o a ) , 面向对象的设计( o o d ) ,面向对象的实现( 0 0 p ) 三个阶段。 ( 1 ) 面向对象分析 相关理论及技术基础 面向对象分析是软件开发过程中的问题定义阶段,这一阶段最后得 到的是对问题论域的清晰、精确的定义。面向对象技术可使我们建立和 问题域概念模型相对应的系统需求模型。面向对象分析过程的一个基本 思想是对问题域建立概念模型所达到的抽象比较稳定,因此,应着重通 过高层抽象来对问题域建模,而不应把重点放在具体的功能需求上。由 于抽象的结果具有一定的稳定性,它被复用的可能性较大。 ( 2 ) 面向对象设计 面向对象设计继续做面向对象分析阶段的工作,建立软件的结构, 定义和系统中人机进行通讯所必需的所有类型的对象,并对每一种类型 的对象进行细化,以便可以用一种具体的语言或环境来实现这些对象。 ( 3 ) 面向对象的实现 就是具体的编码阶段。其主要任务包括: 选择一种合适的面向对象的编程语言: 用选定的语言编码实现详细设计步骤; 将编写好的各个类代码模块根据类的相互关系集成; 利用测试样例分别检验编码完成的各个模块和整个软件系统。 综上所述,面向对象的软件开发可概括为如下的过程:分析用户需 求,从问题中抽取对象模型;将模型细化,设计类,包括类的属性和类 问的关系,同时考察是否具有可以直接引用的已有类或组件:选定一种 面向对象的编程语言,具体编码实现上一阶段类的设计,并在开发过程 中引入测试,完善整个解决方案。 2 2 组件技术 组件包装了一系列互相关联的操作和服务,提供了更粗粒度的封装 问题方法。由于组件表示一个或多个较细粒度类的逻辑集合,且被定义 在较高级别,具有较粗粒度级,所以一个组件可以直接封装一个已划分 的问题,该问题更直接的产生于分析和设计模型。 西安理工大学硕士学位论文 2 2 1 组件模型 组件模型是组件与其环境所必需的组要求。组件模型主要关心如 何约束接口的性质,软件组件使这些接口被公共使用。通过约束组件的 接口来遵循某些“知识”,组件模型能保证在组件之间,为使用这些组件 的应用软件,和组件所运用与其上的应用环境提供一定级别的互操作性。 般组件模型 组件模型由组件和容器两种主要成分构成。 组件是应用中所使用代码的封装。虽然组件自身可能是与应用程序 代码相关的但其他的相关应用程序代码可以位于组件之上并可利用其 提供的服务。组件通过其接口向外界提供功能入口。 容器表示组件操作的环境,用于安排组件、实现组件问的交互,其 形式也是多种多样的,如表格、页面、框架、外壳等。容器自身可能会 提供组服务,容器也可以作为另一个容器的组件。 组件模型接口 组件模型中的接口定义了其他代码实体和组件之间的关系。各种接 口分类如下: ( 1 )组件a p i ;个组件应用编程接口( a p i ) 定义了一组应用程 序可以用来使用组件服务的标准接口。 ( 2 )设计模式:设计模式是组类、接口及其关系,提供对一般 问题分类常用的设计解决方案。应用代码通过提供基于设计模式的更具 体的且与应用相关的设计行为来规定设计模式。 ( 3 ) 组件s p i :组件服务提供商接口( s p i ) 定义一组某些服务的 提供商要遵循和实现的标准接口。不同的底层服务可以被加入和删除而 不改变应用接口和容器接口。 ( 4 )组件容器接口:组件一一容器接口定义被组件假定的容 器环境接| - | ,这种类型的接口可直接使用。 ( 5 )容器一一组件接口:容器一一组件接口定义被容器假定的组 相关理论及技术基础 件接口,这种类型的接口可直接使用。 2 2 2 基于组件的开发 基于组件的开发( c b d ) 是组织使用组件进行软件开发的过程,一些 重要的面向对象和c b d 公司提出了一些c b d 方法,如r a t i o n a ls o f t w a r e c o r p o r a t i o n 和s t e r i n gs o f t w a r e ,i n c o r p o r a t e d 。许多方法依赖于u m l 描述和相关组件。在面向对象过程之上的c b d 过程如下: ( 1 )需求分析中 分析模式标识( 在需求分析中) :分析模式可以被标识为系统行为的 常见问题,这些系统问题可以映射为设计模式。在分析模式被标识后, 特定的系统行为需求能用于定制分析模式。 外部组件接口分析:明确组件模型、标准组件接口以及至外部系统 组件的特定接口。 ( 2 ) 系统设计阶段 组件模型技术确定; 组件确定:根据系统组件必须支持的接口和技术进行定义组件。 组件设计调接: ( 3 ) 实现阶段 组件实现规范:组件可能需要在代码中修改,或许通过子类来扩展 已有的组件代码。特殊的设计模式需要有具体的实现。 ( 4 ) 测试阶段 组件测试一组件装配一模块测试一组件配置规范( 组件模块被配置 到结合紧密的应用中) 一系统测试一部署( 部署系统的特定配置) 。 2 2 3 当前组件技术的发展 事实上,组件技术不是一个明确的范畴,而在一定程度上,根据 s z y p e r s k i ( 1 9 9 7 ) ,它是进行操作的一个场所( 以( d ) c o m ,c o r b a 和7 a v a 作为主要的表演者) ,最终会出现一个胜利者,或者可能是几种技术的合 并。 西安理工大学硕士学位论文 ( 1 ) c o m 与d c o m 微软组件对象模型( c o m ) 和分布式组件对象模型( d c o m ) 分别提供 了建立依赖于w i n d o w s 平台的非分布式组件和分布式组件的方法。基于 j a v a 的d c o m 客户和服务器可以被建立并且位于微软j a v a 虚拟机( m j v m ) 内。 ( 2 ) c o r b a 公共对象请求代理体系结构( c o r b a ) 是一个语言和平台中立的规范 体,它用于建立分布式对象应用程序。c o r b a 代表着一种标准的模型,利 用它可以创建服务能够发布给远程客户的对象和组件。c o r b a 是通过一组 标准描述的,这些标准是由一个称为对象管理组织( o m g ) 的组织创建的。 ( 3 )j a v a 的组件对象技术 j a v a 是一种简单、面向对象、分布式、解释性、健壮、安全、结构 中立、易移植、高性能、多线程的动态语言。基于j a v a 的组件对象技术, 正是将j a v a 技术和组件对象技术结合起在一起,使j a v a 应用程序的开 发变的快速、简单、易于维护,以适应当前不断增长的网络程序的需要。 j a v a 组件技术的核心是j a v a b e a n s 技术,j a v a b e a n s 是一个用j a v a 编写的一种可移植、于平台无关的组件模型。j a v a b e a n s 技术可以说是把 j a v a 的特殊性能带到组件技术中去,将二者很好的结合在一起。它扩展 了组件技术的可重复使用的特性,使这种可重复使用的特性扩展到不同 的硬件平台和操作系统中去。它的诞生主要是要适应当前计算机网络上 不同平台、不同协议同时存在的现状,并且为今后不断推陈出新的可能 的平台提供了一个技术性的标准和在兼容方面的保障。 2 3 面向对象建模技术基础 模型是对系统的一种抽象,从某个视点,在某种层次上详细说明被 建模的系统。建模可看成一套在目标系统完成之前表达目标系统的技术, 使用这些技术,我们将建立一个目标系统的模型,这个模型要表现待开 发系统的各个方面。软件系统的模型要求使用特定符号以便于待开发系 相关理论及技术基础 统的各个方面进行准确交流。对象建模的目标是:提供系统的精确、简 明、可懂的面向对象模型,从而使系统的质量保证、测试和文档建立受 益。 建模方法= 过程十标记十工具 在理想情况下,建模方法或面向对象等包括三个部分: 一个过程:说明如何收集需求并确定要建模的提炼; 一套标记:用于交流模型的一种图形语言: 一个工具:是标记工作自动化,一般使用“拖拽”方式。 过程是最重要的,然后是标记,工具是三者中重要性最低的。 随着面向对象方法向系统设计阶段的延伸,出现了一大批面向对象 的分析与设计方法运用于对象建模,以下是最近几十年,在对象方法论 领域提出的部分观点: ( 1 ) j a m e sr u m b a u g h 等人的“对象记录技术( o m t ) ”。 o m t 以面向对象思想为基础,通过构造一组相关模型( 对象模型、动 态模型和功能模型) 来获得关于问题的全面认识( 即问题的领域模型) 。 o m t 的最大缺点在于其开发方法还是数据驱动的,这种数据结构放在第一 位的情况,导致封装性的破坏。 ( 2 ) g r a d yb o o c h 的“b o o c h 方法” b o o c h 强调在面向对象的设计中反复的处理和开发人员的创造性是 最重要的。软件开发是一个螺旋上升的过程,在这个螺旋上升的每个周 期中,有以下几个步骤:发现类和对象:确定它们的含义;找出它们之 间的相互关系;说明每一界面及其实现类与对象。该方法最大的不足, 实际上是怎样找到每个对象和类的操作的技术以及怎样进行建模必须取 决于开发人员。他实际并没有发展为一个过程,他只适用于面向对象系 统开发的一组技术和启发的集合。 ( 3 ) r e b e c c aw i r f s b r o c k 等人的责任驱动设计 类、责任与合作方法的核心是仅仅通过简单的继承图,用类所承担 西安理工太学硕士学位论文 的责任来描述系统。他最引人注意的技术是隐藏数据结构,用责任把封 装的概念带到分析与设计活动中去。该方法认为对象间的交互关系可看 成互为客户服务关系,设计目标是改进封装性:通过建立客户n 务模型 来完成改进封装性的目标。 ( 4 ) c o a d 与y o u r d o n 方法 c o a d 与y o u r d o n 的方法分为面向对象分析( o o a ) 和面向对象设计( o o d ) 两个部分。o o a 主要考虑与一特定应用有关的对象与对象之间在结构与相 互作用上的关系。通过o o a 建立的系统模型是以对象概念为中心的,称为 概念模型由组相关的类组成。 ( 5 ) v a rj a c o b s e n 的使用用例( 用况) 形式化需求 使用用例驱动的设计开发方法基本上是首先建立使用实例模型,在 以使用实例模型为核心构造一系列的模型,包括使用实例模型、问题领 域模型、分析模型、设计模型、实现模型及测试模型。使用用例模型是 从用户的角度来详细描述使用系统的每一种方式。它作为主线,始终贯 穿于整个开发过程中。 i v a rj a c o b s o n 提出的面向对象的软件工程 ( o o s e ) ,是基于使用实例的一个针对完整的软件生命过程的方法,包 括需求分析、设计、实现及测试。在这个方法中各个阶段都环绕使用实 例建模,细化直至实现系统的实现和测试。 近年来,业界在将具有竞争力的方法论的最佳思想融会成一种方法 方面,取得了很大进展,重点是提出统一建模标记。最后完成的标记叫 做“统一建模语言( u m l ) ”,代表了面向对象方法论领域三位领导,即j a m e s r u m b a u g h 、g r a d yb o o e h 和i v o rj a c o b s e n 的协同工作的成果。除了统一 建模语言,三位还对叫做“r a t i o n a l 统一过程( r u p ) ”的全面方法论的 发展做出重要贡献。r u p 是一种成熟的软件开发方法论,包括建模、项目 管理以及配置管理工作。以下只作简单介绍: u m l 建模技术 u m l 能够代表统一建模语言的原因在于它是一种为了描述系统中的 相关理论及技术基础 模型真实世界中的和软件中的系统模型一一而建立在对象概念的基 础上的语言。u m l 是一种用于对软件密集型系统进行可视化、详述、构造 和文档化的建模语言,主要适用于分析与设计阶段的系统建模。u m l 最主 要的特点是表达能力丰富,因为它从各种o o a & d 方法中吸取了大量的概 念。可以说,u g l 对系统模型的表达能力超出了以往任何一种o o a & d 方法, 同时它的复杂性也超出了任何一种方法。u m l 的问世受到计算机软件界的 广泛重视,因为它代表了一种积极的方向多种方法相互借鉴、相互 融合、趋于一致,走向标准化。本课题就是通过u m l 语言来实现题库系 统模型的建立。 r a t i o n a l 统一过程( r u p ) 首先,统一过程是一个软件开发过程。软件开发过程是一个将用户 需求转化为软件系统所需要的活动的集合。软件过程不仅仅是一个简单 的过程,而是一个通用的过程框架,可用于各种不同类型的软件系统、 各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及 各种不同的项目规模。统一过程是基于组件的,即所构造的软件系统是 由软件组件通过明确定义的接口相互连接所建造起来的。统一过程使用 u m l 来指定软件系统的所有蓝图。事实上,u m l 是整个统一过程的一个完 整部分,它们是共同发展起来的。统一过程的突出特点:用况驱动、以 构架为中心、迭代和增量的。 方法论、过程、工具只是达到目标的一种手段,我们可以从多种方 法中受益,但建立可使用、灵活、可管理、可靠、功能正确的软件系统 才是最终目标。 2 4 设计模式 所谓设计模式,简单的理解,是一些设计面向对象的软件开发经验 的总结。个设计模式事实上是系统地命名、解释和评价某一个重要的 可实现的面向对象的设计方案。具体的,设计模式是组类、接口与其 关系的集合,提供通用问题类型的一般设计方案。设计模式根据使用、 西安理工大学硕士学位论丈 要试图解决的通用问题、类接口的设计结构及其关系、参与与合作对象、 期望的解决结果以及实现约束来进行定义。 模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性 的环境中,该形式不断地重复出现。一般地说,个模式有以下四个基 本成分: 模式名称:通常用来描述一个设计问题、它的解法和后果,有- n 两个词组成。 问题:告诉我们什么时候要使用设计模式、解释问题及其背景。 解决方案:描述设计的基本要素,它们的关系、各自的任务以及相 互之间的合作。 后果:描述应用设计模式后的结果和权衡。比较与其他设计方 法的异同,得到应用设计模式的代价和优点。 在分析阶段,通过需求分析与通用设计模式相联系,确定合适对象 使用的设计模式,通过提供具体的和应用相关的设计特性,根据相应设 计模式的设计方案在代码内部建模,利用设计模式的接口和组件框架确 定模型接口。本论文设计中应用的相关设计模式的思想将会在下面章节 中与具体系统模型对象共同描述。 远程教育题库系统建模 第三章远程教育题库系统建模 3 1代远程教育系统简介 近年来,计算机及网络的大规模发展,也使得教育界对教学的方式 和教学的评价方式做出了全面地、深刻的思考。传统教育手段日益显示 出无法满足人们的需求,这主要体现在要求教师和学员们在时间和空间 上的集中,灵活性不大,同时在教学过程中的这两个主体缺乏有效的交 互性。 教育界总是新技术的最早受益者,对于计算机技术来说也是如此。 最初,使用计算机进行考试是对传统考试的补充,主要是为了测试考生 对某种软件的应用能力。例如,我国教育部组织的计算机等级考试中的 上机操作考试。网络技术的发展为教育资源在低水平上的自治与共享( 例 如通过h t t p 和h t m l ) 、学习活动的合作( 例如通过各种通信工具) 提供 了基本技术条件,在这种情况下出现了一种新的教学模式“现代远 程教育”。现代远程教育以计算机网络( 以及卫星数字通讯) 技术为支撑, 具有时空自由、资源共享、系统开放、便于协作等优点。 现代远程教育资源建设包括媒体素材库、题库、案例库、课件库和 网络课程建设,以及适合多种教学模式的教学支持系统和现代远程教育 管理系统的研制开发,这些系统都以资源库为依托,分布式的共享资源。 随着远程教育系统的不断发展,越来越多的i n t e r n e t i n t r a n e t 技术被 应用到教学评价方面,促使考试逐步移植到计算机上来,在定程度上 自动化了考试工作,进一步解放了工作人员,提高了工作效率。 3 2 远程教育题库系统模型的技术选型 题库技术的发展,使得利用计算机进行的学习和考试通常是由后台 的题库支持,教学过程所用的参考习题和考试所用的试题需要有充足的 题库资源作为后盾。现在有很多类型的题库系统,大部分是基于两层或 三层计算模式的试题库系统,多是题库与在线考试或出题系统为一体, 系统模块独立性和复用性差,不能很好的用于分布式的网络环境。 西安理工大学硕士学位论文 若使用传统编程语言和技术( 例如c c + + ,p e r l ,c g i ,a s p ,p h p 等) 去 开发,则所开发出来的系统将仅局限于某一个硬件平台、操作系统或服 务器软件平台,由于本课题实现的系统要采用面向对象思想,且组件复 用和分布式环境的要求,所以整个系统通过u m l 来进行模型蓝图的描绘, 采用s u n 的j a v a 来实现纯面向对象的思想。系统实现主要使用适用于创 建服务器应用程序和服务的j a v a 平台企业版j 2 e e ,系统中的数据传输和 编写系统资源配置文件主要采用x m l 技术 j 2 e e 规范的组件模型 许多的a p i s 支持; j 2 e ew e b 组件:e n t e r p r i s es a v a b e a n s ( t m ) ;小应 用程序( a p p l e t ) 。 u m l 用于系统建模 u m l 建模的3 个主要要素是:u m l 的基本构造块、和支配这些构造块 如何放在一起的规则和一些运用于整个u m l 的公共机制。u m l 为广泛的应 用而设计,因此,它为较大范围的系统和活动提供结构( 例如:实时系 统、分布式系统、分析、系统配置) ,系统开发集中于三个不同模型: 功能模型:在u m l 中由用况图来表示,从用户观点描述系统功能。 对象模型:在u m l 中类图表示,以对象、属性、关系和操作形式描 述系统结构。 动态模型:在u m l 中由顺序图、状态图和活动图表示,描述系统的 内部行为。 系统开发过程中的系统建模过程: ( 1 ) 需求提出阶段 在需求提出阶段,定义系统的目标。这个阶段活动的结果是一个用 参与者和用况的术语给出的系统描述。一个参与者表示用况的使用者在 与这些用况进行交互时所扮演的角色的一个紧密的集合,通常,个参 与者代表的角色有:人、硬件设备,或甚至另一个系统。用况是一组动 作序列( 其中包括它的变体) 的描述,系统执行该动作序列来为参与者 1 4 远程教育题库系统建模 产生一个可观察的结果值。 ( 2 ) 分析阶段 分析阶段旨在构造一个正确、完整、一致、无歧义、现实的并且是 可验证的系统模型。将需求阶段产生的用况转变为完全描述系统的对象 模型,分析活动的结果是个用属性、操作、关系来注解的对象模型。 ( 3 ) 系统设计阶段 系统设计阶段,定义系统的设计目标,并把系统分解成能被单个小组 实现的子系统,分析结果是一个十分清楚的描述,说明所选择的每条策 略、子系统分解,以及标识系统硬件的配置图。 ( 4 ) 对象设计阶段 对象设计阶段,定义定制的对象,以弥补分析模型与系统设计时定 义的硬件软件平台之间的差距。这包括准确地描述对象和子系统接口、 选择流行的组件、重构对象模型,以达到诸如可扩展性极易读性等设计 目标,并对对象模型进行优化。对象设计阶段活动的结果是一个细化的 对象模型,并附有每个元素的准确描述和约束。 最终呈现的系统模型都使用相同的表示,即类和对象。通过u m l 中 的视图从不同角度对系统建模,得到系统的完整模型。图3 1 描述了从 不同角度对远程教育题库系统模型进行描述所使用的视图模型。 图3 - 1不同角度实现题库系统模型 西安理工大学硕士学位论文 3 3 远程教育题库系统的体系结构建模 3 3 1 系统用况分析 用况是能够向用户提供有价值结果的系统中的一种功能,用况获取 的是功能需求。所有的用况和在一起构成用况模型,描述系统的全部功 能。基于对现状的分析和已有系统的理解,远程教育题库系统的最终目 标是:远程教育题库系统作为远程教育的后台支持系统。由此系统应具 有如下的功能: ( 1 )远程教育系统中各种题资源的管理 增加新题目; 查询已存在的题目; 更改已存在的题目; 删除已存在的题目; 审批试题; ( 2 ) 远程教育题库系统中的非题资源管理 题库系统中的编码资源的统一管理 题库系统中的图形资源的统一管理 题库系统中的系统属性资源的统一管理 ( 3 ) 远程教育题库系统接口 根据需求动态出题; 根据需求动态成卷: 提供对外的题资源输出接1 :3 ( 对象接口) : 提供跨平台的题资源x m l 文档的交换; 基于以上功能的描述,远程教育题库系统用况分析如下: 参与者首先,远程教育题库系统作为远程教育的后台支持系统, 必然要为其它远程教育系统( 例如:考试系统,教学系统等) 提供对外 接口,以便其它系统能够使用它所提供的功能,实现复用的目的。所以, 其它使用远程教育题库系统接口所提供功能的系统是系统用况的一个参 远程教育题库系统建模 与者( 图3 2 所示) 。其次,题库需要用户人员管理和维护,也需要直接 的人员用户,所以人员用户也使系统的一个参与者,但系统所提供的功 能需要对不同权限等级的人员用户提供不同的透明度,以提高系统的安 全性,所以人员用户又可细分为不同的参与角色( 图3 3 所示) 。 其他系统管理员 高级用户普通用户审批委员 图3 - 2图3 - 3 用况根据系统功能的分析,我们可抽象出三个用况: ( 1 ) 管理题资源 用况名管理题资源 参与者管理员、审题委员、高级用户、普通用户 主流事件接受用户输入的题目参数,生成新题目并持久性存储; 将用户对已存题目的维护行为反映到题库中,并填写修 改单:提供接口从外部通过文件或对象导入和导出题集 入口 用户通过系统提同的权限检测接口后与模块组件交互 出口 用户完成对题资源的管理后,退出使用模块 特殊需求可视化的界面可以更方便完成对题资源的各种管理;以 文件或对象的方式导入题集需要解决数据在不同平台或 系统间的传输 西安理工大学硕士学位论文 ( 2 ) 管理系统资源 用况名 管理系统资源 参与者管理员 管理员通过权限认证统一管理编码资源、图形资源和系统 主流事件 属性资源 管理员通过权限认证后得到使用组件模块对外接口所提供 入口 的功能的认可 出口 管理员完成资源管理后,退出使用模块 特殊需求 可视化的界面可以方便完成对系统资源的各种管理 ( 3 ) 获取题集、试卷 用况名获取题集、试卷 参与者其它系统、用户人员 主流事件参与者输入所需题集或试卷的要求,启动模块事件执行 入口 参与者输入对所需题目或试卷的要求 出口参与者获得所需题集或试卷后退出使用模块 特殊需求需要合理的出题和组卷算法 根据以上分析,可得出系统的用况图如图3 4 所示。 j 砂些一双里竖 煮 一。删哦亘至多 千 瓣) 峨蛾垂p 一缈一 幽3 - 4 系统用况图 缆 远程教育题库系统建模 3 3 2 系统体系结构建模 本论文的目的是要研究利用面向对象和组件技术设计出一个可复用 的,结构合理的,在分布式环境中健壮的系统,基于以上对远程教育题 库系统功能的分析,系统体系结构模型如图3 5 所示 掣同9 也圳 圄森 、n 。q尸一 题资源接口 q 翼咎 对外接口 根据需求动态出题;l 根据需求动态成卷; 提供对外的题资源输出接口: 提供跨平台的题资源x m l 文档的交换 图3 - 5 系统体系结构模型 由图3 5 所示的体系结构模型可以看出,各个模块之间通过接口松 散耦合,彼此相互独立。按照体系结构模型,我们可以将题库系统分为 三个组成部分,每一部分是一个独立的可复用组件,且每一个组件又由 许多的可复用的对象组成。主要有以下三个组件模块: 1 9 目目目题题题:的的的 题存存存题新已已己试加询改除批增鸯更删审 西安理工大学硕士学位论文 ( 1 ) 题资源管理系统 主要对各种类型的题资源进行管理,其中包括作业题、练习题、试 题等。功能主要包括:题目的编辑( 生成并添加新题目) ;题目的维护( 对 已存在题目的查询、更改、增删等) ;试题审批,更改单生成及维护;引 用资源管理模块提供的资源接口从资源库中引用资源;对外提供题资源 输出和输入接口( 文件和对象形式) 。 ( 2 ) 系统资源管理 系统资源管理模块是由管理员来维护,用来对系统中所用到的一些 非题资源( 比如原始编码、图片等) 进行统一管理,有利于资源的合理 利用。基本功能:编码的自动生成、维护、回收;图形资源的维护;系 统属性和配置文件的管理;实现提供非题资源的接口。 ( 3 ) 出题及组卷管理 出题及组卷管理模块主要是针对在线考试、辅导等教育系统用户, 根据需求产生并提供题集,同时可提供组卷功能。具体功能主要包括: 根据用户需求从题库中提取出所需题集,并以文件或对象的形式提供给 用户:根据要求,生成并向用户提供试卷,用户可选择人工组卷或系统 自动组卷。 在以下章节中,将分别介绍各模块系统的设计及实现思路。 3 4远程教育题库系统的静态结构建模 对系统的结构建模,首先要通过以上所述的用况分析,确定如何以 面向对象的风格满足这些需求。对象构成面向对象系统的构造块,类用 于定义并实例化对象的模板。因此,面向对象模型必须说明: ( 1 ) 需要创建和实例化什么类,以表示适当的提炼。具体地说,就 是类的属性、方法和类之间的结构化关系,即准备系统的“静态模型”。 ( 2 ) 需要对这些对象如何协作,以执行系统的全部需求,也就是“使 命”。对象交互的方式理论上可以根据对象所作用的环境不时进行修改, 这种详细说明对象之间协作的过程即“动态模型”。 兰堡竺查墼堕墨丝壅茎 一 静态和动态模型只不过是同一个问题的两个方面,下面将分别对系 统的各个组件模块进行静态模型的建立,动态模型的建立在后面的章节 进行讲述。 3 4 1 题资源管理系统 ( 1 ) 用况分析 根据题资源管理系统的功能需求,可以分析得到各用况和参与者: q 菇墓照 箩心 处 日题委员 、 、 迄亚彩 、 磊多 图3 - 6 题资源管理用况图 参与者:管理员,审题委员,高级用户,普通用户。其中管理员角 色拥有系统管理的最高权限,可以通过接1 3 获得系统所提供的各种功能, 并通过更改单的维护来避免用户错误修改题目后不能进行恢复。审题委 员只有对试题进行审批的权限。高级用户和普通用户角色都要使用更改 单用况来记录自己各种有关修改题目的行为记录,以便管理员角色恢复 错误的修改:他们同时都有使用添加、删除、修改题目的用况的权限, 但各自的权限不同,得到的用况内的使能范围也不同。 用况:添加题目用况,查询题目用况,删除题目用况,修改题目用 2 1 西安理工大学硕士学位论文 况,试题审批用况,以文件或对象形式导入和导出题集,填写更改单用 况。 其中以文件或对象的形式导入和导出题集用况是添加题目用况的延 伸用况。延伸关系用于对可能被用户看作是可选系统行为的用况的部 分建模,通过这种方式,可以把可选行为从必须行为中分离出来,用以 描述个只有在给定条件下执行的独立的子流。删除题目用况和修改题 目都包含了填写更改单用况和查询题目用况,即前两者都对后两者有包 含关系。被包含的用况不独立存在,仅作为某些包含它的更大的基础用 况的部分出现,可以想象为基础用况从供应者用况中提取行为。包古 关系本质上是一个委托的例子,你可以获得系统的一组职责并在个地 方获取它( 例如:图3 - 6 中的填写更改单用况) ,然后,每当系统的所有 其它部分( 例如删除题目用况和修改题目用况) 需要使用这些功能时就 去包含这个新的职责聚合。用况图如图3 - 6 所示。 ( 2 ) 提炼静态特性 根据模块的功能需求,在用况分析中提炼并抽象出基本的构造块, 得到概念模型如图3 7 所示。 用户人员:是使用模块提供的功能的用户人员的抽象概念。 题目:是被用来进行持久性存储的题目资源的抽象概念。 资源:从资源管理模块得到的系统所要求的资源的抽象概念。 更改单:作为恢复错误操作参照的对题目进行操作的记录。 图3 7 概念模型i 远程教育题库系统建模 其中人员用户涵盖了管理员、审题委员、高级用户、普通用户角色, 由于他们都是人员,所以都有可抽象的相同特性:既使用系统的人员。 除了作为用户一一人的共同属性外,可以在人员类中添加一个属性值: 权限。人与用户实例化后成为不同的对象,通过各自权限的属性即可区 分扮演角色的不同,从而为他们分配不同的使能范围。各种类型的题目 抽象出共性后得到题目类,通过属性值的不同,实例化得到不同的对象。 资源类是根据系统题目的不同需求得到不同的实例对象。因此,可以细 化概念模型如下: 题类( p r o b l e m ) 图3 - 8 题目的类图 题目有不同的类型,例如选择题、填空题、判断题等,不同类型的 西安理工大学硕士学位论文 题有作为题目的共性,也有其本身各自不同的特性,这些不同的特性使 得系统为实现功能而对它们执行的操作也有很大差异,因此为了便于区 分不同的题型,题类用一个抽象类实现所有题目的共性,所有的题型都 是继承了抽象类的子类,并各自具有不同的属性和操作的封装。题类不 能被实例化,用户得到的是不同题型的子类实例化后的对象。由于道 组题可以由任意非组题的题型组成,因此组题和其它题型类之间存在聚 合关系。视图如图3 8 所示。 人员类( p e r s o n ) 由于所有的人员类都是承担对题集进行操作的用户人员的角色,所 以用一个类来表示,根据实例化后权限等属性值的不同来得到不同的人 员对象,所以在以后的模型实现中重要的是精确细化并确定类的不同属 性。图3 9 是人员类的类图表示。 四种 值, 管理员 圈3 - 9 人员类 资源接口( r e s o u r c e ) i 资源接r l 由 一 资源管理模块 f 实现。 图3 1 0 资源接口 资源是通过引用资源管理模块提供的接口得到的编码或图形等的系 统资源。因此,题库模块中引用此接口( 图3 一l o 所示) 以获得所需资源。 更改单( r e j i g g e r ) 更改单( 图3 - 1 1 ) 是封装人员所维护的题目的状态( 维护前状态和维 护后状态) 己备恢复错误修改作参考。 更改单 图3 - 】1 更改单 有性示户户员类属表用用委员限别级通题人权分高普审 远程教育题库系统建模 要实现组件模块的功能,模块还需要满足一些非功能性需求:首先 人员用户的进入,题资源管理模块要对它们进行权限的判断,然后根据 判断结果对用户提供不同范围的功能;其次,题目的各种复杂的操作需 要有单独的类来处理,以将题目与对题目的操作分离,在改变题目属性 时不影响操作的实现;由于外部所提供的题集的属性会有很多差异,所 以对以文件或对象形式导入和导出题集的用况,应有单独的类进行处理。 基于以上分析,我们可在概念模型中添加下述类: d i r e c t o r 类 d i r e c t o r 类( 图3 1 2 ) 为人员用户提供了一个统一的操作接口,d i r e c t o r 类提供权限操作,并根据权限编码为用户人员提供对题目操作的不同的 功能契约。将形成功能契约的内部实现( 例如权限判别) 与用户人员隔 离开来,即功能契约的内部实现对用户人员是透明的,减少了与用户人 员直接关联的对象,减弱了题资源管理系统模块与用户人员之间的耦合。 d 哥e c t o r u s e r i d k a a p o w e r o a d d p ( ) f - m d p 0 d e l e t ) m o d i f y ( ) a p p r o v e p o 霞匡 图3 1 2d i r e c t o r 类 图3 - 1 3u p d i s t r i b u t e 类图3 - 1 4p m d i s t r i b u t e 类 u p d i s t r i b u t e 类和p m d i s t r i b u t e 类 u p d i s t r i b u t e 类( 图3 - 1 3 ) 和p m d i s t r i b u t e 类( 图3 1 4 ) 是实际对人 员用户的权限进行判断的类。u p d i s t r i b u t e 类用于判断用户人员的权限可 以允许用户人员进行哪些功能的操作,例如添加题目、删除题目和修改 题目:p m d i s t r i b u t e 类用于判断在这些功能实现里用户人员受到的约束, 例如可以修改那些题目,删除哪些类的题目等。 a d d p 类、f i n d p 类、d e l e t e p 类、m o d i f y p 类和a p p r o v e p 类 a d d p 类是实现题目添加功能的类( 图3 1 5 ) : 西安理工大学硕士学位论文 f i n d p 类实现对题目的查询,并返回查询结果( 图3 1 6 ) d e l e t e p 类实现删除题目的功能( 图3 1 7 ) ; m o d i f y p 类实现修改题目的功能( 图3 1 8 ) ; a p p r o v e p 类实现审查试题的功能( 图3 1 9 ) 。 固固舀 图3 - 15 a d d p 类图3 - 1 6f i n d p 类图3 1 7 d e l e t e p 类 国国 图3 1 8m o d i f y p 类图3 - 1 9a p p r o v e p i 类 i n o u t p 接口和i n c h a n n e l 类、o u t c h a n n e l 类 i n o u t p 接口实现以对象或文件的形式导入或导出题集的功能。 广睑 以对象形式 ;导入或导出题集j l 。、- - j 图3 2 0i n o u t p 接口和l n c h a n n e l 类、o u t c h a n n e l 类 i n c h a n n e l 类继承i n o u t p 接口,并具体完成以对象或文件的形

温馨提示

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

评论

0/150

提交评论