155PJIN Projekt - Informatika
Anotace
Projekt navazuje na tři úvodní předměty aplikované geoinformatiky 153OSL, 153DASY a 153PGC. Studenti jsou rozděleni do skupin, které během semestru pracují na zadaném tématu. Projekt obvykle představuje návrh a databázové aplikace.
Cílem projektu je propojení znalostí ze zmíněných úvodních tří předmětů v rámci jednoho projektu a praktický týmová spolupráce.
Skupiny během semestru průběžně prezentují výsledky a postup prací. Semestr je zakončen veřejnou prezentací projektů.
Doporučená literatura
Požadavky
- Projekt je šířen pod licencí GNU GPL, pokud s touto podmínkou autoři nesouhlasí, musí to explicitně uvést na první straně dokumentace.
- Vedlejším produktem projektu je 10 otázek a odpovědí (SQL selecty) pro tutoriál SQLtutor nad databází dané skupiny (zajímavá řešení budou zařazena do sbírky příkladů).
- Závěrečná zpráva je odevzdána v jediném archivním souboru 153pjin-rok-x.tar.gz, kde rok je čtyřciferné číslo roku a x označuje přidělený kód skupiny (všechny soubory jsou v tar archivu uloženy v podadresáři 153pjin-rok-x). V názvech archivních souborů a příslušných podadresářů se používají jen číslice a malá písmena bez diakritiky.
- Součástí závěrečné zprávy musí být:
- textová dokumentace ve formátu PDF včetně zdrojového textu, např. LaTeX
- prezentace projektu v PDF
- všechny zdrojové texty strukturované podle potřeby do hierarchie podadresářů
- jména souborů projektu (typicky obrázky) nesmí obsahovat diakritiku a mezery
- v adresáři Qt projektu se zdrojovými texty překládaných programů nesmí být soubory *.user.pro a Makefile
- Upřesňující požadavky na aplikaci
- základní ovládání je přes menu
- aplikace musí implementovat import sql dat, pokud chybí tabulky, musí je po dotazu vytvořit (použijte qr resource file pro uložení SQL příkazů pro vytvpření tabulek)
- je definovana funkce export dat ve formatu sql
- je definována funkce, která odstraní tabulky z databáze (DROP TABLE ...)
- aplikace umožňuje editace dat
- Projekt je zakončen veřejnou prezentací
Akademický rok 2011-2012
Projekty jsou Qt aplikace, které pracují s databází SQLite anebo PostgreSQL.
- Skupina A - Rašeliniště
- Michaela Šípková, Jana Antlová, Lada Strouhalová
- Skupina B - Zapomenuté obce
- Štěpán Bambula, Žofie Cimburová, Adam Dlesk
- Skupina C - Databáze Chráněných krajinných oblastí a Národních parků
- David Hanousek, Stanislava Hlaváčková, Martin Paukner
- Skupina D - Alpské chaty a trasy
- Jan Klíma, Matěj Krejčí, Jaroslav Urik
Harmonogram
- 13.2. úvodní setkání, rozdělení do skupin, požadavky na projekt a příprava
- 20.2. GIS pro životní prostředí
- Skupina D nedodala téma ani složení před exkurzí GIS
- 27.2. 1. přednáška - úvod do tvorby GUI aplikací v Qt
- 05.3. 2. přednáška
- 12.3. 1. průběžná kontrola
- 19.3. 2. průběžná kontrola
- 26.3
- 02.4. 1. kontrola projektu
- 09.4.
- 16.4.
- 23.4. závěrečená prezentace
- 30.4.
- 07.5. Výuka v terénu z Elektronických metod 10.-16.5.
Průběžné kontroly
12.3 19.3 2.4. 16.4. ~ ~ ~ ~ ~ ~ ~ ~ A Michaela Šípková 1 1 6 bodů 29.3. ... . . . . . . . . Jana Antlová . 1 . . . . . . . . Lada Strouhalová . 1 . . . . . . . . B Štěpán Bambula 1 3 4 body 1.4.! ... . . . . . . . . Žofie Cimburová 1 2 . . . . . . . . Adam Dlesk 1 1? . . . . . . . . C David Hanousek 1 1 4 body 29.3. ... . . . . . . . . Stanislava Hlaváčková . 2 . . . . . . . . Martin Paukner . 1 . . . . . . . . D Jan Klíma . 1 2 body 31.3! @ . . . . . . . . Matěj Krejčí . 2 . . . . . . . . Jaroslav Urik . 2 . . . . . . . .
? nešlo spustit, něco chybí v projektu
! dodáno po termínu
@ chybné jméno archivního souboru projektu
1. kontrola projektu
Jsou jasně daná paravidla, jak má být pojmenován archivní soubor, dodržela pouze skupina C. Navíc je ale i stanoveno, že archivní soubor se musí rozbalit do podadresáře obdobného jména, tj. po rozbalení čtyř projektů se nesmí primíchat nesouvisející soubory v jediném adresáři.
A) databáze rašelinišť je velmi hezké téma, ověřil jestli jsou tam má oblibená Červená blata (vy uvádíte Červené blato, možná je tak opravdu ofociální nízev, to nevím). Aplikace má velký potenciál, především, pokud by bylo možno ji doplnit fotografiemi. Momentálně je ale aplikace pouze v počátku, je třeba na ní silně zapracovat, především, aby poskytovala všechny možnosti vyhledávání. Toto je přesně příklad datasetu, který bych si představoval pro sqlutora.
B) z programátorského hlediska momentálně nejlepší řešení, splňuje i formální požadavky na pojmenování projektu a pod. Škoda, že byl projekt dodán po termínu, body jsem zredukoval na 50% (stejně jako u skupiny D). Projekt používá qt layouty, tak jak se má. Není mi z daného stavu jasné, co bude obsahem dvou hlavních widgetů QTableView a QListView, jen bych zmínil, že i takovéto widgety lze uspořádat pomocí layoutu horizontal splitter, takže se jedno "okno" může zvětšovat-zmenšovat na úkor druhého.
C) CHKO - také hezké téma. Aplikace mi ale zatím nic nedělá. Silně nedoporučuji nastavavovat explicitne barvy písma, pozadí a pod., tj. měnit inplicitní vzhled aplikace. Žluté písmo je na mém monitoru prakticky nečitelné (rozlišení 1920x1080), je to stejné jako s webovými aplikacemi "optimalizovanými" pro konkrétní typ prohlížeče a monitor programátora.
D) České chaty a chalupy. Tak jako předchozí případy je to celé v předpočátečním stavu. Ke termínu první kontroly už by měly aplikace být ve stavu, aby se k finální verzi pouze dolaďovaly. Žádná ze skupin pro nastavení vzhledu nepoužívá mechanismus Qt layoutů (stejně tak se na webu pro definici vzhledu používají styly).
Pokud bych měl klasifikovat v této fázi, pak by hodnocení bylo mezi D-E.
2. kontrola projektu
Qt projekty by se meli jmenovat rozumne, tedy raseliniste, zanikle_obce a pod. To, ze je pozadovano jmeno archivního souboru a adresare projektu je něco jiného.
Skupina A
- problém s kódováním. Používáte sice funkci fromLocal8Bit, která ale ztrácí smysl při přechodu do jiného systétému (v mém případě jde o Utf8), je třeba to nastavit v .pro
CODECFORTR = ISO-8859-2 CODECFORSRC = ISO-8859-2
- (ve vašem případě asi Windows-1250) podívejte se ještě na to. Mimochodem, mělo by jít přepnout IDE do utf8. Stejně byste ale měli používat funkci tr()
- nefunguje mi funkce vyhledávání ("otevírání databáze selhalo")
- hezké téma, opravte co nejryhlejji uvedené připomínky, at je to do prezentace v pořádku
- chybové/varovné zprávy (stačí používat jen jedno spojení, tj. ne pokaždé addDatabase, to jen poprve, ale jen datasae)
QSqlDatabasePrivate::removeDatabase: connection 'raseliniste_db' is still in use, all queries will cease to work. QSqlDatabasePrivate::addDatabase: duplicate connection name 'raseliniste_db', old connection removed. "přechodové" "Středočeský" QSqlDatabasePrivate::addDatabase: duplicate connection name 'raseliniste_db', old connection removed. " - - - - " QSqlDatabasePrivate::addDatabase: duplicate connection name 'raseliniste_db', old connection removed. " - - - -" "vrchovištní" "přechodové" "Středočeský" QSqlDatabasePrivate::addDatabase: duplicate connection name 'raseliniste_db', old connection removed.
Skupina B
- Pokud spustím aplikaci a nejsme ještě připojen k databázi, měly by být všechny funkce-operace, kterých se to týká, ve stavu disabled a zpřístupněny (enabled), až když se databázové spojení úspěšně naváže.
- nefunguje mi export
- je celkem snadné zkontrolovat, jestli jsou v DB potřebné tabulky, které lze stejně snadno vytvoři, viz příklad qproj na http://geo.fsv.cvut.cz/proj/
- ve finální verzi odstraňte qDebuc() příkazy
- celkově to vypadá dobře
Skupina C
omluvili se, zatím nestihli
Skupina D
- zatím jen polotovar
- po vložení záznamu be se mělo aktualizovat zobrazení záznamů databáze. Je matoucí, pokud vložím záznam a ten pak není vidět v panelu vlevo
Předchozí ročníky
Přehled projektů z předchozích ročníků je uložen v archivu