Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified...
Transcript of Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified...
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
– obiektów, klas, pakietów, komponentów, wdrożeń● zachowania
– 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ę
CelKlient wypełnia i wysyła formularz zamównienia taksówki
Warunki wstępnePrzypadek 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ów1. 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ńcowePrzypadek 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.
Przypadekużycia
(przykład)
Slajd prof.J.Magotta, EKA PWr
Dia-gram
przy-pad-ków
uży-cia
Slajd prof.J.Magotta, EKA PWr
Dia-gram
sek-wencji
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ę