Object Modeling Strategies (IV)
Str#6. “Four Kinds of Features” Strategy // identifying purpose and features
- Be certain to include features that cover the following:
-
Log important information.
-
Conduct business.
-
Analyze business results.
-
Interact with other systems.
Str#6a. “Add Features, Inspired by Patterns” Strategy // identifying purpose and features
-
Add features inspired by the stereotypical responsibilities of a participant (in Patt#3, Participant-Transaction), transaction (in Patt#6, Transaction - Transaction Line Item), and place (in Patt#4, Place-Transaction).
-
Examples: assess the performance of a participant (how many, how much), calculate the total of a transaction, assess the performance of a place (how many, how much).
Str#6b. “Organize and Prioritize Features” Strategy // identifying purpose and features
- Organize the features into "feature categories” (also known as "use cases”).
. Example: maintaining employee info; assigning employees; assessing employee performance
- Prioritize the features.
. Identify the prioritization criteria. For example: normal sequence of business usage; greatest risk; customer interest; management interest; ease of implementation.
Str#7. “Calculation Results and Decision Points” Strategy // identifying purpose and features
-
Add features that deliver calculation results.
-
Add features that support decision points.
Str#8. “Best and Worst Features” Strategy // identifying purpose and features
-
Ask users:
-
What are the best features of the current system? Of competitive systems?
-
What are the worst problems of the current system? Of competitive systems?
-
What are the unneeded features of the current system? Of competitive systems?
Str#9. “Top 10” Strategy // identifying purpose and features
-
Build a list of features.
-
When you face an abundance of features (or classes, attributes, services), go after the top 10.
-
Why: avoid being overwhelmed by a sea of low-level details.
Str#10. “Now and Later” Strategy // identifying purpose and features
-
Consider current capabilities–and anticipated future capabilities.
-
Ask, “How is it done now? How will it be done later, with the new system?”
-
Look at things that people do to objects now, and consider features you can add (your automated objects might be able to do those actions to themselves).
Str#11. “Reengineer on the Boundaries” Strategy // identifying purpose and features
-
Look at each organization or automated system boundary.
-
Look for duplicate efforts on each side of such a boundary.
-
Model the capability one time–and encourage some reengineering improvements for the organization.
Str#12. The “Smarter Devices” Strategy // identifying purpose and features
-
Look for opportunities to use smarter devices, simplifying your object model and reducing software development schedule and costs.
-
When building an object model in a field with rapidly changing data acquisition and control technology, be sure to take a systems perspective, spanning both hardware and software.