Definiowanie architektury

Transkrypt

Definiowanie architektury
Analiza i projektowanie
systemów
informatycznych
Architektura systemu
Definicja architektury
Zbiór artefaktów (dokumentów i produktów
programowych) definiujących szczegółowo strukturę i
sposób realizacji systemu, tak aby zostały spełnione
wszystkie nałożone wymagania funkcjonalne i
niefunkcjonalne.
Architektura stanowi szablon, według którego możliwe
jest sprawne wytworzenie systemu (co najmniej w
zakresie głównych przypadków użycia).
Jest definiowana w fazie opracowania, a potem
utrzymywana na bieżąco.
Dobrze opracowana architektura odpowiada na pytanie:
DLACZEGO?
APSI
2
Zawartość
„
„
„
„
„
„
„
plan struktury systemu;
kluczowe elementy struktury i ich interfejsy – jak
elementy te składają się w większe całości i w cały
system;
interakcje pomiędzy elementami;
„styl” architektoniczny;
odniesienie do wymagań;
wyjaśnienie istoty przyjętych rozwiązań;
w miarę potrzeby – prototypy techniczne i/lub
funkcjonalne.
APSI
3
Cel
„
„
„
„
zrozumienie systemu i stosowanych rozwiązań przez
wszystkich uczestników procesu projektowego
organizacja realizacji projektu poprzez określenie
rozwiązań i rozdzielenie odpowiedzialności
zwiększenie uniwersalności rozwiązań
(wieloużyteczność kodu)
maksymalizacja możliwości rozwoju systemu
APSI
4
Opis – dokumentacja
„
„
„
„
założenia projektowe;
model szczegółowy architektonicznie znaczących
przypadków użycia (na poziomie rozszerzonym,
konkretnym);
model komponentów określający podsystemy, moduły,
etc. na odpowiednim poziomie szczegółowości oraz ich
interfejsy;
model analityczny i projektowy określający realizację
architektonicznie znaczących przypadków użycia:
model statyczny: diagramy klas dla przypadków użycia
… model dynamiczny: diagramy interakcji
…
„
„
model dziedziny;
słowniki pojęć, klas, interfejsów, etc.
APSI
5
Wpływy
„
„
przypadki użycia – wpływ obustronny,
doświadczenie:
własna wiedza, poprzednie projekty, rozwiązania,
… inne projekty,
… wiedza ogólna, literatura,
… szablony architektoniczne, analityczne i projektowe;
…
„
ograniczenia:
wymagania niefunkcjonalne, w szczególności istniejące systemy,
infrastruktura sprzętowo-programowa, standardy, normy,
zasady, polityka;
… potrzeby organizacyjne, w tym topologia, dystrybucja,
… wymagania finansowe i inne biznesowe.
…
APSI
6
Charakterystyka
„
„
„
„
„
„
„
prostota,
czytelność, jasność prezentacji,
jednoznaczność,
elastyczność, łatwość wprowadzania zmian,
separacja pojęć i aspektów,
podział odpowiedzialności,
odpowiednie odniesienie do wymagań i ograniczeń
technicznych i ekonomicznych.
APSI
7
Opracowywanie
„
„
„
„
„
„
„
„
wyszukanie architektonicznie znaczących przypadków
użycia;
identyfikacja systemów, podsystemów, modułów, ich
wzajemnych powiązań i zasad współdziałania;
zdefiniowanie klas istotnych dla architektury;
określenie zasobów danych;
zdefiniowanie innych istotnych aspektów
(współbieżność, topologia, dystrybucja, etc.);
implementacja prototypów;
definicje testów i zasad oceny jakości;
ocena jakości.
APSI
8
Proces
APSI
9