Title

Authors

Abstract

"Object-oriented" is one of the key phrases of the decade. The object paradigm has been variously billed as everything from "a great revolution, how we will build the information systems of the future" to "an evolution, not a revolution" to "much ado about nothing." Companies are admonished to go 00 or be left behind as their competitors gain an advantage by building 00 systems. 7'he tutorial will provide a basic understanding of the object paradigm and of object-oriented (00) systems for those with little or no familiarity with them. The tutorial will begin wilh a small example to introduce the principle concepts of the paradigm in a specific setting, and to give a sense of what an 00 system is and how it "runs." l'he concepts will include abstraction; classes, instances, and objects: methods, messages, and polymorphism; generalization, specialization, and inheritance; aggregation; (other) associations; and encapsulation and data hiding. As we examine the implementation of the example, we will be looking for answers to the queslions "Where is the program? How does il work? How does il stan?" We will see also some of the differenccs between a structured program and an 00 one. Next we will examine the process of creating an 00 system. The 00 life cycle is generally considered to be a prototyping-like process involving repeated cycles through modeling and implementation. Modeling involves 00 analysis and logical design. implementation involves physical design and 00 programming. The principle boundary in the process is between modeling and implementation. Two of the alleged strengths of the paradigm are the blurring between analysis and logical design in modeling and the reduced gap (compared to traditional structured approaches) between modeling and implementation. We will look at a framework for classifying the various modeling tools (e.1., object diagrams and state transition diagrams) with some examples from our earlier problem. Of course, 00 systems don't build themselves. So next we will spend a few minutes discussing the management of 00 projects because Lhe best technology and ideas won't help much if you can't get them inlo practice. "Reuse" has become to some people the key concept and promise of the object paradigm. Reuse is supposed to reduce development time, eliminate bugs, improve quality, etc. We will briefly examine some types of reuse and offer some comments on these claims. Finally. as you might expect, a topic as "hot" as the object pan,digm is generating a great deal of research, both applied and theoretical. Time permitting, we will identify some current key research areas. A list of definitions and a selected reading list will be available at the tutorial. The example system will be available from the speaker.