Object-oriented analysis (2nd ed.)