Using Software Architecture Analysis Methods

Exclusively available on PapersOwl
Updated: Oct 17, 2021
Read Summary
Cite this
Category: Economics
Date added
Pages:  4
Words:  1264
Order Original Essay

How it works

Using Software Architecture Analysis Methods essay

One of the observed problems with the above mentioned software architecture analysis methods is that these approaches do not make distinction between conventional architecture concerns and architectural concerns that crosscut multiple architectural components. Using the above mentioned software architecture analysis methods; it is possible that prospective crosscutting concerns might not be identified as aspects and ultimately remains uncertain at the software design and programming level. Such situation will ultimately lead to tangled code in the system. The QA that the architecture analysis methods attempt to confirm will still be obstructed.

To overcome this issue, B. Tekinerdogan [93] proposed Aspectual Software Architecture Analysis Method (ASAAM). ASAAM evaluates the architectural aspects with respect to existing software architecture design. SAAM provides the foundation for ASAAM and includes explicit mechanism for describing architectural aspects and tangled components.

Need a custom essay on the same topic?
Give us your paper requirements, choose a writer and we’ll deliver the highest-quality essay!
Order now

ASAAM consist of 5 steps

  1. Candidate architecture development 
  2. Develop scenarios
  3. Individual scenario evaluation and aspect identification 
  4. Scenario interaction assessment and component classification 
  5. Architecture Re-factoring. The main purpose of ASAAM is the identification of architectural aspects which make it as complementary technique to other architecture analysis methods.


Another software architecture analysis method that explicitly treats concerns as first-class entities is Concern Oriented Software Architecture Analysis Method (COSAMM). COSAMM is an iterative method for assessing and transforming software architectures. COSAMM is inspired by the ASAAM. COSAMM makes use of Design Structure Matrices ( DSMs) and Domain Mapping Matrices(DMMs) . DSMs are used for concern identification and dependency analysis of architectural modules and DMMs are used to measure scattering and tangling. 

COSAMM consists of 3 phases: 

  1. Preparation Phase 
  2. Analyse Phase and
  3. Transformation phase. The preparation phase results in the artifacts used in the COSAAM evaluation such as candidate software architecture design and stakeholders concerns. The analysis phase of COSAAM involves a description and measurement of scattering and tangling of concerns and modules. The information provided during this analysis is used in the transformation phase that results in software architecture transformation.


Analyzing Software Architecture for Modifiability Using Scenario

Software modifiability is an important characteristic of software development, as software extensive systems must be flexible with respect to evolving requirements, platforms, and other environmental pressures. Hence software change is inevitable which results in software development of more than several years. According to G. Alkhatib, at least 60% of software life cycle cost is associated with maintenance activities. Because of constant change, modifiability plays a key role in both current and future software technologies.

According to M.M. Lehman et al the failure of a system to evolve, results in an early death for the system. The environment in which software systems works changes continuously. The expected future evolutions of the software systems can be indicated if this change in environment is properly assessed. Therefore, we must consider such design solutions that can support future incorporation of new and changed requirements. In case the designed architecture is flexible enough to support different types of modifications, then the required modifications can be made easily. One problem, however, is the scarcity of the techniques or means that the software architect can use for the purpose of making sure that the ultimate goal of high modifiability has been achieved by the corresponding design solutions. We can perform software architecture analysis to achieve this goal.

In software architecture analysis, the corresponding software architecture of a system is analyzed to make sure that it fulfills customer requirements. Different software architecture analysis methods available in literature that target different QAs i.e. SAAM, ATAM, etc. Architecture Level Modifiability Analysis (ALMA) is one such method that analyses software architecture for modifiability.

ALMA (Architecture level Modifiability Analysis): ALMA is a software architecture analysis approach which considers only Modifiability perspective of software architecture [67]. For a complete software architecture analysis, ALMA needs the support of certain other different architecture level analysis methods as well. 

ALMA has the following characteristics:

  • Focus on modifiability.
  • Differentiate multiple analysis goals.
  • Make important assumptions explicit.
  • Provide repeatable techniques for performing the steps.


Architecture-level modifiability analysis can be used for various purposes. ALMA analyses the following mentioned goals for architecture-level modifiability analysis: maintenance effort prediction, risk assessment, and comparison of candidate architectures.

ALMA consists of the following five steps:

  1. Set goal
  2. Describe software architecture:
  3. Elicit scenarios
  4. Evaluate scenarios
  5. Interpret the results


Setting the goal: Determine the goal of the analysis is the first activity in architecture level modifiability analysis. The following mentioned goals can be chased in architecture level modifiability analysis:

  • Maintenance cost prediction: estimate the ultimate effort that is needed to modify the system to accommodate future changes
  • Risk assessment: it is possible that the specified architecture is inflexible with respect to certain types of changes. This step involves identification of such possible changes.
  • Software architecture selection: compare two or more candidate software architectures with respect to certain requirements and select the optimal candidate


Architecture Description: different required information about the software architecture is collected in second step of ALMA. The architectural information on the basis of which the analyst has to evaluate the scenarios is generally required for modifiability analysis. Scenario evaluation consists of two steps: 1) analysis of the impact of the scenarios and 2) expressing this impact. Architecture-level impact analysis is an activity that is carried out mainly for the purpose of the identification of the certain architectural elements that are affected by a modifiability scenario. The architectural elements that affected by modifiability scenario includes directly affected components and indirectly affected components. Depending on the goal of the modifiability analysis, some measurement scale can be used to express the ultimate affect of such scenarios.

Change scenario elicitation: this step involves selecting different change scenarios to be used in the architecture evaluation step. The following two activities are involved in eliciting change scenarios:

  • identifying stakeholders to interview,
  • documenting the scenarios that result from those interviews, etc


Change scenario evaluation: this step of ALMA is mainly used to evaluate the effect of the change scenarios on the candidate architecture. To evaluate change scenarios, the architects and designers need the cooperation of the analyst also. The analyst determines the impact of change scenarios along with software architect and software designers in order to articulate the results in a way suitable for the goal of our analysis. This is generally known as architecture level impact analysis. In general, impact analysis consists of the following steps:

  • Identify the affected components
  • Determine the effect on the components
  • Determine ripple effects


The first step involves the identification of the directly and indirectly affected components that need to be modified to employ the change scenario. The second step involves identification of the corresponding functions of the components that are affected by the changes. To determine the effect on the certain components, we also need to consider the systems in the operational environment and their interfaces, for the following reasons:

  • There is possibility for change propagation over system boundaries;
  • The system may be affected by changes in environment or
  • The environment may be affected by changes to system


The third step involves identification of ripple effects. This ripple effect will occur as a result of the certain modifications that are needed. It is important to note that ripple effect phenomenon may be a recursive phenomenon. As not all information is available at the architecture level, so it is important to note that we may have to make assumptions about the occurrence of ripple effects.

Interpretation: Once the evaluation of the change scenario is completed, the results are to be interpreted and conclusions about the software architecture are drawn. The system requirements and the goal of the analysis play a vital role in the interpretation of the results. 

The deadline is too short to read someone else's essay

Hire a verified expert to write you a 100% Plagiarism-Free paper

Cite this page

Using software architecture analysis methods. (2021, Oct 17). Retrieved from