12 Model-Based Analysis:
The HASARD Method
In the previous chapters, we have studied the methods of scenario-based analysis
and evaluation of software architectural designs. They enable us to find out how
well a software architectural design meets quality requirements specified in the
form of scenarios. A common weakness of these methods is that they have limited
power to discover unknown problems that are not elicited and explicitly specified
by quality requirements. To discover unknown problems of a software design is of
particular importance especially when the software is for a new application domain
or the design explores a new architecture. In this chapter, we will study a model-
based approach to address the problem of how to analyse an architectural design in
order to discover its quality features without pre-specified requirements.
We will study a method called HASARD, which stands for Hazard Analysis
of Software ARchitectural Designs. As its name suggests, the method is based on a
kind of system analysis technique called hazard analysis that is widely used in
analysing safety related systems in various industry sectors. The HASARD method
was based on the work initially proposed by the author and his colleague and
students in [
1] for analysing software architectural designs, but significant changes
have been made to improve its repeatability. Further research on the development
of software tools to support the uses of the method is now in progress.
The objective of this chapter is:
To study the model-based approach to the analysis of software
architectural designs, which include
how to represent the quality models of software systems;
how to construct quality models from software architectural designs;
300 Chapter 12. Model-Based Analysis: The HASARD Method
how to systematically analyse a quality model to derive quality features
of software designs.
The chapter is organised as follows. In section 12.1, we will first generalise
the notion of quality models introduced in Chapter 2 and devise a diagrammatic
notation to represent quality models to enhance their expressiveness so that the
specific features of the architecture and its application domain can be expressed
and analysed. Section 12.2 presents a systematic method to derive software quality
models from architectural designs. Section 12.3 discusses various types of quality
features that can be derived from a given quality model. Section 12.4 is a case
study of client-server architecture of websites that gives an example to illustrate the
application of the method.

Get Software Design Methodology now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.