OOAD: Object Oriented Modeling
Handling Complexity
- Complexity of systems can be in structure or in behavior
- Model complex systems that can deal with their complexity
- There are two ways to model software systems. They are:
Algorithmic
Here, the primary focus is on behavioral complexity. It consists of Procedures and functions
Object-oriented
In this, the primary focus is on structure and then the behavior. Object-oriented consists of
Classes and objects (structures)
Functions or methods (behavior)
- In Object-oriented programming, programs are organized as cooperative collections of objects
- An Object-oriented program is structured as a community of interacting agents, called objects
- Each object has a role to play
- Each object provides a service or performs an action, that is used by the other objects
- A class is a representation for a set of objects that are data abstractions with an interface of named operations and hidden local state
- All objects are instances of a class
- The methods invoked by an object in response to a message is determined by the class of the receiver
- All objects of a given class use the same method in response to similar messages
- Modern enterprise software development heavily adopts the object-oriented approach
- Most of the programming languages, operating systems and tools view the systems in an object-oriented fashion In this approach the primary building block is object or class
Example:
A 3-tier online shopping system that has a user interface, business services and database layers
- We will find objects like buttons, menus and dialog boxes in user interface
- The middle layer, has objects like transactions, business rules and views of problem entities that include customers, products and orders
- There are database objects like tables that include customers, products and orders
Modeling at Glance