![]() |
![]() |
![]() |
![]() |
![]() |
Object Design Overview
The object design is the activity that completes the definition of the system. It carries on where the system design finished and fills in the details about object behavior and system structure. The object design is a creative activity that refines the object definitions and system structure taking at least three aspects into account:
- The system structure: where in the system is an object localized
- The reuse structure: is the object a subject for reuse internally within the system or externally
- The precise definition of internal object structure, the behavior and data aspects
There is a close relation between the system design and the object design, in the sense that both activities are dealing with the structure of the system. The difference between the activities is mainly a difference in the point of view. The system design takes a top-down look at the system to identify subsystems and overall structures. The object design on the other hand focuses on the objects and uses them as a starting point for the refinement and structuring.
In practice one of the major tasks of the object design is to define the behavior of the objects. Essentially the object design can be viewed as three sequential tasks that must be performed.
- Map all the classes in the relevant part of the analysis object model to suitable SDL concepts.
- Active classes are mapped to processes or process types and passive classes are mapped to data types. This mapping is described in Mapping Object Models to SDL Design Models.
- The localization of the process (type) or data type in terms of the SDL package/system structure should be done according to the design module structure and architecture definition from the system design.
- Choose a set of essential use cases and define the behavior of the SDL processes and data types that implements these use cases. Concentrate on the normal behaviors and leave the exceptions for a later step. The design of SDL processes is further discussed in Describing Object Behavior.
- Note that this also includes a testing activity that verifies that the SDL design implements the requirements from the use cases. This is further described in Design Testing.
- Elaborate the design by introducing more use cases and refine the SDL design to handle also these cases. Take care of exceptional situations like error handling etc.
- This elaboration is an iterative process where the design is incrementally developed until all requirements are implemented.
- Each iteration also includes a testing step where both newly implemented and old functionality is checked.
- The elaboration can include both refining existing processes/ data types and introducing new process/types.
In a project where the design is split on several development teams the iterations in the design will often have to be synchronized. This is further discussed in SOMT Projects.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |