Bazy Danych (projekty)

dla studentów automatyki i robotyki (3 rok, inż.).
kod kursu: AREK00018P

Przed rozpoczęciem zajęć proszę zapoznać się z całością tej strony.

Organizacja zajęć

Celem tego kursu jest projektowanie, implementacja i testowanie relacyjnej bazy danych i związanej z nią desktopowej lub mobilnej lub webowej aplikacji.

Zadania te wykonywane są w 2-osobowych zespołach, które same ustalają sobie sposób współpracy i podział zadań, zgodnie z umieszczonym niżej planem zajęć. Skład zespołu można zgłosić podczas pierwszych zajęć lub zdać się na losowe połączenie.

Pierwsze 2 tygodnie zajęć w semestrze letnim 2021/2022 (do 13 marca) odbywają się zdalnie w godzinach zajęć na platformie MS Teams.

Pozostałe zajęcia w semestrze letnim 2021/2022 (od 14 marca) odbywają się stacjonarnie i mają postać dobrowolnych konsultacji z nauczycielem.

Poniżej znajdują się m.in.: plan zajęć (czyli co i do kiedy należy wykonać), przykładowe tematy projektów, wymagania dotyczące zawartości i oddawania sprawozdań oraz sposób oceniania.

Ze względów sanitarnych osoby przebywające w laboratorium muszą mieć zasłonięte usta i nos oraz zachowywać bezpieczną odległość od innych osób. Osoba z katarem lub kaszlem lub wysoką temperaturą  powinna zostać w domu a na zajęcia przysłać swego współpracownika z pary (jeśli jest zdrowy).

Plan zajęć

Prace nad projektem podzielone są na 3 etapy.

  • wstęp (tydzień 1):
    1. Utworzenie i zgłoszenie składu 2-osobowego zespołu projektowego.
    2. Propozycja tematu projektu (wymaga akceptacji).
  • 1 etap (tygodnie 1–3): Specyfikacja wymagań i diagram związków encji (ERD):
    1. Opracowanie wymagań funkcjonalnych i niefunkcjonalnych dla bazy i aplikacji bazodanowej, czyli co (funkcjonalne) i jak (niefunkcjonalne) ma ona robić, oraz dla kogu (użytkownicy).
    2. Opracowanie scenariuszy funkcjonowania aplikacji bazodanowej.
    3. Identyfikacja encji (danych przechowywanych w bazie) i opracowanie diagramu związków encji (ERD) na podstawie analizy scenariuszy funkcjonowania aplikacji bazodanowej. Encja ma zawierać tylko nazwę przyszłej tabeli.
  • 2 etap (tygodnie 4–8): Projekt, implementacja i testy bazy danych:
    1. Sformułowanie wymagań dotyczących dostępu do bazy i jej zawartości (który użytkownik, na której tabeli, jakie operacje może wykonywać: wstawianie, modyfikacja usuwanie i wyszukiwanie).
    2. Opracowanie diagramu konceptualnego lub logicznego modelu bazy na podstawie diagramu ERD w 3. postaci normalnej:
      1. 1. postać normalna:
        1. każda kolumna przechowuje atomową wartość,
        2. min. jedna z kolumn zawiera klucze główne.
      2. 2. postać normalna:
        1. j.w.
        2. każda kolumna zależy od całego klucza, a nie tylko jego części.
      3. 3 postać normalna:
        1. j.w.
        2. żadna kolumna niekluczowa nie jest zależna od innej kolumny niekluczowej.
    3. Opracowanie diagramu fizycznego modelu bazy (dostosowanego do wybranego serwera bazy danych), na podstawie konceptualnego lub logicznego modelu i utworzenie skryptu SQL definiującego bazę, w tym:
      1. Zdefiniowanie użytkowników bazy danych i nadanie im odpowiednich uprawnień.
      2. Zdefiniowanie typów kolumn zgodnie z wymaganiami serwera.
      3. Ustawienie odpowiednich kolumn jako unikalne i/lub opcjonalne.
      4. Zdefiniowanie kluczy głównych i obcych dla powiązania tabel.
      5. Zdefiniowanie zachowania bazy w przypadku modyfikacji i usuwania danych w powiązanych tabelach, z wykorzystaniem wyzwalaczy.
      6. Zdefiniowanie procedur lub funkcji dostępu do danych (automatyzacja i bezpieczeństwo wykonywania zapytań na bazie).
      7. Wykorzystanie innych możliwości wybranego systemu zarządzania bazą (opcjonalnie).
    4. Wdrożenie bazy i przetestowanie jej, w tym sprawdzenie:
      1. integralności semantycznej (czy dane mają właściwy typ, rozmiar, format itp.);
      2. integralności encji (czy tabele mają unikalne i niepuste klucze główne);
      3. integralności referencji (czy wartości kluczy obcych są puste lub odpowiadają odpowiednim kluczom głównym z powiązanymi tabelami).
  • 3 etap (tygodnie 9–14): Projekt, implementacja i testy aplikacji bazodanowej:
    1. Opracowanie makiety interfejsu graficznego aplikacji bazodanowej na podstawie scenariuszy funkcjonowania aplikacji bazodanowej i struktury bazy.
    2. Wykonanie i wdrożenie aplikacji desktopowej, mobilnej lub webowej dla użytkownika wykonanej wcześniej bazy danych.
    3. Przetestowanie aplikacji bazodanowej (zautomatyzowane lub ręczne testy funkcjonalne), w tym sprawdzenie:
      1. intuicyjności i idioto-odporności działania aplikacji,
      2. zgodności działania aplikacji ze scenariuszami jej funkcjonowania,
      3. wpływu aplikacji bazodanowej na zachowanie integralności i bezpieczeństwa bazy danych.
  • zakończenie (tydzień 15):
    1. Oddanie raportu (1 plik pdf) z wszystkich etapów realizacji projektu.
    2. Prezentacja ukończonej bazy i aplikacji bazodanowej, jeśli nie było jej wcześniej.
    3. Wystawienie ocen końcowych.

Tematy projektów

Przykładowe przeznaczenie projektów z zeszłych lat:

  • dla hurtowni napojów,
  • dla internetowego serwisu muzyków,
  • dla internetowego sklepu z odzieżą,
  • dla kibiców sportowych,
  • dla kina,
  • dla obsługi konta bankowego,
  • dla optymalizacji diety,
  • dla organizacji studenckiej,
  • dla producenta i sprzedawcy samochodów,
  • dla produkcji i dystrybucji napojów,
  • dla przychodni,
  • dla sklepu i wypożyczalni książek,
  • dla społecznościowego systemu podwożenia ludzi,
  • dla stacjonarnego sklepu z elektroniką,
  • dla studia nagrań,
  • dla wypożyczalni miejskich rowerów,
  • dla wypożyczalni samochodów,
  • dla zamówień w fabryce.

Przydatne strony

Sprawozdania

Każdy etap zajęć kończy się oddaniem sprawozdania z tego etapu, a zakończenie semestru – oddaniem połączonego sprawozdania ze wszystkich etapów, po ich ewentualnym poprawieniu lub uzupełnieniu.

Sprawozdanie ma być w pliku pdf, w którym należy umieścić opis tego, co wykonano w ramach danego etapu lub całego kursu (w przypadku sprawozdania końcowego). W szczególności:

  • dla projektu bazy lub aplikacji – opisy słowne, diagramy, rysunki itp.;
  • dla implementacji bazy – sposób jej wdrożenia i cały jej kod SQL z wyjaśnieniem przykładowych fragmentów;
  • dla implementacji aplikacji – sposób jej wykonania, wybrane fragmenty jej kodu z wyjaśnieniem i ilustracje pokazujące jej działanie;
  • dla testów bazy lub aplikacji – sposób jej testowania i opisy lub kod przykładowych testów.

Najpóźniej ostatniego dnia każdego etapu, w czasie zajęć, przynajmniej 1 student z zespołu projektowego musi przyjść na zajęcia w celu omówienia pracy wykonanej w danym etapie. Wcześniej sprawozdanie z tego etapu należy przesłać mailem.

Oceny

Studenci otrzymują jedną lub kilka ocen za prace wykonane w każdym etapie. Podstawą oceny jest sprawozdanie i pokazanie działania bazy/aplikacji. Ocenę tę można poprawić w ciągu tygodnia po jej otrzymaniu, na maksymalnie 4,5 (mogą być wyjątki).

Za oddanie sprawozdania po terminie ocena jest obniżana o 1 stopień.

Ocena końcowa to średnia wszystkich cząstkowych ocen.

Comments are closed.