Object-oriented analysis and design is a software engineering model which makes use of objects, classes, state, methods and behavior concepts to analyze and demonstrate system structure, functional needs and behavior. While Object-oriented analysis emphasizes the things that a system actually does, the object oriented design is concerned with the manner in which the system does it.
One thing that you must keep in mind is that the object oriented system will always be comprised of objects. The behavior for the system is a result for the connection that is made with the objects. Connections between objects will require them to send out messages to one another.
Sending out a message is distinct from calling the function because once the target gets the message, it will figure out which function to use with the related message. The identical message can be implemented in a number of distinct functions, but the one which is actually selected will be dependent on the state for the target object.
To understand OOAD, it is first important to develop an understanding of object-oriented analysis. OOA places a heavy emphasis on the problem domain, and its goal is to produce the conceptual model for the information which is in existence.
The analysis models will not consider implementations which have constraints that may exist, and good examples of this include persistence or concurrency. Another is the way in which the system is constructed. The implementation constraints will be handled once the OOD occurs. The analysis is done prior to the design.
OOA and OOD
The analysis source may come in the form of a statement which involves the requirements, and it could also come in the form or stakeholder interviews or a formal vision manuscript.
The system may be split into numerous domains, which each symbolizes a distinct business, as well as other areas which can be analyzed separately.
The end goal for object oriented analysis is a definition of what the system has been designed to do, and this will come in the form of a model which is conceptual.
In most cases, this will be presented as a collection of use cases, or multiple UML class diagrams. A number of interaction diagrams may be included as well. It is also necessary to make use of the user interface. OOD is also crucial to understand.
The Role of Object-Oriented Design
Object oriented design is responsible for the transformation of the conceptual model which has been created within the OOA to make use of the constraints which have been made by the architecture which is picked, as well as any constraints which are environmental or non-functional.
Examples of this include response time, development environment, or transaction throughput. The structures for the analysis model may be mapped into both interfaces and implementation classes. The result will be a model for the solution domain, as well as a good description of the way in which the system will be constructed.
OOAD is a very powerful method, and it has been adopted by many professionals working in the software engineering field. Because it works with a collection of objects that interact with each other, it has a very high level of efficiency. It has been used for the creation of software which is not only highly advanced, but exceptionally robust as well.