OOPortal OOPortal

Analysis and Design  «Prev  Next»
Lesson 6 Architectural analysis
Objective Clarify Purpose and function of architectural analysis
Clarify the purpose and function of the architectural analysis phase.
The context for object level design is the architecture in which the design will reside. An architecture will dictate where each piece of software will reside, how responsibilities will be divided among the software components, and how the pieces of the architecture will communicate.

Function of Architectural Analysis

The architecture divides the solution according to functionality and technology. Not every function requires the same technological distribution of responsibilities. The job of the architect is to map functional requirements to the technologies and to distribute responsibilities that are best for each function.

Changing contexts

For many years we have designed applications with the same basic architecture. In mainframe applications the client was a dumb terminal and the mainframe did all of the work. All of the resources were basically local to the big machine. Stand-alone PC applications perpetuate this architecture because the PC application has access to all resources on the same machine.

Distributed architectures

Distributed systems and the Web have introduced new architectures. These architectures distribute the resources among a number of devices and systems. Now you not only have to think about the functionality your users require, you must also decide how to distribute the resources to the most appropriate technologies and ensure that each piece can communicate effectively with the others.

Architectural analysis

Architectural analysis will provide two techniques for partitioning the problem:
  1. Partition the problem according to the functional requirements defined by the use case model, assigning the problem domain resources to each functional partition.
  2. Partition each functional area to support the distribution of the application features to the most appropriate technologies (features such as user interface, application-specific behavior, global transaction management, and data access).