Object Oriented Analysis and Design
Object Oriented Analysis and Design
Object Oriented Analysis and Design
• Information hiding: The ability to protect some components of the object from
external entities. This is realized by language keywords to enable a variable to be
declared as private or protected to the owning class.
• Inheritance: The ability for a class to extend or override functionality of another
class. The so-called subclass has a whole section that is derived (inherited) from the
superclass and then it has its own set of functions and data.
• Interface: The ability to defer the implementation of a method. The ability to define
the functions or methods signatures without implementing them.
• Polymorphism: The ability to replace an object with its subobjects. The ability of an
object-variable to contain, not only that object, but also all of its subobjects.
Characteristics of OOD:
• Objects are abstractions of real-world or system entities and manage themselves.
• Objects are independent and encapsulate state and representation information.
• System functionality is expressed in terms of object services.
• Shared data areas are eliminated. Objects communicate by message passing.
• Objects may be distributed and may execute sequentially or in parallel.
Advantages of OOD:
• Easier maintenance. Objects may be understood as stand-alone entities.
• Objects are potentially reusable components.
• For some systems, there may be an obvious mapping from real world entities to
system objects.
Output (deliverables) of object-oriented design:
• Sequence Diagrams: Extend the System Sequence Diagram to add specific
objects that handle the system events. A sequence diagram shows, as parallel
vertical lines, different processes or objects that live simultaneously, and, as
horizontal arrows, the messages exchanged between them, in the order in which
they occur.
• Class diagram: A class diagram is a type of static structure UML diagram that
describes the structure of a system by showing the system's classes, their
attributes, and the relationships between the classes. The messages and classes
identified through the development of the sequence diagrams can serve as input to
the automatic generation of the global class diagram of the system.