Observations on Object-Oriented Systems Development

These are some of my observations about object-oriented systems development.

Index of Observations

Click on a particular topic to go to it or go to the middle of the page to see them all. After the observations, I define the specialized terms used.

  1. Enterprise-Quality Data Enables Integration
  2. Information Shared through Enterprise-Quality Data Stores
  3. Involve Broadly Knowledgeable Subject Matter Experts
  4. Most Object-Oriented Development Focuses on Applications
  5. Objects Must be Properly Scoped
  6. Type Objects (& Classes) Provide Flexibility

I can go into further details on each observation if you are interested. Contact me and we can arrange something.

These systems development pitfalls can occur in object-oriented development as well.


The Observations


  1. Enterprise-Quality Data Enables Integration

    By designing objects to use enterprise-quality data, they will, through the data, integrate to other applications that also use the enterprise-quality data.


  2. Information Shared through Enterprise-Quality Data Stores

    Sharing of information is handled generally through Enterprise-Quality Data Stores. Closely related objects within an application communicate in a limited basis to achieve their functions.


  3. Involve Broadly Knowledgeable Subject Matter Experts

    Object developers need to involve subject matter experts who understand the functions being implemented and how they fit in the overall scheme of things as well as the general direction for the future.


  4. Most Object-Oriented Development Focuses on Applications

    Most object-oriented developers focus on application development, consider data from the viewpoint of their application. Unless enterprise-quality data is considered and included in the master development plan, the applications developed will not integrate well with other applications.


  5. Objects Must be Properly Scoped

    The scoping of objects is a very important task. They should be scoped to address a group of closed related functions and not everything the real-world object does. Too narrow and code is heavily duplicated within similar objects; too broad and the object tries to be everything for everyone and become burdened with many diverse functions that are better handled individually.


  6. Type Objects (& Classes) Provide Flexibility

    The use of type objects (with their associated classes) that further define the behaviors of instance objects provides the flexibility to rapid add new technologies and equipment. This moves the definitions of the type object into data rather than code thus permitted faster deployment and added flexibility. The experts on the types being described do not need to also be experts in object-oriented development.



Descriptions


Enterprise-Quality Data

Enterprise-Quality Data is data that has been designed considering the overall needs of the organization. Logically, there is a centralized enterprise data store that serves all applications. This logical data store provides application-specific views of the data to applications so that they can perform their functions. Near real-time communications are used to keep the data and the application's view of the data in snyc.

Instance Objects

Instance Objects represent an actual instance of an specific object with its behaviors and general attributes defined by a linked type object, common to all instances of that particular type of object.

Type Objects

Type Objects define the common properties, behaviors and attributes, shared by all instances of that given type, such as a particular manufacturer's model of equipment.