Object-oriented analysis and design

Object Oriented Analysis and Design ( OOAD ) are object-oriented variants of two general activities Requirements Analysis (object -oriented analysis) and system design (Object Oriented Design ) in the development process of a software system.

One possibility for the documentation of OOAD is the Unified Modeling Language ( UML), by means of which large parts of analysis and design can be described in a standardized form.

Object-Oriented Analysis

In the analysis, it comes to detect the requirements, and to be described which is to perform the software system to be developed. Grossly simplified investigated and are collected in this phase all the facts, it represents and checked it. This happens often in the form of a textual requirements specification or a Software Requirements Specification.

Result of the analysis is a general product model in the form of an object -oriented analysis model ( OOA model). This technical description with object-oriented concepts contains various artifacts such as charts and diagrams of control structures, often notated in UML elements:

  • Dynamic part of the model: modeling the operations and messages between classes by means of business process diagrams, state machines and scenarios
  • Static part of the model: attributes, inheritance relationships between classes, associations among each other and packet structures

In addition, the OOA model can contain:

  • User Manual ( prototype)
  • User interface ( prototype)
  • Entity -Relationship Model
  • Class Diagram
  • Collaboration diagram
  • Pseudo code ( implementation-specific technical details are only at the OOD considered )
  • Sequence diagram.

Object-oriented design

In object-oriented design the domain model produced in the analysis will be further developed and on a system design based created. In this case, the general model is converted into a concrete software architecture contains the information about details of the technical implementation and directly used as a template for implementation in a programming language. See also Object-oriented programming ( OOP).

613105
de