Object-Oriented Design For C++ Development
Analysis models of a system, such as those described by the UML (Unified Modeling Language), provide an elegant conceptual view of a system's purpose, but little advice on the practicalities of constructing a system. By contrast, implementation technologies, such as C++, provide the detail necessary to build but little advice on how to establish an effective architecture for your system. This is a gap you may have encountered yourself: having either an understanding of a notation or of a technology, or even both, which is not sufficient to guarantee a successful design. Therefore, design is a process that requires additional concepts and practices to be effective.