Guide to Applying the UML (Springer Professional Computing)