Jump to content

Object-oriented analysis and design: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rbraunwa (talk | contribs)
m Avoided a redirect
Line 6: Line 6:


The [[Unified Modeling Language]] (UML) has become the standard modeling language used in object-oriented analysis and design to graphically illustrate system concepts.
The [[Unified Modeling Language]] (UML) has become the standard modeling language used in object-oriented analysis and design to graphically illustrate system concepts.

DAN IS A BIG GAY BEAR!!!!!!!!!!1111



== Object Oriented Systems ==
== Object Oriented Systems ==

Revision as of 14:47, 5 March 2007

Object-oriented analysis and design applies object-modeling techniques to analyze the requirements for a context — for example, a system, a set of system modules, an organization, or a 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.

Use cases were invented with object oriented programming, but they're also very well suited for systems that will be implemented in the procedural paradigm.

The Unified Modeling Language (UML) has become the standard modeling language used in object-oriented analysis and design to graphically illustrate system concepts.

DAN IS A BIG GAY BEAR!!!!!!!!!!1111


Object Oriented Systems

An object-oriented system is composed of objects. The behavior 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 sending between objects varies depending on what kind of system is being modeled. In some systems, "sending a message" is the same as "invoking a method". In other systems, "sending a message" might involve sending data via a socket.

Object Oriented Analysis

Object-Oriented Analysis (OOA) aims to model the problem domain, the problem we want to solve by developing an object-oriented (OO) system.

The source of the analysis is a written requirement statements, and/or written use cases, UML diagrams can be used to illustrate the statements.

An analysis model will not take into account implementation constraints, such as concurrency, distribution, persistence, or inheritance, nor how the system will be built.

The model of a system can be divided into multiple domains each of which are separately analysed, and represent separate business, technological, or conceptual areas of interest.

The result of object-oriented analysis is a description of what is to be built, using concepts and relationships between concepts, often expressed as a conceptual model. Any other documentation that is needed to describe what is to be built, is also included in the result of the analysis. That can include a detailed user interface mock-up document.

The implementation constraints are decided during the object-oriented design (OOD) process.

Object Oriented Design

Object-Oriented Design (OOD) is an activity where the designers are looking for logical solutions to solve a problem, using objects.

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 concepts in the 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.

The result of the object-oriented design is a detail description how the system can be built, using objects.

Literature

  • Grady Booch. Object-oriented analysis and design with applications, 2nd edition. Benjamin/Cummings, Redwood CA 1994. [Somewhat confusing but a useful reference.]
  • Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener. Designing Object Oriented Software. Prentice Hall, 1990. [A down-to-earth introduction to the object-oriented programming and design.]
  • A Theory of Object-Oriented Design: The building-blocks of OOD and notations for representing them (with focus on design patterns.)
  • Martin Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1997. [An introduction to object-oriented analysis with conceptual models]
  • Bertrand Meyer. Object-oriented software construction. Prentice Hall, 1997.

See also

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.