Semestrálny projekt v letnom semestri


Zadanie

Napíš program v Pythone, ktorý umožní simulovať prácu s databázou.

Témy

Vyber si jednu z ponúkaných tém z Témy semestrálnych projektov. Popis témy je len odporúčaný - môžeš si ho mierne prispôsobiť. Každú tému môžu mať max. 2 študenti. K vybranej téme sa zapíš na tejto stránke: tabuľka pre zapisovanie sa na tému.

Požiadavky

  • Databáza musí obsahovať aspoň 2 tabuľky, ktoré nesmú byť nezávislé (jedna obsahuje prepojenie do druhej).

  • Každá tabuľka musí obsahovať aspoň štyri položky. V odovzdanom projekte musí každá tabuľka obsahovať aspoň 10 riadkov.

  • Projekt umožní pracovať s údajmi v tabuľkách: vyberať (zobrazovať), vkladať, upravovať, triediť. Nie je nutné robiť všetky akcie na všetkých tabuľkách, ale každá tabuľka musí byť nejako využitá.

  • Každá tabuľka musí byť uložená v samostatnom súbore. Projekt musí umožniť načítanie databázy (t.j. všetkých tabuliek) zo súborov a uloženie aktuálneho stavu tabuliek do súborov.

  • Môžeš využiť modul sqlite3, ktorý je súčasťou štandardnej inštalácie, alebo databázu nasimulovať.

  • Projekt musí obsahovať sadu “testov” všetkých operácií, ktoré tvoj projekt obsahuje, t.j. vkladanie, upravovanie, zobrazenie/výpis tabuľky, zobrazenie/výpis utriedenej tabuľky podľa aspoň 2 rôznych kritérií, načítanie databázy, uloženie databázy.

  • Projekt musí využívať aspoň jednu triedu.

  • Okrem definície triedy (tried) a inštancie základnej triedy, nepoužívaj žiadne globálne premenné ani funkcie.

  • Projekt by si mal realizovať samostatne, bez cudzej pomoci, samozrejme, že môžeš rôzne problémy konzultovať s vyučujúcimi, ale aj so svojimi kolegami.

Hodnotenie

Projekt budú hodnotiť tvoji cvičiaci (D. Bezáková, A. Hrušecká), ale musíš ho odovzdať na úlohový server L.I.S.T. Po odovzdaní projektu sa ozvi mailom niektorej z cvičiach a dohodni si termín prezentácie projektu. Prezentácia projektu prebieha online.

Za splnenie všetkých požiadaviek bude základných 5 bodov.

Ďalšie body (max 5) môžete získať napríklad za:

  1. mazanie údajov

  2. vyhľadávanie údajov podľa kritérií (filtrovanie)

  3. využitie obrázkov ako súčasťou informácie v “databáze”

  4. použitie binárneho súboru namiesto textového

  5. user interface

    • konzolový (menej hodnotený) alebo pohodlný grafický, t.j. simulácia formulára (viac hodnotený)

    • interface by mal ošetriť zle zadané vstupné hodnoty (napr. číslo, kde sa očakáva text a naopak, žiadna hodnota, ak ide o povinnú položku a pod.), alebo neumožniť takéto zlé hodnoty zadať

  6. za umelecký dojem

  7. viac ako dve tabuľky, resp. rozsiahle tabuľky (výrazne väčší počet položiek)

Takto získané body (maximálne 10) sa pripočítavajú k bodom ku skúške len vtedy, ak ich získaš ešte pred samotným termínom skúšky.