This book is an extremely practical introduction to object-oriented design.
This book is an extremely practical introduction to object-oriented design. The strength of the book is that it concentrates on only this and sets a good example of applying all the good design practices to its case studies. The reader does not need to filter the book for useless information, because all should be common knowledge to OO designers. After each of the chapters there are useful annotated references for further reading. There are useful practical exercises after each chapter.
The book starts with the basic notation of object diagrams, class diagrams, object interaction diagrams and statecharts. The book continues with a case study of designing a diagram editor. The requirements are analysed using use cases, the design is done using an iterative approach and the implementation in C++ is given. The iterative approach means that the initial models are explained and changed and reviewed during the design process.
After this first introduction, a chapter covering the more advanced data modelling techniques follows and continues with two additional case studies. The book finishes with implementation strategies, for example how to implement associations in C++ and refers to general OO principles and design patterns.
Although this book is published in 1996 and is based on the OMT notation, it is still a very good introduction. However, to get a more complete view of the whole software development process, further reading is required.










