This award-winning book covers how the entire object-oriented development process works. You will gain a detailed understanding of all phases of OO development in a coherent and consistent manner.
Building Object Applications That Work starts exactly where The Object Primer 1st Edition left off — At object-oriented (OO) design. Like The Object Primer it is written in everyday language that you can understand, covering leading-edge topics that are pertinent to real-world developers. While object-orientation is often used to develop complex systems, OO itself does not need to be complicated. It is written from the point of view of a developer, somebody who has lived through the difficulty of learning this exciting new approach to creating applications.
This book takes you through the entire process of building object applications, from analysis, to design, to testing. It includes sections on:
- How to use the Unified Modeling Language effectively
- Analysis, so you know what you need to build
- Design techniques, so that you know how you are going to build your application
- Collecting the right metrics to improve your development approach
- Applying OO patterns to improve the quality of your applications
- Creating applications for stand-alone, client/server and distributed environments
- Using both relational and object-oriented databases to make your objects persistent
- Architecting your applications so they are maintainable and extensible
What You Will Learn
By reading Building Object Applications you will gain a thorough understanding of how the entire object-oriented development process works. You will gain a detailed understanding of all phases of OO development in a coherent and consistent manner.
Building Object Applications That Work is divided into five parts:
Part 1 — Introduction
Building Object Applications starts where The Object Primer left off — At OO design. Well, actually it starts with a review of, and a few improvements to, The Object Primer. To keep things simple I purposely left out a few things in the first volume, specifically class methods and class attributes. These two concepts are just too darn confusing for OO beginners, so I skipped them until this book. The book adopts the Unified Modeling Language (UML) for all it’s models.
Part 2 — Object-Oriented Analysis, Design, and Architecture
The second chapter covers several diagramming techniques that we didn’t cover in the first book. You learn some really good tips and techniques to make your diagrams look better. The chapter provides a really solid understanding of how OO analysis and OO design techniques fit together.
Chapter 3 introduces you to an OO class type architecture. You learn a four level architecture that actually has five and maybe even six levels, but who’s counting? Chapter 4 overviews OO patterns, looking at several patterns that are being used in live applications today.
We delve into distributed OO architectures, including client/server (C/S) architecture, in Chapter 5. We discuss the seven steps for creating an OOC/S design. C/S can be very complex, and experience has shown that OO is the surest way to guarantee success in a C/S environment. It works through how OOC/S leads to distributed objects.
Part 3 — Object-Oriented Construction
Chapter 6 covers object-oriented metrics for estimating the size of a project and evaluating how well you are doing. The important thing for developers are the design and coding implications that metrics make. Understanding the basis for metrics will help you to improve your development skills.
Chapters 6 and 7 work through OO languages and OO . Programmers might want to skip immediately to that point. Although there are numerous OO programming languages, we concentrate on Smalltalk, C++, Java, and ObjectCOBOL in chapter 6.
Chapter 8 covers many programming tips as well as code documentation tips.
User interface design is covered in Chapter 9. Just because you use a GUI it isn’t necessarily OO. We’ll see designs for both a standard GUI interface for the bank and an OOUI (OO user interface) for it and when you see the difference you’ll be astounded. You’ll also learn a lot about prototyping and screen design in this chapter.
Chapter 10 overviews persistence. It covers issues like OO normalization, converting objects to relational records, inheritance issues, and design issues when using a relational DB to store objects. The chapter ends with a discussion of both object/relational and object databases.
Chapter 11 discusses wrapping, which is a technique for getting a few more miles out of your legacy applications.
Part 4 — Object-Oriented Testing
Until this book, OO testing hasn’t been well covered by the mainstream OO methodologies. Users really like it when their application works, so it’s not a bad idea to test your application before you release it. Traditional testing techniques don’t always work for OO applications. Chapter 12 describes the full lifecycle object-oriented testing (FLOOT) approach which presents a multitude of effective OO testing techniques.
Part 5 – Conclusion
This section is basically a quick wrap-up of the material covered in the book and how to successfully overcome the object-oriented learning curve. Building Object Applications That Work comes with a fairly robust glossary that includes both pictures and text descriptions of them. Not only are you given the definition of a term, you often also are shown the modeling notation for that term as well.