Software Architecture (707.023)
Denis Helic
KMI, TU Graz
Oct 19, 2011
Denis Helic (KMI, TU Graz)
SA Analysis and Design
Oct 19, 2011
1 / 78
Outline
1 2 3 4 5 6 7 8
Development Process Requirements Quality Attributes Runtime QA Non-runtime QA Requirements Analysis: Example Architectural Analysis & Design Architectural Views
Denis Helic (KMI, TU Graz)
SA Analysis and Design
Oct 19, 2011
2 / 78
Development Process
Methodology
Different software development processes have software architecture as a part of the process Rational unified process Spiral development method Agile development method Evolutionary rapid development
Denis Helic (KMI, TU Graz)
SA Analysis and Design
Oct 19, 2011
3 / 78
Development Process
Place of SA in SDP
Figure: Source: Software Architecture Primer by Reekie, McAdam
Denis Helic (KMI, TU Graz) SA Analysis and Design Oct 19, 2011 4 / 78
Development Process
Methodology
After the initial requirements analysis but before software design The first architecture is also a communication basis with the customer Inputs for the development of the architecture:
1 2
Requirements Context (technical, organizational, business, ...)
Denis Helic (KMI, TU Graz)
SA Analysis and Design
Oct 19, 2011
5 / 78
Requirements
Analysis
At the beginning there is always a customer who wants a specific software system Customer “wishes” are always informal Interviews, some documents, some Excel tables, ... We need to analyze such informal records and structure it Requirements engineering is a huge field but we just illustrate here one possibility
Denis Helic (KMI, TU Graz)
SA Analysis and Design
Oct 19, 2011
6 / 78
Requirements
Analysis
The results of the requirements analysis:
1 2
Functional requirements Non-functional requirements
(a) Runtime qualities (b) Non-runtime qualities
3
Contextual requirements
Denis Helic