Projektowanie systemów informacyjnych: język UML

Transkrypt

Projektowanie systemów informacyjnych: język UML
Programowanie obiektowe w C++
Projektowanie systemów
informacyjnych: język UML
mgr inż. Witold Dyrka
4.01.2010
Projektowanie systemów
informacyjnych: język UML
●
Projektowanie systemów informacyjnych –
wprowadzenie
●
Paradygmat obiektowości
●
Język UML
●
–
narzędzia (diagramy)
–
przykłady
Podsumowanie
Projektowanie systemów
informacyjnych
●
Szacuje się, że 80% systemów jest źle zaprojektowanych
●
Nie ma dobrej implementacji bez dobrego projektu
Czynniki krytyczne
●
●
●
●
Postawienie właściwego zadania
Komunikacja pomiędzy klientem, projektantem
i programistą podczas całego procesu budowy systemu
Możliwość oceny i poprawy elementów
budowanego systemu
...
Paradygmat obiektowości
●
●
Łączy atrybuty i metody zgodnie z działaniem ludzkiego
mózgu
Kluczowe pojęcia: klasa, obiekt, instancja, metody
prywatne i publiczne, abstrakcja, dziedziczenie,
enkapsulacja, polimorfizm...
Klasa – abstrakcyjny model elementu świata rzeczywistego,
pozwala na oddzielenie specyfikacji od implementacji
–
obiekt – instancja klasy
Przesyłanie komunikatów – zestaw metod publicznych
określa interfejs klasy
Unified Modeling Language (UML)
Narzędzia specyfikacji systemu, które umożliwia
komunikację i współpracę pomiędzy klientem,
projektantem i programistą podczas budowy systemu
●
1997: UML 1.1 (G.Booch, I.Jacobsen, J.Rumbaugh z
Rational Software) zatwierdzony przez konsorcjum OMG
●
2005: rozszerzony i poprawiony UML 2.0
●
obecna wersja UML 2.1
więcej: www.uml.org
Narzędzia UML
Diagramy
●
strukturalne
–
●
zachowania
–
●
obiektów, klas, pakietów, komponentów, wdrożeń
przypadków użycia, stanów, aktywności
interakcji
–
sekwencji, współpracy
Diagram klas
Przypadek użycia
PU Nazwa
Cel
Warunki wstępne
Przebiegi sposobu realizacji
- Podstawowy
- Alternatywny
Przepływ komunikatów
Warunki końcowe
Przypadek użycia – cel, warunki
wstępne i przebieg realizacji
PU Zamów taksówkę
Cel
Klient wypełnia i wysyła formularz zamównienia taksówki
Warunki wstępne
Przypadek użycia jest inicjowany przez Klienta, który otwiera stronę WWW lub WAP.
Przebiegi sposobu realizacji: Podstawowy
1. Klient otwiera stronę z formularzem “Zamów taksówkę”.
2. Klient wprowadza swoją bieżącą Pozycję oraz Adres docelowy i wysyła formularz.
3. PU zapisuje dane w tabeli Czekające zgłoszenia (CZ).
4. PU otwiera stronę “Status zgłoszenia” i kończy się wywołując PU Przyjmij zgłoszenie
Alternatywany
5. Jeśli dane Klienta nie zostały zapisane w tabeli CZ powiadamia Klienta i przechodzi do kroku2.
Przypadek użycia – przepływ
komunikatów, warunki końcowe
…
Przepływ komunikatów
1. Inicjacja przez Klienta
2. Zgłoszenie – PU zapisuje dane zgłoszenia Klienta.
3. Zgłoszenie otrzymane – PU potwierdza otrzymanie zgłoszenia.
4. Zgłoszenie nie dotarło – PU informuje o braku zgłoszenia w bazie.
5. Przyjmij zgłoszenie – PU inicjuje PU Przyjmij zgłoszenie.
Warunki końcowe
Przypadek użycia uznaje się za zakończony kiedy zgłoszenie Klienta zostanie zapisane
w tabeli Czekające zgłoszenia, nastąpi przejście do strony “Status zgłoszenia”
oraz zostanie zainicjowany Przypadek użycia Przyjmij zgłoszenie.
Przypadek
użycia
(przykład)
Slajd prof.J.Magotta, EKA PWr
Diagram
przypadków
użycia
Slajd prof.J.Magotta, EKA PWr
Diagram
sekwencji
Diagram współpracy
Programy wspomagające
modelowanie UML
Komercyjne, round-trip modeling (model→kod,kod→model):
●
Rational Software Architect (IBM)
●
Enterprise Architect (Sparx)
●
PowerDesigner (Sybase)
Darmowe, z różnymi ograniczeniami...:
●
ArgoUML (UML 1.4, http://argouml.tigris.org/)
●
Umbrello (Linux/KDE, http://uml.sourceforge.net)
●
MDT-UML2Tools (Eclipse, http://www.eclipse.org/modeling/mdt/?project=uml2tools)
UML – podsumowanie
●
●
●
●
Stosowanie narzędzi UML jest czasochłonne
Ułatwia komunikację pomiędzy uczestnikami procesu
budowy systemu, a więc także dostosowanie go do
rzeczywistych potrzeb klienta
Niejako przy okazji generuje dokumentację projektu
Automatyczne tworzenie prototypów klas i metod
przyspiesza proces implementacji
Dziękuję