大学SoftwareEngineering软体工程英文课件.pptx

上传人:小飞机 文档编号:3013991 上传时间:2023-03-08 格式:PPTX 页数:62 大小:807.65KB
返回 下载 相关 举报
大学SoftwareEngineering软体工程英文课件.pptx_第1页
第1页 / 共62页
大学SoftwareEngineering软体工程英文课件.pptx_第2页
第2页 / 共62页
大学SoftwareEngineering软体工程英文课件.pptx_第3页
第3页 / 共62页
大学SoftwareEngineering软体工程英文课件.pptx_第4页
第4页 / 共62页
大学SoftwareEngineering软体工程英文课件.pptx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《大学SoftwareEngineering软体工程英文课件.pptx》由会员分享,可在线阅读,更多相关《大学SoftwareEngineering软体工程英文课件.pptx(62页珍藏版)》请在三一办公上搜索。

1、1,Course Objectives,To learn about all the difficulties in developing software so that we can avoid pitfalls and myths in software designTo learn about different software processes so that we can choose a suitable oneTo learn to design high-quality efficient software so that it is usable and maintai

2、nableTo learn about advanced methods for software engineering,2,Course Contents,Introduction to Software EngineeringSoftware ProcessesRequirements EngineeringSoftware DesignObject-Oriented Software DevelopmentSoftware Testing and VerificationSoftware Project ManagementAdvanced Methods,3,Chapter 1Int

3、roduction to Software Engineering,An overview of software engineering,including software crisis,myths,methods,evolution,and status,http:/,4,Contents,Software CrisisSoftware MythsWhat is Software EngineeringEvolution of Software EngineeringState-of-art in Software Engineering,5,The statistics Chaos R

4、eport,Standish Group 1995365 IT executives in US companies in diverse industry segments.8,380 projects,average cost overrun=189%,average time overrun=222%.,61%of originally specified features included,?,In Averages 189%of original budget 221%of original schedule 61%of original functionality,6,Sympto

5、m of Software Crisis,About US$250 billions spent per year in the US on application developmentOut of this,about US$140 billions wasted due to the projects getting abandoned or reworked;this in turn because of not following best practices and standards,Ref:Standish Group,1996,7,Symptom of Software Cr

6、isis,10%of client/server apps are abandoned or restarted from scratch 20%of apps are significantly altered to avoid disaster40%of apps are delivered significantly late,Source:3 year study of 70 large c/s apps 30 European firms.Compuware(12/95),8,Software products:fail to meet user requirementscrash

7、frequentlyexpensivedifficult to alter,debug,enhanceoften delivered lateuse resources non-optimally,Observed Problems,9,Why is the Statistics so Bad?,Misconception on software developmentSoftware myths,e.g.,the man-month mythFalse assumptionsNot distinguishing the coding of a computer program from th

8、e development of a software productSoftware programs have exponential growth in complexity and difficulty level with respect to size.The ad hoc approach breaks down when size of software increases.,10,Why is the Statistics so Bad?,Software professionals lack engineering trainingProgrammers have skil

9、ls for programming but without the engineering mindset about a process disciplineInternal complexitiesEssences and accidents made by Fred.Brooks,11,How is Software usually Constructed,The requirements specification was defined like this,The developers understood it in that way,This is how the proble

10、m was solved before.,This is how the problem is solved now,That is the program after debugging,This is how the program is described by marketing dept.,This,in fact,is what the customer wanted;-),12,Software Myths(Customer Perspectives),A general statement of objectives is sufficient to get started w

11、ith the development of software.Missing/vague requirements can easily be incorporated/detailed out as they get concretized.Application requirements can never be stable;software can be and has to be made flexible enough to allow changes to be incorporated as they happen.,13,Software Myths(Developer P

12、erspectives),Once the software is demonstrated,the job is done.,Usually,the problems just begin!,14,Until the software is coded and is available for testing,there is no way for assessing its quality.,Usually,there are too many tiny bugs inserted at every stage that grow in size and complexity as the

13、y progress thru further stages!,Software Myths(Developer Perspectives),15,The only deliverable for a software development project is the tested code.,The code is only the externally visible component of the entire software complement!,Software Myths(Developer Perspectives),16,Software Myths(Manageme

14、nt Perspectives),As long as there are good standards and clear procedures in my company,I shouldnt be too concerned.,But the proof of the pudding is in the eating;not in the Recipe!,17,Software Myths(Management Perspectives),As long as my software engineers(!)have access to the fastest and the most

15、sophisticated computer environments and state-of-the-art software tools,I shouldnt be too concerned.,The environment is only one of the several factors that determine the quality of the end software product!,18,Software Myths(Management Perspectives),When my schedule slips,what I have to do is to st

16、art a fire-fighting operation:add more software specialists,those with higher skills and longer experience-they will bring the schedule back on the rails!,Unfortunately,software business does not entertain schedule compaction beyond a limit!,19,Misplaced Assumptions,All requirements can be pre-speci

17、fiedUsers are experts at specification of their needsUsers and developers are both good at visualizationThe project team is capable of unambiguous communication,Ref:Larry Vaughn,20,Usually small in sizeAuthor himself is sole userSingle developerLacks proper user interfaceLacks proper documentationAd

18、 hoc development.,LargeLarge number of usersTeam of developersWell-designed interfaceWell documented&user-manual preparedSystematic development,Programs,Software Products,Confused with Programs and Products,21,Software Programming Software Engineering,Software programming:the process of translating

19、a problem from its physical environment into a language that a computer can understand and obey.(Websters New World Dictionary of Computer Terms)Single developer“Toy”applicationsShort lifespanSingle or few stakeholdersArchitect=Developer=Manager=Tester=Customer=UserOne-of-a-kind systemsBuilt from sc

20、ratchMinimal maintenance,22,Software Programming Software Engineering,Software engineeringTeams of developers with multiple rolesComplex systemsIndefinite lifespanNumerous stakeholdersArchitect Developer Manager Tester Customer UserSystem familiesReuse to amortize costsMaintenance accounts for over

21、60%of overall development costs,23,What is Software?,Software is a set of items or objects that form a“configuration”that includes programs documents data.(“Software Engineering-a practitioners approach,”Pressman,5ed.McGraw-Hill),24,What is Software(ctd.)?,Or you may want to say:Software consists of

22、(1)instructions(computer programs)that when executed provided desired function and performance,(2)data structures that enable the programs to adequately manipulate information,and(3)documents that describe the operation and use of the programs.,25,What is Software(ctd.)?,But these are only the concr

23、ete part of software that may be seen,there exists also invisible part which is more important:Software is the dynamic behavior of programs on real computers and auxiliary equipment.“a software product is a model of the real world,and the real world is constantly changing.”Software is a digital form

24、 of knowledge.(“Software Engineering,”6ed.Sommerville,Addison-Wesley,2000),26,Unique Characteristics of Software,Software is malleableSoftware construction is human-intensiveSoftware is intangible and hard to measureSoftware problems are usually complexSoftware directly depends upon the hardwareIt i

25、s at the top of the system engineering“food chain”Software doesnt wear out but will deteriorateSoftware solutions require unusual rigorSoftware has discontinuous operational nature,27,Casting the Term,The field of software engineering was born in NATO Conferences,1968 in response to chronic failures

26、 of large software projects to meet schedule and budget constraintsSince then,term became popular because software is getting more and more important to industry and business but the“software crisis”still persists.,28,What is Software Engineering?,Different focuses for this term exist in various tex

27、tbooks.Some are listed below.The application of a systematic,disciplined,quantifiable approach to development,operation,and maintenance of software;that is,the application of engineering to software.(IEEE Standard Computer Dictionary,610.12,ISBN 1-55937-079-3,1990),29,What is Software Engineering?(c

28、td),Software engineering is concerned with the theories,methods and tools for developing,managing and evolving software products.(I.Sommerville,6ed.)A discipline whose aim is the production of quality software,delivered on time,within budget,and satisfying users needs.(Stephen R.Schach,Software Engi

29、neering,2ed.)Multi-person construction of multi-version software(Parnas,1987),30,The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop,operate and maintain them(B.W.Boehm)The establishment and use of

30、 sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines(F.L.Bauer),What is Software Engineering?(ctd.),31,The technological and managerial discipline concerned with systematic production and maintenance of software products that

31、are developed and modified on time and within cost constraints(R.Fairley)A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers(Ghezzi,Jazayeri,Mandrioli),What is Software Engineering?(ctd.),32,Other Definitions of Softwar

32、e Engineering,“A systematic approach to the analysis,design,implementation and maintenance of software.”(The Free On-Line Dictionary of Computing)“The systematic application of tools and techniques in the development of computer-based applications.”(Sue Conger in The New Software Engineering)“Softwa

33、re Engineering is about designing and developing high-quality software.”(Shari Lawrence Pfleeger in Software Engineering-The Production of Quality Software),33,So,Software Engineering is,Scopestudy of software process,development principles,techniques,and notationsGoalsproduction of quality software

34、,delivered on time,within budget,satisfying customers requirements and users needs,34,Software Process,Waterfall life cyclePrototypingSpiral modelAutomatic synthesis modelObject-oriented model4 GL model,35,Traditional Software Engineering,Software Systems,Data,Function,Behavior,Entity-RelationDiagra

35、m,Data FlowDiagram,State TransitionDiagram,36,Object-Oriented Software Engineering,Software Systems,Function,Object,Behavior,Data FlowDiagram,ClassDiagram,State Chart,37,Evolution of Software Industry,Independent Programming ServiceSoftware ProductEnterprise SolutionPackaged Software for the Mass,38

36、,Independent Programming Services(Era 1),Feb 1955,Elmer Kubie and John Sheldon founded CUC the First Software Company that devoted to the construction of software especially for hardware company.Promoting Software Industry:two Major Projects,SABRE,airline reservation system,$30 million.SAGE,air defe

37、nse system(19491962)700/1000 programmers in the US.$8 billion.,39,Software Product(Era 2),1964 Martin Goetz developed Flowchart Software-Autoflow for RCA,but rejected.Sale to the customer of RCA&IBM.Develop and market software products not specifically designed for a particular hardware platform.MAR

38、K IV,a pre-runner for the database management system.IBM unbundled software from hardware.,40,Enterprise Solutions(Era 3),Dietmar Hopp.IBM GermanySystems,Applications and Products(SAP)$3.3billion(1997)Setting up shop in Walldorf,Germany.Marked by the emergence of enterprise solutions providers.e.g.B

39、aan 1978.Netherlands.$680 million(1997)Oracle 1977.U.S.Larry Ellison.ERP,$45 billion(1997),41,Packaged Software for the Masses(Era 4),Software products for the masses.1979.VisiCalc,Spreadsheet program.August 1981:The deal of the century.Bill Gates bought the first version of the OS from a small firm

40、 called Seattle Computer Products for$50,000 without telling them it was for IBM.The development of the IBM PC,1981,initiated a 4th software era.PC-based mass-market software.Few additional services are required for installation.Microsoft reached revenues of$11.6 billion.Packaged Software Products,$

41、57 billion(1997),42,Internet Software and Services(Era 5),Internet and value-added services period,1994.Wwith Netscapes browser software for the internet.,43,Object-Oriented,Ad hoc,Data flow-based,Data structure-based,Control flow-based,Evolution of Design Techniques,44,Related Knowledge,45,IT Marke

42、t,Hardwareproducts,Hardwaremaintenance,Software Products&Services,Processing Servicesand Internet Services,EmbeddedSoftware,ProfessionalService,SoftwareProducts,EnterpriseSolution,PackagedMass-MarketSoftware,46,Software Products and Services,Enterprise SolutionsIBMOracleComputer AssociatesSAPHPFujit

43、suHitachiParametric TechnologyPeople SoftSiemens,Packaged Mars-Market SoftwareMicrosoftIBMComputer AssociatesAdobeNovellSymantecIntuitAutodeskAppleThe Learning Company,Professional Software ServicesAnderson ConsultingIBMEDSCSCScience ApplicationsCap GeminiHpDECFujitsuBSO Origin,47,Software Engineeri

44、ng Today?,Organizations“go with what has worked in the past”Everyone is too busy getting product out the door to spend time in education or training or addressing these problems effectively“Out of date”practices become institutionalized,48,Software Engineering Today?,Few people know,or can integrate

45、,best practices Unable to adopt and utilize proven methodologies in timely fashion Although significant improvements have been made in specific areas,the rapidly evolving nature of the software industry has resulted in little overall improvement in the overall situation.,49,Not Crisis,but a Chronic

46、Problem,The crisis persistsAfter 35 years later,the software“crisis”is still with usMajor problems are still the same:poor quality(correctness,usability,maintainability,etc)over budgetdelivered late,or not at allIt is not a crisis but a chronic problem It becomes a persistent,chronic condition that

47、software industry has to face with,50,Whats Wrong?,Does software engineering have no progress at all?Not quite true.We have indeed seen a lot of improvements,e.g.high level programming,object-oriented technology,etc.But it does not achieve its promise,why?production of fault-free software,delivered

48、on time and within budget,that satisfies the users needs,and is easy to maintain,etc.,51,A More Close Look,The comparison with 1995s report does show that there is some progress in the past eight years.,52,So,Whats the Problem?,Software issues:software industry has changes a lot in the past yearsEdu

49、cation issue:more emphasis on methods and tools but lack of sufficient education and training on peopleProcess and quality issue:there lacks of a set of known proven practices for software engineers to follow with,53,Software Changes in the Past Years,Changes in software over time:grew in size from

50、10s or 100s of lines to 1000s to 1,000,000s of lines of codeoperating environment changed from simple“batch”operations to complex multiprogramming systems,to time-sharing and distributed computing to todays Internet network computing environment.,54,Software Changes in the Past Years,As computer sys

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号