Booch Method. This method encompasses both a micro development The Coad and Yourdon Method. This is often viewed as one of the easiest The Jacobson Method. This method is also known as Object-oriented Rambaugh

J.E.D.I

2.3 Object-oriented Analysis and Design

Two important framework of activities in any software development process is the analysis of the system and the design of the software. This section briefly discusses object-oriented analysis and design phases. It will be expanded later on in the succeeding chapters.

2.3.1 Object-oriented Analysis

The main objective of object-oriented analysis is to develop a series of models that describes the computer software as it works to satisfy a set of customer-defined requirements. The intent is to define a set of classes, their relationships and behavior that is relevant to the system being studied. Since customer requirements influence the creation of the models, this phase is also known as requirements engineering. Two major models are developed during this phase, the requirements model and analysis model. They depict information, function and behavior within the context of the system, and are modeled as classes and objects. There are five basic analysis principles applied in this phase. 1. The information domain is modeled. The system is analyzed for major data that are needed within the system. 2. Module function is described. The system is analyzed to identify major functions that define what needs to be done within the system. 3. Model behavior is represented. Using the major data and functions, the behavior of the system is analyzed to understand its dynamic nature. This also includes its interactions with its environment. 4. The models are partitioned to expose greater detail. The model elements refined and re-defined to show details that will lead to the design of the software. 5. Early models represent the essence of the problem while later provide implementation details. The iterative development of the models should facilitate a smooth transition to the design phase. Object-Oriented Analysis Methodologies There are several methods that are used in object-oriented analysis. They are briefly listed below.

1. Booch Method. This method encompasses both a micro development

process and a macro development process.

2. The Coad and Yourdon Method. This is often viewed as one of the easiest

object-oriented analysis methods to learn.

3. The Jacobson Method. This method is also known as Object-oriented

Software Engineering. It is differentiated from others by heavy emphasis on the use-case. Software Engineering 44 J.E.D.I

4. Rambaugh Method. It is also known as the Object Modeling Technique

which creates three models- object model, dynamic model, and a functional model.

5. Wirsf-Brock Method. It does not make a clear distinction between analysis

and design tasks. A continuous process that begins with the assessment of customer specification and ends with a proposed design. All of these methods follows a common set of steps in analyzing a system. Each of these steps are elaborated as the way the work products are developed in the requirements engineering chapter. STEP 1. Identity customer requirements for the object-oriented system. It would require identifying use-cases or scenarios, and building the requirements model. STEP 2. Select classes and objects using the requirements model as the guideline. STEP 3. Identify attributes and operations for each classes. STEP 4. Define structures and hierarchies that will organize the classes. STEP 5. Build an object-relationship model. STEP 6. Build an object-behavior model. STEP 7. Review the object-oriented analysis model against requirements and standards. Object-oriented Analysis Main Work Products Two major models are developed during this phase of the software development process. Namely, they are the Requirements Model and Analysis Model. Their development will be elaborated in the Requirements Engineering chapter. For this section, we briefly define them.

1. The Requirements Model. It is a model that attempts to describe the