Software Engineering : a practtioner's approach
UML distilled : a brief guide to the standard object modeling language