Špecifikácia ročníkového projektu
PORG - plánovač, organizér
Aplikácia pre OS Microsoft Windows

Obsah:

0.	O dokumente
1.	Ciel projektu
1.1.	Cieľové skupiny projektu
1.2.	Používateľské role projektu
2.	Stručný popis funkčnosti
2.1.	Funkčnosť používateľov  bez vytvoreného profilu
2.2.	Funkčnosť používateľov  s vytvoreným profilom
3.	Vstupy a výstupy
4.	Časti projektu a detailný popis funkčnosti
4.1.	Vytváranie profilu
4.2.	Mazanie a editácia profilu
4.3.	Kalendár
4.4.	Bočný panel
4.5.	Položky organizéra
4.5.1.	Udalosti
4.5.2.	Úlohy
4.5.3.	Termíny dokončenia
4.5.4.	Pripomienky
5.	Návrh riešenia
5.1.	Technologické riešenia
5.2.	Obmedzenia a kritické body
5.3.	Analýza zadania a náčrt postupu riešenia
6.	Časový plán
6.1.	Prvá etapa
6.2.	Druhá etapa
6.3.	Tretia etapa
6.4.	Štvrtá etapa

0.	
O dokumente
Tento dokument špecifikuje zadanie projektu PORG - plánovač, organizér, jeho ciele, funkcionalitu a príklady použitia. Nie je predmetom tohto dokumentu analyzovať projekt ani projektovať implementáciu. Táto špecifikácia tiež z dôvodu stručnosti neobsahuje kompletný popis prípadov použitia a ani sa nesnaží ponúkať podrobný návod na použitie.
1.	
Ciel projektu
Aplikácia PORG má za účel umožniť organizovať si plánované úlohy (To-Do list), termíny dokončenia (Deathline list), udalosti a pripomienky. Všetky záznamy okrem úloh majú možnosť upozorňovania vopred v ľubovoľnom čase. Aplikácia bude umožňovať vytvárať opakované udalosti a pripomienky. Nahrádza a dopĺňa v mnohých smeroch papierové kalendáre a organizéry. Umožní vytváranie viacerých profilov a meniť nastavenia vzhľadu pre každý profil zvlášť. Profily budú chránené heslom a súbory k nim šifrované. 
1.1.	Cieľové skupiny projektu 
Aplikácia je určená pre všetkých používateľov, ktorí chcú používať organizér a vyhovuje im (viac) jeho elektronická verzia. Je určená aj pre viacerých používateľov na jednom počítači.
1.2.	Používateľské role projektu
•	Používatelia bez vytvoreného profilu
•	Používatelia s vytvoreným profilom

(Používatelia, ktorí ešte nemajú vytvorený profil, si ho budú môcť vytvoriť.)
2.	
Stručný popis funkčnosti
Aplikácia bude pracovať rôzne pre užívateľov s a bez vytvoreného profilu.
2.1.	Funkčnosť používateľov  bez vytvoreného profilu
Každý používateľ (aj bez vytvoreného profilu) si bude môcť spustiť aplikáciu. Bude mať možnosť pozrieť si užívateľskú príručku alebo si vytvoriť profil.
2.2.	Funkčnosť používateľov  s vytvoreným profilom
Používatelia s vytvoreným profilom budú mať dostupné všetky funkcie, dostupné užívateľom bez vytvoreného profilu. Okrem toho sa budú môcť aj prihlásiť a následne upravovať svoj profil (pridávať, editovať a odstraňovať  záznamy alebo upravovať vlastné nastavenia prostredia).
3.	
Vstupy a výstupy
Vstupmi aplikácie budú údaje od užívateľov (záznamy úloh, udalostí, termínov dokončenia, pripomienok). Ďalším vstupom bude databáza uložená v súbore.
Výstupom je zobrazenie záznamov na bočnom paneli a v kalendári.
4.	
Časti projektu a detailný popis funkčnosti
4.1.	Vytváranie profilu
Na vytvorenie profilu bude nutné vyplniť formulár (názov profilu, povoliť požadovanie hesla a poprípade aj heslo).
Následne bude vytvorený súbor s údajmi profilu. Súbor môže byť šifrovaný (záleží na nastavení).
4.2.	Mazanie a editácia profilu
Zmazať alebo upraviť profil bude môcť len užívateľ prihlásený na tento profil. Alebo ho vymazať ručne z adresára (neodporúčané).
4.3.	Kalendár
V aplikácií bude zobrazený kalendár, ktorý umožní viacero zobrazení (napr. zobrazenie mesiaca, týždňa, a pod.) a nastavenie farieb kalendára. Zároveň umožní selektovať príslušné políčka a vypísať údaje v nich (hlavne konkrétny dátum).
4.4.	Bočný panel
Bočný panel bude mať za úlohu vyberať z ponuky zobrazení (udalosti, úlohy, termíny dokončenia a pripomienky) a zároveň ich aj vykresliť do zoznamu.
4.5.	Položky organizéra
Organizér bude obsahovať rôzne položky, a to udalosti, úlohy, termíny dokončenia a pripomienky
4.5.1.	Udalosti
Udalosti budú reprezentované ako záznam udalosti v kalendári. Budú mať čas začatia a čas skončenia. Udalosti budú rôzneho typu (zamestnanie, škola, rodina a pod.). Budú mať možnosť pripomenutia a opakovania udalosti.
4.5.2.	Úlohy
Úlohy – na spôsob „TO-DO LIST“ budú reprezentované ako zoznam položiek bez dátumu a možnosti pripomenutia
4.5.3.	Termíny dokončenia
Termíny dokončenia – na spôsob „DEATHLINE LIST“ budú reprezentované ako zoznam položiek s dátumom a s možnosťou pripomenutia.
4.5.4.	Pripomienky
Pripomienky budú reprezentované ako záznam udalosti v kalendári. Budú mať čas pripomenutia a možnosť opakovania.
5.	
Návrh riešenia
5.1.	Technologické riešenia
Program Plánovač údržby bude naprogramovaný v prostredí Lazarus v jazyku Object Pascal.
Pri jeho tvorbe budem používať iba svoje a základné jednotky prostredia Lazarus. Zoznam udalostí, úloh, termínov dokončenia a pripomienok budem vizualizovať v bočnom paneli pomocou komponentu StringGrid (tabuľkové zobrazenie) s upraveným vykresľovaním, aby vyzeral ako zoznam. Medzi jednotlivými zobrazeniami (udalosti, úlohy, termíny dokončenia a pripomienky) sa bude dať prepínať pomocou tlačidiel pripomínajúce karty (PageControl), akoby by boli na boku a nie na vrchu.
Kalendár je ovládaný objektom ktorý vykresľuje kalendár do komponentu Image. Objekt dostáva pri konštruovaní parameter plátno (Canvas) komponentu Image.
Dátovú štruktúru pre ukladanie záznamov použijem spájaný zoznam.
Aplikácia bude otestovaná a funkčná V OS Microsoft Windows 7.
5.2.	Obmedzenia a kritické body
Aplikácia bude do rozumnej miery ošetrená pred neoprávneným prístupom do aplikácie a prístupom k zašifrovaným údajom v uložených súboroch. Nie je predmetom projektu poskytnúť totálnu záruku ochrany pred neoprávneným prístupom.
Program môže zaručiť, že údaje sa samovoľne neodstránia z databázy, no nie je možné dohliadnuť na nevhodné zaobchádzanie so softvérom (zmazanie kľúčových súborov).
5.3.	Analýza zadania a náčrt postupu riešenia
Riešenie bude rozdelené na logické celky:
•	Hlavný program spájajúci všetky súčasti
•	Databáza záznamov 
•	Vytváranie profilu a prihlasovanie
•	Zobrazovanie kalendára a záznamov 
•	Pridávanie a editovanie záznamov kalendára 
•	Nastavenia a predvoľby

Tieto logické celky budú deﬁnované vlastnou triedou. Aplikácie budú navzájom prepojené a budú vytvárať komplexný program. Jednotlivé súčasti nebudú samostatne spustiteľné bez hlavného programu.
6.	
Časový plán
Táto kapitola obsahuje rozdelenie projektu do jednotlivých etáp. 
6.1.	Prvá etapa
Základná vizualizácia kalendára, rozmiestnenie kľúčových komponentov  v hlavnom formulári a základný dizajn. Náznak databázy záznamov. Vytvorená web stránka projektu obsahujúca podrobný popis projektu a špecifikáciu.
6.2.	Druhá etapa
Umožnené pridávanie profilov a samotné prihlasovanie. Takmer dokončená vizualizácia kalendára a dokončená databáza záznamov. Umožnené základné pridávanie záznamov. Načrtnuté pripomínanie a opakovanie udalostí.
6.3.	Tretia etapa
Hotová vizualizácia kalendára. Vytvorená správa profilov. Dokončené upravovanie záznamov (pridávanie, mazanie, editácia), pripomínanie udalosti, pripomienok a termínov. Hotové opakované udalosti a kompletné užívateľské rozhranie.
6.4.	Štvrtá etapa
Finalizácia projektu, testovanie a oprava chýb, ošetrovanie zlých vstupov. Dopĺňanie nekritických častí projektu - pomôcky (hinty), užívateľská príručka (help) v programe a dolaďovanie vzhľadu. Web stránka bude obsahovať užívateľskú príručku, obrázky (screenshoty) aplikácie, aplikáciu na stiahnutie, približné minimálne požiadavky na hardvérové vybavenie počítača a podľa možností aj projektovú dokumentáciu.