Find Articles in:
All
Business
Reference
Technology
News
Lifestyle

We can be objective about CASE - computer-aided software engineering - Special Advertising Section

Software Magazine, Nov, 1992

The phrase "object-oriented programming" loosely describes a set of principles and guidelines for developing software systems. It is analogous to the phrase "structured programming."

The guiding principles of object-oriented (O-O) programming are:

* encapsulation, which combines both the data and procedures of entities within a system;

* abstraction, which improves modularity of systems by minimizing dependencies among objects; and

* subtyping and inheritance, where systems are defined as groups of objects that have similar characteristics, can share code, and can easily be extended with new objects of similar types.

O-O concepts help designers and implementors create software that is more flexible and extendable, because it is highly modular.

When designing object-based systems, the objects in the problem or business domain are analyzed and organized by their behavior. An example of a domain might be a manufacturing shop floor, an office automation application or an order entry system.

Over time, the domain definition is extended and evolved. Functional changes and extensions are made by simply refining the objects with new behaviors or adding new objects to the system.

Changes in object-based systems tend to be localized and cause minimal disruptions; this is why O-O brings hope for improving the quality of software and the flexibility of software.

Success in implementing CASE requires the effective use of methodology, process and tools. Using O-O techniques requires a significant change in methodology. Therefore, the process and tools used to support the methodology within an organization will likely be modified to suit this new style.

This might entail making incremental changes, such as continuing to use a waterfall lifecycle approach and modifying one or more of the stages of development to employ O-O.

An example is continuing to follow the steps of analysis, design, implementation, testing and maintenance, but perhaps altering the analysis and design steps to use an O-O technique, rather than entity relationships.

At the other end of the spectrum of change would be to switch from a waterfall CASE approach to a rapid application development and iterative style of analysis, design, implementation, and testing. This style allows developers to build smaller pieces of the system and then test and review the functionality with the end-user or client community.

The application is then modified and extended as the requirements and client needs are better understood.

Digital's COHESION CASE development environment supports a variety of approaches to adopting an object-oriented style of software development:

* The CDD/Repository provides a single, logical database in which to store definitions of objects in support of business, data processing activities, and software development.

Unlike simpler representations, objects can be specified at any level of aggregation, from a single data element to an application comprising many program and data files. Webs of information about the enterprise and software development components and processes can be handled by the repository, allowing this information to be shared in a controlled manner.

* Objectivity/DB is a high-performance object-oriented database management system designed for applications that require flexible data modeling, complex relationships, and large volumes of data. Its concurrency controls and distributed architecture provide consistently high performance as the amount of data and number of users increases.

* DEC C++ is an implementation of the C++ programming language that was introduced by AT&T. It is an O-O language that has its roots in the popular C programming language. Most C++ implementations are translators that process C++ source code into C source code that must then be compiled and debugged by the programmer.

In contrast, DEC C++ is a native compiler allowing the programmer to edit, compile and debug the C++ code directly without the extra steps. DEC C++ has object-oriented debugging, browser and standard class library support.

* DEC Trellis is a workstation-based, object-oriented application development system. It includes a strongly-typed object-oriented language, an interactive toolkit, SQL database support, persistent workspaces, and type library. The toolkit provides users with the ability to browse, edit, debug and compile programs.

* Application Control Architecture Services is a flexible, object-oriented software package that enables systems integrators and application developers to build and link independently developed applications in a distributed, mixed-platform computing environment. By writing simple object-oriented "wrappers," end users and application developers can combine their favorite applications to form comprehensive business solutions without rewriting original code.

In addition to COHESION CASE solutions for building object-oriented applications, Digital offers COHESION Consulting Services for technology planning, CASE assessment and review, and environment design and planning services.

COPYRIGHT 1992 Wiesner Publications, Inc.
COPYRIGHT 2004 Gale Group
 

BNET TalkbackShare your ideas and expertise on this topic

The following tags are supported in BNET comments:
<b></b> <i></i> <u></u> <pre></pre>

Leave a Reply

  1. You are currently a guest | Login?
advertisement
CIO SessionsVision Series on ZDNet

See and hear what CIOs the world over thinks about the business of technology and how it's changing the way we live and work.

Go
advertisement
  • Click Here
  • Click Here
advertisement

Content provided in partnership with Thompson Gale