北航“软件工程管理”讲义_第1页
北航“软件工程管理”讲义_第2页
北航“软件工程管理”讲义_第3页
北航“软件工程管理”讲义_第4页
北航“软件工程管理”讲义_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

康一梅kangyimei,SoftwareEngineeringManagement,InformationGathering,TeachingMethod,SoftwareEngineeringtheoriescombinewithcasestudies.,课程介绍,TeachingMethod,项目组成员对项目管理的理解与项目经理的理解同等重要,课程介绍,OurGoals,ProgrammerDesignerProjectManager!ManagerofSoftwareDevelopmentRambulanceswerearrivinglateordoublinguponcalls.Distraughtemergencycallerswerealsoheldinaqueuingsystemwhichfailedtoputthemthroughforupto30minutes.ChrisHumphreys,Nupesdivisionalofficer,saidthatitwashardtoverifyhowmanypeoplemighthavediedbecauseofthedelaysbutitcouldbeasmanyas20.However,theambulanceservicecontradictedclaimsthatone14-year-oldboyhaddiedofanasthmaattachafterwaiting45minutes.Itsaidthatthecallwasdealtwithin28minutes-althoughthePatientsCharterhasatargetof14minutes.Amanof83wasalsosaidtohavediedbeforetheservicerevertedtotheoldsystemat2p.m.onTuesday.Causes:assumedlocationofambulancesknown,memoryleak,operatorsleftoutFrom27/Risks/13.88.html#subj1.1,HumanError,EDBFellesdataASrunsthecomputerservicesofabouthalfofNorwaysbanks.OnThursday2Aug2001,theyapparentlyinstalledabout280disksintheirHitachistorage.Then,insteadofinitializingthenewdisks,theyinitalizedalltheirdisks-therebywipingouttheentirewarehouse.EDBFellesdataitselfdeclinestomakeanystatementsinthecasependingfurthercontactwiththeircustomers,thebanks.Theyareconsideringlawsuits,butifoneoftheirownemployeesmadeausererror,theymayhaveahardtimeofit.,http:/www.digitoday.no/dtno.nsf/pub/dd20010807092448_er_28707255(inNorwegian),ThreatstoHumanLife,Veryfamous(infamous)caseIn1986,twocancerpatientsattheEastTexasCancerCenterinTylerreceivedfatalradiationoverdosesfromtheTherac-25,acomputer-controlledradiation-therapymachine.Therewereseveralerrors,amongthemthefailureoftheprogrammertodetectaracecondition(i.e.,miscoordinationbetweenconcurrenttasks).,Programming/testingErrorAriane5,IttooktheEuropeanSpaceAgency10yearsand$7billiontoproduceAriane5,agiantrocketcapableofhurlingapairofthree-tonsatellitesintoorbitwitheachlaunchandintendedtogiveEuropeoverwhelmingsupremacyinthecommercialspacebusiness.AllittooktoexplodethatrocketlessthanaminuteintoitsmaidenvoyagescatteringfieryrubbleacrossthemangroveswampsofFrenchGuiana,wasasmallcomputerprogramtryingtostuffa64-bitnumberintoa16-bitspace.At39secondsafterlaunch,astherocketreachedanaltitudeoftwoandahalfmiles,aself-destructmechanismfinishedoffAriane5,alongwithitspayloadoffourexpensiveanduninsuredscientificsatellites.Thisdisintegrationhadbegunaninstantbefore,whenthespacecraftswervedoffcourseunderthepressureofthethreepowerfulnozzlesinitsboostersandmainengine.Therocketwasmakinganabruptcoursecorrectionthatwasnotneeded,compensatingforawrongturnthathadnottakenplace.,Ariane5continued,Steeringwascontrolledbytheon-boardcomputer,whichmistakenlythoughttherocketneededacoursechangebecauseofthenumbers,whichinfactwereanerrormessage,comingfromtheinertialguidancesystem.Theguidancesystemhadinfactshutdown36.7secondsafterlaunch,whentheguidancesystemsowncomputertriedtoconvertonepieceofdata-thesidewaysvelocityoftherocket-froma64-bitformattoa16-bitformat=overflowerror.Whentheguidancesystemshutdown,itpassedcontroltoanidentical,redundantunit,whichwastheretoprovidebackupincaseofjustsuchafailure.Guesswhat-thesecondunit(havingthesamesoftware)failedtoo.Inanearlierdesigndecision,theprogrammershaddecidedthatthisparticularvelocityfigurewouldneverbelargeenoughtocausetrouble.Afterall,itneverhadbeenbefore.BUTAriane5wasafasterrocketthanAriane4.Oneextraabsurdity:thecalculationcontainingthebugactuallyservednopurposeoncetherocketwasintheair.Itsonlyfunctionwastoalignthesystembeforelaunch.Soitshouldhavebeenturnedoff.,Whydoessoftwarefail(Charette1989),Terminatedforconvenience/non-performanceofcontract.Completedbutthesystemisnotdeployedasuserscannotorwillnotuseit.Completedbutthesystemdoesnotmeettheoriginallypromisedcost.Completedbutthesystemdoesnotmeettheoriginallypromisedschedule.Completedbutthesystemdoesnotmeettheoriginallypromisedquality.Completedbutthesystemdoesnotmeettheoriginallypromisedcapability.Completedbutthesystemcouldnotbeevolvedinacost-effectivemanner,Whatmakessoftwarespecial?,ThemaindifferencesinsoftwareengineeringcomparedtootherengineeringdisciplinesarelistedBSI,1995.Itisdifficultforacustomertospecifyrequirementscompletely.Itisdifficultforthesuppliertounderstandfullythecustomerneeds.Indefiningandunderstandingrequirements,especiallychangingrequirements,largequantitiesofinformationneedtobecommunicatedandassimilatedcontinuously.Softwareisseeminglyeasytochange.Softwareisprimarilyintangible;muchoftheprocessofcreatingsoftwareisalsointangible,involvingexperience,thoughtandimagination.Itisdifficulttotestsoftwareexhaustively,ASolution-SoftwareEngineering:,Greateremphasisonsystematicdevelopment.Computerassistanceforsoftwaredevelopment(CASE)AconcentrationonfindingouttheusersrequirementsFormal/SemiFormalspecificationoftherequirementsofasystemDemonstrationofearlyversionofasystem(prototyping)Greateremphasesontryingtoensureerrorfreecode,SoftwareEngineering,Definitions:SimpleDefinition:Designing,buildingandmaintaininglargesoftwaresystemsOthers:Softwareengineeringisconcernedwiththetheories,methodsandtoolsfordeveloping,managingandevolvingsoftwareproductsI.SommervilleThepracticalapplicationofscientificknowledgeinthedesignandconstructionofcomputerprogramsandtheassociateddocumentationrequiredtodevelop,operateandmaintainthemB.W.BoehmTheestablishmentanduseofsoundengineeringprinciplesinordertoobtaineconomicallysoftwarethatisreliableandworksefficientlyonrealmachinesF.L.Bauer,WhatisSoftwareEngineering?,Softwareengineeringisthesystematicapproachtothedevelopment,operation,maintenanceandretirementofsoftware.,Thetermsoftwareengineeringisanacknowledgementofthechallengesassociatedwithlarge-scale,high-qualitysoftware.,Cooperationbetweendevelopers,clientsandusers,Sizeandcomplexity,Softwaremustevolveovertime,Asoftwareengineermustusetheprincipleofcomputerscience,engineering,design,management,psychology,sociologyandotherdisciplieswherenecessarytodesignandmanagelargesoftwaresystems,WHATISSOFTWAREENGINEERING?TheIEEEComputerSocietydefinessoftwareengineeringas:(1)Theapplicationofasystematic,disciplined,quantifiableapproachtothedevelopment,operation,andmaintenanceofsoftware;thatis,theapplicationofengineeringtosoftware.(2)Thestudyofapproachesasin(1).,SoftwareEngineering,IntroductiontoSoftwareEngineering,SoftwareEngineering,IntroductiontoSoftwareEngineering,SoftwareEngineering,IntroductiontoSoftwareEngineering,SoftwareEngineering,IntroductiontoSoftwareEngineering,SoftwareEngineering,IntroductiontoSoftwareEngineering,SoftwareEngineering,IntroductiontoSoftwareEngineering,定义科学(物理科学):是一个理性的、按照一定方法理解自然的过程,其主要目标是获得一定的预测能力或解决问题的能力。工程:是利用自然规律创建至少能使一部分人受益的系统。决策:不可更改的资源分配。为一个工程系统如计算机或汽车选择设计参数的过程就是分配资源。设计是一个决策的过程,选择设计参数就是指定决策。系统工程:把工程设计视为决策指定过程的一门学科。,EngineersusesciencetowardspracticalendsSoftwareEngineering=ComputerScience+Engineering,SoftwareEngineeringvsComputerScience,ComputerScience,Engineering,SoftwareEngineering,SoftwareEngineering=ComputerScience+Engineering,ComputerScienceLanguagesAlgorithms/datastructuresMethodsofcomputationFormalmethodsSecurityDatabases/InformationStorageSoftwareparadigms,SoftwareEngineering=ComputerScience+Engineering,EngineeringMethodologiesProcessesProfessionalismEconomics“Doingforadimewhatanyonecandoforadollar”,Teamwork,WorkingwithothersoftwareengineersWorkingwithotherengineers(electrical,mechanical,civil,)WorkingwithmanagersWorkingwithclients,TraditionalSECSRivalry,Challenges,FocusonutilitiesScalabilityMaintainabilityAdaptabilityReusabilityQualityPortabilityEfficiencyUsabilityReliability,TackledwithtechniquessuchasSeparationofconcernsPolicy/mechanismModularisationAbstractionPatterns&reuseTackledusingprocessessuchasReviewTestingDocumentation,DefinitionofProjectoutofControl,软件失控项目就是由于在创建系统所需软件时遭遇到困难,从而导致大大超出可控制范围的项目。,如果所用时间是预计时间的两倍以上或费用超出预算两倍以上的项目为失控项目。软件开发的滑铁卢,软件失控项目是显著未能实现目标和(或)至少超出原定预算30%的项目。KPMG1995,ProjectManagement,IntroductiontoSoftwareProjectManagement,ProjectoutofControl,“野心过大”造成失败,多数失控项目都是或曾经是大型项目。多数失控项目失败原因有多种。可能有、也可能没有起主导作用的原因,但总会有多个问题导致失败。很多失败项目在开发初期被人们赞誉为“有重大进展”,与将要替换掉的系统相比,这些项目具有极大的优势。如果该项目不是被全面展开,人们似乎都看不到有失败的可能。进度超时(89%)比成本超额(62%)更为普遍。首先意识到项目失控的是项目团队(72%),只有19%的项目失控是由高层领导首先意识到的。55%的失控项目没有实行过任何风险管理,而在38%实行了风险管理的项目中,50%在启动之后没有使用风险发现(riskfinding)。技术越来越成为项目失控的原因,而且势头发展迅猛。,ProjectManagement,IntroductiontoSoftwareProjectManagement,ProjectManagement,IntroductiontoSoftwareProjectManagement,TheinvestigationinUSAandUKindicatedthatthefailureof50%out-of-controlled-projectsareduetotechnicalproblems.Technologyisfundamentalityofsoftwareprojects.Projectmanagementistoensurethesuccessfulimplementationofpropertechnicaldesign.,TechnicalProblems,NewTechnicalSolutionsSystemStructureDesignPerformance,IntroductiontoSoftwareProjectManagement,ProjectManagement,坦率地说,微软所面临的挑战之一是它的很多员工还没有遭遇过多少次失败。很多人从未遇到过失败的项目。结果是,人们把成功视为理所当然的事,这是很危险的人们遭遇失败时,将被迫发挥出创造性,不分昼夜地深入探索并苦思冥想。每个公司都需要有过这种经历的人。比尔.盖茨“犯错的重要性”,美国航空杂志,项目团队必须满足“一定会完成项目”的最低层次需求,接着再来考虑有关时间和预算目标百分之十上下的问题。微软项目求生法则,Microsoft,IntroductiontoSoftwareProjectManagement,ProjectManagement,Suggestion,IntroductiontoSoftwareProjectManagement,ProjectManagement,Managementisabudgetitemforsystemdevelopment.Selectordesignyourownmanagementpatternandfinancialplanaccordingtoyourstatusquo.,ClassicMistakes,People挫伤积极性人员素质低对有问题的员工失控英雄主义项目后期加入人员办公环境拥挤嘈杂开发人员与客户发生摩擦不现实的预期缺乏有效的项目支持(高层)缺乏各种角色的齐心协力缺乏用户介入政治高于物质充满想象,IntroductiontoSoftwareProjectManagement,ClassicMistakes,Process过于乐观的计划缺乏足够的风险管理承包人导致的失败缺乏计划在压力下放弃计划在模糊的项目前期浪费时间前期活动不合要求设计低劣缺少质量保证措施缺少管理控制太早或过于频繁集成项目估算时遗漏必要的任务追赶计划卤莽编码,IntroductiontoSoftwareProjectManagement,ClassicMistakes,Product需求镀金功能蔓延开发人员镀金又推又拉的交易研究导向的开发,IntroductiontoSoftwareProjectManagement,ClassicMistakes,Technology银弹综合症过高估计了新技术或方法带来的节省量项目中间切换工具缺乏自动的源代码控制手段,IntroductiontoSoftwareProjectManagement,TheIdealModel,IntroductiontoSoftwareProjectManagement,CapabilityMaturityModel,INITIAL,REPEATABLE,DEFINED,MANAGED,OPTIMIZING,54321,Adhoc,Individual,BasicPM,Similar,StdSWProcess,Quantified&Measured,QuantifiedFeedback,IntroductiontoSoftwareProjectManagement,ProjectManagement,1.ProjectIntegrationManagement,2.ProjectScopeManagement,3.ProjectTimeManagement,4.ProjectCostManagement,5.ProjectQualityManagement,6.ProjectHumanResourceManagement,7.ProjectCommunicationsManagement,8.ProjectRiskManagement,9.ProjectProcurementManagement,IntroductiontoSoftwareProjectManagement,ManagementMaturity,ScopeManagementQualityManagementTimeManagementCostManagementHumanResourceManagementContractor/ProcurementManagementCommunicationsManagementIntegrationManagementRiskManagement,BaselineBuildingaTeamBuildingaProjectBuildingSuccess,IntroductiontoSoftwareProjectManagement,SoftwareProject,GeneralProduct,SystemSoftwareDevelopmentPlatformsCommercialSoftwareEmbeddedSoftware,ApplicationSolution,ServiceProject,ImplementationProject,IntroductiontoSoftwareProjectManagement,Softwaredevelopmentorientedbycustomerrequirements.,SuccessVision,IdentifyStrategicCustomerNeedsUtilizeLeastCostOfferExpectedFunctionsandmoreImplementFastestScheduleEnabl

温馨提示

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

评论

0/150

提交评论