What Is Object-Oriented Analysis and Design (OOAD)?
Object-oriented analysis and design (OOAD) is a software engineering approach for analyzing and designing an application or system by applying the object-oriented paradigm and concepts including visual modeling.
Object-oriented analysis and design (OOAD) models an application or system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state (data elements), and its behavior. Various models can be created to show the static structure, dynamic behavior, and run-time deployment of these collaborating objects. There are a number of different notations for representing these models, such as the Unified Modeling Language (UML). Object-oriented analysis (OOA) applies object-modeling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) elaborates the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it.
During object-oriented analysis (OOA), there is an emphasis on finding and describing the objects—or concepts—in the problem domain. it involves an identification of the concepts, attributes, and associations that are considered noteworthy.
The result of object-oriented analysis can be expressed in a domain model, which is illustrated in a set of diagrams that show domain concepts or objects.
During object-oriented design (OOD), there is an emphasis on defining software objects and how they collaborate to fulfill the requirements. It involves an identification of the design objects which take some inspiration from real-world domains and should be implementable during implementation phase but are not direct models or simulations of the real world.
The result of object-oriented design can be expressed in a design model, which is illustrated in a set of diagrams that show the static and dynamic view of collaborating design objects, such as package diagram, component diagram, class diagram and interaction diagram.
OOAD is best conducted in an iterative and incremental way. Iteration by iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value.