The Unified Modeling Language User Guide by James Rumbaugh & Grady Booch