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