Q1 (10 marks) Explain the following:

  1. What is the rationale for refactoring in agile development?
  2. Is refactoring just cleaning up code? Explain your answer
  3. The key motivations for Iterative Development.

Q2. (20 marks) Find your own example of where a refactoring to patterns was be used (For example the Move Creation Knowledge to Factory) refactoring would be used. Please explain the following

  • Explain the details of the scenario
  • Explain the pattern your trying to implement and justify your changes
  • UML / ER diagram
  • Before changes – code snapshot of the skeleton of the classes/methods
  • After changes – code snapshot of the skeleton of the classes/methods
  • Risk assessment of the changes
  • Test Analysis

Q3 (10 marks)

  1. Explain any 3 refactoring techniques in detail?
  2. Discuss reasons for technical depth?
  3. You identified dirty code when working on separate task, detail your plan of action?