第-章-软件工具和面向对象软件工程优秀文档_第1页
第-章-软件工具和面向对象软件工程优秀文档_第2页
第-章-软件工具和面向对象软件工程优秀文档_第3页
第-章-软件工具和面向对象软件工程优秀文档_第4页
第-章-软件工具和面向对象软件工程优秀文档_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1传统软件工程的困境及解决2.2经典的软件工程与建模工具

2.3自动化的测试工具Panorama第2章软件工具和面向对象工程2.1传统软件工程的困境及解决2.1.1传统软件工程面临的困境1.在分析方面

开发者不熟悉业务对用户需求了解不透过早离开用户,闭门造车功能模型与信息模型联系不紧难以适应面向对象的编程在设计方面软件开发技术发展滞后软件系统庞大复杂。

在测试和运行方面文档资料不规范测试花费大软件难以适应新的环境和需求软件管理不足,文档不能及时更新功能模型与信息模型联系不紧Panorama/OO-SQA是最强有力的面向对象的质量管理工具。Panorama的领先技术(1)业务系统规划工具通过将企业的策略性信息需求模型化,这类工具提供一个可导出特定信息系统的“元模型”,这样可使业务信息远行于企业的各个部门。Bringsyougreatsavingsinsystem-levelre-testing.4Panorama/OO-TestAllowsyoutoviewalltherelevanttestresultseasilyandlocateproblemsquickly.4Panorama/OO-TestIthelpsyoutogreatlyreducethetimeandcostofsystem-levelsoftwarere-testing.功能模型与信息模型联系不紧面向对象测试(OOT)Providesyouamulti-levelunderstandingofyoursystemfromtopleveltosub-systemlevel,allowsyoutodynamicallynavigatethroughittounderstanditsdetailedstructure.功能模型与信息模型联系不紧Allowsyoutoviewalltherelevanttestresultseasilyandlocateproblemsquickly.Exploresthebehaviorofglobalandstaticvariables,helpsyoufindpotentialproblemsandreducethere-engineeringeffortrequiredindatamodification.1Panorama发展历史2Panorama领先的技术软件开发工具是指支持软件生存期中策一阶段(如需求分析、设计、编码、测试或运行维护等)的任务实现而使用的计算机程序

目前,软件开发工具种类繁多,按功能可将软件开发工具分为如下几类。(1)业务系统规划工具通过将企业的策略性信息需求模型化,这类工具提供一个可导出特定信息系统的“元模型”,这样可使业务信息远行于企业的各个部门。2.1.2软件工具(2)项目管理工具借助这类工具,项目管理者可以有效地估算软件项目所需的工作量、成本和研制周期等,可以定义一个功能分解结构,并制定可行的项目开发计划;基于需求跟踪项目的开发情况;可采集度量数据,以此评价软件开发效率和产品质量。由此可见,这类工具又可详细分为项目计划工具、需求跟踪工具及度量和管理工具等。(3)支持工具这类工具用于支持软件工程过程,具体包括文档编制工具、系统软件工具、质量保证工具、数据库管理工具和软件配置管理工具等。(4)分析和设计工具

这类工具是用于建立待开发系统的模型,并评价模型的质量,通过对模型进行一致性和有效性检查,保证分析与设计的完整性。它除包括支持某种开发方法的工具外,还包括基于规则体系的分折与设计机,这种分析与设计机是一种期望产品,它可使工具适用于各种分析和设计方法。

(5)编程工具

这类工具包括用于支持大多数传统编程语言的编译器、编辑器和调试器等,从工具输出来看,4GL也属于这一类。

(6)测试与分析工具常用的测试与分析工具包括静态分析工具和动态测试。 前者是在不执行任何测试用例的前提下分析源程序的内部结构,后者则通过执行测试用例对被测程度进行覆盖测试,支持语句、分支和逻辑路径覆盖.以发现程序的结构和逻辑错误 (7)原型工具

作为除瀑布式开发模式以外的另一主要开发模式是原型开发模式,固其运用的灵活性和用户需求反应的快捷性愈来愈受到重视,特别是随着软件构件重用研究的深入,更增强了这种开发模式的实用价值。但原型的构造离不开经验信息,所以支持原型开发模式的原型工具的发展日趋专用化,诸如用于用户界面设计的原型工具可利用图形包快速构造出应用系统的界面,供用户评价,以确定最终产品的界面形式。

(8)维护工具

用于协助维护活动的完成,包括当运行发现问题时,定位到相应的软件开发基线;软件配置不完备时由源程序到分析与设计模型的逆转换工具等。由上可见,软件开发工具种类繁多,各类工具又因支持不同方法相应用的不同领域而明显具有不容性。这些工具如何协调高效地支持整个软件开发过程,必须引入完善的集成机制,来使多个工具有效地结合而形成功能强大的软件开发环境。2.1.3面向对象的软件工程 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的。我们把客观世界中的实体抽象为问题域中的对象。

2.1.4面向对象技术面向对象分析(OOA)面向对象设计(OOD)面向对象程序设计(OOP)面向对象测试(OOT)2.2经典的软件工程与建模工具

PlayCASE建模工具(以下简称PlayCASE)反映了软件工程的最新进展,适合各种规模软件系统的开发。它继承并发挥了经典的结构化方法、信息工程方法和面向对象方法的优点,创造性地集成了美国军方的IDEF(IntegrationDEFinition)系列软件开发规范,提供了面向对象的集成化的IDEF方法——I2DEF方法(IntegratedIDEF),包括结构建模、动态建模和功能建模的手段

PlayCASE创造性地把业务调查、需求定义、总体设计、详细设计及程序生成等软件开发过程结合为一体,适合生命周期法、原型法及其混合形式,极大地提高了软件系统开发的效率和质量,满足了各方面需要。 PlayCASE以循序渐进的方式推进软件的开发过程,彻底解决了各个开发阶段“鸡犬之声相闻,老死不相往来”的问题,每个阶段的分析设计文档都可在后续工作中全部直接利用,达到不断完善的目的。PlayCASE简介幻灯片PlayCASE的工作界面2.3自动化的测试工具Panorama2.3.1Panorama发展历史

Panorama的第一代原型系统是“SoftwareMaintenanceSolution”(软件维护解决方案)”,第二代产品称为“Hindsight”(后景),第三代产品称为Panorama(全景),现在是Panorama++。Panorama的客户遍布美国、日本、英国、法国、德国等十多个国家,在SunMicrosystems、Canon、Toshiba、Sony、SiemensAG、Nikon等100多家公司中得到实际应用并广受好评。Panorama的主要特点集成化自动化综合性友好界面高效率独立方法学2.3.2Panorama系统特点Panorama的领先技术软件难以适应新的环境和需求3自动化的测试工具PanoramaDiagrammedcodefacilitatesreadingandunderstanding.3自动化的测试工具PanoramaPlayCASE以循序渐进的方式推进软件的开发过程,彻底解决了各个开发阶段“鸡犬之声相闻,老死不相往来”的问题,每个阶段的分析设计文档都可在后续工作中全部直接利用,达到不断完善的目的。Bringsyouadeeperunderstandingofclassesinyourobject-orientedsoftwaresystems.软件配置不完备时由源程序到分析与设计模型的逆转换工具等。但原型的构造离不开经验信息,所以支持原型开发模式的原型工具的发展日趋专用化,诸如用于用户界面设计的原型工具可利用图形包快速构造出应用系统的界面,供用户评价,以确定最终产品的界面形式。Thetestcoveragedataareshowninavarietyofeasy-to-seeformatsforquickoverviewordetaileduntestedsegmentlocating.Providesyouamulti-levelunderstandingofyoursystemfromtopleveltosub-systemlevel,allowsyoutodynamicallynavigatethroughittounderstanditsdetailedstructure.Allowsyoutoviewalltherelevanttestresultseasilyandlocateproblemsquickly.Automatesyoursystemsdocumentationbothon-andoff-line,freesyoufromsearchingfortherequiredinformationbyhandandmakesyoursystemseasytomaintain.2.3.2Panorama领先的技术Panorama的领先技术开发技术分析技术流程图化表达技术测试分析技术质量保证技术文档自动生成技术2.3.3Panorama工具系列和功能Panorama/OO-Browse(教材19页)

Panorama/OO-Browse浏览器是一个独立软件设计和再生成工具包,被集成到Panorama软件工程环境中: 1.Givesyoutheoverviewofthefunctionandclassorganizationofanentiresystem. 2.Providesyouamulti-levelunderstandingofyoursystemfromtopleveltosub-systemlevel,allowsyoutodynamicallynavigatethroughittounderstanditsdetailedstructure.

3.Reducescostlycodingandtestingerrors.Whenyoucodefollowingthebottom-upcodingorder,criticalmodulescanbecodedandtestedfirst.Thenwhenyouwriteamodulecall,thecalledmoduleshouldalreadyhavebeencodedandcanbeviewed;whenyouperformunit/systemtesting,youdonotneedtodesignstubmodulestoreplaceuncoded/untestedmodules. 4.Enablesyoutoeasilymodifyamodulewithouthavingtomemorizewhatfileunderwhatdirectorycontainsthemodule. 5.Showsyouthedetailedmodulediagramsofyoursystem.Diagrammedcodefacilitatesreadingandunderstanding. 6.Pinpointstherelatedmodulesquicklyanddynamicallytomakeyoursystemeasytounderstand,inspect,test,andmaintain.Whenyoumodifyamodule,youcaneasilydeterminewhatothermodulesmaybeaffected. 7.Allowsyoutoquicklyidentifyproblemssuchastheruntimebottle-neck,unmaintainablecode,andthelesstestedmodulesbyofferingyouavisualoverviewoftherelatedinformation; 8.Helpsyoutodocumentyoursystemdevelopmentprogress;providesyouwithaframeworkfordiscussingthesystemwithyourteammembers. 9.Facilitatesyoursoftwaredevelopmenttasks.Youcanactivatemostfunctionsbyasimplemouseclick;easilycustomizetheformatofJ-Chart;andefficientlyzoominonthepartsyouareinterestedinusingViewFinder.Panorama/OO-Diagrammer(教材20页) Panorama/OO-Diagrammer是使用ISA的动态图表表示法技术开发的。它直接地从用户的原始代码生成J-Diagram图,J-Flow图和ActionPlusDiagrams图 1.Assistsyouinunderstandingyourprogramlogic--adynamicpictureisworththousandsofwordsinrepresentingalargesystem.WithPanorama/OO-Test,testcoverageresultscanbeshownintheJ-Diagramgenerated.Inparticular,unexecutedelementscanbehighlightedtohelpyoufindthemquicklyanddesignthecorrespondingtestcaseeasily. 2.Givesyouadetailedviewofyourprogramcontrolflowtohelpyouidentifycomplexcode,performlogicdebugging,andplanandreviewtesting. 3.OffersyouanenhancedversionoftheActionDiagramforcodeunderstanding. 4.Enablesyoutoobtainquicklyafullunderstandingofyourprogramfromsystem-leveldirectlytothemodule-level.Noneedtosearchforthecorrectlogicdiagramormatchupahigh-leveldiagramwiththerightlow-leveldiagrambyhand. 5.Simplifiestestcasedesigningforexecutingtheunexecutedpaths. 6.Providesyouwithadeepunderstandingoftheclassstructureforcodereusabilityandmaintainability. 7.Enablesyoutocommentonthediagrammedcodewithon-linemarkersforlaterreferencing,andtoefficientlyeditthecodewhileviewingthediagram.

8.Facilitatescodeinspectionandwalk-through.Forexample,youcanclickontheactivenumberassociatedwithafunctioncallstatementtodirectlyviewthecalledfunction.Itiseasytowalk-throughaevencomplexprogram. 9.Helpsyoutodocumentyoursourcecode.Converteasilyfromonetypeofdiagramtoanother.Usehardcopiesofdiagramstodocumentyourdevelopmentprogress.Panorama/OO-Analyzer Panorama/OO分析仪也是集成在Panorama中的一个独立工具。它提供多数全面分析能力,自动生成包括系统/类/函数/数据/复杂/性能/测试覆盖面等,并提供超过100个的分析报告。 1.Enablesyoutodocumentproductivity,programreadabilityandrequiredre-engineeringeffortforasoftwaresystem. 2.Bringsyouadeeperunderstandingofclassesinyourobject-orientedsoftwaresystems. 3.Helpsyoutounderstandtherelationshipsbetweenconventionalfunctions:estimatethedegreeoffunctioncouplingandcohesion,identifyotherfunctionsthatmayneedmodificationwhenonefunctionismodified,andpinpointpotentialproblemsidentifiedbyunusedfunctionsinthesystem. 4.Makesspecialfunctionsaseasytounderstandasconventionalfunctions.Inparticular,confusionswithoverloadingfunctionscanbeavoided. 5.Exploresthebehaviorofglobalandstaticvariables,helpsyoufindpotentialproblemsandreducethere-engineeringeffortrequiredindatamodification. 6.Givesyouanevaluationofthestructureofyourprogram,helpsyoufindpotentialproblemsidentifiedbyunusedlabels. 7.Offersyouawaytomeasureandimproveprogrammaintainabilityandtestability,helpsyouperformbettertestplanning. 8.Pinpointstheperformancebottlenecksforyoutohelpyouimprovetheoverallperformanceofyoursoftwaresystems. 9.Assistsyouinmeasuringthereliabilityofyoursoftwaresystemsandtheefficiencyofyourstructuraltesting,givesyougreatflexibilitytomeetyoursoftwaretestingneedsfromlowcosttohighquality. 10.Automatesyoursystemsdocumentationbothon-andoff-line,freesyoufromsearchingfortherequiredinformationbyhandandmakesyoursystemseasytomaintain.Panorama/OO-Test Panorama/OO-test是最强的测试覆盖分析和测试用例最小化工具包。它解决二个“50%”的问题:50%软件成本被花费在测试上;在运用功能测试的进行“充分测试”中,仅50%代码被测试过。 1.Simplifiesyourtestplanningandtestcasedesign.Understandingthecontrolflowofafunctionallowsyoutocreatetherighttestcasesformorethoroughtesting.Complexityanalysishelpsyoutoplanthetestingprocessbyidentifyingcomplicatedcodethatmaytakemoretestingeffort. 2.Givesyoumoretestingflexibility.PlayCASE创造性地把业务调查、需求定义、总体设计、详细设计及程序生成等软件开发过程结合为一体,适合生命周期法、原型法及其混合形式,极大地提高了软件系统开发的效率和质量,满足了各方面需要。Givesyouanevaluationofthestructureofyourprogram,helpsyoufindpotentialproblemsidentifiedbyunusedlabels.Bringsyougreatsavingsinsystem-levelre-testing.2经典的软件工程与建模工具目前,软件开发工具种类繁多,按功能可将软件开发工具分为如下几类。Inparticular,unexecutedelementscanbehighlightedtohelpyoufindthemquicklyanddesignthecorrespondingtestcaseeasily.Providesyouamulti-levelunderstandingofyoursystemfromtopleveltosub-systemlevel,allowsyoutodynamicallynavigatethroughittounderstanditsdetailedstructure.6Panorama/OO-PlaybackPlayCASE以循序渐进的方式推进软件的开发过程,彻底解决了各个开发阶段“鸡犬之声相闻,老死不相往来”的问题,每个阶段的分析设计文档都可在后续工作中全部直接利用,达到不断完善的目的。Panorama的领先技术Thenwhenyouwriteamodulecall,thecalledmoduleshouldalreadyhavebeencodedandcanbeviewed;whenyouperformunit/systemtesting,youdonotneedtodesignstubmodulestoreplaceuncoded/untestedmodules.我们把客观世界中的实体抽象为问题域中的对象。Givesyouanevaluationofthestructureofyourprogram,helpsyoufindpotentialproblemsidentifiedbyunusedlabels.Pinpointstherelatedmodulesquicklyanddynamicallytomakeyoursystemeasytounderstand,inspect,test,andmaintain.3Panorama工具系列和功能Whenyoumodifyamodule,youcaneasilydeterminewhatothermodulesmaybeaffected. 3.Providesthemostcomprehensivecoverageanalysiscapabilitytomeetyourdifferenttestingneeds--fromhighqualitytolowcost. 4.Helpsyoutotraceprogramexecutionandfindpotentiallogicproblems. 5.Pinpointsthesourcelocationsoffatalrun-timeerrors. 6.Reducesyourtimeinunitre-testing.OO-Testidentifiesclearlywhatcodecanbetestedbyeachtestcase,andwhattestcasescanbeusedtotesteachclass/function/segment.Soafteramodule-levelmodification,youonlyneedtore-runthecorrespondingtestcases. 7.Bringsyougreatsavingsinsystem-levelre-testing.Panorama/OO-Testautomaticallyselectsaminimalsubsetoftestcasesfromyourentiretestcasesetandguaranteesthesameleveloftestcoverageresult.Ithelpsyoutogreatlyreducethetimeandcostofsystem-levelsoftwarere-testing. 8.Allowsyoutoviewalltherelevanttestresultseasilyandlocateproblemsquickly.Thetestcoveragedataareshowninavarietyofeasy-to-seeformatsforquickoverviewordetaileduntestedsegmentlocating.Panorama/OO-Testalsoprovidesmorethan40differentreportstodocumentyoursystems. 9.Makesyourtestingtaskseasier.Panorama/OO-Testallowsyoutospecifyaprojectwithonlyamakefile.Youcanselecteitherthegraphicuserinterfaceorthecommandline.Panorama/OO-SQA 运用传统基于过程的质量测量方法是不可能精确地测量一个面向对象的系统的质量的。Panorama/OO-SQA是最强有力的面向对象的质量管理工具。 1.Assistsyouinestablishingpracticalandmeasurablesoftwarequalitystandardsforyourcompanyorprojectteam. 2.Helpsyoutopreciselymeasureproductivityandsystematicallyestimatethecodereadabilityandtherequiredre-engineeringeffortforasoftwaresystem. 3.Offersyouawaytopreciselymeasureandimprove

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论