Computers are the most pervasive tools of modern society. Their deployment relies on advanced methods of software and systems engineering. Based on repeated and consistent observations, key lessons of these fields can now be formulated into rules or even laws, providing initial building blocks towards a theoretical foundation that is essential for further research, for teaching and for the practice of software development.
Intended as a handbook for students and professionals alike, this book is the first to identify and discuss such rules and laws. They are largely independent of technologies, and thus form a basis for the principles underlying software and systems engineering. Software and system engineers should be aware of this proven body of knowledge, to ensure professionalism and due diligence of their work.
The book is structured around the software development lifecycle. It begins with requirements definition and goes on to maintenance and withdrawal. In different process models, these tasks have different importance or are applied in a different sequence, or even cyclically. The book provides the reader with:
* clear statements of software and systems engineering laws and their applicability,
* empirical evidence that proves the usefulness of the material covered,
* unique knowledge to apply in an industrial setting.
Albert Endres had a long and distinguished career in industrial software development with IBM Germany, with responsibilities for compiler, operating system, and software tools development. He is an honorary professor in computer science at the University of Stuttgart, Germany; and was full professor of computer science at the Technical University of Munich, Germany from 1993 to 1997. He was the founding chairman of the German chapter of the ACM, is a senior member of IEEE and a member of the German Informatics Society (GI).
Dieter Rombach holds the Chair of Software Engineering in the department of computer science at the University of Kaiserslautern, Germany, and he is also the Executive Director of the Fraunhofer Institute for Experimental Software Engineering (IESE). Together, these two organizations form one of the largest centers for Software Engineering research in Europe. He was formerly a faculty member of the department of computer science at the University of Maryland at College Park, MD, USA. There, he was a Project Leader in the Software Engineering Laboratory, a joint venture between NASA Goddard Space Flight Center, the Computer Sciences Corporation, and the University of Maryland. He is an IEEE Fellow and a member of ACM as well as of the German Informatics Society (GI).
About the Author
Albert Endres has lived, worked and taught all over the world. Before retiring from IBM in 1992, Endres worked for the company in Germany, France and New York, mostly dealing with software engineering. He was a professor of computer science at the Technical University of Munich and a member of ACM and IEEE. Currently he concentrates on his hobbies.
Dieter Romabch is the director of software engineering at Fraunhofer Institut Experimentelles in Germany. The institute is the leading center for applied research and technology transfer in experimental software engineering. He is also the head of a software engineering research group for AGSE.