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.

Atpakaļ uz sākumu