Guideline: Strategies to Avoid Functional Decomposition |
Identify common symptoms of functional decomposition and mitigate their impact.
Relationships
Related Elements | Detail Use-Case Scenarios Essential Use Cases Functional Decomposition
Main Description
Refer to the Mitigation column for actions you can take to raise the level of granularity and head off the problems associated with Functional Decomposition.
Characteristic | Description | Mitigation
Separation of CRUD functions | Each element of CRUD (CReate-Update-Delete) is dealt with in a separate use case. | Make CRUD functions alternate flows in one use case.
Actors are not generalized | Use cases are tied to specific concrete users, not abstract actors. | Generalize actors that inherit the same system functionality
Use cases are functions | No use case's basic flow completes a major interaction or transaction, but instead describes functions. | Re-write the basic flow to complete an end-to-end scenario.
Technology specific | Use cases are locked to specific architectural or system components. | Re-write the use case, treating the technology as a "black box", crossing sub-system or component boundaries if necessary to complete the flow.
User interface design | Use cases are tied to specific screens or user functions and contain specific UI design statements. | Remove references to specific screens, controls, or other UI paradigms.
Few alternate flows | Use cases usually contain 0-2 alternate flows, frequently data specific. | Once the basic flow is complete, identify possible deviations from the main flow and name them. These will be your alternate flows.
Piecemeal scenarios | Scenarios almost always have to use several use cases to complete a useful example. | Write out an end-to-end user scenario, then create a single use case by combining the smaller use cases you need to complete it.
Low level test case derivation | Use cases are useful for deriving unit test cases. | [** need final mitigation **]
References [CON99], [BIT02], [AMB04]
More Information
Concepts | Essential Use Cases Functional Decomposition
© Copyright IBM Corp. 1987, 2009. All Rights Reserved.