Kuva 3 - Lapin AMK

Download Report

Transcript Kuva 3 - Lapin AMK

TIETOVIRTAKAAVIOT
Dataflow diagrams
DFD-kaaviot
Tietovuokaaviot
1
Tietovirtakaavioista

Tietovirtakaavio kuvaa mallinnettavassa
kohteessa tehtäviä toimintoja (prosesseja),
toimintojen suorituksessa käsiteltävien tietojen
virtausta, tietojen talletukseen käytettäviä
tietovarastoja ja mallinnettavan järjestelmän
ulkopuolella, mutta sen kanssa
vuorovaikutuksessa olevia ulkoisia olioita.
 Mallintamisen tavoitteena on looginen kuvaus
ongelma-alueesta, sen toiminnoista ja
toimintojen yhteydessä käsiteltävistä tiedoista.
2

Analysoitaessa järjestelmää tulee tunnistaa
ulkoiset 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ä ilmaistaan
vielä tapaa, jolla analyysin kohteena oleva
järjestelmä on toteutettu tai jolla suunnittelun
kohteena oleva järjestelmä tullaan toteuttamaan.
 Looginen tietovirtakaavio auttaa ymmärtämään
olemassa olevaa toimintakokonaisuutta ja
suunnittelemaan uusia toimintatapoja.
3
Käytettävät symbolit
 Tietovirtakaaviossa
käytetään ainoastaan
neljää erilaista symbolia, joiden esitysmuoto
vaihtelee hieman eri kirjallisuuslähteissä.
ympyrä
(tai
pyöristetty
neliö)
Prosessi, joka muuttaa tietovirtojen sisältöä,
syötteen tulosteeksi
Tietovirta
Ulkoinen olio,
terminaattori
Tietovarasto
4





Prosessi voi olla esimerkiksi pankkisiirtolomaketta
käyttäen tehtävä laskun maksaminen
tietokoneohjelmalla.
Tietovirta voi fyysisesti kulkea kirjeen tai laskun
muodossa, puhelinsoittona, ohjelmistosta ohjelmistoon
jne. Tietovirran nimen tulee kuvata virrassa liikkuvaa
tieto. Tietovirran tarkempi sisältö kuvataan
tietohakemistossa.
Tietovarasto voi olla mikrofilmi, arkisto, paperipino
pöydällä, tiedosto cd:llä tai levyasemalla,
asiakasrekisteri jne.
Ulkoinen olio/ ulkoinen kohde voi olla esimerkiksi
asiakas, verotoimisto tai tuotanto-osasto riippuen siitä
minkälaisten järjestelmän ulkopuolella olevien
kohteiden kanssa järjestelmä on vuorovaikutuksessa.
Kuvaus on joka tapauksessa aina fyysisestä
toteutuksesta riippumaton, looginen kuvaus.
5
Tilaus
Toimitus
Käsittely
Pesuaineet ja vaha
Työvälineet
Pesty ja kiillotettu auto
Pese auto
Vesi
Auto ennen pesua
6
Prosessi




Tietovirtakaavioissa prosessilla tarkoitetaan tarkastelun
kohteena olevan järjestelmän toimenpidettä, joko koneen tai
ihmisen suorittamaa.
Prosessiin liittyy yleensä sekä tulevia (syötteitä) että lähteviä
tietovirtoja.
Prosessi muuntaa tulevien tietovirtojen sisällön lähteviksi
tietovirroiksi joko muuttamalla syötteenä saamaansa dataa tai
generoimalla siitä uutta informaatiota.
Prosessisymboli sisältää tunnisteen ja toiminnon kuvauksen:
 Tunniste on prosessin numero. Yleensä prosessit on
numeroitu juoksevasti ykkösestä alkaen läpi tietovirtakaavion
vasemmalta oikealle. Tarkennettaessa prosessia alemman
tason kaavioiksi, sen sisältämät aliprosessit numeroidaan siten,
että esimerkiksi prosessi 3 koostuu aliprosesseista 3.1, 3.2, 3.3
jne.
 Toiminnon kuvaus sisältää prosessin nimen, joka on yleensä
käskymuodossa oleva mahdollisimman yksinkertainen kuvaus
prosessin tarkoituksesta, esim. ‘Kirjaa opintosuorite’.
7
Tietovarasto




Tietovirtakaaviossa ei sitouduta mihinkään fyysiseen
toteutukseen, joten tietovarastolla ei tarkoiteta fyysistä
paikkaa tai tiedostoa.
Tietovarasto onkin tässä yhteydessä looginen käsite,
johon prosessit voivat tallentaa tietoa tai josta ne voivat
sitä hakea.
Tietovarasto voidaan nimetä esimerkiksi nimellä
ASIAKASTIEDOT tai TILAUSTIEDOT, jolloin
tietovaraston nimestä voidaan päätellä sen sisältämän
tiedon tyyppi.
Tällöin ei oteta kantaa siihen, miten esim.
asiakastietojen säilytys on fyysisesti järjestetty, ovatko
tiedot kortistossa vai levyllä sijaitsevassa tiedostossa
tai minkälaisista tietueista asiakastiedot koostuvat.
8
Ulkoinen olio, terminaattori




Ulkoisella oliolla tarkoitetaan tarkasteltavan järjestelmän
ulkopuolelta löytyviä tai sinne rajattavia asioita tai ihmisiä,
kuten asiakas, työntekijä, toimittaja, verovirasto,
laskentaosasto.
Ulkoisia olioita kutsutaan tarkasteltavan järjestelmän
suhteen nimellä tiedon lähde tai kohde. Lähde ja kohde
tarkoittavat sitä, että tietovirran alkaessa ulkoisesta oliosta,
tätä ulkoista oliota kutsutaan lähteeksi. Vastaavasti
tietovirran päättyessä ulkoiseen olioon, kyseistä oliota
kutsutaan kohteeksi.
Koska ulkoisten olioiden toiminta ei ole järjestelmän
suunnittelijan 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 ja
järjestelmän välillä voidaan kuvata.
9
Tietovirta






Tietovirrat ovat suunnattuja yhteyksiä tietovirtakaavion
komponenttien välillä.
Tietovirralla tarkoitetaan tiedon siirtymistä ulkoisten
olioiden, prosessien ja tietovarastojen välillä.
Tietovirta ei kuitenkaan ilmaise millaisessa fyysisessä
olomuodossa tiedon siirtyminen tapahtuu, vaan
ainoastaan mitä tietoa kyseisessä tietovirrassa siirtyy.
Kun prosessi tallettaa tietoa tietovarastoon, tietovirran
nuoli on prosessista varastoon ja se on nimetty
talletettavan tiedon mukaisesti.
Kun tietovarastosta luetaan tietoa prosessiin, nuoli on
päinvastaiseen suuntaan osoittava ja nimetty sen
tietoryhmän mukaan, joka palautetaan varastosta (esim.
tietue).
Tietovirran ollessa kaksisuuntainen sitä voidaan kuvata
kaksipäisellä nuolella.
10
Tietovirta

Tietovirtoja ei voida mallintaa ulkoisten olioiden
välille suoraan, koska näiden olioiden toiminta ei
ole järjestelmän suunnittelijan päätettävissä.
 Tietovirtoja ei voida myöskään mallintaa
tietovarastojen 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ä.
11
Asiakas
maksusuoritus
tilaus
karhu
lasku
1 Tilauksen
vastaanotto
toimitus
toimitettavat
tilaukset
3 Laskutus
2 Toimituksen
kokoaminen
laskutustiedot
Kuva 0
12
Järjestelmän kuvaaminen tietovirtakaavioilla





Korkeimmalla tasolla (kaikkein yksinkertaistetuin kuvaus)
piirrettävää tietovirtakaaviota kutsutaan konteksti- tai
liittymäkaavioksi.
Ylimmän tason tietovirtakaavio sisältää järjestelmän
pääprosessit numeroituina ykkösestä alkaen.
Suunnittelija muodostaa nämä pääprosessit siten, että ne
esittävät keskeiset järjestelmän toiminnot ja näiden
prosessien liittymisen ulkoisiin olioihin.
Jokainen prosesseista voidaan tarkentaa hierarkkisesti
alemman tason yksityiskohtaisemmiksi tietovirtakaavioksi
top-down -tyyppisesti.
Tarkennus lopetetaan, kun on päästy riittävän
yksinkertaiselle tasolle, jolloin prosessissa suoritettavan
toimenpiteen sisältö on selvä ja on helposti
ohjelmoitavissa.
13
Kuinka monta tasoa tarvitaan?

Yhdessä tietovirtakaaviossa ei tulisi olla
enempää kuin 5-9 prosessia tietovarastoineen,
ulkoisine kohteineen ja tietovirtoineen.
 Jos esim. alimman tason kaaviossa on vielä 50
prosessia, on ainakin yksi taso vielä lisättävä.
 Yksinkertaisissa järjestelmissä on yleensä 2-4
tasoa, keskisuurissa 3-6 ja monimutkaisissa 5-8
tasoa.
 Järjestelmän kaikkia osia ei kuitenkaan tarvitse
osittaa samalle tasolle saakka.
14
Piirtäessäsi tietovirtakaavioita
1. Tunnista ulkoiset oliot määrittämällä kuvattavan
järjestelmän rajat. Lähde liikkeelle vetämällä raja niiden
toimenpiteiden kohdalle, jotka tulevat suoritettavaksi
tietojärjestelmän tukemana.
2. Tunnista prosesseihin menevät syötteet ja niiden tulokset.
Muista, että tietovirta syntyy aina, kun järjestelmän
ulkopuolella tapahtuu jotakin, joka liittyy järjestelmään.
3. Tunnista mahdollisesti esiintyvät järjestelmään kohdistuvat
tietokyselyt 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, loogisesti
tarpeelliset prosessit ja tarvittavat tietovarastot. Kiinnitä
huomio prosessien loogiseen järjestykseen. Piirrä
mieluiten järjestelmä, jonka prosesseilla ei ole alkua ja joka
ei pääty. Numeroi prosessit vasta lopullisessa versiossa.
15
5. Ensimmäisessä versiossa keskity saamaan ylös kaikki
tarvittava. Tarkista listasta, että kaikki syötteet ja tulokset
ovat mukana.
6. Hyväksy se, että joudut piirtämään useampia versioita
ylemmän tason tietovirtakaavioista, ennen kuin luonnos
alkaa näyttää järkevältä ja selkeältä.
7. Kun kokonaisuus on looginen, muokkaa kaaviosta
sellainen, jossa tietty prosessi esiintyy vain kerran.
Minimoi risteytyvät tietovirrat. Tarkista vielä loogisuus joko
ottamalla 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 ja
tapahtumia.
8. Tee alemman tason tarkennetut kaaviot jokaisesta
määritellystä prosessista.
9. Viimeistele kaaviot ja tee niistä selkeitä, jotta niitä voivat
käyttää muutkin, kuten järjestelmän käyttäjät, toiset
suunnittelijat, laadunvalvojat, ylläpitäjät, yms.
16
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än
sisältämään tietovarastoon, vaan tässä välissä täytyy aina olla jokin
prosessi.
Tietovarastojen välillä ei voi olla tietovirtoja, välissä on aina jokin
prosessi.
Jos tietovarastoon menee jotain, sieltä täytyy myös tulla jotain ja
päinvastoin.
Jos jotakin tietovarastoa käyttää vain tietty prosessi, tietovarasto
kuuluu 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 joko
sellaisenaan tai muokattuna
mikä tulee ulos tietovarastosta, on sinne joskus tallennettu.
17
Kerrostetut tietovirtakaaviot,
esimerkki 1
A
B
SYSTEEMI
C
Kontekstikaavio
Oikein piirretyt kerrostetut tietovirtakaaviot ovat tasapainoisia
18
A
2
1
B
Y
X
3
Z
4
Systeemi
Kuva 0
C
19
3.2
X
3.1
Y
3.4
3.3
Z
Kuva 3
20
Asiakas
maksusuoritus
tilaus
karhu
lasku
1 Tilauksen
vastaanotto
toimitus
toimitettavat
tilaukset
3 Laskutus
2 Toimituksen
kokoaminen
laskutustiedot
Kuva 0
21
Asiakas
maksusuoritus
lasku
karhu
3.1 Laskun
kirjoitus ja
lähetys
3.4 Saapuneen
suorituksen
kirjaus
3.3 Karhulaskun
kirjoitus ja
lähetys
3.2 Erääntyneiden
laskujen
tarkistusajo
Kuva 3
laskutustiedot
22



Synkronoitujen prosessien välissä ei tarvita
tietovarastoa.
Ylimmän tason kuvat ymmärretään synkronoiduiksi.
Kaksi prosessia voidaan liittää suoraan toisiinsa,
mutta jos prosessi ei pysty vastaanottamaan tietoa
jatkuvana virtana, tarvitaan tietovarasto.
23
Tietovarastojen tarve
1. Kirjeen
kirjoitus
/tulostus
1. Kirjeen
kirjoitus
/tulostus
Lähtevätlaatikko
3. Postitus
2. Kuoren
kirjoitus
Kirjoitan ja postitan yhden
kirjeen ystävälleni
2. Kuoren
kirjoitus
3. Postitus
Firma postittaa 200 asiakaskirjettä
24
Prosessikuvaukset (process specification)




Prosessikuvaukset kuvaavat tietovirtakaaviossa
esitettyjen alimman tason prosessien toiminnan
yksityiskohtaisesti
Kuvauksessa voidaan käyttää eri kuvausmenetelmiä:
 normaalia tekstiä
 pseudokieltä
 päätöstauluja tai -puita
 vuokaavioita jne.
Kuvauksien pitäisi olla lyhyitä, yksi prosessi max. yksi A4
Jos kuvaus ei mahdu yhdelle sivulle, tulisi vaihtaa
kuvausmenetelmää tai palata takaisin tietovirtakaavion
osittamiseen (ja lisätä vielä yksi taso siihen eli osittaa ko.
25
prosessi)
Prosessikuvaukset

Prosessikuvauksia laadittaessa huomataan yleensä
helposti, jos tietovirtakaavion laadinnassa on tehty
virheitä tai kaaviosta puuttuu jotakin.
Esimerkki prosessikuvauksesta:

DO CASE
CASE ASIAKKAAN IKÄ<12
LASKUTUSKERROIN=’LAPSI’
CASE ASIAKKAAN IKÄ >11 JA IKÄ<20
LASKUTUSKERROIN=’NUORI’
CASE ASIAKKAAN IKÄ >19 JA IKÄ<65
LASKUTUSKERROIN=’AIKUINEN’
OTHERWISE
LASKUTUSKERROIN=’ELÄKELÄINEN’
ENDCASE
26
Prosessikuvaukset/Päätöstaulu
1
2
Ikä >21
Y
Y Y Y N N N N
Sukupuoli
M M N N M M N N
Paino > 65 kg
K
E K E K E K E
Lääkitys 1
X
X
Lääkitys 2
Lääkitys 3
Ei lääkitystä
3
4
5
6
7
8
X
X
X
X
X
X
27
Prosessikuvaukset/Päätöspuu
28
Harjoituksia:
1.
2.
a) Tee kontekstikaavio radion toivekonsertista.
b) Tee ylimmän tason tietovirtakaavio.
c) Tarkenna ainakin yhden prosessin kuvaus seuraavalle tasolle.
Oletetaan, että radiolähetyksessä ei haastatella toiveiden tekijöitä,
vaan ainoastaan soitetaan kirjattuja toiveita.
Tee päätöspuu:

Pankki myöntää asuntolainoja ja kulutusluottoja siten, että jos
asiakas 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 2 % alempi kuin uusilla asiakkailla.

Asuntolainaa ilman omarahoitusosuutta ei uusille asiakkaille
myönnetä, kulutusluotto kylläkin.

Asuntolainojen korko ilman omasäästöosuutta on vanhoille
asiakkaille 7%, joka on sama kuin korko uusille asiakkaille, joilla on
omasäästöosuus.

Kulutusluottojen korko on joko 8%, 10 % tai 12 %.
29
Toivekonsertin kontekstikaavio
Toivoja
Kuulija
Toiveet
Radiolähetys
Toivekonserttijärjestelmä
Lasku
Maksu
Soitetut
Teosto
30
Toivekonsertin tietovirrat
Radiolähetys
Toivoja
Toteutettavat
toiveet/soitetut
Soitetut
Toiveet
Musiikkitoiveet
Musiikkitoiveet
1.Vastaanota
ja tarkista
toiveet
Soitetut
2. Hoida
Teostoyhteydet
Kyselyt
Lasku
Maksu
Soitetut
Teosto
3. Radiolähetys
Äänitteen
tiedot
Äänite
Äänitteet
Kaavio 0
31
Toivekonsertin tietovirrat
Toivoja
Tekstaritoive
1.1 Tekstaritoiveiden
vastaanotto
1.4 Toiveiden
kirjaus
soittolistalle
Musiikkitoiveet
Musiikkitoiveet
Toteutettavat
toiveet
SähköMusiikkitoiveet
postitoive
1.2 Sposti
-toiveiden
lukeminen
1.3 Äänitteen
olemassaolon
tarkistus
Äänitteen
tiedot
Kyselyt
Äänitteet
Kaavio 1
32
Ratkaisu päätöspuuharjoitukseen
OMASÄÄSTÖOSUUS
ASUNTOLAINA
LAINA
EI OMAA
SÄÄSTÖÄ
VANHA
AS.
KORKO% 5
UUSI AS.
KORKO% 7
VANHA
AS.
UUSI AS.
VANHA
AS.
KULUTUSLUOTTO
OMASÄÄSTÖOSUUS
EI OMAA
SÄÄSTÖÄ
UUSI AS.
KORKO% 7
EI LAINAA
KORKO% 8
KORKO% 10
VANHA
AS.
KORKO% 10
UUSI AS.
KORKO% 12
33