Str#6. “Four Kinds of Features” Strategy // identifying purpose and features
– Be certain to include features that cover the following:
1. Log important information.
2. Conduct business.
3. Analyze business results.
4. 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.
-- EOF --
除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:Object Modeling Strategies (IV)
发表回复