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.
- Analysis
- System design
- Object design
- 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