156
KAUNO TECHNOLOGIJOS UNIVERSITETAS PROGRAMŲ INŽINERIJOS KATEDRA INOVATYVIŲ VALDYMO SĄSAJŲ PANAUDOJAMUMO TYRIMAS MAGISTRINIO PROJEKTO DOKUMENTACIJA. Darbo Vadovas: Doc. Dr. T. Blažauskas Darbo autorius: IFM-3/2 gr. stud. R. Sturonas

LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

KAUNO TECHNOLOGIJOS UNIVERSITETAS

PROGRAMŲ INŽINERIJOS KATEDRA

INOVATYVIŲ VALDYMO SĄSAJŲ PANAUDOJAMUMO TYRIMAS

MAGISTRINIO PROJEKTO DOKUMENTACIJA.

Darbo Vadovas:

Doc. Dr. T. Blažauskas

Darbo autorius:

IFM-3/2 gr. stud.

R. Sturonas

KAUNAS, 2015

Page 2: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

TurinysLENTELIŲ SĄRAŠAS........................................................................................................................5

PAVEIKSLĖLIŲ TURINYS...............................................................................................................6

1. Projekto Paraiška...........................................................................................................................7

1.1. Taikymo sritis........................................................................................................................8

1.2. Problemos sprendimas pasaulyje...........................................................................................8

1.3. Situacijos Lietuvoje įvertinimas..........................................................................................11

1.4. Produkto apibūdinimas........................................................................................................12

1.5. Projekto įgyvendinimo planai ir kokybės vertinimas..........................................................14

1.6. Įgyvendinimas......................................................................................................................14

1.7. Projekto vykdytojai..............................................................................................................15

1.8. Skyriaus išvados..................................................................................................................15

2. Projektavimo metodologijos ir technologijų analizė..................................................................16

2.1. Programinės įrangos projektavimo metodai........................................................................16

2.1. Temos tikslingumas ir aktualumas......................................................................................18

2.2. Technologijų analize............................................................................................................19

2.2.1. Egzistuojantys technologiniai sprendimai...........................................................................20

2.3. Sistemų sąsajų vertinimo metodai.......................................................................................24

2.4. Analizės dalies rezultatai.....................................................................................................27

3. Projekto planas............................................................................................................................29

3.1. Ganto diagrama....................................................................................................................30

4. Reikalavimų specifikavimas.......................................................................................................31

4.1. Projekto kūrimo pagrindas...................................................................................................31

4.2. Užsakovai, pirkėjai ir kiti sistema suinteresuoti asmenys...................................................31

4.3. Projekto apribojimai............................................................................................................32

4.4. Sistemos kūrimo terminai....................................................................................................33

R.Sturonas

2

Page 3: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

4.5. Funkciniai reikalavimai.......................................................................................................35

4.6. Produkto veiklos sfera.........................................................................................................36

4.7. Funkciniai reikalavimai ir reikalavimai duomenims...........................................................40

4.8. Nefunkciniai reikalavimai...................................................................................................43

4.9. Projekto išeiga.....................................................................................................................46

4.10. Naujos problemos................................................................................................................46

4.11. Sistemos pateikimo žingsniai (etapai).................................................................................47

4.12. Galimos sistemos kūrimo rizikos.........................................................................................48

5. Architektūros specifikacija.........................................................................................................49

5.1. Apžvalga..............................................................................................................................49

5.2. Sistemos statinis vaizdas......................................................................................................50

5.3. Sistemos dinaminis vaizdas.................................................................................................50

5.4. Sistemos elementų aprašas..................................................................................................55

6. Detalios architektūros specifikacija............................................................................................57

6.1. Sistemos architektūra...........................................................................................................58

6.1.1. Paketų aprašas......................................................................................................................58

6.2. Klasių detalizacija................................................................................................................61

7. Testavimo medžiaga...................................................................................................................72

7.1. Testavimo planas.................................................................................................................72

7.2. Testavimo planas.................................................................................................................73

7.2.1. Testuojama programinė įranga............................................................................................74

7.2.2. Testavimo procedūra...........................................................................................................77

7.2.3. Testavimo resursų paskirstymas..........................................................................................80

7.2.4. Testavimo rezultatų kaupimas.............................................................................................81

7.3. Testavimo rezultatai ir išvados............................................................................................81

8. Vartotojo dokumentacija.............................................................................................................82

8.1. Vartotojo dokumentacija ir apmokymas..............................................................................82

8.2. Veikimo zona.......................................................................................................................83R.Sturonas

3

Page 4: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

8.3. Vartotojo vadovas................................................................................................................83

8.3.1. Sąsajos realizacija................................................................................................................83

8.3.2. Žaidimo realizacija..............................................................................................................86

8.4. Sistemos diegimo instrukcijos ir papildomi reikalavimai naudojimui................................87

8.5. Galimos problemos ir jų sprendimai....................................................................................88

9. Pakeitimų sąrašas........................................................................................................................89

10. Kokybės vertinimo ataskaita...................................................................................................90

10.1. Kokybės užtikrinimas..........................................................................................................90

LITERATŪRA...................................................................................................................................92

TERMINAI IR SANTRUMPŲ SĄRAŠAS.......................................................................................94

PRIEDAI............................................................................................................................................95

AUTORINĖ LICENCINĖ SUTARTIS..........................................................................................95

R.Sturonas

4

Page 5: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

LENTELIŲ TURINYS1. Lentelė. Statistikos departamento duomenys........................................................................11

2. Lentelė. Analizuotų įrenginių sąsajų palyginimas ...............................................................27

3. Lentelė. Sistemos naudotojai................................................................................................32

4. Lentelė. Naudotojų atsakomybės..........................................................................................32

5. Lentelė. Sistemos kūrimo terminai......................................................................................33

6. Lentelė. Sistemos kūrimo biudžetas.....................................................................................34

7. Lentelė. Veiklos įvykių sąrašas............................................................................................35

8. Lentelė. Funkciniai reikalavimai..........................................................................................40

9. Lentelė. Reikalavimai sistemos išvaizdai.............................................................................43

10. Lentelė. Reikalavimai panaudojamumui..............................................................................44

11. Lentelė. Reikalavimai vykdymo charakteristikoms.............................................................44

12. Lentelė. Reikalavimai veikimo sąlygoms............................................................................45

13. Lentelė. Sistemos pateikimo žingsniai.................................................................................47

14. Lentelė. Vystymo etapai.......................................................................................................47

15. Lentelė. Galimos sistemos kūrimo rizikos...........................................................................48

16. Lentelė. Atsitiktinumų (rizikos) valdymo planas.................................................................48

17. Lentelė. Apdorojami gestų duomenys..................................................................................56

18. Lentelė. Klasės metodų aprašas............................................................................................61

19. Lentelė. Terminų žodynas....................................................................................................73

20. Lentelė. Specifikacijų nuorodos...........................................................................................73

21. Lentelė. Testavimo tvarkaraštis............................................................................................77

22. Lentelė. Virtualios klaviatūros mygtuko būsenos...............................................................86

23. Lentelė. Apdorojami žaidimo objektai.................................................................................86

24. Lentelė. Projekto pakeitimų sąrašas.....................................................................................89

25. Lentelė. Kokybės vertinimo kriterijai...................................................................................91

R.Sturonas

5

Page 6: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

PAVEIKSLĖLIŲ TURINYS1. Pav. Funkcinės dekompozicijos projektavimo idėja.…….....................................................16

2. Pav. Gestais pagrįstos vartotojų sąsajos veikimas.................................................................19

3. Pav. Leap Motion veikimo zona............................................................................................20

4. Pav. Oculus Rift veikimo zona..............................................................................................21

5. Pav. Oculus Rift veikimo ašys..............................................................................................22

6. Pav. Vaizdo vėlavimo apskaičiavimas..................................................................................22

7. Pav. EEG skaitytuvų veikimas..............................................................................................23

8. Pav. EEG triukšmo pašalinimas............................................................................................24

9. Pav. Sąsajų kokybių veiksniai. QUIM modelis....................................................................25

10. Pav. Projekto darbų grafikas.................................................................................................29

11. Pav Ganto diagrama..............................................................................................................30

12. Pav. Konteksto diagrama......................................................................................................35

13. Pav. Programinės įrangos panaudojimo atvejai....................................................................36

14. Pav. Sąsajos nustatymai (Sekų diagrama).............................................................................50

15. Pav. Gestų atpažinimas...............................................................................................................51

16. Pav. Duomenų apdorojimas.........................................................................................................51

17. Pav. Funkcijų vykdymas........................................................................................................52

18. Pav. Rezultatų atvaizdavimas ...............................................................................................52

19. Pav. Sistemos būsenų kaitos diagrama..................................................................................53

20. Pav. Vartotojo veiklos procesas.............................................................................................54

21. Pav. Išdėstymo modelis.........................................................................................................54

22. Pav. Sistemos komponentų diagrama....................................................................................58

23. Pav. Klasių diagrama.............................................................................................................61

24. Pav. Rezultatų langas.............................................................................................................81

25. Pav. Aktyvi sensoriaus lietimo zona......................................................................................83

26. Pav.Virtualiklaviatūra............................................................................................................85

27. Pav. Diegimo etapai...............................................................................................................87

28. Pav. McCall kokybės faktoriai…….......................................................................................90

R.Sturonas

6

Page 7: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

1. PROJEKTO PARAIŠKADokumento paskirtis

Dokumentas skirtas projekto reikalavimų suderinimui tarp projekto užsakovo, projekto

vadovo ir projekto vykdytojų. Kartu dokumentas yra Kauno technologijos universiteto Informatikos

fakulteto Programų inžinerijos katedros modulio “Reikalavimų specifikavimas” ataskaita. Taip pat

dokumentas gali būti naudingas susipažinimui su naujausiomis programų sistemų sąsajomis.

Santrauka

Kompiuterio sąsajos valdymas tampa kompleksinis įvairių įrenginių bei programų derinys.

Kompiuterio valdymas tradiciniais įrenginiais, klaviatūra ar pelyte, nėra natūralus žmogaus

veiksimas ir varžo judesių laisvę. Šie įrenginiai turi apribotą funkcionalumą, todėl šiuo metu yra

tobulinama judesiais paremta valdymo sąsaja. Visiškas tradicinių sąsajų pakeitimas judesių sąsaja

galimas tik ištobulinus valdymo judesių atpažinimą.

Šio projekto tikslas yra sukurti judesiais pagrįstą, vartotojui patogią valdymo sąsaja. Šis

projektas leis susipažinti su inovatyviais valdymo sąsajų sprendimais, palyginti tradicines ir naujas

kuriamas valdymo sąsaja. Naujų sąsajų kūrimas yra aktuali naujųjų technologijų problema. Jos

sprendimas leistų vartotojui praplėsti kompiuterio valdymo funkcijas panaudojant žmogaus

judesius ir gestus. Projekto finansavimas tampa investicija į įnovatyvių sprendimų pritaikymą šių

dienų technologiniams sprendimams.

Projektas buvo pasiūlytas Kauno technologijų universiteto programų inžinerijos katedros

vedėjo Doc. Dr. Tomo Blažausko iniciatyva. Išanalizavus rinką bei moklinę literatūrą, buvo

diskutuojama apie galimą sistemos realizaciją, buvo apibrėžti sistemos reikalavimai, projektą

realizuosiantis asmuo, programų inžinerijos katedros studentas Robertas Sturonas.

Projekto realizacijai naudojama KTU inventorius (judesių atpažinimo sensoriniai įrenginiai).

Atsižvelgus į tarpinių magistrinio darbo atlikimo terminus buvo sudarytas projekto dalių pateikimo

tvarkaraštis.

R.Sturonas

7

Page 8: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

1.1. Taikymo sritis

Projekto tikslas ir adresatas

Projekto tikslas ištirti programinės įrangos valdymą judesiais, jos specifiką bei iškylančias

problemas. Šio projekto metu bus realizuojama judesių atpažinimo programinė įranga, išryškinamos

judesiais valdomos sąsajos galimybės bei sąsajos trūkumai. Vėlesniuose etapuose analizuojama

sistemos rezultatai bei tobulinama šių sąsajų realizacija. Kuriama sąsaja skirta paprastam vartotojui,

tačiau stengtasi ją pritaikyti ir kūno valdymo sutrikimų turintiems žmonėms. Pasinaudojus šia

sąsaja, neįgaliems žmonėms, sunkiai valdantiems pelę ar klaviatūrą, gali būti suteikta galimybė

palengvinti kompiuterio funkcijų valdymą.

Informacija apie užsakovo organizaciją

Užsakovas yra Kauno technologijos universiteto informatikos fakulteto programų

inžinerijos katedra. Sukurtas produktas lieka autoriaus intelektualia nuosavybe. Užsakovas gauna

teisę neribotą laika naudotis sukurtu produktu. Užsakovas neturi teisės platinti produkto kopijos

(perparduoti).

Produktas nėra orientuotas į potencialų pirkėją, tačiau investicijos į produktą yra priimtinos

bei skatinamos. Pirminiuose produkto realizacijos etapuose produktas bus laisvai platinamas. Šio

produkto įsigijimu bei naudojimu galėtų būti suinteresuotos pramogų teikimo ir multimedijos

paslaugų kompanijos bei neįgaliųjų organizacijos.

1.2. Problemos sprendimas pasaulyje

Leap Motion

Kol kas pigiausias ir efektyviausias, judesių atpažinimu paremtas, sprendimas yra Leap

Motion. „Airspace“ programinė įranga leidžia naudoti jau esamas rankos judesiais ore valdomas

programų sąsajas. Beje, kai kurios iš jų mokamos.

Vos sukurtas Leap Motion įrenginys, iškarto buvo pritaikytas dar neseniai pasirodžiusiai

Windows 8 operacinei sistemai. Jis tapo dideliu konkurentu iki tol egzistavusiam judesių

atpažinimo produktui Kinect. Šie du įrenginiai ne tik konkuruoja bet ir papildo vienas kitą, skatina

šių sprendimų tobulinimą [1] .

R.Sturonas

8

Page 9: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Nors šių dviejų įrenginių kūrėjai demonstraciniuose vaizdo klipuose vaizdžiai parodo, kaip

paprasta naudotis sensorine judesių atpažinimo sąsaja, tenka pripažinti, kad šis valdymo būdas dar

nėra tobulas. Didelę paklaidą ir klaidų skaičių lemia neįgudę vartotojo judesiai bei nepritaikyta

programų bei operacinių sistemų aplinka.

Leap Motion „AirSpace“ aplikacijų parduotuvėje galima rasti įvairių valdymo sąsajų

sprendimų.

GameWAVE- sprendimas leidžiantis valdyti kompiuterį bei žaisti standartinius žaidimus

naudojant Windows OS. Reikalingas Leap Motion įrenginys.

Rastas sprendimas leidžia.

Abiejų rankų gestų atpažinimas

Skirtingų rankos mostų : vieno, dviejų ir daugiau pirštų visomis nepriklausomomis

kryptimis (į viršų, į apačią, aukštyn, žemyn)

Sukimo atpažinimai : vieno, dviejų ir daugiau pirštų atpažinimas dvejomis kryptimis

(dešinėn, kairėn).

Judėjimo krypties atpažinimas: aukštyn, žemyn, į kairę, dešinėn, pirmyn ir atgal.

Greičio slankmačiai, kad patikslinti judėjimo tikslumą.

Sugniaužtos ir išskleistos rankos atpažinimas.

Rankos laikymo būsenos atpažinimas.

Nykščio pakėlimas.

Greitas kelių pirštų paspaudimų atpažinimas.

Judesių valdymo pritaikymas:

Įvesties įrenginių klavišų paspaudimas.

Pelytės dešino, kairio ir ratuko imitaciniai paspaudimų ir sukimo judesiai.

Pelytės žymeklis valdymas.

medijos kontrolė: paleidimas, sustabdymas, prieš tai buvusio ar sekančio kūrinio

pasirinkimas, farso kontroliavimas, užtildymas.

Sisteminių komandų naudojimas. Kompiuterio užrakinimas, atsijungimas,

užmigimas, perkrovimas ar išjungimas [2] .

R.Sturonas

9

Page 10: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

DexType

Tai Leap motion aplikacija skirta rašyti nenaudojant klaviatūros. Pasinaudojus Leap motion

įrenginiu užfiksuojami visų pirštų judesiai ir atvaizduojamos paspaustų virtualios klaviatūros

klavišų raidės. Aplikacija pasižymi ir raidžių rašymo ore atpažinimu.

DexType skirtas ir liečiamiems telefonams. Deja tuomet, judesių ore atpažinimas

neveikia[3].

Leap Motion integracija į klaviatūrą.

HP firma vartotojams pasiūlė gestų atpažinimo įrenginį Leap Motion sujungti su klaviatūra.

Šį sukurtas įrenginys neužima papildomos vietos ant stalo bei nereikalauja papildomos USB

jungties. Tai patvirtina, kad kol kas rašymas klaviatūra lieka patogesnis, nei naudojant Leap motion

įrenginį [4] .

Išmanieji televizoriai

Šiuo metu ypač populiarūs tampa Samsung išmanieji televizoriai. „SmartTV“ aplikacijų

pagalba išmaniuosius televizorius galima valdyti ne tik balsu, bet ir rankų judesiais ore. Išmanieji

televizoriai atpažįsta rankos judesius ir leidžia jo naudotojui per atstumą valdyti išmanųjį televizorių

nenaudojant jokių papildomų įrenginių [5].

Tokių televizorių kaina šiuo metu labai greitai keičiasi. Kaina- nuo 1000LT.

PointGrab

Tai nauja iOS technologija naudojanti skirtingų įrenginių kameras. Point Grab pritaikyta:

Kompiuteriams.

Išmaniesiems telefonams.

Planšetiniams kompiuteriams.

Televizoriams [6].

R.Sturonas

10

Page 11: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Kinect

Kinect (kodinis kūrėjų pavadinimas, „Project Natal“ ) yra judesio linijų fiksavimo įvesties

įrenginys skirtas Microsoft „Xbox 360“ ir „Xbox One“ vaizdo žaidimų konsolių ir "Windows"

kompiuteriams.

Išsiskiria atpažinimo nuotoliu, garso atpažinimu, kelių asmenų judesių atpažinimų vienu

metu. Yra daug mokamų ir nemažai nemokamų aplikacijų skirtų Kinect naudotojams. Kai kurios

aplikacijos mokamos [7].

1.3. Situacijos Lietuvoje įvertinimas „Microsoft Lietuva“ kartu su partneriais – informacinių technologijų (IT) bendrove „Gluk Media“ ir Kauno technologijos universiteto Informatikos fakultetu – pristatė „Kinect“ panaudojimo galimybes švietime, medicinoje, moksle ir žaidimuose.

Lietuvos įmonė „Gluk Media“ sukūrė daugiau nei 10 aplikacijų, panaudojančių „Kinect“

įrenginio teikiamas galimybes. Dar panašiai tiek pat sukurta naujų aplikacijų prototipų. Šiuo metu

įmonė bendradarbiauja su Santariškių klinikomis ir kitomis medicinos įstaigomis kuriant programą,

skirtą pacientų fizinei reabilitacijai [8].

Lietuvos statistikos departamentas nuo 2004 iki 2011 metų pateikia duomenis apie neįgaliųjų aprūpinimą techninėmis pagalbos priemonėmis:

Judėjimo, jėgos ir pusiausvyros lavinimo įrangą.

Priemones, padedančias atlikti ir (arba) pakeičiančias rankos ir (arba)

plaštakos, ir (arba) piršto funkcijas [9].

1 lentelė. Statistikos departamento duomenys Metai

Priemonė2004 2005 2006 2007 2008 2009 2010 2011

Judėjimo, jėgos ir pusiausvyros lavinimo įrangą. 133 256 260 223 263 210 88 168

Priemones, padedančias atlikti ir (arba) pakeičiančias rankos ir (arba) plaštakos, ir (arba) piršto funkcijas

7 .. 97 120 108 170 152 203

R.Sturonas

11

Page 12: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Pateiktoje lentelėje matoma, kad nuperkama vis daugiau techninių priemonių padedančių

valdyti ranką, arba pakeičiančių rankos ar plaštakos funkcijas. Leap Motion ir Kinect įrenginiai

ateityje, taip pat, gali būti naudojami pagerinti judesių apribojimus turinčių žmonių reabilitaciją ir

integraciją į visuomenę. Todėl būtina užtikrinti tokių įrenginių sąsajų tobulinimą.

1.4. Produkto apibūdinimas

Pagrindinės kuriamos sistemos funkcijos:

Judesių atpažinimas Kompiuterio funkcijų vykdymas

Sistemos kontekstas

Naujas produktas naudos Leap Monion arba Kinect judesių jutiklius. Rezultatai bus

atvaizduojami kompiuterio ekrane. Tam prireiks nešiojamojo kompiuterio arba stacionaraus

kompiuterio ir monitoriaus.

Pasinaudojus sensoriumi, bus apdoroti žmogaus judesiai. Kompiuteryje bus atliekamas

duomenų apdorojimas bei funkcijų vykdymas. Gauti rezultatai bei funkcijų vykdymas bus

atvaizduojamas kompiuterio ekrane. Tokiu būdu vartotojas galės ne tik stebėti, bet ir kontroliuoti

funkcijų vykdymą, bei bet kada inicijuoti naujas sistemos funkcijas.

Vartotojo charakteristikos

Daroma prielaida, kad visi sistemos naudotojai turi minimalios kompiuterio valdymo

tradicinėmis priemonėmis (klaviatūra ir pele) patirties. Vartotojams keliami minimalūs

kompiuterinio raštingumo reikalavimai.

Pirmasis naujo vartotojo susižinimas su sistema ir jos išbandymas gali būti sudėtingas.

Tikimasi, kad vartotojų vadovo ir trumpų apmokymų vartotojams pakaks pilnai paruošti tinkamam

sistemos naudojimui.

R.Sturonas

12

Page 13: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Vartotojo problemos

Pagrindinė kuriamoje sistemoje sprendžiama vartotojų problema yra tradicinės valdymo

sąsajos apribojimai. Kuriama sistema leis vartotojui vadytį kompiuterį neliečiant papildomų

įrenginių.

Naujai sukurta sistema turėtų palengvinti kompiuterio valdymą rankos judesių sutrikimus

turintiems žmonėms.

Vartotojo tikslai

Kuriamas produktas skirtas žmonėms norintiems išbandyti ir naudoti inovatyvias valdymo

sąsajas. Produktas leis vartotojams valdyti kompiuterį per atstumą, nenaudojant jokių liečiamų

įvesties renginių (klaviatūra, pelė, pultelis, liečiamas ekranas).

Pagrindiniai sistemos vartotojo reikalavimai:

Tikslumas Lankstumas Greitaveika Pritaikomumas Saugumas Patogumas Greitas išmokstamumas Paprastumas

Bendri apribojimai

Sistemos realizacija turi atitikti esamus ISO 9241-11 sąsajų standartus. Sistemos vartotojas

neturi jausti judesių vėlavimo, arba šis vėlavimas, neturi trukdyti valdyti numatytų kompiuterio

funkcijų.

Judesių atpažinimas veikia tik sensorinių įrenginių specifikacijose apibrėžtuose veikimo

ploto rėžiuose, tačiau plotą dalinai galima keisti perkeliant sensorinę įrangą. Apribotas,

priklausomai nuo sensoriaus, ir vartotojų naudojančių sistemą skaičius.

R.Sturonas

13

Page 14: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

1.5. Projekto įgyvendinimo planai ir kokybės vertinimas

Projekto realizacijos metu bus atliekama:

Realizuotų sprendimų ir jų vertinimų analizė. Realizuojamų projekto metodų pasirinkimas. Realizuojamo projekto funkcijų apsibrėžimas. Resursų paskirstymas ir realizacijos plano sudarymas Projekto realizacija. Projekto testavimas ir tobulinimas Projekto įgyvendinimas.

1.6. Įgyvendinimas

Projektavimo metodika.

Realizuojamos sistemos projektavimui pasirinkta šiuo metu populiariausia notacija

pasaulyje UML (angl. Unified Modeling Language– UML) - modeliavimo ir specifikacijų kūrimo

kalba, skirta specifikuoti, atvaizduoti ir konstruoti objektiškai orientuotų programų dokumentus.

Naudojant UML galima projektuoti sistemą skirtingais abstrakcijos lygiais.

UML modelis informacinės sistemos projektavimui susideda iš lentelėmis pagrįsto modelio

– skirtingų rūšių diagramų, vaizduojančių sistemos savybes skirtingais aspektais, taip pat skirtingas

sistemos vystymosi ar plėtros fazes. Šiuo metu UML modeliavimo kalba yra standartinė

projektavimo priemonė, kuri dažniausiai taikoma neformaliam pagrindinių verslo ar kompiuterinės

sistemos aspektų vaizdavimui. Šis pasirinkimas padės standartizuoti modeliavimo notaciją.

Sistemos realizacijos priemonės.

Sistema realizuojama panaudojus Leap Motion įrenginį ir pateikiamą atvirąjį kodą bei jo dokumentaciją.

Sistemos projektavimui naudojami MagicDraw 17.02, Enterprise Architekture bei MS Visio paketai

Sistemos kūrimui naudojami Notepad++ programinis paketas. Naudojama programavimo kalba: Javascript Sistema turi funkcionuoti Windows Vista, Windows 7, Windows 8 aplinkose. Rekomenduojami minimalūs serverio techninės įrangos parametrai: 3 GHz, 4 GB RAM,

20GB kietasis diskas (reikalavimai priklauso nuo vartotojų skaičiaus). Vartotojo techninės įrangos reikalavimai pateikiami vartotojo dokumentacijoje.

R.Sturonas

14

Page 15: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Išplečiamumas

Sistema naudos standartines Leap Motion Aplikacijų realizavimo priemones, todėl nebus

sunku praplėsti sistemą naujais moduliais ar atnaujinti programinį kodą. Sistemą bus galima plėsti ir

integruoti į kitas sistemas (Pvz: žaidimai, svetainės ir kt.).

Kokybės vertinimo kriterijų pasiūlymas.

Sukurta sistema bus vertinama pasinaudojus QUIM modelyje pasiūlytais veiksniais,

papildant juos atskirų sistemų privalumais. Bus atsižvelgta į kiekvienos sistemos išskirtinumą, bei

pritaikomumą realizuojamam projektui.

1.7. Projekto vykdytojai

Projektui įgyvendinti reikalingi žmonės:

Projektų vadovas (žmogus atsakingas už darbų atlikimą laiku, darbų paskirstymą

darbuotojams, atskiriems darbams resursų paskirstymą).

Projektuotojas (žmogus nustatantis programinės įrangos architektūrą, komponentes,

paruošiantis specifikacijas konkrečioms programinės įrangos komponentėms)

Programuotojas (žmogus pagal pateiktas specifikacijas realizuojantis programinę įrangą)

Testuotojas (žmogus pagal pateiktas specifikacijas sudarantis testavimo atvejus ir

testuojantis programinę įrangą)

1.8. Skyriaus išvados

Išanalizuotos sistemos taikymo sritis ir realizuojamos funkcijos leis nustatyti pagrindinius vartotojų reikalavimus sistemai.

Išanalizuoti egzistuojantys panašūs sprendimai ir šių sprendimų palyginimas leidžia išskirti kiekvienos sistemos pranašumas ir realizuoti juos kuriamame produkte.

Išskirti sistemos realizacijai reikalingi resursai bei sistemos vykdytojai leis tinkamai valdyti resursus projekto įgyvendinimo eigoje.

Išskirti sistemos apribojimai leis išvengti perteklinio laiko švaistymo, bei sumažins klaidų tikimybę.

R.Sturonas

15

Page 16: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

bottom-up top-down

2. PROJEKTAVIMO METODOLOGIJOS IR TECHNOLOGIJŲ ANALIZĖ

Skyriaus tikslas išnagrinėti tyrimo metodus, atlikti literatūros analizę, pasirengti projekto

reikalavimų specifikavimui, projektavimui, susipažinti su užsakymo taikymo sritimi, pasauliniais

pasiekimais taikomojoje srityje. Tyrimo metu analizuojama esamos sąsajos, jų panaudojamomis ir

produktyvumas. Siekiant padidinti pasirinktų valdymo sąsajų efektyvumą aptariama valdymo

sąsajų realizacijos metodai, ištiriami veiksniai, kurie lemia esamos sistemos poreikius bei

įvertinamos skirtingų valdymo sąsajų galimybės. Numatomos kuriamos sistemos realizacijos

galimybės, apžvelgiamos galimos kompiuterizavimo priemonių alternatyvos.

2.1. Programinės įrangos projektavimo metodai

Norint gauti gera sistemos projektą reikia pasirinkti tinkamus projektavimo metodus. Projektavimo metodai susideda iš komplekto nurodymų, euristikos, ir procedūrų.

Norint pasirinkti tinkamiausią projektavimo metodą reikia atsižvelgti į šias sąlygas: Problemos sritis Projektuotojo patirtis Galimi įrankiai Projektavimo filosofija

Funkcinė dekompozicija

Funkciniame dekompozicijos projektavimo metode numatoma funkcija kuri yra suskaidoma į subfunkcijas – taip kad kiekviena subfunkcija sprendžia vieną bendros problemos dalį. Kiekviena subfunkcija gali būti toliau analizuojama ir skaidoma į dar labiau primityvias funkcijas, ir taip toliau. Funkcinė dekompozicija yra projektavimo filosofija, o ne projektavimo metodas. Tai reiškia projektavimo metodą, kuris sudaro daugelio projektavimo metodų pagrindą.

1. Pav. Funkcinės dekompozicijos projektavimo idėja.

Kaip parodyta paveiksle aukščiau funkcinė dekompozicija yra dviejų tipų: Top-down Bottom-up.

R.Sturonas

16

Page 17: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Top-down būdų projektuojama kai žinoma pagrindinė problema ir ko užsakovas konkrečiai nori. o bottom-up būdu projektuojama kai užsakovas nežino tiksliai ko nori ir ką sukurta sistema turėtų atlikti. Šis projektavimo metodas turi ir nemažai kritikos, nes projektavimas nėra visiškai racionalus:

Dažniausiai klientai nežino ko nori, Pakeitimai įtakoja ankstesnius sprendimus, Žmonės klysta Projektai nepradedami nuo nulio, todėl dažniausiai jau būna kažkoks pagrindas Projektavimas kaip yo-yo, nes kažkas sugalvojama, išbandoma atmetama ir vėl kyla

naujos idėjos [10].

OO analizė ir projektavimo metodai

Pagrindinės sąvokos, kurios vaidina vaidmenį objektiškai orientuotoje analizėje ir programinės įrangos projektavime yra: objektai, jų požymiai ir paslaugos, ir santykiai tarp objektų. Iš to seka, kad pagrindiniai objektiškai orientuotos sistemų analizės ir projektavimo metodų pagrindiniai žingsniai:

1. Identifikuoti objektus; 2. nustatyti požymius ir paslaugas; 3. nustatyti santykius tarp objektų.

OO analizė ir projektavimo metodai – RUP metodas

Labai detalus ir iteratyvus metodas. Yra atskiriamos darbų kryptys: reikalavimai, analizė projektavimas.

Keturios fazės: pradžia, detalizavimas, konstravimas, transformavimas.

Aktyviai naudojamas UML. “Use-case” vienas iš svarbiausių detalių, nes tai leidžia valdyti informaciją skirtingose projektavimo fazėse.

R.Sturonas

17

Page 18: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

2.1. Temos tikslingumas ir aktualumas

Pastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti įrenginius

netradiciniais būdais, pavyzdžiui: Leap Motion, Kinect, Oculus Rift, neurokompiuterijos prietaisai

ir kt. Dalis įrenginių dar nėra plačiai naudojami. Tai lemia ne tik aukštos įrenginių kainos ar

trumpas laiko periodas nuo jų atsiradimo, bet ir šių įrenginių sąsajų sudėtingumas vartotojui. Todėl

aktualu ieškoti būdų tų sąsajų naudojimo palengvinimui. Didelio dėmesio susilaukia ir sąsajų

pritaikymas fizinę negalę turintiems žmonėms.

Kolkas nėra vienos universalios valdymo sąsajos kuri paveldėtų visas geriausias kitų sąsajų

savybes. Sudėtingėjant technologijoms nebepakanka esamų valdymo sąsajų. Kaip technologijos

taip ir vartotojų sąsaja su jomis evoliucionuoja. Kuriami inovatyvūs valdymo sąsajų techniniai

sprendimai turi pasirūpinti tinkamos vartotojo sąsajos parinkimu, jos optimizavimu ir nuolatiniu

tobulinimu. Klaviatūros, pelytės bei pultelio valdymas nėra natūralus žmogaus elgesys, todėl vis

daugiau mokslininkų skiria daug dėmesio valdymo sąsajoms naudojant žmogaus judesius. Ieškoma

įvairesnių gestų atpažinimo technologijų. Gestais paremta vartotojų sąsaja (GUI) vis dažniau

naudojama ir kasdienybėje. Gestų atpažinimas, tai kompleksinis uždavinys į kurį įeina judesių

modeliavimas, analizavimas, šablonų susiejimas ir atpažinimas bei mašininis mokymasis [11].

Inovatyvių valdymo sąsajų populiarėjimas Lietuvoje

Nagrinėjant ateities perspektyvas buvo išanalizuota patentų registravimo tendencijos.

Patentų tendencijos parodo kokia linkme eina technologijos.

Sąsajų efektyvumo užtikrinimas tampa vis aktualesnis klausimas Lietuvoje, nes vis didesnė

registruojamų patentų dalis priklauso G06 patentų klasei („Kompiuterinis apdorojimas;

Apskaičiavimai; Skaičiavimas“). Vis didesnis dėmesys skiriamas šių technologijų tobulinimui.

Pateikta 2012 metų statistika, pagal Tarptautinės patentų klasifikacijos (TPK) hierarchinės

sistemos skyrių pasiskirstymą, pagal kiekybinę išraišką paduodant patentines paraiškas. Iš ~100,

Vilniuje konsultuotų išradėjų beveik ketvirtadaliui (23,3%) aktualus buvo G skyrius, t.y. technikos

sritys, priskiriamos fizikai pagal TPK. Pažvelgę giliau į populiariausio Vilniuje G skyriaus klases,

išsiskiria G06 klasė „Kompiuterinis apdorojimas; Apskaičiavimai; Skaičiavimas“ – 37,5% visų

konsultacijų (dominavo tema apie duomenų apdorojimo sistemas ar metodus, specialiai pritaikytus

komerciniams ir finansiniams tikslams – G06Q) [12]. G06 patentų klasei priskiriama ir

kompiuterių valdymo sąsajos [13].

R.Sturonas

18

Page 19: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

2.2. Technologijų analize

Prieš pasirenkant technologiją projekto realizacijai reikia išnagrinėti esamus sprendimus.

Analizės metu išskiriami sprendimų skirtumai, jų panaudojimo galimybės ir taikymo sritys.

Darbe nagrinėjama dvi vartotojo valdymo sąsajų rūšys:

Gestais paremta vartotojų sąsaja (GUI)

Smegenų ir kompiuterio sąsaja (BCI)

Analizės dalyje nebus nagrinėjama standartinės kompiuterio valdymo sąsajos (pelė, klaviatūra,

valdymo pultelis).

Gestais paremta vartotojų sąsaja

2. pav. Gestais pagrįstos vartotojų sąsajos veikimas.

Sąsajai naudojama:

Objektų aptikimas.

Spalvos atpažinimas ir išskyrimas.

Formų atpažinimas.

Atpažinimas iš pikselių reikšmių.

3D modeliais-grįstas atpažinimas.

Judesių sekimas [14].

R.Sturonas

19

Page 20: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Daugėja ir gestais (bei galvos judesiais) paremtų valdymo sąsajų sprendimų. Analizės

dalyje aptariami keletas iš jų:

Leap Motion

Kinect

Oculus Rift

2.2.1. Egzistuojantys technologiniai sprendimai

Leap Motion

Leap Motion- šiuo metu rinkoje pats tiksliausias (0.01mm tikslumo) rankos judesių

sensorius. Priešingai nei Kinect kūno judesių sensorius, Leap Motion didžiausią dėmesį skiria

judesių sąsajos tikslumui. Įrenginys pasižymi judesių užfiksavimu milimetrų tikrumu.

3. pav. Leap Motion veikimo zona.

(Šaltinis paimtas iš:http://tutoprocessing.com/tutos/intermediaire/leap-motion-processing/ )

Pliusai:

Abiejų rankų palaikymas (kairė, dešinė, bei abi rankos vienu metu).

Ypač tikslus judesių atkartojimas.

Kompaktiškas įrenginys.

Minusai:

Ranka fiksuojama tik laikant delnu į apačią

Labai ribotas veikimo laukas

Leap Motion pateikia nemokamą gestų apdorojimo programinio kodo karkasą ir skatina

naujų programų kūrėjus pasinaudoti jau sukurtu programiniu kodu.R.Sturonas

20

Page 21: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Kinect

Kincet pirmiausia buvo skirtas įprastinei sąveikai kompiuterinių žaidimų aplinkoje, tačiau

įvertinus Kinect galimybes, jis buvo pradėtas naudoti ir 3D modeliavime [15].

Tai žaidimų konsolei Xbox 360 bei Xbox One (Durango) skirtas įrenginys. Jis pasižymi

dideliu nuskaitymo nuotoliu (nuo 0.8m iki 4m), bei kelių sistemos naudotojų palaikymu vienu metu

(iki 6). Valdymo sąsaja turi valdymo balsu galimybę.

Įrenginys nėra tikslus- užfiksuojama iki 5 cm paklaida. Taip pat ilgas (60ms) reakcijos

laikas varžo naudotojų judesius, neleidžia naudotojui greitai judėti [16].

2011metais „Microsoft“ išleido nekomercinę „Kinect“ SDK „Windows operacinei

sistemai“

Sąsajos pliusai:

Iki 6 asmenų palaikymas vienu metu.

Rankų kojų (bei jų dalių), galvos judesių atpažinimas.

Minimalūs apmokymai.

Minimaliai apribotas judėjimo plotas [17].

Oculus rift

Oculus Rift yra naujos kartos virtualios realybės ausinės leidžiančios vartotojui pasijusi lyg

būtų žaidime. Perkant Oculus Rift gaunama ir programinės įrangos kūrimo rinkinį (SDK) kurią gali

naudoti kuriant naujus žaidimus ir juos pritaikant šiai technologijai.

4. pav. Oculus Rift veikimo zona.

Šaltinis paimtas iš: http://robotrice.com/the-oculus-rift-is-set-to-make-virtual-reality-a-reality/

Matomas tradicinio monitoriaus ir Oculus rift skirtumas.

R.Sturonas

21

Page 22: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

5. pav. Oculus Rift veikimo ašys.Šaltinis paimtas iš: http://www.dailymail.co.uk/sciencetech/article-2356854/The-gaming-headset-transforms-video-

games-virtual-reality-worlds.html

Apskaičiuojant judėjimą pagal vieną ašį naudojama formulė:

Dabartinė orientacija = ankstesnė orientacija + sensoriaus nuskaitymų skaičius  .

Kur, - kampinis greitis radianais per sekundę. Ant galvos montuojami displėjai valdomi visų 3 ašių ir sudaro 3D vektorių.

.

Atliekant kompiuterinius skaičiavimus nustatomas vėlavimas. Jis turi didelę įtaka sąsajos kokybei.

6. pav. Vaizdo vėlavimo apskaičiavimas

Vaizduojamas kampas, laiko tarpu t0. Matoma klaida, vaizdas bus rodomas ne tuo kampu

kuriuo jis turi būti matomas. Pagal formulę apskaičiuojamas vėluojamas kampas.

R.Sturonas

22

Page 23: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Kur yra galvos poslinkis, laipsniais, ir vėlavimas, sekundėmis [18].

IVE (uždara virtuali aplinka) sudaro: vartotojo perduodami duomenys, keturi pagrindiniai komponentai (Tracking delay, Aplication delay, Rendering delay, Dispay delay) , naudotojui pateikiama išeiga. Tik optimizavus visus keturis elementus galima užtikrinti mažesnę gaišatį.

Smegenų ir kompiuterio sąsaja

Toliau nagrinėjamas smegenų srautu ir kompiuterio sąsaja (BCI) paremtas sprendimas. Šis

sprendimas leidžia neįgaliems, kūno valdymo sutrikimų turintiems žmonėms valdyti kompiuterį. Ši

sąsaja ateityje gali labai palengvinti neįgalių žmonių gyvenimą [19].

Emotiv EPOC (EEG skeneris)

Emotiv EPOC

Vis dažniau EEG signalų skaitymas pritaikomas dirbtinių galūnių valdymui. Toks

pritaikomumas ateityje leis sumažinti neįgalių asmenų judesių apribojimą.

7. pav. EEG skaitytuvų veikimasŠaltinis paimtas iš: http://boingboing.net/2007/10/15/microsofts-mind-read.html

EEG skaitytuvas nagrinėja minčių srautą, apdoroja gautus duomenis, pašalina triukšmą ir, jei

įmanoma, atpažįsta iš anksto kompiuteryje apmokymų metu išsaugotą smegenų impulsą. Sėkmingo

atpažinimo atveju, inicijuojama apmokyta kompiuterio funkcija.

EEG dažnai naudojama pulso trigdžių pašalinimas.

R.Sturonas

23

Page 24: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

8. pav. EEG triukšmo pašalinimas

Paveikslėlis atvaizduoja schemą kurioje matoma pulso artefaktai ir jų trukdžių pašalinimas.

Artefaktų vidurkis, apskaičiuotas per procesus atvaizduojamus schemos centre. Iš gautų EEG

signalai panaikinami pulso sukelti trukdžiai ir gaunamas apdorotas smegenų siunčiamas signalas

[20].

2.3. Sistemų sąsajų vertinimo metodai

Norint tinkamai išanalizuoti sąsajos panaudojamumą, patartina laikytis jau egzistuojančių

standartų bei naudoti jau sukurtus metodus. Tai leis objektyviai palyginti esamus sprendimus.

Programinės įrangos panaudojamumo metrikos sąsajų įvertinimui

Mokslinėje literatūroje pateikiama keletas skirtingų standartų (pvz., ISO9241, ISO/IEC

9126, IEEE Std.610.12) ir konceptualių modelių (pvz.., Metrics for Usability Standards in

Computing [MUSiC]). Norint apjungti visus sąsajų standartus, buvo sukurtas vienas bendras

hierarchinis modelis. Šis bendras modelis buvo pavadintas Quality in Use Integrated Measurement

(QUIM).

R.Sturonas

24

Page 25: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

QUIM sudaro10 veiksnių. Šie 10 veiksnių yra skirstomi į 26 veiksnių pogrupius kurie

išmatuojami kriterijais, kurie toliau dar skyla į 127 konkrečius rodiklius [21].

9. pav. Sąsajų kokybių veiksniai. QUIM modelis.

Pasinaudojus lentele galima nustatyti pagrindinius sąsajų kriterijus lemiančius sistemos

sąsajų kokybę [21].

R.Sturonas

25

Page 26: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Sąsajų tobulinimo procesai

Nagrinėjant egzistuojančias valdymo sąsajas, buvo išskirti pagrindiniai sistemų sąsajų

vertinimo ir jų tobulinimo procesų etapai:

1. Pasirinktos sąsajos praktiškumo vertinimo tikslų nurodymas.

2. Sąsajos aspektų įvertinimo nustatymas.

3. Tikslinio vartotojo identifikavimas.

4. Panaudojamumo metrikų pasirinkimas.

5. Vertinimo metodo pasirinkimas.

6. Užduočių pasirinkimas.

7. Eksperimento eigos suprojektavimas.

8. Gautos operacijų charakteristikos (ROC).

9. Gautų duomenų analizė ir interpretavimas.

10. Kritinis sąsajos vertinimas ir jos patobulinimo patarimai.

11. Viso proceso iteracijos pakartojimas (jei reikalinga).

12. Gauti galutiniai rezultatai [22].

Sąsajų kiekybinis ir kokybinis palyginimas

Metrikų rezultatai yra apskaičiuojami pagal matematinį algoritmą arba euristinių

paskaičiavimų metu.

Efektyvumui apskaičiuoti galima naudoti Bevan ir Macleod (1994) pasiūlytą efektyvumo

skaičiavimo formulę:

TE = Kiekybė × Kokybė /100

Kur, kiekybė- visų užduotų ir atliktų darbų dalis, o kokybė- dalis darbų, kurie pasiekė

norimą tikslą.

Nagrinėjant skirtingus įrenginius tą padaryti sunku arba visai negalima. Pagrindinė to

priežastis, skirtingų komponentų ir techninės įrangos panaudojimas, skirtingas kokybės ir kiekybės

vertinimas.

Pasinaudojus internete publikuojamų testų rezultatais ([23], [24]) ir surinkta medžiaga buvo sudaryta nagrinėjamų technologijų charakteristikų palyginimų lentelė.

R.Sturonas

26

Page 27: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Lentelė 2. Analizuotų įrenginių sąsajų palyginimas

Atliekamo analizės darbo sunkumai.

Nėra jokio tikslaus visų įrenginių palyginimo. Skirtingi šaltiniai pateikia skirtingus rezultatus. Pagrindinė to problema, skirtinga kompiuterinė technika ir skirtinga virtuali aplinka kurioje ši technologija naudojama.

Naujos, mažai išanalizuotos technologijos. Negalima objektyviai tikslai palyginti skirtingas technologijas. Nei vienas analizuotas

metodas neleido to atlikti.

2.4. Analizės dalies rezultatai

Aptarti pagrindiniai sistemų parametrai. Tai leis palyginti ir išsirinkti tinkamiausią

realizacijos technologiją.

Išskirtos netradicinės valdymo sąsajos ir atrinkti šias sąsajas revizavę įrenginiai. Išnagrinėtas

šių įrenginių valdymo sąsajų veikimas:

a. Emotiv EPOC

b. Leap Motion

c. Kinect

d. Oculus Rift

R.Sturonas

27

\Įrenginys

Parametras\Leap

MotionKinect Oculus Rift

Emotiv EPOC

Matymo laukas(laipsniai)

330˚ vertikaliai

70˚ horizontalia

i , 60˚ vertikaliai

Horizontaliai <90˚, vertikaliai

>110˚.-

Užfiksavimo atstumas

3.22“-13,5“

0.8m-4m - -

Tikslumas ~0.01mm ~5.6mm - ~90%

Vėlavimas16ms - 30ms

60ms ~40ms 2-3s

Page 28: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Emotiv EPOC pasižymi sudėtinga ir sunkiai valdoma sąsaja. Ilgas užklausų apdorojimo laikas,

pagrindinis šio įrenginio trūkumas.

Leap Motion- greičiausiai apdoroja užklausas, matomas mažiausias judesių uždelsimas.

Kinect įrenginio sąsaja pasižymi dideliu gestų ir judesių atpažinimo lauku, tačiau atpažinimas nėra

greitas bei tikslus.

Oculus Rift įrenginio sąsaja dar nėra visiškai ištobulinta, tačiau ateityje numatoma, kad jis taps

efektyvus vaizdo valdymo įrenginys. Oculus Rift įrenginys gali bendradarbiauti su Leap Motion ar

Kinect įrenginiais ir taip papildyti vienas kitą.

Toliau magistro darbe dėl sąsajos tikslumo nuspręsta nagrinėti tik Leap Motion įrenginio valdymo

sąsajas.

Aptarti sąsajų įgyvendinimo reikalavimai. Tai leidžia įvertinti sąsajos realizacijos laiką bei

minimizuoti realizacijos metu iškylančias problemas.

Atlikta pasirinktų įrenginių vartotojų sąsajų atpažinimo algoritmų ir jų veikimo analizė. Pateikti

algoritmų paaiškinimai leis efektyviau panaudoti realizacijos metu gaunamus pasirinkto

įrenginio duomenis.

Detalizuoti duomenų apdorojimo etapai leis tinkamai suprojektuoti sistemos panaudojimo

atvejus bei duomenų srautų diagramą.

R.Sturonas

28

Page 29: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

3. PROJEKTO PLANAS.

10. pav. Projekto darbų grafikas.

R.Sturonas

29

Page 30: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

3.1. Ganto diagrama

11. pav. Projekto darbų grafikas.R.Sturonas

30

Page 31: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

4. REIKALAVIMŲ SPECIFIKAVIMAS

4.1. Projekto kūrimo pagrindas

Atsirado galimybė gestų atpažinimą pritaikyti kasdienybėje. Tai gali pakeisti esamus vartotojų sąsajų sprendimus. Kuriant vis tikslesnius gestų atpažinimo įrankius yra galimybė tobulinti gestais paremtas vartotojų sąsajas. Tobulinimo metu būtų didinamas sąsajų efektyvumas (mažinama įvesčių trukmė, klaidų skaičius bei didinamas vartotojų pasitenkinimas). Yra galimybė Leap Motion įrenginį pritaikyti išmaniųjų televizorių valdymui.

Tikslesnio įvesties įrenginio panaudojimas galėtų išspęsti dabartines gestų atpažinimo televizoriuose problemas. Leap Motion įrenginio panaudojimas pakeičiant televizoriaus pultelį gali pagreitinti naudotojo įvesties greiti 2 ir daugiau kartų.

Sistemos tikslai

Sistemos tikslas- sukurti vartotojui patogesnę sąsają, leidžiančią vartotojui valdyti televizorių naudojantis Leap Motion gestų atpažinimo kontroleriu.

Sistema leis vartotojui greičiau ir patogiau valdyti išmaniojo televizoriaus aplikaciją. Patogi vartotojo sąsaja leis užtikrinti greitesnę bei tikslesnę vartotojo teksto ir fiksuojamų koordinačių įvestį. Sukurta sistema prisidės prie gestų atpažinimo įrenginių galimybių praplėtimo.

4.2. Užsakovai, pirkėjai ir kiti sistema suinteresuoti asmenys

1. Užsakovas:

Dr. Tomas BlažauskasAdresas: Kauno Technologijos Universitetas Studentų g. 50-406, KaunasTelefonas: +370-37-454229El. paštas: [email protected]

2. Pirkėjas:

Dr. Tomas BlažauskasAdresas: Kauno Technologijos Universitetas Studentų g. 50-406, KaunasTelefonas: +370-37-454229El. paštas: [email protected]

3. Kiti sprendimus priimantys asmenys.

Dr. Tomas BlažauskasAdresas: Kauno Technologijos Universitetas Studentų g. 50-406, KaunasTelefonas: +370-37-454229El. paštas: [email protected]

R.Sturonas

31

Page 32: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Naudotojai

Lentelė 3. Sistemos naudotojai

Naudotojų kategorija: Atsitiktinis asmuo.Vartotojo sprendžiami uždaviniai Televizoriaus valdymas nuotoliniu būdu.

Teksto vedimas televizoriuje.Patirtis dalykinėje srityje: -Patirtis informacinėse technologijose: Naujokas.Papildomos vartotojo charakteristikos: Fiziškai sveikas, rankos judesių sutrikimų

neturintis asmuoApsimokymo poreikis: ReikiaAmžiaus grupė: 7-80

• Vartotojų prioritetai. Kadangi visi vartotojai yra atsitiktiniai, visų vartotojų prioritetai yra svarbūs.Didžiausias dėmėsis kreipiamas į 16 - 40 m. amžiaus vartotojų grupes, dažniausiai naudojančias išmaniuosius televizorius.

Lentelė 4. Naudotojų atsakomybės

Naudotojų kategorija Dalyvavimas (teikiamos žinios)

Minimalūs laiko resursai reikalavimas išgauti/validuoti.

Atsitiktinis vartotojas Vartotojo sąsajos prototipų peržiūra.

8 val.

Panaudojamumo reikalavimų išgavimas/testavimas.

16 val.

4.3. Projekto apribojimai

Tai apribojimai, kurie įtakoja reikalavimų specifikaciją bei sistemos kūrimo eigą bei charakteristikas.

Apribojimai sprendimui:

Prieš kuriant sistemą būtina apsibrėžti funkcinius ir nefunkciniu reikalavimus bei galimą sistemos realizavimo laiką, kainą, projekto apribojimus.

Gestų atpažinimas turi veikti ant 7 kartos Samsung išmaniųjų televizorių. Turi būti įvardyti ir suderinti minimalūs diegimo aplinkos reikalavimai kuriamai sistemai.

R.Sturonas

32

Page 33: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Diegimo aplinka

Sistema tinkamai veiks tik naudojant pakankamus parametrus turinčius sistemos kompiuterius. Rekomenduojami parametrai nurodyti dokumento, „Vartotojo dokumentacija“ skyriuje.

Sistemai, taip pat, reikalingas prie tinklo prijungtas išmanusis Samsung televizorius.

Bendradarbiaujančios sistemos

Kuriama sistema bendradarbiaus su esamomis Samsung Smart TV aplikacijomis. Sistemos naudojimo aplinka bus televizorius. Televizoriuje esančios aplikacijos leis gestų pagalba valdyti išmanųjį televizorių.

Komerciniai specializuoti programų paketai

Kuriama sistema naudos Leap Motion Developer SDK.

Numatoma darbo vietos aplinka

Sistemos naudojimo aplinka- uždaros patalpos. Visi įrenginiai (televizorius, kompiuteris, Leap Motion kontroleris) turi būti apsaugoti nuo greitų temperatūros pokyčių, kritulių ar purvo. Taip pat negali būti jaučiami stiprūs virpesiai. Sistema veiks netinkamai arba visai neveiks neapsaugojus patalpų nuo išorinių veiksnių.

4.4. Sistemos kūrimo terminai

Lentelė 5. Sistemos kūrimo terminai

Eil.Nr.

Užduotis Užbaigimas

1. Reikalavimu specifikacijos rengimas 2014.03.102. Architektūros specifikavimas 2014.04.153. Detalios architektūros specifikacijos rengimas 2014.05.204. Sistemos realizacija 2014.11.015. Testavimas 2014.11.116. Vartotojo dokumentacijos rengimas 2014.12.017. Sistemos pataisymai, užbaigimas 2015.01.23

R.Sturonas

33

Page 34: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Sistemos kūrimo biudžetas

Lentelė 6. Sistemos kūrimo biudžetas

Išlaidos Vienetas Vienetų skaičius

Vieneto kaina, Lt

Viso, Lt

1. Žmonių ištekliai

Analitikas Darbo diena 25 100 2500

Programuotojas Darbo diena 40 120 4800

Testuotojas Darbo diena 12 70 840

Dizaineris Darbo diena 5 70 350

Iš viso žmonių išteklių Darbo dienų 82 8490

2. Įranga ir prekės Vienetas Vienetų skaičius

Vieneto kaina, Lt

Viso, Lt

Leap Motion įrenginys Vienetas 1 200 200

Kinect įrenginys vienetas 1 250 250

Kompiuteris su ekranu

(gali būti stacionarus kompiuteris ir monitorius)

Vienetas 1 1500 1500

Serverio nuoma Vienetas (metams) 1 1200 1200

Iš viso įranga ir prekės Vienetų 4 3150

3. Programinė įranga

„Enterprise Architect Corporate Edition Floating License“

Vienetas 1 870 870

Visual Studio 2012 Professional Vienetas 1 1300 1300

Iš viso programinė įranga Vienetų 2 2170

4. Viso tiesioginiai proj. kaštai 13810

Kitos (elektros, šildymo, popieriaus ir kt.) išlaidos neįskaičiuojamos. Jas sunku

apsibrėžti. Daroma prielaida, kad išlaidos įeina į darbuotojų algą.

Sistemos realizacijos metu projekto autorius atstos visus žmogiškuosius išteklius.

Projekto realizacijai skirti (127 d. d.). Dalį kuriamos sistemos bus galima realizuoti naudojantis jau sukurtais atvirojo kodo programų komponentais.

R.Sturonas

34

Page 35: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

4.5. Funkciniai reikalavimai

Veiklos kontekstas

12 pav. Konteksto diagrama

Veiklos padalinimas

Lentelė 7. Veiklos įvykių sąrašas

Eil.nr. Įvykio pavadinimas Įeinantys/išeinantys informacijos srautai1 Objektų koordinačių fiksavimas Perduodamos koordinatės (in)2 Tekstas, koordinatės, įrenginio duomenys,

nustatymai.Įvesties duomenys (in)

3 Apdoroti įvesties duomenys Įrenginio tipas, jo fiksuojami duomenys, paspaudimai ir pasirinktys (out)

4 Aplikacijos aplinkos pasikeitimas Funkcijų rezultatai (in)

R.Sturonas

35

Page 36: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

4.6. Produkto veiklos sfera

Panaudojimo atvejų vaizdas apibrėžia sistemos ribas:

Šaltinis: sukurta autoriaus. Naudojama USE CASE UML notacija.

Pav. 13. Programinės įrangos panaudojimo atvejai.

Panaudojimo atvejų diagramoje matomas aktorius (sistemos vartotojas) bei sistemos panaudojimo atvejai. Matomos aktoriaus sąsajos valdymo galimybės bei sistemos panaudojimo atvejų ryšiai. Atvaizduojamas sistemos veikimo etapų eiliškumas. Detalus panaudos atvejų aprašas pateikiamas reikalavimų specifikacijos projekto dalyje

R.Sturonas

36

Page 37: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

1. PANAUDOJIMO ATVEJIS: Gestų atpažinimas

Vartotojas/Aktorius: Sistemos vartotojas

Aprašas: Apima procesą, kurio metu atpažįstami išoriniai sistemos objektai ir jų pokyčiai erdvėje.

Ryšiai su kitais PA: naudojamas „Duomenų apdorojimas“ ir yra praplėstas „Sąsajų nustatymai“ PA.

Prieš sąlyga: Prijungtas aktyvus nuskaitymo įrenginys ir įdiegta įrenginio programinė įranga;

Sužadinimo sąlyga: Nuskaitymo erdvėje atsiranda naujas objektas

Po-sąlyga: Sistemoje užregistruojamas naujas objekto įvykis

Pagrindinis scenarijus:

1. Vartotojas prie sensoriaus prideda objektą (ranką, pieštą ar kt.)

2. Sistema užfiksuoja objekto koordinates

Alternatyvūs scenarijai:

1. Vartotojas neprideda objekto, arba pridedamas objektas nėra sensoriaus objektų atpažinimo erdvėje.

2. Įrenginys neatpažįsta ar neteisingai atpažįsta pateiktą objektą.

2. PANAUDOJIMO ATVEJIS: Sąsajos nustatymai

Vartotojas/Aktorius: Sistemos vartotojas

Aprašas: Apima procesą, kurio metu keičiami sistemos aplinkos ir gestų atpažinimo ploto, jautrumo nustatymai.

Ryšiai su kitais PA: praplečia „Gestų atpažinimas“ PA.

Prieš sąlyga: Įdiegta įrenginio programinė įranga;

Sužadinimo sąlyga: Vartotojas keičia sistemos parametrus

Po-sąlyga: Pasikeičia gestų atpažinimo nustatymai (jautrumas, atpažinimo plotas, aplinka)

Pagrindinis scenarijus:

R.Sturonas

37

Page 38: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

1. Vartotojas pakeičia sistemos nustatymus

Alternatyvūs scenarijai:

1. Vartotojas neišsaugo pakeitimų.

3. PANAUDOJIMO ATVEJIS: Duomenų apdorojimas

Vartotojas/Aktorius: Televizoriaus aplikacija

Aprašas: Apima procesą, kurio metu išsaugomi ir perduodami televizoriui apdoroti duomenys.

Ryšiai su kitais PA: naudoja „Gestų atpažinimas“ ir „Funkcijų vykdymas“ PA.

Prieš sąlyga: Gestų atpažinimo metu užfiksuoti objektai.

Serveris ir televizorius prijungtas prie interneto tinklo.

Sužadinimo sąlyga: Užfiksuoti objektai.

Po-sąlyga: Televizoriaus aplikacija gauna apdorotus duomenis.

Pagrindinis scenarijus:

1. Sensorius perduoda naują įvykį, duomenys perduodami televizoriui.

Alternatyvūs scenarijai:

1. Perduodami netikslus fiksuojamas įvykis.

2. Atsijungia interneto tinklas ir duomenys neperduodami.

4. PANAUDOJIMO ATVEJIS: Funkcijų vykdymas

Vartotojas/Aktorius: Televizoriaus aplikacija

Aprašas: Apima procesą, kurio metu apdorojami gauti atpažįstami nauji įvykiai, atliekamas sąsajos funkcijų vykdymas.

Ryšiai su kitais PA: naudojamas „Duomenų apdorojimas“ PA. Naudoja „Rezultatų atvaizdavimas“ PA.

Prieš sąlyga: Gestų atpažinimo metu užfiksuoti objektai.

Serveris ir televizorius prijungtas prie interneto tinklo.

Sužadinimo sąlyga: Gautas naujas įvykis.

R.Sturonas

38

Page 39: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Po-sąlyga: Televizoriaus aplikacija atlieka numatytas funkcijas.

Pagrindinis scenarijus:

1. Fiksuojamas įvykis, duomenys perduodami televizoriui, vykdoma aplikacijos funkcija.

Alternatyvūs scenarijai:

1. Apdorojamas netikslus fiksuojamas įvykis, atliekama nelaukta funkcija.

2. Atsijungia interneto tinklas ir duomenys neišsaugomi.

5. PANAUDOJIMO ATVEJIS: Rezultatų atvaizdavimas

Vartotojas/Aktorius: Sistemos vartotojas

Aprašas: Apima procesą, kurio metu atliekamos funkcijos keičia sistemos atvaizduojamus duomenis ir jos aplinką.

Ryšiai su kitais PA: naudojamas „Funkcijų vykdymas“ PA.

Prieš sąlyga: Gestų atpažinimo metu užfiksuoti objektai.

Serveris ir televizorius prijungtas prie interneto tinklo.

Sužadinimo sąlyga: Aplikacija apdorojo gautus duomenis ir atlieka numatytas funkcijas.

Po-sąlyga: Vartotojas mato pasikeitusius duomenis.

Pagrindinis scenarijus:

1. Išvedamas vartotojui matomas funkcijų rezultatas.

Alternatyvūs scenarijai:

1. Nefiksuojami jokie objektai todėl jokios funkcijos nevykdomos.

R.Sturonas

39

Page 40: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

4.7. Funkciniai reikalavimai ir reikalavimai duomenims

Funkciniai reikalavimai

Lentelė 8. Funkciniai reikalavimai.

Reikalavimas 1 Reikalavimo tipas F1 Panaudojimo atvejis 1Aprašymas: Sistema turi teikti galimybę aptikti objektą vos objektui patekus į sensoriaus

nuskaitymo erdvę.Pagrindimas: Galimybė iškarto nuskaityti objektus užtikrins sistemos efektyvumą ir vartotojo

pasitenkinimąŠaltinis: Sistemos vartotojasTikimo kriterijus: Objektas atpažįstamas iškart vos atsiranda atpažinimo erdvėjeUžsakovo tenkinimas: 2Užsakovo netenkinimas: 4Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 2 Reikalavimo tipas F1 Panaudojimo atvejis 1Aprašymas: Sistema turi teikti galimybę skirtingiems vartotojams naudotis sistema.Pagrindimas: Galimybė iškarto nuskaityti objektus užtikrins sistemos efektyvumą ir vartotojo

pasitenkinimąŠaltinis: Sistemos vartotojasTikimo kriterijus: Naujam vartotojui nereikalinga registracija, vartotojo judesiai iškart atpažįstami.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 4Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 3 Reikalavimo tipas

F1 Panaudojimo atvejis 2

Aprašymas: Sistema turi teikti galimybę keisti sensoriaus erdvės dydį ir jautrumą.Pagrindimas: Svarbu kad vartotojas galėtų nusistatyti sau priimtiną individualią gestų atpažinimo

aplinką.Šaltinis: Sistemos vartotojasTikimo kriterijus: Vartotojas gali keisti jautrumo nustatymus.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 3Priklausomybės Priklausomybė nuo pirmo panaudos atvejo. Ne visi gestų atpažinimui naudojami

įrengtinai palaiko sensoriaus lauko atpažinimo kitimą.Konfliktai: nėra

R.Sturonas

40

Page 41: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Papildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 4 Reikalavimo tipas

F1 Panaudojimo atvejis 2

Aprašymas: Sistema turi teikti galimybę atstatyti numatytuosius sąsajos nustatymusPagrindimas: Atlikus neteisingus sprendimus ir pamiršus atliktus pakeitimus būtų sunku ieškoti

klaidos rankiniu būdu. Taupant laiką turi būti galimybė atstatyti parametrus.Šaltinis: Sistemos vartotojasTikimo kriterijus: Yra funkcija atstatyti parametrus.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 2Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 5 Reikalavimo tipas

F1 Panaudojimo atvejis 3, 5

Aprašymas: Sistema turi teikti galimybę aplikacijai perduoti skirtingų įrenginių duomenis.Pagrindimas: Įvedimui gali būti naudojama ne tik Leap Motion įrenginys.Šaltinis: Sistemos vartotojasTikimo kriterijus: Vartotojas gali tekstą įvesti Leap Motion įrenginiu, klaviatūra ar pelyte.Užsakovo tenkinimas: 5Užsakovo netenkinimas: 5Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 6 Reikalavimo tipas

F1 Panaudojimo atvejis 3

Aprašymas: Sistema turi teikti galimybę apdoroti skirtingų tipų įvesties duomenisPagrindimas: Įvedami duomenys gali būti:

• Koordinatės• Paspaudimas• Naujo simbolio įvestis

Šaltinis: Sistemos vartotojasTikimo kriterijus: Atliekamos funkcijos atitinka atliktų gestų apdorotas komandas.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

R.Sturonas

41

Page 42: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

R.Sturonas

42

Page 43: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Reikalavimas 7 Reikalavimo tipas

F1 Panaudojimo atvejis 4

Aprašymas: Sistema turi teikti galimybę teksto įvedimui naudoti virtualią klaviatūrąPagrindimas: Patogiausias ir greičiausias teksto įvedimas yra naudojant žymeklį, kurio pagalba

spaudomi virtualios klaviatūros klavišai.Šaltinis: Sistemos vartotojasTikimo kriterijus: Virtuali klaviatūra veikia, atpažįsta vartotojo pasirinkimus ir atvaizduoja vedamą

tekstą.Užsakovo tenkinimas: 3Užsakovo netenkinimas: 5Priklausomybės Priklausomybė nuo 3panaudos atvejo. Pakitus duomenų apdorojimo algoritmui,

pakis teksto įvedimo tikslumas ir greitis.Konfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 8 Reikalavimo tipas

F1 Panaudojimo atvejis 4

Aprašymas: Sistema turi teikti galimybę priartinti virtualios klaviatūros vaizdą arba sumažinti nuokrypio jautrumą paspaudimo metu.

Pagrindimas: Dažniausia klaidų atsiradimo priežastis- nuokrypis paspaudimo metu, todėl reikia realizuoti funkciją sumažinančią šio nuokrypio galimybę.

Šaltinis:Tikimo kriterijus: Įvedimo metu vartotojas gali matyti padidintą klaviatūros vaizdą arba paspaudimo

metu sumažėjusi žymeklio jautrumą.Užsakovo tenkinimas: 4Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 9 Reikalavimo tipas

F1 Panaudojimo atvejis 5

Aprašymas: Rezultat7 atvaizdavimas ir gestų atpažinimas turi būti atliekami tuo pačiu metu.Pagrindimas: Tokiu būdu sistema veiks greitai ir efektyviai.Šaltinis: Sistemos vartotojasTikimo kriterijus: Galima keisti objekto koordinates ir tuo pačiu metu matyti rezultatusUžsakovo tenkinimas: 5Užsakovo netenkinimas: 5Priklausomybės Priklausomybė nuo 1, 3 ir 4 PA. Svarbus sistemos etapas gestų atpažinimo

duomenų apdorojimas, jo sparta. Neįvertinus duomenų apdorojimo spartos bus matomas ryškus atliekamų funkcijų ir jų rezultatų nesutapimas.

Konfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

R.Sturonas

43

Page 44: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Reikalavimas 10 Reikalavimo tipas

F1 Panaudojimo atvejis 5

Aprašymas: Turi būti matomi išsaugomi vartotojo pasirinkimai, galimybė vartotojui keisti rezultatus.

Pagrindimas: Vartotojas gali rašyti trinti ir matyti tekstą televizoriaus aplikacijoje.Šaltinis:Tikimo kriterijus: Vartotojas mato vedamą ir trinamą tekstą.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 5Priklausomybės Priklausomybė nuo 3 PA. Nuo duomenų apdorojimo algoritmo gali skirtis

matomas rezultatas.Konfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimai duomenims

Duomenys turi būti perduodami 10-100 kadrų per sekunde greičiu. Priklausomai nuo įvykio tipo (paspaudimas, pajudėjimas ar kt.) bus nuskaitomi kiti įvykio duomenys (pvz. koordinatės), fiksuojamas įvykio laikas.

4.8. Nefunkciniai reikalavimai

Nusako sistemos savybes, kuriomis ji turi pasižymėti. Tai kokybinės funkciniuose reikalavimuose numatytų funkcijų vykdymo charakteristikos.

Reikalavimai sistemos išvaizdai

Lentelė 9. Reikalavimai sistemos išvaizdai

Reikalavimas 1 Reikalavimo tipas NF1 Panaudojimo atvejis 2, 5Aprašymas: Informatyvi, bet neperkrauta ir lengvai skaitoma sąsajaPagrindimas: Sistema gali naudotis nepatyrę kompiuterių vartotojai, jiems bus sunku atskirti

svarbią informaciją.Šaltinis: Sistemos vartotojasTikimo kriterijus: Naujas vartotojas lengvai orientuojasi sąsajoje.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 5Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

R.Sturonas

44

Page 45: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Reikalavimai panaudojamumui.

Lentelė 10. Reikalavimai panaudojamumui.

Reikalavimas 2 Reikalavimo tipas NF1 Panaudojimo atvejis 1, 5Aprašymas: Galimybė dirbti viena arba dviem rankomis;Pagrindimas: Vartotojas greičiau atliks teksto įvedimą dvejomis rankomis.Šaltinis: Sistemos vartotojasTikimo kriterijus: Nuskaitomi visi 10 vartotojo rankos pirštų vienu metu.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 3 Reikalavimo tipas NF1 Panaudojimo atvejis 1, 2, 5Aprašymas: Sistema gali būti naudojama bet kokio asmens be apsimokymo;Pagrindimas: Vartotojo apmokymai neatims daug laiko.Šaltinis: Sistemos vartotojasTikimo kriterijus: 70% sėkmingas pasinaudojimas pirmu bandymuUžsakovo tenkinimas: 2Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimai vykdymo charakteristikoms

Lentelė 11. Reikalavimai vykdymo charakteristikoms

Reikalavimas 4 Reikalavimo tipas NF1 Panaudojimo atvejis 1, 3, 5Aprašymas: Gestų atpažinimas be įvykių vėlavimo;Pagrindimas: Labai sunku atlikti tikslumo reikalaujančius darbus, kada žymeklis atsilieka nuo

judesių.Šaltinis: Sistemos vartotojasTikimo kriterijus: Vartotojas nepastebi vėlavimų judesių atvaizdavime.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

R.Sturonas

45

Page 46: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Reikalavimai veikimo sąlygoms

Lentelė 12. Reikalavimai veikimo sąlygoms

Reikalavimas 5 Reikalavimo tipas NF1 Panaudojimo atvejis 3Aprašymas: Galimybė sistemą naudotis prie įvairaus apšvietimoPagrindimas: Vartotojai dažnai naudojasi kompiuteriu vakare ar nepakankamai apšviestuose

patalpose todėl būtina užtikrinti, kad tamsa neapribotų sistemos.Šaltinis: Sistemos vartotojasTikimo kriterijus: Vartotojas turi nejausti sistemos apribojimų net ir prietemoje.Užsakovo tenkinimas: 2Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 6 Reikalavimo tipas NF1 Panaudojimo atvejis 2Aprašymas: Sistema turi teikti galimybę lengvai keisti gestų atpažinimo įrenginio vietą .Pagrindimas: Nekilnojama gestų atpažinimo erdvė apribotų vartotojų laisvę.Šaltinis: Sistemos vartotojasTikimo kriterijus: Sistemą galima naudoti nepriklausomai nuo vaizdą transliuojančio įrenginio vietos.Užsakovo tenkinimas: 3Užsakovo netenkinimas: 4Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 7 Reikalavimo tipas

NF1 Panaudojimo atvejis 1

Aprašymas: Sistema turi teikti galimybę naudoti skirtingus įvesties įrenginius.Pagrindimas: Svarbu, kad vartotojas nebūtų apribotas naudoti vienintelį įrenginįŠaltinis: Sistemos vartotojasTikimo kriterijus: Vartotojas gali pasirinkti bent 3 įvesties įrenginiusUžsakovo tenkinimas: 2Užsakovo netenkinimas: 5Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimas 8 Reikalavimo tipas

NF1 Panaudojimo atvejis 1

Aprašymas: Sistema turi teikti galimybę atpažinti vartotoją su pirštinėmis, galimybė naudoti netikrą ranką ar rodomąją lazdelę (pieštuką, tušiuką ar kt.).

Pagrindimas: Vartotojas gali turėti netikrą ranką arba naudoti pakaitalus pirštams, todėl būtina

R.Sturonas

46

Page 47: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

atpažinti ir tokius objektus.Šaltinis: Sistemos vartotojasTikimo kriterijus: Aptinkama rodomoji lazdelėUžsakovo tenkinimas: 1Užsakovo netenkinimas: 3Priklausomybės nėraKonfliktai: nėraPapildoma medžiaga:Užregistruotas: 2014 vasario 20d.

Reikalavimai sistemos priežiūrai

Sistema naudos duomenų bazę, todėl bus reikalingas veikiantis serveris ir interneto tinklas.

Reikalavimai saugumui: Reikalavimų nėra

Kultūriniai-politiniai reikalavimai: Reikalavimų nėra

Teisiniai reikalavimai

ISO 9241-11 sertifikato reikalavimų laikymasis.

4.9. Projekto išeiga

Atviri klausimai, problemos.

Planuojami teksto įvesties optimizacijos darbai gali įtakoti sąsajos sudėtingumą, jos kūrimo trukmę. Galutinis sprendimas, kaip sąsaja bus optimizuota bus žinomas tik išbandžius skirtingus optimizacijos būdus.

Pagaminti komponentai, kurie gali būti panaudoti

Leap Motion gestų atpažinimo kontroleris.

Galimas pakartotinas panaudojimas

Kitos organizacija plėtoja virtualią Leap Motion klaviatūrą. Galima būtų perimti dalį programos kodo. Jeigu kodas būtų pigesnis už kūrimo sąnaudas, tai sumažintų sistemos kūrimo išlaidas.

4.10. Naujos problemos

Problemos diegimo aplinkai: Nėra

Įtaka jau instaliuotoms sistemoms:Nėra

R.Sturonas

47

Page 48: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Neigiamas vartotojų nusiteikimas:

Galima neigiama vartotojo reakcija:

Nesupratimas. Naujovių nepripažinimas. Diskomfortas.

Priemonės sumažinti neigiamą reakciją.

Sąsajos tobulinimas. Programos naudojimo aprašo praplėtimas. Apmokymai. Nustatymų keitimai.

Kliudantys diegimo aplinkos apribojimai

Dabartinė sistema neturi serverio, kuriame būtų galima saugoti įvesties duomenis.

Galimos naujos sistemos sukeltos problemos

Pradiniame sistemos kūrimo etape naudosime tik vieną įvesties įrenginį ir vieną televizorių, tad negalėsime apdoroti skirtingų televizorių vienu metu. Toliau sistema gali būti plėtojama.

4.11. Sistemos pateikimo žingsniai (etapai)

Lentelė 13. Sistemos pateikimo žingsniai

Nr. Darbas Įvykdymo terminas1 Reikalavimų specifikavimas 2014m. kovo 10 d.2 Architektūros projekto specifikavimas 2014m. balabdžio 15 d.3 Detalios architektūros specifikacija 2014m. gegužės 20 d.4 Programinės įrangos prototipo realizacija 2014m. lapkrižio 1 d.5 Programinės įrangos galutinio varianto

realizacija2014m.gruodžio 13 d.

6 Pilnos dokumentacijos pateikimas 2015m. sausio 5 d.

Vystymo etapai

Lentelė 14. Vystymo etapai

Nr. Etapas Planuojamas įvykdymo terminas1 Vartotojo sąsajos kūrimas 2014m. birželio mėn.2 Duomenų nuskaitymo algoritmo kūrimas 2014m. liepos mėn.3 Duomenų apdorojimo algoritmo kūrimas 2014m. rugpjūčio mėn.4 Integracija į televizoriaus aplikaciją 2014m. rugsėjo mėn.5 Testų atlikimas 2014m. spalio mėn.6 Funkcionalumo vertinimas 2014m. lapkričio mėn.7 Testavimas ir optimizavimas. 2014m. gruodžio mėn.

R.Sturonas

48

Page 49: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

4.12. Galimos sistemos kūrimo rizikos

Lentelė 15. Galimos sistemos kūrimo rizikos

Nr. Rizika Planuojamas įvykdymo terminas1 Reikalavimų pasikeitimas 50%2 Vykdytojų patirties trūkumas 40%3 Žmogiškieji faktoriai 20%4 Išlaidų padidėjimas 30%

Atsitiktinumų (rizikos) valdymo planas

Lentelė 16. Atsitiktinumų (rizikos) valdymo planas

Nr. Rizika Rizikos mažinimas1 Reikalavimų pasikeitimas. Stengiamasi apsibrėžti visus vartotojų reikalavimus ir atkreipti

dėmesį į dažniausiai projektuose besikeičiančius reikalavimus.2 Vykdytojų patirties trūkumas. Išankstinis pasiruošimas ir konsultacijos su srities specialistais gali

sumažinti patirties trūkumą3 Žmogiškieji faktoriai. Kiekvienam darbui paskiriamas laiko rezervas nelaimingų atsitikimų

atveju.4 Išlaidų padidėjimas Reikiamų resursų pirkimas prieš projekto realizaciją sumažina

išlaidų padidėjimo tikimybę.

Realizacijos kaina

Atsižvelgiant į kuriamos sistemos elementus:

• įvedamų/išvedamų srautų skaičius,• veiklos įvykių skaičius,• panaudojimo atvejų skaičius,• funkcinių reikalavimų skaičius,• nefunkcinių reikalavimų skaičius,• apribojimų reikalavimams skaičius,

jų realizacijos sudėtingumą bei realizacijos trukmę, buvo apskaičiuota tokios sistemos kūrimo kaina. 16000Lt. Tačiau sistema kuriama mokymosi tikslais, skirta magistro baigiamojo darbo tyrimui, todėl kuriama nemokamai,

Perspektyviniai reikalavimai

Sekančios versijos gali turėti šias funkcijas: Kelių įrenginių valdymą vienu metu, Vartotojų ir jų įrenginių registravimo ir prisijungimo realizaciją.

R.Sturonas

49

Page 50: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

5. ARCHITEKTŪROS SPECIFIKACIJA

Skyriuje pateikiamas išsamus architektūrinis, kuriamos sistemos, vaizdas. Į architektūros

specifikaciją įeina keletas skirtingų architektūrinių vaizdų, kurie detalizuoja svarbiausius kuriamos

sistemos elementus, jų būsenas bei sąryšį tarp jų ir sistemos naudotojų. Dokumentas naudojamas

kaip gairės projekto realizacijai ir realizuojamos sistemos architektūriniams sprendimams.

Dokumentas yra ir komunikavimo tarp skirtingų komandos narių elementas užtikrinantis bendrą

siekiamą rezultatą ir tikslingą komandinį darbą.

Pasinaudojus architektūros specifikacija vėliau bus sudaromas detalus architektūros planas. Ši

specifikacija bus naudinga rašant sistemos kodą.

5.1. Apžvalga

Skyriuje aprašoma televizoriaus įvesties aplikacijos su gestų atpažinimu programinės įrangos

architektūra. Sistemos nefunkciniai reikalavimai ir apribojimai pateikiami poskyryje „Architektūros

tikslai ir apribojimai“. Pagrindiniai sistemos panaudojimo atvejai pateikiami poskyryje

„Panaudojimo atvejų vaizdas“. Sistemos išskaidymas ir statinę struktūrą pateikta poskyryje

„Sistemos statinis vaizdas“. Sistemos procesai ir jų būsenų pasikeitimai pateikiami poskyryje

„Dinaminis vaizdas“. Sistemos išdėstymas, ir techninė įranga, kurioje bus realizuota sistema,

pateikiama poskyryje „Išdėstymo vaizdas“. Poskyryje „Kokybė“ aprašoma kaip architektūra įtakoja

sistemos išplečiamumą, pernešamumą, patikimumą ir kitus jos parametrus.

Architektūros pateikimas

Panaudojimo atvejų vaizdas (panaudojimo atvejų diagrama).

Sistemos statinis vaizdas (paketų ir klasių diagrama).

Sistemos dinaminis vaizdas (būsenų, veiklos, sekų).

Išdėstymo vaizdas (išdėstymo diagrama). Duomenų vaizdas (ER diagrama).

R.Sturonas

50

Page 51: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Architektūros tikslai ir apribojimai

Architektūrinius sprendimus įtakojantys reikalavimai:

Sistemos turi būti suprojektuota taip, kad ją galima būtų lengva išplėsti ar prijungi

naujus modulius.

Kuriama sistema bus pateikta kaip atviro kodo, nekomercinė programinė įranga.

Sistema turi leisti ja naudotis visiems vartotojams (jei kompiuteris atitinka minimalius

parametrus).

Sudarant sistemos architektūra, turi būti atsižvelgta į būtinas programos vykdymo

charakteristikas, apibrėžtas reikalavimų specifikacijoje

Sistemos realizacijai turi būti naudojamos iš anksto apsibrėžtos technologijos (HTML/js,

php).

5.2. Sistemos statinis vaizdas

Sistema skaidoma į tris pagrindinius paketus:

Kompiuterio programinė įranga, kuri nuskaito sensoriaus parodomus ir pateikia juos serveriui.

Web serveris, kuris atlieka tarpininko vaidmenį tarp TV ir prie kompiuterio prijungtos sąsajos.

Smart tv, kuriame saugomi html/leap.js komponentai. Jie bendrauja su serveriu sensoriaus būsenos išgavimui.

5.3. Sistemos dinaminis vaizdas

14 pav. Sąsajos nustatymai (Sekų diagrama).

Modelyje atvaizduojama kaip „Device“ klasės metodas perduoda „Event“ klasei aktyvaus įrenginio duomenis. Vėliau „Frame“ klasėje atliekami sąsajos nustatymai. Gražinamas pranešimas apie pakeitimus.

R.Sturonas

51

Page 52: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

15 pav. Gestų atpažinimas:

Modelyje atvaizduojama kaip „Device“ klasės metodas perduoda „Event“ klasei aktyvaus įrenginio duomenis, O “Leap“ klasė atlieka duomenų apdorojimą. Nustatomi aptikti įvykiai.

16 pav. Duomenų apdorojimas

Modelyje atvaizduojama kaip „Frame“ klasės metodas perduoda „Leap“ klasei laiko momentą kuriuo aptinkamas gestas. Šiame modelyje „Event“ klasė atsakinga už aptiktų gestų atnaujinimą.

R.Sturonas

52

Page 53: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

17 pav. Funkcijų vykdymas

Modelyje atvaizduojama kaip „Event“ klasė nuolat atnaujina duomenis. Naujiausi duomenys perduodami „VirtualKeyboard „ klasei, kurios pagalba duomenys patenka į Smart TV programėlę ir joje atlieka atitinkamas funkcijas .

18 pav. Rezultatų atvaizdavimas

Rezultatų atvaizdavimui pasitelkiama „Event“ klasės perduodami duomenys bei Smart TV aplikacijoje atliekamų funkcijų rezultatų grąžinimas vartotojui .

R.Sturonas

53

Page 54: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Sistemos būsenų kaitos diagrama:

19 pav. Sistemos būsenų kaitos diagrama

Būsenų kaitos diagramoje elementas „Atnaujinti duomenų bazę “ nėra būtinas, nes duomenys gali būti perduodami tiesiogiai jų neįrašant į DB.

R.Sturonas

54

Page 55: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Veiklos diagrama

20 pav. Vartotojo veiklos procesas

Jei įrenginys aktyvuotas, įrenginio įvykiai atnaujinami be pertraukos.

Išdėstymo vaizdas

21 pav. Išdėstymo modelis

R.Sturonas

55

Page 56: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Išskirti 3 pagrindiniai sistemos mazgai:

Smart tv (html/js) <=> web server (php) <=> computer(js)

5.4. Sistemos elementų aprašas

Vartotojo kompiuterio minimalūs reikalavimai: nurodyti vartotojo dokumentacijoje.

Smart TV reikalavimai:

Interneto tinklas

Web serverio minimalūs reikalavimai:

Procesorius 2 x 2.4 GHz

Atmintis 1024 MB

Disko vieta 20 GB

Pralaidumas 100 Mbps

Taip sistemai naudojamas įvesties įrenginiai:

Leap motion

Klaviatūra

Pelyte

R.Sturonas

56

Page 57: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Įrenginių ir programinės įrangos pagalba apdorojami gaunami duomenys:

Lentelė 17. Apdorojami gestų duomenys

Objektas Apdorojami duomenysRankos

PozicijaCharakteristikosJudesiai

Pirštai ir įrankiaiPirštų pozicija (galiukų)Kryptis

GestaiCircleSwipeKey TapScreen Tap

JudesiaiScaleRotationTranslationFrameHand

Koordinačių sistemax- koordinatėy- koordinatėz- koordinatė

Mato vienetai:

Atstumas: milimetrai Laikas: mikrosekundės Greitis: milimetrai/s Kampas: radianai

R.Sturonas

57

Page 58: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

6. DETALIOS ARCHITEKTŪROS SPECIFIKACIJA

Ši projekto dalis skirta detaliai apibrėžti sistemos architektūrą. Jos tikslas labiau išskaidyti

kiekvieną sistemos paketą, klases bei aprašyti svarbiausius naudojamus metodus. Šis aprašymai gali

būti panaudotas sistemos realizacijos metu , išskiriant sistemos objektų savybes.

Detalios architektūros apraše galima pamatyti bendrą sistemos komponentų vaizdą.

Sekančiame skyriuje aprašomi architektūros apribojimai, aprašomi naudojami komponentai,

įvardyjami sistemos projektavimui naudojami įrankiai. Ketvirtame šio dokumento skyriuje detaliai

aprašomos kiekvieno komponento klasės, svarbiausi klasių metodai, bei įvardyjami naudojami

atributai.

Pagrindiniai sistemos apribojimai

Sistema turi būti projektuojama su galimybę ateityje ją išplėsti.

Architektūra turi užtikrinti kad vartotojas nematytų atvaizduojamų objektų vėlavimo.

Sistema turi leisti naudoti standartinius kompiuterio teksto įvesties įrankius.

Vartotojui turi būti sudarytos sąlygos atšaukti atliktą komandą.

Sistema turi tūrėti neerzinančią grafinę sąsają.

Naudojami komponentai

LeapJS – Leap Motion biblioteka.

R.Sturonas

58

Page 59: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

6.1. Sistemos architektūra

22. Pav. Sistemos komponentų diagrama

Naudojant realaus laiko JSON duomenų perdavimą Duomenų bazė nebėra būtinas elementas.

6.1.1. Paketų aprašas

KOMPIUTERINĖS ĮRANGOS PAKETAS

Klasifikacija

Paketas.

Apibrėžimas

Paketas skirtas surinkti Leap Motion ir kitų įrenginių duomenis ir paruoši juos įrašymui į

duomenų bazę.

Atsakomybės

Paketas atsakingas už:

Įrenginio aptikimą.

Gestų ir objektų erdvėje atpažinimą

Duomenų apdorojimą

Apribojimai

Būtina Leap Motion programinė įranga.

Struktūra

Paketo struktūra pateikiama 22. Pav.

Sąveikavimas

Komponentas perduoda duomenis “Web serverio” paketui

R.Sturonas

59

Page 60: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Resursai

Vartotojo kompiuteris. Parametrai nurodyti vartotojo dokumentacijoje

Skaičiavimai

Pasitelkus „Device“ klasę, gaunamos naudojamų įrenginių charakteristikos. Patelkiant klasę

“Gesture” atpažįstamas įvykio tipas.

Sąsaja/eksportas

Sąsaja naudojama perduoti duomenis į web serverį.

WEB SERVISO PAKETAS

Klasifikacija

Paketas.

Apibrėžimas

Paketas skirtas priimti apdorotus duomenis ir perduoti juos Smart TV paketui.

Atsakomybės

Paketas atsakingas už:

Duomenų atnaujinimą

Duomenų atrinkimą.

Apribojimai

Būtinas interneto ryšys tinkle.

Struktūra Paketo struktūra pateikiama 22. Pav.

Sąveikavimas

Paketas sąveikauja su duomenų baze bei su Smart TV paketu, perduoda jam naujausius

duomenis.

Resursai

Serverio parametrai: Procesorius 2 x 2.4 GHz, Atmintis 1024 MB, Disko vieta 20 GB, Pralaidumas 100 Mbps,

Skaičiavimai

Atnaujinama įvykių lentelė. Ajax pagalba duomenys siunčiami Smart TV paketui.

Sąsaja/eksportas

R.Sturonas

60

Page 61: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Sąsaja naudojama perduoti duomenis į išmanujį televizorių bei duomenų bazę.

IŠMANIOJO TV PAKETAS

Klasifikacija

Paketas.

Apibrėžimas

Paketas skirtas priimti siunčiamus duomenis, juos perduoti virtualios klaviatūros valdymui.

Atsakomybės

Paketas atsakingas už:

Duomenų gražinimą iš web serverio.

Duomenų atnaujinimą ir panaudojimą funkcijų vykdymui.

Apribojimai

Televizorius turi turėti internetą ir teksto įvesties programėlę.

StruktūraPaketo struktūra pateikiama 22. Pav.

Sąveikavimas

Paketas sąveikauja su išmaniojo televizoriaus aplikacija bei su web serveriu.

Resursai

Interneto tinklas: Pralaidumas 2Mbps,

Skaičiavimai

Atpažystami įvykiai ir atliekamos atitinkamos funkcijos. Keičiami grafiškai atvaizduojami

rezultatai.

Sąsaja/eksportas

Virtualiai klaviatūrai perduodami atpažinti įvykiai.

R.Sturonas

61

Page 62: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

6.2. Klasių detalizacija

Visa kuriama sitema gali būti skaidoma į pateiktas klases.

23. pav. Klasių diagrama

Lentelė 18. Klasės metodų aprašas

COMPUTER SOFTWARE PACKAGEKlasės Metodas AprašasFrame Klasė skirta rankų ir pirštų stebėjimo duomenų

surinkimui, aptiktų objektų kadrą rinkinio sudarymui.Hand() Metodas skirtas nustatyti rankos koordinates.Dump() Gražina JSON-formato aptinkamų objektų duomenis.Finger() Nustato pirštų padėties koordinates.Pointable() Nustato naudotojo judesius.RotationAngle() Nustato pasukimo kampą.RotationAxis() Nustato pasukimo ašį.RotationMatrix() Sudaro reikšmių matricą.Tools() Nustato įrankio koordinates.ToString() Duomenis pakeičia į sistemai suprantamą,

perskaitomą informaciją.Translation() Nustato įvykių perdavimo transleciją.TimeStamp() Nustato įvykio laiką.

Gesture Leap Motion kontrolerio gestų atpažinimo klasės.

R.Sturonas

62

Page 63: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Type() Vartotojo judesių atpažinimo klasė.Gesturedata() Perduoda gestų duomenis.

CircleGesture Skirta atpažinti bei nustatinėti piršto sukimo gestą (šabloną).

GetCircleGesture()KeyTapGesture Skirta atpažinti bei nustatinėti piršto spustelėjimo

gestą (šabloną).GetKeyTapGesture()

ScreenTapGesture Piršto ar objekto „prilietimams“ (neaktyvios lietimo zonos perėjimas į lietimo zoną) skirta klasė.

GetScreenTapGesture()SwipeGesture SwipeGesture klasė atpažįstąs pirštų ir rankų

slankiojimo judesius.GetSwipeGesture()

Hand Rankos atpažinimo klasė, kuri taip pat atpažįsta rankos pasukimą ar pakreipimą.

Fingers() Nustato atskirų pirštų duomenis.Tools() Nustato aktyvų įrankį (nuskaitomą objektą).Pitch() Nustato objekto nuolydumą.

Pointable Skirta gauti aptikto objekto charakteristikasInvalid() Tikrina ar egzistuoja tinkamos reikšmės.Hand() Tikrina dėlto charakteristikas.ToString() Duomenis sutvarko į suprantamą informaciją

Finger Klasė skirta apdoroti pirštų duomenis.GetFinger() Nustato pirštų koordinates.

Device Skirta gauti aptikto įrenginio charakteristikasActiveDevice() Tikrina ar yra aktyvių įrenginių. Gražina id.

Controller Skirta aktyvuoti duomenų perdavmąConnect() Prisijungia įrenginįDisConnected() Atjungia įrenginį.Connected() Patvirtina apie įrenginio prisijungimą.Frame() Nustato kadrų greitį.Streaming() Aktyvuoja duomenų rinkimą.

InteractionBox Skirta keisti objektų aptikimo zonos parametrusDenormalizePoint() Paverčia gestų koordinates į milimetrus.NormalizePoint() Koordinates iš Leap Motion įrenginio apriboja rėžeis.ToString() Duomenis sutvarko į suprantamą informaciją

WEB SERVER PACKAGEEvent Klasė skirta saugoti įvykius

UpdateEvent() Metodas skirtas atnaujinti įvykius.GetEventType() Metodas skirtas atpažinti įvykių tipą.Validate() Metodas skirtas įvykiams tikrinti.GetDeviceData() Skirta gauti įrenginio duomenis

SMART TV PACKAGEVirtualKeyboard Klasė skirta perduoti išmaniojo televizoriaus

aplikacijai įvesties duomenis.NewDeviceEvent() Metodas skirtas aptikti naujus įvykius.GetEvent() Metodas skirtas gauti naujausius įvykių duomenis.

R.Sturonas

63

Page 64: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Klasių diagramoje matomos sąveikos tarp klasių, jų metodai bei kardinalumas

GestureKlasifikacija

Klasė.Apibrėžimas

Skirta atpažinti Leap Motion įvesties gestus.Atsakomybės

Apdoroja iš “Frame” klasės gautus duomenis, atpažįsta koks judesys buvo atliktas. Pagrindinis vaidmuo- šablonų atpažinimas.

Apribojimai Klasė atpažįsta tik sistemoje apsibrėžtus šablonus. Duomenys turi atitikti architektūros

specifikacijoje apsibrėžtus duomenų standartus.Struktūra

Klasė turi du metodus: Type() ir GestureData().Sąveikavimas

Metodo GestureData() pagalba klasė priima iš “Frame” klasės gestų duomenis. Metodas Type() kreipiasi į kitas klases (CircleGesture , KeyTapGesture, ScreenTapGesture , SwipeGesture) ir gražina atpažįstamų šablonų duomenis. Gesture klasė perduoda įvesties duomenis “Event” klasei.

Resursai Klasei reikalinga LeapJS biblioteka skirta apdoroti gestų duomenis. Taip pat reikalinga Leap Motion įrenginio programinė įranga.

SkaičiavimaiSkaičiavimai inicializuojami gavus iš “Frame” klasės apdorotus duomenis.Skaičiavimų metu atliekamas įvykių atpažinimas. Apdorojami tokie atributai:

duration handIds id state type

Po atliktų skaičiavimų duomenys gali būti saugomi kaip konkretus aptikto objekto įvykis. Sąsaja/eksportas

Type() metodas kreipiasi į kitas klases ir gražina įvykio tipą.Išimtys

Įrenginys neperduoda jokių duomenų.

R.Sturonas

64

Page 65: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

HAND

Klasifikacija Klasė.

Apibrėžimas Skirta atpažinti rankos judesius.

Atsakomybės Apdoroja iš “Frame” klasės gautus duomenis, atpažįsta kokiu momentu judesys buvo atliktas. Pagrindinis vaidmuo- plaštakos elementų atpažinimas.

Apribojimai Klasė vienu metu gali priimti tik dviejų plaštakų arba vieno įrankio duomenis.

Struktūra Klasė turi tris metodus: Fingers(), Tools(), Pitch()

Sąveikavimas Metodas Fingers() gražina iš “Finger” klasės aptinkamų pirštų duomenis. Metodas Tools() perduoda aptiktų įrankių duomenis “Pointable” klasei.

Resursai Klasei reikalinga LeapJS biblioteka skirta apdoroti gestų duomenis. Taip pat reikalinga Leap Motion įrenginio programinė įranga.

SkaičiavimaiSkaičiavimai inicializuojami gavus iš “Frame” klasės apdorotus duomenis.Skaičiavimų metu atliekamas įvykių atpažinimas. Apdorojami tokie atributai:

direction fingers[] grabStrength id indexFinger middleFinger palmNormal palmPosition palmVelocity palmWidth pinchStrength pinky pointables[] ringFinger sphereCenter thumb timeVisible tools[] type valid

Sąsaja/eksportas Fingers() metodas kreipiasi į „Finger“ klasę, gauna aptikrų pirštų duomenis.

IšimtysObjektas neaptiktas arba aptikta per daug objektų vienu metu.

R.Sturonas

65

Page 66: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

FINGER

Klasifikacija Klasė.

Apibrėžimas Skirta atpažinti piršto judesius.

Atsakomybės Apdoroja iš “Hand” klasės gautus duomenis, atpažįsta kokiu momentu ir koks judesys buvo atliktas. Pagrindinis vaidmuo- pirštų judesių aptikimas.

Apribojimai Klasė vienu metu gali priimti tik 10 pirštų duomenis.

Struktūra Klasė turi metodą GetFinger().

Sąveikavimas Metodas GetFinger() perduoda “Pointable” klasei pirštų duomenis, charakteristikas ir siunčia jas „Frame“ klasei.

Resursai Klasei reikalinga LeapJS biblioteka skita apdoroti gestų duomenis. Taip pat reikalinga Leap Motion įrenginio programinė įranga.

SkaičiavimaiSkaičiavimai inicializuojami gavus iš “Frame” klasės apdorotus duomenis.Skaičiavimų metu atliekamas įvykių atpažinimas. Apdorojami tokie atributai:

direction fingers[] grabStrength id indexFinger middleFinger palmNormal palmPosition palmVelocity palmWidth pinchStrength pinky pointables[] ringFinger sphereCenter thumb timeVisible tools[] type valid

Sąsaja/eksportas GetFinger() metodas perduoda gautus duomenis „Frame“ klasei.

IšimtysObjektas neaptiktas arba aptikta per daug objektų vienu metu. Tai gali nutikti jei plaštaka laikoma vertikalei.

R.Sturonas

66

Page 67: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

FRAME

Klasifikacija Klasė.

Apibrėžimas Skirta nustatyti atpažįstamų gestų aptikimo laiką ir gestų pasikeitimus.

Atsakomybės Apdoroja iš “Pointable” klasės gautus duomenis, atpažysta kokiu momentu ir koks judesys buvo atliktas. Perduoda „Gesture“ klasei apdorotus judesių duomenis.. Pagrindinis vaidmuo- objektų vietos pakitimo nustatymas esamuoju laiko momentu. Taip ši klasė apdoroja iš „Controler“ ir „InteractionBox“ gaunamus nustatymus.

Apribojimai Klasė vienu metu gali priimti tik dešimties pirštų duomenis.

Struktūra Klasės pagrindiniai metodai: Hands(), Finger(), Tool(), TimeStamp().

Sąveikavimas Metodo Dump() pagalba klasė gauna Leap Motion įrenginio perduodamus duomenis. Metodas ToString() sutvarko apdorotus duomenis. Po to duomenys perduodami „Gesture“ klasei.

Resursai Klasei reikalinga LeapJS biblioteka skirta apdoroti gestų duomenis. Taip pat reikalinga Leap Motion įrenginio programinė įranga.

SkaičiavimaiSkaičiavimai inicializuojami gavus iš įrenginio duomenis.Skaičiavimų metu atliekamas įvykių atpažinimas. Apdorojami tokie atributai:

currentFrameRate fingers[] gestures[] hands[] id interactionBox tools[] valid

Sąsaja/eksportas Klasė perduoda duomenis „Gesture“ klasei.

IšimtysĮrenginys neaktyvuotas, negaunami jokie duomenys.

R.Sturonas

67

Page 68: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

POINTABLE

Klasifikacija Klasė.

Apibrėžimas skirta nustatyti aptiktų objektų charakteristikas.

Atsakomybės Apdoroja iš “Hand” ir „Finger“ klasių gautus duomenis, atpažįsta aptiktų objektų formas, ilgius bei kitas charakteristikas. Perduoda „Gesture“ klasei apdorotus judesių duomenis.. Pagrindinis vaidmuo - objektų charakteristikų atpažinimas.

Apribojimai Klasė vienu metu gali apdoroti arba įrankį arba delnus.

Struktūra Klasės metodai: Invalid(), Hand(), ToSting().

Sąveikavimas Metodo Hand() pagalba klasė gauna Leap Motion įrenginio perduodamus delno duomenis. Metodas Invalis() tikrina ar tokios objekto reikšmės gali egzistuoti. Metodas ToString() paruošia duomenis perduoti „Gesture“ klasei.

Resursai Klasei reikalinga LeapJS biblioteka skirta apdoroti gestų duomenis. Taip pat reikalinga Leap Motion įrenginio programinė įranga.

SkaičiavimaiSkaičiavimai inicializuojami gavus iš įrenginio duomenis.Skaičiavimų metu atliekamas objektų charakteristikų atpažinimas. Apdorojami tokie atributai:

direction id length stabilizedTipPosition timeVisible tipPosition tipVelocity valid width

Sąsaja/eksportas Klasė perduoda duomenis „Gesture“ klasei.

IšimtysĮrenginys neaktyvuotas, negaunami jokie duomenys, objektas netinkamas atpažinimui, arba objektų per daug.

R.Sturonas

68

Page 69: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

DEVICE

Klasifikacija Klasė.

Apibrėžimas skirta aptikti naudojamus įvesties įrenginius

Atsakomybės Klasė atsakinga už tikslų inicializuoto įvykio įvesties įrankio atpažinimą..

Apribojimai Klasė vienu metu gali aptikti tik vieną įrankį. Klasė aptinka tik šiuos įrenginius: Pelytę,

klaviatūrą, Leap MotionStruktūra

Klasė metodais ActiveDevice() .Sąveikavimas

Klasė sąveikauja su operacinės sistemos įvykiais ir pagal juos atpažįsta aktyvų įrenginį.Resursai

Klasei reikalinga Leap Motion įrenginio programinė įranga skirta gauti įrenginio įvykius.Skaičiavimai

Klasė aptinka įrenginį pagal operacinės sistemos ir Leap Motion įrankio aptinkamus duomenis.

Sąsaja/eksportas Klasė perduoda duomenis „Event“ klasei.

IšimtysĮrenginys neaktyvuota.

EVENT

Klasifikacija Klasė.

Apibrėžimas skirta priimti apdorotus duomenis.

Atsakomybės Apdoroja iš “Gesture” klasės gautus duomenis. Nustato įvykių laiką, bei naudotą įrenginį.

Apribojimai Klasė patalpinta web serveryje todėl reikalingas interneto tinklas.

Struktūra Klasės metodai: UpdateEvent(), GetEventType(), Validate(), GetDeviceData().

Sąveikavimas Metodo GetEventType() pagalba klasė gauna duomenis iš „Gesture“ klasės. Metodo GetDeveiceData() pagalba gaunami įvesties įrenginio duomenys .UpdateEvent() metodo pagalba jie atnaujinami.

Resursai Web serveris, interneto tinklas.

SkaičiavimaiServeryje sugrupuojami duomenys. Duomenys siunčiami į duomenų bazę,

R.Sturonas

69

Page 70: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Sąsaja/eksportas Klasė perduoda duomenis „Gesture“ klasei.

IšimtysNėra interneto tinklo.

VIRTUALKEYBORD

Klasifikacija Klasė.

Apibrėžimas skirta priimti iš serverio gautus duomenis, perduoti juos išmaniojo televizoriaus aplikacijai.

Atsakomybės Atsakinga už naujausių duomenų pateikimą išmaniajam televizoriui.

Apribojimai Klasei reikalingas interneto tinklas.

Struktūra Klasės metodai: NewDeviceEvent(), GetEvent().

Sąveikavimas Metodo GetDeviceEvent() pagalba klasė gauna duomenis iš įvesties įrenginio, duomenys pateikiami televizoriaus aplikacijai. Atliekamos funkcijos. Televizoriaus naudotojas mato atliekamus įvykius.

Resursai Web serveris, interneto tinklas. Aktyvus išmanusis televizorius.

SkaičiavimaiServeryje surinkti duomenys Ajax pagalba perduodami televizoriui.

Sąsaja/eksportas Klasė perduoda duomenis išmaniajam televizoriui.

IšimtysNėra interneto tinklo.

R.Sturonas

70

Page 71: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

CONTROLER

Klasifikacija Klasė.

Apibrėžimas Skirta aktyvuoti duomenų perdavimą (duomenų rinkimą „Frame“ klasėje).

Atsakomybės Atsakinga duomenų rinkimo optimizavimą, aktyvavimą ir sustabdymą.

Apribojimai Klasės parametrai gali būti nustatomi rankomis. Pasinaudojus Leap Motion programine įranga.

Struktūra Klasės metodai: Connect(), Connected(), Disconnect(), Frame(), Streaming().

Sąveikavimas Sąveikauja su „Frame“ klase.

Naudojami atributai: connected frameEventName deviceAttached deviceConnected deviceDisconnected deviceRemoved deviceStopped streamingStarted streamingStopped

Resursai Programinė Leap Motion įranga.

SkaičiavimaiAptikus objektus automatiškai pradedamas duomenų perdavimas.

Sąsaja/eksportas Klasė praneša apie aktyvų įrenginį „Frame“ klasei..

IšimtysNėra įrenginio tvarkyklių, Neatnaujintos grafinės plokštės tvarkyklės, procesorius per silpnas atlikti skaičiavimus.

INTERACTIONBOX

Klasifikacija Klasė.

Apibrėžimas skirta nustatyti objekto aptikimo ribas.

Atsakomybės Atsakinga už objektų aptikimo ribų nustatymą, jų keitimą.

Apribojimai Klasė neleidžia nustatyti objektų aptikimo ribų viršijančių įrenginio techninius parametrus.

Struktūra Klasės metodai: DenormalizePoint(), NormalizePoint(), ToString().

Sąveikavimas

R.Sturonas

71

Page 72: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Sąveikauja su „Frame“ klase ir Leap Motion įrenginiu.Naudojami atributai:

center depth height size valid width

Resursai Programinė Leap Motion įranga.

SkaičiavimaiPrograminės įrangos pagalba atliekami objektų aptikimo ploto nustatymų pakeitimai.

Sąsaja/eksportas Klasė praneša apie duomenų apdorojimo pasikeitimus „Frame“ klasei.

IšimtysNėra Leap Motion programinės įrangos.

CircleGesture, KeyTapGesture, ScreenTapGesture, SwipeGestureKlasifikacija

KlasėsApibrėžimas

Skirtos naudoti gestų šablonų aptikimui.Atsakomybės

Atsakingos už objektų judesių duomenų pavertimą į įvykius.Apribojimai

Klasės gali atpažinti tik apsibrėžtus įvykius.Struktūra

Klasių metodai: GetCircleGesture(), GetKeyTapGesture(), GetScreenTapGesture().Sąveikavimas

Sąveikauja su „Gesture“ klase. „Gesture“ klasė yra tėvinė jų klasė.Resursai

Programinė Leap Motion įranga.Skaičiavimai

Programinės įrangos pagalba atliekami gestų šablonų lyginimai ir aptikimai.Sąsaja/eksportas

Klasė praneša apie aptiktą šabloną ir gražiną jo įvykio id.Išimtys

Joks įvykis neaptiktas, arba nerastas joks šablonas.

R.Sturonas

72

Page 73: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

7. TESTAVIMO MEDŽIAGA

7.1. Testavimo planas

Skyrius skirtas gestų atpažinimo sistemos su teksto įvedimo funkcija testavimo specifikacijai. Pateikiamas bendras testavimo planas. Plane detalizuojami testavimo procesai, resursai bei objektai naudojami sistemos testavime. Testavimo tikslai ir objektai

Pagrindiniai testavimo tikslai:

Užtikrinti tinkamą sistemos veikimą.

Užtikrinti reikalavimų specifikacijos atitikimą.

Užtikrinti vartotojų reikalavimų atitikimą.

Testavimo metu rastos klaidos ir sistemos neatitikimai bus taisomi. Skyriuje suformuoti testavimo atvejai leis ženkliai sumažinti galimų sistemos klaidų skaičių bei išbandyti sistemos išbaigtumą.

Testavimo apimtis

Komponentų testavimas

Integracijos į bendra sistemą testavimas

Programos veikimas darbinėje aplinkoje

Vartotojo sąsajos testavimas

Saugumo testavimas

Charakteristikų testavimas

Priimtinumo testavimas.

Pagrindiniai apribojimai

Pagrindiniai apribojimai, kurie gali daryti neigimą įtaką testavimo plano vykdymui.

Sunkiai apibrėžiama testų apimtis.

Sunkiai apibrėžiami testavimo elementų užbaigtumo patvirtinimo kriterijai.

Reikalinga specializuota techninė i programinė įranga. Ji detalizuojama testavimo

resursų poskyryje.

R.Sturonas

73

Page 74: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Terminų žodynas

Lentelė 19. Terminų žodynas

Terminas Apibūdinimas

Šabloniniai judesiai Tai judesių kombinacija, kai visi judesiai užskaitomi

kaip vienas įvykis.

Hover zona Gestų atpažinimo zona.

Touch zoną Gestų atpažinimo zona, kai fiksuojamas ir paspaudimas.

Hover ir touch zoną skiria statmuo (į sensorių

nuskaitymo kryptį) nuo gestų atpažinimo įrenginio.

Nuorodos į analizuotus dokumentus

Prieš atliekant sistemos testavimą buvo išanalizuota šios specifikacijos:

Lentelė 20. Specifikacijų nuorodos

Dokumentas Atlikimo data Dokumento autorius

Reikalavimų specifikacija 2014-02-17 Robertas Sturonas

Architektūros specifikacija 2014-04-15 Robertas Sturonas

Detalios architektūros specifikacija 2014-05-16 Robertas Sturonas

Dokumento struktūra

Poskyryje „Testavimo planas“ pateikiami testuojami sistemos elementai, pateikiama testavimo būdas ir priemonės.

Poskyryje „Testavimo procedūra“ įvardijamos atliekamos procedūros: testavimo metodai,

laukiami rezultatai

testavimo duomenų saugojimas

7.2. Testavimo planas

Testavimo plane pateikiamas sistemos analizės procesas naudojamas aptikti skirtumus tarp

egzistuojančių ir reikiamų sistemos sąlygų ir įvertinti programinės įrangos elementų savybes.

R.Sturonas

74

Page 75: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

7.2.1. Testuojama programinė įranga

Kuriama vartotojui patogi sistema, leidžianti vartotojui valdyti televizorių naudojantis

Leap Motion gestų atpažinimo kontrolerį.

Sistema turėtų leisti vartotojui greičiau ir patogiau valdyti išmaniojo televizoriaus

teksto įvesties aplikaciją.

Sąsajos

Testuojama vartotojo sąsaja kintanti. Fiksuojamos judančių objektų koordinatės ir galimi

įvykiai. Vartotojo sąsajai įtaką gali daryti aplikacijos aplinkos pasikeitimai, įvesties ir

atvaizdavimo įrenginių techniniai ir duomenų apdorojimo parametrai.

Testuojant sąsajas bus ištestuoti šie sistemos langai:

Pagrindinis langas

Lange rodomas pagrindinių funkcijų pasirinkimas. Iš jo galima patekti į kitus langus.

Nustatymų langas

Lange galima keisti gestų atpažinimo nustatymus . Jame yra pasirenkamų parametrų

nustatymo, standartinių nustatymų atstatymo, nustatymų patvirtinimo ir atšaukimo mygtukai.

Įvykių peržiūros langas

Lange galima stebėti kokius duomenis Leap Motion įrenginys perduoda sistemai ir kokie

duomenys yra perduodami į duomenų bazę .

Aplikacijos prisijungimo langas

Langas skirtas vartotojams prisijungti prie įrenginio. Aktyvavus duomenų perdavimą,

išmanusis televizorius gali būti valdomas Leap Motion įrenginiu.

Teksto įvedimo langas

Lange matomi atliekami gestų atpažinimų įvykiai, virtuali klaviatūra ir vedamas tekstas.

R.Sturonas

75

Page 76: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Testavimo strategija

Šioje dalyje apžvelgiama pasirinktos sistemos testavimo strategijos.

Vienetų testavimas

Atskirų vienetų modulių testavimui bus naudojami funkcinis testavimo metodas.

Funkcinio testavimo metu tikrinama ar testuojamo modelio rezultatai atitinka laukiamus

rezultatus.

Tai pat atliekamas svarbesnių metodų testavimas naudojantis automatiniais įrankiais.

Duomenys parenkami neatsižvelgiant į metodo struktūrą („juoda dėžė“).

Testiniai atvejai sudaromi pagal sistemos specifikaciją.

Integravimo testavimas

Atlikus vienetų testavimą, vienetai yra apjungiami į bendrą sistemą ir testuojama jų

sąveika. Pirmiausiai bus ištestuoti žemiausi duomenų lygio komponentai (metodai), vėliau

sisteminiai moduliai (transakcijos, duomenų saugojimas ir sistemos reagavimas į pakitusius

duomenis) , o pabaigoje vartotojo sąsajos komponentai.

Priėmimo testavimas

Priėmimo testavimas atliekamas pagal „juodos dėžės“ principą užbaigtam produktui.

Sistema testuojama vartotojų aplinkoje, pačių vartotojų. Nurodomi testavimo bei klaidų

registracijos procesai. Planuojama kokių veiksmų bus imtasi konkrečiais atvejais.

Aukšto lygio testavimas

Užbaigto, integruoto produkto galutinis testavimas. Produktas bus pateiktas atsitiktiniams

nepriklausomiems testuotojams kartu su vartotojo dokumentacija.

R.Sturonas

76

Page 77: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Testavimo resursai

1. Testavimo komanda (pateikiama „Testavimo resursų paskirstymas“ poskyryje).

2. Techninė įranga:

Vartotojo kompiuterio minimalūs reikalavimai:

Windows 7 arba 8 arba Mac OS X 10.7

AMD Phenom II ar Intel Core i3, i5, i7 procesorius

2 GB RAM

USB 2.0 lizdas

Interneto tinklas

Išmaniojo TV reikalavimai:

Interneto tinklas

Web serverio minimalūs reikalavimai:

Procesorius 2 x 2.4 GHz

Atmintis 1024 MB

Disko vieta 20 GB

Pralaidumas 100 Mbps

Testavimo rezultatai

Testavimo rezultatai bus kaupiami MS Excel formatu. Daugiau informacijos apie testavimo

rezultatų kaupimą šio skyriaus poskyryje „Testavimo rezultatų kaupimas“.

Testavimo įrankiai ir aplinka

Vienetų testavimui bus naudojama Qunit programinė įranga.

Vartotojų sąsajos testavimui naudojamas Selenium.

R.Sturonas

77

Page 78: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Testavimo tvarkaraštis

Lentelė 21. Testavimo tvarkaraštis

Užduotis Terminas

Projekto testo planas 2014.10.01

Vienetų testavimas 2014.11.05

Integravimo testavimas 2014.11.07

Vartotojų sąsajos testavimas 2014.11.10

Priėmimo testavimas 2014.11.12

Testavimo ataskaita 2014.11.15

7.2.2. Testavimo procedūra

Poskyryje pateikiamos naudojamos testavimo procedūros: naudojami testavimo metodai, numatomi

laukiami rezultatai ir rezultatų saugojimas.

Testuojama programinė įranga

Gestų atpažinimo programinė įranga skirta teksto įvedimui išmaniuosiuose Samsung

televizoriuose.

Testavimo procedūros

Skyriuje pateikiamos procedūros, kurios bus naudojamos atliekant sukurtos sistemos

testavimą.

Vienetų testavimas

Prisijungimo langas

o Prisijungimo duomenų patvirtinimas.

Tikriname ar galimas prisijungimas prie įrenginio, pranešama įvykusias

klaidas.

o Prisijungimas prie sistemos.

Tikriname ar suvedus tinkamus duomenis ir juos patvirtinus atsidaro

pagrindinis programos langas.

R.Sturonas

78

Page 79: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Pagrindinis langas

o Meniu veikimas

Pasirenkami skirtingi meniu punktai. Tikriname ar tinkamai veikai sistemos

navigacija per skirtingus langus.

o Išjungimas

Išjungiame sistemą. Tikriname ar tinkamai sustabdomi duomenų perdavimo

procesai, ar užsidaro visi sistemos langai.

Nustatymų langas

o Pradinių parametrų keitimas.

Pakeičiame pradinius parametrus. Tikriname ar pasikeičia sistemos veikimas,

ar sistema veikia kaip buvo numatyta.

o Pradinių parametrų atstatymas.

Atstatome pradinius parametrus. Tikriname ar visi sistemos parametrai buvo

atstatyti, ar nesutriko sistemos veikimas.

Įvykių peržiūros langas

o Koordinatės

Į sensorių aptinkamą zoną įkišama rankos. Tikriname ar aptinkama visų 10

pirštų ir abiejų delnų koordinatės.

o Įvykių aptikimas

Iš „hover“ zonos pereiname į „touch“ zoną. Tikriname ar fiksuojamas

paspaudimas.

Atliekami standartiniai Leap Motion šabloniniai judesiai. Tikriname ar visi

(koks procentas) judesiai atpažįstami.

Aplikacijos prisijungimo langas

o Prisijungimo aktyvacija.

Tikrinama ar prisijungus aktyvuojamas duomenų perdavimas iš Leap Motion

įrenginio.

R.Sturonas

79

Page 80: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Teksto įvedimo langas

o Sistemos charakteristikų testavimas

Sensorių zonoje judinamos rankos ir piršai. Tikrinama ar judesiai nevėluoja,

ar nėra trikdžių ar ne sutapimų su perduodamais duomenimis.

o Įvykių aptikimas

Iš „hover“ zonos pereiname į „touch“ zoną. Tikriname ar fiksuojamas

paspaudimas.

Atliekami standartiniai Leap Motion šabloniniai judesiai. Tikriname ar visi

(koks procentas) judesiai atpažįstami.

o Teksto įvedimas

Spaudžiame virtualios klaviatūros klavišus. Tikriname ar užfiksuojami

virtualios klaviatūros paspaudimai. Tikriname ar atvaizduojamas vedamas

tekstas.

Integravimo testavimas

Vienetai yra apjungiami į bendrą sistemą ir testuojama jų sąveika. Integracinis testavimas

pradedamas nuo žemiausio lygio komponentų. Ištestavus žemesnį lygį pereinama prie

aukštesnio, kol galiausiai ištestuojama didžiausių sistemos komponentų tarpusavio sąveika.

Priėmimo testavimas

Sistema testuojama kartu su vartotojais. Vartotojai apmokomi ir supažindinami su

vartotojo sąsaja ir sistemos funkcionalumu. Atliekama vartotojų poreikių atitikimo peržiūra.

Aptikus vartotojo poreikių ir sistemos realizacijos neatitikimas, bus registruojamas naujas arba

koreguojamas esamas sistemos pakeitimas

Jei specifikacijoje nebus rastas vartotojo išreikštas poreikis sistemos pakeitimui, bus

registruojamas papildomas sistemos patobulinimas, kuris bus įgyvendintas sekančioje sistemos

versijoje. Jei pakeitimas yra būtinas tinkamam sistemos veikimui, pakeitimas atliekamas

esamai sistemos versijai.

R.Sturonas

80

Page 81: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Pagrindinės vartotojų testuojamos sistemos funkcijos.

Įrenginio atpažinimas ir aktyvavimas.

Objektų ir judesių aptikimas gestų atpažinimo zonoje.

Judesių sekimas.

Šablonais pagrįstas sekimas.

Duomenų perdavimas.

Aukšto lygio testavimas

Užbaigto, integruoto produkto galutinis testavimas. Produktas pateikiamas

nepriklausomiems testuotojams (SmartTV naudotojams). Testuotojai apie pastebėtas klaidas

informuoja testavimo vadovą. Gauti rezultatai fiksuojami ir dokumentuojami. Planuojami

pakeitimai ir pakartotiniai sistemos testavimo atvejis.

7.2.3. Testavimo resursų paskirstymas

Reikalingi testavimo resursai aprašyti skyriuje „ Testavimo resursai”. Už skirtingas

testavimo procesus atsakingi skirtingi asmenys.

Testavimo vadovas – atsakingas už testavimo planus ir sėkmingą jų vykdymą.

Testuotojas – atsakingas už testų vykdymą pagal sudarytą planą. Jis tiesiogiai naudos

testavimo resursus ir dokumentuos rezultatus.

Projekto vadovas – užtikrina, kad testai yra įvykdyti sėkmingai ir tenkina klientų (sistemos

naudotojų) lūkesčius.

Šiame projekte už visus darbus yra atsakingas projekto autorius.

R.Sturonas

81

Page 82: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

7.2.4. Testavimo rezultatų kaupimas

Saugomi duomenys:

• Atliktų užduočių aprašas,

• Testų tvarkaraštis,

• Laukiami Rezultatai,

• Gauti rezultatai,

• Atsakomybės už testus (asmenys).

Excel lango pavyzdys:

7.3. Testavimo rezultatai ir išvados

Testo nr. Data Aprašas Laukiami rezultatai Gauti rezultatai Atsakingas asmuo1 11/5/2014 Prijungiamas Leap Motion įrenginys Aktyvuojasi duomenų perdavimas Aktyvuojasi duomenų perdavimas Robertas2 11/6/2014 Pakeičiami parametrų duomeys Padidėja įrenginio jautrumas, atstumas Padidėja įrenginio jautrumas, atstumas Robertas3 11/7/2014 Atliekami gestų šablonai. Aptinkami gestai Aptinkami gestai Robertas4 11/8/2014 Leap Motion atjungiamas Duomenys nustoja atsinaujinti Duomenys nustoja atsinaujinti Robertas5 11/9/2014 Pirštu pajudinamas žymeklis Žymeklis pakeičia poziciją Žymeklis pakeičia poziciją Robertas6 11/10/2014 Paspaudžiamas meniu mygtukas Išsiskleidžia meniu Išsiskleidžia meniu Robertas7 11/11/2014 Darkart paspaudžiamas meniu mygtukas Susiskleidžia meniu Susiskleidžia meniu Robertas8 11/12/2014 Pakeičiam aktyvaus meniu elementą Pažymimas sekantis aktyvus elementas Pažymimas sekantis aktyvus elementas Robertas

9 11/13/2014Palaikome ant virtualios klaviatūros mygtuko žymeklį Aktyvuojasi paspaudimas, parašomas tekstas Aktyvuojasi paspaudimas, parašomas tekstas Robertas

10 11/14/2014Bandome pakeisti neaktyvaus meniu elementą. Meniu elementas nepasikeičia Meniu elementas nepasikeičia Robertas

11 11/15/2014Žymeklį judiname pirštu, tušinuku, lazdele Leap Motion aptinka gestus Leap Motion aptinka gestus Robertas

12 11/15/2014Tikriname naujai atidaryto puslapio meniu statusą Neaktyvus Neaktyvus Robertas

24. pav. Rezultatų langas

Atlikti sukurtos sistemos testai buvo teigiami, buvo gauti laukiami rezultatai, todėl galima teikti, kad testuotos funkcijos veikia.

QUnit ir Selenium įrankių panaudojimas buvo geras pasirinkimas, nes įrankiai leido išanalizuoti ne tik kodo turinį, bet ir grafinę sąsają.

Pasirinkti įrankiai neleidžia ištestuoti viso programinio kodo bei negali imituoti gestų judesių, todėl sistema negali būti pilnai automatiškai ištestuota. Reikalingas rankinis testavimas.

Sistema atpažysta gestus, tačiau gana dažnai juos sumaišo, todėl reikia gerinti gestų atpažinimą.

R.Sturonas

82

Page 83: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

8. VARTOTOJO DOKUMENTACIJA

8.1. Vartotojo dokumentacija ir apmokymas

Pateikiamas vartotojui reikalingos dokumentacijos elementų sąrašas:

Techninės ir programinės įrangos reikalavimai Diegimas Sąsajos aprašas Veiksmų aprašas Panaudojimo scenarijus

Kiekvienas vartotojas naudodamas jau paruoštą vartotojų dokumentaciją apsimokys individualiai. Dokumentacijos rengime vartotojas nedalyvaus, tačiau dokumentacija bus kuriama pagal vartotojo užduodamus klausimus. Už dokumentacijos plano rengimą atsakingas projekto autorius. Dokumentacija pateikiama tekstine ir grafine forma.

Paskirtis

Sukurtas gestais valdomas kompiuterinis žaidimas ir vartotojo sąsaja leidžianti naudotis gestų atpažinimo programinę įrangą kompiuterio valdymui. Sąsaja skirta inovacijų gerbėjams.

Sistemos funkcinis aprašas

Programinės įrangos teikiamos funkcijos.

Gestų atpažinimas. Duomenų apdorojimas. Žaidimo valdymas. Rezultatų atvaizdavimas. Natūralios valdymo sąsajos panaudojimas kompiuterio valdymui. Teksto įvedimas naudojant gestų atpažinimą.

R.Sturonas

83

Page 84: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

8.2. Veikimo zona.

Aktyvi ir lietimo zonos:

Aktyvi zona Lietimo zona

25. pav. Aktyvi sensoriaus lietimo zona.

8.3. Vartotojo vadovas

Pateikiami pagrindiniai scenarijai reikalingi naudoti sukurtą gestų atpažinimo funkcionalumą.

8.3.1. Sąsajos realizacija.

Vartotojas turi galimybę valdyti meniu ir jo elementus rankos judesiais .

1) Funkcija: Meniu aktyvavimas

Pradinė meniu būsena įjungus programą.

Atliekamas piršto sukimo gestas:

R.Sturonas

84

Page 85: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Meniu išsiskleidžia (aktyvus meniu)

(Pakartotinis gestas vėl meniu padarys neaktyvų)

2) Funkcija: Meniu elementų pasirinktis

Esant aktyviam meniu (Aktyvus NAMAI meniu elementas)

Atliekamas rankos mosto gestas

R.Sturonas

85

Page 86: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Pasikeičia aktyvus meniu (iš NAMAI -> VIDEO)

3) Funkcija: Teksto įvestis

Pasinaudojus virtualia klaviatūra įvedamas norimas tekstas

26. pav. Virtuali klaviatūra.

R.Sturonas

86

Page 87: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Veikimas:

1) Privedame žymeklį prie klaviatūros mygtuko, 2) Palaikome ant norimo elemento kol bus įvestas norimas simbolis3) Jei įvestas ne tas simbolis, jį galime ištrinti pasinaudojus „delete“ mygtuku.

Lentelė 22. Virtualios klaviatūros mygtuko būsenos

Mygtuko būsenos

Neaktyvus mygtukas

Aktyvus mygtukas

8.3.2. Žaidimo realizacija

Žaidimo grafiniai komponentai:

Lentelė 23. Apdorojami žaidimo duomenys

Komponentas Išvaizda

Ginklai:

Erdvėlaiviai:

Priešų erdvėlaiviai:

Sprogimai ir kulkos:

Žaidimo žemėlapiai

R.Sturonas

87

Page 88: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Žymeklis (taikinys)

8.4. Sistemos diegimo instrukcijos ir papildomi reikalavimai naudojimui

Diegimo etapai:

27. pav. Diegimo etapai

Leap motion tvarkyklės diegimas Leap motion programinės įrangos diegimas: Nuoroda

Reikalavimai naudojimui:

Turi būti prijungtas ir aktyvuotas Leap Motion controleris. Žaidimo paleidimo kataloge turi būti Leap.dll bei LeapGM.dll failai.

Naudotojas turi laikyti licencijos sutarties [1 priedas].

Reikalavimai diegimo aplinkai:

Vartotojo kompiuterio minimalūs reikalavimai:

Windows® 7 or 8 or Mac® OS X 10.7 AMD Phenom™ II ar Intel® Core™ i3, i5, i7 procesorius 2 GB RAM USB 2.0 lizdas.

R.Sturonas

88

Page 89: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

8.5. Galimos problemos ir jų sprendimai

Neaptinka naudotojo gestų.

a. Neprijungtas Leap Motion įrenginysb. Neveikia kompiuterio USB įrenginysc. Neįrašyti gestu atpažinimo įrenginio valdikliai.d. Neįrašyta Leap Motion programinė įrangae. Kompiuteris turi dinaminį IP (pasinaudojus maršrutizatoriaus parametrais reiktų jį

padaryti statiniu).f. Įrenginys padėtas netinkamoje vietoje, arba naudotojo rankos ir gestai yra

neaktyvioje sensorių zonoje.g. Įrenginys apsuktas arba apverstas.h. Įrenginys arba duomenų perdavimo kabelis yra sugadinti.i. Faile esančiame: C:\Users\mano\AppData\Roaming\Leap Motion\config.json nėra

aktyvuotas Json duomenų perdavimas.

Failo struktūra turėtų atrodyti taip:{ "configuration": { "background_app_mode": 2, "low_resource_mode_enabled": true,

"websockets_allow_remote": true, "websockets_enabled": true }}

Gestų atpažinimas stringa arba veikia lėtai.

j. Blogas interneto ryšys arba jo visai nėrak. Įrenginio sensoriai išteplioti (reikia nuvalyti)l. Daug programų naudoja interneto srautą, arba įjungtas informacijos persiuntimas

stabdo įrenginį (reiktų suvaldyti kompiuterio ir interneto resursus)m. Kompiuteris neatitinka minimaliu programinės įrangos resursų reikalavimų.n. Įrenginys padėtas apsuktas.

R.Sturonas

89

Page 90: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

9. PAKEITIMŲ SĄRAŠAS.

Lentelė 24. Apdorojami žaidimo duomenys

Skyrius Pakeitimai

Projekto paraiška Pašalintas informacijos pasikartojimas

Projektavimo metodologijos ir technologijų analizė

Papildyta projektavimo metodologijų apžvalga.

Projekto planas Atnaujintas projekto planas

Reikalavimų specifikavimas Kadangi realizuoto produkto duomenys įrenginiams perduodami tiesiogiai JSON pagalba panaikintas DB aprašas ir reikalavimai duomen7 bazei .

Architektūros specifikacija Panaikintas ER modelis. (DB nebeegzistuoja). Atnaujinta klasių diagrama.

Detalios architektūros specifikacija Panaikintas duomenų perdavimo aprašas (nebenaudojamas duomenų įrašymą į DB)

Testavimo medžiaga Pridėta testavimo rezultatai ir išvados.

Vartotojo dokumentacija Dėl informacijos pasikartojimo ištrintas apdorojamų duomenų aprašas.

R.Sturonas

90

Page 91: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

10. KOKYBĖS VERTINIMO ATASKAITA

10.1. Kokybės užtikrinimas

Projekto realizacija turi būti valdoma visą jo realizacijos laiką. Todėl būtinas tinkamas

kokybės vertinimas. Taip pat, svarbu užtikrinti galutinio produkto kokybę. Norint tai padaryti reikia

išsirinkti tinkamą į paslaugas orientuotą kokybės vertinimo metodą,

Pasinaudosime jau sukurtu James A. McCall, programinės įrangos kokybės vertinimo

modeliu kurį sudaro:

Produkto naudojamumo (korektiškumas, patikimumas, efektyvumas, integralumas, panaudojamumas) vertinimas;

Produkto aptarnavimo (palaikomumas, testuojamumas, lankstumas) vertinimas;

Sistemiškumo faktorių (pernešamumas, pakartotinis panaudojimas, sąveikos galimybės) vertinimas;

Perbraizyti trik

Atlikdami kokybės vertinimą naudosime šimta balę sistemą ir darysime prielaidą, kad kokybė patenkinama jei parametras bus vertinamas aukštesniu nei 70 balu.

R.Sturonas

91

Produkto

naudojamumo

Produkto aptarnavimo

Sistemiškumo faktorių

28 pav. McCall kokybės faktoriai

Page 92: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

Lentelė 25. Kokybės vertinimo kriterijai

Kriterijai Vertinimo detalizavimas Paaiškinimas Kaip to siekiama sistemoje Vertinimas

Korektiškumas Reikia įvertinti kiek sistema atitinka jos aprašymą specifikacijoje ir kaip ji pateisina vartotojų lūkesčius

Apima programinės įrangos atitikimą specifikacijai ir vartotojo lūkesčių išpildymą

Detali reikalavimų specifikaciją ir vartotojų pageidaujamų funkcijų išskyrimas užtikrins aukštą sistemos korektiškumą

70

Patikimumas Reikia įvertinti balu tikimybę, kad programinė įranga atliks jai priskirtas užduotis ar priešingai – neatliks jai nepriskirtų funkcijų

Kaip programinė įranga sugeba atlikti jai pavestas ir neatlikti nepavestų funkcijų.

Leap Motion įrenginio panaudojimas leis kuo tiksliau aptikti vartotojo judesius.

70

Efektyvumas Vertinimo balas nustatomas pagal tai, kiek ir kokių kompiuterio resursų reikia programinei įrangai.

Minimalūs kompiuterio resursai programinei įrangai funkcionuoti ir kiek jie panaudojami

Minimalūs sistemos resursai nustatomi naudojant rekomendacijas ir tikslinami periodiškai.

70

Integralumas Įvertinama balais duomenų ir programinės įrangos funkcionalumo dalis, kuria gali pakeisti ar sugadinti neautorizuoti vartotojai.

Apima neautorizuotų vartotojų prieigos kontrolę prie programinės įrangos ir duomenų

Sistema realizuota taip, kad reikšmės yra fiksuotos ir vartotojas neturi galimybių jų keisti (nustatytos ribos).

85

Panaudojamumas Įvertinimo balas nustatomas pagal tai, kiek reikia vartotojui apsimokinti ir įdėti pastangų norint pilnai išnaudoti programinę įrangą

Pastangos reikalingos išmokti naudotis sistema

Sistema realizuojama taip, kad naujas vartotojas apsimoko per minimalų laiko tarpą.

80

Palaikomumas Įvertinama balais kiek reikės pastangų ir laiko atlikti pataisymams veikiančioje sistemoje

Pastangos reikalingos nustatyti ir pataisyti klaidas funkcionuojančioje sistemoje

Detali dokumentacija ir LeapJS panaudojimas projekto realizacijoje užtikrina nesudėtingą palaikomumą

85

Testuojamumas Reikia įvertinti reikalingas laiko sąnaudas pilnam programinės įrangos testavimui ir įrodymui, jog ji veikia taip, kaip yra tikimasi

Pastangos reikalingos ištestuoti programinę įrangą

Sistemos atliekamos funkcijos nesunkiai testuojamos ranka.

85

Lankstumas Reikia nustatyti reikalingas pastangas ir laiko sąnaudas kurių reikėtų norit pakeisti ar papildyti programinės įrangos funkcionalumą

Funkcionuojančios sistemos funkcionalumui pakeisti reikalingos pastangos

html/js naudojimas užtikrins dideles išplečiamumo galimybes.

80

Pernešamumas Vertinimo balas nustatomas pagal tai kiek reikia laiko ir pastangų perketi sistemą iš vienos aparatūrinės konfigūracijos ar platformos į kitą

Pastangų kiekis reikalingas programinę įrangą perkelti iš vienos konfigūracijos ir platformos į kitą

html/js naudojimas užtikrins dideles pernešamumo galimybes.

70

Pakartotinis panaudojamumas

Įvertinimo balas nustatomas pagal galimybę programinę įrangą ar jos dalį panaudoti kuriant ar modifikuojant kitas sistemas

Galimybė panaudoti programinę įrangą ar jos dalį kitose taikomosiose programose

Atskiri sistemos elementai sukurti taip, kad juos nebūtų sunku išskirti, atnaujinti, pakeisti.

90

Sąveikos galimybės Reikia įvertinti balu pastangų ir laiko sąnaudas norint programinę įrangą apjungti su kita

Pastangų kiekis sistemą apjungti su kita sistema

Sistemoje realizuojama duomenų perdavimas per tinklą.

75

R.Sturonas

92

Page 93: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

LITERATŪRA1. Leap motion. [interaktyvus] [žiūrėta 2013 m. lapkričio 28 d.]. Prieiga per internetą:

<https://www.leapmotion.com > [1]

2. GameWAVE. [interaktyvus] [žiūrėta 2013 m. lapkričio 28 d.]. Prieiga per

internetą:< https://airspace.leapmotion.com/apps/gamewave/windows> [2]

3. DexType. [interaktyvus] [žiūrėta 2013 m. lapkričio 29 d.]. Prieiga per internetą:

<http://dextype.com> [3]

4. Leap Motion panaudojimas HP produktuose. [interaktyvus] [žiūrėta 2013 m.

lapkričio 30 d.]. Prieiga per internetą: <

http://www8.hp.com/us/en/ads/envy-leap-motion/overview.html> [4]

5. Sony SmartTV. [interaktyvus] [žiūrėta 2013 m. lapkričio 30 d.]. Prieiga per

internetą: < http://www.sony.co.uk/hub/lcd-television/range/smart-tv> [5]

6. PointGrab. [interaktyvus] [žiūrėta 2013 m. lapkričio 28 d.]. Prieiga per internetą:

<http://www.pointgrab.com> [6]

7. Kinect. [interaktyvus] [žiūrėta 2013 m. lapkričio 29 d.]. Prieiga per internetą:

http://www.microsoft.com/en-us/news/features/2010/jun10/06-13kinectintroduced.aspx [7]

8. „Kinect“ įrenginio panaudojimas: nuo žaidimų iki medicinos. [interaktyvus] [žiūrėta

2013 m. gruodžio 1 d.]. Prieiga per internetą: <http://ktu.lt/if/naujienos/„kinect“-irenginio-

panaudojimas-nuo-zaidimu-iki-medicinos> [8]

9. Sutrikusios judėjimo funkcijos neįgaliųjų aprūpinimas techninės pagalbos

priemonėmis. [interaktyvus] [žiūrėta 2013 m. lapkričio 28 d.]. Prieiga per internetą:

<http://db1.stat.gov.lt/statbank/selectvarval/saveselections.asp?

MainTable=M3161004&PLanguage=0&TableStyle=&Buttons=&PXSId=6436&IQY=&TC=&ST=

ST&rvar0=&rvar1=&rvar2=&rvar3=&rvar4=&rvar5=&rvar6=&rvar7=&rvar8=&rvar9=&rvar10=

&rvar11=&rvar12=&rvar13=&rvar14=> [9]

10.

11. JAN DIETZ. Enterprise Ontology - Theory and Methodology. Springer-Verlag

Berlin Heidelberg, 2006. [10]

R.Sturonas

93

Page 94: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

12. YING WU, THOMAS S. HUANG. „Vision-Based Gesture Recognition: A Review“

[interaktyvus] [žiūrėta 2013 m. lapkričio 1 d.]. Prieiga per internetą:

<http://link.springer.com/chapter/10.1007/3-540-46616-9_10>

13. A. KAŽUKAUSKAS. „Patentų klinikoms Lietuvoje – penkeri metai“, LTB

Patentinės informacijos centras, 2012.

14. WIPO, „G06 COMPUTING; CALCULATING; COUNTING“. 2013.

15. X. ZABULISY, H. BALTZAKISY, A. ARGYROSZY. “Vision-based Hand

Gesture Recognition for Human-Computer Interaction”

16. K. KHOSHELHAM, S. OUDE ELBERINK. „Brain Computer Interface Cursor

Measures for Motionimpaired and Able-bodied Users“, 2012.

17. „Accuracy and Resolution of Kinect Depth Data for Indoor Mapping Applications“

[žiūrėta 2013 m. lapkričio 2 d.]. Prieiga per internetą: < http://www.vgleaks.com/durango-next-

generation-kinect-sensor/>

18. MARK A. LIVINGSTON, JAY SEBASTIAN, ZHUMING AI JONATHAN W.

DECKER „Performance Measurements for the Microsoft Kinect Skeleton“ Naval Research

Laboratory. 2012.

19. JASON J. JERALD „Scene-Motion- and Latency-Perception Thresholds for Head-

Mounted Displays“. 2009.

20. A. PINO, ELEFTHERIOS KALOGEROS, ELIAS SALEMIS AND GEORGIOS

KOUROUPETROGLOU. „Brain Computer Interface Cursor Measures for Motion-impaired and

Able-bodied Users“. 2003.

21. International Journal of Bioelectromagnetism„Methodological Issues in EEG-

correlated Functional MRI Experiments“ 1999. [žiūrėta 2013 m. lapkričio 5 d.]. Prieiga per

internetą: < http://www.ijbem.org/volume1/number1/html/ar11.htm>

22. A.SEFFAH, M. DONYAEE, REX B. KLINE, HARKIRAT K, PADDA. „Usability

measurement and metrics: A consolidated model“ (Software Qual J (2006) 14: 159–178 p.)

23. „Usability Evaluation of User Interfaces“ [žiūrėta 2013 m. lapkričio 6 d.]. Prieiga

per internetą: < http://webtango.berkeley.edu/papers/thesis/chap2.pdf>

24. „Understanding Latency“ [žiūrėta 2013 m. lapkričio 7 d.]. Prieiga per internetą:

<http://labs.leapmotion.com/post/55354873140/understanding-latency-part-2>

25. S. LAVALLE. „The Latent Power of Prediction“ 2013. [žiūrėta 2013 m. lapkričio 3

d.]. Prieiga per internetą: <http://www.oculusvr.com/blog/the-latent-power-of-prediction/>

R.Sturonas

94

Page 95: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

TERMINAI IR SANTRUMPŲ SĄRAŠAS SDK- Programinės įrangos kūrimo rinkinys (angl. Software Development Kit). USE CASE- Panaudojimo atvejis. UML – programinės įrangos projektavimo metodika (angl. Unified Modeling Language) UI – vartotojo sąsaja (angl. User Interface).

BCI- smegenų ir kompiuterio sąsaja (angl. Brain Compiuter Interface).

EEG- elektroencefalografija (angl. Electroencephalography).

GUI – Gestais paremta vartotojo sąsaja (angl. Gesture User Interfaces).

VBI- Vaizdu pagrįsta sąsaja (angl. Vision Based Interfaces)

VE- Virtuali aplinka (angl. Virtual Envarment).

TPK- Tarptautinė patentų klasifikacija .

ROC- Gautos operacijų charakteristikos (angl. Receiver Operator Characteristic) .

FOV- Matymo laukas (angl. Field of View).

SDK- Programinės įrangos kūrimo rinkinį (angl. Software Development Kit).

IVE- Įtraukianti (be realus pasaulio vaizdo) virtuali aplinka (angl. immersive virtual

environment).

QUIM- Naudojimo kokybės kompleksiniai matavimai (angl. Quality in Use Integrated

Measurement)

Gestų atpažinimas- fiksuojamų objektų ar jų dalių koordinačių pasikeitimai realiu laiko momentu.

Įvesties duomenys- sensorių nuskaitymo metu gaunami duomenys (koordinatės, įrenginio atpažinimas, laikas, įvykio tipas).

Įvesties įrenginys- Vartotojo naudojamas įrenginys skirtas perduoti kompiuteriui duomenis (Leap Motion kontroleris, pelytė, klaviatūra, pultelis, liečiamas ekranas).

R.Sturonas

95

Page 96: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

PRIEDAI1 PRIEDAS

AUTORINĖ LICENCINĖ SUTARTIS

Dėl teisės panaudoti programinę įrangą. Kaunas, 2014 m. Gruodžio 5 d.

Ši Leap Motion vartotojo sąsajos „AFEX“ (toliau vadinamos programinės įrangos) Vartotojo Licencija (VL) yra teisinė sutartis tarp

Jūsų (privataus ar juridinio asmens, toliau sutartyje vadinamo programinės įrangos naudotoju)

ir

Roberto Sturono (toliau sutartyje vadinamas programinės įrangos savininku) apsprendžianti programinės įrangos ar jos elementų naudojimą.

Instaliuodami, kopijuodami, gaudami informaciją ar naudodami pateiktą programinę įrangą ar jos rezultatus, Jūs sutinkate būti ribojami šios VL sąlygomis. Jei jūs nesutinkate su šios VL sąlygomis, nesidiekite ir nenaudokite šios programinės įrangos.

1. Programinės įrangos savininkui priklauso visos teisės, verslo paslaptys, prekinis ženklas, patentas ir bet kuri kita intelektinė nuosavybė ar nuosavybės teisės į programinę įrangą.

2. Programinės įrangos savininkas perduoda Jums neišskirtines teises į neperleidžiamą licenciją naudotis vienintele programinės įrangos kopiją asmeniniu naudojimui, kai.2.1. Programinė įranga yra skirta ne komerciniams sprendimams, išskyrus atvejus kai.

2.1.1. Tokį leidimą suteikia programinės įrangos savininkas.2.2. Programinė įranga yra nekoreguojama, nekeičiama ir nenaudojama kitai programinei

įrangai kurti ar papildyti ją. 2.3. Programinėje įrangoje yra nurodomas programinės įrangos savininkas.2.4. Programinė įranga nėra de kompiliuojama, išmontuojama ar kitaip perdaroma .2.5. Programinė įranga ar jos dalis nėra perduodama jokiai trečiai šaliai.2.6. Programinės įrangos naudotojas ne

R.Sturonas

96

Page 97: LENTELIŲ TURINYS - Leap Motionleapmotion.lt/wp-includes/downloads/LEAPMotion_R Sturonas... · Web viewPastaruoju metu atsiranda įvairios valdymo sąsajos leidžiančios valdyti

3. Jūs negalite suteikti licencijos naudotis ar perdaryti programine įranga trečiajam asmeniui be programinės įrangos savininko sutikimo.

4. Programinės įrangos savininkas nėra atsakingas už bet kokią programinės įrangos padarytą žalą programinės įrangos naudotojui ar su juo susijusiui asmeniui. Programinės įrangos naudotojas negali reikalauti žalos atlyginimo už įvykusius incidentus. Programinės įrangos naudotojas turi pasirūpinti tinkamu, saugiu programinės įrangos naudojimu įskaitant.4.1. Programinės įrangos saugumą nuo trečiųjų asmenų , jos keitimą ar jos elementų

paviešinimą.

5. Savininkas pasilieka teisę.5.1. Nutraukti šią VL, jei savo nuožiūra nuspręs, kad Jūsų bendravimas su savininku ar bet

kuo kitu, susijęs su programine įranga yra nepriimtinas5.2. Keisti visus su licencija susijusius punktus apie tai viešai paskelbdamas mėnesį prieš

licencijos atnaujinimą.

6. Ši VL galioja iki kol nebus nutraukta. Jūs gali būti nutrauktą bet kuriuo metu.6.1. Sunaikinus programinę įrangą ir ištrynus visas Jūsų įrenginiuose ar duomenų

saugyklose esančias kopijas.6.2. Jei jūs nesilaikote kurių nors VL susitarimų ir sąlygų,

7. Savininkas neapriboja programinės įrangos teritorijos ir programinės įrangos naudojimo laiko, išskyrus atvejus kai.7.1. Savininkas pakeičia VL sutarties sąlyga ir apie tai viešai informuoja.7.2. Pažeidžiama VL sutartis.

8. Abi sutarties šalys įsipareigoja visus iškylančius nesutarimus dėl sutarties vykdymo spręsti derybų keliu arba įstatymu numatyta tvarka.

14. Sutartis pasirašyta 2 (dviem), turinčiais vienodą juridinę galią, egzemplioriais.

Robertas Sturonas Programos naudotojas

…………………………… ……………………………………

…………………………... …......……………………………..

(savininkas)

Data Data

R.Sturonas

97