Software Design Methodology

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...