Page 197 -
P. 197

182


                                                Split classes dependent on a significant number of other classes.


                                        Create parent classes based on domain model performer



                                             Define new parent classes to reduce coupling.




                                                   Split classes to increase cohesion. Split classes to reduce total number of inputs and outputs. Redistribute services to reduce input/output dependencies between  Redistribute attributes to reduce input/output dependencies between   Consolidate classes to reduce coupling. Collect classes into subsystems. Apply client/server style to accommodate highly used services/ Redistribute services to reduce inpu











                                     Strategy  hierarchies.  classes.  classes.  attributes.  classes.  classes.



                                 Sample Set of RARE KB Goals, Heuristics, Strategies, and Metrics




                                          inheritance and factoring services. Increase possibilities for reuse by encouraging   Create more finely granular classes so that  applications will be better candidates for reuse.  Reduce class coupling and increase cohesion  to increase application independence.  Create self-sufficient subsystems comprised of  strongly coupled classes.  Create classes based on suggested  architecture style to increase perform









                                     Heuristics                                     applications.








                                        Reusability                         Performance

                                     Goal
                             Table 10.2  Priority  1                        2
   192   193   194   195   196   197   198   199   200   201   202