| Lesson 6 || Architectural analysis |
| Objective || Clarify Purpose and function of architectural analysis |
Clarify Purpose and function of Architectural Analysis Phase
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.
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.
From the time frame of 1965 to 1996, we have planned applications with a similar essential approach to software engineering. In centralized computer applications, the client acted as a host and the centralized computer did the entirety of the work through its array of CPUs. The remote terminals were all fundamentally nearby to the enormous machine. Independent PC applications sustain this engineering in light of the fact that the PC application approaches all assets on a similar machine.
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.
Systems Analysis Design
Architectural analysis will provide two techniques for partitioning the problem:
- Partition the problem according to the functional requirements defined by the use case model, assigning the problem domain resources to each functional partition.
- 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).