Page 187 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 187

Unit 14: Steps for Class Design




               Refactoring is the process of changing a software system in such a way that it does not alter  Notes
               the external behavior of the code yet improves its internal structure.

               The basic design model uses the analysis model as the framework for implementation.
               The analysis model captures the logical information about the system, while the design
               model must add details to support efficient information access.

               The designer must refine the strategy for implementing the state – event models present
               in the dynamic model.

               The definitions of classes and operations can often be adjusted to increase the amount of
               inheritance.
               If association in your application is traversed in one direction, their implementation can
               be simplified.
               Implementing objects is mostly straight forward, but the designer must choose when to
               use primitive types in representing objects and when to combine groups of related objects.

               It is impossible to remember design details for any non trivial software system, and
               documentation is the best way of transmitting the design to others and recording it for
               reference during maintenance.

          14.4 Keywords

          Active value: An active value is a value that has dependent values.
          Class design: The class design phase determines the full definitions of the classes and associations
          used in the implementation, as well as the interfaces and algorithms of the methods used to
          implement operations.
          Dictionary: A dictionary is a set of value pairs that maps selector values into target values.

          Implementation: Implementation is the execution of fully specified algorithms.
          Policy: A policy is the making of context dependent decisions.
          Refactoring: Refactoring is the process of changing a software system in such a way that it does
          not alter the external behavior of the code; yet improves its internal structure.
          Stub: A stub is a minimal definition of function/subroutine without any internal code.
          Transition: A transition is a change of state of the object and maps into an operation on the
          object.

          14.5 Review Questions

          1.   Discuss the concept of class design.
          2.   “In the state diagram, the action performed by a transition depends on both the event and
               the state of the object.” Comment.
          3.   Illustrate the steps taken for designing algorithms.
          4.   How does refactoring assists in improving the design of the code? Discuss.

          5.   Describe the steps taken by the designer during design optimization.
          6.   Elucidate the basic approaches used for implementing the dynamic model.






                                           LOVELY PROFESSIONAL UNIVERSITY                                   181
   182   183   184   185   186   187   188   189