You are on page 1of 1

ASSIGNMENT 2

1) What are the five basic approaches to reengineering software systems? Explain them.
2) Explain the principles of abstraction, refinement, and alteration in the context of
software reengineering.
3) Explain why decompilation is a reverse engineering process, whereas compilation is
not a forward engineering process. Discuss the applications of decompilers. What
technique can be used to avoid decompilation.
4) How do you identify what refactorings to apply? Briefly explain the concept of
preserving the software’s behavior while refactoring.

INSTRUCTIONS:

 Submission deadline: 6th April, 2023 (Thursday) 


 Submit on Google Classroom.
 Individual assignment
 Copied assignment marked as Zero.
 Late assignments will not be accepted.
 Write in your own words. No copy paste from internet or fellows. 

You might also like