INŻYNIERIA OPROGRAMOWANIA. Język UML. Budowa modelu obiektowego i behawioralnego

Wielkość: px
Rozpocząć pokaz od strony:

Download "INŻYNIERIA OPROGRAMOWANIA. Język UML. Budowa modelu obiektowego i behawioralnego"

Transkrypt

1 Język UML. Budowa modelu obiektowego i behawioralnego Wykorzystane materiały: prezentacje Bartosza Waltera (UW) UML Tutorial(part1) by Robert C. Martin

2 Historia projektowania obiektowego Początki projektowania obiektowego: lata 70-te XX wieku Najważniejsze metodologie obiektowe: OOADA(Object-OrientedAnalysisandDesignwithApplications) Grady Booch nacisk na projektowanie OOSE(Object Oriented Software Engineering) Ivar Jacobson nacisk na inżynierię wymagań OMT(ObjectModelingTechnique) JamesRumbaugh nacisk na analizę

3 Historia UML Język UML(UnifiedModelingLangauge ujednolicony język modelowania) unifikacja metod Boocha, Jacobsona i Rumbaugh (1994 r.), z poszczególnych notacji przejęto najlepsze rozwiązania Początkowo wspierany przez firmę Rational Software(program Rational Rose) Najbardziej rozpowszechnione wersje UML: 1.1 (1997) oraz 1.4 (2002 r.), jednak są powoli wypierane przez nowsze, bardziej spójne i dopracowane wersje (2.x) 2005 r. wersja oficjalnym, międzynarodowym standardem projektowania aplikacji (Information technology: ISO/IEC 19501:2005) 07/2005 r. wersja: 2.0 (duży krok naprzód) 08/2011 r. wersja: ( uznana standardem w kwietniu 2012 r. (ISO/IEC , ) Obecnie język UML nie posiada praktycznie konkurencji w dziedzinie obiektowego projektowania aplikacji

4 OMG Object Management Group Niekomercyjna organizacja powstała w 1989 r. Jej celem jest promowanie teorii oraz praktyki technologii obiektowych Założycielami OMG było 13 liczących się przedsiębiorstw z branży software'owej Obecnie do organizacji należy 321 firm producenci oprogramowania oraz sprzętu komputerowego (stan na dzień 11/04/2013) Organizacja zajmuje się opracowywaniem standardów pomagających w tworzeniu aplikacji obiektowych W 1997 r. OMG włączyła się do prac nad UML 2005 r. OMG doprowadziła do uznania UML 1.4 jako oficjalnego standardu

5 Czym jest UML? Jest językiemdo specyfikacji, wizualizacji, konstrukcji, dokumentowania projektów związanych z systemami informacyjnymi intensywnie wykorzystującymi oprogramowanie, a także do modelowania biznesowego wszelkich innych systemów Oferuje standaryzowany sposób zapisu projektu, obejmującego zarówno jego konceptualne aspekty, takie jak procesy biznesowe czy funkcje systemu, jak też i elementy fizyczne (np. schematy bazy danych, warstwę sprzętową systemu) Standaryzuje notację graficzną określa sposób zapisu modeli

6 Czym nie jest UML? UML nie jest metodyką UML nie określa metody modelowania, zaleca jedynie stosowanie podejścia przyrostowego UML nie jest narzędziem UML to specyfikacja dla narzędzi UML nie jest językiem programowania generowanie kodu z modelu stosowane jest obecnie na niewielką, choć stale zwiększającą się skalę (przyczyna: dopiero teraz powstają narzędzia CASE lepiej wspomagające ten proces)

7 Perspektywy UML Perspektywa przypadków użycia opisuje funkcjonalność, jaką powinien dostarczać system, widzianą przez jego użytkowników. Perspektywa logiczna zawiera sposób realizacji funkcjonalności, strukturę systemu widziana przez projektanta. Perspektywa implementacyjna opisuje poszczególne moduły i ich interfejsy wraz z zależnościami; perspektywa ta jest przeznaczona dla programisty. Perspektywa procesowa zawiera podział systemu na procesy (czynności) i procesory (jednostki wykonawcze); opisuje właściwości niefunkcjonalne systemu i służy zarówno programistom jak i integratorom. Perspektywa wdrożenia definiuje fizyczny podział elementów systemu i ich rozmieszczenie w infrastrukturze; perspektywa taka służy integratorom i instalatorom systemu.

8 Diagramy UML 2.x diagram klas (class) diagram obiektów (object) diagram struktur złożonych (composite structure) diagram pakietów (package) diagram komponentów (component) diagram wdrożenia (deployment) diagram przypadków użycia (use cases) diagram maszyny stanowej (state machine) diagram czynności (activity) diagram sekwencji (sequence) diagram komunikacji (communication) diagram przeglądu interakcji (interaction overview) diagram uwarunkowań czasowych (timing) diagramy strukturalne diagramy zachowania (behawioralne) diagramy interakcji

9 Projektowanie i programowanie obiektowe Projektowanie obiektoweto strategia, w ramach której projektanci systemu myślą w kategoriach bytów, a nie operacji albo funkcji. Działający system składa się z oddziałujących na siebie obiektów, które przechowują swój lokalny stan i oferują operacje testujące lub zmieniające ten stan. Obiekty ukrywają informację o reprezentacji stanu i w ten sposób ograniczają do niego dostęp. Proces projektowania obiektowego obejmuje zaprojektowanie klas obiektów i związków (relacji) między tymi klasami. W działającym programie, potrzebne obiekty są tworzone na podstawie definicji klas. Programowanie obiektowepolega na realizacji projektu oprogramowania za pomocą obiektowego języka programowania. Języki obiektowe umożliwiają bezpośrednią implementację obiektów i dostarczają udogodnienia do definiowania klas obiektów.

10 Definicje obiekt, klasa, atrybuty, operacje Obiekt(ang. object) jest bytem, który posiada swój stan i zbiór zdefiniowanych operacji działających na tym stanie. Stan jest reprezentowany jako zbiór atrybutów(ang. attributes) obiektu. Operacje(ang. operations) skojarzone z obiektem służą do oferowania usług innym obiektom (klientom), które mogą żądać tych usług, gdy potrzebują wyników ich działania. W obiektowych językach programowania operacje nazywa się metodami. Grupa obiektów może mieć wspólną definicję danych lub usług wykorzystywanych do definicji interfejsu, stanowiąc wcielenie (instancje) wspólnej definicji zwanej klasą obiektów. Pojęcie klasyumożliwia więc wyróżnienie podobnej grupy obiektów według pewnego kryterium (pewnych cech, którymi są atrybuty i operacje). Jeżeli mamy zdefiniowaną klasę, to mówimy, że obiekt należący doniej jest instancją tej klasy (ang. instance). Obiekty są tworzone zgodnie z definicja klasy obiektów. Definicja klasy obiektów służy jako szablon do tworzenia obiektów. Zawiera deklaracje wszystkich atrybutów i operacji, które należy skojarzyć z obiektem tej klasy.

11 Reprezentacja graficzna klasy w UML Nazwa klasy (- + #) nazwa atrybutu : typ danych = wartość domyślna (...) (- + #) nazwa operacji (lista argumentów) : typ wyników (...) Widoczność atrybutu / operacji: -: prywatny (ang. private) +: publiczny (ang. public) #: chroniony (ang. protected) podkreślenie: statyczny (ang. static) Nazwa klasy pisana kursywą klasa abstrakcyjna (ang. abstract class)

12 Przykład klasa Pracownik Pracownik + nazwisko : string + adres : string + dataurodzenia : Date + licznikpracowników : integer + PESEL : string + dział : Dział + przełożony : Pracownik + wynagrodzenie : integer = 0 + stan : {zatrudniony, tatus: zwolniony, {current, emerytowany} left, retired} taxcode: integer + NIP : integer... - numerpracownika : integer + zatrudnij() join () + zwolnij() leave () + przejdźnaemeryturę() retire + dajpodwyzke(kwota) changedetails ( # sprawdzpoprawnoscnumerupesel() Klasa Pracownik w mniejszym stopniu uszczegółowienia: Pracownik Symbol obiektu (instancji) klasy Pracownik: Jan Kowalski : Pracownik

13 Przykład klasa Circle i jej reprezentacja w C++ class Circle { public: void SetCenter(const Point&); void SetRadius(double); double Area() const; double Circumference() const; private: double itsradius; Point itscenter; };

14 Komunikacja pomiędzy obiektami Obiekty porozumiewają się przez żądania usług od innych obiektów (wywołania operacji), i jeśli trzeba, wymianę informacji niezbędnych do realizacji usługi. Kopie informacji potrzebnych do wykonania usługi i wyniki jej wykonania są przekazywane jako parametry. Obiekt odbiorca analizuje składniowo komunikat, rozpoznaje usługę i przekazane dane a następnie realizuje żądaną usługę. Typowe przykłady komunikacji w obiektowych językach programowania: // Wywołaj operację dla obiektu buforcykliczny, która pobiera kolejną // wartość z bufora i zapisuje ją do zmiennej. w = buforcykliczny.pobierz(); // Wywołaj metodę termostatu, ustawiającą temperaturę termostat.ustawtemperaturę(20);

15 Związki między obiektami W modelu zwykle istnieją różne zależności (wiązania( wiązania, ang. links) pomiędzy obiektami należącymi do różnych klas obiektów. o1 : K1 stan o1 o3 : K3 stan o3 o4 : K4 stan o4 o2 : K2 stan o2 o6 : K6 stan o6 o5 : K5 stan o5 Zależności te reprezentuje się przez związek(inaczej relację, ang. association) między klasami.

16 Związki między klasami. Powiązanie Najprostszym, ogólnym związkiem jest powiązanie(ang. binary association; generalassociation). Używa się go do wskazania, że atrybut obiektu jest powiązany z innym obiektem, albo że implementacja metody korzysta z powiązanego obiektu. Powiązanie modelowane jest linią łączącą klasy obiektów, która może mieć dodatkowe adnotacje (opis związku). Istnieją również powiązania n-arne, łączące ze sobą więcej niż 2 klasy. Pracownik Dział jest-członkiem jest-zarządzany-przez zarządza Kierownik

17 Związki między klasami. Uogólnienie Klasy obiektów można ułożyć w hierarchię uogólnienia (ang. generalization), w której widać związek między ogólnymi i bardziej szczegółowymi klasami obiektów. Szczegółowa klasa obiektów jest w pełni zgodna z ogólną klasą obiektów, ale zawiera więcej informacji. W UML uogólnienie obrazuje się za pomocą linii zakończonej strzałką wskazującą klasę macierzystą. W obiektowych językach programowania uogólnienie zwykle implementuje się za pomocą mechanizmu dziedziczenia(ang. inheritance). Klasa potomna dziedziczy atrybuty i operacje po klasie macierzystej. Zalety: Oszczędność czasu, przejrzystość i wygoda: klasy niższe w hierarchii mają te same atrybuty i operacje co ich klasy macierzyste, mogą jednak dodawać nowe atrybuty i operacje lub modyfikować niektóre z tych odziedziczonych. Bezpieczeństwo: zasada uogólniania działa jedynie w jednym kierunku.

18 Hierarchia uogólnienień Pracownik Kierownik zarządzanebudżety dataprzyjęcia Programista przedsięwzięcie językiprogr Kierownik Przedsięwzięcia przedsięwzięcie Kierownik Działu dział Kierownik Strategiczny obowiązki

19 Związki między klasami. Agregacja i kompozycja Agregacja(ang. ang. aggregation): tworzenie nowej klasy, przy użyciu klas już istniejących. Nowa klasa może być zbudowana z dowolnej liczby obiektów (obiekty te mogą być dowolnych typów) i w dowolnej kombinacji, by uzyskać żądany efekt. Jest to relacja typu zawiera np: samochód zawiera koła i silnik gdzie samochód, koło i silnik są klasami. Symbol linia zakończona rombem. Kompozycja(ang. ang. composition): składanie się obiektu z obiektów składowych, które nie mogą istnieć bez obiektu głównego. Kompozycja jest relacją typu posiada. Dana część może należeć tylko do jednej całości. Część nie może istnieć bez całości, a usunięcie całości powoduje automatyczne usunięcie wszystkich części związanych z nią związkiem kompozycji. Symbol linia zakończona zaczernionym rombem.

20 Związki między klasami. Zależność Zależność(ang. ang. dependency) ) między klasami zachodzi, jeżeli zmiany dokonane w stanie jednego z obiektów danej klasy mogą mieć wpływ na obiekt należący do innej klasy.

21 Związki między klasami. Implementacja Klasa może implementować(realizować) zachowanie wyspecyfikowane w innej klasie (ang. implementation). public interface KlasaA{ public void operacja(); } public class KlasaB implements KlasaA{ } public void operacja(){ // implementacja operacji } <<Interface>> symbol tzw. stereotypu, wyjaśniony będzie za chwilę

22 Krotność związku Krotność związku(ang. multiplicity) ) określa, ile obiektów danej klasy jest równocześnie związana z obiektami innej klasy 0..1 Zero lub jeden 1 Tylko jeden n Tylko n (gdzie n > 1) 0..* Zero lub więcej (skrót: *) 1..* Jeden lub więcej 0..n Od zera do n (gdzie n > 1) 1..n Od jednego do n (gdzie n > 1)

23 Atrybuty związku Związek, tak jak i obiekt, też może posiadać atrybuty (jest to tzw. związek kwalifikowany). Użytkownik prawa dostępu Plik

24 Stereotypy Idea stereotypów(ang. stereotypes) ) polega na ustaleniu pewnej meta- klasyfikacji obiektów (i innych bytów) i wprowadzeniu oznaczeń graficznych klas zgodnych z tą meta-klasyfikacją. Przykład: obiekty interfejsu, obiekty sterujące i obiekty rzeczywiste. Oznaczenie: ciągi znaków wewnątrz nawiasów ; np..«interface«interface»

25 Budowa modelu obiektowego (1) Identyfikacja klas obiektów Podejście praktyczne polega na wyselekcjonowaniu rzeczowników z Specyfikacji Wymagań Systemowych i potraktowaniu ich jako identyfikatorów klas obiektów. Innym źródłem identyfikacji obiektów mogą być: specyfikacja przypadków użycia dodatkowe klasy obiektów wynikające z ogólnej wiedzy na temat problemu Identyfikacja związków między klasami Wstępna identyfikacja przez rozpatrzenie ze specyfikacji wymagań fraz zawierających czasowniki

26 Budowa modelu obiektowego (2) Identyfikacja atrybutów i operacji Wstępna identyfikacja atrybutów polega na rozważeniu przymiotników, wyrażeń dzierżawczych odnoszących się do już zidentyfikowanych klas i związków Wstępna identyfikacja operacji m.in. na podstawie modelu przypadków użycia Optymalizacja modelu Identyfikacja związków uogólnienia Grupowanie klas w moduły (pakiety) Weryfikacja, walidacja i uszczegóławianie modelu DIAGRAM KLAS

27 Diagram klas Diagram klas statyczny statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych, przez ilustrację struktury tury klas i zależności między nimi.

28 Diagram klas kolejny przykład

29 Diagram obiektów Diagram obiektówprezentuje możliwą konfigurację obiektów w określonym momencie. Jest pewnego rodzaju instancją diagramu klas, w której zamiast klas przedstawiono ich obiekty. Diagram posługuje się identycznymi symbolami co diagram klas, zamiast symboli klas występują symbole obiektów. Diagramy obiektów przydają się w przypadku szczególnie skomplikowanych zależności, których nie można przedstawić na diagramie klas. Wówczas przykładowe konfiguracje obiektów pomagają w zrozumieniu modelu.

30 Diagram struktur złożonych Diagram struktur złożonychprzedstawia hierarchicznie wewnętrzną strukturę złożonego obiektu z uwzględnieniem punktów interakcji z innymi częściami systemu. Obiekt składa się z części, które reprezentują poszczególne składowe obiektu realizujące poszczególne funkcje obiektu. Komunikacja pomiędzy obiektem, a jego środowiskiem przebiega poprzez port (oznaczany jako mały prostokąt umieszczony na krawędzi obiektu).porty są połączone z częściami obiektu, które są odpowiedzialne za realizacje tych funkcji. Diagramy struktur złożonych mogą zawierać interfejsy wewnętrzne i interfejsy udostępnione, widoczne na zewnątrz obiektu

31 Diagram komponentów Komponentto wymienny, wykonywalny fragment systemu o hermetyzowanych szczegółach implementacyjnych. Komponenty z natury służą do ponownego wykorzystania poprzez połączenie ich z innymi komponentami, zwykle poprzez ich skonfigurowanie, bez potrzeby rekompilacji. Funkcjonalność oferowana przez komponent jest dostępna przez interfejsy, które ten implementuje. Z drugiej strony, komponent może wymagać pewnych interfejsów, które muszą być dostarczone przez inne komponenty. Diagram komponentów przedstawia komponenty, ich interfejsy oraz zależności pomiędzy nimi. komponent interfejs oferowany interfejs wymagany

32 Diagram pakietów Diagram pakietówsłuży do modelowania fizycznego i logicznego podziału systemu. Pakiety są elementem strukturalizującym elementy UML i służą do grupowania ich według dowolnego kryterium. W pakiecie można umieścić praktycznie dowolne elementy: klasy, komponenty, przypadki użycia, pojemniki danych a także inne pakiety.

33 Diagram wdrożenia Diagram wdrożeniaodzwierciedla fizyczną strukturę całego systemu, z uwzględnieniem oprogramowania i sprzętu. Jednostki oprogramowania są reprezentowane przez artefakty (skompilowane wersje komponentu, dane i biblioteki). Stronę sprzętową reprezentują węzły, czyli poszczególne urządzenia obliczeniowe, komunikacyjne i przechowujące, powiązane ścieżkami komunikacyjnymi (np. połączeniem TCP/IP). Diagram ten istotną rolę odgrywa przy wdrażaniu dużych, rozproszonych systemów.

34 Diagram przypadków użycia Modelowanie użytkowników systemu (aktorów) i ich potrzeb w stosunku do tworzonego systemu. Omówiony na poprzednich wykładach

35 Diagram maszyny stanowej Diagram maszyny stanowejreprezentuje zachowanie systemu lub jego elementu (zwykle obiektów danej klasy), a w szczególności zmiany tego zachowania. Podstawowymi elementami diagramu są stany obiektu połączone strzałkami przejść. Obiekt, reagując na nadchodzące zdarzenia, jeżeli j spełnione są określone warunki, zmienia swój stan i położenie na diagramie stanu. Do wersji UML 1.4 nosił nazwę diagramu stanów (state( statediagram)

36 Stan Stan jest etapem cyklu życia obiektu. Obiekt przebywający w danym stanie spełnia określony warunek. Stany są reprezentowane przez prostokąty z zaokrąglonymi narożnikami. Każdy stan ma swoją nazwę. Ze stanem mogą być związane pewne akcje, wykonywane w określonym momencie: entry: : jest akcją wykonywaną w momencie gdy obiekt przyjmuje dany stan; akcja ta jest wykonywana jeden raz i niepodzielnie do: : jest akcją wykonywaną nieprzerwanie w czasie, gdy obiekt przebywa w tym stanie exit: : oznacza (analogicznie do entry) ) moment opuszczenia stanu; podobnie, akcja taka jest wykonywana tylko raz. event: : reprezentuje akcję wykonywaną w momencie nadejścia zdarzenia określonego o typu. Wykonanie każdej z tych akcji może również generować zdarzenie.

37 Przejścia pomiędzy stanami Stany są powiązane ze sobą przejściami. Przejścia definiują warunki, jakie muszą zaistnieć, aby obiekt zmienił swój stan ze źródłowego na docelowy. Formalnie opis przejścia składa się z czterech elementów: wyzwalacza(ang. ang. trigger) zdarzenia, które może spowodować przejście i zmianę stanu dozoru(ang. guard condition) warunku, jaki musi być spełniony, aby przejście zostało wykonane; warunek ten jest ewaluowany w momencie pojawienia się wyzwalacza akcji(ang. action) operacji wykonywanej w momencie przejścia ze stanu do stanu; nawet jeżeli akcja przejścia jest złożona z wielu akcji elementarnych,jest ona wykonywana niepodzielnie zdarzenia(ang. ang. event) wysyłanego w momencie wykonania przejścia.

38 Pseudostany Stany pomocnicze (pseudostany( pseudostany): początkowy,, który reprezentuje obiekt w momencie jego utworzenia. końcowy,, który reprezentuje usunięcie obiektu z systemu. decyzja,, przedstawiająca wybór pomiędzy dwiema wartościami logicznymi pewnego p wyrażenia. złączenie/rozwidlenie powoduje synchronizację stanów (wszystkie dochodzące do niego przejścia muszą być wykonane) historia(literka H w okręgu wewnątrz stanu) zapewnia możliwość zapamiętania poprzedniego stanu obiektu i przywrócenie go.

39 Stany złożone Stany złożone posiadają wewnętrzną maszynę stanów. Wejście do stanu jest jej stanem początkowym, a wyjście końcowym.

40 Pełny diagram maszyny stanowej Diagram dla obiektów klasy Książka Dla przejrzystości nie uwzględnia akcji wewnątrz stanów

41 Diagram czynności Diagram czynnościprezentuje przepływ sterowania w systemie związany z wykonaniem pewnej funkcji. Przepływ łączy czynności wykonywane przez poszczególne obiekty i stany obiektów, w których znajdują się po wykonaniu czynności. W odróżnieniu od diagramu maszyny stanowej, diagram czynności może obejmować wiele obiektów na raz, zwykle umieszczanych w odpowiednich torach.

42 Diagram sekwencji Diagram sekwencjiprezentuje kolejność wywołań operacji, przepływ sterowania pomiędzy obiektami oraz szablon realizowanego algorytmu. Składa się z pionowych linii życia (ang.( lifelines) ) poszczególnych obiektów uczestniczących w interakcji oraz wymienianych między nimi n komunikatów (wywołań operacji). Czas jest reprezentowany w postaci pionowej osi diagramu. Białe prostokąty umieszczone na linii życia obiektu oznaczają, że obiekt jest zajęty wykonywaniem pewnej czynności. Fizycznie usunięcie obiektu można wprost oznaczyć jako znak X na linii życia

43 Diagram sekwencji kolejny przykład

44 Blok Często zachodzi konieczność wskazania specjalnej własności pewnej j części interakcji, np.. pętli. Taką grupę operacji obejmuje się prostokątem, w któregolewym górnym narożniku, w pięciokącie umieszcza się słowo kluczowe lub opis określający o znaczenie danego bloku (tzw. operator interakcji), np.: alt(od alternative) określający warunek wykonania bloku operacji, odpowiadający instrukcji if-else else; ; warunek umieszcza się wówczas wewnątrz bloku w nawiasach kwadratowych opt(od optional) reprezentujący instrukcję if(bez else) par(od parallel) nakazujący wykonać operacje równolegle critical oznaczający obszar krytyczny loop definiujący pętlę typu for (o określonej z góry liczbie iteracji) lub while(wykonywanej dopóki pewien warunek jest prawdziwy)

45 Diagram komunikacji Diagram komunikacjiskupia się na obiektach wchodzących w skład interakcji i wymienianymi przez nie komunikatach, natomiast w mniejszym stopniu niż diagram sekwencji wskazuje na aspekt czasowy. Komunikacje są przedstawiane za pomocą linii łączących obiekty, natomiast przesyłane między obiektami komunikaty i dane są umieszczane obok tych linii. Każdy komunikat jest opatrzony etykietą liczbową, wskazującą na kolejność wysłania. Etykieta ma postać liczb oddzielonych kropkami.

46 Diagram przeglądu interakcji Diagram przeglądu interakcjisłuży do przedstawiania ogólnego przepływu sterowania w interakcjach pomiędzy obiektami, korzystając z uproszczonej notacji diagramu czynności. Na jednym diagramie pokazany jest przepływ sterowania pomiędzy interakcjami pokazanymi w postaci innych diagramów, np.. sekwencji. Diagram ten może korzystać z większości elementów obecnych na diagramach czynności: punktu decyzyjnego, pętli, rozwidlenia i synchronizacji, itp.

47 Diagram uwarunkowań czasowych Diagram uwarunkowań czasowychprzeznaczony jest do prezentowania zależności związanych z czasem wykonywania operacji przez obiekt lub grupę obiektów. Linia czasu jest reprezentowana przez poziomą oś diagramu, natomiast oś pionowa przedstawia kolejne obiekty uczestniczące w interakcji i oraz ich zmieniające się stany wewnętrzne. Odległości pomiędzy momentami zmian stanów wyznaczają uwarunkowania czasowe. Diagram ten odgrywa duże znaczenie w modelowaniu systemów czasu rzeczywistego.

48 Budowa modelu behawioralnego (1) Identyfikacja scenariuszy Należy utworzyć zbiór scenariuszy, które opisują typowe interakcje systemu ze światem zewnętrznym. Punktem wyjścia jest tu specyfikacja przypadków użycia systemu, o ile została ona sprecyzowana w Specyfikacji Wymagań Systemowych. Jeśli nie została, należy je jawnie zidentyfikować i rozpatrzyć różne przypadki użycia systemu. Identyfikacja zdarzeń Dla danego scenariusza powstaje odpowiadający mu ślad zdarzeń przedstawiający drogi przepływu zdarzeń pomiędzy obiektami systemu. Budowa diagramów interakcji Dla każdego scenariusza budowane są diagramy sekwencji oraz (rzadziej) diagramy komunikacji, przeglądu interakcji oraz przebiegów czasowych.

49 Budowa modelu behawioralnego (2) Budowa diagramów maszyny stanowej Dla każdej klasy modelu obiektowegotworzony tworzony jest diagram opisujący jej zachowanie. Jeśli zachowanie obiektu klasy jest trywialne można pominąć jawną specyfikację diagramu. Identyfikacja wejść i wyjść Budowa diagramu czynności Definiowanie podstawowych (nie podlegających dalszej dekompozycji) transformacji danych opisywanych jako zależności funkcyjne między danymi wejściowymi i wyjściowymi. Tworzenie diagramu czynności, który uwidacznia obliczenia mające na celu wywiedzenie danych wyjściowych na podstawie odpowiednich wejść. Identyfikacja ograniczeń Identyfikacja zależności, których nie da się wyrazić w terminach relacji wejście wyjście wyjście i naniesienie ich na diagramy.

50 Rozszerzanie UML Mechanizm rozszerzania języka UML obejmuje trzy elementy: stereotypy(ang. stereotypes), zmieniające lub doprecyzowujące semantykę elementów modelu. Zapisywane są w danym elemencie w postaci <<nazwa stereotypu>> metki(ang. tagged values), dołączające do elementu dodatkowe właściwości w postaci par {klucz = wartość}.. Metki są dołączane do elementów w postaci notatek profile(ang. profiles), zawierające predefiniowane zestawy stereotypów i metek dla danej dziedziny zastosowań

51 Język OCL Język OCL(ang. Object Constraint Language) język formalnego wyrażania ograniczeń w UML wyraża dowolną regułę logiczną: warunki wstępne, końcowe, niezmienniki, wyniki metod etc. w postaci warunku zapisanego w nawiasach klamrowych nie może modyfikować modelu, jedynie go sprawdzać można go związać z dowolnym elementem modelu (klasą, operacją, atrybutem, asocjacją itp.) contextklient inv: self.nazwisko<> '' and self.wiek >= 18 self.uprawniony() context Konto::punkty: Integer init: if klient.wiek> > 60 then100 else0 endif

52 Uwagi końcowe Metodologia obiektowa także nie jest idealna Wiele celów łatwiej jest czasem osiągnąć stosując tradycyjne metody projektowania i programowania. Jednak ze względu na konieczność zapewnienia bezpiecznejpracy pracy przy tworzeniu dużych systemów informatycznych przez duże zespoły projektantów właśnie ta metodologia będzie zapewne dominująca w przyszłości. Krytycyzm UML: przeładowanie nie zawsze precyzyjny trudności w nauce (wynik powyższych dwóch wad) język do wszystkiego narzędzia CASE często implementują UML po swojemu brak narzędzi walidujących

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo

Rysunek 1: Przykłady graficznej prezentacji klas.

Rysunek 1: Przykłady graficznej prezentacji klas. 4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez

Bardziej szczegółowo

Michał Adamczyk. Język UML

Michał Adamczyk. Język UML Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE. Wykład 3

TECHNOLOGIE OBIEKTOWE. Wykład 3 TECHNOLOGIE OBIEKTOWE Wykład 3 2 Diagramy stanów 3 Diagram stanu opisuje zmiany stanu obiektu, podsystemu lub systemu pod wpływem działania operacji. Jest on szczególnie przydatny, gdy zachowanie obiektu

Bardziej szczegółowo

Podstawy języka UML2 w realnych projektach

Podstawy języka UML2 w realnych projektach Kod szkolenia: Tytuł szkolenia: UML2/RP Podstawy języka UML2 w realnych projektach Dni: 3 Opis: Adresaci Szkolenia: Szkolenie adresowane jest do osób, które chciałby poznać podstawy UML2. Przede wszystkim

Bardziej szczegółowo

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2 Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 5 Diagram sekwencji - wprowadzenie I Diagram sekwencji (ang. sequence

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. 45. UML, jego struktura i przeznaczenie. Przeznaczenie UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. Pozwala obrazować, specyfikować, tworzyć

Bardziej szczegółowo

Spis treúci. 1. Wprowadzenie... 13

Spis treúci. 1. Wprowadzenie... 13 Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 7 Przeglądowe diagramy interakcji Przeglądowe diagramy interakcji wiążą

Bardziej szczegółowo

Podstawy projektowania systemów komputerowych

Podstawy projektowania systemów komputerowych Podstawy projektowania systemów komputerowych Diagramy klas UML 1 Widok logiczny Widok logiczny Widok fizyczny Widok przypadków użycia Widok procesu Widok konstrukcji Używany do modelowania części systemu

Bardziej szczegółowo

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego PROJEKTOWANIE BAZ DANYCH PRZESTRZENNYCH Zgodne z ogólną metodologią projektowania baz danych Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego Proces budowy bazy danych wymaga

Bardziej szczegółowo

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji Diagramy związków encji (ERD) 1 Projektowanie bazy danych za pomocą narzędzi CASE Materiał pochodzi ze strony : http://jjakiela.prz.edu.pl/labs.htm Diagramu Związków Encji - CELE Zrozumienie struktury

Bardziej szczegółowo

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Laboratorium 6 DIAGRAM KLAS (Class Diagram) Laboratorium 6 DIAGRAM KLAS (Class Diagram) Opisuje strukturę programu (a także zależności między nimi), co znajduje odzwierciedlenie w kodzie. Charakteryzuje zależności pomiędzy składnikami systemu: klasami,

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem

Bardziej szczegółowo

Modelowanie obiektowe

Modelowanie obiektowe Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

Bardziej szczegółowo

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

koniec punkt zatrzymania przepływów sterowania na diagramie czynności Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy

Bardziej szczegółowo

UML cz. II. UML cz. II 1/38

UML cz. II. UML cz. II 1/38 UML cz. II UML cz. II 1/38 UML cz. II 2/38 Klasy Najważniejsze informacje o klasie: różnica pomiędzy klasą a jej instancją (obiektem) na podstawie klasy tworzone są obiekty (instancje klasy) stan obiektu

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 10 Diagramy wdrożenia I Diagramy wdrożenia - stosowane do modelowania

Bardziej szczegółowo

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji Inżynieria oprogramowania Jarosław Kuchta Modelowanie interakcji Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA. laboratorium

INŻYNIERIA OPROGRAMOWANIA. laboratorium INŻYNIERIA OPROGRAMOWANIA laboratorium UML 1/4 UML (Unified Modeling Language) - język modelowania obiektowego systemów i procesów [Wikipedia] Spojrzenie na system z różnych perspektyw dzięki zastosowaniu

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Diagramy klas. WYKŁAD Piotr Ciskowski

Diagramy klas. WYKŁAD Piotr Ciskowski Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz

Bardziej szczegółowo

MODELOWANIE OBIEKTOWE

MODELOWANIE OBIEKTOWE (Wykład na podstawie literatury: M.Śmiałek Zrozumieć UML 2.0, Helion 2005) UML Unified Modeling Language (język do specyfikowania, wizualizowania, konstruowania i dokumentacji tzw. artefactów oraz czynności

Bardziej szczegółowo

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania

Bardziej szczegółowo

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Wprowadzenie do UML Igor Gocaliński Odrobina historii Połowa lat 70-tych i koniec 80-tych to początek analizy obiektowej Wiele opracowanych metod w połowie lat 90-tych Metoda

Bardziej szczegółowo

Wprowadzenie do UML, przykład użycia kolizja

Wprowadzenie do UML, przykład użycia kolizja Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 4 Diagramy aktywności I Diagram aktywności (czynności) (ang. activity

Bardziej szczegółowo

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania.

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

UML - zarys 2007/2008

UML - zarys 2007/2008 UML - zarys 2007/2008 Modelowanie Jest ważne przy tworzeniu wysokiej jakości oprogramowania Jest przydatne przy tworzeniu i analizie działania organizacji Modelujemy aby: Zrozumieć system Określić pożądaną

Bardziej szczegółowo

Diagramy UML, przykład problemu kolizji

Diagramy UML, przykład problemu kolizji Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego. Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze

Bardziej szczegółowo

STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA

STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA Tomasz SOBESTIAŃCZYK ZESZYTY NAUKOWE WYDZIAŁU NAUK EKONOMICZNYCH STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA Zarys treści: W pracy podjęto próbę przedstawienie UML 2.3 jako metody w zarządzaniu

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Podstawy języka UML2 w realnych projektach

Podstawy języka UML2 w realnych projektach Kod szkolenia: Tytuł szkolenia: UML2/RP Podstawy języka UML2 w realnych projektach Dni: 3 W cenie szkolenia uczestnik otrzymuje licencję na oprogramowanie Enterprise Architect, najlepsze narzędzie do modelowania

Bardziej szczegółowo

Podstawy inżynierii oprogramowania

Podstawy inżynierii oprogramowania Podstawy inżynierii oprogramowania Modelowanie. Podstawy notacji UML Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Czym jest UML? Wybrane

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek TECHNOLOGIE OBIEKTOWE WYKŁAD 2 Anna Mroczek 2 Diagram czynności Czym jest diagram czynności? 3 Diagram czynności (tak jak to definiuje język UML), stanowi graficzną reprezentację przepływu kontroli. 4

Bardziej szczegółowo

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego PROJEKTOWANIE BAZ DANYCH PRZESTRZENNYCH Zgodne z ogólną metodologią projektowania baz danych Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego Proces budowy bazy danych wymaga

Bardziej szczegółowo

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

UML cz. III. UML cz. III 1/36

UML cz. III. UML cz. III 1/36 UML cz. III UML cz. III 1/36 UML cz. III 2/36 Diagram współpracy Diagramy współpracy: prezentują obiekty współdziałające ze sobą opisują rolę obiektów w scenariuszu mogą prezentować wzorce projektowe UML

Bardziej szczegółowo

WPROWADZENIE DO UML-a

WPROWADZENIE DO UML-a WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,

Bardziej szczegółowo

Modelowanie obiektowe - Ćw. 3.

Modelowanie obiektowe - Ćw. 3. 1 Modelowanie obiektowe - Ćw. 3. Treść zajęć: Diagramy przypadków użycia. Zasady tworzenia diagramów przypadków użycia w programie Enterprise Architect. Poznane dotychczas diagramy (czyli diagramy klas)

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

UML. zastosowanie i projektowanie w języku UML

UML. zastosowanie i projektowanie w języku UML UML zastosowanie i projektowanie w języku UML Plan Czym jest UML Diagramy przypadków użycia Diagramy sekwencji Diagramy klas Diagramy stanów Przykładowe programy Visual Studio a UML Czym jest UML UML jest

Bardziej szczegółowo

Podstawy języka UML UML

Podstawy języka UML UML Podstawy języka UML UML Plan prezentacji Wprowadzenie do modelowania Wprowadzenie do języka UML Diagram klas Diagram pakietów Diagram przypadków użycia Diagram czynności Terminologia Terminologia Aplikacja

Bardziej szczegółowo

UML. dr inż. Marcin Pietroo

UML. dr inż. Marcin Pietroo dr inż. Marcin Pietroo Pojęcia obiektowości obiekt klasa komunikat hermetyzacja polimorfizm dziedziczenie graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

problem w określonym kontekście siły istotę jego rozwiązania

problem w określonym kontekście siły istotę jego rozwiązania Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego

Bardziej szczegółowo

Świat rzeczywisty i jego model

Świat rzeczywisty i jego model 2 Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Dom Samochód Osoba Modelowanie 3 Byty i obiekty Byt - element świata rzeczywistego (dziedziny problemu),

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1 Charakterystyka oprogramowania obiektowego 1. Definicja systemu informatycznego 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wymagania 4. Problemy z podejściem nieobiektowym

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 3 Diagramy przypadków użycia Diagramy przypadków użycia (ang. use case)

Bardziej szczegółowo

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA Przygotował: mgr inż. Radosław Adamus Wprowadzenie Podstawą każdego projektu, którego celem jest budowa oprogramowania są wymagania, czyli warunki,

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Diagramy sekwencji. wymienianych między nimi

Diagramy sekwencji. wymienianych między nimi Diagramy sekwencji Graficzne przedstawienie interakcji pomiędzy instancjami klasyfikatorów systemu w postaci sekwencji komunikatów wymienianych między nimi Przykład diagramu sekwencji Układ diagramu wymiar

Bardziej szczegółowo

Wprowadzenie do systemów informacyjnych

Wprowadzenie do systemów informacyjnych Uwagi ogólne: Wprowadzenie do systemów informacyjnych Projektowanie obiektowe Obiektowość jest nową ideologią, która zmienia myślenie realizatorów SI z zorientowanego na maszynę na zorientowane na człowieka.

Bardziej szczegółowo

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 11 Diagramy struktur złożonych Klasyfikator - definiuje cechy strukturalne

Bardziej szczegółowo

Diagramy czynności. Widok logiczny. Widok fizyczny

Diagramy czynności. Widok logiczny. Widok fizyczny Diagramy czynności System widoków 4+1 Kruchtena Widok logiczny Widok fizyczny Widok procesu Widok przypadków użycia Widok konstrukcji Diagramy czynności są jedynym diagramem w widoku procesu modelowanego

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej Analiza i projektowanie obiektowe 2017/2018 Wykład 3: Model wiedzy dziedzinowej Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Model wiedzy dziedzinowej

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

Dr Katarzyna Grzesiak-Koped

Dr Katarzyna Grzesiak-Koped Dr Katarzyna Grzesiak-Koped 2 Tworzenie oprogramowania Najlepsze praktyki IO Inżynieria wymagao Technologia obiektowa i język UML Techniki IO Metodyki zwinne Refaktoryzacja Mierzenie oprogramowania Jakośd

Bardziej szczegółowo

Inżynieria oprogramowania. Część 5: UML Diagramy klas

Inżynieria oprogramowania. Część 5: UML Diagramy klas UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel v1.01 2010 Inżynieria oprogramowania Część 5: UML Diagramy klas ZAGADNIENIA DO ZREALIZOWANIA (3H) 1. Diagram klas... 3 Zadanie

Bardziej szczegółowo

Projektowanie systemów informatycznych. wykład 6

Projektowanie systemów informatycznych. wykład 6 Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany

Bardziej szczegółowo

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa

Bardziej szczegółowo

Identyfikacja i modelowanie struktur i procesów biologicznych

Identyfikacja i modelowanie struktur i procesów biologicznych Identyfikacja i modelowanie struktur i procesów biologicznych Laboratorium 2: Wprowadzenie do UML-a. mgr inż. Urszula Smyczyńska AGH Akademia Górniczo-Hutnicza 1. Cel zajęć Celem zajęć jest zapoznanie

Bardziej szczegółowo

Projektowanie interakcji. Jarosław Kuchta

Projektowanie interakcji. Jarosław Kuchta Projektowanie interakcji Jarosław Kuchta Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście

Bardziej szczegółowo

UML cz. I. UML cz. I 1/1

UML cz. I. UML cz. I 1/1 UML cz. I UML cz. I 1/1 UML cz. I 2/1 UML - Unified Modeling Language ujednolicony można go współdzielić z wieloma pracownikami modelowania służy do opisu projektowanego modelu język posiada opisaną strukturę

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Identyfikacja i modelowanie struktur i procesów biologicznych

Identyfikacja i modelowanie struktur i procesów biologicznych Identyfikacja i modelowanie struktur i procesów biologicznych Laboratorium 2: Wprowadzenie do UML-a. mgr inż. Urszula Smyczyńska AGH Akademia Górniczo-Hutnicza 1. Cel zajęć Celem zajęć jest zapoznanie

Bardziej szczegółowo

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas

Bardziej szczegółowo

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji Diagramu Przepływu danych - CELE Określenie kluczowych obiektów zewnętrznych będących w interakcji z firmą (systemem); Określenie kluczowych procesów występujących w firmie; Określenie sposobu przepływu

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Podstawy modelowania programów Kod przedmiotu

Podstawy modelowania programów Kod przedmiotu Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki

Bardziej szczegółowo

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig Modelowanie Obiektowe Wykład 1: Wprowadzenie do Modelowania i języka UML Anna Kulig Wprowadzenie do modelowania Zasady Pojęcia Wprowadzenie do języka UML Plan wykładu Model jest uproszczeniem rzeczywistości.

Bardziej szczegółowo

Modelowanie i analiza systemów informatycznych

Modelowanie i analiza systemów informatycznych Katolicki Uniwersytet Lubelski Jana Pawła II Wydział Matematyki, Informatyki i Architektury Krajobrazu Modelowanie i analiza systemów informatycznych ćwiczenia informacja wstępna dr Viktor Melnyk, prof.

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz Zofia Kruczkiewicz Wyklad_INP002017_4 1 Diagramy czynności I. Diagramy czynności UML II. Przykład diagramów

Bardziej szczegółowo

MODELOWANIE STRUKTURY

MODELOWANIE STRUKTURY MODELOWNIE STRUKTURY (Wykład na podstawie literatury: M.Śmiałek Zrozumieć UML 2.0, Helion 2005) Prezentacja struktury na dwóch poziomach: klas i obiektów (Na diagramach opisujących strukturę fragmentu

Bardziej szczegółowo

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski Diagramy przypadków użycia WYKŁAD Piotr Ciskowski Diagram przypadków użycia definiowanie wymagań systemowych graficzne przedstawienie przypadków użycia, aktorów, związków między nimi występujących w danej

Bardziej szczegółowo

Podstawy języka UML UML

Podstawy języka UML UML Podstawy języka UML UML Plan szkolenia Plan szkolenia Godzina (czas) 10:20 11:20 (60 min) 11:20 11:40 (20 min) 11:40 13:10 (90 min) 13:10 13:30 (20 min) 13:30 15:00 (90 min) Temat Wprowadzenie do UML (Definicja,

Bardziej szczegółowo