在线测试系统框架中设计模式应用研究.docVIP

在线测试系统框架中设计模式应用研究.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在线测试系统框架中设计模式应用研究

在线测试系统框架中设计模式应用研究   摘 要: 指出使用设计模式设计和开发框架的必要性。分析若干设计模式在在线测试系统框架中的应用,总结在线测试系统框架的设计方法,给在线测试系统框架的设计提供指导。   关键词: 设计模式;在线测试系统;框架设计   中图分类号:F560 文献标识码:A 文章编号:1671-7597(2012)0610081-02   0 引言   本文描述了一个面向对象的在线测试系统框架,该框架运用了面向对象设计模式,构建形成了一个面向对象框架,使用一种常用的方法模型化了系统的复杂概念并详细描述了框架中层与层之间的协作关系。   1 设计模式与框架技术   模式(Pattern)概念是早在二十世纪七十年代由建筑大师Christopher Alexander提出应用于建筑领域的,Ward Cunningham和Kent Beck在八十年代中期将其思想引入到了软件领域。   设计模式方便复用以往成功的设计和体系结构,把它们用到框架中可以很好地吸收那些体现在模式中的宝贵经验,掌握设计模式可以使开发者对面向对象的设计思想有更深刻的理解。而且,这些模式可以直接指导面向对象系统中的关键建模问题,对于类似的问题背景可以直接套用。也就是说,使用设计模式能增强被包装类的复用程度,能够较好地应对需求变更,还可以减少类的藕合和依赖。   2 在线测试系统框架面对的问题   框架是可复用的半成品程序,对框架加以补充定制可以输出满足具体需求的应用。通用在线测试系统必须能适应系统业务逻辑的变化,能满足使用不同试题库的要求,而且界面也必须容易调整,才能适应不同用户要求。   因此我们有必要建立一个能减少分析设计工作,并能方便在其基础上复用和减少代码量的系统框架。   3 逻辑层设计   逻辑层是系统中需求最易产生变化的层。为较好地处理系统对象间存在的依赖关系,可以将其分为外观层、业务逻辑层、持久化层和实体层。   外观层的作用是隔离,目的是界面与功能的实现分开。   业务逻辑层处理业务规则和逻辑的实现。   持久化层为业务逻辑层提供数据访问服务。持久化层与数据库进行,实现数据增删改查。   实体层是业务数据各层间??递信息的数据集。   3.1 设计实体层   实体代表了业务对象在系统中的独立表达。简而言之:一个业务实体可以对应数据库表中一个或多个表,其属性基本取自这些表字段。   我们先定义测试数据类作为所有实体类的框架类,再添加一些方法,每个类的结构用XML文件表示。实体对象根据XML文件由构造器在运行时生成。这里使用了生成器设计模式和工厂方法设计模式。   生成器又名建造模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。有时候我们需要创建复杂对象算法,并使独立于该对象的构成部分以及它们的装配方式;有时候我们的构造过程需要允许被构造对象有不同的表示,这些情况都比较适合采用生成器模式。   工厂方法相对简单,而且应用很普遍。我们先定义一个创建产品对象的工厂接口,然后将实际创建动作延迟到子类里。核心工厂类不需要负责产品创建,它是一个抽象工厂角色,只负责具体子类必须实现的接口,这样抽象化的工厂方法模式可以使系统在不修改具体工厂角色的前提下引进新产品。工厂方法可以使类的实例化延迟到其子类。这样就不用把应用类绑定到代码中,降低了系统耦合度。   3.1.1 协作   用户登录后会生成考生对象,系统会把用户在线测试唯一标识通过消息传递给测试工厂类创建测试对象;测试对象包括规则编号,把规则编号传递给测试工厂创建出题规则对象,然后由测试对象(指导者)出题。生成器控制生成试卷。第一步按试卷的不同要求生成试题对象;第二步根据试题对象生成答题卡。   3.1.2 扩展   1)变更在线测试题目参数不可能每次都改源代码,改变数据库中记录来生成新的出题规则就可以了;如果新增了约束条件或算法,也只要从出题规则类中继承新子类就可以了,这里应用的是策略模式。   策略模式的应用也很常见。我们先定义一系列算法,同时将每个算法封装起来,并使它们可以相互替代。   策略模式适用的情况:多个类只区别在功能不同,需要在运行时动态决定要执行哪套功能;需要在不同条件时应用不同的算法(也就是策略),或者策略会在将来有所扩展;对客户隐藏具体算法细节。   2)修改测试形式需要编写新的出题规则类并修改测试工厂类的工厂方法。   3)新增测试科目意味着新题库,需要生成新的测试类,还要修改测试工厂类的工厂方法,与原规则对象组合形成新试卷对象。   3.2 Web层的设计   Web层与外观层的设计实现了MVC模式。MVC模式本来是应用于桌面应用的,其中三个字母分别代表数据模型、用户界面和控制器。M

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档