CSE4001 Study Guide - Maintainability

19 views1 pages

Document Summary

An important design activity suggested for many agile methods refactoring is a reorganization technique that simplifies the design (or code) of a component without changing its function or behaviour. Fowler [fow00] defines refactoring in the following manner: refactoring is the process of changing a software system in such a way that it does not alter the external behaviour of the code [design] yet improves its internal structure. When software is refactored, the existing design is examined for redundancy, unused design elements, inefficient or unnecessary algorithms, poorly constructed or inappropriate data structures, or any other design failure that can be corrected to yield a better design. For example, a first design iteration might yield a component that exhibits low cohesion (i. e. , it performs three functions that have only limited relationship to one another). After careful consideration, you may decide that the component should be refactored into three separate components, each exhibiting high cohesion.

Get access

Grade+20% off
$8 USD/m$10 USD/m
Billed $96 USD annually
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
40 Verified Answers

Related Documents

Related Questions