Johdatus sovellussuunnitteluun, syksy 2002, harjoitus 4 (25.11.- 39.11.)

1. Viime viikon pizzapalvelun luokkakaaviossa (tehtävä 3.5) ei (ainakaan esimerkkiratkaisussa) tarkasteltu lainkaan pizzojen toimitukseen liittyvää tietosisältöä eikä myöskään pizzaleipurin käyttötapauksia. Täydennä luokkakaaviota laatimalla aluksi käyttötapauskohtaiset attribuuttitason luokkakaaviot pizzaleipurin käyttötapauksista

sekä jakelupäällikön käyttötapauksesta ja lähetin käyttötapauksesta

2. Yhdistä tehtävän 1 luokkakaaviot viime viikon tehtävän 5 kaavioon. Kaavio tulee tarjolle Plastic Liten pla-muodossa harjoitusten 3 ratkaisujen yhteydessä perjantaina.

3. Laadi riippuvuusmatriisi, joka kuvaa pizzapalvelun käyttötapausten ja tehtävän 2 luokkakaavion välisistä riippuvuuksista. Etsi riippuvuusmatriisin avulla puutteita käyttötapauksista ja tietosisällössä.

4. Liitteenä on pätkä korttipeliohjelmasta. Muodosta ohjelman perusteella sen rakennetta kuvaava luokkakaavio. (Tällaisesta toiminnasta käytetään nimitystä reverse engineering. Tavanomaisessa järjestelmän kehittämisessä edetään kaaviosta koodiin).
(Vinkki: Käsittele interface kuten class. Attribuutit ovat olioarvoisia, jos niiden tyyppi on jokin muu kuin Javan perustietotyyppi. Olioarvoiset attribuutit String tyyppiä lukuunottamatta kuvataan yhteyksinä. )

5. Edellisen tehtävän ohjelmaesimerkkiin liittyen laadi palveluun CardGame.round sisältyvää olioyhteistyötä kuvaava sekvenssikaavio. Voit olettaa, että pelaajia on kaksi.


Harri Laine 2002