Object-Oriented Systems Development
Object-oriented systems development is the process of developing a new software system that uses objects as the basic building blocks for the development of the systems. An object is typically stored in an object-oriented database and contains information about itself as well as a set of procedures of processing items of that type (e.g., printing, comparing). Individual objects are treated as instances of a class within a hierarchy of classes. Object models are the conceptual framework of object-oriented systems development. The four major elements of the model are abstraction, encapsulation, modularity, and hierarchy. Many experts claim that object-oriented systems development is superior to more conventional methods. However, many of these same experts say that the object-oriented approach is not without its disadvantages and question whether or not it will ever be the dominant approach to the development of software systems. At this point, the majority of systems development work does not employ the object-oriented approach.
Business Information Systems
Keywords: Action; Class; Data; Data Item; Data Modeling; Database; Database Management System (DBMS); Information System; Information Technology; Object; Object-Oriented; Processing; Relational Database; Systems Development
As the Information Age continues unabated, fewer and fewer businesses are untouched by information technology and the need to connect quickly and accurately both within and outside the organization. Even the mom-and-pop convenience store on the corner is more likely than not to rely on the collection, storage, processing, retrieval, and exchange of information in the form of inventory databases, automatic reordering of stock items, and processing of credit cards and checks. For the chain bookstore down the street, this need is even more apparent. Not only are these types of capabilities needed, but a store must also be able to communicate with other stores in the chain as well as with corporate headquarters, access multiple vendor databases to determine the availability of various items, and coordinate marketing campaigns between the stores. Manufacturers of the products used by both these types of stores also need to maintain information about their customers, process the automatic orders from their customers, and deal with the various other members of their supply chain including their vendors and suppliers, transportation companies, and warehouses. Further, an increasing number of businesses in the United States deal are service providers rather than producers of tangible products. Even more than the manufacturing or retailing organizations, such businesses rely on the collection, storage, processing, retrieval, and exchange of information in order to survive.
There is no reason to believe that this trend will reverse in the foreseeable future. As a result, therefore, there is a continuing search for new and better ways to handle the data needed to do these tasks and provide these services. New and better hardware alone are insufficient to give organizations a competitive edge; new and better ways to process the data are also needed.
Systems development is the process of developing a new business system. The steps in this process include performing a needs analysis, designing a solution to meet the needs, acquiring the resources necessary to support development efforts, and developing and implementing the solution. Object-oriented systems development is an approach to the development of software systems that uses objects as the basic building blocks for the development of software systems. An object contains information about itself as well as a set of procedures of processing items of that type (e.g., printing, comparing).
Object-Oriented Systems Design
The underlying principle of object-oriented systems design is that software systems should be modeled as collections of cooperating objects. In this approach, individual objects are treated as instances of a class within a hierarchy of classes. Object models are the conceptual framework of object-oriented systems development. The four major elements of the model are: Abstraction, encapsulation, modularity, and hierarchy.
* Abstraction refers to the conceptualization of the essential characteristics of an object that distinguish it from all other kinds of objects. This provides sharp boundaries to the object. One of the central issues in object-oriented systems development is determining the correct set of abstractions for a given domain. Abstractions can vary depending on the perspective of the viewer. For example, a computer user may look at a desktop computer in terms of what it can do (e.g., as a tool to do word processing, create graphics, or calculate spreadsheets). A computer maintenance technician, on the other hand, would be more likely to look at a computer in terms of its various systems and components (e.g., processor and coprocessors, graphics card, power supply).
* Encapsulation, the second element of the object model, refers to the process of compartmentalizing the elements of an abstraction. This separates the contractual interface and its application. So, for example, although the computer is made up of physical systems, these systems allow it to perform recognizable tasks.
* The third element -- modularity -- refers to a set of cohesive and loosely related modules. For example, a computer system can have a modular design. If the mother board goes bad, the entire board (i.e., module) can be replaced. Similarly, if the monitor fails to work, the entire unit can be replaced (often more cost effectively than repairing the failed unit itself).
* The final element of object models is that they are hierarchical. This means that there is a rank-ordering of abstractions. For example, a computer is made up of components, which in turn are made up of boards, which in turn are made parts, which are made up of atoms.
Advantages of the Object-Oriented Approach
Many experts claim that object-oriented systems development is superior to more conventional methods. However, many of these same experts say that the object-oriented approach is not without its disadvantages and question whether or not it will ever be the dominant approach to the development of software systems. Some of the advantages claimed for object-oriented systems development include:
* Easier data modeling than that in more conventional systems development. Increased productivity gains.
* Increased resilience to change.
* Greater ability to reuse code and models.
* Superior quality of the resulting system.
* Fewer maintenance problems.
Some experts also believe that the object-oriented approach can potentially alleviate some of the problems of conventional structured approaches, but that object-oriented systems development should not be viewed as a panacea. In addition, the literature also contains caveats about the complexity and immaturity of the object-oriented approach. Very little research has been done to compare the two approaches and what has been done tends to be subjective rather than empirical.
At this point, the majority of systems development work does not employ the object-oriented approach. Although a recent survey of information systems managers stating that 39 percent of the organizations surveyed use some form of object-oriented systems development, overall, it is used in only five percent of information systems projects (Sircar, Nerur, & Mahapatra, 2001). Part of the reason that the object-oriented approach has received such mixed reviews is that...
(The entire section is 3391 words.)