For each and every software development project, there are various phases designed to define the development process. These phases are defined regardless of the development methods or processes and can be described for both traditional and object oriented approaches.
Let us start by pointing out some differences between the two to get a clear view of the scenario.
Differences between traditional approaches and object oriented approaches for software development
Software engineering can be described as the development of software effectively and efficiently.
• The traditional approach to develop software systems that used procedural programming, could not be used to develop software because of some drawbacks that affected the efficiency and maintainability of the software.
• Object oriented approach to software engineering is used to cover up the drawbacks and develop software projects that use object oriented programming.
• In procedural programming, functions are described and called to perform the specific tasks, wherein the data is not encapsulated with the functions. This was a major problem that comes up with the traditional approach where data is global and not encapsulated within any model object.
• Object oriented programming / paradigm was developed to solve or cover up the problem where all the components of the system as a real entity having attributes and functions linked with it. With this object oriented approach, a blueprint or prototype of any entity can be described and is called a class, and various objects can be created from this.
• Object oriented programming solved some other problems related with traditional procedural programming such as security, effectiveness, data hiding, abstraction, inheritance etc. Object oriented programming also promotes communication within objects through the means of message passing.
• Considering all the points, it is not always that an Object oriented approach will be easier in terms of difficulty level than the traditional approach. For traditional approaches, procedural programming depends on the size of the software programs, whereas difficulty levels of the object oriented approach depend on the experience of the development team and complexity of the programs.
To ensure a highly efficient and scalable softwares, object oriented approach was a necessary development over traditional approaches.
Some research papers to have a better understanding