Booch Method. Similar with his analysis methodology, it involves a micro- Coad and Yourdon Method. It addresses not only the application but also Jacobson Method. It emphasizes the traceability of the Object-oriented Rambaugh Me

J.E.D.I operations. Similar with analysis, there are five guiding design principles that are applied in this phase. 1. Linguistic modular units 2. Few interfaces 3. Small interfaces and weak coupling 4. Explicit interface 5. Information hiding Object-oriented Design Methodologies There are several methods that are used in object-oriented design, and they correspond to the methodologies that were enumerated in object-oriented analysis methodologies. They are briefly listed below.

1. Booch Method. Similar with his analysis methodology, it involves a micro-

development process and a macro-development process.

2. Coad and Yourdon Method. It addresses not only the application but also

the infrastructure for the application.

3. Jacobson Method. It emphasizes the traceability of the Object-oriented

Software Engineering analysis model.

4. Rambaugh Method. It encompasses a design activity that uses two different

levels of abstraction. Namely, they are system design which focuses on the layout for the components that are needed to complete the product, and object design which focuses on the detailed layout of objects.

5. Wirfs-Brock Method. It defines a continuous tasks in which analysis leads

seamlessly into design. All of these methodologies follow a common set of steps that are performed in the design. Each of these steps are elaborated as work products are produced in the Design Engineering chapter. STEP 1. Define the subsystems of the software by defining the data-related subsystems entity design, control-related subsystem controller design and human interaction-related subsystems boundary design. This should be guided by the software architecture of choice. STEP 2. Define Class and Object Design. STEP 3. Define Message Design. OO Design Main Work Products There are several work products that are developed during this phase. They are briefly introduced below. Collectively, they are called the design model. Their development will be elaborated in the Design Engineering chapter.

1. Software Architecture. This refers to the overall structure of the software.