Lecture
Object-oriented technology is founded on what is called the object model. Its principal elements are: abstraction, encapsulation, modularity, hierarchy, typing, concurrency, and persistence. None of these principles is new in itself, but in the object model they are applied together for the first time.
Object-oriented analysis and design differ fundamentally from the traditional approaches of structured design: here one must conceive of the process of decomposition differently, and the architecture of the resulting software product goes to a considerable degree beyond the notions traditional for structured programming. The differences stem from the fact that structured design is based on structured programming, whereas object-oriented design rests on the methodology of object-oriented programming. Unfortunately, the term "object-oriented programming" means different things to different people. Wegner rightly predicted: "In the 1980s object-oriented programming will occupy the same place that structured programming occupied in the 1970s, but everyone will like it. Every firm will advertise its product as being built with this technology. All programmers will write in this style, and each one differently. All managers will hold forth about it. And no one will know what it actually is" [Wegner, P. [J 1981]] . These predictions continue to come true in the 1990s as well.
In this chapter we shall determine what object-oriented software development is and what it is not, and how this approach to design differs from others, taking into account the seven elements of the object model listed above.
Comments