




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程中的高级课题李宣东南京大学计算机科学与技术系AdvancedTopicsinSEComputer-AidedSoftwareEngineeringFormalMethodsSoftwareReuseReengineeringComponent-BasedSoftwareEngineeringCleanroomSoftwareEngineeringClient/ServerSoftwareEngineeringWebEngineeringComputer-AidedSoftwareEngineering(CASE)支持软件开发生存期的集成化工具、技术和方法CASEConceptsCASE技术(technology):为软件开发、维护和项目管理提供自动化、工程化准则的软件技术;包括自动化结构化方法和自动化工具。CASE工具(tool):支持特定的软件生存期活动自动化(至少部分自动化)的软件工具。CASE系统(system):能共享一个公用的用户界面、并且在公用的计算机环境中运行的一组集成化的CASE工具。CASE工具箱(toolkit):一组集成化的CASE工具,能够使得软件生存期的一个阶段或一个特殊的软件工作的活动自动化(或部分自动化)。CASEConceptsCASE工作台(workbench):一组集成化的CASE工具,能够使得整个软件生存自动化(或提供自动化辅助),包括分析、设计、编码和测试。CASE方法学(methodology):一种“可自动化”的方法学,它对软件开发和维护的所有方面或者某些方面定义了严格的、类似工程的研究途径。CASE方法学伙伴(methodologycompanior):一组CASE工具,这些工具按某一种特殊的CASE方法学自动完成一些任务,并且自动产生由该方法学所要求的文档和其他交付的任务。CASE工作站(workstation):为CASE工具提供操作平台的一个一层、二层或三层的硬件系统体系结构。CASEMethodology由于CASE工具对整个信息系统或软件工程开发过程的全面支持,引起了系统开发方法学领域从技术、方法到观念、认知体系的变化,方法学领域也受到了冲击和挑战,从而使CASE演变成了一种独特的、以自动化支持环境为基础的系统开发方法学。结构化方法面向对象方法快速原型方法CASEIntegration
集成化CASE环境的总体结构界面集成层:用户界面开发工具包,界面协议。工具集成层:触发执行机制,通信机制。信息集成层:信息与CASE工具的集成,信息与信息的集成。软件工程信息库:元模型,软件开发信息InterfaceIntegration
CASE界面集成层界面集成层主要由一个标准化的用户界面开发工具包以及各CASE工具共同遵守的界面协议组成。界面集成有两方面的目标:
(1)开发人员可在统一而不是分离的界面框架下操作所有的CASE工具,完成软件开发过程。(2)所有CASE工具的用户界面和操作风格必须协调一致。ToolIntegration
CASE工具集成层工具集成层负责管理所有的CASE工具并协调它们的行为。在多任务操作系统中,开发人员可以同时启动多个CASE工具,此时工具集成层必须在CASE工具之间进行信息传递和同步。协调CASE工具与软件工程信息库之间的信息流,实施安全检查和审计功能。此外,工具集成层往往还能够收集各CASE工具使用情况的统计信息以便改进软件开发方法,提高环境运行效率。ToolIntegration
为了完成上述任务,工具集成层至少要具备执行机制和通信机制:执行机制是指环境能够根据某些软件开发触发CASE工具的启动。此外,执行机制还包含对CASE工具执行过程的其他控制手段,例如挂起、恢复和终止。通信机制是指环境能够在CASE工具之间传递信息。大型软件开发项目的众多开发人员往往是在网络环境下协同完成开发任务的。这就对集成化环境提出了新的要求。为此,工具集成层还应提供分布机制,以便上述基本的执行和通信机制以用户透明的方式在网络分布环境下运行。InformationIntegrationCASE信信息集成层层信息集成包包含两方面面的内容::信息与CASE工具具的集成::主要表现现为CASE工具实实现了对软软件工程信信息库中信信息对象的的某些操作作功能。信息与信息息之间的集集成:指集集成环境必必须具有表表示、维护护信息项并并利用信息息项之间的的关系完成成相应动作作的能力,,如一致性性和完整性性检查,确确定信息项项修改的影影响传播范范围等。CASERepository软件工程信信息库软件工程信信息库是集集成化环境境的核心,,它为整个个CASE环境提供供支持。软件工程信信息库要完完成对软件件信息项的的存储、查查询、修改改与删除等等操作,所所以它必须须具备普通通数据库管管理系统的的大部分基基础功能。。CASERepository除此之外,,为了给集集成化环境境提供良好好的信息服服务,软件件工程信息息库还要支支持:信息完整性性:当信息息项目修改改或删除时时,自动检检查信息项项之间的一一致性,自自动完成对对相关信息息项的必要要调整。信息与工具具的集成::控制CASE工具具和开发人人员对信息息项的访问问,提供友友好的信息息服务。信息与信息息的集成::建立并维维护信息项项之间的关关系。开发方法学学的引导与与强制:利利用元模型型引导并强强制开发人人员按照既既定的开发发方法学实实施软件开开发。文档规范化化:根据元元模型对各各类文档的的定义,统统一生成软软件文档。。版本控制与与配置管理理:存储软软件信息项项的各种版版本,为开开发人员生生成阶段性性成果或最最终产品自自动组合最最新版本,,并允许在在测试过程程中随时恢恢复旧版本本。ImplementationofCASERepository软件工程信信息库的实实现考虑到软件件开发过程程中各类数数据的纷繁繁复杂,仅仅按常规方方法组织软软件工程信信息库是无无法满足要要求的。应应该将软件件信息项不不论粒度大大小均视为为对象,信信息库的结结构组织为为元模型,,系统通过过元模型管管理机制实实现各种功功能。MetamodelinCASERepository软件件工工程程信信息息库库的的元元模模型型元模模型型是是对对各各CASE工工具具生生成成的的软软件件开开发发信信息息项项的的元元级级描描述述,,主主要要内内容容为为::信息息项项的的定定义义性性描描述述,,包包括括类类型型、、属属性性、、表表示示方方法法、、生生产产者者与与消消费费者者,,等等等等。。在各各种种粒粒度度级级别别上上的的信信息息项项之之间间的的关关系系和和依依赖赖性性描描述述。。可可能能的的粒粒度度级级别别有有::数数据据流流程程图图级级、、数数据据项项级级、、代代码码段段级级。。软件件设设计计规规则则。。例例如如数数据据流流程程图图的的平平衡衡规规则则,,数数据据流流程程图图中中转转换换的的输输入入、、输输出出流流与与其其相相应应过过程程的的输输入入、、输输出出参参数数的的一一致致性性规规则则。。软件件开开发发过过程程的的工工作作流流程程和和事事件件的的描描述述,,包包括括开开发发阶阶段段界界定定、、里里程程碑碑定定义义、、错错误误发发生生、、需需求求变变更更,,等等等等。。MetamodelinCASERepository除上上述述内内容容之之外外,,元元模模型型还还定定义义了了软软件件信信息息的的组组织织形形式式、、CASE工工具具和和软软件件开开发发人人员员访访问问信信息息项项的的途途径径、、数数据据安安全全性性和和完完整整性性控控制制方方法法以以及及为为适适应应新新的的软软件件开开发发项项目目而而对对现现有有元元模模型型进进行行扩扩充充的的方方法法。。CASERepository除元模型型外,软软件工程程信息库库还应包包含以下下各方面面的软件件开发信信息:有关应应用问问题及及问题题领域域的描描述。。各类文文档((需求求说明明,设设计文文档,,源代代码,,测试试方案案与用用例等等)。。由软件件开发发方法法学限限定的的规则则与指指导性性原则则。项目规规划、、可用用资源源描述述和开开发历历史信信息。。相对于于元模模型而而言,,以上上各类类信息息为目目标级级信息息对象象。ImplementationofCASERepository软件工工程信信息库库的建建造过过程可可以借借用传传统的的数据据库管管理系系统提提供的的下述述技术术手段段:无冗余余的信信息储储存事物控控制机机制安全机机制用户界界面开放性性ImplementationofCASERepository软件工工程信信息库库的许许多高高级功功能是是大多多数商商用数数据库库管理理系统统不能能直接接支持持的::复杂数数据结结构的的存储储信息完完整性性检查查项目管管理版本控控制与与配置置管理理需求追追踪IndustryStandardforCASEIntegrationCSAE工具集集成的的工业业标准准信息资资源字字典标标准((InformationResourceDictionaryStandard,IRDS,ANSI338-1988)。。IRDS最初是是作为为需求求分析析的数数据字字典标标准而而开发发的。。其主主要特特征是是使用用多级级元模模型并并强调调信息息资源源的协协调管管理,,有助助于在在相关关联的的CASE工具具之间间建立立信息息通道道。它它支持持CASE工具具在不不同的的操作作系统统平台台之间间移植植。AthertonIDEC工具具集成成标准准(ATIS))。ATIS已已被CASEIntegrationStandardsCommitteeofSoftwareProductivityConsortium采采纳。。ATIS主要要强调调软件件工程程信息息库的的总体体结构构定义义,支支持配配置管管理、、工具具集成成、数数据安安全性性与跨跨平台台移植植。公共ADA接口口标准准(CAIS))。CAIS侧侧重于于ADA软软件开开发工工具的的集成成,它它为这这些工工具构构成集集成化化环境境定义义了接接口标标准。。可移植植的通通用环环境((PCTE)。。PCTE是欧欧共体体ESPRIT计划划的一一部分分。它它已被被EuropenComputerManufacturerAssociation(ECMA)所接接纳。。TaxonomyofCASEToolsBusinessprocessengineeringtoolsProcessmodelingandmanagementtoolsProjectplanningtoolsRiskanalysistoolsProjectmanagementtoolsRequirementstracingtoolsMetricsandmanagementtoolsTaxonomyofCASEToolsDocumentationtoolsSystemsoftwaretoolsQualityassurancetoolsDatabasemanagementtoolsSoftwareconfigurationmanagementtoolsAnalysisanddesigntoolsPRO/SIMtoolsTaxonomyofCASEToolsInterfacedesignanddevelopmenttoolsPrototypingtoolsProgrammingtoolsWebdevelopmenttoolsIntegrationandtestingtoolsStaticanalysistoolsDynamicanalysistoolsTaxonomyofCASEToolsTestmanagementtoolsClient/servertestingtoolsReengineeringtoolsFormalMethods(形形式化方方法)研究背景景定义形式验证证模型检验验提高系统统可靠性性随着计算算机应用用的日益益普及,,今天我我们已经经很难承承受计算算机系统统发生故故障所带带来的损损失;连续运行行已成为为现在许许多计算算机系统统的关键键需求,,一旦发发生故障障,终止止系统运运行进行行维护是是不现实实的;提高系统可靠靠性测试(testing))或仿真((simulation)以运行系统((模型)为主主要手段发现现系统错误。。验证(Verification))建立系统模型型,确认系统统模型是否存存在错误。质量管理在系统开发过过程中加强管管理,防止可可能出现的错错误。提高可信度的的途径测试(testing))或仿真((simulation)无法回答系统统一定没有错错误这样一类类问题验证(Verification))可以从某一个个角度回答系系统一定没有有错误这样一一类问题,从从而进一步提提高我们对系系统可靠性的的可信度形式化方法形式化方法是是指为说明和和验证复杂计计算机系统所所采用的基于于数学的语言言、技术和工工具。形式化方法不不能确保系统统的可靠性,,但其可以通通过揭示系统统的不一致性性、歧义性和和不完备性来来增加我们对对系统的理解解程度,从而而提高我们对对系统可靠性性的可信度。。形式验证形式化方法包包括:说明(specification)验证(verification))形式验证包括括:模型检验(modelchecking)推理验证(theoremproving))模型检验模型检验是一一种自动验证证有穷状态系系统的技术。。模型检验的基基本思想是通通过遍历系统统模型的状态态空间来检验验系统模型是是否满足给定定的性质。模型检验在模型检验中中涉及两种形形式说明语言言:性质说明语言言用于描述系系统的性质;模型描描述语语言用用于描描述系系统的的模型型。模型检检验技技术用用于检检验由由模型型描述述语言言描述述的系系统模模型是是否满满足由由性质质说明明语言言描述述的系系统性性质。。模型检验验Finite-statemodelTemporallogicformulaModelChecker(FW)OKErrortraceorLine5:…Line12:…Line15:…Line21:…Line25:…Line27:……Line41:…Line47:…模型检验验中的关关键技术术问题模型检验中中的关键技技术问题是是如何设计计数据结构构和算法,,用以表示示和遍历大大规模的系系统模型状状态空间。。解决由多个个系统模型型的并行组组合而形成成的状态空空间爆炸问问题。解决状态空空间爆炸问问题的途径径状态空间的的符号表示示(Symbolicrepresentationofstatespace)McMillan’’sorderedbinarydecisiondiagrams(OBDD),1992,10120偏序规约技技术(Partialorderreduction)抽象技术((Abstraction))对称技术((Symmetry)模型检验关于具有时时序性质的的并发系统统的模型检检验理论和和技术在工工业界已经经得到实际际的应用。。目前模型检检验理论和和技术的研研究热点已已经转向实实时系统和和软件系统统。实时和混成成系统的模模型检验对于实时系系统来说,,由于时间间的引入,,其状态空空间是无穷穷的。要设设法遍历无无穷的状态态空间,这这对研究人人员来说是是一个新的的挑战。目目前人们关关注的主要要问题包括括:针对典型实实时性质开开发检验算算法探索解决状状态空间过过大的有效效途径混成系统混成系统((HybridSystems)是是一类复杂杂的计算机机系统,这这类系统的的运行过程程中既有连连续的状态态变化,又又有离散的的状态变化化。混成系统实例例水箱监控系统统混成系统实例例水箱监控系统统初始状态时,,水箱中水面面的高度为1英寸;水泵打开时,,水箱中水面面以每秒1英英寸的速度上上升;水泵关闭时,,水箱中水面面以每秒2英英寸的速度下下降;监控器发出信信号打开(关关闭)水泵到到实际打开((关闭)水泵泵之间有2秒秒钟的延迟;;要求监控器将将水箱中的水水面高度控制制在1至12英寸之间。。混成自动机((hybridautomata)S1x=1y=1y10S2x=1y=1x1S3x=1y=-2x2S4x=1y=-2y5y=1........y=10?x:=0y=5?x:=0x=2?x=2?混成自动机((hybridautomata)混成自动机是是不可判定的的;目前国际上相相关领域的研研究热点在于于寻找混成自自动机的可判判定子集。线性时段性质质线性时段性质质可以通过系系统在各个状状态上的累积积时间来约束束系统的行为为。一个线性性时段性质是是如下形式的的线性积分不不等式:∑i∈eci∫si≤M其中si表示系统状态态,ci是实型系数,,M是实数。。线性时段性质质在水箱监控系系统中,要求求监控器将水水箱中的水面面高度控制在在1至12寸寸之间,可以以表示成以下下线性时段性性质:∫s1+∫s2-2(∫s3+∫s4)11∫s1+∫s2-2(∫s3+∫s4)0满足性问题检验混成自动动机相对于线线性时段性质质的满足性问问题:一个混成自动动机满足一个个线性时段性性质当且仅当当该混成自动动机的所有行行为满足该线线性时段性质质。混成自动机的的行为表示混成自动机的的行为可以表表示如下时间间状态序列::(s1,t1)^(s2,t2)^…^(sm,tm)其中si表示系统状态态,ti表示系统在si上的停留时间间,t1,t2,…,tm必须满足相应应的时间约束束。带时段约束的的规则表达式式在规则表达式式中引入时段段约束形成带带时段约束的的规则表达式式。时段约束束表示成如下下形式:a∑i∈eci∫sib带时段约束的的规则表达式式R=s0(s0^(s1,{∫s1=9})^R1)(s0^(s1,{∫s1=9})^R1^(s2,{∫s2=2}))(s0^(s1,{∫s1=9})^R1^(s2^s3,{∫s2=2,2∫s3-∫s2=5}))(s0^(s1,{∫s1=9})^R1^(s2^s3^s4,{∫s2=2,2∫s3-∫s2=5,∫s2=2}))其中R1=(s2^s3^s4^s1,{∫s2=2,2∫s3-∫s2=5,∫s2=2,∫s1-2∫s4=5})*带时时段段约约束束的的规规则则表表达达式式带时时段段约约束束的的规规则则表表达达式式不不能能描描述述所所有有混混成成自自动动机机的的行行为为;;带时时段段约约束束的的规规则则表表达达式式对对应应于于一一类类混混成成自自动动机机;;对应应于于带带时时段段约约束束的的规规则则表表达达式式的的一一类类混混成成自自动动机机是是可可判判定定的的。。基于于线线性性规规划划的的验验证证途途径径用带时段段约束的的规则表表达式描描述混成成自动机机的行为为,从而而线性时时段性质质相对于于混成自自动机的的满足性性问题转转化成为为相对于于规则表表达式的的满足性性问题;;基于线性性规划的的验证途途径对于不包包含*运运算符的的简单规规则表达达式,由由于规则则表达式式中所包包含的时时段约束束形成了了多组线线性不等等式,同同时线性性时段性性质本身身可以作作为相应应的目标标函数,,因此验验证满足足性问题题可以转转化为一一组线性性规划问问题;基于线性性规划的的验证途途径对于任意意包含*运算符符的一般般规则表表达式R,我们们可以找找出一个个简单规规则表达达式R’’,使得得R和R’在相相对于某某个给定定的线性性时段性性质P的的满足性性问题上上是等价价的,即即R满足足P当且仅当当R’满满足P从而最终终将验证证满足性性问题归归结为线线性规划划问题。。模型检验验工具SoftwareReuse((软件复复用)软件复复用定定义软件复复用过过程软件复用种种类和形式式软件件复复用用经经济济学学构件件软件件体体系系结结构构软件件复复用用定定义义软件件复复用用是是指指通通过过对对已已有有软软件件的的各各种种有有关关知知识识来来建建立立新新的的软软件件,,这这些些知知识识包包括括::领领域域知知识识、、开开发发经经验验、、设设计计经经验验、、设设计计决决定定、、体体系系结结构构、、需需求求、、设设计计、、编编码码、、测测试试和和文文档档等等。。软件复用用的目的的是降低低软件开开发和维维护的成成本,提提高软件件开发效效率,提提高软件件的质量量。可复用的的软件制制品CaperJones定义义了可作作为复用用候选的的10种种软件制制品(artifacts):项目计划划:软件件项目计计划的基基本结构构和许多多内容((如进度度表、风风险分析析)都可可以跨项项目复用用,以减减少用于于制定计计划的时时间。成本估计:由由于不同的项项目中经常含含有类似的功功能,所以有有可能在极少少修改或不修修改的情况下下,复用对该该功能的成本本估计。体系结构:某某些应用软件件的体系结构构往往非常相相似,因此有有可能创建一一组公共的体体系结构模板板(如,事物物处理体系结结构),并将将那些模板作作为可复用的的设计框架。。需求模型和和规约:类类和对象模模型及其规规约是明显显的复用候候选者,此此外,用传传统软件工工程方法开开发的分析析模型(如如数据流图图)也是可可复用的。。设计:用传传统方法开开发的体系系结构、数数据、接口口和过程化化设计都是是复用的候候选者,系系统设计和和对象设计计也是可复复用的。可复用的软软件制品源代码:经经过验证的的程序代码码是复用的的候选者。。用户文档和和技术文档档:即使特特定的应用用有所不同同,但经常常可复用部部分用户文文档和技术术文档。用户界面::这是最广广泛被复用用的软件制制品。由于于用户界面面部分约占占一个应用用软件的60%的代代码量,因因此其复用用效率极高高。数据:在大大多数经常常被复用的的软件制品品中,可复复用的数据据包括:内内部表、记记录结构以以及文件和和完整的数数据库。测试案例::一旦设计计或代码被被复用,则则其相应的的测试案例例也应被复复用。软件复用的的过程抽象:对已已有软件制制品的简要要描述,从从中抽取该该制品的本本质信息((即可复用用部分),,屏弃那些些细节;选取:用户户根据已有有软件制品品的抽象,,寻找、比比较和选择择最适合他他需要的制制品(可复复用件);;特化:对已已有制品((可复用件件)的修改改或形成它它的一个实实例(例化化后的复用用件);集成:将例例化后的复复用件集成成为应用系系统。软件复用的的粒度代码和设计计拷贝代码拷贝是是指从熟悉悉的已有系系统中成块块地拷贝其其中的源代代码,设计计拷贝是指指拷贝一大大块代码,,删去其中中的内部细细节,但保保持设计的的总体框架架。这类复用的的特点是从从已设计、、实现、调调试好的类类似系统中中尽可能多多地成块地地拷贝源代代码。复用用者通常是是已有软件件的开发者者,或对已已有软件比比较熟悉的的人,他能能较容易地地找到软件件中可复用用的部分,,通过手工工修改原有有的代码,,使之符合合新的系统统要求,在在集成时主主要解决所所拷贝代码码与当前系系统的命名名问题。这类复用的的优点是由由于对原有有系统很熟熟悉,所以以不用花大大力气去理理解和修改改代码,对对简单的应应用比较有有效。其缺缺点是不同同的开发者者可能拷贝贝不同的片片段;同时时,由于对对原有系统统过于熟悉悉,容易受受原有设计计的影响,,难以使其其很好地适适应新的系系统;这类类复用通常常不适合于于复杂的应应用。软件件复复用用的的粒粒度度源代代码码复复用用源代代码码复复用用是是指指复复用用存存放放在在库库中中的的某某种种高高级级程程序序语语言言书书写写的的源源代代码码构构件件。。这类复复用的的特点点是构构件本本身是是为复复用而而开发发的,,可复复用构构件存存放在在一个个供大大家访访问的的库中中。存存放在在库中中的构构件应应有一一段简简明的的描述述,构构件库库必须须提供供有效效的构构件检检索手手段,,使用用者通通过设设置参参数值值将其其特例例化,,通过过过程程调用用方式式调用用构件件。这类复复用的的优点点是::构件件是参参数化化的,,因此此大大大减少少对构构件的的人工工修改改;由由于构构件已已经经经过充充分的的测试试,因因此可可靠性性比较较高。。其缺缺点是是构件件库极极其庞庞大。。同时时,由由于构构件是是为复复用而而开发发的,,因此此构件件一般般尽可可能的的通用用,从从而增增加了了额外外的开开销。。软件复复用的的粒度度设计和和软件件体系系结构构复用用设计和和软件件体系系结构构复用用是指指对已已有的的软件件体系系结构构和((或))设计计的复复用。。这类复复用的的特点点是不不仅支支持高高层次次的复复用,,也支支持较较低层层次的的复用用。设设计和和软件件体系系结构构可以以存放放在一一个库库中,,并给给以简简单的的描述述。这这种库库必须须对其其提供供有效效的检检索,,使用用者通通过良良好定定义的的接口口进行行集成成。这类复复用的的优点点是::可复复用较较大粒粒度的的软件件制品品,修修改具具有局局部性性。其其缺点点是难难以抽抽象出出简明明的描描述,,存放放体系系结构构的库库难以以管理理。软件复复用的的粒度度应用成成序生生成器器(ApplicationGenerators))应用程程序生生成器器是指指复用用整个个软件件系统统的设设计,,包括括整体体的软软件体体系结结构、、体系系结构构中的的主要要子系系统、、特定定的数数据结结构和和算法法等。。这类复复用的的特点点是::从高高层的的领域域特定定的规规约自自动生生成一一个完完整的的可执执行系系统,,生成成器可可根据据输入入的规规约填填充原原先没没有的的细细节,,它通通常只只针对对一些些成熟熟的领领域。。这类复复用的的优点点是自自动化化程度度高,,能获获取某某个特特定领领域的的标准准,以以黑盒盒形式式输出出结果果(应应用程程序));其其缺点点是难难以构构造特特定的的应用用成序序生成成器。。软件复复用的的粒度度领域特特定的的软件件体系系结构构(Domain-SpecificSoftwareArchitecture,DSSA)DSSA复用是是指对对特定定领域域中存存在的的一个个公共共体系系结构构及其其构件件的复复用。。DSSA的的特点点是::需要要对领领域有有透彻彻的理理解才才能进进行领领域建建模;;库是是针对对特定定领域域的;;领域域模型型、基基准体体系结结构((referencearchitecture)和和库随随着领领域的的发展展而不不断发发展。。这类复复用的的优点点是复复用的的程度度高,,对可可复用用构件件的组组合提提供了了一个个通用用框架架。其其缺点点是前前期投投资很很大。。软件复复用的的形式式垂直式式复用用和水水平式式复用用垂直式式复用用是指指在同同一应应用领领域中中的复复用。。由于于同一一领域域中的的应用用存在在许多多共性性或相相似性性,因因此复复用面面较广广,且且有助助于获获得系系统的的通用用模型型。水平式复复用是指指在不同同应用领领域中复复用通用用的软件件元素,,如数据据结构、、算法、、人机界界面等软软件元素素。由于于不同领领域的应应用一般般差异较较大,因因此除了了一些通通用软件件元素外外,很难难找到可可复用的的构件,,所以水水平式复复用相对对较少。。但是,,随着互互联网的的应用不不断发展展,中间间件以及及各种应应用平台台是水平平式复用用的典型型发展趋趋势。软件复用用的形式式组装式复复用和生生成式复复用组装式复复用是事事先已有有一个可可复用构构件库,,开发软软件时从从库中选选择合适适的构件件,然后后组装成成新系统统(必要要时还要要开发一一些库中中没有的的构件))。这类类复用的的基础是是一个逐逐步完善善的、高高效的构构件库系系统,可可复用的的构件应应有简明明的便于于检索的的描述和和标准的的接口。。这类复复用主要要着重于于源代码码级的复复用。生成式复复用是根根据待开开发软件件的形式式化描述述,通过过应用程程序生成成器自动动生成相相应的应应用软件件。软件复用用的形式式黑盒复用用和白盒盒复用黑盒复用用是指对对可复用用构件不不作任何何修改,,原封不不动地复复用。这这类可复复用构件件通常比比较通用用,它往往往具有有很好的的封装性性,并具具有标准准的接口口。这类类构件的的复用率率往往比比较高,,因此要要求有很很高的可可靠性和和质量。。白盒复用用是指在在复用一一个构件件时需对对其进行行部分修修改,以以适应具具体应用用的需要要。软件复用用经济学学软件复用用有效地地缩短了了软件开开发的时时间,降降低了开开发和维维护的成成本,提提高了软软件的质质量。软件复用用是有代代价的::通常,,创建和和维护一一个可复复用构件件的成本本是在单单个工程程中实现现同样功功能的模模块的成成本的1.5-3倍;;在开发发软件系系统时复复用一个个构件的的成本大大约是开开发与其其功能等等价的模模块的成成本的四四分之一一。一个可复复用构件件通常要要被复用用3-5次才能能收回其其初期开开发的成成本。软件复用用对质量量的影响响可复用构构件在生生产过程程中都已已经过严严格的测测试,虽虽然测试试并不能能发现可可复用构构件的所所有错误误,但在在复用过过程中,,可复用用构件的的错误不不断地被被发现和和排除,,因此随随着复用用次数的的不断增增加,可可复用构构件可看看成几乎乎是无错错误的。。据有关研研究报告告,被复复用代码码中错误误率为每每千行约约有0.9个错错误,而而新开发发代码中中的所有有错误率率是每千千行约有有4.1个错误误。对一一个包含含60%复用代代码的应应用程序序来说,,错误率率是每千千行约有有2.1个错误误,比无无复用的的应用程程序错误误率大约约减少了了50%。软件复用用对生产产率的影影响软件复用用应该渗渗透到软软件开发发各个阶阶段,在在开发的的各个阶阶段都有有可复用用的软件件制品,,复用这这些软件件制品都都能提高高相应工工作的生生产率。。影响软件件生产率率的因素素很多,,如应用用领域、、问题的的复杂性性、开发发队伍的的结构和和大小、、方案的的时效性性、可应应用的技技术等。。由于不不同的应应用中影影响其生生产率的的因素不不同,所所以复用用对生产产率的提提高程度度也不同同。一般般来说,,大约30%-50%的复用用可使生生产率提提高25%-40%。。软件复用用对成本本的影响响假设不采采用软件件复用技技术开发发一个软软件系统统所需的的成本为为C1,,采用软软件复用用技术开开发同一一个软件件所需的的成本为为C2,,那么采采用软件件复用技技术所节节省的成成本不能能简单地地用C1减去C2来估估算。节节省成本本还应扣扣除复用用相关成成本。软件复用用对成本本的影响响与复用相相关的成成本:领域分析析和建模模领域体系系结构开开发为促进复复用所增增加的文文档量可复用软软件制品品的维护护和改进进对从外部部获取的的构件的的版税和和许可证证费可复用构构件库的的创建((或获取取)和操操作对生产和和消费构构件人员员的培训训与复用相相关的成成本应由由多个采采用复用用技术的的项目来来分担,,通常要要经过2-3个个复用的的生产周周期(大大约3年年左右))复用才才能带来来显著的的效益。。构件件构件是指指可以被被明确标标识的软软件制品品,它可可以是需需求分析析和设计计阶段的的产品、、代码、、测试案案例、文文档或软软件开发发过程中中的其他他产品。。可复用构件件是指可被被其他系统统的开发者者复用,以以开发新软软件的构件件(通常我我们说的构构件主要是是指可复用用构件)。。对可复用构构件的要求求构件设计应应该具有较较高的通用用程度构件应易于于调整构件应易于于组装构件必须具具有可检索索性构件必须经经过充分的的测试构件模型3C构件模模型:概念:是关关于“构件件做什么””的抽象描描述,可以以通过概念念去理解构构件的功能能。概念包包括接口规规约和语义义描述两部部分。内容:是概概念的具体体实现,描描述构件如如何完成概概念所刻画画的功能。。本质上,,内容是对对一般用户户隐蔽的信信息,只有有那些企图图修改构件件的人才需需要了解这这些信息。。周境:描述述构件和外外围环境在在概念级和和内容级的的关系,刻刻画构件的的应用环境境,为构件件的选用和和适应性修修改提供指指导。构件模型REBOOT(ReuseBasedonObject-OrientedTechnology))模型:REBOOT是一种基于于呈面(facet)的模型型。通过对对领域进行行分析,得得到一组基基本的描述述特征,这这些特征称称为呈面。。呈面可以以描述构件件执行的功功能、所操操作的数据据、构件应应用的周境境或任何其其他特征。。一个构件件通常包括括以下呈面面:(1))抽抽象象::构构件件概概念念的的抽抽象象性性描描述述。。(2))操操作作::构构件件所所提提供供的的操操作作的的描描述述。。(3))操操作作对对象象::描描述述操操作作的的对对象象。。(4)依赖::描述构件与与外界的依赖赖关系。构件系统一个构件系统统是提供一组组可复用特性性的系统产品品。这些特性性由相互依赖赖和相互连接接的众多构件件(包括各种种类型、相关关联的包和描描述的文档))来体现。一个构件系统统的规模可大大可小,小的的可能只有几几个构件及其其相关的文档档。构件系统中的的构件存在一一些关系,如如一个构件可可以从其他构构件那里继承承其功能;可可以发送消息息给其他构件件;可以与其其他构件关联联、支持协同同工作等。一个构件系统统不是任意的的可复用构件件的集合。构构件系统通常常通过公共的的命名协定、、标准的错误误处理机制和和统一的接口口使集合中的的构件协同工工作并工程化化。构件库管理构件的分类存存储构件检索构件库游览删除构件构件使用情况况评价建造可复用构构件创建领域构件件的设计框架架构造通用性和和可变性强的的构件创建领域构件件的设计框架架在建造构件时时,除应遵循循已有的设计计概念和原则则外,还必须须考虑应用领领域的特征。。Binder建议在设设计时考虑以以下关键问题题:标准数据:应应该研究应用用领域,并标标识出标准的的全局数据结结构(如文件件结构和完整整的数据库)),使得所有有设计的构件件都可以用这这些标准数据据结构来刻画画。标准接口协议议:应该建立立三个层次的的借口协议::构件内接口口、构件外接接口以及人机机接口。程序模板:程程序的结构模模型可以作为为新程序的体体系结构设计计的模板。一旦建立了应应用领域的标标准数据、标标准接口协议议和程序模板板,设计者就就有了一个可可在其中创建建设计的框架架,符合这个个框架设计出出来的新构件件在以后该领领域的复用中中将会有更高高的复用概率率。构造通通用性性和可可变性性强的的构件件为了使使构件件能够够较为为广泛泛地被被复用用,构构件应应具有有较强强的通通用性性和可可变性性。当当一个个构件件被不不同的的应用用复用用时,,构件件的某某些部部分可可能要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 功能性助剂研发和产业化技改项目可行性研究报告写作模板-备案审批
- 住宅楼盘中央空调安装工期计划及成本保证措施
- 二手奢侈品市场鉴定与交易规范行业市场前景预测2025年研究报告
- 初中语文教师语言表达能力研修计划
- 远程会诊服务标准制度流程
- 2025高校课程开发人员培训心得体会
- 2025年新能源汽车二手车市场评估与流通渠道变革研究报告
- 2025版110KV变电站施工期施工进度与成本控制合同
- 2025版环保窗帘销售与安装施工协议
- 二零二五年度绿色食品场商铺租赁合同
- 电气改造施工方案
- RB/T 034-2020测量设备校准周期的确定和调整方法指南
- GB/T 9258.1-2000涂附磨具用磨料粒度分析第1部分:粒度组成
- GB/T 3304-1991中国各民族名称的罗马字母拼写法和代码
- GB/T 28733-2012固体生物质燃料全水分测定方法
- GB/T 1226-2017一般压力表
- GA 1517-2018金银珠宝营业场所安全防范要求
- 部编版二年级下册语文期末考试试卷质量分析
- 《铁路技术管理规程》(普速铁路部分)-14年新版
- 信息系统实施前现状和需求调研计划提纲共享
- 华北理工大学生物药剂学与药物动力学教案
评论
0/150
提交评论