The purpose of this workflow detail is to create an initial sketch of the software architecture.


Topics


             
 

Software Architect
Software
Architect

 

 

Architectural Analysis
Architectural
Analysis

 

Architectural Analysis
Architectural
Analysis

 
     

 

 
     

Deployment Model
Deployment
Model

Design Model
Design Model

 

Deployment Model
Deployment
Model

Design Model
Design Model

 
     

Analysis Class
Analysis
Class

Software Architecture Document
Software
Architecture
Document

 

Analysis Class
Analysis
Class

Software Architecture Document
Software
Architecture
Document

 

         
 

Designer
Designer
 

 

Use-Case Analysis
Use-Case
Analysis

 
     

 
     

Analysis Class
Analysis
Class

Design Use-Case Realization
Design Use-Case
Realization

 
     

Analysis Model
Analysis
Model

 


Description

To top of page

This workflow detail has the following goals:

  • Create an initial sketch of the architecture of the system

    • Define an initial set of architecturally significant elements to be used as the basis for analysis
    • Define an initial set of analysis mechanisms
    • Define the initial layering and organization of the system
    • Define 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

Related Information

To top of page

This section provides links to additional information related to this workflow detail.

Timing

To top of page

Early part of Elaboration phase.

Optionality

To top of page

Required

How to Staff

To top of page

These activities are best carried out by a small team staffed by cross-functional team members. Issues that are typically architecturally significant include performance, scaling, process and thread synchronization, and distribution. The team should also include members with domain experience who can identify key abstractions. The team should also have experience with model organization and layering. The team will need to be able to pull all these disparate threads into a cohesive, coherent (albeit preliminary) architecture.

Work Guidelines

To top of page

The work is best done in several sessions, perhaps performed over a few days (or weeks and months for very large systems), with iteration between Architectural Analysis and Use-Case Analysis. Perform an initial pass at the architecture in Architectural Analysis, then choose architecturally significant use cases, performing Use-Case Analysis on each one. After (or as) each use case is analyzed, update the architecture as needed to reflect adaptations required to accommodate new behavior of the system and to address potential architectural problems which are identified.

Where the architecture already exists (either from a prior project or iteration), change requests may need to be created to change the architecture to account for the new behavior the system must support. These changes may be to any artifact in the process, depending on the scope of the change.



Rational Unified Process  

2003.06.13