UML
Unified Modeling Language
Standardowy sposób projektowania oprogramowania
Zorientowany obiektowo
Zastępuje i poprzednie metody zapisu (często sprzeczne)
Powstał około 1997 roku
Autorzy Grady Booch, Ivar Jacobson, James Rumbaugh
Inne Metodologie opisu
Object Oriented Analysis & Design
Object Modeling Technique
CRC - Class-Responsibility-Collaboration
Cechy (zalety)
Standard
Graficzny (Rysunkowy)
Do Analizy i Projektu
Narzędzia softwarowe
Proces i Model
Składniki Analizy
Proces Analizy (metoda)
Nie jest częścią UML
Zwykle zależy od firmy i tematyki
Może być sformalizowany
Są metodologie prowadzenia analizy z wykorzystaniem UML
Wyniki Analizy
Powinny być niezależne od procesu (sposobu przeprowadzenia) analizy
Powinny dostarczać podstaw do procesu tworzenia oprogramowania
Nie powinny wpływać na technologię tworzenia oprogramowania
Tworzą model systemu - niezależny od implementacji
Musi się integrować z procesem projektowania
Proces Analizy
Pobieżnie - aby pokazać jak do procesu pasuje UML
Zainicjowanie (inception)
Zakres
opłacalność
Rozpracowanie (Elaboration)
analiza wymagań
potrzebna architektura, zasoby, ...
oszacowanie kosztów
Projektowanie (Construction)
Iteracje - Analiza, projekt, test, .....
Implementation (Transision)
Końcowe testy
Wydajność
Proces Analizy - Sformalizowanie
Stopień sformalizowania
“Ceremonialny” sposób analizy
Formalne spotkania
Raporty
Dostawy “papierów”, umów, raportow, ...
Potwierdzanie i podpisywanie
Wpływ na wydajność
Zagubienie sensu
Model
Składniki
Przypadki użycia (Use Case)
Opis funkcjonowania
Diagramy klas (Class Diagram)
składniki
związki
podobieństwa
Diagramy odziaływań (Interaction diagrams)
Diagramy stanów (State diagrams)
Deployment Diagrams
Inne (Packages, activity)
Przypadki Użycia (Use Case)
Opisuje
Funkcjonalność dla użytkownika
Różny poziom komplikacji
Pojedynczy cel dla użytkownika
Graficzna reprezentacja
Rola w projekcie
punkt startowy
różny poziom szczegółowości
Use Case - symbole
Actor
Przypadek użycia
Zależności
<<uses>> używa
<<extends>> rozszerza
Opis słowny (nie UML ale zwykle konieczny)
Rola i Typy Analizy
Przykład
Logowanie
<<uses>>
Sprawdza konto
Klient
<<uses>>