UML for the IT Business Analyst: A Practical Guide to Object-Oriented Requirements Gathering