Book Review
Practical Software Engineering
A Case-Study Approach


This book is a practical introduction to software engineering, including new trends like agile development, test driven development, design patterns and refactoring. A case study is iteratively developed in this book, all examples are based on UML and Java.

The book has been written by using Poseidon for UML as modeling tool for
some of the UML diagrams and offers an attached CD that includes a free license of Poseidon for UML Community Edition.
For more detailed information, view the publishers homepage: Addison-Wesley

Authors:Leszek Maciaszek, Bruc Lee Liong
Page Count:864 pages
Publication Date:08/2004
Used Programming

Subjects:  Software Engineering

About the Authors

Leszek Maciaszek is an Associate Professor of Computing at the Computing Department of the Macquarie University, Australia. He is author of more than 100 publications and specializes in databases, object technology, enterprise information systems and software engineering.

Bruc Lee Liong is a PhD student at the Division of Information and Communication Sciences, Department of Computing, Macquarie University, Sidney, Australia. He is interested in Enterprise Design and Application, Object Oriented Technology, Analysis and Design, and Software Engineering.


FocusApplying UML
Theoretical Foundation
PrerequisitesUML Modeling
Possibilities to searchGlossary
not suited at all, very little content, doesn't apply
  very well suited, right on the spot


The books main focus is to provide an overview of software engineering. This book doesn't require any prior knowledge of software engineering, UML or Java. All these topics are introduced in tutorial sections. So the audience of this book isn't restricted to developers or students.
Throughout the book an email management system is used as a case study. Using this example an iterative approach to software development is presented. UML diagrams, design patterns and annotated Java source code are used to describe the different iterations of the case study. I really like this iterative approach, because most systems are developed iterative to reduce the overall project risk.
Especially the chapters on test driven development and refactoring show very clearly the advantages of agile software development processes. But besides these very technical topics the book also covers project planning and process management. Throughout the book practical examples show how to use the different tools and methods. The book also gives an overview of the existing UML tools, but the whole book doesn't require or favor a specific UML tool.
What I really like is that the book shows how to use up-to-date technologies like J2EE, design patterns, unit testing and refactoring. Since UML is used throughout the book, it gives a good introduction to UML and shows very nicely how to use it in a "real" project. Another nice thing is that after each iteration of the system the annotated Java source code is shown and discussed.
As the name of this book states, this is a hands on, practical introduction to software engineering. It's nice and easy to read and covers all relevant topics.

Matthias Köster, Chief Technical Officer, Gentleware AG, 10/2004

For Book Orders

In Partnerschaft mit In Partnerschaft mit

© 2000 - 2010 Gentleware AG
 support  modeling knowledge  literature