The analysis phase determines what the implementation must do and the system design phase determines the plan of attack. The object 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 in the implementation of operations. The object design phase adds internal objects for implementation and optimizes data structure and algorithms. Object design is analogous to the preliminary design phase of the traditional software development life cycle.
During object design the designer carries out the strategy chosen during system design and fleshes out the details. There is a shift in emphasis from application domain concepts towards computer concepts. The objects discovered during system design serve as the skeleton of the design but the object designer must choose among different ways to implement them with an eye towards minimizing execution time, consumption of memory and expected cost of development. During object design approach of solution is given as the algorithm with decomposing the complex operations into simpler smaller internal operation. The classes, attributes, and associations from analysis must be implemented as specific data structures. New object must be introduced to store intermediate results during program execution and to avoid the need for re-computation. Optimization of the design should not be carried to excess, as ease of implementation; maintainability and extensibility are also important concerns.
Steps of object design:
1. Detailed design of User interface module
2. Detailed design for project and search algorithm
3. Detailed design for classes
In first step we provide information about the user interface of the project.