Programmatūras sistēmu izstrādes projektu tēmas
(kvalifikācijas,
kursa darbiem, gada projektiem, ...)
0.
Latvijas Vieglatlētikas vecmeistaru asociācijas tīmekļa vietnes modernizēšana (tēma
aizņemta)
Modernizēt
Latvijas Vieglatlētikas vecmeistaru asociācijas tīmekļa vietni (http://www.lvva.lv):
- padarīt to pārskatāmāku;
- sakārtot rezultātu datubāzi;
- padarīt
ērtāku rezultātu ievadi datubāzē.
1.
Skriešanas sacensību datu izguve un analīze
Sfēras apraksts
Latvijas skriešanas sacensību rezultāti vispilnīgāk apkopoti tīmekļa vietnē
skriesim.lv atrodamajā datubāzē. Šī
datubāze veidota ar ļoti primitīviem paņēmieniem, un visi dati ir publiski
redzami lapu izejas kodos. Šī vietne piedāvā arī aplūkot šos rezultātus, taču
tikai ļoti ierobežotos griezumos.
Šajā darbā tiek piedāvāts izvilkt informāciju no augšminētās tīmekļa
vietnes un izveidot no tās datubāzi pēc autora izvēles, lai pēc tam, balstoties
uz šo datubāzi, izstrādātu programmatūras sistēmu, kas ļautu lietotājam
ieraudzīt sev interesējošos datus dažādos griezumos.
Darbā veicamie
pamatuzdevumi
1.
Izpētīt
skriesim.lv lapas statistikas datu struktūru
2.
Izveidot
ER modeli, kas kalpotu par shēmu augšminēto datu glabāšanai
3.
Izvēlēties
kādu no populārajām datubāzu pārvaldības platformām un izveidot tajā datubāzi
skriešanas sacensību datu glabāšanai
4.
Iepazīties
ar metodēm, kas lietojamas datu izguvē tīmekļa lapu izejas kodiem
5.
Izveidot
skriptu, kas izvelk statistikas datus no skriesim.lv lapas un ievieto tos
izveidotajā datubāzē
6.
Izveidot
lietotājam draudzīgu vidi, kas balstīta uz izveidotās datubāzes un kurā
lietotājs varētu redzēt datus tādos pašos griezumos, kādos tie redzami
skriesim.lv lapā (dati, izvēloties konkrētu sportistu, klubu, treneri vai
sacensības).
Darbā veicamie
papilduzdevumi pēc izvēles
1. Izdomāt papildus griezumus, kādos varētu būt interesanti
paskatīties uz esošajiem datiem, un realizēt šos griezumus izveidotajā vidē.
Daži šādu griezumu piemēri:
a. Parādīt skrējējus (ar viņu attiecīgajiem rezultātiem),
kas šo distanci noskrējuši ātrāk par šādu laiku
b. Parādīt sacensības, kurās bijis iespējams noskriet šo
distanci
c. Parādīt trenerus, kuru audzēkņi visātrāk skrien šo
distanci
d. Parādīt sporta klubus ar visvairāk audzēkņiem
e. Parādīt skrējējus ar visvairāk sacensībām šajā gadā
f. ...
2. Pārveidot skriptu, kas datus no skriesim.lv lapas izvelk
un ieraksta datubāzē tā, lai to būtu iespējams lietot atkārtoti un katru reizi,
kad tas tiktu palaists, tas no datubāzes paņemtu tikai tajā klāt pienākušos
datus.
2.
Skrējiena datu analīze (tēma aizņemta)
Sfēras apraksts
Modernie skriešanas
pulksteņi skrējiena laikā ievāc visdažādāko informāciju par skrējiena norisi
skrējienā pavadīto laiku, noskrieto distanci, ātrumu katrā laika momentā,
atrašanās pozīciju plaknē un virs jūras līmeņa, skrējēja pulsu utt. Visa
informācija tiek pierakstīta datnē noteiktā formātā. Šo datni pēc skrējiena
iespējams pārsūtīt uz datoru un analizēt.
Šajā darbā tiek
piedāvāts izpētīt konkrētu skriešanas pulksteņu ražotāju Garmin un izanalizēt datus, ko
šis ražotājs fiksē ar sava pulksteņu modeļa Forerunner 305 palīdzību. Datus Garmin saglabā datnē ar paplašinājumu .tcx, kas pamatā ir .xml datne ar noteiktu struktūru
(noteiktām birkām). Šādas datnes iespējams atvērt ar programmu Garmin
Training Center, kā arī vizualizēt uz kartes, piemēram, tīmekļa vietnē http://www.mapmyfitness.com.
Piemēri
Daži .tcx datņu piemēri.
Darbā veicamie
pamatuzdevumi
1.
Izpētīt .tcx datnes struktūru
2.
Izveidot
klašu modeli (C++, Java vai citā programmēšanas valodā) .tcx pieejamo datu glabāšanai
3.
Uzprogrammēt
datu ielasītāju no .tcx
datnes modelī
4.
Izveidot
modeļa apstaigātāju (iespēju aplūkot, kādas ir klašu instances, kas ar ko
saistīts, atribūtu vērtības u.tml.)
Darbā veicamie
papilduzdevumi pēc izvēles
1.
Izveidot
jautājumu šablonus, caur kuriem var iegūt informāciju par skrējienu, piemēram:
a.
cik
ilgi skrēju 3.-5. km;
b.
cik
ilgi skrēju pirmo/otro pusdistanci;
c.
cik
km noskrēju pirmajā (otrajā, trešajā, ...) stundā;
d.
cik
km biju noskrējis pēc 17 minūtēm;
e.
kuros
punktos ilgi stāvēju uz vietas (nepārvietojos vairāk par x metriem noteiktā
laika sprīdī);
f.
kurā
brīdī biju aizskrējis vistālāk uz ziemeļiem;
g.
kurā
momentā bijis visaugstākais pulss;
h.
kāds
bijis vidējais pulss distances pirmajā/otrajā pusē;
i.
...
2.
Realizēt
šablonu ievadi un jautājumu saņemšanu
3.
Vizualizēt
maršrutu uz kartes
4.
Padarīt
karti interaktīvu ļaut ar peli mainīt pozīciju un rādīt aktuālos datus
konkrētā vietā
5.
Simulēt
skrējienu uz kartes, rādot pārvietošanos noteiktā ātrumā (ļaut mainīt šo ātrumu)
3.
TCX datņu kontrolēta sapludināšana
Sfēras apraksts
Modernie skriešanas
pulksteņi skrējiena vai citas fiziskas aktivitātes laikā ievāc visdažādāko
informāciju par aktivitātes norisi pavadīto laiku, pieveikto distanci, ātrumu
katrā laika momentā, atrašanās pozīciju plaknē un virs jūras līmeņa, sportista
pulsu utt. Visa informācija tiek pierakstīta datnē noteiktā formātā. Šo datni
pēc skrējiena iespējams pārsūtīt uz datoru un analizēt, kā arī aplūkot veikto
maršrutu kartē.
Viens no
populārākajiem šādu datu formātiem ir datne ar paplašinājumu .tcx, kas pamatā ir .xml datne ar noteiktu struktūru
(noteiktām birkām). Šādas datnes iespējams vizualizēt uz kartes, piemēram,
tīmekļa vietnēs http://www.mapmyfitness.com
vai https://www.endomondo.com. Tas, ko
šīs vietnes nepiedāvā, ir iespēja vienlaicīgi aplūkot vairāku TCX datņu saturu
un iespēja norādīt tikai kādu daļu no TCX datnes, ko attēlot uz kartes.
Piemēri
Daži .tcx datņu piemēri.
Darbā veicamie
pamatuzdevumi
1.
Izpētīt .tcx datnes struktūru
2.
Izveidot
vidi, kas ļautu lietotājam ērti apgraizīt doto TCX datni, nogriežot no tās
sākuma un/vai beigu daļu patvaļīgā garumā:
a.
videi
jāļauj lietotājam ielādēt tajā patvaļīgu TCX datni un saprotamā veidā attēlot
tās saturu;
b.
vide
jādod lietotājam iespēja norādīt paturamo(-s) vai nogriežamo(-s) sākuma un/vai
beigu gabalu(-s) (piemēram, norādot nogriežamo gabalu distances vai laika
mērvienībās);
c.
videi
jāspēj saglabāt apgraizīto TCX datni kā atsevišķu datni, kas precīzi atbilst
TCX formātam un ir vizualizējama kādā no augšminētajām (vai citām līdzīgām)
tīmekļa vietnēm.
3.
Pievienot
2. punktā izstrādātajai videi iespēju apvienot divas TCX datnes vienā:
a.
videi
jāļauj lietotājam ielādēt tajā divas patvaļīgas TCX datnes un, izmantojot
punktā 2.a. izstrādāto komponenti, saprotamā veidā attēlot to saturus;
b.
videi
jādod iespēja lietotājam apgraizīt katru no abām ielādētajām TCX datnēm,
izmantojot punktā 2.b. izstrādāto komponenti;
c.
videi
no abām apgraizītajām TCX datnēm jāspēj izveidot vienu apvienojošu TCX datni,
tās sapludinot (pieņemot, ka abu datņu laika posmi nepārklājas), daļēji izmantojot
punktā 2.c. izstrādāto komponenti, un saglabāt to kā atsevišķu TCX datni.
Darbā veicamie
papilduzdevumi pēc izvēles
1.
Pilnveidot
2. punktā izstrādāto vidi, paplašinot TCX datnes apgraizīšanas iespējas ļaut
no datnes izgriezt vai atstāt patvaļīgus posmus, nevis tikai sākumu un beigas
2.
Paplašināt
punktā 3.c. izstrādāto TCX datņu sapludināšanas komponenti, ļaujot sapludināt
arī tādas datnes, kuru laika posmi [daļēji] pārklājas
3.
Vispārināt
3. punktā izstrādāto komponenti, ļaujot sapludināt patvaļīgu skaitu TCX datņu
4.
Realizēt
patvaļīgas TCX datnes maršruta vizualizēšanu uz kartes
Viens no šīs
sistēmas potenciālajiem pielietojumiem ļaut projekta 1836 dalībniekiem, kas apceļo (kājām iešus un/vai
skriešus vai ar velo) Latviju, ērti redzēt uz kartes sava veikuma progresu.