Object Orientated Design (OOD) is the second stage in the object orientated software development cycle, the first stage being object orientated analysis(OOA), and the third being object orientated programming(OOP). Usually these are parts of a larger development cycle.
In essence object orientated design is to emphasize a problem from the perspective of objects, this is represented using UML.
OOD is used to expand on the outputs from Analysis to the level where programming can commence.
- The outputs from OOD include:
- Prose Document
- Class Diagram
- Object Diagram
- Interaction Diagram (either Collaboration or Sequence, although sequence is most common)
- Statechart andA Activity Diagram's
- Formulae and algorithms
Is "oOO" in the lead sentence a typo? If not, it should be explained/linked. In any case, I don't like the use of the abbreviation so early in the article. Gmarsden 18:36, 13 April 2007 (UTC)
I have serious reservations about ActionScript being listed as a current OOP. It seems to be in no sense a general-purpose programming language, but more of a scripting wrapper that allows access to the Flash object model. It's not clear that anything can be done with it in the absence of Flash, so it seems hardly any more of an OOP than does the the MS-Word macro language. I'd like to see some justification for considering ActionScript to be an an OOP. --Malleus Fatuarum 18:26, 14 August 2007 (UTC)
This article is a disgrace
I could hardly believe my eyes when I saw the rubbish written in his article. Does nobody else know anything about OOD apart from me? Does nobody else want to get this article at least out of the risible state? --Malleus Fatuarum 03:38, 7 October 2007 (UTC)
I do not believe that the lead sentence gives a clear definition of what OOD actually is. The closest that it comes to a definition is the phrase "part of OO Methodology," which I think is rather weak. This site defines object oriented design as "A software design method that models the characteristics of abstract or real objects using classes and objects." I propose that this definition be integrated into the existing one. Hac13 (talk) 09:15, 17 November 2008 (UTC)
- I think that the following sentences would be a much stronger way to begin the article, however the tone of them could still be impoved: "Object Oriented Design is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design." I think that this is a good compromise. Are there any objections or suggestions? Otherwise I have good reason to substitute them in. hac (talk) 20:28, 10 December 2008 (UTC)sdfaaaaaaaaaaaaaaaa
- According to this book the OOD's definition is: "Object-oriented design is a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design.". I'm not an OOD expert, but this definition is far more reliable/verifiable. Concerning the definitions above, both lack the notation issue, in contrast to the one found in the book. —Preceding unsigned comment added by 126.96.36.199 (talk) 16:00, 3 January 2009 (UTC)
Potential Flaws In OOD Methods From A User Viewpoint
I'm a not fully conversant with Wikipedia ploicies so what I have to say below might conflict with them.
I have experience as a tester of s/w and as a investgator of problem with products that include s/w in addition to being a user over many years of a large variety of s/w products. Something I have heard on numerous occasions product users complain about and encountered myself is the incomprehensible error message. For example the sudden apearence on a PC screen of a dialogue that is less helpful than "something happened/did not happen with object_with_a_very_long_complicated_name_class_whatever etc.".
In the design concept text "By bundling a large amount of reusable code into a framework, much time is saved for the developer, since he/she is saved the task of rewriting large amounts of standard code for each new application that is developed." appears. In my view it is the use of reusable code without careful though that results in many people's view of s/w. Error text that may be very meaningful to a s/w producers who have access to sequence diagrams and object details can mean nothing to product users who have no access to such information or the OOD training needed to understand it. Is this potential fals in OOD important enough to be commented on in some wahy as part of the OOD description — Preceding unsigned comment added by Watkind (talk • contribs) 18:22, 23 February 2011 (UTC)
Is this article better titled "class oriented design"?
Acyclic dependencies principle
This bullet point is not informative, because it has no links or explicit definitions for what is meant by "package" or "component" in an OOD context. 188.8.131.52 (talk) 22:22, 16 January 2013 (UTC)
=> I tried to make a remark on the desired granularity. It depends IMO on the scope of work for one developer. This may be any granularity in systems from classes to packages, components, layers and even subsystems.