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