WORKFLOW

WORKFLOW

Figure 10-2 illustrates an iteration in analysis and design in UML activity diagram form. Each activity state represents a workflow detail in the Rational Unified Process ”for example, "Define a Candidate Architecture." Each workflow detail, in turn , is composed of one or more activities. We see that some workflow details are phase-dependent: in elaboration iterations, the architecture is defined and then refined, and the more important or risky areas of the application are subjected to analysis and design.

Figure 10-2. Workflow in analysis and design
graphics/10fig02.gif

In subsequent iterations during the construction phase, the emphasis shifts to the addition of more application functionality, on top of what is, by then, a stable architectural platform.

Workflow Details

Define a Candidate Architecture

This workflow detail is composed of the activities architectural analysis, performed by the architect, and use-case analysis, performed by the designer. Its purpose is to

  • Create an initial sketch of the architecture of the system, by defining

    • an initial set of architecturally significant elements to be used as the basis for analysis;

    • an initial set of analysis mechanisms;

    • the initial layering and organization of the system; and

    • the use-case realizations to be addressed in the current iteration.

  • Identify analysis classes from the architecturally significant use cases.

  • Update the use-case realizations with analysis class interactions.

Refine the Architecture

This workflow detail is composed of the activities identify design mechanisms, identify design elements, incorporate existing design elements, describe run-time architecture, and describe distribution, all performed by the architect, and review the architecture, performed by the architecture reviewer. The purpose of this workflow detail is to

  • Provide the natural transition from analysis activities to design activities, identifying

    • appropriate design elements from analysis elements and

    • appropriate design mechanisms from related analysis mechanisms.

  • Maintain the consistency and integrity of the architecture, ensuring that

    • new design elements identified for the current iteration are integrated with preexisting design elements and

    • maximal reuse of available components and design elements is achieved as early as possible in the design effort.

  • Describe the organization of the system's runtime and deployment architecture.

  • Organize the implementation model to make the transition between design and implementation seamless.

Analyze Behavior

This workflow detail is composed of the activities use-case analysis, performed by the designer, identify design elements, performed by the architect, and review the design, performed by the design reviewer. The purpose of this workflow detail is to transform the behavioral descriptions provided by the use cases into a set of elements on which the design can be based. Note that in analyze behavior, we are becoming less concerned with the nonfunctional requirements levied on the system and much more with how to deliver the needed application capabilities.

Design Components

This workflow detail is composed of the activities use-case design, class design, and subsystem design, performed by the designer, and review the design, performed by the design reviewer. The purpose of this workflow detail is to

  • Refine the definitions of design elements by working out the details of how the design elements implement the behavior required of them.

  • Refine and update the use-case realizations based on new design elements introduced, thus keeping the use-case realizations up to date.

  • Review the design as it evolves.

In design components, class characteristics and relationships, subsystem interfaces and their realization by the contained classes, and use-case realizations in terms of collaborations are all completely specified.

Design Real-Time Components

This workflow detail applies to designs that will use the capsule artifact as a primary design element, within the context of a real-time or reactive system. Design real-time components has a purpose similar to design components, but includes the activity capsule design to define the concurrent threads of control in the system (i.e., capsules) and the protocols between them.

Design the Database

This is an optional workflow detail, invoked when the system involves a large amount of data in a database. Design the database is composed of the activities database design, performed by the database designer, class design, performed by the designer, and review the design, performed by the design reviewer. Its purpose is to

  • Identify the persistent classes in the design.

  • Design appropriate database structures to store the persistent classes.

  • Define mechanisms and strategies for storing and retrieving persistent data in such a way that the performance criteria for the system are met.

Note that Figure 10-2 shows component design and database design occurring in parallel with architectural refinement: there may be many interactions between workers performing these workflows, for example the discovery of a new class may require adjustment of the architecture, or architectural refinement for performance reasons may impact the design of persistent classes. This is the case particularly for iterations in the elaboration phase, when the architecture is still fluid.



The Rational Unified Process. An Introduction
The Rational Unified Process: An Introduction (3rd Edition)
ISBN: 0321197704
EAN: 2147483647
Year: 1998
Pages: 176

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net