版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十七章软件重用技术在软件开发过程中,尽能够重用已有的软件元素(包括源程序模块,设计文档,需求文档,测试方案与用例等),这样将有助于加快开发进度,提高软件消费率,同时也有利于提高软件质量。软件重用希望在此根底上跨越一步:软部件库中一切部件的功能或行为将更为丰富、灵敏,但库的组织和检索方法也随之复杂化,因此需求建立相配套的软部件消费和组装机制。2023/12/281安徽工程科技学院计算机系软件重用技术软部件库必需提供许多有重用价值的软部件,并且这些软部件的功能或行为不能象函数库的规范函数那样刻板、单调,而应表现出可顺应不同软件开发工程的灵敏性。寻觅、选择并了解适用的软部件困难。第十七章软件重用技术2023/12/282安徽工程科技学院计算机系17.1软件重用17.1.1软件重用的概念软件重用是指在两次或多次不同的软件开发过程中反复运用一样或类似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。对于新的软件开发工程而言,它们或者是构成整个目的软件系统的部件,或者在软件开发过程中发扬某种作用。通常将这些软件元素称为软部件。为了可以在软件开发过程中重用现有的软部件,必需在此之前不断地进展软部件的积累,并将它们组织成软部件库。第十七章软件重用技术2023/12/283安徽工程科技学院计算机系17.1.2软件重用的过程与意义按照重用活动能否跨越类似性较少的多个运用领域,软件重用可区别为横向和纵向重用。横向重用是指重用不同运用领域中的软件元素,例如数据构造、分类算法、人机界面构件等。纵向重用是指在一类具有较多公共性的运用领域之间进展软部件重用。由于在两个截然不同的运用领域之间实施软件重用的潜力不大,所以纵向重用才广受瞩目,并成为软件重用技术的真正希望所在。不难了解,纵向重用活动的主要关键点即是域分析:根据运用领域的特征及类似性预测软部件的可重用性。17.1软件重用2023/12/284安徽工程科技学院计算机系软件重用的过程一旦根据域分析确认了软部件的重用价值,即可进展软部件的开发,并对具有重用价值的软部件进展普通化以便它们可以顺应新的类似的运用领域。软部件及其文档即可进入软部件库,成为可供后续开发工程运用的可重用资源。一个软部件是不断积累、不断完善的渐进过程。17.1软件重用2023/12/285安徽工程科技学院计算机系软件重用的过程软部件库的规模会不断扩展,软件库的组织构造将直接影响软部件的检索效率,特别是当检索手段并不局限于规范函数库所采用的简单名字匹配方法时。可供候选的软部件从库中被检索出来以后,用户还必需了解其功能或行为以判别它能否真正顺应于当前工程。17.1软件重用2023/12/286安徽工程科技学院计算机系面向重用的软件开发17.1软件重用2023/12/287安徽工程科技学院计算机系软件重用CASE工具软件重用过程可借助计算机的协助。支持软件重用的CASE工具的主要义务是,用某种组织构造实现软部件库的存储,提供友好的人机界面协助用户阅读、检索和修正软部件库,并且对用户感兴趣的软部件进展解释。17.1软件重用2023/12/288安徽工程科技学院计算机系软件重用的意义运用重用技术可以减少软件开发活动中大量的反复性任务,这样就可以提高软件消费率,降低开发本钱,缩短开发周期。重用软部件有助于改善软件质量。大量运用软部件,软件的灵敏性和规范化程度也可望得到提高。17.1软件重用2023/12/289安徽工程科技学院计算机系17.1.3重用工程的管理软件重用对传统的软件工程管理方式提出的挑战,其处理方案涉及工程管理机构、管理手段,经济和心思要素等方面。17.1软件重用2023/12/2810安徽工程科技学院计算机系17.2软部件库的构造本节讨论软部件库的构造技术,内容包括:基于域分析的软部件选取,软部件的开发与质量控制,软部件库的组织方法。第十七章软件重用技术2023/12/2811安徽工程科技学院计算机系17.2.1域分析从软件工程的观念看,域就是向目的软件系统提出运用需求的问题及其背景知识。域分析的主要义务是针对单个或一族类似的域,以软件重用为目的,探寻并发掘域或域族中可以为多个目的软件系统共用的软部件,并对它们进展构造化组织以备重用。域分析与需求分析活动有类似之处,但是,域分析必需具有比需求分析更为宽广的视角:不仅要效力于当前软件工程,而且要从域的历史工程中发现软件工程之间的共同性和差别点,并放眼于同类或类似运用领域的未来软件工程。17.2软部件库的构造2023/12/2812安徽工程科技学院计算机系域分析17.2软部件库的构造2023/12/2813安徽工程科技学院计算机系域分析步骤在省略有关建模的技术细节之后,域分析过程可大致归纳为以下步骤:(1)发现并描画可重用的实体;(2)对这些实体及它们之间的关系进展笼统化、普通化和参数化;(3)对可重用的实体进展分类、归并,以备日后重用。域分析还可产生一种重用超构造以管理在后续软件工程的各个开发阶段的软件重用活动:提供可重用软部件,指点新的软部件的消费,根据新的软件需求提示重用的能够性,以及搜集有关重用活动的各类统计数据。17.2软部件库的构造2023/12/2814安徽工程科技学院计算机系重用超构造
17.2软部件库的构造2023/12/2815安徽工程科技学院计算机系17.2.2软部件的开发域分析的结果为软部件的选取提供了指点原那么。一旦确定某些软件元素应该作为重用部件参与软部件库之后,开发人员就必需实践构造它们。软部件的开发具有相当的特殊性:如何使软部件更为通用,更易于组装为新的软件系统,以及在新的运转环境下表现出更好的强健性?书中的软部件不仅包括代码级部件,也涵盖域知识、需求分析文档、设计文档、测试方案、测试用例等软件元素,由于这些级别上的软部件可望更好地发扬重用技术的潜力,同时也是代码级重用的必要补充。17.2软部件库的构造2023/12/2816安徽工程科技学院计算机系1.需求及设计级软部件需求级软部件通常包括问题(及子问题)描画、有关的域知识以及相应的需求规格阐明。问题描画及域知识阐明均用域言语表示,必要时可辅以构造化的自然言语。设计级软部件包括设计规格阐明(片段)、设计决策描画以及相应的设计文档。设计级软部件与需求级软部件相结合,使需求级软部件和设计级软部件的重用同时发生,简化了对这些软部件的了解和组装过程。17.2软部件库的构造2023/12/2817安徽工程科技学院计算机系需求及设计级软部件需求级与设计级软部件的开发必需遵照以下两项原那么:(1)将软部件运用的上下文与软部件严厉分别;(2)利用笼统化、参数化等手段提取公共性,以加强软部件对未来不同运用工程的顺应才干。需求级、设计级与代码级软部件相结合,有助于代码级软部件的提取和了解。借助较高笼统级别的软部件可望提高重用效能,可以重用代码,而且可以重用需求模型和设计方案。17.2软部件库的构造2023/12/2818安徽工程科技学院计算机系2.代码级软部件代码级重用是迄今为止研讨最深化、运用最广泛的重用技术。代码级软部件除包含通常的代码段外,还必需辅以相应的解释和上下文阐明。这些辅助阐明可以用构造化自然言语或其他表示机制描画,但最好以相应的需求或设计级软部件的方式出现。17.2软部件库的构造2023/12/2819安徽工程科技学院计算机系代码级软部件可以用以下三种笼统方法开发软部件:(1)功能笼统:软部件的功能由接口阐明中的输入—输出关系确定,实现细节对软部件运用者透明。(2)数据笼统:在功能笼统的根底上进一步隐藏除界面参数之外的一切数据。(3)过程笼统:在数据笼统的根底上进一步实如今一样软部件上同时执行的多重线程的无关性。17.2软部件库的构造2023/12/2820安徽工程科技学院计算机系主要原那么可重用性、正确性、可了解性和易组装性是衡量软部件质量的重要规范。这些规范都与软部件开发过程中运用的程序设计风格亲密相关。为此,下面简要列出程序设计的主要原那么,以供代码级软部件开发者参考。1.关于可重用性和易组装性17.2软部件库的构造2023/12/2821安徽工程科技学院计算机系主要原那么〔续〕2.关于正确性(1)运用显式的、规范的、完全的错误处置机制;(2)运用强类型程序设计;(3)在软部件上附加重要的测试数据和测试报告。3.关于易了解性(1)提供完全的、准确的文档及程序注解;(2)软部件内部的构造、数据及控制流程必需规范化;(3)运用一致的命名规那么和语法商定。17.2软部件库的构造2023/12/2822安徽工程科技学院计算机系3.软部件的质量控制由于软部件将在多种硬件和软件环境下运转,因此,除采用软件工程的普通质量控制措施外,还要针对可重用软部件的特征进展特别的质量控制。(1)软部件的开发者应利用现有的硬件、软件在尽能够多的环境中进展各种规范测试。(2)在软部件的设计过程中必需预先思索软部件对于各类能够的硬件环境的可移植性以及对于不同软件环境的顺应才干,并为此制定相应的编码原那么。(3)应该尽能够地将软部件与环境有关的要素笼统成为软部件的参数。17.2软部件库的构造2023/12/2823安徽工程科技学院计算机系软部件的质量控制〔续〕(4)对能够引发移植性错误和顺应性错误的错误源进展分类,针对每类错误源制定相应的防备和测试措施。(5)制定并执行一致的、良好的程序设计风格。(6)成立软部件质量控制小组。17.2软部件库的构造2023/12/2824安徽工程科技学院计算机系17.2.3软部件库的组织必需对搜集和开发的软部件进展分类并置于软部件库的适当位置。软部件的分类方法及相应的库构造对软部件的检索和了解有极为深化的影响。因此,软部件库的组织应方便软部件的存储和检索。17.2软部件库的构造2023/12/2825安徽工程科技学院计算机系软部件库的组织可重用技术对软部件库组织方法的要求是:(1)支持软部件库的各种维护动作:添加、删除及更新软部件尽量不要影响软部件库的构造;(2)不仅要支持准确匹配,还要支持类似软部件的查找;(3)不仅能进展简单的语法匹配,而且可以查找在功能或行为方面等价或类似的软部件;(4)对运用领域(族)具有较强的描画才干和较好的描画精度;(5)库管理员和用户容易运用;(6)具备可自动化潜力。17.2软部件库的构造2023/12/2826安徽工程科技学院计算机系1.关键字分类法这是一种最简单的软部件库组织方法,其根本思想是:根据域分析的结果将运用领域(族)的概念按照从笼统到详细的顺序逐次分解为树形或有向无回路图构造。每个概念运用一个描画性的关键字表示。不可分解的原子级关键字包含隶属于它的某些软部件。当参与软部件时,库管理员必需对软部件的功能或行为进展分析,在阅读上述关键字分类构造的同时将软部件置于最适宜的原子级关键字之下。17.2软部件库的构造2023/12/2827安徽工程科技学院计算机系关键字分类构造例如17.2软部件库的构造2023/12/2828安徽工程科技学院计算机系2.多面分类法这种软部件库组织方法是Prieto-Diaz和Freeman在1987年提出的。其主要思想植根于图书馆学。多面分类法由三部分构成:多面分类机制,同义词库和概念间隔图。(1)在多面分类机制中定义假设干用于描写软部件特征的“面〞(facet),每个“面〞包含假设干“概念〞,这些“概念〞表述软部件在“面〞上的特征。(2)意义一样或相近的假设干词汇构成同义词库。(3)概念间隔图用于度量每个“面〞中“概念〞的类似性程度。17.2软部件库的构造2023/12/2829安徽工程科技学院计算机系多面分类法的组成17.2软部件库的构造2023/12/2830安徽工程科技学院计算机系3.超文本组织方法超文本方法与基于数据库系统的软部件库组织方法不同,它基于全文检索技术,其主要思想是:一切软部件必需辅以详尽的功能或行为阐明文档;阐明中出现的重要概念或软部件以网状链接方式相互衔接;检索者在阅读文档的过程中可按照人类的联想思想方式恣意跳转到包含相关概念或软部件的文档;全文检索系统将用户给出的关键字与阐明文档中的文字进展匹配实现软部件的阅读式检索。17.2软部件库的构造2023/12/2831安徽工程科技学院计算机系超文本组织方法超文本(Hypertext)是一种非线性的网状信息组织方法,它以结点为根本单位,链那么作为结点之间的联想式关联。17.2软部件库的构造2023/12/2832安徽工程科技学院计算机系17.3软部件的重用为了让软部件库在新的软件工程中发扬作用,库的运用者必需完成以下任务:检索与提取软部件,了解与评价软部件,修正软部件,最后将软部件组装到新的软件产品中。本节依次引见完成这些义务的主要方法。第十七章软件重用技术2023/12/2833安徽工程科技学院计算机系17.3.1检索与提取软部件软部件库的检索方法与组织方式亲密相关,因此,本小节针对前面引见的关键字分类法、多面分类法及超文本组织方法分别讨论相应的检索方法。17.3软部件的重用2023/12/2834安徽工程科技学院计算机系1.基于关键字的检索这种简单检索方法的根本思想是:系统(CASE工具)在图形用户界面上将软部件库的关键字树形构造直观地展现给用户;用户经过对树形构造的逐级阅读寻觅需求的关键字并提取相应的软部件。用户也可直接给出关键字(其中可含通配符),由系统自动给出适宜的候选软部件清单。优点是简单、易于实现,但在某些场所没有运用价值,由于用户往往无法用软部件库中已有的关键字描画期望的软部件功能或行为,对库构造的阅读也容易运用户迷失方向。17.3软部件的重用2023/12/2835安徽工程科技学院计算机系2.多面检索法该方法基于多面分类法,由三步构成:(1)构造查询。(2)检索软部件。(3)对软部件进展排序。这种方法的优点是它易于实现类似软部件的查找,但用户在构造查询时比较费事。17.3软部件的重用2023/12/2836安徽工程科技学院计算机系3.超文本检索法这种方法的根本步骤是:用户首先给出一个或数个关键字,系统在软部件的阐明文档中进展准确或模糊的语法匹配,匹配胜利后向用户列出相应的软部件阐明。为了防止用户在跳转过程中迷失方向,系统可以经过图形用户界面提供阅读历史信息图,允许将特定画面定义为命名“书签〞并随时跳转至“书签〞,并协助用户逆跳转路经而逐渐前往。这种方法的优点是用户界面友好,但在某些情况下用户难以在超文本阅读过程中正确选取软部件。17.3软部件的重用2023/12/2837安徽工程科技学院计算机系4.其他检索方法上述检索方法基于语法匹配,要求运用者对软部件库中出现的众多词汇有较全面的把握、较准确的了解。理想的检索方法是语义匹配:软部件库的用户以方式化手段描画所需求的软部件的功能或行为语义,系统经过定理证明及基于知识的推理过程寻觅语义上等价或相近的软部件。这种基于语义的检索方法涉及许多人工智能难题,目前尚难于支持大型软部件库的工程实现。17.3软部件的重用2023/12/2838安徽工程科技学院计算机系17.3.2了解与评价软部件思索到设计信息对于了解软部件的必要性以及软部件库的用户逆向开掘设计信息的困难性,必需求求软部件的开发过程遵照公共的软件工程规范,并且在软部件库的文档中全面、准确地阐明以下内容:·软部件的功能与行为;·相关的领域知识;·可顺应性约束条件与例外情形;·可以预见的修正部分及修正方法。借助于CASE工具对侯选软部件进展分析。逆向工程是了解软部件的另一种重要手段。17.3软部件的重用2023/12/2839安徽工程科技学院计算机系了解与评价软部件对软部件可重用性的评价是经过搜集并分析软部件的用户在实践重用该软部件的历史过程中的各种反响信息来完成的。这些信息包括:重用胜利的次数,对软部件的修正量,软部件的强健性度量(例如出错数量),性能度量(例如执行效率与资源耗费量),等等。建造相应的CASE工具来自动搜集这些信息,按照某种域模型给出可重用性评价。17.3软部件的重用2023/12/2840安徽工程科技学院计算机系17.3.3修正软部件对软部件进展或多或少的修正以顺应新的需求。为了减少软部件修正的任务量,要求软部件的开发者尽量使软部件的功能、行为和接口设计更为笼统化、通用化、参数化。这样,软部件的用户即可经过对实参的选取来调整软部件的功能或行为。17.3软部件的重用2023/12/2841安徽工程科技学院计算机系17.3.4软部件的合成软部件合成是指,将库中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南湘投控股集团有限公司人员招聘考试备考题库及答案详解
- 2026年从江县教师招聘笔试备考题库及答案解析
- 2026年中国民航信息集团有限公司人员招聘考试参考试题及答案详解
- 2026年新疆交通建设集团有限责任公司人员招聘考试备考题库及答案详解
- 2026福州市马尾区人民检察院公开招聘1名编外劳务人员(聘用制文员)的考试模拟试题及答案解析
- 2026年中国邮政集团有限公司广东省分公司人员招聘考试备考题库及答案详解
- 2026年济南市国有资产投资有限公司人员招聘参考题库及答案详解
- 2026年山东省鲁信投资控股集团有限公司人员招聘考试备考试题及答案详解
- 2026年大唐国际发电股份有限公司人员招聘考试题库及答案详解
- 2026年山东种业集团有限公司人员招聘考试参考试题及答案详解
- 2026年强制性产品认证应知应会培训考核卷(十一)
- 2026年法律职业资格考试商经法客观题练习带答案
- 检维修作业:安全要点与应急处置
- 2026金属基陶瓷复合材料技术创新与应用展望报告
- 2026-2027学年人教版七年级数学上册期中测试卷(带答案解析)
- GB 48063-2026交通运输北斗卫星导航系统定位模块通用技术规范
- 2025年江苏泰州市中考语文试卷真题及答案详解(精校打印)
- DB53T 1043-2021 复合矿物掺合料在混凝土中应用技术规程
- 痔疮术后饮食调理建议
- 婴幼儿伤害预防与处理配套教材电子课件(完整版)
- 2026年殡葬系统版遗体火化师技能知识试题
评论
0/150
提交评论