A modern computer program, such as the one that controls a rockets journey to moon, is like a medieval cathedralvast, complex, layered with circuits and mazes. To write such a program, which probably runs into a hundred thousand lines or more, knowledge of an object-oriented language like Java or C++ is not enough. Unified Modelling Language (UML), elaborated in detail in this book, is a methodology that assists in the design of software systems.
The first task in the making of a software product is to gather requirements from the client. This well-organized and clearly presented text develops a formal method to write down these requirements as Use Cases in UML. Besides, it also develops the concepts of static and dynamic modelling and the Unified Process that suggests incremental and iterative development of software, taking client feedback at every step. The concept of Design Patterns which provide solutions to problems that occur repeatedly during software development is discussed in detail in the concluding chapters. Two appendices provide solutions to two real-life problems.
Case Studies, mapping of examples into Java code that are executable on computers, summary and Review Questions at the end of every chapter make the book reader friendly.
The book will prove extremely useful to undergraduate and postgraduate students of Computer Science and Engineering, Information Technology, and Master of Computer Applications (MCA). It will also benefit professionals who wish to sharpen their programming skills using UML.