Global Analysis
global.png

Goal of Global Analysis

Global analysis complements requirements analysis and risk analysis.
The goal of global analysis is firstly to analyse factors that affect the architecture design. These factors fall into three categories, which can then be divided into further subcategories:

  • Organisational factors
    • O1. Management
    • O2. Staff skills, interests, strengths, weaknesses…
    • O3. Process and development environment
    • O4. Development schedule
    • O5. Development budget
  • Technological factors (platforms, compilers)
    • T1. General purpose hardware (processors, network, memory, etc..)
    • T2. Domain-specific hardware
    • T3. Software technology (OS, UI, software components, language, …)
    • T4. Architecture technology (reference architecture(s), ADL, etc…)
    • T5. Standards (data formats, protocols, etc…)
  • Product factors (functionality, performance, dependability)
    • P1. Functional features
    • P2. User interface (user interaction model, UI features)
    • P3. Performance (startup/shutdown times, data rates)
    • P4. Dependability (availability, reliability, safety)
    • P5. Failure detection, reporting, recovery (error classification / logging / diagnostics /recovery…)
    • P6. Service (testing, maintenance)
    • P7. Product cost (hardware budget, software licensing and COTS budget)

We then need to develop strategies to accommodate the factors. Note that some factors may need to be considered as a group rather than individually.

It is named Global Analysis because many of the factors affect the entire system. Global analysis occurs throughout the duration of the architecture design.


Steps of global analysis

STEP 1: Identify and describe factors

  • At the early stages look for factors that have global influence, are likely to change, are difficult to satisfy or may be new to the development team.
  • Questions to ask;
    • Can the factor's influence be localised to a single component or not?…
    • During which stage(s) of development is the factor important?…
    • Does the factor require any new expertise/skills?…

STEP 2a: Characterise the flexibility of the factors

  • Flexibility determines what is negotiable about a factor. The negotiation could be with any of the stakeholders.
  • This information should be used when factors conflict or become impossible to fulfill
  • Questions to ask;
    • is it possible to influence/change the factor to make the architect's task easier?…
    • In what way can it be influenced?…
    • To what extent can it be influenced?…

STEP 2b: Characterise the changeability of the factors

  • Changeability refers to the expected aspects of a factor to be changed (near and distant future).
  • Questions to ask;
    • in what way could the factor change?…
    • How likely will it change during/after development?…
    • How often will it change?…
    • Will the factor be affected by changes in other factors

STEP 3: Analyse the impact of the factors

  • If the factors would to change, how would they affect: other factors, components, modes of operation and other design decisions?…
  • Initially this impact may not be known.

Factor tables

These are the result of the factor analysis.

Kind of factor Flexibility / Changeability Impact
O1: <Factor category>
O1.1: <Factor name>
<description> <flexibility / changeability info> <impact of the factor>
O1.2: <Factor name>
<description> <flexibility / changeability info> <impact of the factor>

Developing strategies

From our factor tables we identify important issues that are influenced by the factors and their changeability. Issues arise from:

  • Limitations/constraints imposed by factors
  • Need to reduce the impact of changeability of factors
  • Difficulty in satisfying product factors

For each issue we develop strategies that address the issue and ensure the implementation/changeability of the architecture design. We describe each issue and its solution as an issue card.

Issue card

issue_card.png

Analysing product factors

Product factors tend to have a larger impact on architecture than organisational and technological ones. This is because while organisational factors focused on flexibility and technological factors focused on changeability, product factors examine both (flexibility for implementation of the architecture design, changeability for smooth evolution of the product).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License