Introduction to Architectural Analysis
The first thing I should clarify is why I call this phase architectural "analysis" while still referring to it as a design phase.
Analysis is about problem definition, whereas design is about solution definition.
A solution that will satisfy all of the functional requirements must be constructed.
The solution must also take advantage of the available technologies to provide the best support at the lowest cost and best performance.
Architectural analysis is the period in the development process where you step back and look at the types of problems you are trying to solve,
in order to figure out what technological approach would provide the optimum solution.
If we call it architectural design we are implying that we are designing a new architecture, which we are not, at least not usually.
There are a limited number of ways to organize an application.
Architectural analysis is the process of matching a need to an approach.
To accomplish that goal, we first need to break down, or partition, the problem.
After completing this module, you will be able to:
- Explain the purpose of system partitioning and identify the two types of system partitioning
- Explain the goal of system partitioning and describe the end product
A system architecture is the conceptual model
that defines the structure, behavior, and views of a system.
An architecture description
is a formal description and representation of a system, organized in a way that supports reasoning about the structures of the system.
A system architecture can comprise
- system components,
- the externally visible properties of those components, and
- the relationships between them.
A system architecture can provide a plan from which products can be procured and systems developed that will work together to implement the overall system.
There have been efforts to formalize languages to describe system architecture, collectively these are called (ADLs) architecture description languages.