大学SoftwareEngineering软体工程英文课件.pptx
《大学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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 SoftwareEngineering 软体 工程 英文 课件
链接地址:https://www.31ppt.com/p-3013991.html