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

Podobne dokumenty