已阅读5页,还剩67页未读, 继续免费阅读
(机械设计及理论专业论文)作业和考试系统中表示层的设计实现与优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士研究生论文作业和考试系统中表示层的设计实现与优化 作业和考试系统中 表示层的设计实现与优化 摘要 2 l 世纪是一个数字化、信息化时代,人们的教育需求日益增加。 现代远程教育作为一种崭新的教育模式,可以最大限度利用现有教育 资源,是实现高等教育大众化、现代化和国际化的新型教育形式和必 然途径,同时现代计算机网络技术及通信多媒体技术的发展,促进了 现代远程教育在我国逐步开展起来。 “作业和考试系统”是国家“十五”重大科技攻关项目“网络教 育关键技术及示范工程”的一个子课题。该课题是开发一个与课件联 系紧密和基于w e b 的多媒体作业管理工具和考试管理工具,将支持 大规模的在线作业和考试。 本文分四部分论述了从设计模式、表示层主要功能实现、项目集 成到表示层优化的全过程。论文首先介绍了什么是设计模式,如何运 用设计模式开发具有可复用性、可扩展性的系统,以及设计模式在本 系统中的合理运用。然后针对表示层中的主要功能进行设计,实现了 不允许相同账号同时多处登录以确保系统的安全,实现了系统的动态 权限控制做到灵活授权,实现了对多媒体试题的支持可进行个性化考 试,实现了基于x m l 目录树的导航提供方便操作。接着讨论了项目 的子课题集成和总体集成的设计与实现方案,以及集成中存在的问题 和解决办法。最后从设计与性能两个大方面对系统进行优化,分析造 成性能瓶颈的根源,进行对症下药找到解决方案。 关键词:j 2 e e 设计模式表示层项目集成优化 北京邮电大学顼士研究生论文作业和考试系统中表示层的设皓现与优化 d e s i g n ,i m p l e m e n t a t i o na n d o p t i m i z a t i o no np r e s e n t a t i o nt i e r o f0 n l i n eh o m e w o r ka n de x a ms y s t e m a b s t r a c t 21c e n t u r yi sad i g i t a la n di n f o r m a t i o n a la g e ,p e o p l e sn e e df o r e d u c a t i o ni si n c r e a s i n gd a ya f t e rd a y m o d e mr e m o t ee d u c a t i o na c ta sa w h o l en e w m o d eo fe d u c a t i o n ,c a nm a k eu s eo ft h ee d u c a t i o n a lr e s o u r c e s v e r ye 氆c i e n t l y i ti st h en e we d u c a t i o n a lf o r ma n dt h en e c e s s a r i l y a p p r o a c h t or e a l i z et h e p o p u l a r i z a t i o n , m o d e m i z a t i o na n d i n t e m a t i o n a l i z a t i o no ft h ea d v a n c e de d u c a t i o n i nt h es a n l et i m e ,t h e d e v e l o p m e n to fm o d e mc o m p u t e rn e t w o r kt e c h n o l o g ya n dm u l t i m e d i a c o m m u n i c a t i o nt e c h n o l o g y , a c c e l e r a t e st h ed e v e l o p m e n to fm o d e m r e m o t ee d u c a t i o ni no u rc o u n t r y ”o n l i n eh o m e w o r ka n de x a ms y s t e m ”i so n eo ft h em o s ti m p o r t a n t t e c h n o l o g i c a lp r o j e c ti nt h en a t i o n a l t e n t hf i v ey e a r s ”,i ss u b p r o j e c t so f k e vt e c ha n dm o d e lp r o j e c to fi n t e m e t - b a s e de d u c a t i o n h o m e w o r ka n d e x a ms y s t e mi sa i m e da td e v e l o p i n ga ni n s t r u m e n to fh o m e w o r ka n d e x a mt h a tb a s e do nw e b h o m e w o r ka n de x a ms y s t e ms h o u l ds u p p o r t o n l i n es t u d ya n de x a n 2i nl a r g e s c a l e t h i st h e s i sc o n s i s t so ff o u rp a r t s ,d i s c u s s e sf r o md e s i g np a t t e m ,t h e r e a l i z a t i o no ft h em a i nf u n c t i o no ft h ep r e s e n t a t i o nt i e r , t h ei n t e g r a t i o no f t h ep r o j e c tt ot h ee n t i r e l yp r o c e s so ft h eo p t i m i z eo ft h ep r e s e n t a t i o nt i e r a tt h eb e g i n n i n g ,t h et h e s i si n t r o d u c ew h a ti st h ed e s i g np a t t e m ,h o wt o u t i l i z et h ed e s i g np a t t e r nm a k er e u s a b l e ,s c a l a b l ea p p l i c a t i o ns y s t e m ,a n d t h er e a s o n a b l eu s a g eo ft h ed e s i g np a a e mi nd l i ss y s t e m a f t e rt h a t d i s c u s s i n gt h em a i nf u n c t i o no ft h ep r e s e n t a t i o nt i e r , a c h i e v i n g t h e s e c u r i t yo ft h es y s t e mb yf o r b i d d i n gt h es a m ea c c o u n t sl o g g i n gi nt h e s y s t e ma tm u l t i p l a c es i m u l t a n e o u s l y , t h ea g i l ea u t h o r i z a t i o nb yd y n a m i c c o n t r o l l i n go ft h ep e r m i s s i o n t h ei n d i v i d u a le x a m i n a t i o ns u p p o s e db y m u l t i m e d i at e s tq u e s t i o n s ,a n dt h ec o n v e n i e n to p e r a t i o ns u p p o s e db y 【f 北京邮电大学硕士研究生论文 作业和考试系统中表示层的设计实现与优化 n a v i g a t i o nb a rb a s e do nt h ex m ld i r e c t o r yt r e e a n dt h e n ,d i s c u s s i n gt h e i n t e g r a t i o no ft h es u b p r o j e c t ,t h ed e s i g na n dt h er e a l i z a t i o ns c h e m eo f t h i si n t e g r a t i o n ,a n dt h ep r o b l e ma n dt h em e a s u r ei nt h ei n t e g r a t i o n a t l a s t ,d i s c u s s i n gt h es y s t e m sp e r f o r m a n c et u n i n gi nt h ea s p e c to fd e s i g n a n dt h ep e r f o r m a n c e ,a n a l y z i n gt h er e a s o no ff o r m i n gt h eb o t t l e n e c ko f t h ep e r f o r m a n c e ,f a r t h e r , f i n d i n gt h em e t h o d st or e s o l v et h e s eq u e s t i o n k e yw o r d s :j 2 e ed e s i g np a t t e r n p r e s e n t a t i o nt i e r p r o j e c ti n t e g r a t i o n o p t i m i z a t i o n i i i 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文巾4 、 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机掏的学位或证书而使用过的材料。与我一同工作的同志对本研究所敞的他 阿贡献均己在论文中作了明确的说明并表示了谢意。 申请学位论 本人签名: 处,本人承担一切相关责任。 日期:型! :垒:! 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的觇定,即: 研究生在校攻读学位期矧论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅:学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定j 保密论文注 文注释:本学位 本人签名: 导师签名: 密在一年解密后适用本授权书。非保密沦 适用本授权书。 日期: 同期: 刃、4 少 r ,4 , 匕京邮电大学钡十研究生沦文作业和考试系统中表吖:培的设讣艾现优化 t 1 论文背景 第一章绪论 在网络技术逐渐渗入社会生活各个层面的今天,传统的教育方式和考试方式 也面临着变革,网络考试是一个很重要的方向。网络教育是推动我国教育规模的 主要动力,网络教育也是网络技术最重要的应用领域之一。 现代远程教育利用的是现代教育手段,通过网络将内容以数据的形式传送刮 学生的设备上,这些内容包括视频、音频、图片、文字等。同时,也用上述形式 接受学生的问题,并进行回复。网络在教育资源和学生之间架起沟通的桥梁,这 样学生就可以实时或非实时地接受教育。与传统的广播教学、电视敦学等远距离 教学不同,现代远程教育以素质教育和灵活多样的个性化发展为教育目标,用网 络形式进行教学活动。学生能够登陆网络,就可以不受时间、地点的限制接受教 育。现代远程教育将现行的常规教育和传统教育相融合,逐步成为与信息社会发 展相适应的教育形式。 基于w e b 技术的网络考试系统可以借助于遍布全球的因特网进行,因此考 试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以 根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试 题,从而使用计算机判卷,大大提高阅卷效率:还可以直接把成绩送到数据库中, 进行统计、排序等操作。 作业和考试系统是“十血”国家科技攻关计划一一网络教育关键技术及示范 工程项目组下的一个子课题,该课题是开发一个与课件联系紧密和基于w e b 的 多媒体作业管理工具和考试管理工具,将支持大规模的在线作业和考试。 1 2 课题的技术理论背景 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的体系结构,这种体系结构 可以解决开发、部署和与管理相关的复杂问题。j 2 e e 的最终目的就是能够使企 业丌发者大幅缩短投放市场时间。 12 1j 2 e e 的优势 j 2 e e 为搭建商务系统提供了良好的机制,具有可伸缩性、灵活性、易维护 性等优点,具体表现如下: 北京邮电大学硕七研究生论文作业和考试系统中表示层的设计实现与优化 1 保留现存的i t 资产 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而 不是重新制定全盘方案就变得很重要。这样一个以渐进的方式建立在已有系统 之上的服务器端平台机制是公司所需求的。j 2 e e 架构可以充分利用用户原有。的 投资,如一些公司使用的b e at u x e d o 、i b mc i c s 、i b me n c i n a 、i n p r i s ev i s i b r o k e r 以及n e t s c a p ea p p l i c a t i o ns e r v e r 。这之所以成为可能,是因为j 2 e e 拥有广泛的 、业界支持和一些重要的”企业计算”领域供应商的支持。每一个供应商部对现有的 客户提供了不用废弃已有投资,进入可移植的j 2 e e 领域的升级途径。由于基于 j 2 e e 平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统 和硬件也能被保留使用。 2 高效的开发 j 2 e e 允许公司把一些通用的、繁琐的服务端任务交给中间件供应商去完成。 这样丌发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时削,高 级中f 日j 件供应商提供以下这些复杂的中间件服务: 状态管理服务一让开发人员写更少的代码,不用关心如何管理:淡念,这 样能更快地完成程序开发。 持续性服务一让开发人员不用对数据访问逻辑进行编码就能编写应用程 序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更踢于r f 发与维护。 分布式共享数据对象c a c h e 服务一让开发人员编制高性能的系统,极 大提高整体部署的伸缩性。 3 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不依 赖任何特定操作系统、中叫件、硬件,因此设计合理的基于j 2 e e 的翟序只需: 发一次就可部署到各种平台,这在典型的异构企业计算环境中是十分关键的。 j 2 e e 标准也允许客户订购与j 2 e e 兼容的第三方的现成的组件,把他们部署到异 构环境中,节省了由自己制定整个方案所需的费用。 4 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性,去 满足要在他们系统上进行商业运作的大批新客户的需求。基于j 2 e e 平台的应用 程序可被部署到各种操作系统上,例如可被部署到高端u n i x 与大型机系统。这 种系统单机可支持6 4 至2 5 6 个处理器,这是n t 服务器所望尘莫及的。j 2 e e 领 域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈允许多台服 北京邮电大学颂十研究生沦文作业和考试系统中表示层的设汁奠现与优化 务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未束 商业应用的需要。 5 稳定的可用性 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要,凶 为i n t e r n e 是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重 损失。若是意外停机,那可能会有灾难性后果。j 2 e e 被部署到可靠的操作环境 中时,它们支持长期的可用性。一些j 2 e e 可以被部署到w i n d o w s 环境中,。骞 户也可选择健壮性能更好的操作系统如s u ns o l a r i s 、i b mo s 3 9 0 ,最健壮的操作 系统可达到9 9 9 9 9 的可用性或每年只需5 分钟停机时间。 1 22j 2 e e 和_ n e t 的比较 在论文的开始阶段,我除了全面了解j 2 e e 和数据库的各种技术之外,还密 切注意市场上最新的技术动态,当前面向企业的系统解决方案主要由两种:n e t 和j 2 e e 。下面对这两种技术进行比较。 1 技术概观 在表现形式上,j 2 e e 是一组舰范,而,n e t 更象是一组产品。但它们的目的 都是为了企业应用提供分布式的、高可靠性的解决方案。它们在架构上有着很多 的相似之处。 2 技术比较 1 ) 一对多 微软的n e t 的平台提供了象c # 、v b n e t 、c o b o l 等多种丌发语言,c # 是新的,而其他的每一种语言都是在原有的基础上改造而来,c o b o l 等语言先 天的缺少面向对象的内涵,现在变成了面向对象的语言,这对传统的程序员来说 就会比较困难。基于面向对象的软件分析、设计、开发、测试是完全不同于基于 传统过程性语言的质变,所以这一过程的转变对传统程序员来讲也是一个痛苦和 漫长的过程。对于传统程序员,微软看似提供了多种解决方法,但对于实际问题 而言,却缺乏实用性。所以一个简单的办法就是:直接使用c 牟。对于独立软件 开发商柬讲,其转换成本不容忽视。其次,如果在一个软件项目中使用多种语- l - 丌发商必须同时捐j 有多种语言专家和多个独立的而又难以互相交流的丌发小组 所以,这也使其软件的维护成本以非线性的曲线增长。 2 ) 跨平台 跨平台是j 2 e e 的最大特点,微软的跨平台解决方案是w e bs e r v i c e s ,它解 决的是异种平台上不同应用之间的连通性问题。从技术角度讲,它只是以x m l 为介质,并没有什么其他创新。 北京邮电大学颁十研究生论文作业和考试系统中表永培的设计实现与优化 w e bs e r v i c e s 解决的是异构平台上服务连通性的问题+ 但在现实中所更迫切 需要的是如何在异构的平台上构造具有可扩展性,高可靠性,高可用性,故障冗 余,错误恢复能力的企业应用。如果缺少这一点,那么从结构上讲n e t 平台 还远未完善。 3 ) 中间层和表示屡 在基于组件的中间层和表示层的设计上,两种架构各有特点,它们对于创建 分布式的,复杂的,高效的,高可靠性的应用程序都有着足够的能力。 4 ) 数据访问 j 2 e e 和n e t 已不同的形式支持数据的访问。在j 2 e e 中,j d b c 和a d o 一 样,和所连接的数据库无关,并且通过连接、命令语句和结果集来对数据进行操 作所以属于中间层次的a p i 。更高一级的数据封装和数据管理是通过实体e j b ( e n t i t ye j b ) 来完成的。基于容器管理的实体e j b 使开发更快捷,管理更方便。事 实上,由于实体e j b 的l o a d ( ) 和s t o r e ( ) 方法的同步机制,将大大缓解因并发而使 数据库产生的瓶颈。当然也可以采用不属于j 2 e e 规范的第三方数据访问工具, 象w e b g a i n 的t o p l i n k 。 而微软的n e t 的数据访问工具则由基于x m l 的a d o n e t 代替了基于 c o m 组件的a d o 。任何以l 为输出的数据源都可以作为a d o n e t 的数据 源。相应的结果集升级为数据集( d a t a s e t s ) ,命令语句则升级为数据集命令 ( d a t a s e t c o m m a n d s ) 。从形式来看,微软的a d o n e t 这种基于x m l 的特性使 其可以处理极其丰富的数据源,并且,因其构架在h t t p 协议之上,易于穿透防 火墙,使沟通更为便利。但由于x m l 本身的基于标记的特性,很明显限制了在 有超大数据量和有网络瓶颈时的应用。虽然j 2 e e 的数据访问规则显得略有些荜 薄,但同时却更简单,更有效。并且通过对应用程序有效的层次设计,对于数据 库和基于x m l 的数据源的访问,也可以无缝的整合。 总起来说,就企业而言,内部众多系统的整合、系统的延展性、安全性是更 需要注意的议题,而这些都是j 2 e e 的优势,也是微软的不足处。在效率方面, j 2 e e 阵营主张通过硬件的效能增加来弥补软件的不足。开放标准,功能强大, 易于移植这些都是j 2 e e 的优势。 综合考虑n e t 和j 2 e e 。作业和考试系统采用了j 2 e e 技术。 1 3 系统实现方案的确定 在明确具体的研究工作以后,我们根据研究的需要,利用实验室提供的环境, 搭建一个小型的网络环境作为丌发试验平台,图1 1 为作业和考试系统网络结构。 北京邮电大学硕士研究生论文作业和考试系统中表示层的设计实现与优化 图1 1 作业和考试系统网络结杜j 幽 丌发j 2 e e 应用要求目标开发人员能够掌握其中的各种技术。但是,现实情 况不是这样。作为一个团队,每个人都有自己不同的技能优势、兴趣以及悟性。 同时,j 2 e e 本身需要体现社会分工,这种情况下,我们的丌发团队按照j 2 e e 的 架构( 如图1 2 ) 进行分工,主要包括三层:表示层( w e bt i e r ) ,对应图中的w e b 组 件层;应用层( a p p l i c a t i o n t i e r ) 对应图中的业务逻辑层;数据层( d a t a t i e r ) ,对应图 中的e i s 层。面对这种分工,团队更要注重沟通、交流,注重代码的一致性。 浏t2j 2 e e 的架构幽 一般情况下,团队要尽量采用版本控制工具管理代码、尽量做到每天都有一 个完整的运行版本。经过一段时间,团队都会适应这种开发模式。其中,版本控 北京邮电大学颁+ 研究生沦文 作业和考试系统中表求j 丢的设计灾王地与优化 制工具一定要使用,便于代码的管理、控制和备份。这其中会牵扯至0 很多层面。 比如,丌发工具的选择要考虑到版本控制工具的使用、建模工具的合理使用有助 于团队有效的沟通和交流。 基于现有的开发模式,我们采用r a t i o n a lr o s e 作为建模工具、采用j b u i l d e r 作为 d e 工具、采用c v s 作为版本控制工具、采用w e b l o g i c 作为丌发j 2 e e 应 丰jj :发阶段的服务器。 其中我前期阶段( 2 0 0 2 + 9 2 0 0 3 6 ) 参与的工作主要是服务器端表示层的没计与 丌发;后期阶段( 2 0 0 3 6 2 0 0 4 1 2 ) 参与了d a o 层的开发、总体项目集成、子项目 集成、平台移植以及演示环境的搭建。期间还参与了实验室另外两个项目( 教育 部网上办公系统与科技部“缩小数字鸿沟一西部行动”项目管理系统1 中的设计 与研发工作。最后作者就研究生期间项目研发过程中的实践经验整理成沦文与大 家分享。 北京邮电大学顺十研究生沧文 作业f 【i 考试系统中表小层的没讣实现与优化 2 1 什么是设计模式 第二章设计模式 设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难。你 必须找到相关的对象,以适当的粒度将它们归类,再定义类的接口和继承层次, 建立对象之问的基本关系。你的设计应该对手头的问题有针对性,同时对将来的 问题和需求也要有足够的通用性。你也希望避免重复设计或尽可能少做重复设 计。有经验的面向对象设计者会告诉你,要一下子就得到复用性和灵活性好的砹 计,即使不是不可能的至少也是非常困难的。一个设计在最终完成之前常要被复 用好几次,而且每一次都有所修改。 有经验的面向对象设计者的确能做出良好的设计,而新手则面对众多选择无 从下手,总是求助于以前使用过的非藏向对象技术。新手需要花费较长时i b j 领会 良好的面向对象设计是怎么回事。有经验的设计者显然知道一些新手所不知道的 东西,这又是什么昵? 内行的设计者知道:不是解决任何问题都要从头做起。他们更愿意复用以前 使用过的解决方案。当找到一个好的解决方案,他们会一遍又一遍地使用。这些 经验是他们成为内行的部分原因。因此,你会在许多面向对象系统中看到类和相 互通信的对象的重复模式。将一类不断重复发生的,类似的问题以及该类问题的 解决之道总结出此类问题的共同点并抽象成一定的描述及规范,以便此类遇到此 类问题无需再做过多的考虑, 直接使用已经总结好的解决之道称之为模式这些 模式解决特定的设计问题,使面向对象设计更灵活、优雅,最终复用性更好。它 们帮助设计者将新的设计建立在以往工作的基础上,复用以往成功的设计方案。 一个熟悉这些模式的设计者不需要再去发现它们,而能够立即将它们应用于设计 问题中。 设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将己证实 的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式 帮助你做出有利于系统复用的选择,避免设计损害了系统复用性。通过提供一个 显式类和对象作用关系以及它们之间潜在联系的说明规范,设计模式甚至能够提 高已有系统的文档管理和系统维护的有效性。简而言。之,设计模式可以帮助设计 者更快更好地完成系统设计。 一般而言,一个模式有四个基本要素: 北京邮电大学颁七研究生论文作业和考试系统中表永层的设计实现与优化 1 模式名称( p a t t e r nn a m e ) 一个助记名,它用一两个词来描述模式的问题、解 决方案和效果。命名一个新的模式增加了我们的设计词汇。设计模式允许我们住 较高的抽象层次上进行设计。基于一个漠式词汇表我们自己以及同事之问就r j 丁 以讨论模式并在编写文档时使用它们。模式名可以帮助我们思考,便于我们与其 他人交流设计思想及设计结果。找到恰当的模式名也是我们设计模式编码l 二作的 难点之一。 2 问题( p r o b l e m ) 描述了应该在何时使用模式。它解释了设计问题和问题存 在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可 能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必 须满足的一系列先决条件。 3 解决方案( s o l u t i o n ) 描述了设计的组成成分,它们之间的相互关系及各自 的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决 方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎 样用一个具有一般意义的元素组合( 类或对象组合) 来解决这个问题。 4 效果( c o n s e q u e n c e s ) 描述了模式应用的效果及使用模式应权衡的问题。尽 管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解 使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空阳j 的衡量, 它们也表述了语言和实现问题。因为复用是面向对象设计的要索之一,所以模式 效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对 理解和评价这些模式很有帮助。出发点的不同会产生对什么是模式和什么不是模 式的理解不同。一个人的模式对另一个人来说可能只是基本构造部件。本书中我 们将在一定的抽象层次上讨论模式。设计模式并不描述链表和hash 表那样 的设计,尽管它们可以用类来封装,也可复用;也不包括那些复杂的、特定领域 内的对整个应用或子系统的设计。本书中的设计模式是对被用来在特定场景下解 决一般设计问题的类和相互通信的对象的描述。 一个设计模式命名、抽象和确定了一个通用设计结构的主要方面,这些设计 结构能被用来构造可复用的面向对象设计。设计模式确定了所包古的类和实例, 它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向 对象设计问题或设计要点,描述了什么时候使用它,在另一些设计约束条件下是 否还能使用,以及使用的效果和如何取舍。 2 2 用户界面设计模式 22 i 用户界面设计原则 北京邮电大学硕七研究生沦文 作业和考试系统巾表示崖的设计戈现与优化 用户界面向用户提供使用软件系统的命令以及软件系统运行的反馈信息。j e f 户界面设计质量的好坏会对软件系统的可用性产生很大影响,例如积极或消极地 影响用户情绪、洞察力等因素。 用户界面的需求通常由系统用户提出,因而用户界面地需求分析、设计与奂 现过程应泼遵照以用户为核心地原则。设计用户界面的丌发人员必须熟悉平 】,蝌 软件系统的用户,包括用户的受教育程度、工作经历、兴趣爱好、时侧亢倍艘、 特殊要求等,根据用户的特点确认用户对人机交互的需求。 用户界面设计中的优先级是:首先以软件系统的用户为核心,其次考虑软件 系统应完成的任务,最后才考虑实现用户界面所采用的软件工具。 2 2 ,1 i 最少的用户记忆曩 相对于输入命令串而言,采用下拉式菜单、二维表浏览器、浯法剖导编辑嚣 等人机交互形式可为用户带来很大方便。 用户界面的任何位置都应提供联机帮助信息。联机帮助系统应该是上下文敏 感的,并提供相关帮助信息的交叉索引。使陌生用户能快速理解系统功能井 掌握基本操作。 用户应在屏幕上可观察到当前状惫的可用操作。应用程序还应该提供当时乐 统运行状态的各种信息供目户参考: 采用图标取代文字是减少记忆、方便用户的有力措施。 2 2i 2 简便的操作方式 应用程序应尽量提高常用操作的执行速度。 用户界面应根据用户需求提供一种缺省情况下的输入,这种缺省情况是取一 般通用的输入,并且在大多数情况下这种缺省设置会给用户操作带来方便。 要求用户输入数据或正文时,系统不应限制用户按照某种固定且难记的方式 进行录入工作,而应提供灵活、自由的输入格式,并且这种方式应眩为一般 用户所广泛理解。 2 2 1 3 友好的反馈信息 应用程序向用户提供的各种信息显示应该十分明确、清晰、友好。特别是当 系统正在执行需要用户耐心等待的操作时,系统应该进行提示,以免用户耳: 知所措。 应用程序对由于用户错误输入、计算机硬件故障等原因引起的异常情况应加 以提示说明。提示信息中应准确包含错误类型、出错位羲等,如有需要还可 以提示f 确的操作方法、恢复到错误产生前状态的方法等信息。 2 2 14 健壮的异常处理 当应用程序遇到异常发生时,应保护程序本身及数据一致性不受破坏。 北束邮电大学颁十研究生论文 作业和考试系统中表示层的设计实现与优化 如果某一种错误经常发生,那么这神错误很可能不是用户操作引起的错误, 而是软件系统本身或计算机硬件系统具有某类隐藏的错误。因此对经常发,e 的错误,用户或软件系统本身应该记录下错误发生的表面现象、程序位胃、 软件环境以及硬件环境等,以便反馈给软件系统设计人员或维护人员分析, 在错误发生的情况下系统数据或软件系统本身可能会受到一定的破坏。尤 其是执行一些错误的删除命令时,将会带来不可弥补的损失。为防止误操作, 执行这一类命令前应该让用户再次确认。 2 2 2 上下文敏感联机帮助 应用程序提供的联机帮助信息应该是上下文敏感的,并且易于在相关的帮助 信息之i 刮交叉索引。 2 2 2 1 帮助信息页面组织 上下文敏感联机帮助由一个负责根据当前上下文决定分支的j s p 中枢页面以 及众多的与各专题相关的h t m l 页面组成,这些h t m l 之问可通过链接实 现交叉引用。 为所有的联机帮助页面建立一个索引页面h e l p t o c h t m l ,从该索引页面出发可 链接到所有的帮助页面。 联机帮助页面采用专用的c s s 样式单,不使用应用程序统一采用的样式单, 2 22 2 实现上下文敏穰 在每一j s p 页面的 入口处检查用户操作权限合法性后,立即设 置用户会话对象中的上下文,上下文用一个字符串描述。 在j s p 中枢页面中添加上下文标识与一个联机帮助页面之间的映射关系。 作业和考试系统主页面如图所示: 北京邮电大学硕士研究生论文作业和考试系统中表示层的设计实现与优化 2 3j s p 页面设计模式 幽2 1 作业利考试系统土页面 2 3 ij s p 设计策略 采用j 2 e e 技术已成功分离应用系统的表示层与业务逻辑。 用户界面,程序员在实现表示层时仍有多种技术可选。 2 3 1 1w 曲应用目录组织 在系统开发阶段,所有j s p 页面的源程序,部署描述文件 样式等均存放在应用服务器的w 曲应用子目录中。 表示层是最终的 图像资源,c s s 在w e b 应用目录下开设i m a g e s 目录,存放w e b 应用使用的所有图像资源。 在w e b 应用目录下开设c s s 目录,存放控制显示风格的各种层叠样式单定义。 在w e b 应用目录下开设s c r i p t 目录,存放简单的j a v a s c r i p t 通用工具组件。 在w e b 应用目录下开设m e t a - i n f 目录,存放打包整个w e b 应用的部署描 述文件w e b x m l 和w e b l o g i c x m l 。在m e t a i n f c l a s s e s 目录中存放所有e j b 组件的客户端c l a s s 文件。 其余实现应用系统表示层的j s p 页面均存放在应用系统的w e b 应用目录中, 这些j s p 页面的程序包划分基本保持与系统功能菜单一致。 2 3 1 2 选择j s p 页面类型 北京邮电大学颂十研究生沦文作业和考试系统巾表水崖的设计。爻现与优化 如果应用系统的某一用户界面以表达业务数据为主,则用户界面应尽量直接 由j s p 程序自动生成。 如果应用系统的某一用户界面以静态页面模板为主,中间嵌入为数不多的 j s p 程序运行结果,则应使用j s p 定制的标签扩展库。 如果应用系统的某一用户界面完全是静念的页面信息,则应将该页面设汁为 纯h t m l 文档,以h t m l 为文件名后缀。 含业务逻辑生成数据的h t m l 文档部分如果需由j s p 程序生成,则浚部分应 完全由j s p 程序生成。 2 3 1 3 重用j s p 代码 采用j s p 编写的可重用代码可组织为j s p 子页面与j s p 方法集两类。 j s p 子页面常作为一个完整的h t m l 页面的组成部分。在生成父页面的j s p 页面中采用动态导入方式 重用j s p 子页面。 j s p 方法集是一些可用于在j s p 页面的 q b 调用的j a v a 方法的集 合。j s p 页面通常采用静态导入方式 j s p :d i r e c t i v e i n c l u d ef i l e = 胁重用j s p 方 法集。 2 3 14 页面参数传递 如果应用程序需要从一个j s p 页面转向另一个j s p 页面,建议采用提交表单 的隐藏字段方式传递参数,即在源j s p 页面中准备一个可提交给目标j s p 页 面的表单,然后在需要转向时往o u t 对象输出j a v a s c r i p t 脚本语句以提交该表 单。 从一个j s p 页面转向另一j s p 页面还可采用另一种参数传递方式:直接以带 参数的u r i 调用p a g e c o n t e x t f o r w a r d ( ) 方法。 不主张使用 或 加上 的形式来传递参数, 因为该方法要求转向动作只能放在程序最后,并且参数中无法使用同页j s p 程序中的其他变量或表达式值,在传递中文字符串参数时还会产生乱码,同 样必须让浏览器每次刷新才可正常工作。 负责接收转发请求的j s p 页面可用两种方式获取参数:如果该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国网山西电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题及答案详解1套
- 2026秋季国家管网集团湖南公司高校毕业生招聘4人考试备考试题(浓缩500题)及参考答案详解(培优)
- 2025国网山东省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题及答案详解参考
- 2025国网上海市电力校园招聘(提前批)笔试模拟试题浓缩500题附答案详解(考试直接用)
- 2026国网广西电力公司高校毕业生提前批招聘(约450人)笔试备考题库浓缩500题含答案详解(突破训练)
- 2026国网吉林省电力公司高校毕业生提前批招聘笔试参考题库浓缩500题及答案详解(新)
- 2026秋季国家管网集团甘肃公司高校毕业生招聘考试备考题库(浓缩500题)含答案详解(a卷)
- 2026秋季国家管网集团甘肃公司高校毕业生招聘考试备考试题(浓缩500题)及参考答案详解(巩固)
- 2026国网吉林省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题附答案详解(培优b卷)
- 2026秋季国家管网集团山东分公司高校毕业生招聘笔试备考题库(浓缩500题)附答案详解(达标题)
- 卡拉瓦乔课件
- YC/T 507-2014烟草测土配方施肥工作规程
- GB/T 38959-2020高强度钢强力旋压工艺规范
- GB/T 28382-2012纯电动乘用车技术条件
- GB/T 14619-2013厚膜集成电路用氧化铝陶瓷基片
- GB/T 13331-2014土方机械液压挖掘机起重量
- 《园艺植物生物技术》期末考试复习题及参考答案
- 计算机考试网页制作真题及答案
- 化工工艺流程图课件
- 05 03 第五章第三节 投身崇德向善的道德实践
- 荣誉证书模板范例可修改
评论
0/150
提交评论