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ę