Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać...

89
Wydział Elektroniki i Informatyki Politechniki Koszalińskiej kierunek: Informatyka studia drugiego stopnia Specjalność: Zastosowania Systemów Baz Danych

Transcript of Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać...

Page 1: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wydział Elektroniki i Informatyki Politechniki Koszalińskiej

kierunek: Informatyka studia drugiego stopnia

Specjalność: Zastosowania Systemów Baz Danych

Page 2: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Modyfikacja specjalności

W ramach projektu „Program zintegrowanych działań na rzecz zwiększenia jakości i efektywności kształcenia na Politechnice Koszalińskiej” w okresie grudzień 2019 – luty 2020, przeprowadzono aktualizację programu kształcenia na specjalności ZSBD.

Aktualizacja dotyczyła przede wszystkim technologii implementacji systemów bazodanowych.

W pracach udział wzięły przedsiębiorstwa informatyczne zainteresowane zatrudnieniem absolwentów specjalności oraz studenci specjalności.

Page 3: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Zakres modyfikacji Modyfikacja objęła sylwetkę absolwenta i efekty kształcenia oraz

zaznaczone przedmioty:

PLAN STUDIÓW DLA KIERUNKU: Informatyka – studia II-go stopnia

SPECJALNOŚĆ: Zastosowania Systemów Baz Danych (ZSBD)

studia stacjonarne obowiązuje od roku ak.: 2017/2018

W Ć L P S PE W Ć L P PE W Ć L P PE

1 Obiektowe modelowanie systemów informatycznych 15 15 30 3 1 1 3

2 Systemy rozproszone 30 15 45 4 2 1 4

3 Przetwarzanie danych w chmurze (R.Arsoba) 15 15 30 3 1 1 3

4 Projektowanie avatarów 15 15 2 1 2

5 Bazy danych NoSQL (Ł. Kupracz) 30 15 45 2 2 1 2

6 Hybrydowe systemy ekspertowe (A.Słowik) 30 15 45 3 2 1 3

7 Projektowanie systemów rozproszonych 15 15 1 1 1

8 Eksploracja danych (R.Wojszczyk) 30 15 45 2 2 1 2

150 45 75 4 1 3 6 2 2

3 1 2Liczba egzaminów

818 godz. x 15 tygodni 8 10

12

Sem.II

przedmioty modyfikowane w projekcie Razem 270 20

Lp Przedmioty specjalnościoweSuma godzin / ECTS Sem. III

Page 4: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Sylwetka absolwenta

Absolwenci specjalności ZSBD mają wiedzę i umiejętności z zakresu szeroko rozumianego przechowywania i przetwarzania danych. Oprócz relacyjnych baz danych (studia inżynierskie) znają metodologię obiektowego modelowania systemów informatycznych, baz danych NoSQL oraz technologie eksploracji danych i przetwarzania danych w chmurze. Znają również zagadnienia związane z projektowaniem i implementacją systemów rozproszonych i hybrydowych systemów ekspertowych

Page 5: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Efekty kształcenia 1/3

• opanowanie umiejętności modelowania i implementacji systemów informatycznych z wykorzystaniem obiektowo-relacyjnego mapowania oraz współczesnych technologii systemów baz danych;

• umiejętność modelowania i implementacji systemów informatycznych z wykorzystaniem baz danych NoSQL (modele danych: klucz-wartość, klucz-dokument, technologia Mongo DB, systemy rozproszone);

Page 6: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Efekty kształcenia 2/3

• poznanie technologii przetwarzania danych w chmurze (koncepcja chmury, rodzaje chmur, modele przetwarzania: IaaS, PaaS, SaaS i specjalizowane), poznanie zagadnień konteneryzacji oraz umiejętność wykorzystania współczesnych platform chmurowych, ze szczególnym uwzględnieniem środowiska Microsoft Azure;

• uzyskanie sprawności w projektowaniu i implementacji hybrydowych systemów ekspertowych (reprezentacja i przetwarzanie wiedzy, neuronowe bazy wiedzy, systemy szkieletowe, systemy rozmyte, środowisko programistyczne CLIPS oraz Spyder);

Page 7: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Efekty kształcenia 3/3

• uzyskanie sprawności w zakresie zastosowania narzędzi i technologii do projektowania, implementacji, testowania i dokumentowania wielowarstwowych systemów rozproszonych w sieciach Internet, opartych na architekturze Java Enterprise Edition i serwerze aplikacji;

• poznanie technologii i narzędzi eksploracji danych (odkrywanie asocjacji i wzorców sekwencji, klasyfikacja i grupowanie obiektów, hurtownie danych) ;

• umiejętność poszerzania i przekazywania wiedzy z zakresu przechowywania, przetwarzania i eksploracji danych.

Page 8: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Przykłady prac dyplomowych

- Równoległa realizacja przykładowego algorytmu genetycznego z wykorzystaniem wielordzeniowych procesorów CPU

- Porównanie mechanizmów replikacji baz danych w systemach MS SQL Server i PostgreSQL

- Analiza porównawcza wybranych aspektów wydajnościowych w popularnych systemach zarządzania relacyjnymi bazami danych

- Analiza porównawcza framework'ow do automatyzacji testów aplikacji webowych

- Równoległa realizacja przykładowego algorytmu mrówkowego z wykorzystaniem wielordzeniowych procesorów CPU

- Zestaw zaawansowanych funkcji, procedur i wyzwalaczy wspomagających pracę administratora baz danych.

- Aplikacja sterująca trasą przelotu drona Nano Quadcopter.

- Analiza porównawcza mechanizmów dublowania baz danych w systemach MS SQL Server i PostgreSQL

- Zastosowanie metod eksploracji danych na wybranych przykładach.

- Równoległa realizacja wybranego algorytmu sortowania na platformie FPGA.

Page 9: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Role zawodowe absolwenta

Absolwent specjalności ZSBD przygotowany jest do pełnienia funkcji:

• projektanta i administratora systemów baz danych,

• analityka,

• kierownika projektu informatycznego,

• specjalisty ds. wdrożeń systemów bazodanowych,

• programisty baz danych.

Page 10: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Perspektywy zatrudnienia Absolwenci specjalności ZSBD znaleźli zatrudnienie w:

• INTEL Poland

• GlobalLogic (Koszalin i zagranicą, np.: USA, Argentyna)

• Goyello (Gdańsk, Koszalin)

• O2.pl (Koszalin)

• Tieto (Szczecin)

• HP Polska

• ZETO (Koszalin)

• Nextweb ventures Sp. z o.o.

• EkoWodrol Sp. z o.o.

• Bitcomp Polska sp. z o.o.

• SMT Software S.A.

• Atena Sp. z o.o.

• Helsenett.no

• Fabryka Oprogramowania Frys sp. z o. o.

• Mikroserwis (Koszalin)

• Cefarm (Szczecin)

• własna działalność w branży IT

Page 11: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Specjalność: Zastosowania Systemów Baz Danych

przedmiot:

Bazy danych NoSQL prowadzący:

Mgr inż. Łukasz Kupracz Mgr inż. Piotr Andrusiuk Mgr inż. Piotr Górzyński Mgr inż. Tomasz Juchniewicz Semestr: 3 Forma zajęć: 30w15p

Page 12: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Cele kursu

• Ugruntowanie wiedzy o architekturze systemów informacyjnych z bazami danych NoSQL, standardach i technologiach projektowania systemów informatycznych.

• Otrzymanie umiejętności w zakresie obiektowego projektowania systemów informatycznych z wykorzystaniem baz danych NoSQL.

• Kształtowanie sprawności w stopniu pozwalającym w pracy zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów obiektowych.

• Stworzenie i analiza architektury systemu informatycznego zgodnie ze standardami projektowania obiektowego.

Page 13: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka wykładów 1/2

1. WPROWADZENIE DO BAZ DANYCH NOSQL (3 godz.)

2. MODELE DYSTRYBUCYJNE A MODELE RELACYJNE (3 godz.)

3. MODELE KLUCZ - WARTOŚĆ

4. MODELE KLUCZ – DOKUMENT cz 1.(3 godz.)

5. MODELE KLUCZ – DOKUMENT cz 2.(3 godz.)

6. SYSTEMY INFORMATYCZNE OPARTE NA BAZACH DANYCH NoSQL (3 godz.)

Page 14: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka wykładów 2/2

7. CHARAKTERYSTYKI BAZ DANYCH NOSQL (3 godz.)

8. SYSTEMY CHMUROWE A BAZY DANYCH (3 godz.)

9. ROZPROSZONE SYSTEMY BAZODANOWE (3 godz.)

10. Przeprowadzenie zaliczenia z przedmiotu (3 godz.)

Page 15: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

WPROWADZENIE DO BAZ DANYCH NoSQL

• Ograniczenia relacyjnych baz danych. Przyczyny powstania baz NoSQL.

• Podstawowe pojęcia baz danych NoSQL.

• Skalowalność. Koszt. Elastyczność. Dostępność.

• Różnorodność baz NoSQL.

• Przechowywanie danych bez schematu.

• Własności transakcji ACID i BASE.

• Teoria CAP (Brewera) – podstawowe pojęcia.

• Klasyfikacja systemów baz danych NoSQL.

• Charakterystyka systemów baz danych NoSQL.

Page 16: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

MODELE DYSTRYBUCYJNE A MODELE RELACYJNE

• Replikacja i współdzielenie.

• Problemy rozproszonych baz danych.

• Bazy rodziny kolumn.

• Najważniejsze modele dystrybucyjne.

• Zarządzanie danymi w systemach rozproszonych.

• Zalety i wady baz relacyjnych.

• Bazy integracji i aplikacji.

• Bazy relacyjne w porównaniu z bazami NoSQL.

• Podział baz NoSQL ze względu na model danych.

• Modele danych NoSQL zorientowane na agregacje.

Page 17: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

MODELE KLUCZ - WARTOŚĆ

• Wprowadzenie do baz klucz-wartość. • Baza danych Redis. Zastosowanie. Instalacja. • Połączenie z bazą. Podstawowe wartości w Redis. • Klucze w Redis. Przestrzeni nazw. Instrukcje do pracy z kluczami. • Ciągi znaków w Redis (stringi-strings). • Atomowość operacji, przykłady użycia. • Listy (Lists) w Redis. Operacje na listach. • Hasz – tablice asocjacyjne. Instrukcje do haszy. • Zbiory (Sets) w Redis. • Wykorzystanie map bitowych (Bitmaps). • Redis - konfigurowanie i wykorzystanie. • Wzorce projektowe dla baz klucz – wartość. • Klucze z ograniczonym czasem życia (Time to Live). • Emulowanie tabel. • Agregacje atomowe. • Transakcje. • Klucze enumerowane.

Page 18: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

MODELE KLUCZ – DOKUMENT cz. 1

• Wprowadzenie do baz klucz – dokument.

• Baza danych MongoDB.

• Podstawowe pojęcia. Dokumenty JSON.

• Cechy główne oraz architektura MongoDB.

• Uruchomienie klienta i zarządzanie procesem serwera.

• Model danych MongoDB w porównaniu z modelem relacyjnym.

• Typy danych.

• Instrukcje CRUD.

• Bazy danych NoSQL a kolekcje.

Page 19: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

MODELE KLUCZ – DOKUMENT cz. 2

• Modelowanie dokumentów. • Skalowalność MongoDB. • Partycjonowanie poziomowe. • Agregacja, sposoby filtracji danych. • Operacje atomowe. • Indeksy TTL. • Replikacja. • Rozdział (Sharding) danych. • Operacje administracyjne. • Wykorzystanie języka JavaScript.

Page 20: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

CHARAKTERYSTYKI BAZ DANYCH NoSQL

• Czynniki wpływające na rozwój przechowywania i przetwarzania danych na przykładach.

• Charakterystyka jakości a wymagania systemu.

• Definicja kluczowych charakterystyk w kontekście baz NoSQL: wytrzymałość, konserwacja, dostępność, spójność, trwałość, niezawodność. Sposoby wyznaczania wartości metryk

• Porównanie wybranych baz NoSQL pod względem kluczowych charakterystyk.

Page 21: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

CHARAKTERYSTYKI BAZ DANYCH NoSQL

• Czynniki wpływające na rozwój przechowywania i przetwarzania danych na przykładach.

• Charakterystyka jakości a wymagania systemu.

• Definicja kluczowych charakterystyk w kontekście baz NoSQL: wytrzymałość, konserwacja, dostępność, spójność, trwałość, niezawodność. Sposoby wyznaczania wartości metryk

• Porównanie wybranych baz NoSQL pod względem kluczowych charakterystyk.

Page 22: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

SYSTEMY CHMUROWE A BAZY DANYCH

• Bazy NoSQL a rozwój systemów chmurowych.

• Systemy bazodanowe a wirtualizacja.

• Bazy danych w chmurach obliczeniowych (DBaaS).

• Funkcjonalności, zagrożenia, wady i zalety systemów bazodanowych DBaaS.

• Poufność przechowywanych danych.

• Integralność i dostępność.

• Skalowalność horyzontalna i wertykalna.

• Porównanie popularnych platform chmurowych.

• NoSQL w platformach telematycznych.

Page 23: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

ROZPROSZONE SYSTEMY BAZODANOWE

• Wprowadzenie do baz danych Cosmos DB. • Właściwości Cosmos DB. • Modele spójności danych. • Poziom zapewnienia usługi (SLA) w Cosmos DB. • Regionalizacja danych. • Geo-replikacja. • Założenia architektoniczne systemów rozproszonych. • Replikacja danych i problemy z nią związane w

rozproszonych systemach bazodanowych. • Auto-skalowalność. • Interfejsy API wspierane przez Cosmos DB.

Page 24: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka ćwiczeń

1. Zajęcia organizacyjne (3 godz.)

2. Określenie wymagań systemu informatycznego (3 godz.)

3. Opracowanie koncepcji systemu informatycznego (3 godz.)

4. Konsultacje z nauczycielem (3 godz.)

5. Zaliczenie projektu (3 godz.)

Page 25: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Zajęcia organizacyjne

• Określenie wymagań dotyczących projektu.

• Przedstawienie zasad zaliczenia projektu i kryteriów oceny.

• Utworzenie zespołów projektowych

• Przydzielenie zadań projektowych.

Page 26: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Określenie wymagań systemu informatycznego

• Przedstawienie wymagań, atrybutów jakości oraz ograniczeń projektowanego systemu informatycznego.

• Estymowanie nakładów pracy.

• Określanie niezbędnych zasobów do realizacji zadań.

Page 27: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Opracowanie koncepcji systemu informatycznego

• Tworzenie dokumentacji technicznej zgodnie ze standardami.

• Praca w zespole zgodnie z przypisanymi rolami.

• Poszukiwanie rozwiązań z różnych źródeł wiedzy.

Page 28: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Konsultacje z nauczycielem

• Konsultacje z nauczycielem prowadzącym.

• Prezentacja napotkanych problemów i ryzyk.

• Podjęcie odpowiednich decyzji architektonicznych.

https://openclassrooms.com/en/courses/5671741-design-the-logical-model-of-your-relational-database/6255746-compare-relational-and-nosql-databases

Page 30: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wykłady

Podział na część teoretyczną oraz praktyczną.

Poznanie najpopularniejszych typów baz danych NoSQL na przykładach.

Praktyczna wiedza związana z projektowaniem systemów informatycznych.

Technologia chmurowa i bazy danych.

Wykładowcy z wieloletnim komercyjnym doświadczeniem.

Page 31: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Projekt

Rozwijanie pracy zespołowej, poznanie ról w komercyjnych projektach.

Projekty bazujące na symulowanych projektach informatycznych.

Wykorzystanie wiedzy teoretycznej z wykładu. Umiejętność tworzenia dokumentacji architektonicznej. Podejmowanie decyzji projektowych. Ocenie podlega praca zespołowa oraz indywidualny

wkład. Prowadzący: architekt z wieloletnim doświadczeniem

komercyjnym.

Page 32: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Literatura do przedmiotu

1. Robert Perliński, Wprowadzenie do baz NoSQL: http://docplayer.pl/29100957Wprowadzenie-do-baz-nosql.html

2. Dan Sulivan, NoSQL Przyjazny przewodnik, Helion 2016

3. Guy Harrison, "NoSQL, NewSQL i BigData. Bazy danych następnej generacji", Helion

4. Pramod J. Sadlage, Martin Folwer, NoSQL Kompendium wiedzy, Helion, 2015

5. Documentation Redis: https://redis.io/documentation

6. Len Bass, "Software Architecture in Practice". Wydawnictwo: Pearson Education (US), Rok wydania: 2012

7. Dokumentacja usługi Azure Cosmos DB: https://docs.microsoft.com/pl-PL/azure/cosmos-db/

Page 33: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Specjalność: Zastosowania Systemów Baz Danych

przedmiot:

Hybrydowe Systemy Ekspertowe prowadzący:

Dr hab. inż. Adam Słowik, prof. PK

Semestr: 3

Forma zajęć: 30w15c

Page 34: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Cele kursu

• Uzyskanie sprawności w projektowaniu i implementacji hybrydowych systemów ekspertowych

• Poznanie algorytmów tworzenia drzew decyzyjnych

• Poznanie technologii lasów losowych

• Poznanie zagadnień związanych z klasycznymi systemami ekspertowymi

• Poznanie zagadnień związanych z neuronowymi bazami danych

• Poznanie zagadnień związanych z podstawami systemów neuro-rozmytych

Page 35: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka wykładów

1. Wprowadzenie do zagadnień związanych z hybrydowymi systemami ekspertowymi (2 godz.)

2. Systemy ekspertowe (8 godz.)

3. Przeszukiwanie przestrzeni problemowej (2 godz.)

4. Drzewa decyzyjne i las losowy (6 godz.)

5. Rozmyte systemy ekspertowe (4 godz.)

6. Neuronowe bazy wiedzy (4 godz.)

7. Systemy neuro-rozmyte (2 godz.)

Page 36: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wprowadzenie do zagadnień związanych z hybrydowymi systemami ekspertowymi

• Cel wykładów

• Literatura do przedmiotu

• Omówienie zasad obowiązujących podczas egzaminu z przedmiotu

• Pojęcie hybrydowych systemów ekspertowych

• Sztuczna inteligencja

• Test Turinga

Page 37: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

System ekspertowe

• Pojęcie systemu ekspertowego

• Dlaczego warto stosować systemy ekspertowe

• Schemat blokowy systemu ekspertowego (interfejs użytkownika, maszyna rozumująca, baza wiedzy, pamięć robocza, blok wyjaśniania, blok pozyskiwania wiedzy)

• Etapy tworzenia systemów ekspertowych (analiza problemu, specyfikacja systemu, akwizycja wiedzy, wybór reprezentacji wiedzy, konstrukcja systemu, weryfikacja i testowanie systemu)

• Fakty, reguły, heurystyki

• LISP, Prolog, CLIPS

Page 38: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Systemy ekspertowe (c.d.)

• Tworzenie reguł w środowisku CLIPS

• Instrukcje defrule, initial-fact, assert, bind

• Zalety i wady systemów ekspertowych

• Złożoność systemów ekspertowych

• Szkieletowe systemy ekspertowe

• Omówienie środowiska CLIPS

• Dodawanie, usuwanie faktów

• Atomowość faktów

• Sposoby zapisu wyrażeń matematycznych w środowisku CLIPS

Page 39: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Systemy ekspertowe (c.d)

• Metody reprezentacji wiedzy

• Rachunek zdań

• Stwierdzenia

• Regułowa reprezentacja wiedzy

• Wektory wiedzy

• Sieci semantyczne

• Metody wnioskowania występujące w systemach ekspertowych

• Wnioskowanie w przód

• Wnioskowanie wstecz

• Metody sterowania wnioskowaniem

Page 40: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Przeszukiwanie przestrzeni problemowej

• Algorytmy ślepe służące do przeszukiwania przestrzeni problemowej

• Omówienie zasad działania algorytmu przeszukiwania w głąb

• Przykład ilustrujący działanie algorytmu przeszukiwania w głąb

• Omówienie zasad działania algorytmu przeszukiwania wszerz

• Przykład ilustrujący działanie algorytmu przeszukiwania wszerz

Page 41: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Drzewa decyzyjne i las losowy

• Omówienie zagadnień związanych z klasyfikacją danych

• Definicja prawdopodobieństwa, entropii, zysku informacyjnego

• Omówienie zagadnień związanych z algorytmem ID3

• Tworzenie drzew decyzyjnych z wykorzystaniem algorytmu ID3

• Przykład numeryczny ilustrujący działanie algorytmu ID3

• Omówienie sposobu ekstrakcji reguł z utworzonego drzewa decyzyjnego

• Podstawowe charakterystyki reguł: pokrycie reguły klasyfikacyjnej, trafność reguły klasyfikacyjnej

Page 42: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Drzewa decyzyjne i las losowy (c.d.)

• Ocena jakości klasyfikatora

• Wprowadzenie do algorytmu C4.5 będącego rozszerzeniem algorytmu ID3

• Wprowadzenie do zagadnień związanych z tworzeniem tzw. lasu losowego (ang. random forest)

Page 43: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Rozmyte systemy ekspertowe

• Definicja zmiennych lingwistycznych

• Reguły rozmyte

• Sposób zapisu reguł rozmytych

• Schemat blokowy rozmytego systemu ekspertowego

• Podstawowe operacje AND, OR, NOT na zbiorach rozmytych

• Rozmywanie przesłanek w oparciu o rozmyte zbiory wejściowe

Page 44: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Rozmyte systemy ekspertowe (c.d.)

• Wnioskowanie rozmyte z wykorzystaniem rodziny operatorów MIN-MAX

• Agregacja cząstkowych konkluzji rozmytych (sumowanie konkluzji)

• Wyostrzanie rozmytego zbioru wynikowego celem uzyskania wyniku ostrego

Page 45: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Neuronowe bazy wiedzy

• Podstawy sztucznych sieci neuronowych

• Biologiczny neuron

• Model sztucznego neuronu

• Funkcje aktywacji

• Wyjaśnienie zasady działania pojedynczego sztucznego neuronu

• Perceptronowe funktory logiczne AND, OR, NOT

Page 46: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Neuronowe bazy wiedzy (c.d.)

• Zapis reguł przy użyciu sztucznych neuronów realizujących funkcje: AND, OR, NOT

• Proces wnioskowania w oparciu o sztuczną sieć neuronową realizującą określone reguły

• Przykład numeryczny – tworzenia i analizowania neuronowej bazy wiedzy w oparciu o cztery przykładowe reguły

Page 47: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Systemy neuro-rozmyte

• Wprowadzenie do systemów neuro-rozmytych

• Sposoby łączenia sztucznych sieci neuronowych z systemami rozmytymi

• Schemat blokowy elementarnego systemu neuro-rozmytego

• Zasada działania systemu neuro-rozmytego

• Przykład zapisu wybranych reguł do postaci systemu neuro-rozmytego

Page 48: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka ćwiczeń

1. Wprowadzenie do przedmiotu oraz prezentacja środowiska CLIPS (2 godz.)

2. Wyrażenia matematyczne w CLIPS (2 godz.)

3. Funkcje matematyczne w CLIPS oraz prezentacja środowiska Spyder (2 godz.)

4. Algorytm ID3 (2 godz.)

5. Neuronowe bazy wiedzy (2 godz.)

6. Systemy neuro-rozmyte (2 godz.)

Page 49: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wprowadzenie do przedmiotu oraz prezentacja środowiska CLIPS

• Przedstawienie i omówienie środowiska CLIPS

• Załadowanie kilku wybranych paczek zawierających reguły

• Przeprowadzenie procesu wnioskowania w środowisku CLIPS

• Utworzenie pierwszej reguły w środowisku CLIPS

Page 50: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wyrażenia matematyczne w CLIPS

• Przedstawienie i omówienie sposobu tworzenia zapisu wyrażeń matematycznych w środowisku CLIPS

• Pobieranie danych od użytkownika

• Wypisywanie komunikatów na ekran

• Tworzenie bardziej złożonych reguł

Page 51: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Funkcje użytkownika w CLIPS oraz prezentacja środowiska Spyder

• Przedstawienie i omówienie sposobu tworzenia własnych funkcji, które mogą zostać wykorzystane w dowolnej bazie reguł utworzonej zgodnie z notacją obowiązującą w środowisku CLIPS

• Prezentacja i krótkie omówienie środowiska Spyder jako jednego z potencjalnych narzędzi do realizacji kolejnych ćwiczeń z wykorzystaniem języka programowania Python

Page 52: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Algorytm ID3

• Przedstawienie i omówienie programowego sposobu realizacji algorytmu ID3

• Wykonanie jego implementacji oraz ręczna ekstrakcja reguł na podstawie utworzonego drzewa decyzyjnego

Page 53: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Neuronowe bazy wiedzy

• Przedstawienie sposobu tworzenia prostych neuronowych baz wiedzy w wybranym przez Studenta środowisku programistycznym

• Omówienie sposobu deklaracji sztucznego neuronu

• Omówienie sposoby zapisu reguł z wykorzystaniem sztucznych neuronów

Page 54: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Systemy neuro-rozmyte

• Przedstawienie i omówienie sposobu tworzenia prostego systemu neuro-rozmytego w oparciu o zbiór kilku reguł

• Prezentacja działania takiego systemu

• Przedstawienie możliwości dodatkowego uczenia się takich systemów i automatycznego generowania ważności poszczególnych reguł

Page 55: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Literatura do przedmiotu

1. Michał Białko, „Podstawowe właściwości sieci neuronowych i hybrydowych systemów ekspertowych”, Wydawnictwo Politechniki Koszalińskiej, Koszalin 2000

2. Danuta Rutkowska, Maciej Piliński, Leszek Rutkowski, „Sieci neuronowe, algorytmy genetyczne i systemy rozmyte”, Wydawnictwo Naukowe PWN, 1999

3. Leszek Rutkowski, „Metody i techniki sztucznej inteligencji”, Wydawnictwo Naukowe PWN, 2019

4. Dokumentacja programu CLIPS 6.x

5. Dokumentacja środowiska Spyder

Page 56: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Specjalność: Zastosowania Systemów Baz Danych

przedmiot:

Przetwarzanie danych w chmurze prowadzący:

dr inż. Robert Arsoba

Semestr: 2

Forma zajęć: 15w15p

Page 57: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Cele kursu

• Na bazie wiedzy i umiejętności z kursów poprzedzających, uzyskanie umiejętności projektowania, tworzenia, zarządzania i diagnostyki aplikacji działających w chmurze.

• Cel poznawczy: Zapoznanie się z metodologią przetwarzania danych w chmurze oraz ugruntowanie wiedzy ma temat tworzenia aplikacji działających w chmurze.

• Cel kształcący: Wykształcenie umiejętności projektowania i programowania aplikacji w chmurze.

• Cel praktyczny: Uzyskanie praktycznych umiejętności tworzenia aplikacji działających w chmurze, w szczególności aplikacji wykorzystujących bazy danych.

Page 58: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka wykładów

1. Wprowadzenie (2 godz.)

2. Modele przetwarzania w chmurze (2 godz.)

3. Przegląd platform PaaS (2 godz.)

4. Wprowadzenie do środowiska Microsoft Azure (2 godz.)

5. Tworzenie aplikacji dla Microsoft Azure (2 godz.)

6. Kontenery Docker (2 godz.)

7. Oprogramowanie Kubernetes (2 godz.)

8. Zaliczenie wykładu (1 godz.)

Page 59: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wprowadzenie

• Cel wykładów. Literatura do przedmiotu.

• Zasady zaliczenia przedmiotu.

• Pojęcie chmury. Definicja i koncepcja chmury.

• Technologie informatyczne tworzące podwaliny chmury.

• Budowa wewnętrzna chmury.

• Usługi oferowane w chmurze.

• Korzyści wynikające z wykorzystania chmury.

• Rodzaje chmury (prywatna, publiczna, hybrydowa). Specjalizowane rodzaje chmury.

• Przykłady chmur dla poszczególnych rodzajów.

Rysunek: Sam Johnston (https://commons.wikimedia.org/wiki/File:Cloud_computing.svg), „Cloud computing“, https://creativecommons.org/licenses/by-sa/3.0/legalcode

Page 60: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

• Modele oferowania usług w chmurze.

• Przegląd i charakterystyka poszczególnych modeli przetwarzania w chmurze.

IaaS (Infrastructure as a Service)

PaaS (Platform as a Service)

SaaS (Software as a Service)

• Modele specjalizowane.

• Przykłady chmur działających w oparciu o poszczególne modele.

Modele przetwarzania w chmurze

Źródło: Gartner AADI Summit Dec 2009

Page 61: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Przegląd platform PaaS • Przegląd chmur działających w modelu PaaS.

• Aktualny stan rynku chmur w modelu PaaS.

• Microsoft Azure z usługą App Service jako przykład chmury w modelu PaaS.

• Charakterystyka porównawcza współczesnych, popularnych platform PaaS (możliwości, właściwości, ograniczenia, wsparcie dla języków programowania).

Unknown author (https://commons.wikimedia.org/wiki/File:AmazonWebservices_Logo.svg), „AmazonWebservices Logo“, marked as public domain, more details on Wikimedia Commons: https://commons.wikimedia.org/wiki/Template:PD-text

Microsoft Corporation (https://commons.wikimedia.org/wiki/File:Microsoft_Azure_Logo.svg), „Microsoft Azure Logo“, marked as public domain, more details on Wikimedia Commons: https://commons.wikimedia.org/wiki/Template:PD-text

Google (https://commons.wikimedia.org/wiki/File:Google_Cloud_Logo.svg), „Google Cloud Logo“, marked as public domain, more details on Wikimedia Commons: https://commons.wikimedia.org/wiki/Template:PD-text

Google App Engine

Page 62: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Wprowadzenie do środowiska Microsoft Azure

• Konto użytkownika platformy Microsoft Azure.

• Witryna Azure Portal.

• Przegląd poszczególnych usług platformy Microsoft Azure.

• Charakterystyka najważniejszych usług.

Microsoft Corporation (https://commons.wikimedia.org/wiki/File:Microsoft_Azure_Logo.svg), „Microsoft Azure Logo“, marked as public domain, more details on Wikimedia Commons: https://commons.wikimedia.org/wiki/Template:PD-text

Page 63: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tworzenie aplikacji dla Microsoft Azure

• Charakterystyka usługi Azure App Service.

• Kreator tworzenia aplikacji.

• Wykorzystanie Azure Cloud Shell do obsługi Azure App Service.

• Typy aplikacji w Azure App Service (aplikacje internetowe, aplikacje interfejsu API, zadania WebJob, aplikacje mobilne).

• Tworzenie i wdrażanie prostych aplikacji internetowych na Azure App Service (studium przypadków .NET, Java, PHP).

• Emulator chmury (lokalne uruchamianie, testowanie i debugowanie aplikacji).

• Diagnostyka aplikacji w Azure App Service.

Microsoft Corporation (https://commons.wikimedia.org/wiki/File:Microsoft_Azure_Logo.svg), „Microsoft Azure Logo“, marked as public domain, more details on Wikimedia Commons: https://commons.wikimedia.org/wiki/Template:PD-text

Page 64: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Kontenery Docker

• Podstawowe pojęcia: wirtualizacja na poziomie systemu operacyjnego, kontener, konteneryzacja.

• Charakterystyka narzędzia Docker. • Rozwiązania alternatywne dla kontenerów Docker. • Instalacja i konfiguracja narzędzia Docker. • Komponenty Docker: Docker Engine, obiekty (obrazy, kontenery,

usługi, sieci, wolumeny), rejestry (repozytoria obrazów). • Zagadnienia praktyczne:

Praca z obrazami Docker. Tworzenie obrazu. Wykorzystanie narzędzia Dockerfile. Przechowywanie i dystrybucja obrazów (repozytorium, rejestr). Uruchamianie obrazu.

Praca z kontenerami Docker. Tworzenie kontenera. Uruchamianie kontenera. Cykl życia kontenera. Zarządzanie działaniem kontenera.

• Łączenie kontenerów. Tworzenie i uruchamianie aplikacji wielokontenerowych (Docker Compose). Tworzenie klastrów kontenerów (Docker Swarm).

• Wykorzystanie i obsługa kontenerów Docker we współczesnych platformach chmurowych PaaS.

Logo: dotCloud, Inc. (https://commons.wikimedia.org/wiki/File:Docker_(container_engine)_logo.svg), https://www.apache.org/licenses/LICENSE-2.0

Rysunek: User:Maklaan (https://commons.wikimedia.org/wiki/File:Docker-linux-interfaces.svg), „Docker-linux-interfaces“, marked as public domain, more details on Wikimedia Commons: https://commons.wikimedia.org/wiki/Template:PD-ineligible

Page 65: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Oprogramowanie Kubernetes

• Koncepcja orkiestracji kontenerów. • Charakterystyka narzędzia Kubernetes. • Rozwiązania alternatywne dla narzędzia Kubernetes. • Instalacja i wykorzystanie Kubernetes

(środowisko do nauki i środowisko produkcyjne). • Pojęcie klastra Kubernetes. Architektura klastra

(węzły, węzeł Master, warstwa sterowania, dodatki). • Podstawowe obiekty Kubernetes (pod, usługa, wolumin, przestrzeń nazw,

sekret). Obiekty wyższego poziomu (Deployment, DaemonSet, StatefulSet, ReplicaSet, Job). Zarządzanie obiektami Kubernetes.

• Zagadnienia praktyczne. Tworzenie klastra. Instalowanie aplikacji na klastrze. Obsługa aplikacji. Udostępnianie aplikacji. Skalowanie aplikacji. Aktualizowanie aplikacji.

• Wykorzystanie i obsługa klastrów Kubernetes we współczesnych platformach chmurowych PaaS.

Rysunek: Google, Inc. (https://commons.wikimedia.org/wiki/File:Kubernetes_logo_without_workmark.svg), https://creativecommons.org/licenses/by/4.0/legalcode

Page 66: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka zajęć projektowych

1. Zajęcia organizacyjne (2 godz.) 2. Funkcjonalność aplikacji (2 godz.) 3. Diagram klas aplikacji (2 godz.) 4. Kod źródłowy aplikacji – część 1 (warstwa widoku) (2 godz.) 5. Kod źródłowy aplikacji – część 2 (warstwa logiki) (2 godz.) 6. Wdrożenie aplikacji w chmurze (2 godz.) 7. Testowanie działania i diagnostyka aplikacji w chmurze

(2 godz.) 8. Zaliczenie projektu (1 godz.) W trakcie zajęć prezentowane są efekty poszczególnych etapów projektu.

Page 67: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Literatura do przedmiotu

1. Z. Fryźlewicz, Ł. Leśniczek: "Usługi Microsoft Azure. Programowanie aplikacji", APN Promise 2016 (ebook).

2. J. Krochmalski: "Docker. Projektowanie i wdrażanie aplikacji", Helion 2017.

3. S.P. Kane, K. Matthias: "Docker. Praktyczne zastosowania. Wydanie II", Helion 2019 (zawiera również zagadnienia dotyczące Kubernetes).

4. K. Hightower, B. Burns, J. Beda: "Kubernetes. Tworzenie niezawodnych systemów rozproszonych", Helion 2019 (zalecane oryginalne wydanie w języku angielskim).

5. R. McKendrick, S. Gallagher: "Docker. Programowanie aplikacji dla zaawansowanych. Wydanie II", Helion 2018.

6. dokumentacja techniczna Microsoft Azure: https://azure.microsoft.com.

7. dokumentacja techniczna Docker: https://docker.com.

8. dokumentacja techniczna Kubernetes: https://kubernetes.io.

Page 68: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Specjalność: Zastosowania Systemów Baz Danych

przedmiot:

Eksploracja danych prowadzący:

dr inż. Rafał Wojszczyk

Semestr: 3

Forma zajęć: 30w15c

Page 69: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Cele kursu

• Poznanie ważnych pojęć i zagadnień związanych z przetwarzaniem, eksploracją i prezentacją danych

• Uzyskanie wiedzy z zakresu użytkowania, projektowania i wytwarzania narzędzi do przetwarzania i analizy

• Zrozumienie działania i wykorzystania narzędzi związanych z Business Intelligence oraz Big Data

• Kształtowanie umiejętności w zakresie poszukiwania nietrywialnych, nieoczywistych asocjacji w zbiorach danych

• Poznanie narzędzi, które wspomagają pracę specjalistów od baz danych

Page 70: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka wykładów

1. Wprowadzenie do przedmiotu (4 godz.)

2. Odkrywanie asocjacji (6 godz.)

3. Odkrywanie wzorców sekwencji (2 godz.)

4. Problem klasyfikacji obiektów (2 godz.)

5. Problem grupowania obiektów (2 godz.)

6. Wprowadzenie do biznesowej analizy danych (2 godz.)

7. Hurtownie danych (4 godz.)

8. Transformacje danych oraz Big Data (4 godz.)

9. Wielowymiarowa analiza danych (2 godz.)

10. Raportowanie danych (2 godz.)

Page 71: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

1.Wprowadzenie do przedmiotu (4 godz.) • Podstawowe zagadnienia związane z dziedziną eksploracji

danych oraz etapy procesu eksploracji danych. • Omówienie przyczyn gromadzenia i analizowania danych

oraz problemy z nadmiarem danych oraz BigData. • Metody i narzędzia służące do analizy danych. • Cele i korzyści biznesowe wynikające z eksploracji danych. • Główne kierunki rozwoju, zastosowanie w świecie

rzeczywistym, przykłady wykorzystania eksploracji danych, z którymi spotyka się większość ludzi.

• Systemy klasy ERP.

Page 72: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

2. Odkrywanie asocjacji (6 godz.) • Wprowadzenie problemu analizy koszyka zakupów (MBA) oraz

przełożenie tego problemu na inne dziedziny, modelowanie przykładów świata rzeczywistego w postaci tablic obserwacji wykorzystywanych w eksploracji danych.

• Omówienie typów reguł asocjacyjnych oraz podstawowych algorytmów odkrywania binarnych reguł asocjacyjnych

• Wprowadzenie pojęć ufności, wsparcia, zbioru częstego i zbioru kandydującego.

• Wykorzystanie algorytmu A­Priori oraz FP-drzewa do odkrywania asocjacji.

• Rozszerzenie przedstawionych reguł asocjacyjnych o wielopoziomowe i wielowymiarowe reguły asocjacyjne

• Podstawowe algorytmy optymalizujące w eksploracji danych, miary ataktyczności reguł asocjacyjnych.

Page 73: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

3. Odkrywanie wzorców sekwencji (2 godz.)

• Wprowadzenie pojęć transformacji zbioru i sekwencjonowania.

• Podstawowe algorytmy, algorytm oparty na drzewach haszowych GSP oraz algorytm PrefixSpan.

• Odkrywanie wzorców sekwencji z ograniczeniami oraz uogólnionych wzorców sekwencji.

• Przykłady zastosowań odkrywania sekwencji w telekomunikacji, medycynie, ubezpieczeniach oraz modelowaniu systemów równoległych.

Page 74: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

4. Problem klasyfikacji obiektów (2 godz.)

• Opis modelu klasyfikacyjnego oraz zastosowanie modelu do predykcji nowych obiektów.

• Przedstawienie popularnych metod klasyfikacji: klasyfikacja przez indukcję drzew decyzyjnych oraz klasyfikatora regułowe, naiwny klasyfikator Bayes'a oraz najbliższego sąsiedztwa

• Uzupełnienie przedstawionego materiału o kryteria oceny metod klasyfikacji, dokładność klasyfikacji oraz przeuczenie klasyfikatora.

Page 75: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

5. Problem grupowania obiektów (2 godz.)

• Omówienie różnic pomiędzy grupowaniem a klasyfikacją.

• Wskazanie klasy problemów, gdzie zalecane jest zastosowanie grupowania, a gdzie metod klasyfikacji.

• Wyjaśnienie pojęć: klaster, skupienie, miara podobieństwa, miara odległości, cecha obiektu. Przedstawienie procesu grupowania z uwzględnieniem binaryzacji i kategoryzacji cech obiektów.

Page 76: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

6. Wprowadzenie do biznesowej analizy danych (2 godz.)

• Wyjaśnienie potrzeb od strony biznesu, które stymulują budowę systemów klasy BI, w tym systemów dedykowanych pod potrzeby konkretnego klienta.

• Przykład wybranych analiz biznesowych w branżach produkcja, sprzedaż hurtowa oraz branża usługowa (np. hotelarstwo).

• Omówienie procesu budowy systemu BI oraz przedstawienie działania gotowych systemów, jak również narzędzi do budowy dedykowanych systemów (np. Microsoft Business Intelligence Development Studio).

Page 77: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

7. Hurtownie danych (4 godz.)

• Omówienie różnic pomiędzy hurtowniami danych a klasycznymi relacyjnymi bazami danych oraz uzasadnienie potrzeby budowy hurtowni danych.

• Wprowadzenie pojęć miar i wymiarów oraz sposobów identyfikowania miar i wymiarów w istniejących bazach.

• Implementacja modelu wielowymiarowego w serwerach relacyjnych (ROLAP), wyjaśnienie typowych struktur: schemat gwiazdy, płatka śniegu.

• Przedstawienie budowy hurtowni danych.

• Omówienie daty i czasu.

Page 78: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

8. Transformacje danych oraz Big Data (4 godz.)

• Omówienie procesu transformacji: akwizycja danych z różnych typów źródeł (np. XML, bazy danych, sieci społecznościowe), wykrywanie zmian w źródłach, transformacja danych do postaci zgodnej z hurtowniami danych, łączenie danych z wymiarami, uzupełnianie danych w hurtowniach danych.

• Budowa transformacji ETL w dedykowanych narzędziach (np. Microsoft Business Intelligence Development Studio), na przykładzie przygotowanej wcześniej hurtowni danych.

Page 79: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

8. Transformacje danych oraz Big Data (4 godz.) – c.d.

• Automatyzacja transformacji, tzw. nocne buildy, oraz optymalizacja transformacji.

• Wprowadzenie do problemów związanych z Big Data, w kontekście transformacji danych.

• Omówienie pojęć „data lake” oraz leniwego odczytu danych. Wprowadzenie elementów uczenia maszynowego oraz ontologii, jako narzędzia wspomagające unifikację i klasyfikację danych z różnych źródeł (w z tym z data lake).

Page 80: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

9. Wielowymiarowa analiza danych (2 godz.)

• Scharakteryzowanie przetwarzania analitycznego OLAP oraz budowy kostki OLAP

• Tworzenie miar i wymiarów na podstawie przygotowanej wcześniej hurtowni danych

• Budowa analiz wielowymiarowych (użycie miar i wymiarów) oraz omówienie podstawowych operacji w kostkach OLAP (np. zwijanie, selekcja itp.).

Page 81: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

10. Raportowanie danych (2 godz.)

• Wprowadzenie do raportów/wydruków generowanych za pomocą narzędzi typu Reporting Services, Crystal Reports.

• Wyjaśnienie potrzeb biznesowych budowy raportów. Przedstawienie sposobów budowy raportów na przykładzie opracowanej wcześniej hurtowni danych oraz kostki OLAP.

• Omówienie dodatkowych funkcji w wybranym narzędziu do raportowania, np. tworzenie wykresów, sortowani.

Page 82: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Tematyka ćwiczeń

1. Wykorzystanie podstawowej wiedzy z eksploracji danych (2 godz.)

2. Wykorzystanie metod klasyfikacji (2 godz.)

3. Przygotowanie środowiska roboczego i hurtownie danych (4 godz.)

4. Opracowanie transformacji ETL (2 godz.)

5. Budowa kostki OLAP (2 godz.)

6. Prezentacja i raportowanie danych (3 godz.)

Page 83: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

1. Wykorzystanie podstawowej wiedzy z eksploracji danych (2 godz.)

• Wprowadzenie wybranych funkcji arkusza kalkulacyjnego (np. import danych z różnych źródeł, tabele przestawne, Solver, filtrowanie i sortowanie) – wykonywanie zadań na gotowym zbiorze danych.

• Generowanie zbiorów kandydujących i zbiorów częstych dla własnego zbioru danych

• Odkrywanie reguł asocjacyjnych, obliczanie miar wsparcia i ufności.

Page 84: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

2. Wykorzystanie metod klasyfikacji (2 godz.)

• Przygotowanie wejściowego zbioru danych, obliczanie prawdopodobieństwa w MS Excel na potrzeby dalszych kroków.

• Implementacja w MS Excel klasyfikacji za pomocą naiwnego klasyfikatora Bayes’a.

Page 85: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

3. Przygotowanie środowiska roboczego i hurtownie danych (4 godz.)

• Wybranie odpowiedniej wersji oraz instalacja środowiska roboczego Business Intelligence Development Studio.

• Konfiguracja podstawowych komponentów i serwerów.

• Zapoznanie się z programami całego pakietu.

• Utworzenie hurtowni danych, zamodelowanie odpowiednich miar i wymiarów, na podstawie istniejącej bazy danych systemu ERP.

Page 86: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

4. Opracowanie transformacji ETL (2 godz.)

• Projekt transformacji danych z bazy danych programu ERP do opracowanej wcześniej struktury hurtowni danych.

• Utworzenie procesu ETL w Business Intelligence Development Studio. Uruchomienie transformacji i zasilenie hurtowni danych.

Page 87: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

5. Budowa kostki OLAP (2 godz.)

• Utworzenie kostki OLAP na podstawie opracowanej hurtowni danych, a następnie dodanie brakujących wymiarów oraz miary i funkcji wyliczeniowych.

• Uruchomienie kostki oraz wykonanie podstawowych operacji potrzebnych do prezentacji danych (np. zwijanie, selekcja).

Page 88: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

6. Prezentacja i raportowanie danych (3 godz.)

• Tworzenie interaktywnych raportów na podstawie danych z bazy danych lub OLAP.

• Formatowanie raportów, dopasowanie raportów do przyjętych standardów biznesowych.

• Automatyzacja generowania raportów z parametrami.

Page 89: Wydział Elektroniki i Informatyki · administratora baz danych. ... zawodowej opracowywać oprogramowanie dla różnego rodzaju systemów informacyjnych z wykorzystaniem standardów

Literatura do przedmiotu 1. Tadeusz Morzy, Eksploracja danych, Wydawnictwo Naukowe PWN 2013

2. John W. Foreman, Mistrz analizy danych. Od danych do wiedzy, Helion 2017

3. Wee-Hyong Tok i inni, Microsoft SQL Server 2012 Integration Services, APN Promise 2017

4. Rachel Schutt, Cathy O'Neil, Badanie danych. Raport z pierwszej linii działań, Helion 2014

5. Daniel Larose, Metody i modele eksploracji danych, Wydawnictwo Naukowe PWN 2008

6. Data Mining: Concepts and Techniques, J. Han, M. Kamber, Morgan Kaufman, 2000

7. Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, I. H. Witten, E. Frank, Morgan Kaufman, 2000

8. Pricinciples of Data Mining, J. Hand, H. Mannila, P. Smyth, MIT Press, 2001

9. Systemy uczące się, P. Cichosz, WNT, 2000

10. Odkrywanie asocjacji: Algorytmy i struktury danych, T. Morzy, OWN, 2004