Using UML software engineering with objects and components - Stevens, Perdita; Pooley, Rob (Addison-Wesley, 2000)