1
TIETOVIRTAKAAVIOTTIETOVIRTAKAAVIOT
Dataflow diagramsDataflow diagrams
DFD-kaaviotDFD-kaaviot
TietovuokaaviotTietovuokaaviot
2
TietovirtakaavioistaTietovirtakaavioista
Tietovirtakaavio kuvaa mallinnettavassakohteessa tehtäviä toimintoja (prosesseja),
toimintojen suorituksessa käsiteltävien tietojenvirtausta, tietojen talletukseen käytettäviätietovarastoja ja mallinnettavan järjestelmänulkopuolella, mutta sen kanssavuorovaikutuksessa olevia ulkoisia olioita.
Mallintamisen tavoitteena on looginen kuvausongelma-alueesta, sen toiminnoista jatoimintojen yhteydessä käsiteltävistä tiedoista.
3
Analysoitaessa järjestelmää tulee tunnistaaulkoiset tiedon lähteet ja kohteet, tietovarastot,tietovirrat ja järjestelmän toiminnot.
Käyttämällä symboleja voidaan piirtääkaaviokuvia järjestelmästä ilman, että ilmaistaanvielä tapaa, jolla analyysin kohteena olevajärjestelmä on toteutettu tai jolla suunnittelunkohteena oleva järjestelmä tullaan toteuttamaan.
Looginen tietovirtakaavio auttaa ymmärtämäänolemassa olevaa toimintakokonaisuutta jasuunnittelemaan uusia toimintatapoja.
4
Käytettävät symbolitKäytettävät symbolit
Tietovirtakaaviossa käytetään ainoastaanneljää erilaista symbolia, joiden esitysmuotovaihtelee hieman eri kirjallisuuslähteissä.
ympyrä
(tai
pyöristetty
neliö)
Prosessi, joka muuttaa tietovirtojen sisältöä,syötteen tulosteeksi
Tietovirta
Ulkoinen olio,terminaattori
Tietovarasto
5
Prosessi voi olla esimerkiksi pankkisiirtolomakettakäyttäen tehtävä laskun maksaminentietokoneohjelmalla.
Tietovirta voi fyysisesti kulkea kirjeen tai laskunmuodossa, puhelinsoittona, ohjelmistosta ohjelmistoonjne. Tietovirran nimen tulee kuvata virrassa liikkuvaatieto. Tietovirran tarkempi sisältö kuvataantietohakemistossa.
Tietovarasto voi olla mikrofilmi, arkisto, paperipinopöydällä, tiedosto cd:llä tai levyasemalla,asiakasrekisteri jne.
Ulkoinen olio/ ulkoinen kohde voi olla esimerkiksiasiakas, verotoimisto tai tuotanto-osasto riippuen siitäminkälaisten järjestelmän ulkopuolella olevienkohteiden kanssa järjestelmä on vuorovaikutuksessa.
Kuvaus on joka tapauksessa aina fyysisestätoteutuksesta riippumaton, looginen kuvaus.
6
Käsittely
Tilaus
Toimitus
Pese auto
Työvälineet
Pesty ja kiillotettu auto
Pesuaineet ja vaha
Vesi
Auto ennen pesua
7
ProsessiProsessi
Tietovirtakaavioissa prosessilla tarkoitetaan tarkastelunkohteena olevan järjestelmän toimenpidettä, joko koneen taiihmisen suorittamaa.
Prosessiin liittyy yleensä sekä tulevia (syötteitä) että lähteviätietovirtoja.
Prosessi muuntaa tulevien tietovirtojen sisällön lähteviksitietovirroiksi joko muuttamalla syötteenä saamaansa dataa taigeneroimalla siitä uutta informaatiota.
Prosessisymboli sisältää tunnisteen ja toiminnon kuvauksen:
Tunniste on prosessin numero. Yleensä prosessit onnumeroitu juoksevasti ykkösestä alkaen läpi tietovirtakaavionvasemmalta oikealle. Tarkennettaessa prosessia alemmantason kaavioiksi, sen sisältämät aliprosessit numeroidaan siten,että esimerkiksi prosessi 3 koostuu aliprosesseista 3.1, 3.2, 3.3jne.
Toiminnon kuvaus sisältää prosessin nimen, joka on yleensäkäskymuodossa oleva mahdollisimman yksinkertainen kuvausprosessin tarkoituksesta, esim. ‘Kirjaa opintosuorite’.
8
TietovarastoTietovarasto
Tietovirtakaaviossa ei sitouduta mihinkään fyysiseentoteutukseen, joten tietovarastolla ei tarkoiteta fyysistäpaikkaa tai tiedostoa.
Tietovarasto onkin tässä yhteydessä looginen käsite,johon prosessit voivat tallentaa tietoa tai josta ne voivatsitä hakea.
Tietovarasto voidaan nimetä esimerkiksi nimelläASIAKASTIEDOT tai TILAUSTIEDOT, jollointietovaraston nimestä voidaan päätellä sen sisältämäntiedon tyyppi.
Tällöin ei oteta kantaa siihen, miten esim.asiakastietojen säilytys on fyysisesti järjestetty, ovatkotiedot kortistossa vai levyllä sijaitsevassa tiedostossatai minkälaisista tietueista asiakastiedot koostuvat.
9
Ulkoinen olio, terminaattoriUlkoinen olio, terminaattori
Ulkoisella oliolla tarkoitetaan tarkasteltavan järjestelmänulkopuolelta löytyviä tai sinne rajattavia asioita tai ihmisiä,kuten asiakas, työntekijä, toimittaja, verovirasto,laskentaosasto.
Ulkoisia olioita kutsutaan tarkasteltavan järjestelmänsuhteen nimellä tiedon lähde tai kohde. Lähde ja kohdetarkoittavat sitä, että tietovirran alkaessa ulkoisesta oliosta,tätä ulkoista oliota kutsutaan lähteeksi. Vastaavastitietovirran päättyessä ulkoiseen olioon, kyseistä oliotakutsutaan kohteeksi.
Koska ulkoisten olioiden toiminta ei ole järjestelmänsuunnittelijan päätettävissä, se voidaan ainoastaan olettaa(esim. että verovirasto lähettää tiettyjä verotukseen liittyviätietoja syötteeksi kuvattavalle järjestelmälle).
Ainoastaan tarvittavat yhteydet ulkoisten olioiden jajärjestelmän välillä voidaan kuvata.
10
TietovirtaTietovirta
Tietovirrat ovat suunnattuja yhteyksiä tietovirtakaavionkomponenttien välillä.
Tietovirralla tarkoitetaan tiedon siirtymistä ulkoistenolioiden, prosessien ja tietovarastojen välillä.
Tietovirta ei kuitenkaan ilmaise millaisessa fyysisessäolomuodossa tiedon siirtyminen tapahtuu, vaanainoastaan mitä tietoa kyseisessä tietovirrassa siirtyy.
Kun prosessi tallettaa tietoa tietovarastoon, tietovirrannuoli on prosessista varastoon ja se on nimettytalletettavan tiedon mukaisesti.
Kun tietovarastosta luetaan tietoa prosessiin, nuoli onpäinvastaiseen suuntaan osoittava ja nimetty sentietoryhmän mukaan, joka palautetaan varastosta (esim.tietue).
Tietovirran ollessa kaksisuuntainen sitä voidaan kuvatakaksipäisellä nuolella.
11
TietovirtaTietovirta
Tietovirtoja ei voida mallintaa ulkoisten olioidenvälille suoraan, koska näiden olioiden toiminta eiole järjestelmän suunnittelijan päätettävissä.
Tietovirtoja ei voida myöskään mallintaatietovarastojen välille, koska ne ovat ns.passiivisia komponentteja, joiden sisältämäätietoa käsitellään prosessien avulla.
Näin ollen tietovuokaaviossa voi esiintyätietovirtoja ainoastaan prosessien välillä,prosessien ja tietovarastojen välillä sekäprosessien ja ulkoisten olioiden välillä.
12
1 Tilauksen
vastaanotto
3 Laskutus
2 Toimituksen
kokoaminen
Asiakas
toimitettavat
tilaukset
laskutustiedot
toimitus
tilaus
maksusuoritus
karhu
lasku
Kuva 0
13
Järjestelmän kuvaaminen tietovirtakaavioillaJärjestelmän kuvaaminen tietovirtakaavioilla
Korkeimmalla tasolla (kaikkein yksinkertaistetuin kuvaus)piirrettävää tietovirtakaaviota kutsutaan konteksti- tailiittymäkaavioksi.
Ylimmän tason tietovirtakaavio sisältää järjestelmänpääprosessit numeroituina ykkösestä alkaen.
Suunnittelija muodostaa nämä pääprosessit siten, että neesittävät keskeiset järjestelmän toiminnot ja näidenprosessien liittymisen ulkoisiin olioihin.
Jokainen prosesseista voidaan tarkentaa hierarkkisestialemman tason yksityiskohtaisemmiksi tietovirtakaavioksitop-down -tyyppisesti.
Tarkennus lopetetaan, kun on päästy riittävänyksinkertaiselle tasolle, jolloin prosessissa suoritettavantoimenpiteen sisältö on selvä ja on helpostiohjelmoitavissa.
14
Kuinka monta tasoa tarvitaan?Kuinka monta tasoa tarvitaan?
Yhdessä tietovirtakaaviossa ei tulisi ollaenempää kuin 5-9 prosessia tietovarastoineen,ulkoisine kohteineen ja tietovirtoineen.
Jos esim. alimman tason kaaviossa on vielä 50prosessia, on ainakin yksi taso vielä lisättävä.
Yksinkertaisissa järjestelmissä on yleensä 2-4tasoa, keskisuurissa 3-6 ja monimutkaisissa 5-8tasoa.
Järjestelmän kaikkia osia ei kuitenkaan tarvitseosittaa samalle tasolle saakka.Järjestelmän kaikkia osia ei kuitenkaan tarvitseosittaa samalle tasolle saakka.
15
Piirtäessäsi tietovirtakaavioitaPiirtäessäsi tietovirtakaavioita
1. Tunnista ulkoiset oliot määrittämällä kuvattavanjärjestelmän rajat. Lähde liikkeelle vetämällä raja niidentoimenpiteiden kohdalle, jotka tulevat suoritettavaksitietojärjestelmän tukemana.
2. Tunnista prosesseihin menevät syötteet ja niiden tulokset.Muista, että tietovirta syntyy aina, kun järjestelmänulkopuolella tapahtuu jotakin, joka liittyy järjestelmään.
3. Tunnista mahdollisesti esiintyvät järjestelmään kohdistuvattietokyselyt ja tietotarpeisiin liittyvät vaatimukset.
4. Tee kaavio isolle paperille (tai käytä sopivaa ohjelmistoa)ja aloita vasemmasta reunasta piirtämällä ulkoinen olio,joka näyttäisi olevan järjestelmän syötteiden päälähde(esim. asiakas). Piirrä syntyvät tietovirrat, loogisestitarpeelliset prosessit ja tarvittavat tietovarastot. Kiinnitähuomio prosessien loogiseen järjestykseen. Piirrämieluiten järjestelmä, jonka prosesseilla ei ole alkua ja jokaei pääty. Numeroi prosessit vasta lopullisessa versiossa.
16
5. Ensimmäisessä versiossa keskity saamaan ylös kaikkitarvittava. Tarkista listasta, että kaikki syötteet ja tuloksetovat mukana.
6. Hyväksy se, että joudut piirtämään useampia versioitaylemmän tason tietovirtakaavioista, ennen kuin luonnosalkaa näyttää järkevältä ja selkeältä.
7. Kun kokonaisuus on looginen, muokkaa kaaviostasellainen, jossa tietty prosessi esiintyy vain kerran.Minimoi risteytyvät tietovirrat. Tarkista vielä loogisuus jokoottamalla itse käyttäjän näkökulma tilanteeseen ja"läpikävelemällä" luonnos. Pyri ymmärtämään käyttäjän(tai useamman) työtilanteeseen liittyviä asioita jatapahtumia.
8. Tee alemman tason tarkennetut kaaviot jokaisestamääritellystä prosessista.
9. Viimeistele kaaviot ja tee niistä selkeitä, jotta niitä voivatkäyttää muutkin, kuten järjestelmän käyttäjät, toisetsuunnittelijat, laadunvalvojat, ylläpitäjät, yms.
17
Yleisiä sääntöjäYleisiä sääntöjä
Piirtäessäsi tietovirtakaavioita muista seuraavat säännöt:
Olemme kiinnostuneita tarkasteltavan (osa)järjestelmän toiminnasta,joten ulkoisten olioiden välille ei piirretä tietovirtoja.
Ulkoisesta oliosta ei piirretä tietovirtaa suoraan järjestelmänsisältämään tietovarastoon, vaan tässä välissä täytyy aina olla jokinprosessi.
Tietovarastojen välillä ei voi olla tietovirtoja, välissä on aina jokinprosessi.
Jos tietovarastoon menee jotain, sieltä täytyy myös tulla jotain japäinvastoin.
Jos jotakin tietovarastoa käyttää vain tietty prosessi, tietovarastokuuluu prosessin sisälle. Tätä tietovarastoa ei siten yleensä piirretänäkyviin ylemmän tason kaavioihin. Näin kaaviot pysyvät selkeinä.
Muista tiedon häviämättömyyden laki:
prosessi voi tuottaa vain sellaista tietoa, joka sille on syötetty jokosellaisenaan tai muokattuna
mikä tulee ulos tietovarastosta, on sinne joskus tallennettu.
18
Kerrostetut tietovirtakaaviot,esimerkki 1Kerrostetut tietovirtakaaviot,esimerkki 1
SYSTEEMI
Kontekstikaavio
A
B
C
Oikein piirretyt kerrostetut tietovirtakaaviot ovat tasapainoisia
19
Systeemi
Kuva 0
1
4
3
2
A
B
C
X
Y
Z
20
Kuva 3
3.1
3.3
3.2
3.4
X
Y
Z
21
1 Tilauksen
vastaanotto
3 Laskutus
2 Toimituksen
kokoaminen
Asiakas
toimitettavat
tilaukset
laskutustiedot
toimitus
tilaus
maksusuoritus
karhu
lasku
Kuva 0
22
Kuva 3
Asiakas
laskutustiedot
3.3 Karhulaskun
kirjoitus ja
lähetys
maksusuoritus
karhu
lasku
3.2 Erääntyneiden
laskujen
tarkistusajo
3.1 Laskun
kirjoitus ja
lähetys
3.4 Saapuneen
suorituksen
kirjaus
23
Synkronoitujen prosessien välissä ei tarvitatietovarastoa.Synkronoitujen prosessien välissä ei tarvitatietovarastoa.
Ylimmän tason kuvat ymmärretään synkronoiduiksi.Ylimmän tason kuvat ymmärretään synkronoiduiksi.
Kaksi prosessia voidaan liittää suoraan toisiinsa,mutta jos prosessi ei pysty vastaanottamaan tietoajatkuvana virtana, tarvitaan tietovarasto.Kaksi prosessia voidaan liittää suoraan toisiinsa,mutta jos prosessi ei pysty vastaanottamaan tietoajatkuvana virtana, tarvitaan tietovarasto.
24
Tietovarastojen tarveTietovarastojen tarve
1.Kirjeen
kirjoitus
/tulostus
3. Postitus
2. Kuoren
kirjoitus
2. Kuoren
kirjoitus
1. Kirjeen
kirjoitus
/tulostus
3. Postitus
Lähtevät-laatikko
Kirjoitan ja postitan yhdenkirjeen ystävälleni
Firma postittaa 200 asiakaskirjettä
25
Prosessikuvaukset (process specification)Prosessikuvaukset (process specification)
Prosessikuvaukset kuvaavat tietovirtakaaviossaesitettyjen alimman tason prosessien toiminnanyksityiskohtaisestiProsessikuvaukset kuvaavat tietovirtakaaviossaesitettyjen alimman tason prosessien toiminnanyksityiskohtaisesti
Kuvauksessa voidaan käyttää eri kuvausmenetelmiä:Kuvauksessa voidaan käyttää eri kuvausmenetelmiä:
normaalia tekstiänormaalia tekstiä
pseudokieltäpseudokieltä
päätöstauluja tai -puitapäätöstauluja tai -puita
vuokaavioita jne.vuokaavioita jne.
Kuvauksien pitäisi olla lyhyitä, yksi prosessi max. yksi A4Kuvauksien pitäisi olla lyhyitä, yksi prosessi max. yksi A4
Jos kuvaus ei mahdu yhdelle sivulle, tulisi vaihtaakuvausmenetelmää tai palata takaisin tietovirtakaavionosittamiseen (ja lisätä vielä yksi taso siihen eli osittaa ko.prosessi)Jos kuvaus ei mahdu yhdelle sivulle, tulisi vaihtaakuvausmenetelmää tai palata takaisin tietovirtakaavionosittamiseen (ja lisätä vielä yksi taso siihen eli osittaa ko.prosessi)
26
ProsessikuvauksetProsessikuvaukset
Prosessikuvauksia laadittaessa huomataan yleensähelposti, jos tietovirtakaavion laadinnassa on tehtyvirheitä tai kaaviosta puuttuu jotakin.Prosessikuvauksia laadittaessa huomataan yleensähelposti, jos tietovirtakaavion laadinnassa on tehtyvirheitä tai kaaviosta puuttuu jotakin.
Esimerkki prosessikuvauksesta:Esimerkki prosessikuvauksesta:
DO CASEDO CASE
CASE ASIAKKAAN IKÄ<12CASE ASIAKKAAN IKÄ<12
LASKUTUSKERROIN=’LAPSI’LASKUTUSKERROIN=’LAPSI’
CASE ASIAKKAAN IKÄ >11 JA IKÄ<20CASE ASIAKKAAN IKÄ >11 JA IKÄ<20
LASKUTUSKERROIN=’NUORI’LASKUTUSKERROIN=’NUORI’
CASE ASIAKKAAN IKÄ >19 JA IKÄ<65CASE ASIAKKAAN IKÄ >19 JA IKÄ<65
LASKUTUSKERROIN=’AIKUINEN’LASKUTUSKERROIN=’AIKUINEN’
OTHERWISEOTHERWISE
LASKUTUSKERROIN=’ELÄKELÄINEN’LASKUTUSKERROIN=’ELÄKELÄINEN’
ENDCASEENDCASE
27
Prosessikuvaukset/PäätöstauluProsessikuvaukset/Päätöstaulu
11
22
33
44
55
66
77
88
Ikä >21Ikä >21
YY
YY
YY
YY
NN
NN
NN
NN
SukupuoliSukupuoli
MM
MM
NN
NN
MM
MM
NN
NN
Paino 65 kgPaino 65 kg
KK
EE
KK
EE
KK
EE
KK
EE
Lääkitys 1Lääkitys 1
XX
XX
XX
Lääkitys 2Lääkitys 2
XX
Lääkitys 3Lääkitys 3
XX
XX
Ei lääkitystäEi lääkitystä
XX
XX
28
Prosessikuvaukset/PäätöspuuProsessikuvaukset/Päätöspuu
29
Harjoituksia:Harjoituksia:
1. a) Tee kontekstikaavio radion toivekonsertista.1. a) Tee kontekstikaavio radion toivekonsertista.
b) Tee ylimmän tason tietovirtakaavio.b) Tee ylimmän tason tietovirtakaavio.
c) Tarkenna ainakin yhden prosessin kuvaus seuraavalle tasolle.c) Tarkenna ainakin yhden prosessin kuvaus seuraavalle tasolle.
Oletetaan, että radiolähetyksessä ei haastatella toiveiden tekijöitä,vaan ainoastaan soitetaan kirjattuja toiveita.Oletetaan, että radiolähetyksessä ei haastatella toiveiden tekijöitä,vaan ainoastaan soitetaan kirjattuja toiveita.
 2. Tee päätöspuu: 2. Tee päätöspuu:
Pankki myöntää asuntolainoja ja kulutusluottoja siten, että josasiakas on säästänyt 15 tarvitsemastaan rahasummasta(omarahoitusosuus), hän saa lainan alemmalla korolla kuin se,jolla ei omasäästöosuutta ole.Pankki myöntää asuntolainoja ja kulutusluottoja siten, että josasiakas on säästänyt 15 tarvitsemastaan rahasummasta(omarahoitusosuus), hän saa lainan alemmalla korolla kuin se,jolla ei omasäästöosuutta ole.
Asiakkuuden kesto vaikuttaa; vanhat asiakkaat saavat lainan,jonka korko on alempi kuin uusilla asiakkailla.Asiakkuuden kesto vaikuttaa; vanhat asiakkaat saavat lainan,jonka korko on alempi kuin uusilla asiakkailla.
Asuntolainaa ilman omarahoitusosuutta ei uusille asiakkaillemyönnetä, kulutusluotto kylläkin.Asuntolainaa ilman omarahoitusosuutta ei uusille asiakkaillemyönnetä, kulutusluotto kylläkin.
Asuntolainojen korko ilman omasäästöosuutta on vanhoilleasiakkaille 7%, joka on sama kuin korko uusille asiakkaille, joilla onomasäästöosuus.Asuntolainojen korko ilman omasäästöosuutta on vanhoilleasiakkaille 7%, joka on sama kuin korko uusille asiakkaille, joilla onomasäästöosuus.
Kulutusluottojen korko on joko 8%, 10 tai 12 %.Kulutusluottojen korko on joko 8%, 10 tai 12 %.
30
Toivekonsertin kontekstikaavioToivekonsertin kontekstikaavio
Toivekonsertti-
järjestelmä
Toivoja
Kuulija
Radiolähetys
Toiveet
Lasku
Teosto
Maksu
Soitetut
31
Toivekonsertin tietovirratToivekonsertin tietovirrat
1.Vastaanota
 ja tarkista
toiveet
3. Radio-
lähetys
Äänitteet
Toteutettavat
toiveet/soitetut
Toiveet
Musiikkitoiveet
Musiikkitoiveet
Kyselyt
Äänitteentiedot
Äänite
Toivoja
Radiolähetys
Teosto
Soitetut
Lasku
2. Hoida
Teosto-
yhteydet
Kaavio 0
Maksu
Soitetut
Soitetut
32
Toivekonsertin tietovirratToivekonsertin tietovirrat
1.1 Tekstari-
toiveiden
vastaanotto
Sähkö-
postitoive
Tekstaritoive
Kyselyt
Äänitteen
tiedot
Musiikkitoiveet
Toteutettavat
 toiveet
Äänitteet
1.2 Sposti
-toiveiden
lukeminen
1.3 Äänitteen
olemassaolon
tarkistus
1.4 Toiveiden
kirjaus
soittolistalle
Toivoja
Kaavio 1
Musiikkitoiveet
Musiikkitoiveet
33
Ratkaisu päätöspuuharjoitukseenRatkaisu päätöspuuharjoitukseen
LAINA
ASUNTO-LAINA
KULUTUS-LUOTTO
OMASÄÄSTÖ-OSUUS
OMASÄÄSTÖ-OSUUS
EI OMAASÄÄSTÖÄ
EI OMAASÄÄSTÖÄ
VANHAAS.
VANHAAS.
VANHAAS.
VANHAAS.
UUSI AS.
UUSI AS.
UUSI AS.
UUSI AS.
KORKO% 5
KORKO% 7
EI LAINAA
KORKO% 8
KORKO% 10
KORKO% 10
KORKO% 12
KORKO% 7