Abstract This paper discusses the similarities and differences between object-oriented (OO) and component-based development. It begins by describing the evolution of the abstraction process and the emergence of OO programming. Next, the limitations of OO programming are discussed, along with an explanation of how component-based development was born to serve as a complimentary extension to OO to overcome its primary disadvantages. Given the differences between objects and components, this paper makes recommendations for developing systems using both constructs. Finally, the future of objects and components is discussed.
From the Paper "Assembly languages started the abstraction process by coding the binary-based machine code, or pulse train of successive 0s and 1s, into assemblies representing particular machine code sequences (Hoagland). Next, higher level languages made coding closer to human readable. The language and its compilers were coordinated such that the output would give a computational valid result. OO programming raised the level of abstraction in programming even further. OO programming is a programming language model organized around "objects" rather than "actions" and data rather than logic."
Tags: data, binary, computer, program, lodic, random
This paper presents a method, in object-oriented computer programming, to establish more structured and flexible sets of reusable solutions which is called design patterns.
Abstract This paper explains that object-oriented programming, a widely used and popular approach in software design and development, has the capability of presenting solutions, which are flexible and applicable in a variety of applications. The author relates that design patterns are reusable object components that can support diverse application development needs, providing readily available solutions even to complex programming problems. This paper explains 8 design patterns. Illustrations.
From the Paper "The practice of considering the proper elements of a good software design patterns plays an essential role to an easy development and maintenance of applications and systems. A good software design pattern provides a well-engineered architecture of programming commands and procedures in which the solution it brings encapsulates the universal solution of the problem it covers, thereby, making it a standard and applicable component to other software development tasks. A real design pattern also should allow the possibility of a community of developers to either fully utilize the same pattern or use the pattern as a solution reference applied with minimal changes."
Abstract This paper examines the reasons behind the current growing popularity of the "object-oriented approach" in programming and as a result the lessening of popularity of the "structured" approach. The advantages of both forms of programming are examined. The "software crisis" that prompted this changeover is also examined. A number of case studies are presented, illustrating the use of object-oriented languages and programs with attention to what it is about object-oriented design that makes it so attractive currently for use in developing information systems.
From the Paper "In the past two decades, and now occurring at an ever-faster rate, a vast collection of computer software has been designed to help people organize different kinds of information in the most efficient way possible. This paper examines one of the most important developments to have come out of this push for increasingly sophisticated information systems: The shift from structured approach to an object-oriented approach."
Abstract The ObjectOriented Hypermedia Design Model uses an objectoriented framework to allow a concise description of complex information items, and allow the specification of complex navigation patterns and interface transformations. This paper provides an explanation for each step in the process and discusses. The past, present and future business uses of the model.
From the Paper "A well-designed application is important because business owners understand that how a website functions will either create repeat customers or discourage customers from visiting the site. It is essential that a website is easy to navigate and that it functions in an efficient manner. It is also important for a business to be able to correct problems with the system quickly, which will prevent the loss of customers and profits. As a result of the demands that are placed on business to have an efficient website a precise software production process is needed. (Abrah?o, Fons, Pastor 2000, 2) The OOHDM process provides the stability needed to accommodate an e-commerce site."
Abstract This paper suggests that one needs to be aware of the dogma of object-oriented programming. Just as many problems have "natural" object-oriented solutions, equally many are best solved in a functional way. The author suggests that the best programs and projects are mostly a mixture of both.
From the Paper ?Data fields and methods are transmitted to the subclasses by their parent and ancestor classes, but the subclasses have the authority to override these with more specific versions. A virtual method is thus defined when it is able to override another, which means that the version chosen will determined at run-time. A wrong version might be used when, for example, one method is called from within another.?
Abstract This paper explains that Object-Oriented Database Management Systems (OODBMS), which emerged in the 1990s, quickly found their niche in handling complex data types; however, the long-term vision of OODBMSs to replace relational databases has never materialized. The author points out that OODBMS technology remains a small niche market, generating only around a few hundred million dollars in revenues, compared to the multi-billion dollar relational database market. The paper states that the goals of large relational database vendors, such as Oracle, IBM, and Microsoft, have been to synthesize the best of relational databases and OODBMs, such as the flexibility of the OODBMS data model and the performance of relational database functions, into an Object-Relational Database Management System.
From the Paper "OODBMSs first started to be researched in the 1980s and the first commercial products gradually appeared in the early 1990s from vendors such as Object Design, Objectivity, Versant, Computer Associates and Ardent. By the late 1980s and early 1990s it was recognized that object oriented (OO) languages had some very strong advantages over non-OO languages for many programming applications. OODBMSs emerged to reduce the impedance mismatch between the programming languages and the DBMS, to offer performance advantages (due to navigation from roots and sophisticated caching and swizzling technologies), and to provide transparent support for complex user-defined types including the ability to store, call and query complex objects directly."
Abstract The differences between the emerging, component-based development and long-standing, object-oriented (OO) development are often unclear. This paper discusses the similarities and differences between OO and component-based development. It begins by describing the evolution of the abstraction process and the emergence of OO programming. Next, the limitations of OO programming are discussed, along with an explanation of how component-based development was born to serve as a complimentary extension to OO to overcome its primary disadvantages. Given the differences between objects and components, this paper concludes with recommendations for developing systems using both constructs. Finally, the future of objects and components is discussed. The paper includes figures.
From the Paper "There are also other differences between components and objects. One is the division of labor (Hurwitz, 1998). Components create two classes of developers. The first group of developers are highly skilled developers who can use all the power of objects to create fine-grained objects that they then string together to create large-grained business-oriented components. The second group is the traditional corporate developers who do not know how to program in complex object-oriented languages. These developers use components created by the more skilled developers. The corporate programmer is not allowed to change the component's content. Thus, a coarse-grained component does not allow inheritance to be applied, which protects the integrity of the component and helps prevent mistakes."
Abstract This paper examines the reasons behind the current growing popularity of the agent-oriented software approach, discussing the specific reasons that it is more powerful and more versatile and examining why such an approach is significantly better for specific network applications, such as community care facilities. The advantages of agent-oriented software (and object-oriented software, of which agent-oriented software is an extension) are compared to the advantages of the previously favored structured approach and the "software crisis" that prompted the changeover from the structured approach to the object-oriented, and then the agent-oriented approaches are also examined.
Outline
Abstract
Introduction
Databases and the Object-Oriented Approach
Literature Review
Further Considerations
Conclusion
From the Paper "We all know that we are drowning in information. And we all also know that a good deal of the information that is floating around in the world today is just not all that useful ? or at least not that useful for us. Thus we need powerful tools to help us organize and control the available information so that all the information that we need ? and only the information that we need ? is accessible to us. This is especially true in certain situations such as community care and other social service and healthcare organizations where having access to the right information quickly can be a question of life and death."
Abstract This paper discusses how the designing and building of projects or software requires software engineers to analyze data input or data flow systematically, processing or transforming data, data storage, and information output, within the context of a particular business. It outlines various models, methods, and approaches that are currently being used by the software development industry and illustrates object-oriented techniques behind the building of software in association with Unified Modeling Language (UML). Emphasis is also made on the accessing of information through various scripting languages. It also explains the concept of the database and the information manipulation in a database.
From the Paper "A very different approach to system development is object oriented system design. Object oriented techniques, which are based on object oriented programming concepts can help analysts respond to the organizational demands for new systems that must undergo continuous maintenance, adaptation and redesign. In object programming, objects are created that include not only code about data, but also interactions about operations to be performed on it. Operational prototypes are usually utilized during the design phase, often done via Rapid Application Development. Object Oriented Design makes use of objects, classes, encapsulation, inheritance and polymorphism."
Abstract This paper looks at the Microsoft Corporation's .NET Framework, which along with the companion product, Visual Studio .NET, belongs in the software development category of software products. It examines how it is Microsoft's approach to a comprehensive development and runtime environment similar to J2EE. It provides a brief discussion of object-oriented programming (OOP) and its benefits, followed by the benefits of building object-oriented systems using the .NET Framework.
Outline
What is the .NET Framework?
Technical Overview
Microsoft Intermediate Language
Common Language Runtime
.NET Framework Class Library
ObjectOriented Programming (OOP)
Benefits of .NET Framework in Building Object-Oriented Systems
Conclusion
From the Paper "The common language runtime is the execution engine for the .NET Framework system. The common language runtime is built on top of operating system services. It is responsible for actually executing the application. Specifically, code that targets the runtime and whose execution is managed by the runtime is referred to as managed code. The CLR is responsible for run-time services, including language integration, security enforcement, memory management, (including garbage collection), process management and thread management. Similar to CORBA, (Common Object Request Broker Architecture), it is the "engine" that allows diverse applications to work with each other regardless of what language they were written in."
Abstract This paper looks at management by objectives, a part of the body of participative management theory. It provides a brief history of the theory and shows how developments in participative management techniques have lead to a greater emphasis on a relationships-orientation for managers, as opposed to the more traditional task orientation. It shows how the essence of any form of participative management is that the decision making process is not authoritarian and how management by objectives is primarily, a system of management that is designed to bring about the participation of all, or almost all, of the managers of an organization in the major decision processes of the organization. It also analyzes the advantages and disadvantages associated with group decision-making.
From the Paper "Brady (1973) said that, within a system of management-by-objectives, there is an explicit attempt to state publicly the basic goals and quantifiable objectives of the organization. Priorities are then established for these goals and objectives, which are used as guides for allocating the organization's resources during the time for which the organizational goals apply. These goals and objectives also give the organization a yardstick against which the success of the year's activities may be measured. Thus, management-by-objectives involves the joint setting of organizational objectives by superior and subordinate, the monitoring of these objectives during the time period for which they are established, and a performance appraisal within the framework of the established objectives (Davis, 1999)."
Abstract This paper discusses the differences between relational and object databases and the issues in storing objects in relational databases systems.
Preface
1. Introduction
2. Relational Databases
3. Object-Orientated Databases
4. Development and Design Issues
5. Security
6. Performance
7. Storing Objects in Relational Databases
8. Summary
Bibliography
From the Paper "Since their inception, relational database management systems have been the most widely used database management systems today. Relational databases are favored in manipulating large amounts of data. The strong development of object-orientated programming languages has led to the emergence of object-oriented databases. Relational database models currently fail to satisfy the need of storing complex data types such as multimedia and CAD/CAM. Object oriented databases were designed to support these new trends in application development."
Introduction & Prerequisites
What are objects and classes?
ObjectOriented Programming
Structured Programming and Reusable code
Real-world modeling
Example Walkthrough
C++ Class syntax
Writing a basic class
Syntax for creating objects Class Members
Implementing class members into a C++ class
Accessing class members from a derived object Data Encapsulation
Access specifiers
Class Functions
Implementing class functions into a C++ class
Accessing functions of an object Constructors and Destructors
Revisiting encapsulation ? Accessor methods
Glossary
From the Paper Part of what makes C++ such a powerful programming language is the concept of classes and objects. To fully utilize the power and reusability of C++, it is important to understand classes and objects. This document will discuss all of the basic concepts of C++ class understanding and implementation by breaking the process down into its individual concepts, and explaining each of them.
Abstract This paper explains that, in studying the contemporary politics of the Middle East, Edward Said's scholarly assessment of Orientalism is of vital importance. The author points out that Said persuasively argues that Orientalism helped to promote an idealized but pro-European self-image, which produced a false understanding in the West of Arabs and Islamic culture,and has never been an objective, impartial or legitimate field. The paper relates that, in reality, Orientalism was established and perpetuated as a means of achieving Western political goals.
From the Paper "In studying the contemporary politics of the Middle East, Edward Said's scholarly assessment of Orientalism is of vital importance, for he persuasively argues that Orientalism helped to promote an idealized but pro-European self-image, that it produced a false understanding in the West of Arabs and Islamic culture, and that it has never been an objective, impartial, or legitimate field. In reality, Orientalism was established and perpetuated as a means of achieving Western political goals. In his intriguing book, Orientalism, Edward Said thoroughly examines the origins, history, and consequences of Orientalism and explains the manner in which Orientalism represents "the distinction between Western superiority and Oriental inferiority.""
Abstract This report distinguishes between two information technology design philosophies; namely, the basic differences between structured design and object-oriented design. The report also addresses the kinds of systems that are naturally more inclined to function with a hierarchy and those which function better through interacting objects. The report also goes on to discuss how systems were designed and when the methods used were most effective.
From the Paper "From a programming perspective, OOD is a design methodology where a system is modeled as a collection of cooperating objects or discrete items that could be either chosen or maneuvered like an onscreen graphic. It is not enough to merely identify and create objects, they must be thoroughly researched to note potential implications in an object oriented design which includes the many aspects of system components and their interactions and interrelationships."