Chapter One: The Genesis of UML

Software engineering has slowly become part of our everyday life. From washing machines to compact disc players, through cash machines and phones, most of our daily activities use software, and as time goes by, the more complex and costly this software becomes.

The demand for sophisticated software greatly increases the constraints imposed on development teams. Software engineers are facing a world of growing complexity due to the nature of applications, the distributed and heterogeneous environments, the size of programs, the organization of software development teams, and the end-users' ergonomic expectations.

To surmount these difficulties, software engineers will have to learn not only how to do their job, but also how to explain their work to others, and how to understand when others' work is explained to them. For these reasons, they have (and will always have) an increasing need for methods.

The days of intuitive programming and programs that 'fall into place' are over. The golden age of grown-up, reasoned and efficient software engineering has arrived!

© 1997 Editions, Eyrolles, Paris, France . All rights reserved.