Plán projektu

Zoznam šprintov v oboch semestroch

  1. Amstel
  2. Budweiser
  3. Carlsberg
  4. Duff
  5. Erdinger
  6. Falcon
  7. Gambrinus
  8. Heineken
  9. Imperial Eclipse Stout
  10. Jai Alai IPA

Zimný semester

Zoznam šprintov

Amstel - 1. šprint

Úloha Riešiteľ Stav
Analýza algoritmov párovania minuloročného riešenia, návrhy na zlepšenie Tomáš, Dano
Analýza schémy XML CrepČ Rasťo, Stano
Analýza Google Scholar Mišo, Šimon
Vytvorenie webovej prezentácie tímu, nainštalovanie virtuálneho stroja Glogo
Inštalácia JIRA, Confluence, Stash Šimon, Glogo

Budweiser - 2. šprint

Úloha Riešiteľ Stav
Prvá implementácia a testovanie nových párovacích algoritmov Tomáš, Dano
Vytvorenie parsera pre XML CrepČ Rasťo, Stano
Vytvorenie parsera pre Google Scholar Mišo, Šimon
Analýza frontendu minuloročného riešenia Glogo

Carlsberg - 3. šprint

Úloha Riešiteľ Stav
Vyriešiť blokovanie parsovania Google Scholar Tomáš
Analýza citačných štýlov Mišo
ORM na import z XML CrepČ Rasťo
Experiment na výber algoritmu na porovnávanie Dano
Návrh frontend-u Glogo
Realizácia základnej funkcionality frontend-u Šimon
Správa používateľov (prihlásenia, registrácie) Stano

Duff - 4. šprint

Úloha Riešiteľ Stav
Vytvorenie package pre Java Web Server v java projekte Rasťo
Definicia komunikačného rozhrania medzi komparátormi a javou Dano
Zistenie možností volania C programov z javy Dano
Vytvorenie serverovej časti pre správu prihlásenia používateľov Glogo
Inštalácia Tomcat servera na arl Rasťo
Záskanie licencie k Bamboo Glogo
Pridanie stĺpca zdroja a tabulky obsahujúcej zdroje Stano
Pridať tabuľku histórií zmien v DB Stano
Pridanie stĺpca pre indikáciu nespracovaných záznamov Stano
Návrh normalizácie dát Tomáš

Erdinger - 5. šprint

Úloha Riešiteľ Stav
Fixnutie zobrazovania duplicít v zozname publikácií Šimon
Vytvoriť lokalizáciu stránky do samostatného súboru Glogo
Opravenie nefunkčnosti diakritiky pri vyhľadávaní vo filtri Glogo
Doplnenie možností sortovania pre všetky fieldy autorov a publikácii Glogo
Pridanie viacerých fieldov do zoznamu autorov Šimon
Pridanie viacerých fieldov do zoznamu publikácií Šimon
Zmeniť design a rozloženie stránky nech sa lepšie využíva priestor Glogo
Doplniť podrobnejšie info k detailu o publikácii Glogo
Doplniť podrobnejšie info k detailu o autorovi Glogo
Nastaviť default počet publikácii a autorov v zozname na 30 Glogo
Nefunkčny search s diakritikou Glogo
Odstránenie hlášky 'úspešne ste sa prihlásili' Glogo
Vypadky Tomcat servera (resp. pripojenia na DB) Šimon
Napísanie Confluence návod pre spustenie frontendu na localhost Glogo
Vytvorenie šablóny stránok administratorského backendu Glogo
Opravenie responzívnosti stránky pri nižšich rozmeroch Rasťo
Inštalácia Bamboo, konfigurácia Šimon
Skontrolovať dokumentáciu projektu Dano
Pripraviť select do db pre vizualizáciu podobností Tomáš
Naparsovať nové inštitúcie z exportov CREPČ do čistej db Tomáš

Harmonogram na zimný semester

  1. diskusia k témam, odovzdanie zoznamu kompetencií tímu
  2. pridelenie tém, rozdelenie úloh, plán projektu, prvá analýza problému
  3. inicializácia riešenia projektu: vytvorenie Product Backlog, prvý dátový model, nastavenie prostredia pre vývoj a nasadzovanie, vytvorenie kostry projektu
  4. práca na príbehoch šprintu č.1-1Z
  5. ukončenie šprintu č.1-1Z
  6. práca na príbehoch šprintu č.2-2Z
  7. ukončenie šprintu č.2-2Z
  8. práca na príbehoch šprintu č.3-3Z
  9. ukončenie šprintu č.3-3Z a odovzdanie:
    • dokumentácia k produktu - prvé tri šprinty, big picture
    • dokumentácia k riadeniu
  10. práca na príbehoch šprintu č.4-4Z
  11. ukončenie šprintu č.4-4Z
  12. ukončenie šprintu č.5-5Z (finalizácia výstupov) a odovzdanie:
    • ddokumentácia prvých piatich šprintov spolu s opisom vytvoreného prototypu (vrátane "big picture")
    • dokumentácia k riadeniu a používateľská prezentácia prototypu

Letný semester

Zoznam šprintov

V tejto časti neopisujeme zoznam jednotlivých úloh v šprinte, ale namiesto toho podrobne opisujeme jednotlivé user stories, ktoré vyjadrujú sumárny cieľ šprintu.

Falcon - 6. šprint

User story 1 – Rozšíriť filter pre zobrazovanie údajov vo web rozhraní

Používateľ nášho systému ho používa na rôzne účely, ktoré nemožno všetky dopredu predpovedať. Podstatné je, aby sme mu ponúkli čo možno najširšiu možnú paletu možností, ktorými môže ovplyvniť výsledok dopytu na zobrazenie autorov, resp. publikácií. Preto by mal filter obsahovať možnosť filtrovať podľa rôznych polí, byť konfigurovateľný, poskytovať podporu AND a OR logických operátorov a podobne. Stránky musíme udržiavať v dobrej kvalite údajov, aby sme nemiatli používateľov nejasnosťou výrazov.

User story 2 – Oddeliť normalizované údaje od nespracovaných

Údaje nachádzajúce sa v databáze zobrazovanej na webovom rozhraní by mali byť normalizované, aby sme ponúkali používateľom informácie bez duplicít. Preto by bolo vhodné oddeliť v databáze nečisté údaje od čistých a párovací proces ako spôsob normalizácie nečistých údajov. Používateľ by nemal vidieť nespracované záznamy, ktoré by mali predstavovať rad údajov čakajúcich na spracovanie.

User story 3 – Zabezpečiť v projekte udržovateľnosť

Produkt odovzdaný zákazníkovi by mal spĺňať podmienku udržovateľnosti, ktorá je kľúčová pre ďalší vývoj a údržbu systému. Preto je potrebné sa priebežne venovať skontrolovaním tejto vlastnosti a prípadne jej zabezpečením. Jednou z oblastí udržovateľnosti je dátový model a k nemu prislúchajúci objektovo relačný mapovač, ktorý je predpokladom zabránenia reťazeniu zmien v dôsledku zmeny dátového modelu.

User story 4 – Používať systém môžu len autentifikovaní používatelia

Kvôli dodržiavaniu licencií, ktoré používame pri vyhľadávaní ohlasov na diela by mala byť táto funkcionalita dostupná len autentifikovaným používateľom, ktorých totožnosť administrátor overí. Súčasťou registrácie preto musí byť viackrokový overovací mechanizmus. Po prihlásení by sa mal používateľ dostať na úvodnú stránku, ktorá by ho oboznámila s možnosťami a účelom nášho systému. Taktiež by mal možnosť nastaviť si určité atribúty jeho profilu, mal by mať možnosť personalizovaného nastavenia filtrov a podobne.

Gambrinus - 7. šprint

User story 1 – Zobrazovať percentá podobnosti pre spárované objekty v databáze a umožniť na základe nich ručné párovanie

Na skontrolovanie správnosti porovnávacích algoritmov je dôležité, aby boli vypočítané percentá podobnosti ukladané do databázy a zobrazované na frontende. Je to potrebné jednak z hľadiska kontroly párovania, a potom je to dôležitým podkladom pre vyhľadávanie publikácií na ručné párovanie. Preto budú tieto údaje ukladané po uskutočnení párovania. Predpokladáme, že týchto údajov bude veľmi veľa, preto je dôležité s tým počítať pri návrhu doplnenia dátového modelu a pri práci s týmito údajmi. Vo frontende je potrebné implementovať obrazovku pre ručné párovanie, ktorá by umožňovala používateľovi vybrať dve publikácie, ktoré by chcel spárovať. Následne by sa mu zobrazili podrobnosti pre vybrané publikácie a používateľ by mal možnosť vybrať jednu z metód párovania.

User story 2 – Implementovať nástroje na získavanie ohlasov na diela z citačných indexov

Automatické získavanie ohlasov je jedna z hlavných úloh systému. Citačné indexy poskytujú webové služby na získavanie ohlasov, ktoré treba pomocou minuloročného projektu naštudovať a implementovať riešenie využívajúce dané služby na obohatenie naparsovaných údajov z exportov inštitúcií o ohlasy na ich diela. Zahŕňa to vytvorenie programu na komunikáciu s webovými službami, parser na spracovanie výsledkov, ktoré nám vrátia a program ukladajúci spracované údaje do databázy.

User story 3 – Upraviť systém tak, aby podporoval alternatívne mená autorov a alternatívne názvy pracovísk

Známym aspektom údajov z rôznych zdrojov je problém s nejednoznačnosťou a nepresnosťou uložených údajov. Problém môže nastať chybou pri zadávaní nových údajov do databáz alebo preklepom. Vtedy nie je možné vyhľadávať podľa štandardných názvov pracovísk, pretože sú uložené inak, ako by sme čakali. Preto je potrebné ukladať názvy pracovísk, na ktoré pri vyhľadávaní narazíme a aby sme ich v budúcnosti mohli zahrnúť do vyhľadávacích kritérií. Podobne treba pristupovať k menám autorov. Tento prístup je pre publikácie už implementovaný, avšak upraviť dátový model treba pre ostatné typy objektov.

Heineken - 8. šprint

User story 1 – Pripraviť databázu, párovacie algoritmy a frontend na testovanie zákazníkom

Keďže nemáme normalizovanú testovaciu množinu, na ktorej by sme overili vlastnosti a správnosť párovacích algoritmov, túto činnosť musí vykonať zákazník (zástupca naparsovaných inštitúcií). My mu k tomu musíme pripraviť podklady a poskytnúť podporu v našej aplikácií. Zahŕňa to dokončiť parsovanie exportov minimálne z univerzít SPU, EU a TUKE, dokončiť párovacie algoritmy, otestovať ich správnu funkčnosť a následne vyčísliť hodnoty párovania pre všetky záznamy v databáze. Keďže zákazník nebude odborník na databázu, potrebujeme dokončiť zobrazovanie podobností na frontende tak, aby si to mohol jednoducho poprezerať a zistiť, ktoré publikácie by mali byť napárované a nie sú. Užitočné bude zistiť aj štatistiky k jednotlivým algoritmom ohľadne ich trvania a efektivity.

User story 2 – Dokončiť algoritmy sťahovania záznamov publikácií z citačných indexov WoS a Scopus podľa naparasovných inštitúcií

Automatické získavanie ohlasov je jedna z hlavných úloh systému, preto by sme ju mali čím skôr dokončiť. Pre zákazníka je podstatné vidieť, koľko publikácií má pokrytých v citačných indexoch a koľko majú ohlasov. Implementované boli niektoré časti pre služby WoS-u a všetky pre služby Scopusu, preto treba dokončiť zostávajúce časti a stiahnuť záznamy publikácií podľa naparsovaných inštitúcií. Treba pritom vykonať rešerš, ktorá nám identifikuje alternatívne názvy inštitúcií, pod ktorými sa diela môžu nachádzať. Na základe alternatívnych mien je potrebné spustiť sťahovanie záznamov a ukladať ich do databázy. Na základe týchto záznamov údajov sme po vykonaní procesu deduplikácie schopní získať identifikátory pre dané publikácie v citačných indexoch. Identifikátory platné pre citačné indexy sú potrebné na získanie ohlasov na diela, ktorých získavanie je naším cieľom.

Imperial Eclipse Stout - 9. šprint

User story 1 – Pripraviť databázu, párovacie algoritmy a frontend na testovanie zákazníkom

Keďže nemáme normalizovanú testovaciu množinu, na ktorej by sme overili vlastnosti a správnosť párovacích algoritmov, túto činnosť musí vykonať zákazník (zástupca naparsovaných inštitúcií). My mu k tomu musíme pripraviť podklady a poskytnúť podporu v našej aplikácií. Zahŕňa to dokončiť parsovanie exportov minimálne z univerzít SPU, EU a TUKE, dokončiť párovacie algoritmy, otestovať ich správnu funkčnosť a následne vyčísliť hodnoty párovania pre všetky záznamy v databáze. Keďže zákazník nebude odborník na databázu, potrebujeme dokončiť zobrazovanie podobností na frontende tak, aby si to mohol jednoducho poprezerať a zistiť, ktoré publikácie by mali byť napárované a nie sú. Užitočné bude zistiť aj štatistiky k jednotlivým algoritmom ohľadne ich trvania a efektivity.

User story 2 – Hľadanie ohlasov, aktualizácia údajov

Vzhľadom na to, že systém ma predovšetkým slúžiť výskumníkom na hľadanie ohlasov, je potrebné pripraviť zákazníkovi rozhranie na zobrazenie ohlasov, ktoré bude jednoduché a intuitívne na poskytnutie relevantnej informácie ohľadom ohlasov. Na zobrazovanie reálnych ohlasov je potrebné tieto stiahnuť zo zdrojov ako sú WoS a Scopus. Ohlasy je potrebné stiahnuť aspoň pre SPU, EU a TUKE. Používateľ chce tieto ohlasy mať bez autocitácií a taktiež bež duplikátov. Na to je potrebné pripraviť subsystém a pripraviť potrebné rutiny na deduplikáciu ohlasov ako aj rutiny na detekciu autocitácií. Je potrebné dohodnúť spôsob, akým sa budú ohlasy ukladať do databázy.

User story 3 – Personalizácia rozhrania

Zákazník by rád vedel ovplyvniť spôsob, akým sa mu zobrazujú údaje a zároveň chce, aby mu zobrazovalo len tie údaje, ktoré ho zaujímajú. Vzhľadom na to, že používateľ nebude technologický expert, tak mu musí byť poskytnuté jednoduché intuitívne rozhranie na selekciu toho, čo si praje mať zobrazené a čo nie. Na toto je potrebné pripraviť rozhranie a zároveň implementovať uloženie do databázy. Keď sa používateľ pripojí, chce, aby sa mu jeho nastavenia obnovili a preto je potrebné urobiť rutinu na znovu načítanie údajov z databázy.

Jai Alai IPA - 10. šprint

User story 1 – prezentácia potenciálnym klientom na IIT.SRC

Zákazník chce prezentovať produkt potencionálnym zákazníkom na študentskej vedeckej konferencií IIT.SRC 2014. Na to je potrebné vytvoriť poster a prezentáciu. Taktiež je potrebné, aby tieto zaujali formou prezentácie a obsahom. Je potrebné na prilákanie klientov aby členovia prezentačného tímu poznali dobre prezentované materiály, ako aj aby vedeli dopredu ktoré výhody a fakty chcú zdôrazniť alebo na ne chcú poukázať. Nakoniec na ďalšiu prezentáciu projektu je potrebné, aby členovia tímu nosili počas konferencie dopredu pripravené tričká, ktoré majú taktiež potencionálneho klienta zaujať.

User story 2 – vizualizácia vzťahov medzi údajmi v databáze

Klient chce zisti ďalšie vzťahy medzi publikáciami. Na to potrebujem definovať aké vzťahy môžu byť zaujímavé. Následne potrebuje návrh vizualizácie. Tento návrh zahrňuje technickú realizáciu v databáze, na frontende a taktiež výpočtové jadro tohto vzťahu. Ďalej musí obsahovať návrh modelovania týchto vzťahov. V ideálnom prípade by zákazník chcel, aby tento proces bol parametrizovatelný a vzťah aby bolo možné modelovať dynamicky podľa požiadavky klienta.

Tento user story sme neskôr zmenili na celkové testovanie funkcionality a úpravu algoritmov podľa zistení počas prezentácie na konferencii IIT.SRC. Taktiež bolo potrebné odstrániť niektoré chyby, ktoré ovplyvňovali funkčnosť algoritmov.

Harmonogram na letný semester

  1. práca na príbehoch šprintu č.6-1L
  2. práca na príbehoch šprintu č.6-1L
  3. ukončenie šprintu č.6-1L
  4. práca na príbehoch šprintu č.7-2L
  5. ukončenie šprintu č.7-2L
  6. práca na príbehoch šprintu č.8-3L
  7. ukončenie šprintu č.8-3L
  8. práca na príbehoch šprintu č.9-4L
  9. ukončenie šprintu č.9-4L odovzdanie produktu a dokumentácie k šprintom 5 až 8
  10. práca na príbehoch šprintu č.10-5L
  11. ukončenie šprintu č.10-5L
  12. práca a ukončenie šprintu č.11-6L a odovzdanie celkového výsledku projektu (produkt, riadenie)