|
What is Object-Oriented Software?An object is a software module that contains a collection of related procedures and data. Each object has a basic purpose or function it performs (written as code). Unlike non-object oriented software where code and data are separate, each object contains the data used in performing the function as well as the code. It is self-contained. Users make use of each object through a defined set of messages, and can link the objects to one another to perform broader functions. The rise of object technology in the building of software products is the software equivalent of the industrial revolution. In the industrial revolution, the move was from handcrafted, individualized products to the manufacture of products from standard interchangeable parts in order to lower the time and cost of production and maintenance. In the software revolution, the move is from handcrafted software to the manufacture of software from standard interchangeable objects thereby lowering the time and cost of production and maintenance. Constructed properly, software comprised of objects has many advantages over non-object software comprised of routines and subroutines. It is more stable and less prone to crashing when changes are made, particularly in the case of complex systems. Because the code and data are co-located within each object, they don't fall out of synch when the software is changed-as tends to happen with traditional non-object-oriented systems where code and data are separate, and where routines and data tables are highly intertwined. It is easier to integrate with other software applications that an agency may be using; it is possible to "wrap" many such applications to make them look like just another object controllable through messages. The objects can also be set-up to respond differently to different conditions through the definition of rules. They can dynamically balance network workloads by automatically seeking out idle capacity (computers) on which to execute-a feature that will only grow in importance with internet-based systems. Most importantly, application functionality and databases can be changed much more quickly and at much less expense than non-object software through the elimination and addition of objects, object classes and subclasses. What is "Good" Object-Oriented Software?The "book" on selecting good supra-market software advises just the opposite of that on vertical market software. It says to avoid software fixed to present requirements; find software with the flexibility needed to meet whatever requirements come along. In other words, in the human services market, don't choose software wedded to the person-centered planning, budgeting and billing paradigm or to the service-centered planning, budgeting and billing paradigm, but one that can handle both; don't choose software with built-in sets of specific licensing, certification, accreditation or other quality standards or codes, choose software that can readily incorporate whatever set(s) come to apply. Object-oriented software is superior to conventional software only to the extent that it is designed to capitalize on the powerful properties of objects. The design of object software is in the form of meta-models-representations of the software components, principally software objects-designed to support the operation of any organization within a broad industry. If the meta-model is locked into conventional applications devoted to current problems, the object software sacrifices its hallmark flexibility. The best object-oriented software is that which has been convergent-engineered. Convergent engineering treats software design and business engineering as one coherent, integrated discipline. Convergent engineering is dedicated to the effective use of object technology through the construction of advanced meta-models. The job of the convergent software engineer is to build a solid set of objects-software "Lego's" you might say-where users themselves can configure tailored solutions befitting their needs." Convergent engineers are trained to look beyond the here and now, designing the software to anticipate the world of situations and changes that organizations within an industry might possibly face |
|
If you have any
questions or comments about our web page please contact us at
support@danic.com
|