ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

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

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

Podstawy programowania III WYKŁAD 4

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

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

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

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

Podstawy modelowania programów Kod przedmiotu

Modelowanie i Programowanie Obiektowe

Podstawy inżynierii oprogramowania

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

Faza analizy (modelowania) Faza projektowania

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Diagramy klas. WYKŁAD Piotr Ciskowski

Technologie obiektowe

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

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

UML w Visual Studio. Michał Ciećwierz

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY:

PRZEWODNIK PO PRZEDMIOCIE

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Informatyczne fundamenty

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Opis. Liczba godzin zajęć dydaktycznych z

Modelowanie obiektowe - Ćw. 3.

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Wykład 1 Inżynieria Oprogramowania

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

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

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

KARTA MODUŁU KSZTAŁCENIA

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Unified Modeling Language

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Egzamin / zaliczenie na ocenę*

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

Podstawy Programowania Obiektowego

Rysunek 1: Przykłady graficznej prezentacji klas.

Modelowanie i analiza systemów informatycznych

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

Programowanie obiektowe - 1.

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

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

Język programowania. Andrzej Bobyk

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

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

Inżynieria oprogramowania

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Diagramy klas. dr Jarosław Skaruz

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

Grupa treści kształcenia, w ramach której przedmiot jest realizowany Przedmiot kierunkowy

Charakterystyka oprogramowania obiektowego

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Inżynieria oprogramowania. Jan Magott

Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Inzynieria Oprogramowania 2... nazwa przedmiotu SYLABUS A. Informacje ogólne. Wydział Ekonomiczno-Informatyczny w Wilnie

Podstawy projektowania systemów komputerowych

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Wprowadzenie do systemów informacyjnych

Modelowanie i analiza systemów informatycznych

Programowanie obiektowe Object-Oriented Programming. Automatyka i Robotyka II stopień ogólnoakademicki

Programowanie Obiektowe i C++

UML. dr inż. Marcin Pietroo

PRZEWODNIK PO PRZEDMIOCIE

Style programowania - krótki przeglad

WPROWADZENIE DO UML-a

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

Zaawansowane programowanie w C++ (PCP)

Procesowa specyfikacja systemów IT

Podstawy języka UML UML

Języki Programowania Obiektowego

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

Identyfikacja i modelowanie struktur i procesów biologicznych

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

MODELOWANIE OBIEKTOWE

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

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

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Zasady organizacji projektów informatycznych

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

hierarchie klas i wielodziedziczenie

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Michał Adamczyk. Język UML

Metodyki i techniki programowania

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

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

Programowanie obiektowe

Metodyki i techniki programowania

Transkrypt:

INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim

MODELOWANIE SYSTEMÓW UML

Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens UML. Inżynieria oprogramowania, Helion 2007 Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski UML 2.0 w modelowaniu systemów informatycznych, Helion, 2005

UML UML Unified Modeling Language Zunifikowany język modelowania Pozwala na graficzne przedstawienie systemów zorientowanych obiektowo Język wymiany informacji między programistami, analitykami i klientami Połączenie formalizmu i przejrzystości (diagramy)

UML c.d. Obejmuje szereg diagramów przedstawiających różne apekty modelowanego systemu np. Diagram przypadków użycia Diagram klas / diagram obiektów Diagram stanów Diagram czynności Diagram przebiegu Diagram kooperacji Diagram komponentów

Modelowanie obiektowe Podejście obiektowe jest aktualnym standardem tworzenia złozonych systemów komputerowych Obiektowość to sposób myślenia oparty na kilku podstawowych zasadach Poprzedni paradygmat programowania podejście strukturalne dopasowanie sposobu widzenia rzeczywistości do komputerów Modelowanie obiektowe dopasowanie komputerów do ludzkiego postrzegania rzeczywistości

Klasy i obiekty Wszystko, co nas otacza: przedmioty, zwierzęta, ludzie postrzegane mogą być jako obiekty. Obiekty należą do określonych kategorii klas Obiekt jest egzemplarzem klasy. Relacja obiekt klasa: Kot rodzaj ssaka o pewnych, dokładnie określonych cechach charakterystycznych (klasa) Kot burek siedzący na dachu przedstawiciel gatunku kotów (obiekt)

Struktura obiektu Każdy obiekt ma określone elementy składowe. Atrybuty (właściwości) Operacje (czynności, zachowania) Kot ma określony kolor, wagę, wzrost, długość ogona (atrybuty). Kot potrafi biagać mruczeć, miałczeć, łasić się, drapać itd. (operacje) Klasa jest szablonem (formą) obiektu definiuje jakie atrybuty i operacje będą miały obiekty.

Abstrakcja Modelowanie ma na celu stworzenie pewnego uproszczonego modelu rzeczywistości Model będący kopią rzeczywistości jest niepraktyczny zawiera zbyt dużo informacji Abstrakcja odfiltrowanie niepotrzebnych informacji, pozostawienie tylko istotnych dla danego problemu Decyzja które informacje pominąć należy do analityka

Dziedziczenie Klasy tworzą określone hierarchie klasy pochodne dziedziczą składowe po klasach bazowych Hierarchie dziedziczenia mogą być wielopoziomowe Kot jest ssakiem, który jest zwierzęciem, które jest istotą żywą. Definiując klasę pochodną nie musimy tworzyć jej od zera jeżeli możemy powołać się na klasy bazowe

Polimorfizm Niektóre operacje mogą mieć takie same nazwy ale inny sens dla różnych obiektów (np. otwarcie ksiązki, słoika, rachunku w banku) Polimorfizm to koncepcja w której każda klasa wie jak daną operację wykonać: Otwieram drzwi - klasa wykona właściwe działanie Otwieram konto - klasa wykona właściwe działanie

Przykład hierarchii klas Figura kolor k policz pole=? Bok a policz pole = a*a Boki a,b policz pole = a*b Promień r policz pole = 2*PI*r

Hermetyzacja (kapsułkowanie) Modelowane obiekty często mają niezwykle skomplikowaną strukturę wewnętrzną Często zaniedbujemy tą strukturę koncentrując się na operacjach (czyli co obiekt robi a nie jak to robi) jest to tzw. hermetyzacja Jak działa telewizor? To nie jest ważne dopóki mam w ręku pilota i wiem jak nim sterować Częśc jawna obiektu to interfejs, część ukryta - implementacja

Współpraca obiektów Obiekty nie są od siebie odizolowane. Współpracują wysyłając różnorodne komunikaty Przykład: obiekt pilot wysyła komunikat do obiektu telewizor powodując, że zmienia się jego stan (zmiana programu). Interfejs obiektu (klasy) można zdefiniować jako zbiór komunikatów jakie może on wymienić z otoczeniem.

Powiązania Obiekty często są ze sobą związane, np. pilot i telewizor, kierowca i samochód, pracownik i szef. Są to powiązania Powiązania możemy klasyfikować ze względu na różnorodne cechy Kierunek powiązania Charakter powiązania (np. agregacja) Liczebność powiązania

UML i klasy Kot Klasa bez określonej struktury kolor waga Kot mruczy() miałczy() Klasa z określoną strukturą: Atrybuty Operacje

UML i powiązania klas diagram klas

Analiza Przypadków Użycia Opisując dany system często pytamy jakie funkcje on realizuje i kto z niego może korzystać Pytania te są szczególnie ważne w fazie zbierania wymagań projektów IT Modelowanie tego aspektu systemu to analiza przypadków użycia Przypadek użycia to określenie co z systemem można zrobić, korzystający z systemu to aktor

Diagram przypadków użycia

Stany obiektu Obiekty posiadają atrybuty które mogą posiadać różne wartości obiekty są w różnych stanach Telewizor może odbierać na różnych kanałach Kot może mieć różne kolory W różnych sytuacjach stan obiektu może ulec zmianie następuje przejście między stanami Zmiana kanału telewizora Malowanie kota :-(

Diagram stanów

Komunikacja obiektów Obiekty komunikują się ze sobą wysyłając różne sygnały. Jeżeli interesuje nas jakie obiekty wysyłają jakie sygnały w trakcie gdy system wykonuje jakąś czynność, możemy wykorzystać diagram przebiegu (sekwencji)

Diagram przebiegu

Czynności W trakcie realizacji jakiegoś zadania system wykonuje określone czynności W trakcie wykonywania serii czynności system może wybierać różne ścieżki wykonania zależnie od określonych warunków punkty decyzyjne. Do przedstawienia czynności i kolejności ich wykonania służy diagram czynności

Diagram czynności

Język UML Przedstawione diagramy stanowią tylko część specyfikacji UML-a UML jest językiem bardzo elastycznym pozwala opisać dowolny system UML jest rozszerzalny można wprowadzać dodatkowe elementy uściślające model systemu

UML w biznesie Język UML został wymyślony przez programistów dla programistów (projektantów) Jest to jednak język ogólnego przeznaczenia można nim opisać np. model działania przedsiębiorstwa. Stworzony model może być obiektem analizy w celu otymalizacji jego działalności

Business Process Reengineering Działanie mające na celu zwiększenie wydajności i efektywności pracy przedsiębiorstwa Metodologia BPR Stworzenie modelu przedsiębiorstwa Analiza modelu w celu znalezioenia możliwości zmian Wprowadzenie i weryfikacja zmian w modelu Implementacja zmian w rzeczywistym systemie

Przykład projektu programistycznego realizowanego z wykorzystaniem języka modelowania UML