1、 IX Object Technology Object technology is a new approach to developing software that allows programmers to create objects, a combination of data and program instructions. This new technology has been steadily developed since the late 1960s and promises to be one of the major ingredients in the resp
2、onse to the ongoing software crisis. 1.1 Introduction to OT There exists a critical technology that is changing the way we conceive, build, use and evolve our computer systems. It is a technology that many companies are adopting to increase their efficiency, reduce costs and adapt to a dynamic marke
3、tplace. It is called Object Technology (OT). By allowing the integration of disparate and non compatible source, OT has the potential to precipitate a revolution in information systems design on a par with that caused in computer hardware by the introduction of the computer chip. Yet OT is not a new
4、 phenomenon. Development and product releases have been ongoing since its origin many years ago. However, the recent emphasis task of enterprise information technology integration has brought OT into the spotlight. OT promises to provide component-level software objects that can be quickly combined
5、to build new applications that respond to changing business conditions. Once used, objects may be reused in other applications, lowering development costs and speeding up the development process. Because objects communicate by sending messages that can be understood by other objects, large integrate
6、d systems are easier to assemble. Each object is responsible for a specific function within either an application or a distributed system. That means that as the business changes, individual object may be easily upgraded, augmented or replaced, leaving the rest of the system untouched. This directly
7、 reduces the cost of maintenance and the timing and extendibility of new systems. 1.2 OT-based Products The current market for OT-based products can be divided into four major segments: Languages and programming tools Developers toolkits X Object-Oriented database Object-Oriented CASE tools The larg
8、est segment of the current market for OT-based products is languages and programming tools. Products in this area include language compliers for C+, Smalltalk, Common Lisp Object System (CLOS), Eiffel, Ada and Objective-C, as well as extensions to PASCAL and Modula-2. Products in this category are a
9、vailable from a variety of vendors. Increasingly, the trend in this group is to offer the language compliers with associated development tools as part of a complete development environment. Developers toolkits account for the next largest part of the OT market. These products are designed to develop
10、 a program that enables a developer to easily do one of two things. The first is interfacing an application to distributed environment. The second is developing a graphical screen through a product. By providing developers with higher level description language and reusable components, products in t
11、his category give developers an easy and cost effective way to begin producing object-oriented systems. An important component in this category is the relatively new area of end-users tools. This element is important because organizing and analying the increasingly large amounts of data that compute
12、r systems are capable of collecting is a key problem. Object-oriented database management systems are one of the most interesting and rapidly growing segments of the OT market. A number of companies, including systems vendors like Digital and HP, and start-ups such as Object Design, Servio, and Obje
13、ctivity, have all produced products. These products, dubbed Objectbases, fill an important need by storing complex objects as a single entity. The objectbase products allow objects to be stored, retrieved and shared in much the same way as data is stored in a relational database management system. T
14、he value of an objectbase, as opposed to a database, is best described as following: Object databases offer a better way to store objects because they provide all of the traditional database services without the overhead of disassembling and reassembling XI objects every time they are stored and ret
15、rieved. Compared with an object database, storing complex objects in a relational database is tedious at best. Its like having to disassembling your car each night rather than just putting it into the garage! Over the next few years, a shift from proprietary CASE implementations to those based on th
16、e object paradigm can be expected. This area has lagged growth from earlier projections. OT-based CASE tools will have to emerge as a viable product category to address the wide scale development of large systems. This category also include those tools that are methodological in nature. 1.3 0bject-o
17、riented Programming Object-oriented programming (OOP) is a new approach to developing software that allows programmers to create objects, a combination of data and program instructions. Traditional programming methods keep data, such as files, independent of the programs that work with the data. Eac
18、h traditional program, t5herfore, must define how the data will be used for that particular program. This often results in redundant programming code that must be changed every time the structure of the data is changed, such as when a new field is added to a file. With OOP, the program instructions
19、and data are combined into objects that can be used repeatedly by programmers whenever they need them. Specific instructions, called methods define how the object acts when it is used by a program. With OOP, programmers define classes of objects. Each class contains the methods that are unique to th
20、at class. Each class can have one or more subclasses. Each subclass contains the methods of its higher level classes plus whatever methods are unique to the subclass. The OOP capability to pass methods to lower levels is called inheritance. A specific instance of an object contains all methods from
21、its higher level classes plus any methods that a unique to the object. When an OOP object is sent an instruction to do something, called a message, unlike a traditional program, the message does not have to tell the OOP object exactly what to do. What to do is defined by the methods that the OOP object contains or has inherited. Objectoriented programming can bring many advantages to users. It can bring productivity gains as high as 1000 to 1500 percent instead of the 10 or 15 percent gains