Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej
|
|
- Jarosław Olejnik
- 6 lat temu
- Przeglądów:
Transkrypt
1 Analiza i projektowanie obiektowe 2017/2018 Wykład 3: Model wiedzy dziedzinowej Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1
2 Plan wykładu 1. Model wiedzy dziedzinowej 2. Tworzenie modelu wiedzy dziedzinowej 2
3 Model wiedzy dziedzinowej 3
4 Wprowadzenie do modelu wiedzy dziedzinowej Model wiedzy dziedzinowej (ang. domain model) ma za zadanie wizualizację pojęć (klas konceptualnych) występujących w rozpatrywanej dziedzinie (kontekst tworzonego systemu). Najważniejszy model tworzony podczas analizy obiektowej! Praca na tym etapie polega na identyfikacji klas konceptualnych. Poprawne zbudowanie tego modelu gwarantuje sukces podczas fazy projektowania i implementacji. Model wiedzy dziedzinowej to wizualna reprezentacja klas konceptualnych lub prawdziwych obiektów występujących w świecie rzeczywistym, który modelujemy. Nie jest to reprezentacja bytów programistycznych tzn. klas i obiektów zapisanych w języku programowania. 4
5 Model wiedzy dziedzinowej: przykład W UML, model wiedzy dziedzinowej jest zapisywany przy pomocy diagramu klas, który opisuje: Rzeczywiste obiekty z danej dziedziny lub klasy konceptualne, Asocjacje pomiędzy klasami konceptualnymi, Atrybuty klas konceptualnych. Klasa konceptualna Asocjacja Linia Sprzedanych produktów Zawarty w ilość 1..* 1 Informuje o sprzedaży Produkt * 1 Sklep Składowany w Atrybuty Zapłacone przy pomocy Sprzedaż data czas 1 1 Płatność kwota 1 Zachowana w 1 adres nazwa 1 1..* Kasa Posiada 5
6 Model wiedzy dziedzinowej: wizualny słownik pojęć abstrakcyjnych Model wiedzy dziedzinowej wizualizuje i łączy klasy konceptualne występujące w danej dziedzinie. Odnosi się do pewnych abstrakcji klas konceptualnych, ponieważ dane pojęcie może reprezentować różne pojęcia w zależności od rozpatrywanego kontekstu. W sposób alternatywny pojęcia zapisane przy pomocy notacji UML mogłyby być zapisywane przy pomocy tekstu w języku naturalnym, bądź słownika. Język wizualny ułatwia jednak zrozumienie opisywanych pojęć oraz jest doskonałym sposobem przekazywania wiedzy o tworzonym systemie pomiędzy członkami zespołu informatycznego. Model wiedzy dziedzinowej może być więc traktowany jako wizualny słownik istotnych elementów rozpatrywanej dziedziny. 6
7 Model wiedzy dziedzinowej, a model bytów programistycznych Model wiedzy dziedzinowej wizualizuje rzeczy ze świata rzeczywistego, a nie klasy zapisane w językach programowania takich jak C++, bądź Java. W modelach tego typu należy unikać: Bytów programistycznych takich jak Okno, bądź BazaDanych, Odpowiedzialności obiektów i ich metod. 7
8 Tworzenie modelu wiedzy dziedzinowej 8
9 Klasy konceptualne Klasa konceptualna to idea, rzecz lub obiekt. Klasy mogą być rozpatrywane w trzech aspektach: Symbol słowo lub element graficzny reprezentujący klasę konceptualną, Intensja definicja klasy konceptualnej, Ekstensja zbiór przykładów do których dana klasa konceptualna się stosuje. Symbol Sprzedaż data czas Intensja Sprzedaż reprezentuje zdarzenie dokonania transakcji nabycia towaru przez klienta. Posiada swoją datę i czas. sprzedaż-1 Ekstensja sprzedaż-3 sprzedaż-2 sprzedaż-4 9
10 Identyfikacja klas konceptualnych W procesie iteracyjnym model wiedzy dziedzinowej nie jest budowany w jednym kroku, ale etapami odpowiadającymi zakresowi prac z poszczególnych iteracji. Identyfikacja jest realizowana na bazie wyników fazy wymagań (np. na bazie przypadków użycia). Przyjmuje się, że przy identyfikacji klas konceptualnych wskazane jest ponadspecyfikowanie modelu wiedzy dziedzinowej poprzez wprowadzenie wielu (czasami zbyt wielu) bardzo szczegółowych klas konceptualnych, niż niedospecyfikowanie modelu. Częste jest pomijanie (ze względu na ich nie znalezienie) w tej fazie wielu klas konceptualnych, do ich znalezienia służą kolejne fazy służące do wprowadzenia atrybutów i asocjacji. Nie jest zalecane wykluczanie klas konceptualnych z modelu tylko dlatego, że nie pojawiają się one w wymaganiach, bądź nie posiadają atrybutów. 10
11 Identyfikacja klas konceptualnych: technika użycia listy kategorii (1) Obiekty fizyczne Specyfikacje, projekty lub opisy rzeczy Miejsca Transakcje Pozycje transakcji Kasa Samolot SpecyfikacjaProduktu OpisLotu Sklep Lotnisko Sprzedaż Rezerwacja ElementPozycjiSprzedaży Role ludzi Kontenery innych rzeczy Rzeczy w kontenerze Systemy informatyczne i elektrycznomechaniczne poza danym systemem Kasjer Pilot Sklep Kosz Samolot Towar Pasażer SystemAutoryzacjiPłatności SystemKontroliRuchuLotniczego 11
12 Identyfikacja klas konceptualnych: technika użycia listy kategorii (2) Koncepty abstrakcyjne opisywalne rzeczownikami Organizacje Zdarzenia Procesy (w większości wypadków nie są reprezentowane jako koncepty) Reguły i zasady postępowania Katalogi Wyniki czynności finansowych, efekty pracy, umów Instrumenty finansowe i usługi Podręczniki, dokumenty, książki Głód Agarofobia DziałSprzedaży LiniaLotnicza Sprzedaż, Płatność, Spotkanie Lot, Start, Lądowanie SprzedażProduktu RezerwacjaMiejsca RegułaZwrotuProduktu RegułaAnulowaniaRezerwacji KatalogProduktów KatalogCzęści Faktura, UmowaOPracę, UmowaSerwisowa LiniaKredytowa Zapasy InstrukcjaObsługi DziennaListaZmianCen 12
13 Identyfikacja klas konceptualnych: technika identyfikacji fraz rzeczownikowych Technika polega na identyfikacji rzeczowników i fraz rzeczownikowych w tekstowych opisach danej dziedziny i traktowaniu ich jako kandydatów na klasy konceptualne i atrybuty. Opis pełny przypadków użycia jest doskonałym opisem dziedziny na bazie którego można stosować tą technikę. Ponieważ słowa w języku są wieloznaczne i różne rzeczowniki (frazy rzeczownikowe) mogą oznaczać to samo pojęcie nie jest możliwe mechaniczne tworzenie przyporządkowań rzeczownik-klasa. Technika ta wymaga zatem dużej uwagi! Jest zalecane aby technika identyfikacji fraz rzeczownikowych była stosowana razem z techniką użycia listy kategorii. 13
14 Identyfikacja klas konceptualnych: przykład Obsługa Sprzedaży Zastosowanie techniki użycia listy kategorii oraz techniki identyfikacji fraz rzeczownikowych do analizy przypadku użycia Obsługa sprzedaży może doprowadzić do identyfikacji następujących kandydatów na klasy konceptualne: Kasjer Klient Manager Produkt Sprzedaż OpisProduktu Płatność Kasa KatalogProduktów Sklep ElementPozycjiSprzedaży Nie istnieje pojęcie poprawnej listy!!! Zawsze jest to zbiór arbitralnie wybranych pojęć przez analityka. Jednakże stosując te same techniki zostaną uzyskane przez różnych analityków podobne listy. Problem z uznaniem pojęć za istotne i wprowadzaniem ich do modelu na przykładzie konceptu Faktura: Przeciw: powtórzenie informacji zawartych w innych miejscach modelu, Za: potrzebne podczas ewentualnego zwracania produktu. To czy pojęcie zostanie wprowadzone, czy nie zależy od iteracji i tego czy dane pojęcie jest istotne na aktualnym etapie. 14
15 Tworzenie modelu wiedzy dziedzinowej: zalecane etapy Krok 1: utwórz listę kandydatów na klasy konceptualne przy użyciu techniki użycia listy kategorii oraz techniki identyfikacji fraz rzeczownikowych w oparciu o aktualnie rozpatrywaną część wymagań do systemu. Krok 2: Zapisz wyniki w diagramie. Krok 3: Dodaj asocjacje niezbędne do opisania związków pomiędzy pojęciami. Krok 4: Dodaj atrybuty niezbędne do zapisania informacji uzyskanych z analizy wymagań. 15
16 Tworzenie modelu wiedzy dziedzinowej: strategia użycia słownika wiedzy dziedzinowej Przy tworzeniu modelu wiedzy dziedzinowej (strategia kartografa, bądź strategia użycia słownika wiedzy dziedzinowej): Używaj słownictwa danej dziedziny w trakcie nazywania klas i atrybutów. Np. modelując bibliotekę używamy określeń Wypożyczający i Bibliotekarz na opisanie pojęć Klient i PracownikObsługiBiblioteki. Usuwaj z modelu klasy konceptualne, które są uznane za nieistotne z punktu widzenia wymagań do systemu na danym etapie jego tworzenia. Np. wyłączmy z modelu pojęcia Długopis i Reklamówka jako nieistotne z punktu widzenia wymagań do systemu. Nie wprowadzaj do modelu bytów, których nie ma w rozpatrywanej dziedzinie. 16
17 Tworzenie modelu wiedzy dziedzinowej: błędy przy identyfikacji klas konceptualnych Częstym błędem jest reprezentowanie bytu jako atrybutu zamiast jako klasy konceptualnej. W celu wyeliminowania tego problemu zaleca się korzystanie z reguły: Jeżeli nie myślimy o potencjalnej klasie konceptualnej X jako o liczbie bądź tekście w świecie rzeczywistym, to X jest prawdopodobnie klasą konceptualną, a nie atrybutem. W przypadku wątpliwości wprowadzamy w większości wypadków niezależną klasę konceptualną. Przykład: Sprzedaż sklep czy... Sprzedaż Sklep nrtelefonu POPRAWNE Lot portdocelowy czy... Lot Lotnisko nazwa POPRAWNE 17
18 Tworzenie modelu wiedzy dziedzinowej: modelowanie świata nierzeczywistego Wiele systemów informatycznych dotyczy dziedzin, które nie posiadają bezpośredniego związku ze światem rzeczywistym np. oprogramowanie tworzone w telekomunikacji. Dla takich zastosowań możliwe jest tworzenie modeli wiedzy dziedzinowej, ale wymaga to wysokiego poziomu abstrakcji i wykorzystywanie analogii z dziedzin dla których modelowanie zostało już zrealizowane. Na przykład w dziedzinie telekomunikacji można używać pojęć: Wiadomość, Połączenie, Port, Dialog, Droga, Protokół. 18
19 UML w tworzeniu modelu wiedzy dziedzinowej Model wiedzy dziedzinowej może zostać zapisany w oparciu o notację UML. W UML nie ma jednak pojęcia model wiedzy dziedzinowej!!! UML wprowadza jedynie język do opisywania pojęć zidentyfikowanych przez analityków w procesie tworzenia modelu wiedzy dziedzinowej w tym celu wykorzystuje się diagram klas Należy pamiętać że te sama notacja zapisu diagramów może zostać użyta do zapisu trzech różnych typów modeli: Perspektywa konceptualna diagramy reprezentują pojęcia ze świata rzeczywistego i rozpatrywanej dziedziny. Perspektywa specyfikacji diagramy są używane do opisu bytów programistycznych bez odwołań do konkretnego języka programowania, bądź technologii. Perspektywa implementacji diagramy są używane do opisywania bytów programistycznych z odwołaniem do konkretnego języka programowania, bądź technologii (np. C++). 19
20 UML w tworzeniu modelu wiedzy dziedzinowej: przykład Płatność kwota Zapłacone przy pomocy 1 1 Sprzedaż data czas Model wiedzy dziedzinowej Notacja UML użyta do wizualizacji konceptów (klas konceptualnych) ze świata rzeczywistego Płatność kwota: Pieniądze zwróćreszte():pieniądze Zapłacone przy pomocy 1 1 Sprzedaż data:data czasrozpoczęcia: Czas pobierzkwote: Pieniądze Projekt obiektowy Notacja UML użyta do wizualizacji konceptów bytów programistycznych (klas projektowych) 20
21 UML: co reprezentujemy przy pomocy symbolu klasy Klasy konceptualne: koncepty, bądź rzeczy ze świata rzeczywistego. Elementy składowe modelu wiedzy dziedzinowej. Klasy projektowe: klasy przedstawiające perspektywę specyfikacyjną, bądź implementacyjną komponentów programistycznych. Element składowy modelu projektowego. Klasy implementacyjne: klasa zapisana w konkretnym języku obiektowym (np. C++, Java). Klasa: termin ogólny w UML oznaczający, byt ze świata rzeczywistego, bądź programistycznego. 21
22 Zmniejszanie luki reprezentacyjnej Model wiedzy dziedzinowej dostarcza nam wizualną reprezentację słownika dziedzinowego. Z modelu tego powinniśmy czerpać inspirację przy nazywaniu bytów programistycznych podczas fazy projektowania oraz implementacji. Podejście takie pozwala na zmniejszanie luki reprezentacyjnej (luki semantycznej) pomiędzy naszym (czyli analityka) modelem mentalnym danej dziedziny, a jego reprezentacją w konkretnym rozwiązaniu informatycznym. Na poziomie modelu wiedzy dziedzinowej posługujemy się pewnymi konceptami (np. Sprzedaż), na poziomie projektowanie bytami programistycznymi (klasa Sprzedaż). Nie są te te same byty, ale drugi byt był tworzony inspirując się pierwszym. Jest to jedną z głównych zalet podejścia obiektowego!!! 22
23 Model wiedzy dziedzinowej: przykład (wynik fazy wstępnej) Kasjer Klient ElementPozycjiSprzedaży Manager Sklep Produkt OpisProduktu Płatność Sprzedaż KatalogProduktów Kasa 23
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Ś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ółowoAnaliza 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ółowoIteracyjno-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ółowoAnaliza 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ółowoDiagramu 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ółowoModelowanie 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ółowoModelowanie danych, projektowanie systemu informatycznego
Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym
Bardziej szczegółowoProjektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD
Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe
Bardziej szczegółowoPodstawy 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ółowoDiagramy 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ółowoAnaliza i projektowanie obiektowe 2015/2016. Wykład 2: Przypadki użycia
Analiza i projektowanie obiektowe 2015/2016 Wykład 2: Przypadki użycia Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Czym są przypadki użycia. 2.
Bardziej szczegółowoZagadnienia (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ółowoAnaliza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)
Analiza i projektowanie obiektowe 2016/2017 Wykład 8: Przypisywanie obiektom odpowiedzialności (2) Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Wzorce
Bardziej szczegółowoKATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH
KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus Wprowadzenie: W procesie definiowania wymagań dla systemu tworzyliśmy Model Przypadków
Bardziej szczegółowoBAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH model związków encji Opracował: dr inż. Piotr Suchomski Świat rzeczywisty a baza danych Świat rzeczywisty Diagram związków encji Model świata rzeczywistego Założenia, Uproszczenia, ograniczenia
Bardziej szczegółowoMariusz Trzaska Modelowanie i implementacja systemów informatycznych
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się
Bardziej szczegółowoJę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ółowoKomputerowe 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ółowoInż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ółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Bardziej szczegółowo1 Projektowanie systemu informatycznego
Plan wykładu Spis treści 1 Projektowanie systemu informatycznego 1 2 Modelowanie pojęciowe 4 2.1 Encja....................................... 5 2.2 Własności.................................... 6 2.3 Związki.....................................
Bardziej szczegółowoPodejście obiektowe - podstawowe pojęcia
Podejście obiektowe - podstawowe pojęcia Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2003 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.
Bardziej szczegółowoFaza analizy (modelowania) Faza projektowania
Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań
Bardziej szczegółowoDiagramy 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ółowoWykł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ółowoBazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.
Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków
Bardziej szczegółowoZofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowoModelowanie. 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ółowoCel 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ółowoPaweł 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ółowoDiagramy 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ółowoZofia 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ółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska W bazie danych przechowujemy tylko niektóre informacje o świecie rzeczywistym. Wybór właściwych wycinków rzeczywistości i dotyczących ich danych jest bardzo istotny od niego zależy
Bardziej szczegółowoSpis 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ółowoModelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Modelowanie klas i obiektów Jarosław Kuchta Podstawowe pojęcia (1) Byt, encja (entity) coś co istnieje, posiada własne cechy i wyodrębnioną tożsamość (identity); bytem może być rzecz, osoba, organizacja,
Bardziej szczegółowoFaza Określania Wymagań
Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie
Bardziej szczegółowoProcesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4
Procesy biznesowe w praktyce Przykłady użycia z wykorzystaniem jbpm 4.4 1 Agenda Definicja i zastosowanie procesu biznesowego Języki dziedzinowe (DSL) a rozwiązania BPM JBPM: jbpm 4.4 krótka charakterystyka
Bardziej szczegółowoproblem 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ółowoDiagramy 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ółowoLaboratorium 02: Obiektowe modelowanie dziedziny [2h]
. Wprowadzenie. Programowanie obiektowe (ang. object-oriented programming) jest obecnie najpopularniejszą techniką tworzenia programów komputerowych. Program komputerowy wyraża się jako zbiór obiektów
Bardziej szczegółowoWykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław
Bardziej szczegółowoProjektowanie BAZY DANYCH
Projektowanie BAZY DANYCH Podstawowe pojęcia Encją jest każdy przedmiot, zjawisko, stan lub pojęcie, czyli każdy obiekt, który potrafimy odróżnić od innych obiektów ( np. pies, rower,upał). Encje podobne
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana
Bardziej szczegółowoDokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Bardziej szczegółowoPODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań
Bardziej szczegółowoProjektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)
Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Narzędzia modelowania
Bardziej szczegółowoModelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Modelowanie przypadków użycia Jarosław Kuchta Podstawowe pojęcia Przypadek użycia jest formalnym środkiem dla przedstawienia funkcjonalności systemu informatycznego z punktu widzenia jego użytkowników.
Bardziej szczegółowoKurs 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ółowoCharakterystyka oprogramowania obiektowego
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ółowoTECHNOLOGIE 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ółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Wstęp Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk (Wydział Fizyki) PO w. I Jesień 2016 1 / 24 Plan wykładu 1 Wstęp podstawowe pojęcia, modelowanie dziedziny
Bardziej szczegółowoBłędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach specjalności: Programowanie aplikacji internetowych Rodzaj zajęć: laboratorium PRZEWODNIK PO PRZEDMIOCIE I KARTA PRZEDMIOTU
Bardziej szczegółowoCo to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?
ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy
Bardziej szczegółowoUML 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ółowoAnaliza 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ółowoINFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji
Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami
Bardziej szczegółowoTworzenie warstwy zasobów projektowanie metodą strukturalną
Tworzenie warstwy zasobów projektowanie metodą strukturalną Autor Zofia Kruczkiewicz Programowanie i wdrażanie systemów informatycznych 2011-03-27 1 1. Zasady modelowania wymagań funkcjonalnych systemu
Bardziej szczegółowoZARZĄDZANIU. Wykład VI. dr Jan Kazimirski
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
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 2
Instrukcja 2 Laboratorium 2 Wykonanie opisu biznesowego świata rzeczywistego projektowanego oprogramowania, definicja wymagań funkcjonalnych i niefunkcjonalnych projektowanego oprogramowania 1 Cel laboratorium:
Bardziej szczegółowoBazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Modelowanie związków encji Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. II Jesień 2014 1 / 28 Modelowanie Modelowanie polega na odwzorowaniu
Bardziej szczegółowoDiagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Wprowadzenie Modelowanie biznesowe jest stykiem między
Bardziej szczegółowoTechnologie 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ółowoSCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Bardziej szczegółowoREQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN Podziękowania REQB Poziom Podstawowy Przykładowy Egzamin Dokument ten został stworzony przez główny zespół Grupy Roboczej REQB dla Poziomu Podstawowego. Tłumaczenie
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2017/2018. Wykład 2: Przypadki użycia
Analiza i projektowanie obiektowe 2017/2018 Wykład 2: Przypadki użycia Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Czym są przypadki użycia. 2.
Bardziej szczegółowoProjektowanie logiki aplikacji
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy
Bardziej szczegółowoTECHNOLOGIE 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ółowoInżynieria oprogramowania II
Wymagania funkcjonalne, przypadki użycia Inżynieria oprogramowania II Problem i cel Tworzenie projektów bez konkretnego celu nie jest dobre Praktycznie każdy projekt informatyczny powstaje z uwagi na jakiś
Bardziej szczegółowoZasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
Bardziej szczegółowo<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Bardziej szczegółowoPodstawy 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ółowoDiagramy przypadków użycia
Instytut Informatyki Uniwersytetu Śląskiego 10 października 2010 Spis treści 1 Wprowadzenie do UML 2 3 4 5 6 Diagramy UML Język UML definiuje następujący zestaw diagramów: diagram przypadków użycia - służy
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: laboratorium PROJEKT ZESPOŁOWY DYPLOMOWY IO Team Project SE Forma studiów:
Bardziej szczegółowoLaboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny
Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny mgr inż. Kajetan Kurus 15 kwietnia 2014 1 Dostępne techniki programowania Tworząc program należy
Bardziej szczegółowoZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI
ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI XVIII Forum Teleinformatyki mgr inż. Michał BIJATA, doktorant, Wydział Cybernetyki WAT Michal.Bijata@WAT.edu.pl, Michal@Bijata.com 28 września 2012 AGENDA Architektura
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoNazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:
Bardziej szczegółowoKATEDRA 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ółowoModelowanie 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ółowoAnaliza procesów: notacja UML, modele przypadków użycia, Rich Picture
45 min Ergonomia pracy umysłowej prof. dr hab. inż. Marcin Sikorski Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture 7 Data wykładu:............. Razem slajdów: 23 Sytuacja problemowa
Bardziej szczegółowoModelowanie i analiza systemów informatycznych
Modelowanie i analiza systemów informatycznych MBSE/SysML Wykład 11 SYSMOD Wykorzystane materiały Budapest University of Technology and Economics, Department of Measurement and InformaJon Systems: The
Bardziej szczegółowoProgramowanie obiektowe. Grzegorz Jabłoński Katedra Mikroelektroniki i Technik Informatycznych (K-25) Budynek B18
Programowanie obiektowe Grzegorz Jabłoński Katedra Mikroelektroniki i Technik Informatycznych (K-25) Budynek B18 gwj@dmcs.p.lodz.pl (631) 26-48 Program przedmiotu http://neo.dmcs.p.lodz.pl/po Ogólne spojrzenie
Bardziej szczegółowoPodstawy 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ółowoUML 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ółowoLista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania
Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 2 Przykładowe pytania 1. Wymień i omów krótko podstawowe kategorie
Bardziej szczegółowoDiagram 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ółowoUniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013
SYLLABUS na rok akademicki 01/013 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr III/VI Specjalność Bez specjalności Kod katedry/zakładu
Bardziej szczegółowoINŻYNIERIA OPROGRAMOWANIA
INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia
Bardziej szczegółowoArchitektura 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ółowoPytania z przedmiotów kierunkowych
Pytania na egzamin dyplomowy z przedmiotów realizowanych przez pracowników IIwZ studia stacjonarne I stopnia Zarządzanie i Inżynieria Produkcji Pytania z przedmiotów kierunkowych 1. Co to jest algorytm?
Bardziej szczegółowoInżynieria oprogramowania (Software Engineering)
Inżynieria oprogramowania (Software Engineering) Wykład 2 Proces produkcji oprogramowania Proces produkcji oprogramowania (Software Process) Podstawowe założenia: Dobre procesy prowadzą do dobrego oprogramowania
Bardziej szczegółowoSystemy informatyczne. Modelowanie danych systemów informatycznych
Modelowanie danych systemów informatycznych Diagramy związków encji Entity-Relationship Diagrams Modelowanie danych diagramy związków encji ERD (ang. Entity-Relationship Diagrams) diagramy związków encji
Bardziej szczegółowoEtapy życia oprogramowania
Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano
Bardziej szczegółowo