




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AnIntroductiontoSoftwareEngineering,Objectives,IntroducesoftwareengineeringandtoexplainitsimportanceSetouttheanswerstokeyquestionsaboutsoftwareengineering,FAQsaboutsoftwareengineering,Whatissoftwareengineering?Whatisthedifferencebetweensoftwareengineering,computerscience,andsystemsengineering?Whatisthesoftwarecrisis?Whatarethecostsofsoftwareengineering?Whatissoftwareandwhataretheattributesofgoodsoftware?Whatisasoftwareprocessandasoftwareprocessmodel?Whataresoftwareengineeringmethods?WhatisCASE(Computer-AidedSoftwareEngineering)Whatarethekeychallengesfacingsoftwareengineering?,Whatissoftwareengineering?,“Theestablishmentanduseofsoundengineeringprinciplesinordertoobtaineconomicallybuiltsoftwarethatisreliableandworksefficientlyonrealmachines.”,“SoftwareEngineering:(1)Theapplicationofasystematic,disciplines,quantifiableapproachtothedevelopment,operation,andmaintenanceofsoftware;thatistheapplicationofengineeringtosoftware.(2)Thestudyofapproachesasin(1).”,IEEEDefinition(1993),ClassicDefinition(1969),FromWikipedia,“Softwareengineeringistheapplicationofasystematic,disciplined,quantifiableapproachtothedevelopment,operation,andmaintenanceofsoftware.,SoftwareEngineeringvs.ComputerScience,Computerscienceisconcernedwiththeoryandfundamentals;softwareengineeringisconcernedwiththepracticalitiesofdevelopinganddeliveringusefulsoftware.Computersciencetheoriesarestillinsufficienttoactasacompleteunderpinningforsoftwareengineering(unlikee.g.physicsandelectricalengineering).,SoftwareEngineeringvs.ComputerScience,COMPUTERSCIENCE,CUSTOMER,SOFTWAREENGINEERING,Theories,ComputerFunctions,Problem,ToolsandTechniquestoSolveProblem,Softwarevs.Hardware,Youcantsee,touch,orfeelsoftwareSoftwareisonlyengineered,notmanufacturedSoftwaredoesntwearoutSoftwareiscomplexSoftwareisadifferentiatorSoftwarecanbehavelikeanagingfactory,Communicationisacriticalelement.,SoftwareEngineeringvs.SystemEngineering,Systemengineeringisconcernedwithallaspectsofcomputer-basedsystemsdevelopmentincludinghardware,softwareandprocessengineering.Softwareengineeringispartofthisprocessconcernedwithdevelopingthesoftwareinfrastructure,control,applicationsanddatabasesinthesystem.Systemengineersareinvolvedinsystemspecification,architecturaldesign,integrationanddeployment.,WhattoStudyinSoftwareEngineering?,ProductsproducedProcessesusedtoproducetheproducts,Thefinalproductsaresoftwarecomponents.Theymaybefullyexecutablescomponents,programs,modules,systems,orsimplymethods.Therearemanysoftwaredeliverablesbetweenthespecificationoftheproductsandtheactualproducts.,Thesoftwaredevelopmentlifecycledescribesthedevelopmentprocessforproducingsoftwareproducts.Howevertherearemanyotheritemswithintheprocess.Wewillinvestigatethefullprocessofsoftwareengineering.,Somecorequestions,Whatisthesoftwareproduct?Whodoessoftwareengineeringoftheproduct?Whyissoftwareimportant?Whatarethestepsinsoftwareengineering?Whatistheworkproductoftheengineeringprocess?Howdoweensureproductsarebuiltcorrectlyandthatthecorrectproductisbuilt?,ProblemsBehindthe“SoftwareCrisis”,IncreasedsizeandcomplexityofsystemsCostoverrunsDesignbugsafterimplementationMaintenancerippleeffectRequirementsanddesignneededdevelopmenttools,notjustintheprogrammingtools,SoftwareCrisis,ResearchfromStandishGroupDataon9236developmentprojectscompletedin2004.,AbandonedorCancelledProjects,SoftwareCrisis,2002surveyofinformationtechnologyorganizationsbyCutterConsortiumData78%havebeeninvolvedindisputesendinginlitigationIn67%ofthedisputes,thefunctionalityoftheinformationsystemasdelivereddidnotmeetuptotheclaimsofthedevelopersIn56%ofthedisputes,thepromiseddeliverydateslippedseveraltimesIn45%ofthedisputes,thedefectsweresoseverethattheinformationsystemwasunusable,NewAspectsofCrisis,(In)security-wehaveallowedourselvestobecometoodependentonsoftware(andhardware)thatwasneverdesignedtoberobustorsecureOvercomplexity-competitionformorefeatures,easeofuse,andintegrationaremakingproductstoolargetocomprehendandmaintainInternationalizationthisisaproblemfortheUS,whichhasbeenpresumptuouslycomplacentaboutitsleadershipSoftwarepatents-theselegallandminesarebeginningtochokethesoftwareindustryRapidchangestowerofBabel,multicore,etc.,WeaponsAgainstSoftwareCrisis,ImprovingsoftwareengineeringmethodologiesHigh-levellanguagesandtoolsthatencourageandenforcetheseprinciples,SoftwareEngineeringDefinition,Thesoftwarecrisisyieldedyetanotherdefinitionofsoftwareengineering:Disciplinewhoseaimistheproductionoffault-freesoftware,deliveredontimeandwithinbudget,thatsatisfiestheclientsneeds.,CostsofSoftwareEngineering,Softwarecostsdominatecomputersystemscosts.Roughly60%ofcostsaredevelopmentcosts,40%aretestingcosts.Forcustomsoftware,evolutioncostsoftenexceeddevelopmentcosts.Softwaremaintenancecostsaremorethansoftwaredevelopmentcosts.Forsystemswithalonglifethemaintenancemaybeseveraltimesthedevelopmentcosts.Andoftenevenbadsoftwarehasalonglife.,CostsofSoftwareEngineering,Costsvarydependingonthetypeofsystembeingdeveloped.Thecostsdependoftherequirementsofsystemattributessuchasperformanceandsystemreliabilityaswellasthecomplexityofthetypeofsystembeingdeveloped.Distributionofcostsdependsonthedevelopmentmodelthatisused.,Activitycostdistribution,Productdevelopmentcosts,MaintenanceCosts,(a)Between1976and1981(b)Between1992and1998,ChangingViewofMaintenance,PostdeliverymaintenanceDevelopment-then-maintenancemodelTemporaldefinitionModernmaintenanceOccurswheneverafaultisfixedortherequirementschange,irrespectiveofwhetherittakesplacebeforeorafterinstallationoftheproduct,WhySoCostly?,TocorrectafaultearlyinthelifecycleUsuallyjustadocumentneedstobechangedTocorrectafaultlateinthelifecycleChangethecodeandthedocumentationTestthechangeitselfPerformregressiontestingReinstalltheproductontheclientscomputer(s),Wearvs.Deterioration,RogerS.Pressman,SoftwareEngineering:APractitionersApproach,FourthEdition1997,TheCostofChange,RogerS.Pressman,Chapter1Page19,SoftwareEngineering:APractitionersApproach,FourthEdition1997,WhatisaSoftwareProduct?,Asetofitemsorobjectscalledaconfiguration.Itincludesthingslike:MultipleseparateprogramsConfigurationfileswhichareusedtosetuptheseprogramsSystemdocumentationwhichdescribesthestructureofthesystemDeveloperandUserdocumentationwhichexplainshowtousethesystemDataforthesystemWebsitesforuserstodownloadrecentproductinformation,Whatissoftware?,Computerprogramsandassociateddocumentationsuchasrequirements,designmodelsandusermanuals.Softwareproductsmaybedevelopedforaparticularcustomerormaybedevelopedforageneralmarket.Newsoftwarecanbecreatedbydevelopingnewprograms,configuringgenericsoftwaresystemsorreusingexistingsoftware.,Whatissoftware?,SoftwareproductsmaybeGENERICdevelopedtobesoldtoarangeofdifferentcustomerse.g.PCsoftwaresuchasExcelorWord.referredtoascommercialoff-the-shelf(COTS)softwareorclickwaresuppliedbyavendorBESPOKE(custom)-developedforasinglecustomeraccordingtotheirspecification.Productspecificationcontrolledbytheproductdeveloper,SoftwareTerminology,Open-sourcesoftwareDevelopedandmaintainedbyateamofvolunteersMaybedownloadedandusedfreeofchargeExamples:LinuxoperatingsystemFirefoxwebbrowserApachewebserver,SoftwareTypes,systemsoftwarereal-timesoftwarebusinesssoftwareengineering/scientificsoftwareembeddedsoftwarePCsoftwareAIsoftwareWebApps(Webapplications),Whataretheattributesofgoodsoftware?,Thesoftwareshoulddelivertherequiredfunctionalityandperformancetotheuserandshouldbemaintainable,dependableandacceptable.MaintainabilitySoftwaremustevolvetomeetchangingneeds;DependabilitySoftwaremustbetrustworthy;EfficiencySoftwareshouldnotmakewastefuluseofsystemresources;AcceptabilitySoftwaremustacceptedbytheusersforwhichitwasdesigned.Thismeansitmustbeunderstandable,usableandcompatiblewithothersystems.,Whataretheattributesofgoodsoftware?,FromtheUsersPerspectiveCorrectnessReliabilityEfficiencyMaintainabilityUsabilityRobustnessFromtheDevelopersPerspectiveConsistencyUnderstandabilityTestabilityCompactnessCompatibilityIntegrity,SoftwareProcess,AsetofactivitiesandassociatedresultswhichproduceasoftwareproductIncorporatesasoftwarelife-cyclemodel,techniques,thetoolsused,andthesoftwaredevelopers,Whatisasoftwareprocessmodel?,Asimplifiedrepresentationofasoftwareprocess,presentedfromaspecificperspective.ExamplesofprocessperspectivesareWorkflowperspective-sequenceofactivities;Data-flowperspective-informationflow;Role/actionperspective-whodoeswhat.GenericprocessmodelsWaterfall;Iterativedevelopment;Component-basedsoftwareengineering.,SoftwareLife-cycleModels,Specifiesthevariousphasesofthesoftwareprocessandtheorderinwhichtheyaretobecarriedout.CoveredinChapter1Dennis,Whataresoftwareengineeringmethods?,Structuredapproachestosoftwaredevelopmentwhichincludesystemmodels,notations,rules,designadviceandprocessguidance.ModeldescriptionsDescriptionsofgraphicalmodelswhichshouldbeproduced;RulesConstraintsappliedtosystemmodels;RecommendationsAdviceongooddesignpractice;ProcessguidanceWhatactivitiestofollow.,WhatisCASE?,Computer-AidedSoftwareEngineeringSoftwaresystemsthatareintendedtoprovideautomatedsupportforsoftwareprocessactivities.CASEsystemsareoftenusedformethodsupport.Upper-CASEToolstosupporttheearlyprocessactivitiesofrequirementsanddesign;Lower-CASEToolstosupportlate
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家政保姆中介合同范本
- 广告制作安装合同书范本3篇
- 建筑节能行业新技术应用方向
- 农业科技示范园规划初步设计中的农业市场潜力评估报告
- 农产品品牌建设资金申请报告:2025年行业发展趋势与竞争格局分析
- 河北省衡水市安平县安平中学2025-2026学年高一上学期开学测试思想政治试卷
- 2025年信号与系统试卷及答案
- 小米解锁l题库及答案
- 2025年交通设计试题及答案
- 2025年士兵军校试题及答案
- 公司对公司走账合同范本
- 华为投资控股有限公司2025年半年度报告
- 核电站主要材料质量保证措施
- (2025年标准)挖桩孔协议书
- 消化内科课件模板
- 拍摄与剪辑基础知识培训课件
- 项目实施进程汇报
- 医学检验质量安全管理培训
- 医院副主任护师职称竞聘报告
- 2025年人教版新教材数学三年级上册教学计划(含进度表)
- 2025-2030AI辅助药物研发创新趋势分析与投资机会评估报告
评论
0/150
提交评论