Скачать презентацию Topic 1 What is Software Engineering DAAD Project Скачать презентацию Topic 1 What is Software Engineering DAAD Project

a1e29505670a0e4326a9e859f9fef7c1.ppt

  • Количество слайдов: 53

Topic 1 What is Software Engineering? DAAD Project “Joint Course on Software Engineering” Humboldt Topic 1 What is Software Engineering? DAAD Project “Joint Course on Software Engineering” Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac Version: Oct. 23, 2003 (D Sep. 22, 2003)

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 2

The subject of. . . compiler construction translation of higher-level programming languages to machine-level The subject of. . . compiler construction translation of higher-level programming languages to machine-level languages database management of complex volumes of data software engineering DAAD project „Joint Course on Software Engineering“ © ? 3

Areas of software engineering: What belongs to it ? Project Management User documentation Software Areas of software engineering: What belongs to it ? Project Management User documentation Software specification Software design Hardware considerations User interface design Programming Testing Software Engineering The World 4 „Programming is a comparatively small component of the software engineering field. Some of the other parts (including for example, software specification and design) are equally important. “ M. Pont: Software Engineering with C++ and CASE Tools, Addison-Wesley 1996 DAAD project „Joint Course on Software Engineering“ © 4

Areas of software engineering: from textbooks, research subjects, conferences: (unordered, partly overlapping) 4 life Areas of software engineering: from textbooks, research subjects, conferences: (unordered, partly overlapping) 4 life cycle models 4 software processes (CMM, ISO 9000) 4 configuration management 4 effort estimation 4 project management 4 quality management 4 cleanroom software engineering 4 reverse engineering 4 program comprehension (program understanding) 4 software metrics 4 software architecture 4 software maintenance DAAD project „Joint Course on Software Engineering“ © requirements engineering software specification reuse program verification software documentation knowledge-based SE systematic testing prototyping CASE tools programming languages for SE object-orientation (analysis, design, programming, test) 4 extreme programming 4 pair programming 4 4 4 5

Software Development Remains a Mixture of Methods Software development as science and as a Software Development Remains a Mixture of Methods Software development as science and as a practical activity have something in common: heterogeneity. Computer-Zeitung 25/96 (20. June 96) DAAD project „Joint Course on Software Engineering“ © 6

Software Engineering preliminary definitions 4„Software engineering. . . aims at the economical development of Software Engineering preliminary definitions 4„Software engineering. . . aims at the economical development of high-quality software“ (Pagel / Six 1994, p. 49) 4„SE is an engineering discipline concerned with the practical problems of developing large software systems“ (Sommerville 1992, 4. ed. , p. v) DAAD project „Joint Course on Software Engineering“ © 7

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 8

Questioning of young computer scientists working in practice by the German Society of Informatics Questioning of young computer scientists working in practice by the German Society of Informatics in 1993 4 importance of subareas of informatics (most important areas first) DAAD project „Joint Course on Software Engineering“ © subareas of informatics team work project management software engineering leadership databases rhetorics communication systems / computer nets quality assurance data structures and efficient algorithms operating systems software ergonomics business management algorithmic fundamentals / complexity mathematical and logical fundamentals distributed systems scientific work methods data security information systems concepts of programming languages computer architecture legal fundamentals disposition systems analysis and assessment of computer systems graphics and visualization systems modeling and simulation formal languages and automaton real-time systems multimedia informatics and society fundamentals of electronics machine-level programming CIM expert systems fundamentals of artificial intelligence electrical measurement image processing applications of artificial intelligence pattern recognition score 3. 59 3. 35 3. 26 3. 10 3. 09 2. 96 2. 81 2. 60 2. 56 2. 50 2. 42 2. 41 2. 36 2. 32 2. 31 2. 27 1. 87 1. 68 1. 64 1. 58 1. 53 1. 37 1. 30 1. 27 1. 15 1. 13 1. 06 1. 04 0. 88 0. 85 0. 81 0. 63 9

Questioning in 1993 (detail) subareas of informatics team work project management software engineering leadership Questioning in 1993 (detail) subareas of informatics team work project management software engineering leadership databases rhetorics communication systems / computer nets quality assurance data structures and efficient algorithms operating systems software ergonomics business management algorithmic fundamentals / complexity mathematical and logical fundamentals distributed systems scientific work methods data security information systems concepts of programming languages computer architecture DAAD project „Joint Course on Software Engineering“ © score 3. 59 3. 35 activities during 3. 26 3. 10 software development 3. 10 3. 09 2. 96 2. 81 2. 60 2. 56 subareas of 2. 50 software engineering 2. 42 2. 41 2. 36 2. 32 2. 31 2. 27 1. 87 10

Tasks of software engineers in the mirror of job offers Project manager As a Tasks of software engineers in the mirror of job offers Project manager As a project manager you are responsible of the realization of complex application projects for our customers in industry and management. The major goal is a satisfied customer based on an economically accomplished project. . . Süddeutsche Zeitung No. 120 /page V 1/1 25. 5. 1996 DAAD project „Joint Course on Software Engineering“ © 11

Your tasks: Your profile: • analysis of technical requirements • design of the application Your tasks: Your profile: • analysis of technical requirements • design of the application • programming • test and quality assurance • installation in the target environment • experience in COBOL • knowledge of: UNIX, Open VMS, OS/400 • SQL and Database, e. g. Oracle • commercial knowledge Computer Zeitung 16. 10. 97 DAAD project „Joint Course on Software Engineering“ © 12

Software developer Your tasks are: • analysis of requirements of a given system • Software developer Your tasks are: • analysis of requirements of a given system • feasibility analysis and effort estimation • technical specification • extension of existing software modules • regression testing and software update procedures Süddeutsche Zeitung 15. 12. 96 DAAD project „Joint Course on Software Engineering“ © 13

Software software = programs, data, documentation 4 properties of software: • no wastage during Software software = programs, data, documentation 4 properties of software: • no wastage during the operation of software • aging (software is permanently updated) after 10 years of usage and update there is no more original line (Pagel, Six S. 35) • long-run usage in the average 10 - 15 years (Wallmüller 90, S. 3) up to 30 years (Hausi Müller) • easy to copy ( errors too) • hard to measure (metrics: quality, quantity) • rather complex DAAD project „Joint Course on Software Engineering“ © 14

Complexity of software 4 The distinguishing characteristics of industrialstrength software is that it is Complexity of software 4 The distinguishing characteristics of industrialstrength software is that it is intensely difficult, if not impossible, for the individual developer to comprehend all the subtleties of its design. Stated in blunt terms, the complexity of such systems exceeds the human intellectual capacity. (Booch, Object-oriented Analysis and Design, p. 4) DAAD project „Joint Course on Software Engineering“ © 15

Increasing complexity of software 60 MOI 1960 1970 1980 1990 2000 50 MOI SPACE Increasing complexity of software 60 MOI 1960 1970 1980 1990 2000 50 MOI SPACE SHUTTLE EWSD for BB-ISDN 40 MOI LUNAR MISSION CONTROL 30 MOI 20 MOI EWSD-APS WM 4. 2 APOLLO 10 MOI GEMINI EWSD-APS DBP-14 7% annual increase of productivity MERCURY MDI: millions of object-code instructions EWSD: electronic dial system Digital DAAD project „Joint Course on Software Engineering“ © 16

But: „software solutions demand high precision“ (Denert, p. 4) software is … • error But: „software solutions demand high precision“ (Denert, p. 4) software is … • error prone • behaves in another way than expected • more expensive than planned • finished too late • not applicable very often: project breakup DAAD project „Joint Course on Software Engineering“ © 17

Examples of software problems 4 Denver airport: could not be inaugurated (not opened) in Examples of software problems 4 Denver airport: could not be inaugurated (not opened) in 1994 – the software for the luggage transport system did not work 4 Siemens: account software for medicaments developed for health insurance funds was not ready in time (consequential costs of 1 billion DM - Berliner Zeitung 22. 05. 96) 4 Deutsche Telekom: wrong calculation of phone rates for 1. 1. 96 (software error: no holiday rate – damage: hundreds of millions of DM) 4 F 18 warplane: during an exercise in 1983 with new developed plane software – crossing the equator the plane turned to the head. The reason was a sign error in the program (Wallmüller 1990, p. 1). 4 First space rocket to the Venus: in 1979 did not find the target: In a Fortran program they used a point instead of a comma. the loss: several hundreds millions of dollar (Wallmüller 1990, p. 1). DAAD project „Joint Course on Software Engineering“ © 18

Questions: statistics concerning software development (1): (Mynatt: Software Engineering, p. 1) 1. The typical Questions: statistics concerning software development (1): (Mynatt: Software Engineering, p. 1) 1. The typical software development project takes a) 1 - 5 b) 6 - 11 c) 12 - 23 d) 24 - 48 month. 2. For a medium-sized software system, a) less than 10 b) 10 - 20 c) 21 - 30 d) more than 30 lines of executable source code are typically produced per day person during the entire period of development of the system. 3. The approximate number of errors found in every 1000 lines of executable source code during development of a software system is: a) less than 30 b) 30 - 40 c) 40 - 50 d) 50 - 60 4. The approximate number of errors found in every 1000 lines of executable source code in a delivered software system is: a) less than 4 b) 4 - 8 c) 8 - 12 d) more than 12 5. Approximately what percentage of software systems that begin development are finally completed? a) 90 - 100% b) 80 - 90% c) 70 - 80% d) 60 - 70% DAAD project „Joint Course on Software Engineering“ © 19

Questions: statistics concerning software development (2): (Mynatt: Software Engineering, p. 1) 6. 7. 8. Questions: statistics concerning software development (2): (Mynatt: Software Engineering, p. 1) 6. 7. 8. 9. The cost of owning and maintaining of software is typically a) one half b) just c) twice times as expansive as developing the software. Most errors found by users in software the result of a) programmer error b) problems in the problem statement or understanding the problem statement c) clerical errors d) errors in the design What is the amount of programming during software development ? a) 99% b) 70% c) 50% d) 20% e) 10% In software development today, a system would be considered large if it contained at least Mynatt, a) 10. 000 b) 30. 000 c) 50. 000 1990 lines of executable source code. ) 10% DAAD project „Joint Course on Software Engineering“ © 20

Question: defect rate Defect rate = number of errors in 1000 lines of code Question: defect rate Defect rate = number of errors in 1000 lines of code 4 Due to the increasing complexity of software, the defect rate developed from 1977 to 1994 in the following way: a) increase to 10 times b) increase to 2 times c) unchanged DAAD project „Joint Course on Software Engineering“ © 21

Importance of software industry 2850 2900 to world-wide volume in billion US$ IT 3000 Importance of software industry 2850 2900 to world-wide volume in billion US$ IT 3000 2500 2000 1500 1000 1100 800 1320 1620 800 500 m is ur &T ry ile y xt tr te dus in l ica em try ch dus in t r ca dus in ne gi ing en ild bu & y ar e ilit ns fe m de Source: G. Koch, European IT Conference (EITC), Brüssel, June 1994 DAAD project „Joint Course on Software Engineering“ © 22

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 23

How large is software ? 4 classification of software according to its size: small: How large is software ? 4 classification of software according to its size: small: up to 2000 lines of code middle: 2000 – 100. 000 large: 100 000 – 1. 000 very large: > 1 Mio. (A. Macro, p. 70) 4 average size of software in each of the 100 largest US companies: 35 Mio. lines of code (Hausi Müller, p. 3 -12) 4 e. g. USA, Do. D: 1, 4 billion lines of code (distributed to 1. 700 data centers) operating costs for these systems: 9 billion dollar / year (CACM, 5, 1994, p. 26) DAAD project „Joint Course on Software Engineering“ © 24

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 25

History 4 software crisis: notion since the middle of the 60 th 4 in History 4 software crisis: notion since the middle of the 60 th 4 in the middle of the 60 th software costs become larger than hardware costs (picture) 4 NATO conferences 1968, 69: definition of the notion software engineering big advantages but: also today we have a software crises 4 software costs (world-wide) 1985: 140 billions of dollars 1995: 435 (comparison: budget of Germany 1992: 430 billions of DM) (Balzert, Yourdon) DAAD project „Joint Course on Software Engineering“ © 26

Hardware costs and software costs 100 80 Hardware 60 40 Software 20 1955 1960 Hardware costs and software costs 100 80 Hardware 60 40 Software 20 1955 1960 DAAD project „Joint Course on Software Engineering“ © 1969 1976 1985 27

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 28

Definitions of software engineering 1. „Software engineering. . . aims at the economical development Definitions of software engineering 1. „Software engineering. . . aims at the economical development of high-quality software“ (Pagel / Six 1994, page 49) 2. „SE is an engineering discipline concerned with the practical problems of developing large software systems“ (Sommerville 92, p. v). 3. „SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software“ (IEEE Standard Glossary of Software Engineering Terminology, 1990). 4. „Software engineering is a defined, step-by-step process that facilitates the specification, design, implementation, and testing of a software solution for a set of stated requirements in the most expeditious and cost-effective manner possible“ (Kehoe: ISO 9000 -3, 1995, S. 11). DAAD project „Joint Course on Software Engineering“ © 29

Software engineering is not a special field of computer science What it is not Software engineering is not a special field of computer science What it is not What it really is compiler construction . computer communication nstr l al t i ific ar co m pu te artificial intelligence database rc om m un ic n ige at database ce io n co . . . softwareengineering n uctio el int r co mpile . . software engineering Ludewig, SEUH 97, p. 11 f. DAAD project „Joint Course on Software Engineering“ © 30

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 31

Student software development Read the problem (day 1) Code Debug (day 1. . . Student software development Read the problem (day 1) Code Debug (day 1. . . n - 2) (day n - 1) Document Hand in (day n - ) (day n) „Normal“ student view of software life cycle Modesitt, LNCS 750, p 42 DAAD project „Joint Course on Software Engineering“ © 32

Distribution of project activities as a function of project size Yourdon, 1993, p. 151 Distribution of project activities as a function of project size Yourdon, 1993, p. 151 DAAD project „Joint Course on Software Engineering“ © 33

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 34

Software development in practice 4 real customer 4 before programming: negotiations with customers to Software development in practice 4 real customer 4 before programming: negotiations with customers to clarify requirements 4 often changes of wishes of the customers 4 misunderstandings 4 complex task - complex program 4 error-prone software 4 high-pressure deadlines 4 team work 4 big volume of documents: see next slide 4 programming only 20 % of all activities of a project 4 long-run usage (10. . . 25 years) 4 modifications of software after delivery (new wishes, new hardware. . . ) DAAD project „Joint Course on Software Engineering“ © 35

Software documents (Sommerville, Software Engineering, 5 th ed. , p. 17) Activity Requirements analysis Software documents (Sommerville, Software Engineering, 5 th ed. , p. 17) Activity Requirements analysis Requirements definition System specification Architectural design Interface design Detailed design Coding Unit testing Module testing Integration testing System testing Acceptance testing Output documents Feasibility study Outline requirements Requirements document Functional specification Acceptance test plan Draft user manual Architectural specification System test plan Interface specification Integration test plan Design specification Unit test plan Program code Unit test report Module test report Integration test report Final user manual System test report Final system plus documentation DAAD project „Joint Course on Software Engineering“ © 36

Software documents (IEEE standards) 4 Software Validation and Verification Plan (SVVP) 4 Software Quality Software documents (IEEE standards) 4 Software Validation and Verification Plan (SVVP) 4 Software Quality Assurance Plan (SQAP) 4 Software Configuration Management Plan (SCMP) 4 Software Project Management Plan (SPMP) 4 Software Requirements Specification (SRS) (customer oriented and developer oriented) 4 Software Design Document (SDD) (architecture and detailed design) 4 Source code 4 Software Test Documentation (STD) 4 User's manual DAAD project „Joint Course on Software Engineering“ © 37

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 38

Goals of this course (. . . and what we do not offer) 1. Goals of this course (. . . and what we do not offer) 1. 2. 3. 4. 5. 6. 7. 8. Introduction to SE Overview of SE notions, methods, tools Interrelations between subareas (help for orientation) Illustrating examples: continuous case study To go into depth: assignments Awareness of problems of SE Current problems of SE (metrics, reverse engineering, CMM, cleanroom SE, extreme programming. . . ) Experience with SW-tools We do not offer: large project, no customer, no negotiation, no change of wishes, high-pressure deadlines. . . DAAD project „Joint Course on Software Engineering“ © 39

Software engineering in special courses Part I: Introduction to SE Part II: Requirements engineering Software engineering in special courses Part I: Introduction to SE Part II: Requirements engineering 11. Basic concepts of state-oriented view 12. Basic concepts of scenario-based view 13. Object-oriented analysis 14. Formal specification and program verification Part III: Design 17. Object-oriented design Part IV: Implementation and testing 19. Systematic testing Part VI: Advanced problems 21. Software metrics 23. Reverse engineering 24. Quality of software development process and its standardization 24. Software ergonomics 25. Project management DAAD project „Joint Course on Software Engineering“ © 4 Requirements Engineering (SEI, Pittsburgh, USA) 4 Petri nets (Reisig, HU) 4 Objectoriented SW development (with UML) (Fischer, HU) 4 Formal methods of SW development (SEI, Pittsburgh, USA) 4 Software architecture (SEI) 4 Software test methods (Spillner, Bremen) 4 CAME-Tools (Dumke, Magdeburg) 4 Software reengineering (Koschke, Stuttgart) 4 PSP (SEI) 4 CMM (SEI) 4 Software ergonomics (Wandtke, Inst. of psychology, HU) 4 Project Management (SEI, Pittsburgh, USA) 40

1. What is Software Engineering ? a) Areas of software engineering (i. e. , 1. What is Software Engineering ? a) Areas of software engineering (i. e. , what belongs to it) b) The importance of software engineering in practice - problems of software development c) On the size of software d) History of software engineering e) Several definitions of software engineering f) Problems of introducing software engineering in education g) Differences between software development in educational environment and in practice h) Goals of this course i) Literature, articles, papers, . . . DAAD project „Joint Course on Software Engineering“ © 41

Literature (1) 4 Textbooks: • I. Sommerville: Software Engineering (742 pages), 6. ed. Addison-Wesley, Literature (1) 4 Textbooks: • I. Sommerville: Software Engineering (742 pages), 6. ed. Addison-Wesley, 2001 • H. Balzert: Lehrbuch der Software-Technik, Spektrum-Verlag, Vol. 1: 1996, Vol. 2: 1998 (769 pages), Vol. 1 (2 nd ed. ): 2001 (1136 pages) • B. -U. Pagel, H. -W. Six: Software Engineering. Addison-Wesley (895 pages), 1994 (in German) • E. Braude: Software Engineering, An Object-Oriented Perspective, Wiley & Sons, 2001 • R. Pressman: Software Engineering, A Practitioner‘s Approach, European Adaptation (840 pages), Mc. Graw-Hill, 5 th ed. , 2000 • J. Marciniak: Encyclopedia of Software Engineering, Vol. 1, 2 (1453 pages), Wiley & Sons, 1994 • IEEE Standards Collection, Software Engineering, 1994 Edition DAAD project „Joint Course on Software Engineering“ © 42

Parts of this presentation use material from the textbook Helmut Balzert, Software Technik (Vol. Parts of this presentation use material from the textbook Helmut Balzert, Software Technik (Vol. 1), 2 nd edition, Spektrum Akademischer Verlag, Heidelberg 2001. In particular, topics 4 to 13 and 15 to 18 are concerned. DAAD project „Joint Course on Software Engineering“ © 43

Literature (2) 4 Journals: • • IEEE Transactions on Software Engineering IEEE Software ACM Literature (2) 4 Journals: • • IEEE Transactions on Software Engineering IEEE Software ACM Software Engineering Notes ACM Transactions on Software Engineering and Methodology 4 Conferences: • • International Conference on Software Engineering Education Software Metrics Symposium and many others DAAD project „Joint Course on Software Engineering“ © 44

most important international conference DAAD project „Joint Course on Software Engineering“ © 45 most important international conference DAAD project „Joint Course on Software Engineering“ © 45

DAAD project „Joint Course on Software Engineering“ © 46 DAAD project „Joint Course on Software Engineering“ © 46

DAAD project „Joint Course on Software Engineering“ © 47 DAAD project „Joint Course on Software Engineering“ © 47

DAAD project „Joint Course on Software Engineering“ © 48 DAAD project „Joint Course on Software Engineering“ © 48

DAAD project „Joint Course on Software Engineering“ © 49 DAAD project „Joint Course on Software Engineering“ © 49

DAAD project „Joint Course on Software Engineering“ © 50 DAAD project „Joint Course on Software Engineering“ © 50

SEI: Software Engineering Institute (Homepage: http: //www. sei. cmu. edu) About the SEI - SEI: Software Engineering Institute (Homepage: http: //www. sei. cmu. edu) About the SEI - Welcome The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U. S. Department of Defense through the Office of the Under Secretary of Defense for Acquisition, Technology, and Logistics [OUSD (AT&L)]. The SEI contract was competitively awarded to Carnegie Mellon University in December 1984. The SEI staff has extensive technical and managerial experience from government, industry, and academia. Mission The U. S. Department of Defense established the Software Engineering Institute to advance the practice of software engineering because quality software that is produced on schedule and within budget is a critical component of U. S. defense systems. [. . . ] DAAD project „Joint Course on Software Engineering“ © 51

SEI: Software Engineering Institute Detail: Management Practices DAAD project „Joint Course on Software Engineering“ SEI: Software Engineering Institute Detail: Management Practices DAAD project „Joint Course on Software Engineering“ © 52

ESI: European Software Institute (Homepage: http: //www. esi. es) DAAD project „Joint Course on ESI: European Software Institute (Homepage: http: //www. esi. es) DAAD project „Joint Course on Software Engineering“ © 53