Object oriented analysis, design and testing (IEEE Press, 1998)