WS11 EiSE 03 What is Software Engineering
WS11 EiSE 03 What is Software Engineering
Michael Eichberg
Software Engineering
Department of Computer Science
Technische Universität Darmstadt
What is
Software Engineering?
What is
Software Engineering?
• What is Software?
“
What is Software? | 3
I. Sommerville
Software Engineering Eighth Edition; Pearson Education,
2007
“
What is Software? | 5
W. S. Humphrey
The Software Engineering Process: Definition and Scope;
ACM SIGSOFT Software Engineering Notes, Vol. 14, Issue 4,
1989
Software is more than just code.
What is Software? | 6
Hardware lifetime
time
Balzert
Lehrbuch der Softwaretechnik; Spektrum Akademischer
Verlag, 1996
What is
Software Engineering?
“
What is Engineering? | 12
(Hardware) “Engineering”
The branch of science and technology concerned
with the design, building, and use of engines,
machines, and structures.
• The costs for hardware were falling, but the costs for
software were rising significantly
• Software projects were not in-time, were not in-budget and
contained too many errors
• Technological issues
• Lack of suitable programming languages
• Lack of methods
• Lack of tool support
• ...
The term “Software Engineering” was coined at the
end of the sixties and is often attributed to F.L. Bauer.
What is Software Engineering? | 14
W. S. Humphrey
The Software Engineering Process: Definition and Scope;
ACM SIGSOFT Software Engineering Notes, Vol. 14, Issue 4,
1989
“
What is Software Engineering? | 16
“Software Engineering”
(1) The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that
is, the application of engineering to software.
(2) The study of approaches as in (1).
“Software Engineering”
Software engineering is a systematic and
disciplined approach to developing software. It
applies both computer science and engineering
principles and practices to the creation,
operation, and maintenance of software
systems.
University of Waterloo
http://www.softeng.uwaterloo.ca/ (since 2007)
“
What is Software Engineering? | 18
• Software Requirements
The requirements define what the system is expected to do.
• Software Design
How the system is designed.
• Software Testing
The systematic identification (and elimination) of errors.
• Software Maintenance
• Software Configuration Management
The management of different versions and configuration of a software.
• Software Requirements
The requirements define what the systems is expected to do.
• Software Design
How the system is designed.
• Software Testing
Primary focus
The systematic elimination of errors.
of this lecture.
• Software Maintenance
• Software Configuration Management
The management of different versions and configuration of a software.
viewpoints
C o n t a c t E d i t o r : D e n n i s Tay l o r N dtaylor @computer.org
1982
Software Engineering:
An Idea Whose Time Has Come and Gone?
Tom DeMarco
W
e’re now just past the 40th anniver- Compelled to Control
sary of the NATO Conference on The book’s most quoted line is its first sentence:
Software Engineering in Garmisch, “You can’t control what you can’t measure.” This
Germany, where the discipline of soft- line contains a real truth, but I’ve become increas-
ware engineering was first proposed. ingly uncomfortable with my use of it. Implicit in
Because some of my early work be- the quote (and indeed in the book’s title) is that
came part of that new discipline, this seems like control is an important aspect, maybe the most im-
an appropriate moment for reassessment. portant, of any software project. But it isn’t. Many
My early metrics book, Con- projects have proceeded without much control but
trolling Software Projects: Man- managed to produce wonderful products such as
agement, Measurement, and GoogleEarth or Wikipedia.
Estimation (Prentice Hall/Your- To understand control’s real role, you need to
don Press, 1982), played a role distinguish between two drastically different kinds
in the way many budding soft- of projects:
ware engineers quantified work
and planned their projects. In N Project A will eventually cost about a mil-
my reflective mood, I’m wonder- lion dollars and produce value of around $1.1
ing, was its advice correct at the million.
time, is it still relevant, and do I N Project B will eventually cost about a million
still believe that metrics are a must for any suc- dollars and produce value of more than $50
cessful software development effort? My answers million.
are no, no, and no.
The book for me is a curious combination of What’s immediately apparent is that control is re-
generally true things written on every page but ally important for Project A but almost not at all
We welcome combined into an overall message that’s wrong. important for Project B. This leads us to the odd
your letters. It’s as though the book’s young author had never conclusion that strict control is something that
Send them to met a metric he didn’t like. The book’s deep mes- matters a lot on relatively useless projects and
software@ sage seems to be, metrics are good, more would much less on useful projects. It suggests that the
computer.org. be better, and most would be best. Today we all more you focus on control, the more likely you’re
Include your full understand that software metrics cost money and working on a project that’s striving to deliver
name, title, time and must be used with careful moderation. something of relatively minor value.
affiliation, and In addition, software development is inherently To my mind, the question that’s much more im-
email address. different from a natural science such as physics, portant than how to control a software project is,
Letters are edited
2009
and its metrics are accordingly much less precise why on earth are we doing so many projects that
for clarity in capturing the things they set out to describe. deliver such marginal value?
and space. They must be taken with a grain of salt, rather
than trusted without reservation. Continued on p. 95
Tom DeMarco
IEEE Software, July/August 2009 (vol. 26 no. 4)
Freely available at:
http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/
2009/0709/rW_SO_Viewpoints.pdf
“
A Critical View of Software Engineering | 27
Tom DeMarco
Controlling Software Projects: Management, Measurement, and
Estimation; Prentice Hall/Yourdon Press, 1982
“
A Critical View of Software Engineering | 28
2009
Tom DeMarco
Software Engineering
An Idea Whose Time Has Come and Gone?
“
A Critical View of Software Engineering | 29
2009
Tom DeMarco
Software Engineering
An Idea Whose Time Has Come and Gone?
“
A Critical View of Software Engineering | 30
2009
Tom DeMarco
Software Engineering
An Idea Whose Time Has Come and Gone?
“
A Critical View of Software Engineering | 31
2009
Tom DeMarco
Software Engineering
An Idea Whose Time Has Come and Gone?
“
A Critical View of Software Engineering | 32
2009
Tom DeMarco
Software Engineering
An Idea Whose Time Has Come and Gone?
What is
Software Engineering?
• Fifteen Principles of Software Engineering
“
Software Quality | 34
Alan M. Davis
Fifteen Principles of Software Engineering; IEEE Software
1994
“
Software Quality | 35
12. ...
Alan M. Davis
Fifteen Principles of Software Engineering; IEEE Software
1994
“
Software Quality | 36
11. ...
12. Good management is more important than
good technology
(… Management style must be adapted to the situation…)
Alan M. Davis
Fifteen Principles of Software Engineering; IEEE Software
1994
Goal of the Lecture | 37