Structural and Object-Oriented System Analysis and Design