Static And Dynamic Reverse Engineering Techniques for Java Software Systems
Object Oriented Software Engineering: A Use Case Driven Approach