A good academic approach to OO analysis and design
Rating: 4/5
Target Audience Developers looking to learn how to do object-oriented (OO) analysis and design for their projects using the technologies of UML and the Unified Process.
Contents This book is an academic textbook on the subject of OO analysis and design for computer science students who may not yet have a background in programming.
The book is divided into four parts with the following contents:
Part 1 - Introduction To UML And The Unified Process - Introduction To Information Systems; How Information Systems Are Developed; The Object-Oriented Paradigm, UML, And The Unified Process Part 2 - UML And The Unified Process - The Requirements Workflow I; The Requirements Workflow II; The Object-Oriented Analysis Workflow I; The Object-Oriented Analysis Workflow II; The Object-Oriented Design Workflow; The Workflows And Phases Of The Unified Process; More On UML Part 3 - Major Topics In Systems Analysis And Design - CASE, Teams; Testing; Management Issues; Planning And Estimating; Maintenance; User-Interface Design; Introduction To Web-Based Information Systems; Introduction To Database Management Systems; Technical Topics Part 4 - Appendixes - Term Project: Chocoholics Anonymous; Object-Oriented Design: Osbert Oglesby Case Study; Object-Oriented Design: MSG Foundation Case Study; C++ Implementation: Osbert Oglesby Case Study; Java Implementation: MSG Foundation Case Study; Index
Review It's been a long time since I've sat in a classroom learning something new. I'm used to getting the latest book on a subject and doing it myself. So it's unusual that I would end up with a textbook on a technical subject that I am using for self-education. That's the situation I find myself in with this book.
Introduction To Object-Oriented Design And Analysis is designed to for use with a beginning course on the subject. So right away, you can expect the material to be presented in a formal, academic fashion. The author deliberately spends comparatively little time on introductory material and gets to the meat of the subject so that the reader can start to get some hands-on experience. Each chapter states the learning objectives up front, and ends with a recap of key terms and additional references. There are also review questions for the chapter, as well as problems to be solved. Scattered throughout the chapters are "Just In Case You Wanted To Know" sidebars that relate the subject being discussed to real-life situations. There are plenty of diagrams and illustrations to aid your understanding. There are also two case studies that are built upon throughout the book so that the reader can follow an entire project of OO analysis and design from start to finish. Finally, there is a CD included in the book that has a tool called ArgoUML that can be used to create your UML design diagrams.
I personally would recommend this book to someone wanting to learn more about OO analysis and design. If you are trying to make the transition to OO programming (such as with J2EE), you'll need to have a good grasp of this material. J2EE is not a rapid application development environment, and you need to have a solid system design in place before you start your coding. This book will give you the skills and tools you require to get there. It is a serious approach to learning, so if you prefer a lighter approach to a new subject, you should probably look for something a little different than what you'll find here.
Conclusion
This is a book that will appeal to those who like a more academic style for their learning. If you take the time to answer the questions and follow the examples, you'll come away with an excellent understanding and grasp of the subject.
Developers looking to learn how to do object-oriented (OO) analysis and design for their projects using the technologies of UML and the Unified Process.
Contents
This book is an academic textbook on the subject of OO analysis and design for computer science students who may not yet have a background in programming.
The book is divided into four parts with the following contents:
Part 1 - Introduction To UML And The Unified Process - Introduction To Information Systems; How Information Systems Are Developed; The Object-Oriented Paradigm, UML, And The Unified Process
Part 2 - UML And The Unified Process - The Requirements Workflow I; The Requirements Workflow II; The Object-Oriented Analysis Workflow I; The Object-Oriented Analysis Workflow II; The Object-Oriented Design Workflow; The Workflows And Phases Of The Unified Process; More On UML
Part 3 - Major Topics In Systems Analysis And Design - CASE, Teams; Testing; Management Issues; Planning And Estimating; Maintenance; User-Interface Design; Introduction To Web-Based Information Systems; Introduction To Database Management Systems; Technical Topics
Part 4 - Appendixes - Term Project: Chocoholics Anonymous; Object-Oriented Design: Osbert Oglesby Case Study; Object-Oriented Design: MSG Foundation Case Study; C++ Implementation: Osbert Oglesby Case Study; Java Implementation: MSG Foundation Case Study; Index
Review
It's been a long time since I've sat in a classroom learning something new. I'm used to getting the latest book on a subject and doing it myself. So it's unusual that I would end up with a textbook on a technical subject that I am using for self-education. That's the situation I find myself in with this book.
Introduction To Object-Oriented Design And Analysis is designed to for use with a beginning course on the subject. So right away, you can expect the material to be presented in a formal, academic fashion. The author deliberately spends comparatively little time on introductory material and gets to the meat of the subject so that the reader can start to get some hands-on experience. Each chapter states the learning objectives up front, and ends with a recap of key terms and additional references. There are also review questions for the chapter, as well as problems to be solved. Scattered throughout the chapters are "Just In Case You Wanted To Know" sidebars that relate the subject being discussed to real-life situations. There are plenty of diagrams and illustrations to aid your understanding. There are also two case studies that are built upon throughout the book so that the reader can follow an entire project of OO analysis and design from start to finish. Finally, there is a CD included in the book that has a tool called ArgoUML that can be used to create your UML design diagrams.
I personally would recommend this book to someone wanting to learn more about OO analysis and design. If you are trying to make the transition to OO programming (such as with J2EE), you'll need to have a good grasp of this material. J2EE is not a rapid application development environment, and you need to have a solid system design in place before you start your coding. This book will give you the skills and tools you require to get there. It is a serious approach to learning, so if you prefer a lighter approach to a new subject, you should probably look for something a little different than what you'll find here.
Conclusion
This is a book that will appeal to those who like a more academic style for their learning. If you take the time to answer the questions and follow the examples, you'll come away with an excellent understanding and grasp of the subject.