Chair of Software Engineering
Einführung in die Programmierung Introduction to Programming
- Prof. Dr. Bertrand Meyer
Einfhrung in die Programmierung Introduction to Programming Prof. - - PowerPoint PPT Presentation
Chair of Software Engineering Einfhrung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 15: From Programming to Software Engineering Software engineering (1) The processes, methods, techniques, tools
Chair of Software Engineering
2
3
4
2000
1 MHz 10 MHz 1 GHz 100 MHz
1990 1980 1970
8008: < 1 MHz 80386: 33 MHz 80486: 50 MHz Pentium: 133 MHz Pentium IV: 1.3 GHz Speed of Intel processors
(1 Hertz = 1 clock cycle per second)
3.8 GHz
5
Unix V7: 10K 1990 1992 1995 1998 2000 Red Hat 7.1: 30 Linux: 10 K 10 20 40 30
Lines of code (millions)
Windows 3.1: 3 M
Windows NT: 4 M Windows 95: 15 Windows 98: 18 Windows 2000: 40 Red Hat 6.2: 17 Solaris 7: 12 Windows XP: 45 2006 50 Vista: 50 Debian 2.2: 55 Debian 3.1: 213! 2001
6
(source: Siemens)
7
8
9
10
LOS ANGELES. Failure of the Southwest's main air traffic radar system was traced to new software unable to recognize data typed manually by Mexico controllers. The software installed Wednesday evening at the FAA's Los Angeles Center in the Mojave Desert, which controls aircraft over a 100,000- square-mile area, is the same upgrade completed successfully at 19 other FAA radar centers. But designers didn't allow for information typed in by Mexico controllers, who don’t have a computerized system, the FAA spokesman said. "The computer didn't recognize the information from Mexico and it aborted". "A digit out of place could do it." When controllers at the LA Center switched to the new system Thursday morning, it quickly failed when data from a Mexico controller was received. The radar system instantly switched to backup. The computer with the new software was restarted later, but failed again. The old system was reinstalled and the system returned to operation more than two hours
nationwide ground stop for all flights bound for the Southwest, causing cancellations, rerouting, long delays and airport gridlock. Technicians must now rewrite the software to recognize Mexico controller
11
12
13
14
15
16
Max
Code of routine n-1
(activation records)
18
19
20
21
22
23
24
25
Correctness Robustness Integrity
HOSTILE USE ERRORS SPECIFICATION
26
27
28
29
30
Source*: Brooks 87
*For sources cited, see bibliography
31
Source: OOSC
*Validation & Verification, especially testing
32
33
15 quality goals for requirements
Marked attributes are part of IEEE 830, see below * “Ranked for importance and/or stability”
34
35
Source: Wiegers
36
Source: Wiegers
37
Source: Wiegers
38
Adapted from: IEEE
39
40
41
1.1 Purpose 1.2 Scope 1.3 Definitions, acronyms, and abbreviations Glossary! 1.4 References 1.5 Overview
2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 Constraints 2.5 Assumptions and dependencies
42
43
44
45
46
47
Feasibility study Requirements Specification Global design Detailed design Implemen- tation V & V Distribution
48
FEASIBILITY STUDY REQUIREMENTS ANALYSIS GLOBAL DESIGN DETAILED DESIGN DISTRIBUTION IMPLEMENTATION UNIT VALIDATION SUBSYSTEM VALIDATION SYSTEM VALIDATION
49
50
Feasibility study Requirements Specification Global design Detailed design Implemen- tation V & V Distribution
51
Feasibility study Requirements Specification Global design Detailed design Implemen- tation V & V Distribution
52
53
As Management requested it As the Project Leader defined it As Systems designed it As Programming developed it As Operations installed it What the user wanted
(Pre-1970 cartoon; origin unknown)
54
55
56
Figure from: Ghezzi, Jazayeri, Mandrioli, Software Engineering, 2nd edition, Prentice Hall
57
58
59
60
Example classes: PLANE, ACCOUNT, TRANSACTION… STATE, COMMAND… HASH_TABLE… TEST_DRIVER… TABLE…
61
A D I V
62
It seems that the sole purpose of the work of engineers, designers, and calculators in drawing offices and research institutes is to polish and smooth out, lighten this seam, balance that wing until it is no longer noticed, until it is no longer a wing attached to a fuselage, but a form fully unfolded, finally freed from the ore, a sort of mysteriously joined whole, and of the same quality as that of a poem. It seems that perfection is reached, not when there is nothing more to add, but when there is no longer anything to remove.
63
64
Cluster 1 Cluster 2
A D I V&V G A D I V&V G A D I V&V G A D I V&V G
65
I
D
I
D
I
D
Cluster 1 Cluster 2
I
D
Cluster n
I
D
I
D
66
67
Desirable
Other qualities
Functionality Common
1 2 3 4
68
69
70
71
72
73
74
75
76
77
78
Program type Effort (pm) Time Application 2.4 * L * 1.05 2.5 * pm * 0.38 Utility 3.0 * L * 1.12 2.5 * pm * 0.35 System 3.6 * L * 1.20 2.5 * pm * 0.32 L: 1000 * Delivered Source Instructions (KDSI)
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98