Prezentacja na temat laboratorium z Inżynierii Oprogramowania i

Transkrypt

Prezentacja na temat laboratorium z Inżynierii Oprogramowania i
INŻYNIERIA OPROGRAMOWANIA
laboratorium
UML 1/4
• UML (Unified Modeling Language) - język
modelowania obiektowego systemów i
procesów [Wikipedia]
• Spojrzenie na system z różnych
perspektyw dzięki zastosowaniu szeregu
diagramów (struktury i dynamiki)
UML 2/4 – rodzaje diagramów [1]
Diagramy struktury
Diagramy dynamiki

Diagram klas

Diagram przypadków użycia

Diagram obiektów

Diagram stanów

Diagram pakietów

Diagram czynności

Diagram struktur połączonych

Diagramy interakcji

Diagramy wdrożeniowe

Diagram sekwencji

Diagram komponentów

Diagram komunikacji

Diagram rozlokowania

Diagram harmonogramowania

Diagram sterowania interakcją
UML 3/4 - Literatura
1.Wrycza S., Marcinkowski B., Wyrzykowski
K.: Język UML 2.0 w modelowaniu
systemów informatycznych. Helion, 2005.
2. Booch G., Rumbaugh J., Jacobson I.: UML
przewodnik użytkownika, Wydawnictwo
Naukowo Techniczne, 2002.
3.Fowler M.: UML w kropelce, LTP, 2005.
UML 4/4 - narzędzia
• IBM Rational Software Architect
• IBM Rational Rose
• BoUML
• ArgoUML
• StarUML
Etapy projektowe
1)Specyfikacja w języku naturalnym
2)Diagram przypadków użycia (PU)
3)Diagramy czynności
4)Diagram klas
5)Diagramy sekwencji i kooperacji
6)Diagramy stanów
1)Dla modelowania życia obiektów klas
2)Dla modelowania operacji
Specyfikacja wymagań w języku
naturalnym
• Wstęp => cel projektu
• Wymagania funkcjonalne
– Np.: w postaci hierarchii funkcji
• Wymagania niefunkcjonalne
– Wymagania sprzętowe
– Wymagania wydajnościowe
– Wymagania prawne
• Słownik (opcjonalnie)
Diagram przypadków użycia (PU) 1/4
• Zawiera:
– Opis wymagań funkcjonalnych (przypadki użycia
i zależności między nimi)
– Opis otoczenia systemu (aktorzy)
– Opis powiązań przypadków użycia z aktorami
• Stanowi przyporządkowanie usług świadczonych
przez system do grup jego użytkowników
Diagram PU 2/4
Diagram PU 3/4 – aktorzy i przypadki
użycia
Diagram PU 4/4
Opisy przypadków użycia 1/2
• Cel
• Aktorzy (opcjonalnie)
• Związane przypadki użycia (opcjonalnie)
• Warunki Wstępne
• Zdarzenie Wyzwalające
• Warunki Końcowe
• Przebieg
– Główny
– Alternatywne
Opisy przypadków użycia 2/2 - przykład
4. PU Dodaj Notatkę
Cel: Zarchiwizowanie notatki pracownika banku
Aktorzy: Pracownik
Warunki Wstępne: Pracownik jest zalogowany i ma dostęp do głównego menu
aplikacji
Warunki Końcowe: Notatka zostaje zapisana w systemie, lub operacja anulowana
Przebieg główny:
1. System wyświetla okno „Dodaj notatkę”
2. Pracownik wypełnia pola „Temat” i „Treść”
3. Pracownik wybiera opcję „Zapisz”
4. System zapisuje notatkę i okno zostaje zamknięte
Przebiegi alternatywne:
3a. Pracownik wybiera opcję „Anuluj”
4a. Okno zostaje zamknięte
Diagram czynności (aktywności) 1/5
• Jeden z diagramów obrazujących dynamikę
systemu
• Opisuje przepływ sterowania między
czynnościami/akcjami
• Wykorzystywany w modelowaniu:
– Przypadków użycia
– Zbiorów przypadków użycia
– Operacji w klasach
Diagram czynności 2/5
W czytaj plik
x = sin(a*b) - g/7
W yświetl diagram
z = min(a,x,g)
Diagram czynności 3/5
[osiagnieto cel]
Wyznacz cel
Zbadaj położenie
[else]
Wykonaj ruch
[else]
Użyj detektora L
Użyj detektora C
[blokada]
Zaplanuj ruch
Aktualizuj mapę
Użyj detektora P
Diagram czynności 4/5
Klient
Zgłoś awarię
BOK
Serwis
Przyjmij zg łoszenie
Analizuj awarię
Poinformuj klienta
Diagram klas 1/10
• Klasa to opis zbioru obiektów, które mają takie same
atrybuty, związki i znaczenie.
[UML Przewodnik Użytkownika]
Towar
-id : int
-liczba : int = 0
#ciezar : double
#kolor : int
+nazwa_regionalna [1..*] : wchar_t
+pobierzZMagazynu() : bool
+dodajDoMagazynu() : void
+FuntyNaKilogramy() : double
Diagram czynności 5/5
Diagram klas 2/10 – atrybuty i operacje
• Widoczność atrybutów i operacji:
– Prywatne (-)
– Chronione (#)
– Publiczne (+)
• Zasięg atrybutów i operacji
– Instance (dla każdego egzemplarza)
– Classifier (dla całej klasy)
Diagram klas 3/10 – zobowiązania
(responsibilities)
• Określają zadania stawiane klasie
• Wyrażone w języku naturalnym (w postacji
punktów)
• Przykład:
– Class ModelSamolotu
– Responsibilities
• Przechowuj informacje o rodzaju silnika, powierzchni
skrzydeł i masie całkowitej modelu samolotu
• Estymuj koszt produkcji pojedynczego egzemplarza
• Estymuj zasięg samolotu
Diagram klas 4/10 – związki między
klasami
• Zależność
• Uogólnienie
• Powiązanie
– Agregacja (szczególny typ powiązania)
Diagram klas 5/10 - Zależność
Diagram klas 6/10 – Uogólnienie I
F ig u ra
-X : int
-Y : int
+ObliczPole()
Trojkat
Pro sto kat
K olo
-DlugosciBokow[3] : int
-DlugosciBokow[2] : int
-Promien : int
+ObliczPole()
+ObliczPole()
+ObliczPole()
Diagram klas 7/10 – Uogólnienie II
Oso b a
Po d wyko n awca
Sp ecjalistaZ ewn etrzn y
Diagram klas 8/10 - Powiązanie
Klient
posiada >
1
Osoba
RachunekBankowy
1..*
-posiadacz:IPosiadacz
+wlasnosc:IWlasnosc
1
1..*
Osoba
Samochod
1
1..*
Samochod
Diagram klas 9/10 - Agregacja
U cz eln ia
W yd z ial
1
1..*
1..*
Stu d en t
*
Diagram klas 10/10 - Interfejsy
«interface»
IPunktGeograficzny
+ObliczOdleglosc() : int
+PodajWysokoscNPM() : int
M iejscowosc
M iejscowosc
IPunktGeograficzny
Diagramy interakcji [2]
• Jeden ze sposobów obrazowania dynamiki systemu
• Opisują interakcję zachodzącą między obiektami
poprzez:
– Wyróżnienie zbioru obiektów
– Wyróżnienie związków między obiektami (przy pomocy
komunikatów)
• Typy
– Diagramy sekwencji (diagramy przebiegu)
– Diagramy komunikacji (diagramy kooperacji)
Diagram sekwencji [2] 1/5
• Uwypuklają kolejność przesyłania
komunikatów między obiektami
• Reprezentacje obiektów
– Uszeregowane wzdłuż osi X
– Kolejność podyktowana czytelnością diagramu
• Reprezentacje komunikatów
– Uszeregowane wzdłuż osi Y
– Kolejność podyktowana czasem wystąpienia
Diagram sekwencji 2/5
Diagram sekwencji 3/5
Diagram sekwencji 4/5
Diagram sekwencji 5/5
Diagram komunikacji [1]

Podobne dokumenty