Pages

Monday, April 30, 2012

Object Oriented Analysis & Design

Why object orientation ?
  1. Higher level of abstraction
  2. Seamless transition among different phases of software development
  3. Encouragement of good programming techniques
  4. Promotion of reusability


Unified Approach (UA)
Based on the Booch, Rumbaugh and Jacobson methodologies.
  1. Use case driven development
  2. Utilize the unified modeling language (UML) for modeling
  3. Object-oriented analysis
  4. Object-oriented design
  5. Repositories of reusable classes and maximum reuse
  6. The layered approach
  7. Incremental development and prototyping
  8. Continuous testing 


Objects
  1. The term object was first formally used in the Simula language.
  2. Object have properties or attributes and behaviors.
  3. Objects respond to messages. Messages essentially are nonspecific functional calls. For example, we would send a draw to a chart  when we want the chart to draw itself. A message is different from a subroutine call, since different objects can respond to same message in different ways.
Objects respond to messages according to methods defined in its class. Message is the instruction and method is implementation.


Object relationships
Association: Represents the relationship between objects and classes.
  1. Associations are bidirectional - that means they can be traversed in both directions, perhaps with different connotations.
  2. Cardinality - specifies how many instances of one class may relate to a single instance of an associated class.
Dependency: One class is dependent on other.

Generalization: One class is generalized from other. This is typically known as class inheritance in object oriented programming terms.

Realization: This brings interfaces into consideration.

No comments:

Post a Comment