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 Wyznacz cel Zbadaj położenie [osiagnieto cel] [else] Wykonaj ruch [else] Użyj detektora L Użyj detektora C Użyj detektora P [blokada] Zaplanuj ruch Aktualizuj mapę
Diagram czynności 4/5 Klient BOK Serwis Zgłoś awarię 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. +pobierzzmagazynu() : bool +dodajdomagazynu() : void +FuntyNaKilogramy() : double [UML Przewodnik Użytkownika] Towar -id : int -liczba : int = 0 #ciezar : double #kolor : int +nazwa_regionalna [1..*] : wchar_t
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 -X : int -Y : int Figura +ObliczPole() Trojkat -DlugosciBokow[3] : int +ObliczPole() Prostokat -DlugosciBokow[2] : int +ObliczPole() Kolo -Promien : int +ObliczPole()
Diagram klas 7/10 Uogólnienie II Osoba Podwykonawca Sp ecjalistaz ewn etrzn y
Diagram klas 8/10 - Powiązanie Klient posiada > RachunekBankowy 1 1..* Osoba -posiadacz:iposiadacz +wlasnosc:iwlasnosc Samochod 1 1..* Osoba Samochod 1 1..*
Diagram klas 9/10 - Agregacja Uczelnia W ydzial 1 * 1..* 1..* Student
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]