Moving Methods and Amount Calculation Refactoring
Lecture 43 of CS605 Software Engineering - II provides a step-by-step code-level walkthrough of Martin Fowler's famous Video Store Rental refactoring example. The lecture examines how a bloated statement generation method in a Customer class violates fundamental object-oriented principles by performing calculations that belong on collaborating objects. Students analyze the Move Method refactoring pattern: discovering that an amount calculation method utilizes data almost entirely belonging to the Rental object, the developer copies the method over to the Rental class, adapts parameters to fit its new context, updates Customer to delegate to Rental, and runs automated tests to verify zero behavioral regression. The lesson demonstrates Extract Method, Replace Temp with Query, and polymorphism replacing conditional logic, illustrating how iterative refactoring transforms brittle procedural code into elegant, extensible object designs. Extract method, move method, and replace temp with query are examined through concrete code refactoring demonstrations. Students study process maturity assessment frameworks, distinguishing between staged and continuous CMMI representations. Key process areas spanning requirements management, project planning, and quantitative process management are systematically demystified. By engaging with solved past papers by Moaaz and Waqar Siddhu, learners gain actionable insights into recurrent university exam questions. Interactive quiz assessments on VU SIGMA facilitate rapid knowledge verification and retention of critical software engineering terminology. Comprehensive coverage of IEEE terminology ensures learners communicate with technical precision across global software engineering organizations. Detailed analysis of software safety hazards highlights the imperative of building fail-safe mechanisms into safety-critical digital infrastructure. Software configuration auditing guarantees that delivered releases conform precisely to authorized engineering specifications and baselines. The strategic role of business process reengineering is evaluated as an instrument for achieving breakthrough improvements in cost and performance. In this lecture, students examine essential software engineering governance principles and lifecycle frameworks to ensure disciplined project delivery. Through detailed analytical walkthroughs, the lesson explores quantitative metrics, defect removal efficiency, and architectural trade-offs. Special emphasis is placed on quality assurance protocols, formal technical reviews, and proactive software risk management strategies.
No questions available yet.
There are currently no examination questions published for Moving Methods and Amount Calculation Refactoring. Explore other curriculum units or build a custom quiz with the practice builder.