Analysis and Design  «Prev  Next»
Lesson 5Two-step design
ObjectiveContrast Purpose and Scope of Architectural Analysis

Two steps: Architectural Analysis Object Design

Contrast the purpose and scope of the architectural analysis and object design phases.
Design is divided into two steps:
  1. architectural analysis and
  2. object design.
Object design requires a context. For example, the differences between local and distributed applications are significant. The challenges of latency, memory access, partial failures, and concurrency, require significantly different designs for local solutions than for distributed solutions. Different architectures dictate different low-level designs. Consequently, architectural choices provide the context for low-level design.

Architectural analysis

Architectural analysis evaluates the system requirements against the technologies that offer the most promising frameworks for a solution. The problem is partitioned to support both the functional and technological requirements.
The use case model is used as a source for functional partitioning. The class diagram provides the resources for each functional area. The interaction diagrams provide insight into the dependencies between the functional partitions.
Each functional partition is then divided to represent the layers of technology that will be used to implement the solution.

Functional Partitions between system layers
Functional Partitions between system layers

Object design

During object design each partition presents a different type of design challenge. For example, the user interface partition addresses a very different set of problems from the data access partition. A transaction server partition is very different from a client application partition.
Object design will use the statechart diagram in addition to all of the tools that you have learned so far in analysis. Together, these tools provide working models of every aspect of the software design.

Statechart diagram:

The UML diagram used to model object states, state transitions, and the behavior of an object during the state changes and during each state.

Design work product
Design work product consisting of different types of models