Metody oceny architektury


Wytworzoną architekturę oprogramowania należy poddać ocenie. Ocena architektury to sprawdzenie w jakim stopniu wybrane rozwiązanie architektoniczne spełnia wymagania. Istnieje kilka metod oceny architektury. Do najbardziej popularnych zalicza się:

  1. Metoda analizy kompromisów w architekturze (ang. Architecture Tradeoff Analysis Method, w skórócie ATAM)
  2. Metoda analizy kosztów i korzyści (ang. Cost Benefit Analysis Method, w skrócie CBAM).
Zasadnicza różnica pomiędzy tymi dwiema metodami jest taka, że pierwsza z nich (ATAM) bierze pod uwagę atrybuty jakościowe a druga (CBAM) koszty i korzyści powiązane z wyborem danej architektury.



Poniżej przedstawiono pokrótce najważniejsze informacje na temat metody ATAM.


Metoda ATAM

Cel
Celem tej metody jest ocena w jaki sposób proponowana architektura spełnia poszczególne atrybuty jakościowe (np. modyfikowalność, wydajność, bezpieczeństwo...) oraz jak powiązane są one między sobą, np. jak wpłynie zmiana jednego atrybutu na inny, np. bezpieczeństwo - wydajność.

Uczestnicy
architekt, interesariusze rozwiązania/projektu

Dane wejściowe do oceny
- wymagania
- SAD

Etapy
Metoda ATAM składa się z 4 faz: prezentacja, analiza, testowanie i raportowanie.

1. Prezentacja
W trakcie prezentacji przedstawia się:
- informacje o kliencie projektu i innych kluczowych interesariuszach projektu;
- kryteria jakości;
- problem i cele biznesowe;
- koncepcja rozwiązania i pokazanie w jaki sposób dana koncepcja spełnia stawiane cele biznesowe.

2. Analiza
W tym etapie następuje analiza podejść architektonicznych oraz ocena w jakim stopniu podejścia architektoniczne spełniają poszczególne atrybuty jakościowe wynikające z wymagań.

3. Testowanie
W tym etapie następuje: 
- w procesie burzy mózgów: tworzenie scenariuszy użycia i ich priorytetyzacja;
- analiza scenariuszy użycia według priorytetów oraz ich analiza (sprawdzenie czy przyjęte rozwiązania architektoniczne radzą sobie z danymi scenariuszami).

4. Raportowanie
W tym etapie następuje prezentacja rezultatów.