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]