Analiza i projektowanie aplikacji 3 •4.Modelowanie struktury

Transkrypt

Analiza i projektowanie aplikacji 3 •4.Modelowanie struktury
Analiza i projektowanie aplikacji 3
•
4.Modelowanie struktury. Diagram klas.
•
•
5.Strukturalizowanie modelu PU. Model
systemowych PU.
•
•
6.Metodyka ZP/RUP o modelowaniu
biznesowym i wymaganiach do SI.
•
1
Obiekty i klasy
Obiekt: byt o dobrze określonych granicach, który ma
tożsamość, cechy statyczne (wartości atrybutów i
związki z innymi obiektami), które określają jego stan
oraz cechy dynamiczne, które określają jego
zachowanie. Obiekt łączy w sobie dane i funkcje.
rekućKonto:Konto
numer:231
właściciel:”Ludmiła Rekuć”
saldo: 300.00
:Student
indeks:122231
nazwisko: Kowalski
imie: Jan
księgowość
2
Obiekty i klasy
Klasa: reprezentacja wspólnych cech grupy obiektów,
które mają takie same właściwości, stany,
zachowanie, związki i znaczenie.
Obiekt jest egzemplarzem (instancją, wystąpieniem,
urzeczywistnieniem) klasy.
Konto
numer:int
właściciel:string
saldo: double
depozyt()
wypłata()
Nazwa klasy jest obowiązkowa
Sekcja atrybutów (opcjonalna).
Atrybut: nazwana właściwość związana z dziedziną
wartości.
Uwaga! Wartość atrybutu może byc typu prostego,
być obiektem innej lub tej samej klasy,
być zbiorem obiektów.
Sekcja operacji (opcjonalna).
Operacja: nazwana usługa realizowana przez obiekt.
3
Identyfikacja klas

Nazw
a
atrybut1
atrybut2
atrybut3
oper1()
oper2()
Dziedzina wiedzy

rzeczowniki
rzeczowniki - dopełniacze.
czasowniki.
4
Związki klas - powiązanie
Powiązanie(asocjacja)
Zespół
0..1
członek
2..*
Osoba
Powiązanie klas wskazuje na związek między ich obiektami
• oznaczane jest linią ciągłą;
• może mieć nazwę z ewentualnie dodanym kierunkiem odczytu;
• ma końce (dwa lub więcej) wskazujące na klasy;
• końce mogą być oznaczone nazwami ról, w których występują w
związku obiekty danych klas;
• na końcu związku może być pokazana liczebność (krotność), która
wskazuje, ile obiektów danej klasy może być związana z jednym
obiektem po drugiej stronie powiązania (tylko w związkach binarnych,
wiążących dwie klasy).
5
Powiązanie
Oznaczenie liczebności:
”...z jednym obiektem danej klasy może być związany:.”
0..1 jeden lub żaden, opcjonalne powiązanie;
0..* jeden, wiele lub żaden,
*
wiele lub żaden, wskazuje na niedokładność zbadania;
1..* jeden lub wiele;
1
tylko jeden;
Brak wiele lub żaden, wskazuje na niedokładność zbadania;(w
UML1.5 - tylko jeden).
1 „od”
*
1 „do”
*
Miasto
Trasa
6
Klasa powiązania
Firma
*
1..*
pracodawca
Osoba
pracownik
Zatrudnienie
wynagrodzenie
zawrzyjUmowę
Powiązanie, które ma własne atrybuty i/lub
operacje może być modelowane jako klasa.
7
Klasa powiązania
Klasa powiązania
Student
zalicza
*
*
Kurs
1
klasa powiązania
Zaliczenie
ocena
*
1
Indeks
1
8
Klasa zwykła zamiast klasy powiązania:
/pracuje dla
Firma
Pracodawca
1
Osoba
Pracownik
1
*
*
Stanowisko
1.. *
Podwładny
0..1 Kierownik
powiązanie
zwrotne
Kieruje
9
Agregacja: związek
”
„całość składa się z części lub
“właściciel i jego własność”
Zdjęcie
*
*
Osoba
1
*
DowódTożsamości
Agregacja słaba (współdzielona) - pewien obiekt może należeć do
wielu innych, jest częścią wielu, oznacza się niewypełnionym
rombem po stronie "całości”.
Agregacja całkowita - kompozycja - wyłączna własność całości
nad częścią; czas życia "części" nie może być dłuższy niż czas życia
"całości", oznacza się wypełnionym czarnym rombem po stronie
"całości";
10
Agregacja, przykłady
*
Trasa
{ordered}
1
Faktura
2..*
1..*
Przystanek
PozycjaFaktury
11
Uogólnienie (generalizacja/specjalizacja)
Osoba
*
◄uczy
*
Student
Wykładowca
Uogólnienie: związek między klasą bardziej ogólną (nadklasą) a
bardziej specyficzną (podklasą).
Podklasa dziedziczy cechy nadklasy:
 atrybuty operacje  związki  ograniczenia
Podklasy mogą:
- dodać nowe cechy do odziedziczonych;
- zmienić odziedziczone operacje zapewniając inną „treść” operacji
przy zachowaniu tego samego nagłówka.
12
Uogólnienie przykład
Zawodnik
nazwisko
waga
wysokość
podajPiłkę()
strzelKosza()
Obrońca
róbPrzechwyt(
)
róbAsystę()
Środkowy
Skrzydłowy
zróbWsad()
Źródło: J.Schmuller „UML dla każdego”, HELION, 2003, str. 63.
13
Ograniczenia (w nawiasach klamrowych) dodatkowe
wymagania, które nie udaje się wyrazić za pomocą standardowych konstrukcji
diagramu. Mogą one dotyczyć operacji, związku miedzy atrybutami, wartości atrybutów,
powiązań i tp.
Konto
*
1
Osoba
*
członek
Zespół
{XOR}
{podzbiór}
*
1
Osoba
1
szef
Firma
szef jest jednym z
członków zespołu
Konto jest związane z
osobą lub z firmą
{XOR} oznacza, że wystąpienia
Faktura
nr
data
1..*
PozycjaFaktury
{ordered}
lp
podstawa
symbol
ilość
1
związków są alternatywne.
{Ordered}
-
na końcu powiązania
oznacza, że jeden obiekt danej klasy
może być związany z kilkoma obiektami
klasy docelowej i obiekty te są
uporządkowane.
14
Przykład diagramu klas
Egzemplarz
*
Umiejscowienie
1
nr
1..*
Temat
nazwa
opis
TypDokumentu
*
1
*
0..1 poprzednik
Dokument
tytuł
autor
dataWydania
zawartość
*
jest
wersją
nazwa
*
*
zawier
a
*
15
Diagram obiektów
Na diagramie klas – klasy i ich związki. Na diagramie obiektów –
instancje klas i ich związek w pewnej chwili czasowej.
Osoba
Rekuć:Osoba
© Dr inż. Ludmiła Rekuć
1..*
pracownik
0..*
pracodawca
Firma
PWr:Firma
1616
Diagram klas - przykład
Przedsiębiorstwo
1..*
0..1
Dział
kierownik
Osoba
0..1
0..*
jest nadrzędnym dla►
© Dr inż. Ludmiła Rekuć
1..*
AdresKontaktowy
1717
Diagram obiektów
PPP SA:Przedsiębiorstwo
SPK:Dział
PPK:Dział
nazwa = "Sprzedaż"
nazwa = "Produkcja"
SP1:Dział
nazwa = "Sprzedaż
internetowa"
:Osoba
kierownik
nazwisko = "Kowal"
ID = 4389
stanowisko = "Kierownik
sprzedaży"
:AdresyKontaktowe
adres = "Kluczowa 10"
Diagram przedstawia obiekty i ich
wiązania w konkretnej chwili.
© Dr inż. Ludmiła Rekuć
18
18
Strukturalizacja modelu PU
Uogólnienie (generalizacja) między aktorami -
związek między aktorem bardziej ogólnym (rodzicem) a
aktorem bardziej wyspecjalizowanym (dzieckiem). Dziecko
dziedziczy role ( a więc i powiązania z PU) rodzica.
Dr inż. Ludmiła Rekuć
19 19
Za twi e rd ze n i e o ce n
ko ń co wych
« e xte n d »
Pracow nik
dydaktyczny
« e xte n d »
P rze j rze n i e p l a n u
za j ę ć z
za rza d za n i e m
o ce n a m i
Wp ro wa d ze n i e
kryte ri u w o b l i cza n i a
o ce n y ko ń co we j
M o d yfi ka cj a
sp ra wd zi a n u
Upraw niony
pracow nik
dydaktyczny
Wp ro wa d ze n i e
o ce n czą stko wych
Do d a n i e
sp ra wd zi a n u
P rze j rze n i e p l a n u
za j ę ć
S p ra wd ze n i e o ce n
z za j ę ć
Student
Dr inż. Ludmiła Rekuć
Wykorzystane źródło: Śmiałek M. Zrozumieć UML2.0
Metody modelowania obiektowego HELION, 2005.
20 20
Strukturalizacja Przypadków Użycia
(poszukiwanie i wydzielenie pewnych struktur – fragmentów PU)
Są trzy główne powody strukturalizacji PU:
ułatwienie zrozumienia;
ułatwienie wielokrotnego użycia specyfikacji PU;
ułatwienie utrzymania modelu.
Kiedy należy zająć się strukturalizacją PU?
Najlepiej zrobić to po szczegółowym opisaniu
możliwych
przebiegów PU i ich zrozumieniu.
W strukturalizacji wykorzystuje się następujące rodzaje
związków PU:
zależności:
zawierania
rozszerzenia
uogólnienia (generalizacji/specjalizacji).
Dr inż. Ludmiła Rekuć
21 21
Uogólnienie (generalizacja) między PU:
dwa lub więcej PU są specjalizacjami abstrakcyjnego, ogólnego PU.
Należy skorzystać z uogólnienia, jeśli prowadzi to do uproszczenia
modelu, a nie do jego skomplikowania!
PU-dziecko:
dziedziczy wszystkie cechy rodzica (związki, warunki
wstępne i końcowe, kroki podstawowego i
alternatywnego
przebiegu);
może mieć dodane inne związki, warunki wstępne i
końcowe, kroki podstawowego i alternatywnego
przebiegu
zdarzeń;
może zamienić cechy odziedziczone własnymi
specyficznymi (za wyjątkiem związków).
Dr inż. Ludmiła Rekuć
22 22
Jak opisywać na diagramie uogólnione PU?
UML tego nie określa.
Znajdź Produkt
Znajdź Książkę
Znajdź CD
Styl opisu może być określony wewnętrznym standardem
firmy lub zespołu twórców systemu.
W przykładzie zastosowano zasadę:
jeśli krok zmieniono - został on wyróźniony poprzez
napisanie kursywą;
jeśli krok dodano: został on wyróźniony poprzez
wytłuszczenie.
Dr inż. Ludmiła Rekuć
23 23
Przypadek użycia: ZnajdźProdukt
Przypadek użycia : ZnajdźKsiążkę
ID: PU11
ID: PU67 ISA PU11
Aktorzy: Klient
Aktorzy: Klient
Warunek wstępny:
Przebieg zdarzeń:
1. Klient wybiera "Znajdź produkt"
2. System pyta o kryteria wyszukiwania.
3. Klient wprowadza kryteria.
4. System wyszukuje produkty.
5. Jeśli system znajduje, to
5.1 System wyświetla listę produktów
6. W przeciwnym przypadku
6.1 System komunikuje, że nie
znaleziono.
Warunki końcowe:
Warunek wstępny:
Przebieg zdarzeń:
1.Klient wybiera "Znajdź książkę"
2.System pyta o kryteria wyszukiwania
książki: autora, tytul, ISBN lub temat.
3. Klient wprowadza kryteria.
4. System wyszukuje książki.
5. Jeśli system znajduje, to
5.1 System wyświetla listę produktów
6. W przeciwnym przypadku
6.1 System kom unikuje, że nie
znaleziono.
Warunki końcowe:
Alternatywne przebiegi:
Dr inż. Ludmiła Rekuć
24 24
Zależność <<zawiera>> ( ang. <<include>>) między
PU
Jeśli w PU jest taki fragment przebiegu, że:
do zrozumienia PU nie są istotne szczegóły przebiegu tego
fragmentu, ważny jest jego wynik, nie sposób
realizacji, lub
jeśli stanowi on wspólny fragment wielu przypadków użycia,
można ten fragment wyodrębnić w osobny podprzypadek
użycia.
Wyodrębniona część jawnie jest częścią PU, zawiera się w nim.
Używamy w tym przypadku związku zależności <<include>>.
Zależność <<include>> oznacza, że operacje "zawieranego"
podprzypadku użycia (strzałka na niego wskazuje) są realizowane
zawsze w przypadku zawierającym.
Notacja: przerywana linia ze strzałką i tekstem <<include>> (lub
spolszczonym <<zawiera>>).
Dr inż. Ludmiła Rekuć
25 25
Zależność zawierania się między PU na diagramie
i w opisach:
Zamów
Produkt
<<include>>
Przypadek użycia: ZamówProdukt
Znajdź Produkt
Przypadek użycia: ZnadźProdukt
ID: oznaczeniePU11
ID: oznaczeniePU16
Aktorzy: Branżysta
Aktorzy: Branżysta
Warunek wstępny: zalogowany w systemie
Warunek wstępny:
Przebieg zdarzeń:
1....
2.include (ZnajdźProdukt)
3
Przebieg zdarzeń:
1....
Dr inż. Ludmiła Rekuć
...
26 26
Związek zależności <<rozszerza>> ( ang.
<<extend>>) między PU
Jeśli fragment PU jest opcjonalny i nie jest
konieczny do zrozumienia głównego celu PU,
można ten fragment wydzielić w osobny podPU i
uprościć tym samym strukturę podstawowego.
W tym przypadku używamy związku <<extend>>.
Podstawowy PU "nic nie wie" o możliwym jego
rozszerzeniu.
Rozszerzający podPU musi się "powołać" na
miejsce w podstawowym PU na tzw. punkt
rozszerzenia.
Miejsce to jest oznaczone, ale nie ponumerowane,
jest między ponumierowanymi krokami!
Dr inż. Ludmiła Rekuć
27 27
Zależność rozszerzania między PU na diagramie i
w opisach:
Zwrot Ksiązki
punkt rozszerzenia
przeterminowany
<<extend>>
Ukaranie grzywną
(przeterminowany)
Przypadek użycia : ZwrotKsiążki
ID: PU11
Rozszerzający PU: UkaranieGrzywną
Aktorzy: Bibliotekarz
ID: PU16
Warunek wstępny:
Dołączany segment 1:
Jeżeli książka przeterminowana:
1. Bibliotekarz wybiera rejestracje zapłaty
grzywny.
2. System wyświetla formularz.
3. Bibliotekarz rejestruje opłatę grzywny.
...
Przebieg zdarzeń:
1. Bibliotekarz wprowadza ID Czytelnika.
2. System wyświetla listę wypożyczonych
książek.
3. Bibliotekarz wskazuje książkę zwracaną.
<ukaranie grzywną>
4. Bibliotekarz rejestruje zwrot.
...
Dr inż. Ludmiła Rekuć
28 28
Strukturalizacja PU
PU-1 Przyjmij zamówienie
Aktorzy Sprzedawca
Warunek wstępny:
Podstawowy przebieg zdarzeń:
1. PU rozpoczyna Sprzedawca wybierając odpowiednią
opcję.
2. System prezentuje formularz zamówienia.
3. Sprzedawca podaje dane pozwalające
zidentyfikować klienta (PESEL lub
Nazwisko/Nazwę firmy).
4. System wypełnia formularz zamówienia danymi
klienta.
5. Sprzedawca wprowadza pozycje zamówienia. W
tym celu dla każdej zamawianej pozycji:
5.1 podaje symbol (z indeksu) lub nazwę
produktu.
5.2 system wyszukuje produkt i podaje jego
stan;
5.3 sprzedawca potwierdza wybór i podaje
ilość;
5.4 system prezentuje wypełnioną pozycję i
umożliwia przejście do następnej lub
zakończenie.
6. Sprzedawca potwierdza zamówienie.
7. System zapamiętuje zamówienie, rezerwuje
zamówione produkty i wraca do poprzedniej
opcji.
Warunek końcowy: Zamówienie zarejestrowano,
produkty zarezerwowano.
Alternatywne przebiegi.
A1. Nowy klient:ma miejsce po kroku 3, kiedy klient
jest obsługiwany po raz pierwszy.
Dr1.inż.
Ludmiła Rekuć
Sprzedawca
wywołuje opcje”Nowy klient”.
...
<<zawiera się>>
/<<include>>
PU-2 Wyszukaj produkt
Aktorzy
Warunek wstępny:
Przebieg zdarzeń:
Po wybraniu odpowiedniej opcji system umożliwia
podanie nazwy i/lub indeksu produktu, następnie
sprawdza stan magazynu i prezentuje wynik.
<<rozszerza>> /<<extend>>
PU-3 Zarejestruj klienta
rozszerzający PU-1 w pkt.”Nowy klient”
Aktorzy
Warunek wstępny:
Podstawowy przebieg zdarzeń:
1. PU rozpoczyna się wybraniem odpowiedniej opcji po
kroku 3 PU-1, jeśli klient po raz pierwszy składa
zamówienie.
2. System prezentuje formularz klienta.
3. Aktor podaje nazwisko klienta, PESEL, adres
dostarczania zamówionych produktów,...
...
29 29
ud Gospodarow nie nieruchomościami

Dokonaj zakupu
mieszkania
komunalnego

« e xte n d »

Dokonaj zakupu

gruntu



Przeprow adź
sesj ę rady gminy

komunlanego


Dokonaj

wydzierżawienia

Petent
nieruchomosci
Rada gminy


Zmień zasady

w ydzierżaw ienia

nieruchomości








Uzyskaj dodatek
mieszkaniow y
Ustal granice
podziału dla
nieruchomości






30


Metodyka RUP(ZP) o modelowaniu biznesowym i wymaganiach
•
Analiza środowiska
•
Wymagania
Cel: zrozumienie organizacji i wyrażenie w
modelach. Produkty: model środowiska
( architektura, procesy, słownik). Wizja SI....
Cel: pozyskanie wymagań i wyrażenie w modelu.
Produkty: model PU, dodatkowa specyfikacja,
rozbudowany słownik.
Analiza
Projektowanie
31
Metodyka RUP(ZP) o modelowaniu biznesowym i wymaganiach
Zbuduj model
biznesowych
PU
Znajdź
aktorów
SI
Znajdź
PU SI
Nadaj
priorytety
PU
Opisz
wstępnie
(zrozum) PU
Ustrukturalizuj
i udokumentuj
model PU SI
Zbuduj diagram klas
dziedziny problemu
(kluczowe abstrakcje)
Zaktualizuj Wizję i
słownik
32
Metodyka RUP(ZP) o modelowaniu biznesowym i wymaganiach
Uwaga! Dwa modele PU w procesie wytwarzania SI!
Model biznesowych PU buduje się, jeśli procesy organizacji są mało
znane, trzeba je zrozumieć, żeby trafniej określić wymagania do systemu
informatycznego. Byt typu „pracownik” modelu biznesowych PU często
staje się aktorem w modelu systemowych PU.
Nadanie priorytetu systemowym PU
Kluczowym, wejściowym artefaktem w ustaleniu priorytetu PU jest Wizja,
w której określa się, na czym najbardziej zależy zainteresowanym
stronom i wymienia zagrożenia. Możliwe kryteria ustalenia priorytetu PU
to:
- korzyści uzyskiwane przez zainteresowane strony ,
- wpływ PU na architekturę,
- stopień zagrożenia jaki jest związany z PU.
33
Pytania kontrolne
1. Czy każda klasa może mieć obiekty?
2. Czy każda sekcja definicji klasy jest obowiązkowa?
3. Czy prawdziwe jest twierdzenie:”należy pokazać wszystkie
atrybuty klasy lub nie pokazywać je wcale”?
4. Czy klasa powiązania może mieć związki z innymi “zwykłymi”
klasami?
5. Co dziedziczy podklasa po nadklasie?
6. Czy mogą wystąpić dwa obiekty klasy z takimi samymi
wartościami atrybutów?
7. Jakie związki mogą wystąpić między PU?
8. Czy związek uogólnienia może wystąpić między aktorem a PU?
9. Co to jest “punkt rozszerzenia”?
10.Jaka jest różnica między zwiazkami „include” I „extend”?
34

Podobne dokumenty