What is Object Oriented Methodology?
The object-oriented methodology defines a method to develop an application, software or system. The process starts with an analysis where the developer understands the user requirement. After analysis, in the designing stage, the creation of an application model takes place where more details are added to the model.
The last stage is implementation, where the programmer translates the model into a system using programming language, database, or hardware. This process is seamless, which means that no information is lost when the developers switch from one stage to another.
Table of Contents
Object-Oriented Methodology Stages
Here we will discuss the different stages of object-oriented methodology:
System conception starts with the individual who identifies the business requirement and also has a knowledge of blooming technology. He comes up with an idea for an application and discusses it with the developer. The developer understands the requirement of the application and lists out what features the developed application must have and what cost it will require to build the application. The cost of the application justifies the need for the application.
The requirement statements are sometimes incomplete and vague, or sometimes they are not even correct. The software analyst tries to figure out the big picture of the complete application, i.e. for whom the application is to be developed, what problems the application will solve, when, where and why it will be needed and what will be the workflow of the application and so on.
The analysis phase does not talk about how the application will be formulated. This stage only considers what is to be formulated. The analysis phase has two models, the domain model and the application model. The domain model is built to identify real-world objects that have a correlation with the system. The ATM application has real-world objects like saving accounts, current accounts etc.
Further, the application model identifies the objects that would be part of the system, like executing transactions, displaying the balance, etc. So overall, the analysis phase is all about planning and deciding what has to be built.
In the system design phase, the developer uses the modelling language to express different parts that would build the system. Each part of the system is modelled separately. In the system modelling stage, the elements of the system, such as its architecture, components, interface and data, are designed and organized such that they are easy to develop. Further, the system design phase includes the following steps:
- The system developers prepare system performance estimates and identify system feasibility.
- It is not possible to implement the entire system in bulk; the system developers arrange the system into subsystems which eases the task of developers.
- The developer also identifies the concurrency between the objects so that they can be folded in a single thread of control.
- The developers also make policies for handling errors and optimising certain performance characteristics.
- The developer also makes the strategy to assign subsystems to the hardware.
- The software developers also design the software control strategy.
The class designer elaborates on the analysis model and adds detail to the analysis model, whereas the system design explains the plan of action. Moreover, the class design defines the classes and the relationship between the classes. Along with this, it also selects algorithms for the operation.
The implementation phase puts all the classes and relationships between the classes into the programming language, relate it with a database and assigns it to hardware. While transforming class design to code, programmers must follow good engineering practices such as the code can be traced easily, and the code should be reusable.
With all these stages, the object-oriented methodology proposes the life cycle development of a system. The developers can use these stages of object-oriented methodology to develop each part of the system.