article

Object-oriented analysis and design applies object modeling techniques to analyze the requirements for a context (e.g., a system, system modules, organization, or business unit), and to design a solution. Most modern object-oriented analysis and design methodologies are use case driven across requirements, design, implementation, testing, and deployment.

Analysis


Object-oriented analysis builds a model of a system that is composed of objects. The behaviour of the system is achieved through collaboration between these objects, and the state of the system is the combined state of all the objects in it. Collaboration between objects involves them sending messages to each other. The exact semantics of message sends between objects varies depending on what kind of system is being modelled. In some systems, "sending a message" is the same as "invoking a method". In other systems, "sending a message" is like sending some data via a socket.

Key aspects of an object-oriented analysis model are basically the same as in object-oriented programming, but an analysis model is not limited to software systems. Any system can be modelled as a system of collaborating objects. The results of object-oriented analysis are concepts and relationships between concepts, often expressed as a conceptual model.

Analysis aims to model an ideal world (also called "domain") in the platonic sense and merely describes the kinds of concepts and ideas that are being modelled (how to think). An analysis model will not take into account implementation constraints, such as concurrency, distribution and persistence. The implementation constraints are decided by a process of object-oriented design, and many design patterns have been defined to solve these generic problems. The analysis model attempts to capture concepts and relationships that are stable. The analysis concepts are used in designing interfaces to layers, which need to be chosen to be stable even when requirements change. The object-oriented analysis is based on the assumption that the basic concepts of the analysis model will not need to be modified (only extended) when new requirements are implemented in the system. Therefore, the system's design may be based on the stability of the concepts identified in object-oriented analysis. The analysis concepts should be recognizable by experts of the modelled domain, because this increases the probability that the concepts will be stable.

Design


The term Ood could also refer to the fictional race of aliens in the Doctor Who episode The Impossible Planet.

Object-Oriented Design (OOD) is a design method in which a system is modeled as a collection of cooperating objects and individual objects are treated as instances of a class within a class hierarchy.

Four stages can be identified:

  1. Identify the classes and objects
  2. Identify their responsibilities
  3. Identify their relationships
  4. Specify class and object interfaces and implementation

Object-oriented design is one of the stages of object-oriented programming.

Object-oriented design takes the conceptual model that is the result of object-oriented analysis, and adds implementation constraints imposed by the environment, the programming language and the chosen tools, as well as architectural assumptions chosen as basis of design. The result is code designed in object-oriented way as a set of classes and objects. The concepts in conceptual model are mapped to concrete classes, to abstract interfaces in APIs and to roles that the objects take in various situations. The interfaces and their implementations for stable concepts can be made available as reusable services. Concepts identified as unstable in object-oriented analysis will form basis for policy classes that make decisions, implement environment-specific or situation specific logic or algorithms.

Errata


Literature


See also


Object-oriented programming | Software development | Objektorienteret analyse og design | Objektorientierte Analyse | Objektorientiertes Design

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Object-oriented analysis and design".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld