




已阅读5页,还剩80页未读, 继续免费阅读
(计算机软件与理论专业论文)基于struts的在线考试系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 教育的改革,不仅仅是教育思想的更新和进步,也是教育技术和手段的改 进和提高。在各种教育机构的教学过程中,考试都是一个重要的环节,考试工 作的好坏直接关系着教学的成绩。传统的考试,长期以来都是以纸和笔为工具, 工作效率低、纸张浪费大,因此,考试方式的改革己迫在眉睫。 当今各项技术突飞猛进,尤以计算机技术的发展最为突出。在这种双重因 素的作用下,以计算机技术为主的无纸化考试应运而生。所谓无纸化考试也就 是利用计算机及相关技术,通过建立庞大的试题库、智能组卷、机上考试,自 动阅卷等工作,取代传统的基于纸和笔的考试方式。主要优势体现在出题方便 快捷、阅卷准确快速、成绩分析科学直观。 论文首先对在线考试系统进行了需求分析,包括系统的目标与任务、系统 的功能,并利用i i m l 建模语言完成了系统的用例模型、顺序图和活动图等工作。 然后完成了在线考试系统的设计,包括功能模块的设计和数据库的设计。功能 模块的设计依据了前面的系统分析,将系统划分为学校管理、系统管理、试题 管理、试卷管理、在线考试、阅卷评估和自我诊断七个模块,并给出了主要模 块的主要流程图。数据库的设计依据数据库设计原则,采用s q ls e r v e r2 0 0 0 数据库管理系统,并给出了各个表的结构。最后完成了在线考试系统的实现, 采用m v c 模式的s t r u t s 框架技术来开发、给出了各个模块视图、模型和控制 器的类的划分和代码实现。结合j a v a s e r i p t 脚本技术和j s p 技术来开发,利用 d r e a m w e a v e rm x 将各种素材及效果结合成具有一定功能的网页,进而形成完 整的在线考试系统。此外还给出了一些关键问题的解决方案和系统安全性问题 的实现方法。 关键词:在线考试系统;s t r u t s :u m l ;m v c ;j s p 西南交通大学硕士研究生学位论文第页 a b s t r a c t w i t ht h ei n n o v a t i o no fe d u c a t i o n a lt h o u g h ta n dt h ed e v e l o p m e n to fs c i e n c e a n dt e c h n o l o g y , t h es h o r t c o m i n g so ft h et r a d i t i o n a le x a m i n a t i o n sa r ec o m p l e t e l y e x p o s e d t h ed e s i g n , o r g a n i z a t i o n , p r i n t i n g , d i s t r i b u t i o n ,p r o c e s sa n de v a l u a t i o no f t h et e s tt a k eal o to fl a b o r sa n dm a t e r i a l s , w h i c hs h o w sp e o p l e sl o w e rw o r k i n g e f f i c i e n c y i ns u c hc a s e s ,t h ec o m p u t e r i z e de x a m i n a t i o ns y s t e me m e r g e sa st h et i m e s d e m a n d i tw i l lt a k et h ep l a c eo ft h et r a d i t i o n a lt e s tb y m a k i n gu s eo ft h ec o m p u t e r t om a n a g ea n dp o s s e s st h et e s tq u e s t i o nd a t a b a s e ,t oo r g a n i z et h ec o n t e n t sa n dt o e v a l u a t et h et e s tp a p e r i ti sc h a r a c t e r i z e di ni t sc o n v e n i e n c ea n df a s t n e s sw h i l e s e t t i n gat e s tp a p e r , i t ss p e e da n da c c u r a c yw h i l ee v a l u a t i n gt h ep a p e ra n di t s s c i e n t i f i ca n a l y s i so ft h et e s tp a p e r i ti se a s i e rf o rt e a c h e r st os c tat e s tp a p e rb yt h e t e s tq u e s t i o nd a t a b a s e t h ec o m p u t e r i z e de x a m i n a t i o ns y s t e mw i l ls a v eal o to f l a b o r si ne v a l u a t i n gt h et e s tp a p e r , a n dg r e a t l yi m p r o v et h ea c c u r a c yi ne v a l u a t i o n t h e s t a t i s t i c a la n a l y s i sw i l lh ep e r f o r m e da u t o m a t i c a l l yb yt h ec o m p u t e r , w h i c hw i l l b ec o n v e n i e n tf o rs t u d e n t st oi n q u i r ya b o u t ,p r i n t ,c o u n ta n da n a l y z et h e i rm a r k s t h i st h e s i sd e s i g n sa n di m p l e m e n t sa no n l i n ee x a m i n a t i o ns y s t e mb yu s i n g s u c ht e c h n o l o g i e sa n dt o o l sa ss t r u t s ,m v c ( m o d e l ,v i e wa n dc o n t r o l l e r ) ,u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) a n dj 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) t h et h e s i sf i r s ta n a l y s e st h er e q u i r e m e n t so fo n l i n ee x a m i n a t i o ns y s t e m ,w h i c h i n c l u d et h et a r g e ta n dt a s ko ft h es y s t e m ,s h o w st h eu s ec a s em o d e l ,s e q u e n c e d i a g r a m sa n da c t i v i t yd i a g r a m so ft h es y s t e m t h e nt h et h e s i sc o m p l e t e st h e d e s i g no ft h es y s t e m , w h i c hi n c l u d e st h ed e s i g no ff u n c t i o nm o d u l e sa n dt h ed e s i g n o ft h ed a t a b a s e a c c o r d i n gt ot h es y s t e ma n a l y s i s ,t h es y s t e mi sd i v i d e di n t os e v e n m o d u l e s ,s u c h a ss c h o o l m a n a g e m e n t ,s y s t e mm a n a g e m e n t ,t e s tq u e s t i o n m a n a g e m e n t ,t e s tp a p e rm a n a g e m e n t ,o n l i n ee x a m ,t e a c h e re v a l u a t i o n a n d s e l f - e v a l u a t i o n t h et h e s i ss h o w ss e v e r a lp r o c e s sf l o wd i a g r a m so ft h em a i n 西南交通大学硕士研究生学位论文第页 m o d u l e so ft h es y s t e m a c c o r d i n gt ot h ed e s i s np r i n c i p l eo fd a t a b a s e , t h et h e s i s s h o w se a c ht a b l es t r u c t u r eo ft h ed a i a b a s e a tl a s t , t h et h e s i sc o m p l e t e st h e i m p l e m e n t a t i o no fo n - l i n ee x a m i n a t i o ns y s t e m s t r u t sf r a m e w o r kt e c h n i q u e s , j a v a s c r i p ta n dj s pt e c h n i q u e sa r ea d o p t e dt od e v e l o pt h es y s t e m ,a n dv a r i o u s m a t e r i a l sa n de f f e c t sa r co r g a n i z e db yd r e a m w e a v e rm xt of o r mt h es y s t e m t h e t h e s i sp r e s e n t sc l a s sd i s t r i b u t i o na n di e s o u c eg x ,d eo fv i e w , m o d e la n dc o n t r o l l e r o fe a c hm o d u l e f u r t h e r m o r e ,s o m er e v o l u t i o n sa r eg i v e nt os o m e sd i f f i c u l t i e sa n d s y s t e ms e c u r i t y k e yw o r d s :o n f l n ee x a m i u t i o ns y s t e m ;s t r u t s ;u m l ;m v c ;j s p 西南交通大学硕士研究生学位论文第l 页 第1 章绪论 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开 设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术 的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步 阶段,随着这项技术的不断发展,就要求有更好,更完善的软件系统应用到远 程教育当中去,譬如一个功能完善的在线考试系统,这就给软件设计人员提出 了更高的设计要求。 1 1 课题背景 远程教育包括很多环节,例如教学系统、答疑系统和考试系统等。其中很 重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽 然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用 传统的考试方式。在此方式下,组织一次考试至少要经过五个步骤,即人工出 题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断 增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一 件十分烦琐和容易出错的事情,可以说传统的考试方式已经不能适应现代考试 的需要。随着计算机应用的迅猛发展,网络应用的不断扩大,如远程教育和虚 拟大学的出现等等,这些应用正逐步深入到千家万户。人们迫切要求利用这些 技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提 高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣【1 l o 在线考试系统的软件开发是现阶段研究开发的一个热点。目前国内外有许 多的网络考试,例如,美国e t s 组织的“计算机文化考试”、“高级就业计算 机科学考试”、“专业领域考试”、t o e f l ,g r e ;国内的网络考试有人事部和 电子工业部组织的“中国计算机软件专业技术资格和水平考试”,教育部组织 的“全国计算机等级考试”,全国电大网络考试,教育部从剑桥引进的“剑桥 信息技术( c m 证书考试”,以及c l s c o 认证考试、微软认证考试、n o v e l l 认证考试、i b m 认证考试等等【2 】。在线考试是建立在国际互联网上的应用系统, 客户端的配置可以极其简单,使考试不受地域的局限。一个完备的在线考试系 西南交通大学硕士研究生学位论文第2 页 统可以使用户在网上学习后及时检验自己的学习效果,以发现自己的不足,使 得学习效率得到很大提高。 随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来 越大,并且其工作将是一件十分烦琐和容易出错的事情,可以说传统的考试方 式已经不能适应现代考试的需要。在这样的背景下,我们开发了这样一个在线 考试系统,试卷题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动 完成,并给出了成绩分析、成绩查询、错题本等功能,只要形成一套成熟的题 库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维 护题库而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当 可观的【3 】。 该平台基于s t r u t s 框架技术,运行在开放互连的i n t e r a c t 上,冲破了传 统考试方式的限制,将人工出题、考生考试、人工阅卷、成绩评估和试卷分析 计算机化,并可以让每个学生可以在任意时间、地点根据学习内容和进度,进 行在线练习。在线考试系统是现代远程教育的有益补充,对推动教学技术、提 高教学质量具有重要的意义,其推广应用将具有广泛的社会价值。 1 2 本论文研究内容 本文首先对u m l a 】和r u p s i 、m v c 模式【6 1 和s t r u t s 框架r 1 作了概要介绍, 提出了使用统一软件开发过程开发在线考试系统的解决方案。本文着重介绍了 在线考试系统从分析、设计到实现的全过程。在项目的分析阶段,以在线考试 系统为例,讲述了如何分析需求,捕获需求作为用例,给出了系统的分析模型; 在项目的设计阶段讲述了系统的体系结构设计,功能结构设计,视图、模型和 控制器的设计以及数据库的设计。在项目的实现阶段,给出了相关视图、模型 和控制器的实现代码以及系统的打包和部署情况。整个过程体现了统一软件开 发过程的用例驱动、构架为中心和增量与迭代的特点。 采用u m l 建模已经成为面向对象分析和设计的一种趋势,作为基于m v c 模式的w e b 应用的典型体现,s t r u t s 给出了一套框架工具,使开发人员在此 框架的支持下就能够快速高效的构建不同的应用。本文介绍了如何将u m l 与 s t r u t s 结合在一起,开发一个实际的应用系统,对于开发企业级应用有一定的 参考价值。 西南交通大学硕士研究生学位论文第3 页 1 5 本论文章节安排 本文共分五章。 第一章绪论,介绍论文背景及论文的研究内容和章节安排。 第二章相关技术介绍,介绍了l i m l 、r u p 、m v c 模式和s t r u t s 框架的基 本概念,为论文做理论铺垫。 第三章在线考试系统的分析,介绍了系统的设计任务和目标、功能需求, 在此基础上给出了系统用例模型和部分用例的顺序图和活动图。 第四章在线考试系统的设计,介绍了功能模块划分和结构,并进行了功能 模块的设计和数据库的设计。 第五章在线考试系统的实现,介绍了系统开发平台,以及部分功能的视图、 模型和控制器的实现,以及给出了一些关键问题的解决方案和系统安全性的实 现。 结论中对本次的开发做出总结,指出本次开发的成功与不足。并对以后考 试系统技术的改进与发展做了一定展望。 西南交通大学硕士研究生学位论文第4 页 第2 章相关技术基础 为了方便对本考试系统的认识和了解,本章将涉及考试系统所需要用到的 主要相关技术一简要介绍。 、 2 1u m l 和f l o p 概述 2 1 1u m l 概述 o m l ( 统- - 建模语言) 是一套用来设计软件蓝图的标准建模语言,也是一种 可视化的面向对象的模型分析语言嘲。从系统工程的角度来看,u m l 可以说 是一种软件结构的分析工具。也就是说,u m l 是一种从软件分析、设计到编 写程序规范的标准化建模语。 1 u m l 的概念模型 为了理解u m l ,需要形成一个语言的概念模型。u m l 包括三个主要要素: u m l 的基本构建块、支配这些构建块放在一起的规则和一些运用于整个u m l 的公共机制。这三部分构成了u m l 的概念模型【9 】 1 1u m l 的基本构建块 u m l 的词汇表中包括三种构建块:事物、关系和图。事物是模型中最有代 表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。 在u m l 中,事物分为结构事物( 包括类、接口、协作、用例、主动类、 构件和节点) 、行为事物( 包括交互和状态机) 、分组事物( 包) 和注释事物( 注 解) ;有四种关系:依赖关系、关联关系、泛化关系、实现关系;及可归纳为 两类的九种图:一类是结构图,用于描述系统的静态方面,包括用例图、类图、 对象图、构件图和实施图;另一类是行为图,用来描述系统的动态方面,包括 顺序图、协作图、状态图和活动图。 劲u m l 规则 u m l 用于描述事物的语义规则分别是:为事物、关系和图命名;给一个名 字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正 西南交通大学硕士研究生学位论文第5 页 确、一致地相互联系,既完整性;运行或模拟动态模型的含义是什么,即执行 另外,u m l 还允许在一定的阶段隐藏模型的某些元素、遗漏某些元素以及保证 模型的完整性,但模型逐步地要达到完整和一致。在软件开发的生命周期内, 随着系统细节的展开和变动,不可避免地要出现一些不太规范的模型。u m l 的规则鼓励( 不是强迫) 你专注于最重要的分析、设计和实现问题。这些问题 将促使模型随时间的推移而具有良好的结构。 u m l 的公共机制 有四种在整个u 札语言中一致应用的机制,使该语言变得较为简单。这四 种机制是规格说明、修饰、通用划分和扩展机制。 2 u 札的建模机制 从应用的角度看,当采用面向对象技术设计系统时,首先是描述;其次根 据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为, 其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图( 包含 包) 、对象图、构件图和实旌图等5 个图形,是标准建模语言u m l 的静态建 模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状 态或交互关系。它包括状态图、活动图、顺序图和合作图等4 个图形,是标准 建模语言u m l 的动态建模机制。因此,标准建模语言u m l 的主要内容也可 以归纳为静态建模机制和动态建模机制两大类i 如l 。 1 1 静态建模机制 任何建模语言都以静态建模机制为基础,标准建模语言u m l 也不例外。u m l 的静态建模机制包括用例图( u s ec a s ed i a g r a m ) 、类图( c l a s sd i a g r a m ) 、对 象图( o b j e c td i a g r a m ) 、包( p a c k a g e ) 、构件图( c o m p 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 ) , 用例图:用例图展现了一组用例、参与者以及它们之间的关系。可以用用 例图描述系统的静态使用情况。在对系统行为组织和建模方面,用例图是相当 重要的。 类图:类图展现了一组类、接口和协作及它们间的关系,在建模中所建立 的最常见的图就是类图。用类图说明系统的静态设计视图,包含主动类的类图 专注于系统的静态进程视图。系统可有多个类图,单个类图仅表达了系统 的一个方面。要在高层给出类的主要职责,在低层给出类的属性和操作。 西南交通大学硕士研究生学位论文第6 页 对象图:对象图展示了一组对象及它们间的关系,用对象图说明类图中所 反映的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或 静态过程视图,除了现实和原型方面的因素外,它与类图作用是相同的。 构件图:构件图展现了一组构件之间的组织和依赖,用于对原代码、可执 行的发布,物理数据库和可调整的系统建模。 实施图:实施图展现了对运行时处理节点以及其中构件的配置。它描述系 统硬件的物理拓扑结构( 包括网络布局和构件在网络上的位置) ,以及在此结 构上执行的软件( 即运行时软件在节点中的分布情况) 。用实旄图说明系统结 构的静态部署图,即说明分布、交付和安装的物理系统。 , 动态建模机制 系统的动态行为主要是由交互图( 顺序图和协作图) 、状态图和活动图来 表达。 顺序图:顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺 序对控制流建模。用顺序图说明系统的动态视图。 协作图:协作图展现了一组对象,这组对象间的连接以及这组对象收发的 消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。 状态图:状态图展现了一个特定对象的所有可能状态以及由于各种事件的 发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系 统的动态视图。它对于接口、类或协作的行为建模尤为重要。可用它描述用例 实例的生命周期。 活动图:活动图是一种特殊的状态图,描述需要做的活动、执行这些活动 的顺序( 多为并行的) 以及工作流( 完成工作所需要的步骤) 。它对于系统的 功能建模特别重要,强调对象间的控制流程。高层活动图用于表示需要完成的 一些任务,即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显 示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。低层 活动图用于表示类的方法。但活动图不适用于描述动作与对象间的关系,显示 对象间的合作以及显示对象在生命周期内的运转情况。 2 1 2 基于u m l 的r u p 概述 r u p ( r a t i o n a lu n i f i e dp r o c e s s ) 是一套基于u m l 的软件工程方法,吸收 西南交通大学硕士研究生学位论文第7 页 了多种开发模型的优点,具有很好的可操作性和实用性。与此同时,r u p 又 是一套软件工程方法的框架,各个组织可根据自身的实际情况,以及项目规模 对r u p 进行裁减和修改,以指定出合乎需要的软件工程过程。 1 r u p 的特征 统一过程是用例驱动的、以架构为中心的、迭代式和增量性的开发过程 【1 1 】这使得r u p 非常适宜于开发复杂、技术难度大、需求多变、高风险的项 目 2 r u p 的核心工作流 商业建模( b u s i n e s sm o d e l i n g ) :理解待开发系统的组织结构及其商业运作, 确保所有参与人员对待开发系统有共同的认识,业务建模的结果是建立一个业 务用况模型和业务对象模型。 需求( r e q u i r e m e n t s ) :定义系统功能及用户界面,使客户知道系统的功能, 开发人员知道系统的需求,为项目预算及计划提供基础。 分析与设计( a n a l y s i sa n dd e s i g n ) :把需求分析的结果转化为实现规格。系 统分析和设计的结果是产生一个对象模型,即设计模型。 实现( i m p l e m e n t a t i o n ) :定义代码的组织结构、实现代码、单元测试、系统 集成,建立一个可执行系统。 测试( t e s t ) :校验各自子系统的交互与集成。确保所有的需求被正确实现, 并在系统发布前发现错误。 部署( d e p l o y m e n t ) :打包、分发、安装软件,升级旧系统;培训用户及销 售人员,并提供技术支持。制定并实施b e t a 测试。 r u p 还支持三种核心支持工作流:配置和变更管理、工作管理和环境。 3 r u p 的4 个阶段 1 1 初始阶段( i n c e p t i o n ) :建立业务模型能够并确定系统边界;关注项目 的主要风险,提出产品构想。 细化阶段( e v a l u a t i o n ) :设计及确定系统的体系结构,分析问题领域, 建立健全体系结构基础,编制项目计划,淘汰项目中最高风险的元素。 3 ) 构造阶段( c o n s t r u c t i o n ) :构造产品并继续演进需求、体系结构、计 划直至产品提交。 西南交通大学硕士研究生学位论文第8 页 4 ) 移交阶段( t r a n s i t i o n ) :系统正式投入运行前的阶段,主要工作是系 统的b e t a 测试,系统性能调整和人员培训等。 在r u p 中,每一阶段完成时都有明确的目的和标准来评估该阶段的工作, 从而降低项目的风险,提高软件开发的质量和效率“”。 每一个阶段都由一个或多个连续的迭代组成,每一个迭代都是一个完整的 开发过程一个具体的迭代工作流从头到尾地执行,与核心工作流不同的是 r u p 并没有也无法给出迭代工作流的具体实现步骤,它需要项目经理根据当前 迭代所处的阶段、以及上次迭代的结果,适当地对核心工作流中的行为进行剪 裁以实现一个具体的迭代工作流。 r u p 的迭代开发过程是受控的,在项目计划中就制定了项目迭代的个数、 每个迭代的延续时间以及目标。在每一个迭代的起始阶段,都制定详细的迭代 计划以及具体的迭代工作流。每次迭代过程都生成该次迭代的版本,作为下次 迭代的基础。在迭代结束前,都应执行测试工作,并仔细评估该迭代过程,为 下一次迭代做准备。迭代并不是重复地做相同的事,而是针对不同用例的细化 和实现。 2 2m v c 模式概述 m v c 是m o d e l v i e w - c o n t r o l l e r 的简称,即模型视图控制器。m v c 是 2 0 世纪8 0 年代x e r o x 队r c 为编程语言s m a l l t a l k 8 0 发明的一种软件设计模 式,迄今已经成为一种成熟的优秀的设计模式,受到越来越多的w e b 开发者 的欢迎【1 3 1 。 m v c 是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。 m v c 把应用程序分成三个核心模块:模型、视图和控制器【1 4 1 。它们分别负担 不同的任务。图2 - 1 显示了m v c 模式各模块各功能及其相互关系。 西南交通大学硕士研究生学位论文第9 页 一 事件 图2 - 1 m v c 设计模式 视图:视图是用户看到的并与之交互的界面。视图从模型获得数据,视图 的更新由控制器来完成。m v c 最强调的一点,就是视图中决不允许也决不应该 包含诸如业务逻辑的东西。在视图中其实没有真正的处理发生也不应该有处理 发生。不管这些数据是联机存储的还是一个简单的信息列表,作为视图来讲, 它只是作为一种输出数据并允许用户操纵的方式。 模型:模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了完 成问题处理的操作过程。一方面,模型为控制器所调用;另一方面,模型还为 视图获取显示数据而提供了访问其数据的操作。模型是与数据格式无关的,因 此,一个模型可以为多个视图提供数据。这样模型一次编写就可为多个视图重 用,从而减少了代码的重复性。 控制器:控制器根据用户的输入调用相应的模型和视图去完成用户的需 求。具体地说,控制器本身不输出任何东西和做出任何处理。它只是接收请求 并决定调用哪个模型构件去处理请求,并确定用哪个视图来显示模型处理之后 返回的数据。 j 2 e e “”模型提供了一个很好的企业应用框架及解决方法,但是多层企业应 西南交通大学硕士研究生学位论文第1 0 页 用框架在提高了软件的重用性和分解了问题的复杂性的同时,也使得代码庞 大,层与层之间的控制关系复杂“”。而m v c ( m o d e lv i e wc o n t r o l l e r ) 模式可 以利用控制器将应用的业务逻辑一模型和应用的表示逻辑视图进行分 离,使应用的各层之间达到一种松散耦合的效果,所以,人们将m v c 模式应用 于j 2 e e 应用开发。 现在有很多可供使用的m v c 框架,由于s t r u t s 框架具有完整的文档并且 相对来讲比较简单,所以用它开发m v c 系统还是比较方便的。s t r u t s 是基于 j s pm o d e l2 之上的,它的底层机制就是m v c 。s t r u t s 采用的是开放式源代码, 它是作为a p a c h e 软件基金的j a k a r t a 项目的一部分,旨在改进和提高j s p 、 s c r v l e t 、标记库以及面向对象的技术水准,整合s e r v l e t s 和j s p 的技术优势, 为开发人员提供一个开发w e b 应用程序的框架。s t r u t s 是一组j a v a 类和j s p 标记库【1 7 1 。 在s t r u t s 框架中,对模型、视图和控制器都提供了现成的实现组件【1 8 1 。模 型由实现业务逻辑的j a v a b e a n 或f _ j b 组件构成,控制器由a c t i o n s e r v l e t 和 a c t i o n 来实现,视图由一组j s p 文件构成。图2 2 显示了s t r u t s 实现的m v c 框架。 i 竺芸刊 _ ( 模型) l 厂茹:f i a 枷蚰s e r v i h r 丫 j a v ab e a r 1 1 7 e 掣1 l 淤 啪 l _ j ( 视j s 图p ) 图2 - 2s t r u t s 实现的m v c 框架 西南交通大学硕士研究生学位论文第n 页 1 视图 s t r u t s 中的视图部分可以采用j s p 来实现。j s p t l 9 1 文件中没有业务逻辑, 也没有模型信息,只有标签,这些标签可以是标准的j s p 标签或客户化标签, 如s t r u t s 标签库中的标签。s t r u t s 提供了丰富的自定义标记库,视图部分使用 这些自定义标记,同样可以实现与模型部分的有效交互并能够增强显示功能。 此外,通常把s t r u t s 框架中的a c t i o n f o r m 也划分到视图部分。a c t i 加f o m 也是一种j a v a b e a n ,除了具有一些j a v a b e a n 的常规方法,还包含一些特殊的 方法,用于验证h t m l 表单数据以及将其属性重新设置为默认值。s t r u t s 框架 利用a c t i o a f o r m 来进行视图和控制器之间表单数据的传递。 2 模型 模型部分从概念上可以分为两类:系统的内容状态和改变系统状态的动 作。s t r u t s 中的模型部分一般由j a v a b e a n 以及e j b 组成t 2 0 l 。 3 控制器 控制器由a c t i o n s e r v l e t 类和a c t i o n 类来实现。a e t i o n s e r v l e t 类是s t r u t s 框架中的核心组件。a e t i o n s e r v l e t 类继承了j a v a x s e r v l e t h t t p h t t p s e r v l e t 类, 它在m v c 模型中扮演中央控制器的角色。a c t i o n s e r v l e t 主要负责接收h t y p 请求信息,根据配置文件s t r u t s - c o n f i g x m l 的配置信息,把请求转发给适当的 a c t i o n 对象,如果该a c t i o n 对象不存在,a e t i o n s e r v l e t 会先创建这个a c t i o n 对象。 a c t i o n 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的 流程。a c t i o n 充当用户请求和业务逻辑处理之间的适配器,其功能就是将请求 与业务逻辑分开,a c t i o n 根据用户请求调用相关的业务逻辑组件。业务逻辑由 j a v a b e a n 或e j b 来完成。a c t i o n 类侧重于控制应用程序的流程,而不是实现 应用程序的逻辑。通过将业务逻辑放在单独的j a v a 包或e j b 中,可以提高应 用程序的灵活性和可重用性。 4 s t r u t s 的配置文件s t r u t s - c o n f i g x m l 上面讲到一个用户请求是通过a c t i o n s e r v l e t 来处理和转发的。那么 a a m n s e m e t 如何决定把用户请求转发给哪个a c t i o n 对象呢? 这就需要一些 描述用户请求路径和a c t i o n 映射关系的配置信息了。在s t r u t s 中,这些配置映 西南交通大学硕士研究生学位论文第1 2 页 射信息都存储在特定的x m l 文件s t r u t s - c o n f i g x m l 中。在该配置文件中,每 一个a c t i o n 的映射信息都通过一个 元素来配置。这些配置信息在系统 启动时被读入内存,供s t r u t s 在运行期间使用。在内存中,每一个 元 素都对应一个o r g a p a c h e s t r u t s a c t i o n a c t i o n m a p p i n g 类的实例。 s t r u t s 相当于在原有w e b 应用开发环境的基础之上,又提出了一套框架工 具,这样开发人员在此框架的支持下就能够快速高效地构建不同的应用 西南交通大学硕士研究生学位论文第”页 第3 章在线考试系统的需求分析 3 1 系统目标与任务 通过对现有的远程考试系统的优缺点分析,在详细了解了山东轻工业学院 日常考试运作以及实行网上考试系统的一些实际要求后,系统需满足以下要 求: 1 ) 准确率( a c c u r a c y ) 这是衡量系统性能的重要指标,在考试、计时、评判、计分等方面应确保 准确无误,否则既影响考试的客观公正性,也会丧失使用者( 特别是考生) 对考 试系统的信任。 2 ) 灵活性( a g i l i t y ) 便于教师组织考试,题库能随时更新;可远程、实时、在线监控考生情况。 3 ) 实时性( r e a lt i m e ) 作为依赖于计算机和网络平台的考试,停电、意外死机、网络故障等问题 难免会出现:如何在故障处理以后,让考生继续完成考试( 而不是重新进行考 试) 是系统中的重要环节。这就要求系统运行过程中,实时记录考生已经完成 的考试,以免在出现故障时丢失数据。 4 ) 可扩展性( s c a l a b i l i t y ) 指当问题规模变化时,系统能进行相应的扩展。使用功能的可扩展性,即 考试学科不仅是一科,而是可以扩展到若干科。譬如,一个系统进行若干个学 科的考试。 5 ) 易用性( u s a h i l i t y ) 系统的安装、配置、维护应该简单方便,具有良好的用户接口,且能够方 便地进行系统移植。 6 ) 兼容性( c o m p a t i b i l i t y ) 即通用性,要求能尽可能兼容标准化考试,尽可能使系统能运用于各个大 学的考试中。 7 ) 低负荷( 1 i g h tb u r d e n ) 西南交通大学硕士研究生学位论文第1 4 页 系统运行效率高,即使用户增加,也能保证系统运行正常,反应及时a 8 ) 安全性( r o b u s t n e s s ) 系统本身有安全性能的要求,要防止校外用户的恶意登录,限制不信任的 i p 的用户登录,做好用户的登录认证功能,使得拥有相应角色的用户只能进 行其权限范围的操作。另一方面,及时记录用户的登录日志,便于管理人员对 系统运行状态的安全监控有依据信息。 3 2 系统功能需求 在线考试系统是网络教学的一个重要组成部分,它可以提供一种学生对所 学课程进行自我评价的手段,从而找出差距进行重点学习,也可以为教师提供 一种评价学生对课程掌握程度的手段,为今后教学提供具有重要参考价值的各 种数据。 一个完备的在线考试系统要能够充分利用网络优势,适合网络教学的考试 模式和考试环境;有效管理和使用网络资源,更好地指导学生进行学习;形成 一套完整的考试体系和质量评价体系。要实现这一要求,除了需要具备一套成 熟的题库,还应具备以下功能。 1 ) 基本的题库管理功能,实现试题添加、删除、修改、查询等操作;试 题不只有客观题,还有主观题,要能囊括各科组卷时所要求的试题类 型。 2 ) 灵活的组卷功能,组卷方式手动组卷方式、自动组卷方式两种。手动 组卷和自动组卷是教师为学生提供统一命题的一份试卷进行考试。组 卷方式的多种选择,目的是给用户更大的选择机会,能够直接参与组 卷,控制组成试卷的各项指标,也能够快速自动地由系统生成。 3 ) 随机选择试题功能,随机选题更能体现试卷的客观性,在满足必要的 条件下,由系统随机确定选中哪些项目。 4 ) 检索及成卷的条件要能够任意组合,速度要尽量快。 5 ) 完善的在线考试功能。在线考试时,若出现断电等意外,系统要给出 妥善的安置。 6 ) 评分时,要求客观题由系统自动评分,主观题由教师手动评分。 7 ) 完备的成绩统计和成绩查询功能。 西南交通大学硕士研究生学位论文第1 5 页 8 ) 新颖的学生自我诊断的功能。譬如考试或练习中错误试题的保存,以 及错题组卷再测试。 3 3 系统的u m l 分析 3 3 1 捕获需求作为用例 由于r u p 很大程度上是一个用例驱动开发的过程,建立用例的作用是决定 和概括系统的功能需求,所以用例特别重要。用例不但被用于捕获需求,还用 于提供从分析到测试的活动基础。 下面是用例建模的两个基本概念: 1 ) 参与者:参与者表示系统外的某事或某人,一般指系统用户。参与者 与系统打交道,引发系统执行某些动作。每一个参与者代表独一无二 的角色。 2 ) 用例( u s ec a s e ) :用例封装了由代表参与者的系统所执行的一系列 操作步骤,用例为参与者提供了某些值,用例包含一个主要的事件序 列,还可能包括一个或多个可选事件序列。 下面为在线考试系统定义参与者和用例。 1 定义参与者 1 ) 系统管理员:考试系统的管理者。 2 ) 教务管理员:学生、教师、学科、班级的管理者和考试的组织者。 3 ) 教师:既是题库和试卷的管理者,又是考试的实施者。 4 ) 学生:参加考试的考生。 2 定义用例 系统管理员参与的用例 1 ) 系统设置:设置信任或不信任i p 地址范围,以控制用户来源的合法 性;设置系统是否开放,是否对教师开放,是否对考生开放。 考场监控:查看学生的考试状态,包括学号、姓名、登录时间、豫、 考试状态( 未考试、考试中、考试完) 等。 3 ) 查看日志:查看各用户使用系统的情况,实时显示登录系统的用户的 西南交通大学硕士研究生学位论文第1 6 页 登录日志信息,包括登录的i d 、姓名、登录时间、退出时间和i p 地 址。 4 ) 用户管理:对所有注册的用户进行管理。包括添加、删除和修改用户, 添加用户时可以定义用户的角色,修改用户时可以修改用户的角色, 以改变其操作权限。 教务管理员参与的用例 1 ) 学生管理:对学生资料的管理,包括添加、删除和修改学生资料。 2 ) 教师管理:对教师资料的管理,包括添加、删除和修改教师资料。 3 ) 学科管理:对学科资料的管理,包括添加、删除和修改学科及学科章 节内容。 4 ) 班级管理:对班级资料的管理,包括添加、删除和修改班级资料。 5 ) 系别管理:对系别资料的管理,包括添加、删除和修改系别资料。 6 ) 试卷设置:新组试卷教师未添加考试时间或考试时间需要修改,则由 教务管理员选择待考试卷,设置或修改开考时间和结束时间。 教师参与的用例 1 ) 试题添加:为题库添加新试题。 2 ) 试题查询:设置查询条件,查询题库中的试题。 3 ) 试题维护:修改或删除题库中的试题。 4 ) 组卷方案管理:组卷方案设计主要是对学科、试题类型、题目数量及 难度系数分配等内容进行设定。教师可以添加和删除组卷方案,添加 时,需要验证方案是否有效。 5 ) 自动组卷:教师首先查询待考科目组卷方案列表,选定方案后,选择 该方案后面的自动组卷,然后教师输入试卷信息,并提交。系统在保 存试卷信息的同时,依据选定组卷方案的完整约束,按一定的算法生 成一份试卷。 6 ) 手动组卷:教师首先查询待考科目组卷方案列表,选定方案后,选择 该方案后面的手动组卷,然后教师输入和提交试卷信息。系统在保存 试卷信息的同时,依据选定组卷方案的非完整约束( 此时的组卷方案 只需要学科、试题类型及难度的约束) ,返回在题库中检索到的试题 列表。试卷需要哪个试题,则只需要教师在试题列表中手动选择即可。 西南交通大学硕士研究生学位论文 第1 7 页 7 ) 试卷维护:查询并删除己组试卷。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市2025商务部国际经济合作事务局招聘应届毕业生2人笔试历年参考题库附带答案详解
- 黔西南布依族苗族自治州2025贵州黔西南州望谟县事业单位引进高层次人才和急需紧缺人才17人笔试历年参考题库附带答案详解
- 2025重庆发展投资有限公司及所属企业招聘15人笔试参考题库附带答案详解
- 2025江苏无锡市宜兴市诚信人力资源服务有限公司招聘17人笔试参考题库附带答案详解
- 2025年甘肃省张掖市肃南裕固风情走廊旅游景区招聘22人笔试参考题库附带答案详解
- 2025年河北廊坊文安县城市建设发展有限公司招聘工作人员20名笔试参考题库附带答案详解
- 2025年吉林省国华资产管理有限责任公司所属企业吉林省东风化工有限责任公司公开招聘1人笔试参考题库附带答案详解
- 2025山东济清控股集团有限公司招聘24人笔试参考题库附带答案详解
- 2025中材科技(锡林郭勒)风电叶片有限公司招聘32人笔试参考题库附带答案详解
- 危险物资管理安全培训课件
- 洗浴中心转让合同
- DBJ51-T 189-2022 四川省建设工程施工现场安全资料管理标准
- 人工智能与虚拟现实技术的融合应用
- UL508标准中文版-2018工控产品UL中文版标准
- GB/Z 37551.102-2024海洋能波浪能、潮流能及其他水流能转换装置第102部分:用已有运行测量数据评估波浪能转换装置在另一布放地点的发电性能
- 电力线路常见故障培训
- 新质生产力:未来经济发展的重要引擎
- 机油化学品安全技术(MSDS)说明书
- 一年级开学家长会 课件
- 第4课 用联系的观点看问题 第一框
- 2024版万达商业广场管理合同书模板
评论
0/150
提交评论