wiki:Kesä2013/suunnitelmat/olveanle
Last modified 4 years ago Last modified on 2013-06-28 13:47:14

Ohjelmointi 2 - 2013 -kurssin esisuunnitelma (vaihe 1)

Olli Leppnen (olveanle@…)

1. Frisbeegolf tulosrekisteri

Ratatulosten lisääminen useammalle pelaajalle

1.1 Mitä tietoja pelaajasta tarvitaan?

  • nimi
  • liittymisvuosi
  • pelattujen kierrosten määrä
  • monellako eri radalla on pelannut
  • jne..

1.2 Mitä ominaisuuksia rekisteriltä halutaan?

  • radan lisääminen
  • radan poistaminen
  • pelaajan lisääminen
  • pelaajan poistaminen
  • pelaajan tietojen muokkaaminen ja tulosten lisääminen radoille

1.3 Talletustiedostojen muoto

Ohjelman tiedot talletetaan seuraavanlaisiin tekstitiedostoihin:

friba.dat - relaatiokannan päätaulu

Friba
; Kenttien järjestys tiedostossa on seuraava:
; id |Nimi               |Pelattujen kierrosten lkm|Pelattujen ratojen määrä
  1  |Jaska              |12                       |2 
  2  |Batman             |15                       |1  
  3  |Ahtisaari Martti   |35                       |1 
; Kaikkien ratojen väylien tietojen järjestys tiedostossa
; Esim. id 18 = Laajavuoren väylä 18
; id  |  rid   |  vid    |  Par  |  Pituus  
  1   |   1    |   1     |   3   |     97                             
  2   |   1    |   2     |   4   |    224                 
  3   |   1    |   3     |   3   |     68         
 ...  |  ...   |  ...    |  ...  |    ...                   
  18  |   1    |   18    |   3   |    157            
  19  |   2    |   1     |   3   |                    
  20  |   2    |   2     |   3   |                
; Pelaajien tulokset (id = kierros, vid = väylä, pij = pelaaja)
;id   |  vid  | pij | tulos     
 1    |  19   |  1  |   2                         
 2    |  20   |  1  |   2            
 3    |  21   |  1  |   2     
 4    |  22   |  1  |   2                         
 5    |  23   |  1  |   3            
 6    |  24   |  1  |   2     
 7    |   1   |  3  |   3                         
 8    |   2   |  3  |   5            
 9    |   3   |  3  |   2     

2. Ohjelman käyttö

2.1 Ohjelman käynnistys.

Ohjelma käynnistetään klikkaamalla friba.jar-ikonia tai antamalla komentoriviltä komento

java -jar friba.jar

Kun ohjelma käynnistyy, tulostuu näyttöön

https://svn.cc.jyu.fi/srv/svn/ohj2k13/olveanle/vaihe2kuvat/alku.png

2.2 Pääikkuna

Kun ohjelma on käynnistynyt on näkyvillä ohjelman pääikkuna:

https://svn.cc.jyu.fi/srv/svn/ohj2k13/olveanle/vaihe2kuvat/paanakyma.png

Pääikkunassa on seuraava menurakenne:

Tiedosto          Muokkaa                 Apua
========          =======                 =====
Tallenna          Lisää uusi tulos        Apua
Avaa...           Poista tulos...         Tietoja...
Tulosta...        Muokkaa aiempaa tulosta
Lopeta

2.2.1 Hakeminen

Pääikkunan vasemmassa reunassa näkyy ratahaku. Tästä voi etsiä eri ratoja. Hakutermi saa löytyä valitusta kentästä mistä kohti vaan. Esimerkiksi jos kirjoitetaan hakuehtoon <tt>s</tt>, niin haetaan kaikki radat joiden nimessä on s jossakin kohti.

Löytyneet radat lajitellaan valitun hakukentän perusteella.

2.2.2 Muokkaaminen

Valittua ratatulosta voidaan muokata menemällä tietoihin oikeaan kohtaan ja kirjoittamalla uusi arvo. Jos tietoon syötetään jotakin mikä ei kelpaa, tulee tästä ilmoitus:

Esim tuloksessa kirjain: a4

tulee ilmoittaa

Kirjoita pelkkiä numeroita!

2.2.3 Tuloksen lisääminen

Kun käyttäjä painaa lisää tulos nappia ilmestyy tämä kuva

https://svn.cc.jyu.fi/srv/svn/ohj2k13/olveanle/vaihe2kuvat/lisaatulos.png

2.2.4 Ratakartan tulostus

Kun käyttäjä painaa päävalikossa tulosta ratakartta, niin aukeaa esim.

https://svn.cc.jyu.fi/srv/svn/ohj2k13/olveanle/vaihe2kuvat/laajavuoritulostus.png

2.3 UML-kaavio

https://svn.cc.jyu.fi/srv/svn/ohj2k13/olveanle/kuvat/UMLkuvapng.png

2.4 CRC-kortit

Rekisteri-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Rekisteri                           | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   |
|                                                    | - Jasenet         |
| - huolehtii Jasenet, Radat, Väylät ja Tulokset     | - Radat           |
|   -luokkien välisestä yhteistyöstä ja välittää     | - Väylät          |
|   näitä tietoja pyydettäessä                       | - Tulokset        |
|                                                    | - Jasen           |
| - lukee ja kirjoittaa luokkien tiedostoihin        | - Rata            |
|    pyytämällä apua avustajiltaan                   | - Väylä           |
|                                                    | - Tulos           |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------

Jasenet-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Jasenet                             | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   | 
|                                                    | - Jasen           | 
| - pitää yllä varsinaista jäsenrekisteriä, eli osaa |                   |
|   lisätä ja poistaa jäsenen                        |                   |
| - lukee ja kirjoittaa jäsenistön tiedostoon        |                   |
| - osaa etsiä ja lajitella                          |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------

Radat-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Radat                               | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   | 
|                                                    | - Rata            |
| - pitää yllä ratarekisteriä, eli osaa              |                   |
|   lisätä ja poistaa radan                          |                   |
| - lukee ja kirjoittaa rata -tiedostoon             |                   |
| - osaa etsiä ja lajitella                          |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------

Väylät-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Väylät                              | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   | 
|                                                    | - Väylä           |
| - pitää yllä väylärekisteriä, eli osaa             |                   |
|   lisätä ja poistaa väylän                         |                   |
| - lukee ja kirjoittaa väylä -tiedostoon            |                   |
| - osaa etsiä ja lajitella                          |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   |
|-------------------------------------------------------------------------

Tulokset-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Tulokset                            | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   | 
|                                                    | - Tulos           |
| - pitää yllä pelaajan tulosrekisteriä, eli osaa    |                   |
|   lisätä ja poistaa tuloksen                       |                   |
| - lukee ja kirjoittaa tulokset -tiedostoon         |                   |
| - osaa etsiä ja lajitella                          |                   |
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   |
|-------------------------------------------------------------------------

Näyttä-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Näyttö                              | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      | - Rekisteri       |
|                                                    |                   |
| - hoitaa kaiken näyttöön tulevan tekstin           |                   |
| - hoitaa kaiken tiedon pyytämisen käyttäjältä      |                   |
| (- ei tiedä rekisterin eikä jäsenen yksityiskohtia)|                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   |
|                                                    |                   | 
|-------------------------------------------------------------------------

Jäsen-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Jasen                               | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   | 
|                                                    |                   |
| (- ei tiedä rekisteristä, eikä käyttöliittymästä)  |                   | 
| - Tietää jäsenen tiedot (nimi, pelattujen          |                   |
|   kierrosten määrä jne.                            |                   |
| - osaa antaa merkkijonona i:n kentän tiedot        |                   |
| - osaa laittaa merkkijonon i:neksi kentäksi        |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden      |                   |
|   (syntaksin)                                      |                   | 
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------

Rata-luokka

|------------------------------------------------------------------------|
| Luokan nimi:   Rata                                | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   |
|                                                    |                   |
| (- ei tiedä rekisteristä, eikä käyttöliittymästä)  |                   |
| - Tietää radan tiedot (nimi, pelattujen            |                   |
|   kierrosten määrä, par jne.                       |                   |
| - osaa antaa merkkijonona i:n kentän tiedot        |                   |
| - osaa muuttaa merkkijonon |3,4,5,6,...,60,2000|   |                   |
|   i:n radan tiedoiksi                              |                   |
| - osaa laittaa merkkijonon i:neksi kentäksi        |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden      |                   |
|   (syntaksin)                                      |                   | 
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------
|------------------------------------------------------------------------|
| Luokan nimi:   Tulos                               | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   |
|                                                    |                   |
| (- ei tiedä rekisteristä, eikä käyttöliittymästä)  |                   |
| - Tietää tulostiedot (nimi, pelattujen             |                   |
|   kierrosten määrä, par jne.                       |                   |
| - osaa antaa merkkijonona i:n kentän tiedot        |                   |
| - osaa muuttaa merkkijonon |3,4,5,6,...,6|         |                   |
|   i:n tuloksen tiedoiksi                           |                   |
| - osaa laittaa merkkijonon i:neksi kentäksi        |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden      |                   |
|   (syntaksin)                                      |                   | 
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------
|------------------------------------------------------------------------|
| Luokan nimi:   Väylä                               | Avustajat:        |
|-------------------------------------------------------------------------
| Vastuualueet:                                      |                   |
|                                                    |                   |
| (- ei tiedä rekisteristä, eikä käyttöliittymästä)  |                   |
| - Tietää väylätiedot (par, pituus, rata            |                   |
| - osaa antaa merkkijonona i:n kentän tiedot        |                   |
| - osaa laittaa merkkijonon i:neksi kentäksi        |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden      |                   |
|   (syntaksin)                                      |                   | 
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   | 
|                                                    |                   | 
|                                                    |                   | 
|-------------------------------------------------------------------------