Page 20 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 20

Object Oriented Analysis and Design




                    Notes          2.1 Basics of Object-oriented Analysis and Design (OOAD)

                                   Object-oriented Analysis and Design is a software engineering approach that models a system
                                   as a group of interacting objects. Each object represents some entity of interest in the system
                                   being modeled, and is characterized 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. An object-oriented
                                   system is composed of objects. The behavior of the system results from the collaboration of
                                   those objects. Collaboration between objects involves them sending messages to each other.
                                   Sending a message differs from calling a function in that when a target object receives a message,
                                   it itself decides what function to carry out to service that message. The same message may be
                                   implemented by many different functions, the one selected depending on the state of the target
                                   object.
                                   The implementation of “message sending” varies depending on the architecture of the system
                                   being modeled, and the location of the objects being communicated with.

                                   2.1.1  Object-oriented Analysis (OOA)

                                   Object-oriented Analysis looks at the problem domain, with the aim of producing a conceptual
                                   model of the information that exists in the area being analyzed. Analysis models do not consider
                                   any implementation constraints that might exist, such as concurrency, distribution, persistence,
                                   or how the system is to be built. Implementation constraints are dealt with during Object-
                                   oriented Design. Analysis is done before the Design.
                                   The sources for the analysis can be a written requirements statement, a formal vision document,
                                   and interviews with stakeholders or other interested parties.



                                     Did u know? A system may be divided into multiple domains, representing different
                                     business, technological, or other areas of interest, each of which are analyzed separately.
                                   The result of object-oriented analysis is a description of what the system is functionally required
                                   to do, in the form of a conceptual model. That will typically be presented as a set of use cases, one
                                   or more UML class diagrams, and a number of interaction diagrams. It may also include some
                                   kind of user interface mock-up.

                                   2.1.2  Object-oriented Design (OOD)

                                   Object-oriented Design transforms the conceptual model produced in object-oriented analysis
                                   to take account of the constraints imposed by the chosen architecture and any non-functional –
                                   technological or environmental – constraints.
                                   Examples of non-functional constraints include transaction throughput, response time,
                                   run-time platform, development environment, or programming language.
                                   The concepts in the analysis model are mapped onto implementation classes and interfaces. The
                                   result is a model of the solution domain, a detailed description of how the system is to be built.




          14                                LOVELY PROFESSIONAL UNIVERSITY
   15   16   17   18   19   20   21   22   23   24   25