已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区团购标品品类规划
- 重症医学科心肺复苏基础知识要点
- 老旧小区改造工程施工组织设计
- 《清远市市场监管领域实施执法“观察期”制度工作指引(试行)》
- 2025别墅的精装修合同
- 2025年合同履行担保书模板
- 2025代理邮政业务合同
- 血液科再生障碍性贫血输血管理护理规范培训
- 医疗耗材使用管理
- 物业管理安全管理培训
- 知道智慧树运动安全与健康满分章节测试答案满分测试答案
- 新能源储能系统设计与安装手册
- 动火作业监护人授权考核试题(附答案)
- 正大杯全国大学生市场调查与分析大赛(试题340道含答案)
- 2025年天津市公务员录用考试公安专业科目试卷
- 《慢性肾脏病相关瘙痒管理中国专家共识(2025年版)》解读课件
- 中国艾滋病诊疗指南(2024版)
- 2025年浙江事业单位招聘考试(食品药品检验)历年参考题库含答案详解(5卷)
- 医学检验质量安全管理培训
- 肿瘤患者失眠的原因及护理
- 交大附中自招数学试卷
评论
0/150
提交评论