You are on page 1of 2

Software Engineering

Merlin Dorfman
Richard H. Thayer

Preface In our opinion, good tutorial papers have the fol-


lowing characteristics:
This tutorial describes the current state of the
practice of software engineering. The purpose for • They define the basic terms
writing this tutorial is twofold:
• They cover the state of the practice for the
given topic thoroughly and evenly
1. There is a need for a set of papers that can be
used for a senior or graduate class in software • They avoid new, unproved concepts (other
engineering for those faculty members who than to list them as future possibilities)
prefer to use a set of definitive papers rather • They do not try to sell one tool or concept
than a textbook, while relieving the instructor over all others
of the need to obtain copyright clearance • They are easy to read
from dozens of publishers.
• They are organized in a hierarchical manner
2. There are software professionals who would (top-level concepts discussed first, second
like to have a preselected volume of the best level concepts discussed'next, and so forth)
papers in the field of software engineering,
• They provide additional references
for self-study or for a training course in in-
dustry. • They come from a refereed journal (unless
written specifically for the tutorial)
For the purposes of this tutorial, software engi- • They were written by an expert in the area (to
neering is defined as an engineering discipline that assure all of the above)
applies sound scientific, mathematical, management,
and engineering principles to the successful building Our criteria are of course idealized. Even these
of large computer programs (software). "rules" can be violated if there is a good reason.
In addition, to keep the whole tutorial under 500
software engineering. (1) The application of a pages, each article should be no longer than 10-12
systematic, disciplined, quantifiable approach to journal pages.
the development, operation, and maintenance of Our intent was to use the best and most current
software, that is, the application of engineering to leading papers in the field. To assure that our intent
software. (2) The study of approaches as in (1). was fulfilled, we sent survey forms to over 200 of the
leading researchers and practitioners of software engi-
Software systems are built within an organizational neering in the US, Canada, Europe, and Asia, asking
structure called a software project. A successful soft- what papers they would like to see in a software engi-
ware project delivers its planned products within neering tutorial. Seventy survey forms were returned.
schedule and budget and meets its defined functional In a surprisingly large number of the basic specialty
and quality requirements. areas of software engineering, there were no recent,
Software engineering includes software require- high-quality overview papers identified. It appears
ments analysis; software design; modern programming that, as a discipline matures, people no longer write
methods; testing procedures; verification and valida- overview papers. There have been very few acceptable
tion; software configuration management; software papers on the fundamentals of software engineering
quality assurance; tools for analysis and design; corpo- published in the last ten or so years. Therefore the
rate software policies, strategies and goals; project editors contacted some of the leading authors and
management planning, organizing, staffing, directing, practitioners in the major subfields of software engi-
and controlling; as well as the foundations of computer neering and asked them to write papers for us. A list of
science. the contributors can be found on Page v; we are grate-

ix
ful that they took time from their busy schedules to Part Four discusses software technology and edu-
write for this tutorial. cation. Chapter 12, Software Technology, discusses
Our tutorial is divided into four parts and 13 how technology is transitioned from theory to practice
chapters. as well as software re-engineering and reuse, com-
Part One includes Chapters 1, 2, and 3 and pro- puter-aided software engineering (CASE), and soft-
vides an overview of software engineering in the con- ware metrics. Chapter 13 contains a single paper on
text of current issues and the engineering of large the topic of education for software professionals.
complex systems. Chapter 1 describes the problems This tutorial is a companion document to the
that occur in developing software, sometimes called below-listed software engineering tutorials. Duplica-
the "software crisis." Chapters 2 and 3 present the tion of papers has been kept to a minimum. In a few
concepts of system engineering of software-intensive cases, particularly important papers are duplicated in
systems, and of engineering of software products, as order that each tutorial can stand alone.
the solution to the "software crisis."
Part Two, Chapters 4 through 8, describes software • R.H. Thayer, editor, Tutorial: Software En-
engineering from the viewpoint of the phases of the gineering Project Management, IEEE Com-
software life cycle: requirements, design, implementa- puter Society Press, Los Alamitos, Calif.,
tion (coding), testing, and maintenance. Chapter 4, 1988 (revision in process).
Software Requirements Engineering and Software • R.H. Thayer and M. Dorfman (eds.), System
Design, discusses the state of the practice in require- and Software Requirements Engineering,
ments and design. Originally requirements engineering IEEE Computer Society Press, Los Alamitos,
and design were separate chapters, but most papers on Calif., 1990 (revision in process).
the subject combine the two topics so we did as well. • R.H. Thayer and A. D. McGettrick (eds.),
Chapter 5, Software Development Methodologies, also Software Engineering—A European Per-
combines approaches supporting analysis and design. spective, IEEE Computer Society Press, Los
Because of their growing importance, special attention Alamitos, Calif., 1993.
was paid to object-oriented and formal methods.
Chapter 6, Coding, describes programming activities We would like to acknowledge the support pro-
as they affect software engineering and vice versa. vided by the following people.
Chapter 7, Software Validation, Verification, and
Testing, and Chapter 8, Software Maintenance, de- • Ms Catherine Harris and Dr. William Sand-
scribe the state of the practice in those areas of spe- ers, managing editors of IEEE Computer So-
cialization. ciety Press
Part Three consists of Chapters 9, 10, and 11 and • IEEE volunteer editors under the direction of
takes a phase-independent view of the software devel- Prof. Jon Butler of the Naval Postgraduate
opment process and its management. Chapter 9 looks School
at software quality assurance in the larger context of • Fernando Proaiio, a graduate student at Sac-
ensuring conformance to the development process, as ramento State University, who assisted us
well as in the traditional smaller-scale context. The with the survey mentioned above
chapter also looks at configuration management, stan-
dards, and reliability engineering as keys to building Merlin Dorfman, Ph.D.
quality into software products. Chapter 10 discusses Lockheed Martin Missiles and Space Company
software project management and some related topics Sunnyvale, California, USA
such as software cost estimation and risk management.
Chapter 11 looks at the software development process Richard H. Thayer, Ph.D.
and how it fits into the larger scope of the software life California State University, Sacramento
cycle. Sacramento, California, USA

You might also like