Libraries and environments

Adopting an object-oriented approach is ultimately motivated by the need to develop applications. The advantage of an object-oriented approach lies in the opportunities for reuse, maintainability and interoperability of distinct software components.


Libraries and environments

\zline{\fbox{11}} Additional keywords and phrases: object model architecture, object request broker, reuse, design, structured methods, requirements engineering, abstract systems, object/event duality
slide: Chapter 11: Libraries and environments

From a pragmatic point of view, object-oriented technology supports a component-based approach. In this chapter, we will look at the standardization efforts undertaken by the OMG (Object Management Group) that are directed towards the interoperability of independent software components. Also, we will look at the design issues involved in developing library components by discussing the lessons drawn from the development of the Eiffel libraries. Further, we will discuss a number of the methods and tools available for object-oriented software development. We discuss the Fusion method in greater detail, then look at a number of libraries for C++. In particular, we will discuss the criteria by which such libraries may be evaluated before deciding to use them in an actual software development project. \nop{ To conclude this chapter, we will discuss an example that demonstrates how events may be employed to model the interaction between objects, thus reconciling the object/event duality that persists in many of the development methods.