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):
- Utworzenie i zgłoszenie składu 2-osobowego zespołu projektowego.
- Propozycja tematu projektu (wymaga akceptacji).
- 1 etap (tygodnie 1–3): Specyfikacja wymagań i diagram związków encji (ERD):
- Opracowanie wymagań funkcjonalnych i niefunkcjonalnych dla bazy i aplikacji bazodanowej, czyli co (funkcjonalne) i jak (niefunkcjonalne) ma ona robić, oraz dla kogu (użytkownicy).
- Opracowanie scenariuszy funkcjonowania aplikacji bazodanowej.
- 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:
- 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).
- Opracowanie diagramu konceptualnego lub logicznego modelu bazy na podstawie diagramu ERD w 3. postaci normalnej:
- 1. postać normalna:
- każda kolumna przechowuje atomową wartość,
- min. jedna z kolumn zawiera klucze główne.
- 2. postać normalna:
- j.w.
- każda kolumna zależy od całego klucza, a nie tylko jego części.
- 3 postać normalna:
- j.w.
- żadna kolumna niekluczowa nie jest zależna od innej kolumny niekluczowej.
- 1. postać normalna:
- 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:
- Zdefiniowanie użytkowników bazy danych i nadanie im odpowiednich uprawnień.
- Zdefiniowanie typów kolumn zgodnie z wymaganiami serwera.
- Ustawienie odpowiednich kolumn jako unikalne i/lub opcjonalne.
- Zdefiniowanie kluczy głównych i obcych dla powiązania tabel.
- Zdefiniowanie zachowania bazy w przypadku modyfikacji i usuwania danych w powiązanych tabelach, z wykorzystaniem wyzwalaczy.
- Zdefiniowanie procedur lub funkcji dostępu do danych (automatyzacja i bezpieczeństwo wykonywania zapytań na bazie).
- Wykorzystanie innych możliwości wybranego systemu zarządzania bazą (opcjonalnie).
- Wdrożenie bazy i przetestowanie jej, w tym sprawdzenie:
- integralności semantycznej (czy dane mają właściwy typ, rozmiar, format itp.);
- integralności encji (czy tabele mają unikalne i niepuste klucze główne);
- 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:
- Opracowanie makiety interfejsu graficznego aplikacji bazodanowej na podstawie scenariuszy funkcjonowania aplikacji bazodanowej i struktury bazy.
- Wykonanie i wdrożenie aplikacji desktopowej, mobilnej lub webowej dla użytkownika wykonanej wcześniej bazy danych.
- Przetestowanie aplikacji bazodanowej (zautomatyzowane lub ręczne testy funkcjonalne), w tym sprawdzenie:
- intuicyjności i idioto-odporności działania aplikacji,
- zgodności działania aplikacji ze scenariuszami jej funkcjonowania,
- wpływu aplikacji bazodanowej na zachowanie integralności i bezpieczeństwa bazy danych.
- zakończenie (tydzień 15):
- Oddanie raportu (1 plik pdf) z wszystkich etapów realizacji projektu.
- Prezentacja ukończonej bazy i aplikacji bazodanowej, jeśli nie było jej wcześniej.
- 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.