Software Architecture & UML Unified Modeling Language Tools: use cases, class, sequence, object diagrams