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ę 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ę