bakalářská práce

Inteligentní plánovač úkolů

Text práce 5.76 MB

Autor práce: Ing. Jan Zimola

Ak. rok: 2022/2023

Vedoucí: Ing. Jiří Hynek, Ph.D.

Oponent: Ing. Alena Omachtová

Abstrakt:

Tato práce si klade za cíl vytvořit novou plánovací aplikaci, která kombinuje různé techniky správy času. Z hloubkového výzkumu správy času a průzkumu mezi potenciálními uživateli vyplynulo mnoho různých technik, které aplikace musí poskytnout, aby uspokojila různé potřeby uživatelů. Současné aplikace k tomuto účelu nestačí. Nová implementace kombinuje především seznam úkolů a kalendář, ale také podporuje návyky nebo Pomodoro techniku. Uživatel může přiřadit hodnoty projektům, značkám nebo úkolům, jako je priorita, termín nebo odhad. Tyto atributy jsou později použity v modelu strojového učení pro ohodnocení prvků, což umožňuje aplikaci navrhnout uživateli nejrelevantnější úkoly. Aplikace byla postavena pomocí multiplatformního rámce Flutter a uvolněna na App Store a Google Play. Vlastní synchronizační mechanismus pro data aplikace je využíván mezi databází Isar a serverem Appwrite. Uživatelem definované události mohou být také zobrazeny v lokálním kalendáři vybraném uživatelem pro synchronizaci.

Klíčová slova:

správa času, mobilní aplikace, Flutter, Appwrite, Isar, Pomodoro technika, timeboxing, kalendář, seznam úkolů, dart, zvyky, Android, iOS, strojové učení

Termín obhajoby

12.06.2023

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky k obhajobě

  1. Vysvětlete, jak používáte strojové učení k výpočtu skóre.
  2. Který konkrétní model jste použil?
  3. Jak se promítly analyzované time management techniky v aplikaci?
  4. Jak řešíte konflikty při synchronizaci dat ze serveru?
  5. Pokud člověk udělá změnu např. na mobilu a další na tabletu, uloží se poslední změna?
  6. Kdo aplikaci používá?
  7. Když mám naplánováno více úkolů na různé časy, v čem mi aplikace hlavně pomůže?
  8. Platí tedy, že úkoly, které nejsou úplně prioritní, se aplikace snaží plánovat do volných časových oken?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

prof. Ing. Adam Herout, Ph.D. (předseda)
doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
doc. Ing. Michal Bidlo, Ph.D. (člen)
Ing. Miloš Musil, Ph.D. (člen)
doc. RNDr. Dana Hliněná, Ph.D. (člen)

Posudek vedoucího
Ing. Jiří Hynek, Ph.D.

Student ke své práci přistupoval svědomitě, dokázal pracovat samostatně a vytvořil použitelné řešení, které poslouží pro efektivnější plánování času. Práce je psána v anglickém jazyce. Výsledky byly publikovány. Navrhuji hodnocení stupněm A.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Práce vznikla jako nápad studenta vytvořit uživatelsky přívětivou aplikaci pro chytré plánování uživatelských aktivit. Student nejprve prostudoval známé techniky pro organizaci času (např. Pomodoro), principy rekomendačních systémů a vývoje multiplatformních mobilních aplikací. Dále se seznámil s technologiemi (např. Dart/Flutter, Appwrite, Isar a přidružené knihovny). Velké úsilí student věnoval uživatelské stránce, ovládání a testování výsledku. Zadání hodnotím jako průměrně obtížné. Bylo splněno ve všech jeho bodech.

Práce s literaturou

Student prostudoval doporučenou literaturu a aktivně dohledával další zdroje týkající se zejména použitých technologií a časového plánování.

Aktivita během řešení, konzultace, komunikace

Student nadprůměrně komunikoval během celého akademického roku. Konzultace probíhaly online s vedoucím práce. Student řádně plnil zadané úkoly a práce postupovala dobrým tempem.

Aktivita při dokončování

Praktická část práce byla dokončena v předstihu a mohla být dostatečně konzultována. Poslední kapitoly technické zprávy byly dokončovány na poslední chvíli.

Publikační činnost, ocenění

Výsledky byly publikovány formou posteru na konferenci Excel@FIT 2023. Aplikace je uveřejněná pod názvem TimeNoder, je dostupná v obchodech GooglePlay a AppStore. Prezentace projektu je dostupná na doméně timenoder.com.

Výsledný počet bodů navržený vedoucím: 95

Známka navržená vedoucím: A

Posudek oponenta
Ing. Alena Omachtová

Jde vidět obrovské množství práce, které student vložil do aplikace. Celkově se jedná o kvalitní řešení, které skutečně může pomoci k lepší disciplíně a organizaci času. Celkově hodnotím stupněm A.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: průměrně obtížné zadání

Cílem práce bylo vytvořit multiplatformní aplikaci pro chytré plánování času. I když se na první pohled může zdát zadání jako jednoduché, student implementoval značná rozšíření a nakonec se jedná o velmi komplexní aplikaci.

Jedná se o mobilní aplikace ve Flutteru a je testovaná a publikována pro platformy Android i IOS. Chtěla bych ocenit grafickou stránku aplikace a důkladné porovnání lokálních databází, u kterých student měřil výkonnost, aby zjistil, které řešení je nejlepší.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno a práce obsahuje podstatná rozšíření

Aplikace obsahuje značná rozšíření jako je například synchronizace dat s Google kalendářem a dalšími lokálními kalendáři, podpora offline režimu a vyřešení synchronizace dat na server, systém notifikací, statistiky, trackování času a další nastavení. Aplikace umožňuje kromě vkládání bloků do časové osy, tak také vkládání projektů, úkolů, štítků, termínů, nabízí více náhledů na kalendář (denní, měsíční, týdenní, 3-denní) a všechny události lze drag and drop přesouvat. V aplikaci není povinné přihlášení a v tom případě funguje aplikace pouze lokální a žádná data nejsou přenášena na server.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

Prezentační úroveň práce je na dobré úrovni. Student se nejprve zabývá technikami časového managementu, následně aplikačním vývojem, systémy doporučení, analýzou existujících aplikací a v druhé části popisuje návrh, implementaci a testování aplikace.

Ocenila bych detailnější popis mobilního vývoje - nativnímu vývoji pro Android a iOS se věnují pouze dva velmi krátké odstavce, u flutteru jsou také pouze 3 věty, i když se jedná o vybraný framework použitý k implementaci.

80
Formální úprava technické zprávy

Práce je psaná v angličtině a je z formální hlediska na vysoké úrovni.

90
Práce s literaturou

V práci je citováno celkem 83 zdrojů. Často se jedná o velmi zajímavé články a odbornou literaturu. Studentovi nechybí ani zdroje na oficiální online dokumentace, ze kterých čerpal při vývoji. Celkově hodnotím práci s literaturou jako nadprůměrnou. 

90
Realizační výstup

Aplikace celkově působí "wow" dojmem v dobrém i špatném smyslu. Obsahuje obrovské množství funkcí, je graficky výborně zpracovaná a zdrojový kód je kvalitní. Bohužel příliš velké množství funkce, čtyři úrovně navigace z ní zatím nedělají úplně použitelnou aplikaci, což i student zjistil z uživatelského testování. 

85
Využitelnost výsledků

Práce byla prezentována na Excel@FIT 2023, je publikována na Google Play a App Store. Aplikace je na 100% funkční, jen by podle mého názoru potřebovala zjednodušit, aby ji uživatelé používali s radostí.

Otázky k obhajobě:
  1. Vysvětlete, jak používáte strojové učení k výpočtu skóre.
  2. Jak se promítly analyzované time management techniky v aplikaci?
  3. Jak řešíte konflikty při synchronizaci dat ze serveru?
Výsledný počet bodů navržený oponentem: 90

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová