Systems Analysis and Design with UML: An Object-oriented Approach