可信构件库的开发—构件检索 毕业设计论文.doc

上传人:小小飞 文档编号:3916858 上传时间:2019-10-10 格式:DOC 页数:45 大小:1.22MB
返回 下载 相关 举报
可信构件库的开发—构件检索 毕业设计论文.doc_第1页
第1页 / 共45页
可信构件库的开发—构件检索 毕业设计论文.doc_第2页
第2页 / 共45页
可信构件库的开发—构件检索 毕业设计论文.doc_第3页
第3页 / 共45页
可信构件库的开发—构件检索 毕业设计论文.doc_第4页
第4页 / 共45页
可信构件库的开发—构件检索 毕业设计论文.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《可信构件库的开发—构件检索 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《可信构件库的开发—构件检索 毕业设计论文.doc(45页珍藏版)》请在三一文库上搜索。

1、 毕业设计(论文)题目名称:可信构件库的开发构件检索院系名称:软件学院班 级:软件工程085学 号: 学生姓名: 指导教师: 可信构件库的开发构件检索the Development of Reliable Component LibraryComponent Retrieval院系名称:软件学院班 级:软件工程085学 号: 学生姓名: 指导教师: 2012年 5 月摘要软件危机和软件工业化进程促生了软件复用技术。基于构件的软件开发方法,可以提高软件生产率,是解决软件危机,推进软件工业化进程的有效途径。本文分析的是基于可信软件技术的构件库管理系统的研究。通过构件的规范性描述对构件进行整体性约束

2、,并确定系统整体设计方案,完成对构件库的搭建,构件的存储,构件的检索等相关技术的研究。而构件检索技术是基于构件的软件开发核心技术。良好的构件检索技术能够缩短软件复用的周期,提高软件复用的效率,降低软件复用的成本。因此,为基于构件的软件开发流程创建有效的构件检索方法具有积极的意义。系统所用关键技术有C/S架构设计、XML数据存储、JAXB映射、XQuery查询、深度优先检索、广度优先检索、受控词汇检索等技术,基本实现了构件库管理系统的开发。 本文重点阐述了系统中构件检索算法的研究设计以及构件检索的实现。关键词:深度优先;广度优先;构件检索; XQuery查询AbstractThesoftware

3、crisisandthesoftwareprocess of industrializationgrowth promoting software reuse. Component-basedsoftware development methodscanimprove software productivity, and is the effective way to solve thesoftware crisis, topromotethe process of industrialization of thesoftware.The paper analyzes an reliabili

4、ty-based component library management system.Through the normative description on the components can constraint it integrated, and determine the design of the overall system, then complete the structures of the component library, component storage, and retrieval of the components technology, etc.How

5、ever, component retrieval technology is the core technology software development component-based. A good component retrieval techniques can shorten the cycle of software reuse, and improve the efficiency of software reuse, what more, it can reduce the cost of software reuse at the same time . Theref

6、ore, in order to create an effective component retrieval software development process component-based has a positive meaning. The key technology used in the system includes C/S architecture, XML data storage, JAXB mapping, XQuery, Depth first search, Breadth first search, controlled vocabulary seach

7、 technology , etc. And realized the design of the component library management system.The article focuses on the system are the component retrieval algorithm design and the implementation of component retrieval.Key Words: Depth first;Breadth first;Component retrieval;XQuery;目录摘要IAbstractII目录III第1章 概

8、述11.1 研究背景和意义11.1.1 项目背景11.1.2 项目意义21.2 相关研究现状21.3 本文的主要研究工作31.4 本文的组织结构4第2章 构件库及构件检索理论研究与分析52.1 构件的概念52.1.1 构件定义52.1.2 构件库52.2 构件的存储62.2.1 构件的存储方式62.2.2 构件库的存储对象分析72.3 构件的检索82.3.1 构件检索过程82.3.2 构件检索算法分析9第3章 构件检索子系统的设计133.1 总体设计133.1.1 系统功能结构133.1.2 构件检索方法设计143.1.3 检索信息的提交及系统检索流程设计143.2 普通检索设计153.2.1

9、 构件检索的评价标准163.2.3 广度优先检索163.2.4 深度优先检索173.2.5 构件检索结果计时器183.3 XML查询语句XQuery19第4章 系统实验及性能优化204.1 系统运行环境及配置204.2 系统实验及分析204.2.1 实验数据来源204.2.2 实验方法204.2.3 实验结果分析214.3 系统检索性能优化214.4 系统运行界面说明22第5章 总结与展望235.1 总结235.1.1 收获235.1.2 存在的问题235.2 展望未来23参考文献25致 谢26附 录27附录A: 主要源程序27附录B: 系统界面示例31 39 第1章 概述本章节将从项目研究背

10、景和意义讲起全面概述系统的研究设计和开发,对本文章进行整体架构。近年来随着面向对象技术的发展,以及CORBA、J2EE等工业标准的出现,大大刺激了构件技术的发展1。随着软件复用实践的深入和时间的推移,企业内部积累的构件将越来越多、企业外部对构件的需求也越来越多。Internet和Web技术的成熟,使得企业或组织的构传库实现基于Internet的共享成为可能和必然17。在Internet技术下如何实现构件库对构件的有效管理和检索,成为研究的重点,以便为构件复用实践提供技术支持。1.1 研究背景和意义1.1.1 项目背景软件复用(Software Reuse)是一种由预先构造好的、为复用目的而设计

11、的软件构件来建立或者组装软件系统的过程。它的基本思想是在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件构件(Software Component)是抽象程度最高的复用,是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现只用接口提供服务。通过建立可复用构件库可使软件开发商快速高效地从一,个成功项目中开发出相关领域的类似项目,充分节省开发成本。建立构件库管理系统可以对构件进行有效的组织和管理,其中构件库管理系统主要涉及构件的完整性描述、构件库的搭建、构件的存储和构件检索。构件的存储主要解决构件在构件库中的存储方法和数

12、据结构, 是实现一个有效的构件库的前提;构件库的搭建主要解决构件的分类和入库;构件检索主要是为了用户准确快速地检索到目标构件然后用于再工程等,其中需要重点解决的是构件的检索2。然而,即便软件复用思想已经深入人心,虽然业界或者学术界已经存在大量的CBSD概念、方法和工具,并且在实践中能见到许多成功的例子,但是软件产业并没有完完全全走进CBSD规范的开发过程中。有文献表明2,大规模的软件成本下降和软件质量的提高在现存的基于构件的软件生成的帮助下并没有得到体现,作为子产业的软件构件也没有形成,CBSD还远未被当成一种真正的软件工程实践方法。1.1.2 项目意义本文详细介绍了构件库管理系统的设计与实现

13、,主要分为构件库及构件检索理论研究与分析,构件检索子系统的设计,系统实验及性能优化,总结等部分。通过一系列详细的研究学习,笔者对构件领域有了很深的理解。本项目是在参照很多已投入运营的构件库系统如863构件库系统、上海构件库等基础上设计开发的。1.2 相关研究现状软件复用技术在国内外经过多年的研究,导致了一批有特色的构件库系统的产生。在国外,比较有名的构件库系统有REBOOT构件库、Agora构件库、和IBM RSL系统16。其中REBOOT构件库采用了刻面分类的方法,定义了Abstraction、Operations、Operates on、Dependencies四个刻面对构件进行描述,主要

14、针对源代码级别的构件15。Agora构件库的搜索引擎是CMU SEI开发的一个构件搜索引擎,它的主要特点是基于Intrnet互联。Agora通过对Web页面的搜索来获取构件的信息,对这些构件信息的管理与普通的搜索引擎一致15。Agora搜索的构件种类有限,局限于流行的JavaBeans、ActiveX和COBRA等商业构件上。IBM公司研发的RSL(reuse library)系统结合了刻面和关键词分类方法对构件进行描述,通过多种分类方法的综合运用提高检索效果。 近十年来,国内对软件复用也进行了广泛的研究。其中北大青鸟构件库系统具有代表意义。青鸟构件库系统采用以刻面为主,关键词、属性、超文本结

15、合使用的分类方案。构件的基本刻面包括环境、应用领域、功能、层次、表示方法。使用者可以用刻面和属性的检索组合,层次地浏览和检索,并逐步求精。此外,使用者还可以通过系统提供的反馈机制选取辅助分析。上海构件库则是国内运营较为成功的一个构件库,它的出现为上海软件企业实现由传统开发方式向软件工厂模式的转变提供了良好的公共基础设施。 构件检索是指软件复用者根据其自身的需求,通过软件构件库管理系统所提供的查询手段,提出查询请求,并获得系统返回的构件的过程。从软件复用思想的提出开始,构件检索方法的研究工作已经持续了几十年。尤其在上世纪的90年代,学者们提出了很多不同的构件检索方法,但是始终没达到一个令人满意的

16、检索效果。随着互联网技术的高速发展和Java等面向对象语言的流行,对构件的复用研究又提出了新的要求。构件检索技术始终是构件复用的一个研究热点。 以上是国内外对构件复用技术研究的一些显著成果。与构件检索相关的技术将在第2章中做详细的综述。1.3 本文的主要研究工作构件检索技术涉及三个方面,它们分别是构件描述,构件存储,构件分类和构件检索。构件检索技术的关键在于构件的形式化表示与软件复用需求的形式化表示。由此引出了构件检索技术的难点如何使构件复用者能够从构件库系统描述构件的角度去理解构件,并且用构件库能理解和处理的形式来描述复用者对构件的需求。关于构件检索,很多学者对各种各样的方法进行了归类。比较

17、流行的有以下几个:Frakes等把构件检索分为基于图书馆和信息科学索引检索方法,基于知识库的检索方法和超文本的检索方法10。H Mili等则提出构件检索方法可以归纳成基于人工智能、基于超文本、基于图书馆科学和信息科学和基于形式化规约等四种检索方法12。O khayati则提出了基于内部索引检索、基于外部索引检索、基于结构匹配的检索和基于行为匹配的检索四种检索类型11。总结前人的研究,他们大体上把构件检索方法分成六大类,它们分别是:基于信息科学检索方法、基于描述性说明的检索方法、基于构件运算语义的检索方法、基于构件指称语义的检索方法,基于拓扑检索方法和基于构件结构的检索方法。目前广为使用的刻面分

18、类方法能够对构件的分类与检索作出很好的支持。基于刻面的分类虽然提供了多角度对构件进行描述,并且刻面的树形结构在XML技术的帮助下能很好地对构件进行表示,但是由于复用者存在对领域知识的缺乏和刻面术语描述的严格性,复用者和计算机对构件的理解的一致性问题仍然没有很好的解决。针对这个问题,本文提出了一种基于描述性说明的构件检索方法。通过学习和研究以上六类系统检索方法,特就基于描述性说明的构件检索方法进行了系统性的研究。基于描述性说明的方法通常是对用户的检索请求(通常是关键字请求)和构件的描述性说明(通常由一组结构化的说明性术语或关键字组成)进行匹配。这个方式可以被认为是信息科学检索方法的一个特例,而其

19、特别之处在于基于描述性说明的方法通常是基于受控词汇表的。同时这种检索方式由于易于实现并且效果不错,目前广为使用。所以本文把它单独作为一个大类讨论。由于构件本身与构件描述是独立的两类实体,因此需要通过人工对其进行关联。通常的做法是,专家根据构件库的领域特征设定一系列关键词,构件库管理员在构件入库的时候对构件进行索引3。 在基于描述说明中,被讨论得最多的方法是基于刻面的构件检索方法。Prieto等人最先在14中提出了基于刻面的构件检索方法。他们指出,由于简单的关键字描述是非结构化的,构件间的公共特性不能统一。并且,构件间的特殊关系也不能在构件库的组织过程中显示出来。有鉴于此,他们在文中为构件提出了

20、功能,实体类型,媒介、系统类型、功能区域和设置这六个刻面。对于每个刻面,作者又设定一系列的术语与之对应(如系统类型:windows xp,unix,linux等)。术语是受控的,同时也仅限于描述给定的刻面。术语间有如同义词等的特殊关系,从而形成结构化的术语空间。自从基于刻面的方法提出以后,很多研究在刻面的基础上展开。Boerstler在13中提出了一种面向特征的检索方法。该文指出,构件是由一些特征来进行区别的,通过一系列刻面和术语,可以给构件定义其独有的特征。复用者根据特征这个概念,对目标构件的理解会更准确,进而提高检索的精度。基于知识的构件检索在某种程度上也属于基于描述性的检索方法,这是因为

21、知识的核心语义也是基于自然语言字符串的语义12。由于存在着推理的过程,基于知识的描述形式化程度比关键字和刻面都要高。构件检索时,根据用户提出的各种要求,生成系统内部的提问形式,推理机便根据提问形式求出结果并显示给用户。典型的例子有Murray Wood的15。本文综合各种构件检索方法的特点以及本系统实际需要,把基于描述性的构件检索方法细分为深度优先检索、广度优先检索、XQuery查询、受控词汇查询等四类检索方法。1.4 本文的组织结构全文共5章,第l章为概述,介绍研究课题的背景和意义,软件构件检索在国内外的研究现状以及本文的研究工作。第2章介绍了构件库及构件检索技术的相关理论,包括构件定义,构

22、件库概述,构件分类和描述技术以及构件检索技术等。第3章介绍了构件库系统中的构件检索模块具体设计和实现。第4章主要是对系统进行实验分析并对系统性能进行优化。第5章对系统进行整体总结并得出结论,一方面总结已完成的任务,另一方面也对为完成的任务进行分析,同时明确在系统设计和开发过程中存在的问题,也对构件领域的未来进行了展望。第2章 构件库及构件检索理论研究与分析本章节将详细讲述构件库及构件检索的相关理论研究,对构件确定明确的定义,使构件库及构件存储过程清晰明了,最后对构件检索过程进行比较分析。2.1 构件的概念2.1.1 构件定义软件构件是可被用来构造其他软件的软件组成成份,它可以是被封装的对象类、

23、类树、一些功能模块、软件框架(或体系结构)、文档、分析件、设计模式等9。广义上将,只要是软件系统中可以明确识别的、可被他人复用的成份,就可以称为软件构件。一般来说,具有相对独立的功能和可复用价值的软件成份都可被称为可复用构件,可复用构件不但包括源程序而且还包括在软件生产过程中各个阶段的成品,如项目计划需求定义、分析模型、设计模型、文档、测试案例和数据以及其他对开发活动有用的信息等,它可以是从旧的软件中提取的也可以是专门为了复用而开发,可复用构件应该具备几个基本要素:(1) 有用性(Usefulness):构件必须提供有用的功能;(2) 可用性(Usability):构件必须易于理解和使用;(3

24、) 质量(Quality):构件及其变形必须能正确工作;(4) 适应性(Adaptability):构件应该易于通过参数化等方式在不同语境中进行配置;(5) 可移植性(Portability):构件因能再不同的硬件平台和软件环境中工作。2.1.2 构件库构件库是可重用软构件的集合,是一个包括人员、工具和过程的组织,主要目的是提供软件生存周期产品的重用机制以满足特定的软件代价效益和生产率的目标,并作为开发可重用构件和基于可重用构件开发这两个生存周期的联系体系。具体地说,构件库就是类似于用来存储、检索和管理构件的数据库,是开发可重用构件和使用可重用构件的中间媒介10。构件库一般管理流程如图2-1所

25、示。图2-1 构件库一般管理流程构件库管理系统CLMS(Component Library Management System)是为构件库的建立、使用和维护而配置的应用软件。文献11中提到的构件库管理系统通过构件库存储构件、提供可重用的软件资源。CLMS对构件库进行统一的管理和控制,承担着构件库的维护工作,保证构件库的安全性和完整性。重用者使用各种构件库管理命令查询利用构件、控制构件的执行,通过构件库管理系统使用各类构件将更加方便。2.2 构件的存储2.2.1 构件的存储方式构件库的构件存储系统可叹采用多种方式:面向对象数据库OODBSMS、关系数据库RDBMS和文件系统Files6。OODB

26、SMS其有存储数据量大、易于维护、易于扩充、易于格式动态变动等优点,但它目前尚无成熟产品,龙其在标准化和性能上令人不满意,并且有些构件又不支持OO(面向对象)技术,因而OODBSMS不能满足构件库对构件的存储要求。相比之下,关系数据库RDBMS具有就存储和管理大量数据的高效性、理论的严密性和技术的成熟性,它不仅可以支持存储不同的数据类型和负责的数据结构,而且能够表示结构化的数据,可以方便地表达出数据之间的关系,并且还可以提供多种线索进行查询,具有很高的查询效率,所以是构件存储系统的首选。但是,在实际应用中,构件的结构极其复杂,存在形式多种多样,且构件的体积可以能大,这与关系数据库多所保存的数据

27、项一般都有尺寸限制,不宜过大的要求不相符合,所以仅用RDBMS来存储构件是显然可能的,但是又不够的。另一种可用来存储构件的是文件系统Files。Files系统的存储特点是存储容量大,对存储的数据体积无限制,且可以存储多种不同形式的构件。这点刚好符合对构件存储的要求。但Files不利于大量数据的存储,因为它的查询效率低,缺少有效快捷的检索途径,查找构件不方便。因此,文件系统Files也不完全符合对构件存储的需要。综合上述几种存储方式,本系统采用XML对构件信息进行存储,而采用文件系统对构件本体进行存储。之所以使用XML的一个重要因素是,XML在数据表示方面极具灵活性。它可以表示关系数据库里很难表

28、示的数据结构,刚好符合构件相关描述信息。在某些情形下,原生的XML数据库可以解决一些关系数据库不容易解决的问题,比如XML特有的XQuery操作,它类似于SQL查询语句,能够快速准确地对XML数据进行查询。而构件本体一般所占存储空间比较大,适合用文件系统进行存储。2.2.2 构件库的存储对象分析在研究完构件和构件库的具体定义之后,本项目下一步的目标是研究构件的存储,并设计建立合理的存储模型。构件库中的存储对象包括构件实体、构件描述信息、构件管理控制信息簿11。构件库作为基于构件开发过程中的重要部分,主要作用不仅是保存构件,而且还能检索和管理构件信息以利于选取符合需要的构件和。所以构件库不仅要保

29、存众多的构件实体,还需要记录这些构件丰富的描述和说明信息。此外,为了保证系统运行的安全性,必须对构件库使用者的身份和权限进行控制和管理,进行控制和管理权限的相关的信息也存储在构件库中。所有这些内容,构成了构件库系统存储和管理的对象,具体来说,包括如下内容:l 构件实体:主要是指构件本身的内容,即复用者最终感兴趣的软件成分,如,代码、设计文档等。获取构件实体是用户使用构件库的最终目的。l 构件描述信息:在构件本身的实体内容中不存在,是人为增加的用于构件属性描述和分类的信息,目的是便于构件复用者对构件的查找和理解,是构件查询和理解所借助的依据。下面对构件描述信息包含的内容作一个简要介绍。(1) 构

30、件本体信息:构件类型,应用领域,功能分类。(2) 创建信息:版本编号,创建者,创建者联系方式,创建时间。(3) 更新信息:版本编号,更新者,更新者联系方式,更新时间。(4) 服务信息:服务名称,服务接口,输入参数,输出参数,示例描述。(5) 引用信息:引用名称,引用接口。(6) 环境信息:软件环境(操作系统,数据库,开发语言),硬件环境(处理器,内存,硬盘)。构件存储模型如图2-2所示:图2-2 构件存储模型2.3 构件的检索2.3.1 构件检索过程 构件的查询过程就是定位类似的构件,使用者只需理解查询得到的少数构件就可以决定是否直接重用构件。查找软件构件的传统方法,如查看一个用户手册,使用浏

31、览器检查源代码等, 不仅花费大量时间,而且对理解构件帮助不大,通常,在本地较小的软件库中的构件检索是比较简单的,用户能够很容易地检查到所需的构件,并可通过它们的名字或通过浏览器库来选择它们;但在一个大的构件库中检索可复用的构件就没这么简单,存在很多影响检索效率的因素,一般包括12:(1) 用户的请求与所需构件信息的相近程度;(2) 搜寻和索引策略;(3) 索引方法的详尽性和具体性;(4) 使用的匹配和相似分析机制;实践中构件数量不断增长,构件也随技术和领域演化而更新。构件的分类是建立和维护构件目录信息的活动,构件的检索方法依赖于构件的标识和分类。对构件进行分类有三个好处:便于组织管理、方便查询

32、和辅助理解13。而对于具体检索过程则要通过不同检索算法的设计而定,但检索流程大体上相同。构件检索过程如图2-3所示。图2-3 构件检索过程2.3.2 构件检索算法分析 构件检索算法的研究一直是构件领域比较重要的研究内容,也是构件库系统最关键部分技术。现阶段业界对构件检索算法的研究花费了很大的人力和财力,所以也出现了很多种检索算法。研究学习目前已经存在的检索算法,收获颇大。现列举几种流行的和检索效果较好的检索算法。(1) 基于规约语法的构件检索原理 在构件组装的过程中需要查找满足功能需求的构件, 而且所查找的构件必须满足组装语法的需求13。待检索构件和构件库中候选构件的规约语法匹配是构件库支持构

33、件组装的一个重要的方法。 在Plug and Socket 类型接口中, 每个服务作为一个不可分割的独立单位存在, 类似于硬件设备的一个插口。 因此我们将服务作为语法匹配的原子单位。Plug and Socket 类型的接口将一组相关的功能封装成一个服务( service), 每个服务的形式如下: service service-name isprovides: functions listrequires: functions listend service每个function 只包含功能名、参数类型、参数名及返回值类型, 不包含功能的实现体。基于规约语法的构件检索原理如图2-4所示。图2-

34、4 基于规约语法的构件检索原理首先需要通过一个语法分析器对待检索构件的规约进行语法扫描, 提取出与检索相关的信息。然后需要对构件库中侯选构件的规约逐一进行语法扫描, 获得每个侯选构件与检索相关的信息, 再和待检索构件进行比较, 判断是否满足需求。为了提高响应速度, 通常的做法是在构件入库时就对它进行语法分析, 提取出与检索相关的信息, 事先存放在构件库中, 在检索的过程中直接用它们和待检索构件的检索信息进行匹配。(2) 基于本体与刻面相结合的构件检索算法( RBOF)RBOF(A Retrieval Method Based On Onto logy And Facet, 基于本体与刻面相结合

35、的构件检索算法)使用定义好的领域本体库对查询树进行语义推理, 取查询树的每条路径和构件库中的每一棵构件树进行匹配, 并根据匹配库返回检索结果。该检索算法描述如下:输入: 构件查询树Q, 构件库树集合C ( C1, C2Cn ), 领域本体库;输出: 检索的结果集合N;/* BEG IN* /; /* 初始化检索结果集合为空* /计算查询树Q 的所有根结点到叶结点的路径集合Q ( Q1, Q2, , Qk );根据领域本体库对Q1, Q2, , Qk 进行语义推理, 获得更多路径Qk+ 1, , Qm;若Qk + 1, , Qm 集合不为空, ;输入检索时期望的匹配程度, 赋值给P;while(

36、 P= 1) /* 第7至第11步骤为wh ile循环体* /提示用户匹配程序不合要求, 请选择退出本次检索或重新输入匹配程度;if(用户选择退出本次检索)退出检索; else重新输入匹配程度, 并赋值给P; To= 0; /* 查询树与构件树T 的匹配路径数, 初始化为0* /for构件库中的每一棵构件树Cifor查询树中的每条路径Qjif(路径Qj 与构件Ci 相匹配) To+ ;if(To = P* Q. leng th) /* p= 1 时, 说明匹配路径数与查询路径数相等, 为高度匹配, 否则允许( ( 1-P)* Q. length)条路径不匹配* /;输出检索结果集N;/* EN

37、D* /通过对算法的描述,可以看到该算法具有如下特点:(1)在该算法中使用本体的特点对检索树进行语义推理,推导出隐含语义,能对用户的查询请求进行语义处理,避免由于用户查询要求用词不精确造成的查询不准确。(2)可让用户自由输入匹配程度。第3章 需求分析 系统需求分析对后期软件设计的重要性毋庸置疑。本章主要描述构件检索相关的详细需求分析,为第4章系统设计阶段做好准备。3.1功能性需求3.1.1需求描述构件库管理系统的设计主要是为了合理规范管理软件构件,为软件复用提供高效,可靠的根据。而构件检索更是构件库管理系统的核心功能部分。一个好的构件库管理系统必须能够给用户提供比较完善的检索方式,并且能够高效

38、地检索到用户期望得到的构件,当然前提是构件库中必须存储有足够和全面的构件。然而,构件检索对于一个比较庞大的构件库来说并不容易,因为构件的规范问题一直没有固定的标准。所以在设计开发一个构件库系统时必须要设计出合理的构件存储方式,搭建稳定的构件库,在进行构件检索开始时对构件进行清晰的分类。只有满足以上条件才能保证构件检索的顺利进行。由于目前构件领域没有规范的技术标准,所以在此我们只是对构件库系统进行研究。构件的检索主要分为深度优先检索,广度优先检索,XQuery查询等方式。、1. 构件检索模块关联角色:普通用户,管理员需求编号: CR-001需求描述:用户需选择适当的检索条件,点击不同检索方式进行

39、检索。备注说明:登录系统后才可进行事务处理等操作。3.1.2 检索方法1.深度优先检索。2.广度优先检索。3.XQuery查询。3.2非功能性需求3.2.1 可用性系统可灵活的在每台装有Java虚拟机的电脑上使用,并且有足够的能够存储构件的硬盘空间。3.2.2 安全性1安全防护针对本系统我们对用户进行分类,以保证各级用户对系统访问的安全性。不同用户对于系统的功能性操作不同,使得对于系统的管理运行更加稳定。另外用户登录时输入的口令不应在终端上显示。2访问控制用户登录除了需要输入用户名和密码外,还要输入验证码,防止黑系统用户账号密码被黑客暴力破解,并且用户还可以通过问题提示找回密码。3.2.3 易

40、用性构件库管理系统必须简单、易用,具有清晰的导航功能,使用户快速找到自己想要执行的操作界面,能够方便地检索到自己想要找的构件。3.3 用例规约描述本章的目的是依据需求规格说明书,建立用例模型,并对用例模型进行具体描述。用例规约描述是面向对象分析和设计的重要步骤。用例规约描述需要进行评审。3.3.1 目的用例是关于用户和系统之间相互作用的文本性描述,从外部角度描述系统的行为,表达系统应该做什么。本文档通过用例规约描述,来进一步说明该系统需求,是下一阶段系统设计的基础,也是测试用例的重要依据。3.3.2 用例描述用例规约如表3.1所示:表3.1 构件检索用例规约用例名称:构件检索用例ID:CR-0

41、01关联角色:普通用户,管理员用例说明:系统验证用户输入选择检索条件前置条件:无基本事件流:1.用户请求系统构件检索2.系统弹出系统构件检索页面3.用户输入选择检索条件4.用户点击检索方式4.1.用户选择深度优先检索4.2.用户选择广度优先检索5.系统输出检索结果6.系统显示检索用时7.用户选择确定检索结果集8.用户点击修改按钮9.系统跳转到构件修改界面10.用例结束异常事件流:8a.用户选择修改项为空8a-1.系统弹出消息对话框,提示用户选择修改项8a-2.用例结束后置条件:用户检索成功,显示检索结果备注说明:3.4 用例图构件检索用例图如图3-1所示。图 3-1 构件检索用例图3.5 用户

42、界面设计构件检索是构件库管理系统设计开发过程中最重要的一部分,经过慎重思考,并结合多方面考虑,将构件检索界面设计如图3-2所示。图 3-2 构件检索第4章 构件检索子系统的设计本章节将主要讲述系统的总体设计、构件普通检索方法设计、XML查询。关键技术检索算法设计使用将在这里做重点介绍。4.1 总体设计4.1.1 系统功能结构在系统开发之前,项目小组对系统整体结构进行了详细分析和设计,最终结合多方面因素将系统整体功能模块明确划分。系统功能分类和系统结构如图所示:图4-1 系统功能分类图图4-2系统结构图4.1.2 系统类图本系统包括对构件的基本操作管理等部分,系统总体类图如图所示。图4-3 系统

43、总体类图4.1.3 构件检索方法设计考虑到可能的检索需求,系统设计了两种检索方式:普通检索与XQuery检索。普通检索主要用于对构件描述比较详细的情况进行检索,此检索方式对构件详细描述信息要求比较严格,查找出的结果也比较精确;而基于XQuery的检索主要是针对XML中构件描述信息不是很完整的构件进行检索,这种检索对检索准确度要求不高,所以查找结果比较全面。4.1.4 检索信息的提交及系统检索流程设计由于检索关键词以及可能的检索条件较多,决定使用类型化数据集对象保存检索条件,同时由于普通检索的关键词信息较少,为了避免定义过多的数据集对象,设计中将普通检索的关键词信息也包含入这个数据集,以下是用于类型化数据集的XML Schema文件(newXMLDocument.xsd)。 另外对于构件检索条件也

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1