Software Engineering - Old Questions

6. What are the main advantages of using an object-oriented design approach over a function-oriented approach? Explain. 

6 marks | Asked in 2068(II)

The main advantages of using an object-oriented design approach over a function-oriented approach are

1. Simplicity: Software objects model real world objects, so the complexity is reduced and the program structure is very clearly.

2. Code reuse and recycling: Object created for one program can be easily reused in other program.

3. Faster development: Reuse enables faster development.

4. Lower cost of development: The reuse of software also lowers the cost of development.

5. High-quality software: Faster development of software and lower cost of development allows more time and resource to be used in verification of the software.

6. Maintainable: OOP methods make code more maintainable. Objects can be maintained separately, making locating and fixing problems easier. 

7. Scalable: As an object's interface provides for reusing the object in new software, it also provides all the information needed to replace the object without affecting other code. This makes it easy to replace old and aging code with faster algorithms and newer technology.

8. Highly secure: Data is hidden and cannot be accessed by external functions.