Data Segmentation: Identifying Objects and Classes.
Data Segmentation: The Object Model
The model identifies all the objects that make up a system, their attributes and relationships with other objects. The process is broken down into steps:
- Identify Objects and Classes
- Prepare a Data Dictionary.
- Identify Associations between Objects.
- Identify Attributes of Objects and Links.
- Organize and Simplify Object Classes.
Objects — One of the keys to working with objects is knowing how to identify them. Objects generally represent people, places, or things. For example a group of people who belong to an organization located in a specific city can be useful for your marketing efforts.
Classes — A class is an entity that defines how an object will behave. For example, groups behavior typically is uniform, conforming to the rules and regulations that govern the organization. The location of the organization can also shape the group’s behavior due to several factors (political, geographic, demographic).
The organization typically responds to a offering in general terms, favorably or simply dislikes the proposal. For example, an alternative health care coverage plan may be offered up that the group collectively finds attractive due to the unique needs of that organization. Identifying object-oriented classes is both a skill and an art. It’s a process that one gets better at over time.
A data dictionary, or metadata repository, in basic terms classifies information about data such as meaning, relationships to other data, origin, usage, and format. Individuals within groups can be segmented by their “likes” and usage of products and services. For example health care.
The type of a relationships between objects created (associations) depends upon how related objects are defined. There are three types of relationships between objects:
- One-to-Many Relationships
- One-to-One Relationships
- Many-to-Many Relationships
Attributes define the characteristics of the class that, collectively, capture all the information about the class. Attributes should be protected by their enclosing class. Unless changed by the class’ behavior, attributes maintain their values.
The type of data that an attribute can contain is determined by its data type. There are two basic data types:
- Primitive data types are fundamental types.
- Derived data types are defined in terms of the Primitive data types. That is, they form new data types by extending the primitive data types.
An organization’s membership sub-segments are derived data type formed by a collection of primitive data types. For example, members may own their own business or work for a company.
When identifying attributes, consider these types:
Descriptive attributes provide intrinsic information about the class. For example, information about the organization’s membership may be classified by the industry they work in.
Naming attributes are used to uniquely identify an object and typically don’t change during the lifetime of the object.
Referential attributes contain links to objects. The geography a member serves may cross over (link) with other organizations.
Analyze classes for associations with other classes. Look for collaborating classes. How does each relate to each other? When identifying relationships, start with the class that interacts with as many other classes as possible; perhaps, the core classes of the application.
- Who cares about this class?
- Who is interested in this class?
- Why is this class necessary?
The generalization/specialization association exists when one class is a specialized version of another class. In this relationship, a common, or base, class forms the foundation for more specialized, or derived, classes. This association is commonly referred to as inheritance because the derived classes inherit the functionality of their base classes to provide specialized behavior. Apply interface inheritance when unrelated object types need to provide the same behavior.
Base analysis of your core consumers can identify a wealth of insights of your target market. These insights will improve your marketing and organizational structure.
TechRepublic, By Jeff Hanson. May 8, 2001. Intro to OOP: Understanding classes and objects.
Code Project, By Roy Clem. March 21, 2005. Identifying Object Oriented Classes.