Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified...

17
Programowanie obiektowe w C++ Projektowanie systemów informacyjnych: język UML mgr inż. Witold Dyrka 4.01.2010

Transcript of Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified...

Page 1: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Programowanie obiektowe w C++

Projektowanie systemów informacyjnych: język UML

mgr inż. Witold Dyrka

4.01.2010

Page 2: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Projektowanie systemów informacyjnych: język UML

● Projektowanie systemów informacyjnych – wprowadzenie

● Paradygmat obiektowości● Język UML

– narzędzia (diagramy)– przykłady

● Podsumowanie

Page 3: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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● ...

Page 4: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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

Page 5: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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

Page 6: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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

Page 7: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Diagram klas

Page 8: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Przypadek użycia

PU Nazwa

Cel

Warunki wstępne

Przebiegi sposobu realizacji- Podstawowy

- Alternatywny

Przepływ komunikatów

Warunki końcowe

Page 9: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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.

Page 10: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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.

Page 11: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Przypadekużycia

(przykład)

Slajd prof.J.Magotta, EKA PWr

Page 12: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Dia-gram

przy-pad-ków

uży-cia

Slajd prof.J.Magotta, EKA PWr

Page 13: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Dia-gram

sek-wencji

Page 14: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Diagram współpracy

Page 15: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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)

Page 16: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

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

Page 17: Projektowanie systemów informacyjnych: język UML obiektowe C++... · 2011. 12. 18. · Unified Modeling Language (UML) Narzędzia specyfikacji systemu, które umożliwia komunikację

Dziękuję