• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint

Designer Fit

For designers, quantitative measures of design quality are potentially far more important than simple measures of code quantity. Design metrics are based on countable or measurable aspects of a design that predict significant facets of the finished product, anything of interest to developers in terms of the anticipated implementation, operation, or maintenance of the software. For example, component cohesion and intercomponent coupling, two well-known design metrics, predict how easy it will be to modify or extend a program based on a particular decomposition into interconnected pieces. First introduced in the early days of structured design (Yourdon and Constantine 1979), cohesion and coupling have since been extended into object-oriented design in the form of measures of class cohesion and interclass coupling and have been extensively researched in both their classic and object-oriented forms (Henderson-Sellers, Constantine, and Graham 1996).

By answering the basic question, “Is this design better than that?” design metrics confer a number of tangible benefits on designers and developers. They allow us to compare alternative approaches and settle conflicting claims without resorting to management fiat or Frisbees at 30 paces. They can tell us early in the development process whether or not we are on the right design track and where serious problems might lurk around the bend. They allow us to judge, as we continue to work on and refine a design through successive iterations, whether the design is changing for the better or merely changing. The right metrics in the right circumstances can tell us how good our design is in some absolute sense. Is this version comfortably close to optimal or do we still have a long way to go? Are additional trials or refinements likely to pay off significantly?


PREVIEW

                                                                          

Not a subscriber?

Start A Free Trial


  
  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint