Object-Oriented Analysis and Design for Information Systems:Modeling with UML, OCL, and IFML