【大学课件】Software Engineering软体工程(英文课件).ppt
《【大学课件】Software Engineering软体工程(英文课件).ppt》由会员分享,可在线阅读,更多相关《【大学课件】Software Engineering软体工程(英文课件).ppt(63页珍藏版)》请在三一文库上搜索。
1、1,Software Engineering 軟體工程,http:/ Objectives,To learn about all the difficulties in developing software so that we can avoid pitfalls and myths in software design To learn about different software processes so that we can choose a suitable one To learn to design high-quality efficient software so t
2、hat it is usable and maintainable To learn about advanced methods for software engineering,3,Course Contents,Introduction to Software Engineering Software Processes Requirements Engineering Software Design Object-Oriented Software Development Software Testing and Verification Software Project Manage
3、ment Advanced Methods,4,Chapter 1 Introduction to Software Engineering,An overview of software engineering, including software crisis, myths, methods, evolution, and status,http:/ Crisis Software Myths What is Software Engineering Evolution of Software Engineering State-of-art in Software Engineerin
4、g,6,The statistics Chaos Report,Standish Group 1995 365 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
5、% of original functionality,7,Symptom of Software Crisis,About US$250 billions spent per year in the US on application development Out 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: Stan
6、dish Group, 1996,8,Symptom of Software Crisis,10% of client/server apps are abandoned or restarted from scratch 20% of apps are significantly altered to avoid disaster 40% of apps are delivered significantly late,Source: 3 year study of 70 large c/s apps 30 European firms. Compuware (12/95),9,Softwa
7、re products: fail to meet user requirements crash frequently expensive difficult to alter, debug, enhance often delivered late use resources non-optimally,Observed Problems,10,Why is the Statistics so Bad?,Misconception on software development Software myths, e.g., the man-month myth False assumptio
8、ns Not distinguishing the coding of a computer program from the development of a software product Software 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?,Softw
9、are professionals lack engineering training Programmers have skills for programming but without the engineering mindset about a process discipline Internal complexities Essences and accidents made by Fred. Brooks,12,How is Software usually Constructed ,The requirements specification was defined like
10、 this,The developers understood it in that way,This 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 Persp
11、ectives),A general statement of objectives is sufficient 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 al
12、low changes to be incorporated as they happen.,14,Software 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 t
13、oo many tiny bugs inserted at every stage that grow in size 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 soft
14、ware complement!,Software Myths (Developer Perspectives),17,Software 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 P
15、erspectives),As long as my software engineers(!) have access to the 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
16、,Software Myths (Management Perspectives),When my schedule slips, what 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 enterta
17、in schedule compaction beyond a limit!,20,Misplaced Assumptions,All requirements can be pre-specified Users are experts at specification of their needs Users and developers are both good at visualization The project team is capable of unambiguous communication,Ref: Larry Vaughn,21,Usually small in s
18、ize Author himself is sole user Single developer Lacks proper user interface Lacks proper documentation Ad hoc development.,Large Large number of users Team of developers Well-designed interface Well documented & user-manual prepared Systematic development,Programs,Software Products,Confused with Pr
19、ograms and Products,22,Software Programming Software Engineering,Software programming: the process 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” applications Sho
20、rt lifespan Single or few stakeholders Architect = Developer = Manager = Tester = Customer = User One-of-a-kind systems Built from scratch Minimal maintenance,23,Software Programming Software Engineering,Software engineering Teams of developers with multiple roles Complex systems Indefinite lifespan
21、 Numerous stakeholders Architect Developer Manager Tester Customer User System families Reuse to amortize costs Maintenance 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
22、. (“Software Engineering- a practitioners approach,” Pressman, 5ed. McGraw-Hill),25,What is Software (ctd.)?,Or you may want to say: Software consists of (1) instructions (computer programs) that when executed provided desired function and performance, (2) data structures that enable the programs to
23、 adequately manipulate information, and (3) documents that describe the operation and use of the programs.,26,What is Software (ctd.)?,But these 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 prog
24、rams 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 of knowledge. (“Software Engineering,” 6ed. Sommerville, Addison-Wesley, 2000),27,Unique Characteristics of Software,Software is m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学课件 【大学课件】Software Engineering软体工程英文课件 大学 课件 Software Engineering 软体 工程 英文
链接地址:https://www.31doc.com/p-3034306.html