Päivi Ovaska Tutkijaopettaja LTY/Tite Ohjelmistotuotannon menetelmät Syksy 2003 Rakenteinen määrittely- Structured Analysis Päivi Ovaska Tutkijaopettaja LTY/Tite
Sisältö Rakenteinen määrittely osana ohjelmistokehitystä Rakenteisen määrittelyn osat Määrittelyn kulku Mallinnusvuo Liittymäkaaviot Tietovuokaaviot Tapahtumalista Esimerkki ympäristömallista Jatkuu seuraavilla luennoilla … Hyviä tenttikysymyksiä jatkuu…
Määrittelyn asemointi asiakasvaatimukset Oliopohjainen Rakenteinen Määrittely Suunnittelu& toteutus ohjelmistovaatimukset
Rakenteinen määrittely
Määrittelyn kulku mallina tiedot (data-objektit) mallinna toiminnot määrittele data-objektit kuvaile data-objektien attribuutit määrittele objektien suhteet mallinna toiminnot tunnista toiminnot jotka muuttavat data-objekteja kuvaa miten tieto virtaa järjestelmässä kuvaa tiedon tuottajat ja käyttäjät mallinna käyttäytyminen tunnista järjestelmän eri tilat kuvaa mitkä tapahtumat aikaansaavat tilasiirtymät
Mallinnusvuo - toteutuksen rajaaminen SADT-mallinnus Ydinmalli - järjestelmän tavoitteet - liittymäkaavio - tapahtumalista Ympäristömalli - tietovuokaaviot, minispeksit - käsitekaaviot - tilakaaviot - tietohakemisto Käyttäytymismalli Toteutusmalli - toteutuksen rajaaminen - käyttöliittymä - kaavioiden muokkaaminen toteutuskelpoisiksi - ei-toiminnaliset ominaisuudet - toteutukseen liittyvät virhetilanteet
Menetelmän komponentit
Tietovuokaaviossa (DFD) käytetyt symbolit
Tietovuokaavioiden hierarkia Ylimmällä tasolla järjestelmän toiminta kuvataan ns. liittymäkaaviolla (context diagram, yhteyskaavio, ympäristökaavio) terminaattorit ja koko järjestelmä yhtenä transformaationa Järjestelmätransformaatio kuvataan tarkemmin tason 1 tietovuokaaviolla, sen transformaatiot edelleen tason 2 tietovuokaaviolla, jne. Pilkkominen alikaavioihin lopetetaan, kun transformaation on niin yksinkertainen, että sen toiminta voidaan kuvata minispesifikaatiolla (pseudokoodi, strukturoitu kulkukaavio, työnkulkukaavio)
Hierarkia, liittymäkaavio
Hierarkian toinen taso Alimman tason transformaatiot merkitään tähdellä
Hierarkian kolmatta tasoa
Esimerkki KURREK-järjestelmä sisältää kuvaukset opintojaksoista, opettajista ja opintosuorituksista. Järjestelmä tuottaa kurssien osallistujalistoja, tenttien tuloslistoja ja opintosuoritusrekisteriotteita. Opettajat kirjaavat järjestelmän avulla opintosuoritukset rekisteriin. Opiskelijat pystyvät ilmoittautumaan kursseille ja tutkimaan omia suoritustietojaan.
Liittymäkaavio KURREK-järjestelmästä
Tapahtumalista 1) Ylläpitäjä päivittää opiskelijan tietoja (lisäys, poisto muutos). 2) Ylläpitäjä päivittää opintojakson tietoja. 3) Ylläpitäjä päivittää opettajan tietoja. 4) Opiskelija ilmoittautuu kurssille. 5) Opiskelija ilmoittautuu tenttiin. 6) Opiskelija osallistuu tenttiin. 7) Opettaja pyytää kurssin osallistujalistan. 8) Opettaja pyytää tentin osallistujalistan. 9) Opettaja kirjaa opintosuorituksen. 10) Opiskelija pyytää opintorekisteriotteen. 11) Laitoksen johtaja saa opintoviikkoyhteenvedon.
Käyttäytymismalli Sen laatimisesta myöhemmin …
UML vs. SA Liittymäkaavio vs. käyttötapauskaavio. Tapahtumalista vs. käyttötapaus Rakenteiset menetelmät perustuvat toiminnan ja tiedon hierarkkiseen pilkkomiseen (functional decomposition) Oliopohjaiset eivät (miksi?) UML oliopohjaiseen mallintamiseen SA proseduraaliseen mallintamiseen sekä reaaliaikajärjestelmien mallintamiseen Jatkuu …
Hyviä tenttikysymyksiä Rakenteisen määrittelyn kulku ja mallinnus eri tasoilla. Anna esimerkkejä. Miten rakenteinen määrittely eroaa oliopohjaisesta määrittelystä? Perustele vastauksesi tähän tulee lisää