Answer:
C. All of 1, 2, 3, 4 are correct
Step-by-step explanation:
Software reengineering can be defined as examining and altering a system so as to reconstitute it to be in a newer form.
The cost factors which are to be considered here are:
1. Quality of this software which is going to be reengineered.
2. Consideration on whether expert staffs are available
3. Tool support availability
4. The extent of the required data conversion.
Therefore all the options are correct