UML for the IT business analyst :a practical guide to object-oriented requirements gathering