Ohjelmistotuotanto, k2002, harjoitus 6

 
  1. Jatkamme edelleen toimintopistetyökalun kehittelyä. Harjoitusten 5 luokkakaavio (jpeg muodossa ja Plastic Lite ohjelman pla-muodossa, jonka voit ottaa työskentely pohjaksi) sekä käyttötapausluettelo ilmestyvät kurssin harjoitussivulle ennen viikonloppua. Hahmottele työkalun käyttöliittymä. Millaisia käyttöliittymäluokkia tarvitaan?

  2. Mieti ratkaisuvaihtoehtoja työkalussa säilytettävän tiedon käsittelyyn. Tuleeko tästä lisäluokkia. Millaisia?

  3. (2 pistettä) Ota tarkasteluun pari käyttötapaa, vaikkapa 'tiedoston merkkaus' ja 'tiedoston luokituksen analysointi' (tai vastaavat). Täydennä luokkakaaviota näiden käyttötapausten vaatimilla palveluilla ja laadi käyttötapauksiin liittyvät olioyhteistyötä kuvaavat sekvenssikaaviot, joista selviää miten noita lisättyjä palveluita käytetään. Täydennä kaaviotasi edelleen lisäämällä sinne joitain ilmeisiä muiden kayttötapaojen yhteydessä tarvittavia metodeja.

  4. Ohjelmalla on seuraava tehtävä. Käyttäjä antaa syötteenä tiedostonimen ja rivinpituuden. Tiedosto sisältää mielivaltaisen pituista tekstiä. Ohjelma tulostaa tiedoston sisällön sillä tavalla, että tulostettavien rivien pituudet ovat mahdollisimman lähellä annettua rivinpituutta menemättä kuitenkaan yli siitä. Rivin voi katkaista sananvälin kohdalta. Rivejä ei tarvitse tasata. Laadi tälle ohjelmalle suunnittelutason luokkakaavio (metodit mukana). Pyri toiminnallisesti yhtenäisiin metodeihin.

  5. Kerrosrakenteessa ylemmän kerroksen oliot (moduulit) normaalisti kutsuvat alemman kerroksen olioiden palveluja. Alempi kerros tehdään ennen ylempää. Joskus on kuitenkin välttämätöntä mahdollistaa se, että alemmasta kerroksesta kutsutaan ylemmässä kerroksessa määriteltyä toimintoa. Tästä käytetään nimitystä takaisinkutsu (callback). Selvitä miten tämä on tehtävissä Java-ohjelmointikielellä. Laadi pieni esimerkki.


Harri Laine, 19.2.2002