SoftwareEngineering软体工程(英文课件).ppt
《SoftwareEngineering软体工程(英文课件).ppt》由会员分享,可在线阅读,更多相关《SoftwareEngineering软体工程(英文课件).ppt(63页珍藏版)》请在三一办公上搜索。
1、1,Software Engineering軟體工程,2,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 th
2、at it is usable and maintainableTo learn about advanced methods for software engineering,3,Course Contents,Introduction to Software EngineeringSoftware ProcessesRequirements EngineeringSoftware DesignObject-Oriented Software DevelopmentSoftware Testing and VerificationSoftware Project ManagementAdva
3、nced Methods,4,Chapter 1Introduction to Software Engineering,An overview of software engineering,including software crisis,myths,methods,evolution,and status,5,Contents,Software CrisisSoftware MythsWhat is Software EngineeringEvolution of Software EngineeringState-of-art in Software Engineering,6,Th
4、e statistics Chaos Report,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 fu
5、nctionality,7,Symptom 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,8,Sy
6、mptom of Software Crisis,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),9,Software products:fail to meet use
7、r requirementscrash frequentlyexpensivedifficult to alter,debug,enhanceoften delivered lateuse resources non-optimally,Observed Problems,10,Why is the Statistics so Bad?,Misconception on software developmentSoftware myths,e.g.,the man-month mythFalse assumptionsNot distinguishing the coding of a com
8、puter program from the 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.,11,Why is the Statistics so Bad?,Software professionals lack engineering training
9、Programmers have skills for programming but without the engineering mindset about a process disciplineInternal complexitiesEssences and accidents made by Fred.Brooks,12,How is Software usually Constructed,The requirements specification was defined like this,The developers understood it in that way,T
10、his is how the problem 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;-),13,Software Myths(Customer Perspectives),A general statement of objectives is suffic
11、ient to get started with 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.,14,Softw
12、are Myths(Developer Perspectives),Once the software is demonstrated,the job is done.,Usually,the problems just begin!,15,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
13、and complexity as they progress thru further stages!,Software Myths(Developer Perspectives),16,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),17,So
14、ftware Myths(Management 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!,18,Software Myths(Management Perspectives),As long as my software engineers(!)have access to the
15、fastest and the most 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!,19,Software Myths(Management Perspectives),When my schedule slips,what
16、I have to do is to start 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!,20,Misplaced Assumptions,All requirem
17、ents can be pre-specifiedUsers are experts at specification of their needsUsers and developers are both good at visualizationThe project team is capable of unambiguous communication,Ref:Larry Vaughn,21,Usually small in sizeAuthor himself is sole userSingle developerLacks proper user interfaceLacks p
18、roper documentationAd hoc development.,LargeLarge number of usersTeam of developersWell-designed interfaceWell documented&user-manual preparedSystematic development,Programs,Software Products,Confused with Programs and Products,22,Software Programming Software Engineering,Software programming:the pr
19、ocess of translating 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
20、 systemsBuilt from scratchMinimal maintenance,23,Software Programming Software Engineering,Software engineeringTeams of developers with multiple rolesComplex systemsIndefinite lifespanNumerous stakeholdersArchitect Developer Manager Tester Customer UserSystem familiesReuse to amortize costsMaintenan
21、ce accounts for over 60%of overall development costs,24,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),25,What is Software(ctd.)?,Or you may want to say
22、:Software consists of(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.,26,What is Software(ctd.)?,But the
23、se are only the concrete 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.”Softw
24、are is a digital form of knowledge.(“Software Engineering,”6ed.Sommerville,Addison-Wesley,2000),27,Unique Characteristics of Software,Software is malleableSoftware construction is human-intensiveSoftware is intangible and hard to measureSoftware problems are usually complexSoftware directly depends
25、upon the hardwareIt is at the top of the system engineering“food chain”Software doesnt wear out but will deteriorateSoftware solutions require unusual rigorSoftware has discontinuous operational nature,28,Casting the Term,The field of software engineering was born in NATO Conferences,1968 in respons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SoftwareEngineering 软体 工程 英文 课件
链接地址:https://www.31ppt.com/p-6519726.html