¶ … 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.
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.
According to object-oriented experts Atkinson, Altair, DeWitt, Dittrich, Maier, and Zdonik (1989), an object oriented system has eight main features: complex objects, object identity, encapsulation, types and classes, inheritance, overriding combined with late binding, extensibility and computational completeness defined as:
Complex objects are built from simpler ones by applying constructors to them. The simplest objects are objects such as integers, characters, byte strings of any length, booleans and floats (one might add other atomic types). There are various complex object constructors: tuples, sets, bags, lists, and arrays are examples
Object identity means an object has an existence which is independent of its value
Encapsulation satisfies the need to cleanly distinguish between the specification and the implementation of an operation and the need for modularity.
A type, in an object-oriented system, summarizes the common features of a set of objects with the same characteristics. Class is more of a run-time notion. It contains two aspects: an object factory which can be used to create new objects and an object warehouse. The object warehouse means that attached to the class is the set of objects that are instances of the class. The user can manipulate the warehouse by applying operations on all elements of the class.
Inheritance is a powerful modeling that that provides a concise and precise description of the world and it helps in factoring out shared specification and implementations in applications.
Overriding is the redefinition of the implementation of the operation for each of the types according to the type. The system cannot bind operation names to programs at compile time. Therefore, operation names must be resolved at run-time. This delayed translation is called late binding.
Extensibility means that one can define new types and there is no distinction in usage between system defined and user defined types. Computational completeness means that one can express any computable function, using the data modeling language of the database system.
One of the largest contributions of OO programming has been the success of developmental frameworks, the expression of operational polymorphism in sets of system classes, grouped into collections called libraries, such as Microsoft Foundation Classes, that supply to applications basic system functionality, such as visual interface elements and stacks (Hoagland).
However, OO programming has only been a modest success to date for a variety of reasons. For one, skills are not available in the typical IT organization to leverage this complex technology (Hurwitz, 1998). For example, inheritance requires that developers know exactly what they are inheriting. Thus, it is very easy for the developer to make a mistake. The developer is expected to select from libraries of hundreds or thousands of existing objects to create complex applications. This process is very confusing. It can be difficult to find the right object for the right task and to distinguish between objects that perform similar functions. And, the full benefits of OO programming were never fully realized, partly because implementation inheritance defeated true encapsulation (Hoagland). Also, OO programming has never fully fulfilled its promise of much greater code reuse. The high cost of software creation and the failure to follow good coding practices contributed to the rise of software components and component-based development. It success in the market has been largely due to the advent of the distributed era of computing with its demand for truly encapsulated code to be delivered on a much shorter time frame.
Component software represents the extension of OO programming as described below (Hoagland):
Object technology has brought to light -- and tried to...
As the business changes, developers can more easily map business process changes to applications and then implement the appropriate it changes. SOA facilitates business connections. With business processes packaged as modular, accessible business services, enterprises can connect them where and when they are needed to optimize processes across customers, partners, suppliers, and their own internal applications SOA enhances business control. Because services model business processes, the flow of data and transactions
IEEE-Computer Science -- Literature Review IEEE-Computer Science Integration Approaches Practices The work of Ziegler and Dittrich (nd) reports that integration is "becoming more and more indispensable in order not to drown in data while starving for information." The goal of data integration is "to combine data from different sources by applying global data model and by detecting and resolving schema and data conflicts so that a homogenous, unified view can be provided." (Ziegler
Risk Management in Hedge Funds A research of how dissimilar hedge fund managers identify and achieve risk The most vital lesson in expressions of Hedge Fund Management comes from the inadequate name of this kind of alternative investment that is an alternative: The notion that all methodical risks are differentiated away is not really applicable here, with the Hedge Fund returns, in realism, representing a mixture of superior administration of market
To the extent the totality of circumstances suggest that possibility, even acceptance of the most nominal gratuities (i.e. A cup of coffee) is ethically inappropriate. Similarly, even where the gratuity involved is of nominal value and there is no potential misunderstanding on the part of the individual proffering an otherwise appropriate gratuity, there is the issue of creating the appearance or inference of an improper relationship from the perspective of
The reward for the effort of learning is access to a vocabulary that is shared by a very large population across all industries globally" (p. 214). Moreover, according to Bell, because UML is a language rather than a methodology, practitioners who are familiar with UML can join a project at any point from anywhere in the world and become productive right away. Therefore, Web applications that are built using
Cross-Sectional Study: To Assess the Prevalence of Dental Diseases and Treatment Needs of Pediatric Patients Attending Dental Clinics at Ajman University The WHO Global Oral Health Program emphasizes that although countries have made substantial progress in their effort to improve community health in general, there is still a lot to be done in relation to oral health - particularly among minority and economically-disadvantaged groups1. Oral diseases such as orodental trauma, oropharyngeal
Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.
Get Started Now