Purpose
  • To define input to the selection of the set of scenarios and use cases that are to be analyzed in the current iteration.
  • To define the set of scenarios and use cases that represent some significant, central functionality.
  • To define the set of scenarios and use cases that have a substantial architectural coverage (that exercise many architectural elements) or that stress or illustrate a specific, delicate point of the architecture.
Steps
Input Artifacts: Resulting Artifacts:
Worker: Architect

Workflow Details:

Prioritize Use Cases and Scenarios To top of page

An architect proposes the technical contents and the order of successive iterations by selecting a certain number of scenarios and use cases to be analyzed and designed. This technical proposal is completed and refined by the various development teams, based on personnel availability, customer requirements in terms of deliverables, availability of tools and COTS products, and the needs of other projects.

The selection of scenarios and use cases that constitute the use-case view is driven by:

  • The ranking of the scenario: critical, important, ancillary.
  • The risks to be mitigated (performance, availability of a product, and suitability of a component).
  • The completion of the coverage of the architecture ( making sure that at the end of the Elaboration phase, every piece of software to be developed has found a home in the Implementation View).
  • Other tactical objectives or constraints: demo to end-user, and so on.

There are three ranks for use cases, and classes:

╖ Critical (or primary). These have to do with the main tasks of the system, its basic function, the functions for which it is being developed. If they are missing the system fails to fulfill its primary mission. They drive the architectural design and tend to be the most frequently exercised use cases.

╖ Important (or secondary). These have to do with the support of the system's functions, such as statistical data compilation, report generation, supervision, and function testing. If they are missing the system can still (for a while) fulfill its fundamental mission, but with degraded service quality. In modeling, less importance will be attached to them than to critical use cases

╖ Ancillary (nice to have). These are "comfort" features, not linked to the system's primary mission but that help in its use or market positioning.

In general the impact on architecture is correlated to the criticality. However, it should be noted that there may be critical use cases that have little or no impact, and vice versa, some ancillary use case may have a big impact on the architecture, which makes it questionable from a business perspective.

Document the Use-Case View To top of page

The use-case view is documented in the use-case view section of the Software Architecture Document. This section contains a listing of the significant use cases and scenarios within each package in the use-case model, together with significant properties such as descriptions of the flow of events, relationships, use-case diagrams, and special requirements related to each use case. Note that if the use-case view is developed early in the iteration, some of these properties may not yet exist.

Evaluate Your Results To top of page

The use-case view should be checked at this stage to verify that the work is on track, but not to review the use-case view in detail. See especially checkpoints for use-case view in Activity: Review the Architecture.

Copyright  ⌐ 1987 - 2000 Rational Software Corporation

Display Rational Unified Process using frames

Rational Unified Process