Saturday, 25 March 2017

Object-Oriented Modeling and Design

It is a new way of thinking about problems using models based on real world concepts. The basic construct is object which combines both data structure and behaviour in a single entity. The Object Modelling Technique (OMT) which extends from analysis through design to implementation.

  • Analysis model is built to abstract essential aspects of application domain which contains objects found in application, their properties and behaviour.
  • Then design model is made to describe and optimise the implementation.
  • Finally the design model is implemented in a programming language, database or hardware.
  • Graphical notation is used for expressing object-oriented models.

What is object-oriented?


  • Software is organised as a collection of discrete objects that incorporate both data structure and behaviour.
  • In general it includes- identity, classification, polymorphism and inheritance.
  • Object Oriented Programming Language = Object Based Programming Language(e.g. '83 Ada and Modula-2)+ Inheritance + Dynamic Binding

Identity
  • Identity means that data is organized into discrete, distinguishable entities called objects.
  • Objects can be concrete or conceptual.
  • In real world an object simply exist but within a programming language each object has a unique handle by which it can be uniquely referenced.
  • The handle can be implemented by address, array index or unique value of an attribute.
Classification
  • It means that objects with same data structure (attribute) and behavior (operations) are grouped into a class.
  • A class is an abstraction that describes important properties and ignores the rest.
Polymorphism
  • It means that the same operation (i.e. action or transformation that the object performs) may behave differently on different classes.
  • Specific implementation of an operation by a certain class is called a method.
Inheritance
  • It is the sharing of attributes and operations among classes based on a hierarchical relationship.
  • Subclasses can be formed from broadly defined class.
  • Each subclass incorporates or inherits all the properties of its super class and adds its own unique properties.

Object-Oriented Development?

  • The theme is the identification and organisation of application concepts rather than final representation in a programming Language.
  • OOD approach encourages software developers to work and think in terms of the application domain through most of the software engineering life cycle.
  • It is a conceptual process independent of a programming language until the final stage.
  1. Analysis
  2. System design
  3. Object design
  4. implementation
Object model
  • Describes basic structure of objects and their relationship
  • Contains object diagram
  • Object diagram is a graph whose nodes are object classes (Classes) and whose arcs are relationships among classes.

Dynamic model
  • Describes the aspects of a system that change over time.
  • It specifies and implement control aspects of a system.
  • Contains state diagram.
  • State diagram is a graph whose nodes are states and whose arcs are data-flows.

Functional Model
  • Describes data value transformation within a system.
  • Contains data flow diagram.
  • Data Flow Diagram is a graph whose nodes are processes and whose arcs are data flows.

Object-Oriented Concepts
  • Abstraction
  • Encapsulation
  • Combining data and behaviour
  • Sharing
  • Object structure, not Procedure Structure
  • Synergy

No comments:

Post a Comment