Why do you need an object oriented analysis (O-O)?
Traditional and structural analysis view systems as a set of data, or processes. The one excluded the other. Object oriented analysis views a system as a collection of object, processes and data. With the usage of Object Oriented analysis, developers can create many different object and combine them together into an integrated system. All those objects exist independently and developers can used them over and over again. To summarize, the main difference between a structured SDLC and O-O is decomposition. Dividing the system into modules can spare a lot of time and effort for developers.
How does an Object-Oriented analysis work?
Object-oriented (O-O) analysis describes an information system by identifying things called objects. The system is represented as a set of interactions between those objects. The final outcome of an OO analysis Is the object model, which is a graphical representation of the objects and the way they interact with each other. In order to document that interaction, you have to be acquainted with the Unified Modeling Language (UML).
An object represents a person, place, event, or transaction. It consists of data and processes that affect that data. It also has certain attributes, or characteristics that describe that object. A group of similar objects creates a class.
Let’s apply these concepts on a specific example.
For example in an IT firm, you have employees that work in certain departments which are led by managers. All these three entities: employee, department, manager are three separate objects.
Each object has methods, which are tasks the object does.
Think about objects, attributes and methods as a sentence. Therefore, the object is the noun, the attribute is the adjective and the methods is the verb. Pretty simple, right? Also, In an object-oriented system, objects can inherit certain attributes from other objects due to relationships, but more about relationships later.
Objects can also have a specific attribute called a state. The state of an object is an adjective that describes the object’s current status. For example, depending on the state, a manager can be a top manager, a middle manager, or a department manager. Similarly, an employee account can be active, inactive or pending.
Back to methods, all methods consist of steps.
For example, in order to open an employee account, a manager should:
A message is a command that tells an object to perform a certain method.
For example, delete account is a message with which a manager sends the employee account from active to inactive.
As we mentioned earlier, an object belongs to a group or category called a class. Objects within a class can be grouped into subclasses, which are more specific categories within a class. A class can belong to a more general category called a superclass.
For example, an employee belongs to a superclass called employees, but it can also belong to a subclass called assistant employees.
Relationships enable objects to communicate and interact with each other in order to perform certain functions of the system.
Relationships describe what objects need to know about each other. The strongest relationship is called inheritance. Inheritance enables an object, called a child, to derive one or more of its attributes from another object, called a parent.
After you identified all of these elements, you are ready to create an Object Relationship Diagram .
Related article: How to do a use case analysis the right way