Analiza systemowa
Transkrypt
Analiza systemowa
Analiza i projektowanie systemów informatycznych Analiza systemowa Istota analizy systemowej Analiza ma na celu opracowanie takiej struktury systemu i mechanizmów współdziałania elementów tej struktury, aby zrealizować wymagania funkcjonalne. Z jednej strony – model analityczny odnosi się do przypadków użycia opisując ich realizację. Z drugiej strony – jest pierwszym szkicem modelu projektowego. APSI 2 Model analityczny a model UC Model UC zawiera opis przypadków użycia opisywany językiem branżowym zewnętrzny widok systemu strukturalizacja przypadków użycia APSI Model analityczny zawiera opis realizacji przypadków użycia opisywany językiem informatycznym wewnętrzny kształt systemu strukturalizacja przez klasy i pakiety 3 Model analityczny a model UC Model UC może zawierać niezgodności i niespójności w wymaganiach tworzony dla komunikacji z użytkownikami, projektantami, testerami – co system ma robić zawiera zebrane wymagania funkcjonalne APSI Model analityczny nie zawiera niezgodności i niespójności w wymaganiach tworzony dla projektantów – z czego system ma się składać opisuje, jak zrealizować wymagania funkcjonalne 4 Zawartość modelu analitycznego realizacje przypadków użycia: diagram klas stereotypowych: <<boundary>> <<control>> <<entity>> diagramy interakcji (sekwencji / współpracy) diagramy klas warstw systemu: model danych model aplikacji (model interfejsu) zweryfikowane szczegółowe opisy wymagań APSI 5 Diagramy klas związki generalizacji-specjalizacji związki asocjacji opisują hierarchie pojęć opisują logiczne powiązania pomiędzy pojęciami związki agregacji APSI opisują zasady wewnętrznej konstrukcji obiektów złożonych 6 Generalizacja-specjalizacja związek pomiędzy klasami, a nie obiektami klas możliwe dowolne rozbudowywanie drzew specjalizacji, ale dla zapewnienia odpowiedniej jakości modelu konieczne zachowanie odpowiedniego poziomu czytelności konieczność zapewnienia równowagi pomiędzy prostotą a precyzją modelu modelujemy rzeczywiste, a nie przypadkowe związki APSI 7 Generalizacja-specjalizacja wskazania do specjalizacji klas: odmienna struktura (atrybuty), odmienne zachowanie (operacje), odmienne asocjacje, związki pomiędzy specjalizacjami, stabilność przynależności obiektów poprawne zależności pomiędzy operacjami klasy specjalizacji i ogólnej: ukonkretnienie operacji abstrakcyjnej, rozwinięcie, uszczegółowienie, rozszerzenie, ograniczenie APSI 8 Agregacja związek określający sposób budowy złożonych obiektów z elementów składowych (związek części z całością) pełny opis agregacji wymaga dodatkowej dokumentacji poza diagramem, który nie jest w stanie pokazać większości aspektów związku APSI 9 Rodzaje agregacji komponent – całość materiał – produkt porcja – obiekt miejsce – obszar element – komplet element – formacja członek – grupa członek – zespół APSI 10 Komponent – całość Najbardziej intuicyjny rodzaj agregacji – zależność strukturalna lub funkcjonalna opisująca konstrukcję obiektów o złożonej strukturze. Przykłady: koła, silnik, skrzynia biegów są częściami samochodu, sceny są częściami filmu, geometria jest częścią matematyki Całość jest strukturą złożoną z części w ściśle określony sposób. Najczęściej bardzo istotne są również związki pomiędzy komponentami. Części pełnią konkretna funkcję w całości, mogą być odłączane, dołączane, wymieniane. APSI 11 Materiał – produkt Związek pomiędzy produktem, a materiałami, z których jest wykonany. Przykłady: cappuccino składa się częściowo z mleka, samochód zbudowany jest częściowo ze stali, chleb zrobiony jest częściowo z mąki Elementy (materiały) nie mogą być odłączane od całości, chociaż czasem mogą być dołączane. Z reguły nie ma struktury i nie istnieją związki pomiędzy elementami. APSI 12 Porcja – obiekt Związek pomiędzy całym obiektem, a jego powtarzalnymi częściami (porcjami, segmentami). Przykłady: kromka jest częścią bochenka chleba, odcinek (kilometr) drogi jest częścią drogi Porcje są identyczne lub bardzo podobne i mają niektóre cechy wspólne z całością. Dzięki temu możliwe jest utrzymywanie tych cech wyłącznie na poziomie całości – ma miejsce „propagacja” atrybutów. Elementy nie tworzą struktury. Porcje mogą być zliczane, dodawane i odłączane. APSI 13 Miejsce – obszar Związek pomiędzy obiektami w przestrzeni. Przykłady: Warszawa leży w Polsce, szczyt jest częścią góry, pole karne jest częścią boiska Obiekty składowe zawierają się przestrzennie w całości, mają pewne cechy wspólne (propagacja atrybutów). Możliwe jest określenie struktury. Części z reguły nie mogą być odłączane. APSI 14 Element – komplet Związek określający przynależność obiektu do kompletu, zestawu stanowiącego pewną całość wyłącznie wtedy, gdy zawiera wszystkie elementy składowe. Przykłady: złoty medal jest elementem kompletu medali za bieg na 100m mężczyzn IO XXIX Olimpiady w Pekinie kupon nr 123456 należy do losowania dużego lotka 21.02.2009r. 1. tercja jest częścią meczu o MŚ w hokeju Obiekty składowe są podobne do siebie (choć nie identyczne). Elementy tworzą zbiór (zwykle uporządkowany), lecz nie tworzą struktury. Elementy nie mogą być ani odłączane, ani dołączane. APSI 15 Element – formacja Związek określający przynależność obiektu do zorganizowanej formacji, organizmu. Przykłady: gałąź jest elementem korony drzewa piksel jest elementem obrazu Obiekty składowe są podobne do siebie – mają wiele cech wspólnych. Elementy tworzą strukturę (często liniową lub fraktalną). Elementy mogą być odłączane i przeważnie też dołączane. APSI 16 Członek – grupa Związek określający przynależność obiektów do grupy określana na podstawie pewnej metryki lub nawet arbitralnego przyporządkowania. Przykłady: drzewo należy do lasu, statek należy do floty, student należy do organizacji studenckiej Kolekcja składa się z wielu obiektów, które mogą być zupełnie różne. Obiekty składowe raczej nie tworzą struktury. Brak związków pomiędzy poszczególnymi elementami. Elementy mogą być dodawane lub odłączane od grupy. APSI 17 Członek – zespół Związek określający silny i trwały związek członków tworzących zespół. Przykłady: Flip i Flap, Bolek i Lolek W odróżnieniu od związku członek – grupa nie jest tu możliwe odłączenie członka od zespołu. Czasem możliwe jest osłabienie związku dopuszczając np. wymianę członka zespołu. APSI 18 Charakterystyka agregacji Rodzaj Jednor. Odłącz. Struktur. komponent – całość – + + materiał – produkt – – – członek – zespół – – + członek – grupa – + – porcja – obiekt + + – miejsce – obszar + – + element – komplet + – – element – formacja + + + APSI 19 Przechodniość relacji agregacji Agregacje są przechodnie jeśli zachowany jest rodzaj agregacji, np.: silnik jest częścią samochodu (komponent – całość) i tłok jest częścią silnika (komponent – całość) => tłok jest częścią samochodu Mazowsze leży w Polsce (miejsce – obszar) i Warszawa leży na Mazowszu (miejsce – obszar) => Warszawa leży w Polsce Przy różnych rodzajach agregacji brak przechodniości. Dla agregacji tranzytywnych naturalna jest propagacja operacji. APSI 20 Istotne cechy agregacji W ramach opisu agregacji konieczne jest określenie następujących cech związku, aby w pełni go opisać. Cechy te nie występują na diagramie! APSI propagacja operacji, propagacja atrybutów, instancjonowanie składowych i powiązań, wymuszanie niezmienności powiązań, zarządzanie składowymi i powiązaniami, dostępność (widoczność) składowych, destrukcja składowych. 21 Związki nie będące agregacjami Zawieranie topologiczne (tymczasowe) klient jest w sklepie, spotkanie jest w czwartek może być mylone z agregacją typu miejsce – obszar. Klasyfikacja samochód jest pojazdem, Java jest językiem obiektowym, student jest członkiem grupy studenckiej to w istocie specjalizacja, może być mylona z agregacją członek – grupa APSI 22 Związki nie będące agregacjami Cechy, atrybuty osoba ma adres, samochód ma prędkość maksymalną zależność mylona z agregacją komponent – całość Dodatki kolczyki są w uszach asocjacja, nadinterpretacja agregacji komponent – całość Własność Ala ma kota, statek należy do armatora po prostu asocjacja, mylona czasem z agregacją członek – grupa (zespół) APSI 23 Diagramy stanów Diagramy stanów są elementem dodatkowym do diagramu klas. Służą do zwiększenia precyzji opisu klas. Stosuje się do opisu tych klas, których obiekty mają pewien nietrywialny cykl życia. APSI 24 Pojęcie stanu Stan – zbiór wartości atrybutów i/lub związków wśród atrybutów klasy jest jeden lub kilka atrybutów (ewentualnie związków), których wartości określają stan, w którym znajduje się obiekt. Przykłady: winda: piętro (1 atrybut), aparat: tryb, przysłona, czas (zbiór atrybutów), kurier: przesyłka (związek) APSI 25 Pojęcie stanu Stan – zbiór typów obiektowych, do których obiekt przynależy obiekt w danej chwili może przyjmować typ lub typy, które określają stan, w którym znajduje się obiekt. Przykład: APSI osoba: pracująca / bezrobotna | właściciel samochodu 26 Istota stanu Ograniczenie zmienności atrybutów dodatkowe dookreślenie definicji atrybutu, kiedy dziedzina to nie wszystko: nr piętra w windzie może się zmieniać tylko co 1 Określenie dopuszczalności operacji w każdym ze stanów mogą być dopuszczalne inne operacje na obiekcie na dokumencie nie można wykonać operacji publikuj, jeśli nie jest on w stanie „zatwierdzony” te same operacje w zależności od stanu mogą dawać inne efekty jednokrotne naciśnięcie klawisza powoduje wolne przewijanie, kolejne - szybkie APSI 27 Istota stanu Ilustracja znaczenia atrybutu, dyskretyzacja wartości Jeśli atrybut ma wartość ciągłą lub zbiór wartości jest duży, można podzielić zbiór wartości na podzbiory o znaczeniu istotnym dla problemu. ciśnienie w kotle: 0 – 1 = za małe, 1 – 3 = robocze, 3 – 5 = nadmierne, > 5 = awaria! Stan jako miejsce w sterowaniu APSI 28