Tietojärjestelmät ja Systeemisuunnittelu 2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi e-mail: tapi@iki.fi 1
Unified Modelling Language 2 / 2
Oliokaavio Oliokaaviolla kuvataan järjestelmän staattista tilaa jollain tietyillä olion ominaisuuksilla Oliokaaviot ovat kuvaustavaltaan vastaavia luokkakaavioiden kanssa Oliokaavioita voidaan hyödyntää prototyypitysvaiheessa pöytätestauksen työvälineenä
Oliokaavion mallinnus Tunnista ne ilmiöt tai järjestelmän osat jotka haluat kuvata Tunnista luokat, rajapinnat ja muut elementit jotka osallistuvat ilmiöön sen kuluessa Luo käyttötapaus, joka toteuttaa ilmiön, ja mallinna oliot jotka osallistuvat sen toteutukseen Kuvaa muuttujat ja olioiden sisäinen tila niiltä osin kuin sillä on merkitystä ilmiön ymmärtämisen kannalta Kuvaa myös olioiden väliset yhteydet jotka luodaan ilmiön kuluessa
Oliokaavio - esimerkki
Vihjeitä oliokaavion suunnitteluun Hyvin suunniteltu oliokaavio Kuvaa staattisen näkymän järjestelmän tilasta annetuilla reunaehdoilla Kuvaa yhden jäädytetyn vaiheen viestikaavion kontrollin etenemisestä Sisältää ainoastaan ilmiön ymmärtämisen kannalta välttämättömät elementit
Sekvenssikaavio Kuvaa kontrollin etenemistä järjestelmässä oliolta toiselle Kontrollin eteneminen kuvataan aika-akselilla Sekvenssikaavio kuvaa järjestelmän toiminnan joukkona synkronisia kysely-vastauspareja
Sekvenssikaavio - elementit Olio kuvataan laatikolla ja siitä lähtevällä pystyviivalla Olioiden välinen viesti kuvataan nuolella kahden olion välillä Olion itselleen välittämät viestit kuvataan nuolena takaisin samaan olioon
Sekvenssikaavio - kehittyneet kontrollirakenteet Toistorakenne viestinvälityksessä kuvataan lisäämällä tähti (*) viestin eteen Ehdolliset viestit kuvataan hakasulkujen ([]) sisällä olevina ehtolauseina
Sekvenssikaavio - Miten luetaan Kontrolli etenee vasemmalta oikealle Tapahtumaketjun aloittaja (Toimija käyttötapauskaaviossa) on äärimmäinen olio vasemmalla Kaavio kuvaa kontrollin etenemistä aikajärjestyksessä ylhäältä alas Olioiden esittämisjärjestys sekvenssikaaviossa voidaan valita siten, että kaaviosta saadaan kuvausteknisesti mahdollisimman selkeä
Sekvenssikaavio - suunnitteluperiaatteet Kuvaus lähtee aina liikkeelle käyttötapauskaavion käyttötapauksesta Tunnistetaan oliot jotka osallistuvat kontrollin etenemiseen kyseisessä käyttötapauksessa Kuvataan olioiden väliset viestit aikajärjestyksessä ylhäältä alas
Sekvenssikaavio - esimerkki (Lähtökohta - käyttötapaus)
Sekvenssikaavio - esimerkki (Lähtökohta - luokkakaavio)
Esimerkki - ensimmäinen vaihe
Esimerkki - Parametrit viesteihin
Esimerkki - Luokkakaavio sekvenssin läpikäynnin jälkeen
Esimerkki - Mitä saatiin Kontrollin etenemisjärjestys Tapahtumaketjuun osallistuvat luokat ja operaatiot Parametrit kullekin operaatiolle
Vuorovaikutusdiagrammi Kuvaa asynkronisesti kontrollin etenemisen järjestelmässä Yhdistelmä oliokaaviota ja sekvenssidiagrammia Kuvaa viestit numeroituina nuolina olioiden välillä.
Vuorovaikutusdiagrammi
Tilakaavio Kuvaa järjestelmän rajattuun osaan liittyvät tilat ja mahdolliset tilasiirtymät näden välillä Kuvaa järjestelmän dynaamista käyttäytymistä - eli miten eri sisäisissä tiloissa voidaan toimia Käytännöllinen työkalu esimerkiksi käyttöliittymien kuvaukseen
Tilasiirtymäkaavio - peruselementit ( 1 / 2) Alkutila kuvataan mustalla pallolla Lopputila kuvataan kehystetyllä mustalla pallolla Tila kuvataan kulmistaan pyöristetyllä suorakaiteella Tilasiirtymä kahden eri tilan välillä kuvataan nuolella
Tilasiirtymäkaavio - esimerkki (Faxin toiminta)
Tilasiirtymäkaavion suunnittelu Valitse kuvattava kohde (käyttötapaus, luokka, järjestelmän osa) Kuvaa alku- ja lopputilat sekä niihin liittyvät reunaehdot Kuvaa ne tilat joissa kuvattava järjestelmän osa voi olla elinkaarensa aikana Kuvaa tilasiirtymät näiden tilojen välillä sekä reunaehdot tilasiirtymille Varmista suunnitelman eheys, sekä se, ettei yksikään tila johda umpikujaan
Esimerkki - Tilasiirtymäkaavio käyttöliittymän mallinnuksessa
Aktiviteettikaavio Laajennus tilakaaviosta Kuvaa myös kuhunkin tilaan liittyvät mahdolliset operaatiot sekä ehdolliset tilasiirtymät Mahdollistaa tilasiirtymäkaavoita tarkemman kuvauksen
Aktiviteettikaavio - Elementit Aktiviteetilla kuvataan operaatiota joka on mahdollinen tietyssä tilassa Päätöskohtaa eri aktiviteettien välillä kuvataan vinokaiteella
Aktiviteettikaavio - esimerkki
Komponenttikaavio Komponenttikaaviolla kuvataan järjestelmän staattista rakennetta makrotasolla Mahdollistaa loogisesti samaan aiheeseen kuuluvien luokkien yhdistämisen samaan kokonaisuuteen Komponenttikaavio kuvaa pikemmin järjestelmän ajonaikaista rakennetta kuin suunnitteluvaiheen loogista rakennetta Komponenttikaavion avulla pystytään kuvaamaan myös koko järjestelmäversion rakenne
Komponenttikaavio - elementit (1 / 2) Paketti kuvaa kokonaisen järjestelmänosan Komponentti kuvaa järjestelmäkokonaisuuden joka tarjoaa rajapinnan joko ulkoisille järjestelmille tai muille järjestelmän osille
Komponenttikaavio - elementit (2 / 2) Pakkauksen kuvaus pitää sisällään suunnitelmat ja dokumentaation ko. järjestelmänosan rakenteesta
Ajonaikaiskaavio Kuvaa järjestelmän fyysisen rakenteen ajon aikana. Jakaa järjestelmän prosessoreihin, laitteisiin ja prosesseihin
Ajonaikaiskaavio - Peruselementit Prosessori kuvaa yhden järjestelmän prosessointielementin Laite kuvaa fyysisen komponentin jolla järjestelmä on liitetty ulkoisiin järjestelmiin.
Ajonaikaiskaavio - Esimerkki