Ztraceni Specifikace požadavků - NEUROINFORMATICS-GROUP-FAV-KIV-ZCU/guess_the_number GitHub Wiki

#SPECIFIKACE POŽADAVKŮ


Projekt: Předzpracování a klasifikace signálu pro aplikaci Hádání čísel


<thead>
        <tr><td>Datum</td><td>Verze</td><td>Popis</td><td>Autor</td></tr>
</thead>

<tbody>
      <tr><td>8. 3. 2015</td><td>1.0</td><td>Vytvoření specifikace požadavků</td><td> Jitka Fürbacherová</td></tr>
      <tr><td>9. 3. 2015</td><td>1.1</td><td>Editace specifikace požadavků</td><td>Anežka Jáchymová</td></tr>
</tbody>

###Tým: Ztraceni


###Členové:

Šéf - Jitka Fürbacherová, E-mail - [email protected]

Člen - Anežka Jáchymová, E-mail - [email protected]

Člen - Jan Vampol, E-mail - [email protected]

Člen - Michal Veverka, E-mail - [email protected]


Verze: 1.1


###Obsah

1. Úvod

2. Obecný popis

3. Funkce systému

4. Požadavky na vnější rozhraní

5. Další parametrické (mimofunkční) požadavky

Dodatek: Slovníček


##1. Úvod

###1.1 Předmět specifikace

Úkolem této specifikace je jasně vymezit jaké rozšíření existující aplikace je po nás vyžadováno a zároveň stručně definovat cíle celého projektu Hádání čísel.

Program Hádání čísel je jednoduchou aplikací pro demonstraci rozhraní mozek-počítač (BCI). Testovaná osoba sedí ve zvukotěsné komoře, kde je jí snímán elektroencefalografický (EEG) signál. Osoba si myslí číslo v rozmezí 1 – 9 a na monitoru se tato čísla zobrazují v náhodném pořadí. Úkolem aplikace je uhodnout myšlené číslo z naměřeného EEG signálu.

Naším úkolem je implementace algoritmů pro zlepšení detekce a odstranění artefaktů z EEG signálu za účelem možného zvýšení přesnosti odhadu myšleného čísla a integrace algoritmů do aplikace Hádání čísel. Posledním úkolem je testování aplikace na reálných offline a online datech a sjednocení těchto dat.

Celý projekt je vyvíjen zaměstnanci a studenty katedry informatiky Západočeské univerzity pro akademické účely. Žádná část projektu tedy nemá komerční charakter.

###1.2 Typografická konvence

Vyžaduje se pouze dodržování základní programovací struktury, jako je například odsazování a psaní javadoc komentářů, které si zadavatel vyžádal v anglickém jazyce.

###1.3 Cílové publikum, návod ke čtení

Cílové publikum pro tento projekt není nikterak široké. Práci bude číst samozřejmě náš zadavatel Ing. Tomáš Prokop spolu se svými kolegy z akademického výzkumného centra Západočeské univerzity. Jmenovitě je pak dalším čtenářem náš cvičící Ing. Jan Štěbeták. Pochopitelně také celý náš tým bude specifikaci během celého vývoje projektu pročítat.

Tento dokument je členěn pomocí nadpisů na jednotlivé kapitoly, které jsou dále strukturovány do podkapitol prostřednictvím podnadpisů. Veškeré odkazy jsou zvýrazněny modře a důležité informace psány tučným písmem.

Specifikaci je psána tak, aby ji mohl pochopit i nepoučený a v této oblasti nezkušený čtenář. Jednotlivé odstavce na sebe navazují jen velmi volně, proto je možné si snadno vybírat podle obsahu pouze cílové téma, které čtenáře zajímá.

###1.4 Rozsah projektu

Celý projekt je popsán již v kapitole 1.1 nyní bychom rádi zmínili oblast, kterou budeme vyvíjet my. Cílem naší části projektu je implementace základních algoritmů detekce artefaktů v EEG signálu a vyřazení epoch, které jsou zatíženy těmito artefakty. Všechny tyto algoritmy je nutné integrovat do aplikace Hádání čísel. Naším dalším úkolem je testování aplikace na reálných online a offline datech. Offline data nám poskytl zadavatel a online data si musíme sami naměřit. Je třeba provést měření minimálně 20 dobrovolníkům. Jedno měření trvá 15-20 minut. Posledním úkolem je najít a opravit odlišnosti v klasifikaci online a offline dat, kdy program vrací odlišné výsledky pro stejná data načítaná jiným způsobem.

###1.5 Odkazy

Veškeré materiály, které nám byly k projektu poskytnuty se nachází na githubu.

##2. Obecný popis

###2.1 Kontext systému

Celý projekt slouží pro zpracování EEG signálu z experimentu Hádání čísel. Signál je segmentován na jednotlivé epochy a pro každou epochu se vyhodnocuje, zda obsahuje P300.

Měření probíhá tak, že je subjekt měření připraven a je mu na hlavu nasazena snímací čepice. Ta je pak připojena do zesilovače, který je propojen s velkým a malým notebookem. Na malém notebooku běží program, který na obrazovku promítá náhodné čísla 1 – 9. Synchronizovaně s malým notebookem se na velkém ukazují a ukládají data ze zesilovače.

###2.2 Funkce produktu

Program bude schopen detekovat artefakty z EEG signálu, tím by se měla zvýšit pravděpodobnost uhodnutí myšleného čísla při klasifikaci mozkových odpovědí dobrovolníka. Všechny tyto metody budou integrovány do již hotové, zadavatelem poskytnuté aplikace Hádání čísel. Aplikaci bude otestována na offline i online datech, které si sami naměříme a sjednotíme.

###2.3 Třídy uživatelů

Celý projekt a tedy i tato specifikace je vyvíjen pro akademické účely a prezentace. Předpokládá se tedy poučený uživatel/čtenář.

Uživatelem projektu bude pracovník katedry informatiky Západočeské univerzity v Plzni.

###2.4 Provozní prostředí

Celý projekt musí fungovat na notebooku, který má následující konfiguraci: Intel Core i7 2.70 GHz, RAM 4 GB, 64-bitový systém. Program musí fungovat na Windows s nainstalovanou javou JRE 1.6.

###2.5 Omezení návrhu a implementace

Zadavatel výslovně vyžaduje javu JDK 1.6. Dalším požadavkem je psaní javadoc komentářů v anglickém jazyce a dodržování základních programovacích syntaktických konvencí jako je například odsazování a volení vhodného pojmenování pro proměnné.

Pro vývoj celého projektu je vyžadován verzovací systém Git.

###2.6 Uživatelská dokumentace

Zadavatel vyžaduje pouze komentáře v kódu, které musí být v anglickém jazyce. Žádná další dokumentace není vyžadována.

###2.7 Předpoklady a závislosti

Pracujeme na stejném projektu s týmem Computer Breakers, vzniká mezi námi teoretická závislost. Každý ale pracujeme na jiné části projektu, neměli bychom se proto vzájemně nijak ovlivňovat. Jedinným předpokladem úspěšného dokončení naší práce ze strany zadavatele je ponechání přístupu do laboratoře pro měření EEG signálu a komunikace s námi.

##3. Funkce systému

###3.1 Funkční požadavky

  • sjednocení dat načítaných offline a online
  • detekce artefaktů (amplitudová, gradientní metoda a korelace signálu se vzorovým artefaktem)
  • generování filtrů na základě zadané frekvence - horní propust, dolní propust a pásmovou propust
  • měření 20 různých lidí
  • integrace do GUI

###3.2 Priority

Zadavatel považuje všechny části projektu za stejně důležité a splnitelné v rámci naší semestrální práce. Náš tým s tímto postojem souhlasí.

##4. Požadavky na vnější rozhraní

###4.1 Uživatelská rozhraní

Zadavatel požaduje, abychom přidali do uživatelského rozhraní funkční prvky (záložky v menu a tlačítka) umožňující používání námi vytvořených metod.

###4.2 Hardwarová rozhraní

K načítání online se využívá síťová architektura klient – server a protokol TCP.

###4.3 Softwarová rozhraní

Softwarové rozhraní, které budeme používat je pouze rozhraní již existujícího programu.

##5. Další parametrické (mimofunkční) požadavky

###5.1 Výkonnostní požadavky

Požadavkem zadavatele je, aby aplikace fungovala na notebooku s následující konfiguraci: Intel Core i7 2.70 GHz, RAM 4 GB, 64-bitový systém. Operačním systémem notebooku je windows a je na něm nainstalovaná java JRE 1.6.

###5.2 Bezpečnostní požadavky

Jelikož se jedná o projekt pro akademické účely, který nepracuje z žádnými citlivými daty, nejsou vyžadovány žádné bezpečnostní požadavky.

###5.3 Kvalitativní parametry

Zadavatel trvá na dodržování základní programovací syntaktické konvence - odsazování, vhodně volené názvy proměnných, vhodně pojmenované metody, základní členění kódu. Dalším požadavkem je psaní komentářů kódu a javadoc v anglickém jazyce. Stejně tak i zmíněné názvy proměnných a metod budou v anglickém jazyce.

Dodatek: Slovníček

artefakt – naměřený EEG signál nepocházející z mozkové aktivity (způsobený např. mrkáním)

EEG signál - elektrická aktivita centrálního nervového systému

epocha - část EEG signálu v pevně daném okolí stimulu

konvence - dohoda, úmluva

⚠️ **GitHub.com Fallback** ⚠️