您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 高级软件工程第一章ppt
1Chapter1SoftwareandSoftwareEngineering软件和软件工程SoftwareEngineering:APractitioner’sApproach,6theditionbyRogerS.Pressman2软件定义一组配置计算机程序(指令集合)数据结构文档3工程的定义大的、复杂的事情施工的过程一类学科4意外法则50年前没有人会想到软件是商业、科学、工程的必须技术软件可以嵌入到任何系统中软件需要维护且维护量大……5软件的本质双重作用产品产品交付载体6Software’sDualRoleSoftwareisaproductTransforms(转换)information-produces,manages,acquires(获取),modifies,displays,ortransmits(传输)informationDeliverscomputingpotential(潜力)ofhardwareandnetworksSoftwareisavehiclefordeliveringaproductControlsotherprograms(operatingsystem)Effectscommunications(networkingsoftware)Helpsbuildothersoftware(softwaretools&environments)7软件开发人员面临的问题软件为什么需要如此长的开发时间?为什么开发成本居高不下?为什么在交付之前无法找到错误?为什么维护需要高昂的时间和人力代价?为什么开发和维护过程难以度量?8SoftwareApplicationssystemsoftwareapplicationsoftwareengineering/scientificsoftwareembeddedsoftwareproduct-linesoftwarewebapplicationsAIsoftware9Hardwarevs.SoftwareHardwareSoftwareManufacturedWearsoutBuiltusingcomponentsRelativelysimpleDeveloped/engineeredDeterioratesCustombuiltComplex10Manufacturingvs.DevelopmentOnceahardwareproducthasbeenmanufactured,itisdifficultorimpossibletomodify.Incontrast,softwareproductsareroutinelymodifiedandupgraded.Inhardware,hiringmorepeopleallowsyoutoaccomplishmorework,butthesamedoesnotnecessarilyholdtrueinsoftwareengineering.Unlikehardware,softwarecostsareconcentratedindesignratherthanproduction.11Wearvs.DeteriorationHardwarewearsoutovertime初期失败率磨损失效率12Wearvs.DeteriorationSoftwaredeterioratesovertime由于变更的副作用导致失效率提高13ComponentBasedvs.CustomBuiltHardwareproductstypicallyemploy(使用)manystandardizeddesigncomponents.Mostsoftwarecontinuestobecustombuilt.Thesoftwareindustrydoesseemtobemoving(slowly)towardcomponent-basedconstruction.14银弹在古老的传说里。狼人是不死的。想要杀死狼人有几种方法:1.像杀死吸血鬼那样用木桩钉住狼人的心脏。2.将月光遮住3.用银子做的子弹射穿狼人的心脏或头当然现实中是没有狼人的。但现实中确实有银弹这个东西。而其意义也类似于能杀死狼人的最好办法。现实中的狼人可以是一个棘手的项目,或者一件不可能的事。而“银弹”就是指能解决这些事的方法,或者技术手段。15IT银弹《没有银弹》(NoSilverBullet)是IBM大型电脑之父佛瑞德·布鲁克斯(FredBrooks)在1987年所发表的一篇关于软体工程的经典论文。该论述中强调由于软体的复杂性本质,而使真正的银弹并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软体工程的生产力在十年内提高十倍。真正好的项目,需要便捷的开发技术。但没有一种技术能彻底的舍弃了人的存在。16SoftwareComplexityIbelievethehardpartofbuildingsoftwaretobethespecification,design,andtestingofthisconceptualconstruct,notthelaborofrepresentingitandtestingthefidelityoftherepresentation.Ifthisistrue,buildingsoftwarewillalwaysbehard.Thereisinherentlynosilverbullet.-FredBrooks,“NoSilverBullet”(互操作)withothermoremodernsystemsordatabases.Softwaremustbere-architectedtomakeitviablewithinanetworkenvironment.Whymustitchange?18软件的本质特性构造性演化性19E-TypeSystemsE-TypeSystems:Softwarethathasbeenimplementedinareal-worldcomputingcontextandwillthereforeevolveovertime20SoftwareEvolutionTheLawofContinuingChange(1974):E-typesystemsmustbecontinuallyadaptedelsetheybecomeprogressivelylesssatisfactory.持续变更原则:否则将越来愈不适应。Source:Lehman,M.,etal,“MetricsandLawsofSoftwareEvolution—TheNinetiesView,”Proceedingsofthe4thInternationalSoftwareMetricsSymposium(METRICS'97),IEEE,1997,canbedownloadedfrom:~perry/work/papers/feast1.pdf21SoftwareEvolutionTheLawofIncreasingComplexity(1974):AsanE-typesystemevolvesitscomplexityincreasesunlessworkisdonetomaintainorreduceit.复杂性增加原则:除非去维护他或降低其复杂性。Source:Lehman,M.,etal,“MetricsandLawsofSoftwareEvolution—TheNinetiesView,”Proceedingsofthe4thInternationalSoftwareMetricsSymposium(METRICS'97),IEEE,1997,canbedownloadedfrom:~perry/work/papers/feast1.pdf22SoftwareEvolutionTheLawofSelfRegulation(1974):TheE-typesystemevolutionprocessisself-regulatingwithdistributionofproductandprocessmeasuresclosetonormal.自我调节原则:随产品发布和过程度量接近于标准自我控制。Source:Lehman,M.,etal,“MetricsandLawsofSoftwareEvolution—TheNinetiesView,”Proceedingsofthe4thInternationalSoftwareMetricsSymposium(METRICS'97),IEEE,1997,canbedownloadedfrom:~perry/work/papers/feast1.pdf23SoftwareEvolutionTheLawofConservationofOrganizationalStability(1980):TheaverageeffectiveglobalactivityrateinanevolvingE-typesystemisinvariantoverproductlifetime.组织稳定性保护原则:在整个产品生命周期里,平均整体活动率是不变的。Source:Lehman,M.,etal,“MetricsandLawsofSoftwareEvolution—TheNinetiesView,”Proceedingsofthe4thInternationalSoftwareMetricsSymposium(METRICS'97),IEEE,1997,canbedownloadedfrom:~perry/work/papers/feast1.pdf24SoftwareEvolutionTheLawofConservationofFamiliarity(1980):AsanE-typesystemevolvesallassociatedwithit,developers,salespersonnel,users,forexample,mustmaintainmasteryofitscontentandbehaviortoachievesatisfactoryevolution.通晓保护原则:所有与之有关的开发者、销售人员、用户等必须保持对它的内容和行为的掌握,以便达到满意的演化。25SoftwareEvolutionTheLawofContinuingGrowth(1980):ThefunctionalcontentofE-typesystemsmustbecontinuallyincreasedtomaintainusersatisfactionovertheirlifetime.持续增长原
本文标题:高级软件工程第一章ppt
链接地址:https://www.777doc.com/doc-6385302 .html