收藏 分销(赏)

Software-Engineering-CHAP-1(软件工程第一章)(ppt文档).ppt

上传人:快乐****生活 文档编号:2392486 上传时间:2024-05-29 格式:PPT 页数:55 大小:821.50KB
下载 相关 举报
Software-Engineering-CHAP-1(软件工程第一章)(ppt文档).ppt_第1页
第1页 / 共55页
Software-Engineering-CHAP-1(软件工程第一章)(ppt文档).ppt_第2页
第2页 / 共55页
Software-Engineering-CHAP-1(软件工程第一章)(ppt文档).ppt_第3页
第3页 / 共55页
Software-Engineering-CHAP-1(软件工程第一章)(ppt文档).ppt_第4页
第4页 / 共55页
Software-Engineering-CHAP-1(软件工程第一章)(ppt文档).ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、FUNDAMENTALS OF SOFTWARE ENGINEERINGReference books:1.1.Fundamentals of Software Engineering,Rajib Mall,3Fundamentals of Software Engineering,Rajib Mall,3rdrd Edition,PHI,2009 Edition,PHI,20092.2.Software Software Engineering,Engineering,Ian Ian Somerville,Somerville,6th 6th edition,edition,Pearson

2、Pearson Education Education Ltd,Ltd,2001.2001.3.3.Software Software Engineering Engineering A A Practitioners Practitioners Approach,Approach,Roger Roger S S Pressman,Pressman,Tata Tata Mcgraw Hill,4th Edition.Mcgraw Hill,4th Edition.4.4.An An Integrated Integrated Approach Approach to to Software S

3、oftware Engineering,Engineering,Pankaj Pankaj Jalote,Jalote,Narosa Narosa PublicationsPublications5.5.Object Object Oriented Oriented and and Classical Classical Software Software Engineering,Engineering,Stephen Stephen R R Schach,Schach,Tata McGraw Hill,2002.Tata McGraw Hill,2002.qqToknowtheimporta

4、nceofSoftwareanditsattributes.ToknowtheimportanceofSoftwareanditsattributes.qqTointroducesoftwareengineeringandtoexplainitsimportance.Tointroducesoftwareengineeringandtoexplainitsimportance.qqTolearntheemergenceofsoftwareengineering.Tolearntheemergenceofsoftwareengineering.qqToTounderstandunderstand

5、thethenotablenotablechangeschangesininthethesoftwaresoftwaredevelopmentdevelopmentpractices.practices.qqTodiscussthekeychallengesfacingsoftwareengineering.Todiscussthekeychallengesfacingsoftwareengineering.qqToTo understandunderstand thethe variousvarious activitiesactivities involvedinvolved inin d

6、evelopingdeveloping a asoftware.software.qqToTo discussdiscuss thethe importanceimportance ofof variousvarious softwaresoftware processprocess modelsmodelsusedtodevelopsoftware.usedtodevelopsoftware.ObjectivesIntroduction TheeconomiesofALLdevelopednationsaredependentonsoftware.TheeconomiesofALLdevel

7、opednationsaredependentonsoftware.Moreandmoresystemsaresoftwarecontrolled.Moreandmoresystemsaresoftwarecontrolled.SoftwareSoftware costscosts oftenoften dominatedominate computercomputer systemsystem costs.costs.TheThe costscosts ofofsoftwareonaPCareoftengreaterthanthehardwarecost.softwareonaPCareof

8、tengreaterthanthehardwarecost.SoftwareSoftwarecostscostsmoremoretotomaintainmaintainthanthanititdoesdoestotodevelop.develop.ForForsystemssystemswithwitha alonglonglife,life,maintenancemaintenancecostscostsmaymaybebeseveralseveraltimestimesdevelopmentdevelopmentcostscosts.SoftwareSoftware engineering

9、engineering isis concernedconcerned withwith cost-effectivecost-effective softwaresoftwaredevelopmentdevelopment.Computer programs and associated documentation such asrequirements,designmodelsandusermanuals.Softwareproductsmaybedevelopedforaparticularcustomerormaybedevelopedforageneralmarket.Softwar

10、eproductsmaybeGeneric-developedtobesoldtoarangeofdifferentcustomerse.g.PCsoftwaresuchasExcelorWord.Bespoke(custom)-developed for a single customer according to theirspecification.New software can be created by developing new programs,configuringgenericsoftwaresystemsorreusingexistingsoftware.Softwar

11、eAttributesofgoodsoftwareThesoftwareshoulddelivertherequiredfunctionalityandperformancetotheuserandshouldbemaintainable,dependableandacceptable.MaintainabilitySoftwaremustevolvetomeetchangingneeds;DependabilitySoftwaremustbetrustworthy;EfficiencySoftwareshouldnotmakewastefuluseofsystemresources;Acce

12、ptabilitySoftwaremustacceptedbytheusersforwhichitwasdesigned.Thismeansitmustbeunderstandable,usableandcompatiblewithothersystems.SoftwareEngineering SoftwareSoftwareengineeringengineeringisisananengineeringengineeringdisciplinedisciplinethatthatisisconcernedconcernedwithallaspectsofsoftwareproductio

13、n.withallaspectsofsoftwareproduction.SoftwareSoftware engineersengineers shouldshould adoptadopt a a systematicsystematic andand organisedorganisedapproachapproach toto theirtheir workwork andand useuse appropriateappropriate toolstools andand techniquestechniquesdependingdepending onon thethe probl

14、emproblem toto bebe solved,solved,thethe developmentdevelopmentconstraintsandtheresourcesavailable.constraintsandtheresourcesavailable.SoftwareSoftwareengineeringengineeringisisananengineeringengineeringdisciplinedisciplinethatthatisisconcernedconcernedwithwith allall aspectsaspects(specification,(s

15、pecification,development,development,managementmanagement andandevolution)ofsoftwareproduction.evolution)ofsoftwareproduction.SoftwareSoftware engineersengineers shouldshould adoptadopt a a systematicsystematic andand organisedorganisedapproachapproachtototheirtheirworkworkandanduseuseappropriateapp

16、ropriatetoolstoolsandandtechniquestechniquesdependingdepending onon thethe problemproblem toto bebe solved,solved,thethe developmentdevelopmentconstraintsandtheresourcesavailable.constraintsandtheresourcesavailable.TheTheapplicationapplicationofofa asystematic,systematic,disciplined,disciplined,quan

17、tifiablequantifiableapproachapproachtotodevelopment,development,operation,operation,andandmaintenancemaintenanceofofsoftware;software;thatthatis,is,thethe applicationapplication ofof engineeringengineering toto software.software.(IEEE IEEE Standard Standard Computer DictionaryComputer Dictionary,610

18、.12,ISBN1-55937-079-3,1990),610.12,ISBN1-55937-079-3,1990)SoftwareSoftwareengineeringengineeringisisconcernedconcernedwithwiththethetheories,theories,methodsmethodsandandtoolstools forfor developing,developing,managingmanaging andand evolvingevolving softwaresoftware products.products.(Sommerville,6

19、Ed.)(Sommerville,6Ed.)A discipline whose aim is the production of quality software,delivered on time,within budget,and satisfying users needs.(StephenR.Schach,SoftwareEngineering,2ed.)Multi-personconstructionofmulti-versionsoftware(Parnas,1987)The technological and managerial discipline concerned wi

20、thsystematicproductionandmaintenanceofsoftwareproductsthataredevelopedandmodifiedontimeandwithincostconstraints(R.Fairley)Adisciplinethatdealswiththebuildingofsoftwaresystemswhicharesolargethattheyarebuiltbyateamorteamsofengineers(Ghezzi,Jazayeri,Mandrioli)EarlyComputerProgrammingHigh-LevelLanguageP

21、rogrammingControlFlow-BasedDesignDataStructured-OrientedDesignDataFlow-OrientedDesignObject-OrientedDesignEmergenceofSoftwareEngineeringNotableChangesinSoftwareDevelopmentPractices AnAnimportantimportantdifferencedifferenceisisthatthatthethemainmainemphasisemphasishashasshiftedshiftedfromfromerror c

22、orrection error correction totoerror prevention.error prevention.InIn exploratoryexploratory style,style,codingcoding waswas consideredconsidered synonymoussynonymous withwithprogramprogramdevelopment.development.Now,Now,codingcodingisisregardedregardedasasa asmallsmallpartpartofofthedifferentactivi

23、tiesundertakenforprogramdevelopment.thedifferentactivitiesundertakenforprogramdevelopment.AAlotlotofofefforteffortandandattentionattentionisispaidpaidtotorequirementsrequirementsanalysisanalysisandandspecification.specification.PeriodicPeriodic reviewsreviews areare carriedcarried outout duringdurin

24、g allall stagesstages ofof thethedevelopmentprocess.developmentprocess.TodayTodaysoftwaresoftwaretestingtestinghashasbecomebecomemoremoresystematicsystematicandandforforwhichwhichstandardtestingtechniquesareavailable.standardtestingtechniquesareavailable.Thereisbettervisibilityofdesignandcode.Therei

25、sbettervisibilityofdesignandcode.InIn exploratoryexploratory style,style,designdesign andand testtest activitiesactivities werewere notnotdocumentedsatisfactorily.documentedsatisfactorily.SeveralSeveral techniquestechniques andand toolstools forfor taskstasks suchsuch asas configurationconfiguration

26、management,management,costcostestimation,estimation,schedulingschedulingandandtasktaskallocationallocationhavehavebeendevelopedtomakesoftwaredevelopmentmoreeffective.beendevelopedtomakesoftwaredevelopmentmoreeffective.Projectsarebeingthoroughlyplanned.Projectsarebeingthoroughlyplanned.Keychallengesf

27、acingSoftwareEngineeringHeterogeneityDevelopingtechniquesforbuildingsoftwarethatcancopewithheterogeneousplatformsandexecutionenvironments;DeliveryDevelopingtechniquesthatleadtofasterdeliveryofsoftware;TrustDevelopingtechniquesthatdemonstratethatsoftwarecanbetrustedbyitsusers.Software Life Cycle Mode

28、lsA A life life cycle cycle model model prescribes prescribes the the different different activities activities that that need need to to be be carried carried out out to to develop develop a a software software product product and and the the sequencing sequencing of these activities.of these activ

29、ities.A A software software life life cycle cycle is is a a series series of of identifiable identifiable stages stages that that a a software product undergoes during its life time.software product undergoes during its life time.A A software software life life cycle cycle model model is is a a desc

30、riptive descriptive and and diagrammatic diagrammatic representation of the software life cycle.representation of the software life cycle.DefinitionsImportance It It encourages encourages development development of of software software in in a a systematic systematic and and disciplined manner.disci

31、plined manner.It It forms forms a a common common understanding understanding of of the the activities activities among among the the software software engineers engineers which which is is essential essential while while developing developing a a large large scale software product involving several

32、 teams.scale software product involving several teams.A A documented documented life life cycle cycle model model mandates mandates a a software software development development organization organization to to accurately accurately define define every every activity activity in the life cycle.in the

33、 life cycle.A A good good life life cycle cycle model model should should unambiguously unambiguously define define the the entry and exit criteria for each phase.entry and exit criteria for each phase.PopularSoftwareLifeCycleModelsClassicalWaterfallModelIterativeWaterfallModelPrototypingModelEvolut

34、ionaryModelSpiralModelTheRADModelTheConcurrentDevelopmentModelComponentBasedDevelopmentModelFormalMethodsModelUnifiedProcessModelClassicalWaterfallModelFeasibilityStudyRequirement analysisand specificationDesignCoding andunit testingIntegration andSystem testingMaintenance10203040506070%EffortPhases

35、Relative effort distribution among different phases of a typical productFeasibility StudyThe aim of the feasibility study is to determine whether developing the product is financially and technically feasibleThe data collected in this phase are analyzed to arrive at the following:An abstract definit

36、ion of the problem.Formulation of the different solution strategies.Examination of alternative solution strategies and their benefits,indicating resources required,development,cost and time in respect of each of the alternative solutions.A cost/benefit analysis is performed to determine which soluti

37、on is the best.At this stage,it may also be determined whether any of the solutions is not feasible due to high cost,resource constraints,or extraordinary technical reasons.Requirement Analysis and SpecificationThe aim of the requirement analysis and specification phase is to understand the exact re

38、quirements of the customer and to document them properly.This phase consists of two distinct activities:Requirement analysisRequirement specificationThe goal of the requirements analysis is to collect and analyze all related data and information with a view to understanding the customer requirements

39、 clearly and weeding out inconsistencies and incompleteness in these requirements.During requirements specification,the user requirements are properly organized and documented in a SRS document.The SRS document addresses the functional requirements,the nonfunctional requirements and the special requ

40、irements on the maintenance and development of the software product,if any.DesignThe goal of the design phase is to transform the requirements specification into a structure that is suitable for implementation in some programming language.Two distinct design approaches followed in different industri

41、es are:Traditional design approachStructured analysisArchitectural designObject-oriented designCoding and Unit TestingThe purpose of this phase(also called the implementation phase)of software development is to translate the software design into source code.The end product of the implementation phas

42、e is a set of program modules that have been individually tested.Integration and System TestingDuring this phase the different modules are integrated in a planned manner.The different modules making up a system are almost never integrated in a single shot.The goal of system testing is to ensure that

43、 the developed system functions according to its requirements as specified in the SRS document.The system testing usually consisting of three different kinds of testing activities:-testing-testing,andAcceptance testingMaintenanceMaintenance involves performing any one or more of the following three

44、kinds of activities:1.Correcting errors that were not discovered during the product development phase.This is called corrective maintenance.2.Improving the implementation of the system and enhancing the functionalities of the system according to the customers requirements.This is called perfective m

45、aintenance.3.Porting the software to a new environment,e.g.to a new computer or to a new operating system.This is called adaptive maintenance.Limitations of Classical WFMLimitations of Classical WFMThe Classical WFM considers the transition between phases to be similar to a waterfall.The model assum

46、es that all requirements are defined correctly at the beginning of the project and on the basis of that the development work starts.The model assumes that all the phases are sequential.Phase Containment of ErrorsPhase Containment of ErrorsThe principle of detecting errors as close to their points of

47、 introduction as possible is known as phase containment of errors.IterativeWaterfallModelFeasibilityStudyRequirement analysisand specificationDesignCoding andunit testingIntegration andSystem testingMaintenanceWaterfall model by Boehm(1981)Limitations of Iterative WFMLimitations of Iterative WFMThe

48、model cannot handle the different types of risks that a real life software project may suffer from.It cannot be satisfactorily used in projects where the customer if not clear about his/her requirements and can provide rough requirements only.Most real life projects find it difficult to follow the r

49、igid phase sequence prescribed by the waterfall model to achieve better efficiency and higher productivity.A rigid adherence to the waterfall model would create blocking states in the system.PrototypingModelRequirements gatheringQuick designRefine requirementsBuild prototypeCustomer evaluation of th

50、e prototypeDesignImplementTestMaintainPrototyping can be of two types:Evolutionary prototypingEvolutionary prototyping The rapid throughaway prototypingThe rapid throughaway prototypingEvolutionaryModelThis model is also known as the successive versions model.In this model,the system is first broken

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服