Tietovirtakaaviot. Exit

Samankaltaiset tiedostot
Ohjelmistotuotanto, s

Sisältö. Tilakaaviot 2

Lähestymistavat - toiminnallinen

JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus

UML -mallinnus TILAKAAVIO

Ohjelmistotekniikan menetelmät, UML

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

OHJELMOINTILAITE 10/50

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

UML- mallinnus: Tilakaavio

Procountor laskutusliittymä

Sisäänkirjaus Uloskirjaus. Yritystieto

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Tietokantojen suunnittelu, relaatiokantojen perusteita

Suunnitteluvaihe prosessissa

Ohjelmistojen suunnittelu

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Analyysi on tulkkaamista

Luokka- ja oliokaaviot

Tutustuminen tuotantolinjastoon

KÄYTTÖOHJE HIRVIMATIC (2V0)

Fortum Fiksu Etäohjattava roiskeveden kestävä sähkökytkin (IP44) Käyttöohjeet

TOIMINNALLINEN MÄÄRITTELY MS

Fortum Fiksu Mittaava, etäohjattava sähkökytkin sisäkäyttöön Käyttöohjeet

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Toimintokaavio. UML-Toimontokaavio 1

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Harjoitustyö Case - HelpDesk

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Fivaldi laskutusliittymä

Näkyvyys- ja valaistustoimintojen kaukoaktivointi

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Ensimmäisen myyntiprojektin tarjouksen luonti

Procountor laskutusliittymä

käyttötapaukset mod. testaus

3. Käsiteanalyysi ja käsitekaavio

Pipfrog AS Tilausten hallinta

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Elektroninen ohjausyksikkö

OODI OPTIMA TIEDONSIIRTO- OHJE OPETTAJILLE

Toiminnallinen määrittely versio 1.2

Mittalaite ja puhelin on laitettu toimimaan automaattisesti yhdessä, sinun tulee seurata puhelimen antamia ohjeita mittauksen suorittamiseen.

Ohjelmistoarkkitehtuurit

Simulointi. Tapahtumapohjainen

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

FENNO MEDICAL OY FENNO MARKET KÄYTTÖOHJEET. Fenno Medicalin sähköinen

Pikaopas työjärjestystietojen viemiseen uuteen Outlook -kalenteriin

Finnish. Osien nimet. Tarkistuslaiteyksikkö. Sähkökaapelin tarkistuslaite. Vaihtokytkimen tarkistuslaite SM-EC79 HAKEMISTO

Kuvaustekniikat. Exit

Määrittelydokumentti: Kansallinen palveluväylä - integraatio

ILMAINEN KARTTATIETO

Säädettävät parametrit Signaalit ja näkyvyysjärjestelmät

5. Järjestelmämallit. Mallinnus

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Helsingin yliopisto Kehittämisosasto Opiskelijarekisteri. Oodi 2.71 Käyttöohje Opintokokonaisuuden rekisteröinti OPINTOKOKONAISUUDEN REKISTERÖINTI

OPINTOKOKONAISUUDEN REKISTERÖINTI

Liite 2, Todennetun osaamisen rekisteri, käyttötapausten. Todennetun osaamisen rekisterin kohdearkkitehtuuri

Konfiguraatiotyökalun päivitys

Opus SMS tekstiviestipalvelu

moodle.seamk.fi teknisiä ohjeita

UML:n yleiskatsaus. UML:n osat:

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Vastuu- ja tehtäväalueet sekä tiedonvälitys OSCu-kursseilla

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Tämän ohjeen avulla opastetaan käyttäjää aloittamaan PlanWebin käyttö. Lue ohjeet huolellisesti läpi ennen käytön aloittamista.

Inputs: b; x= b 010. x=0. Elektroniikkajärjestelmät ETT_2068

Ohjelmistojen mallintaminen, mallintaminen ja UML

<e.g. must, essential, conditional>

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

Rider 40 Rider 40:ssä on neljä näppäintä, joita käytetään useisiin eri tarkoituksiin.

JABRA EVOLVE 65 pikaohje. Laitteen nappulat. Magneettinen kouru mikrofonille. Säädettävä pääpanta. Äänisäätö ylös Varattuna -valo

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Integrointi. Ohjelmistotekniikka kevät 2003

VIS Online 2.0 version uudistukset

Lähettäjän ja vastaanottajan ollessa rekisteröitynä Maventaan verkkolaskuosoitteena käytetään OVTtunnusta.

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

BaseMidlet. KÄYTTÖOHJE v. 1.00

LUMECOM. Jyrsinsovellus. 1. Asennusohje 2. Käyttöohje 3. Käyttöönottokortti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Mikä sitten on kallista? Milloin raha on viisaasti käytetty? Miten kallis määritellään toimintopistelaskennan näkökulmasta?

Napsauta Kurssin viikkonäkymä- näkymässä oikeassa yläreunassa sijaitsevaa Muokkaustila päälle -painiketta.

Vapaa-asennon automaattikytkentä

Sonet laskutusliittymä

OHJAUSPANEELI UTI-INV-MODUULIN SEURANTAAN JA KÄYTTÖÖN UTI-IQCP

Prosessiohje KATSO TÄSTÄ!

Näin tilaat tuotteita Kuulotarvikkeen verkkokaupasta

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta.

Transkriptio:

Tietovirtakaaviot Tietovirtakaavioiden avulla voidaan kuvata järjestelmässä käsiteltävän tiedon kulku, varastointi ja käsittely. Tekniikka ei sisälly UMLstandardiin, mutta se soveltuu erinomaisesti järjestelmän toiminnan hahmotteluun siksi se on otettu myös mukaan kurssin aineistoon. Luvussa esitellään tietovirtakaavioiden yleisperiaatteet ja käyttö sekä yleisellä tasolla että reaaliaikajärjestelmien ohjauksen kuvaamisessa. Exit

Sisällys Tietovirtakaaviot Tiedon ja toiminnallisuuden kuvaaminen Tietovirtakaavio: notaatio Esimerkki: ohjausprosessin tietovirtakaavio Esimerkki: tilausjärjestelmä Esimerkki: lämpötilatiedon keruu Tietovirtakaavion ilmaisuvoima Tietovirtakaavioiden hierarkkia Kuvauksen yleisperiatteita Esimerkki: liittymäkaavio Ohjaustransformaatiot Esimerkki: vilkun ohjaus Ohjaustransformaatiot: Hatley - Pirbhai Tietovirtamatriisit Esimerkki: yhteyskaaviosta tietovirtamatriisiksi Tietovirrat reaaliaikajärjestelmässä DARTS: notaatio Esimerkki: tekstieditori UML:n reaaliaikanotaatiot Esimerkki: UML:n reaaliaikanotaatiot Tietovirtakaavion laadintaperiaatteita Esimerkki: maalausrobotti Kertauskysymykset Tietovirtakaaviot 2

Tietovirtakaaviot käytetään järjestelmän toiminnan hahmotteluun kuvaa järjestelmää siinä tapahtuvan tiedon kulun ja tietoon kohdistuvan käsittelyn (transformaatiot) näkökulmasta tietojärjestelmän toiminnallisuus muodostuu tietoa siirtävistä tietovirroista sekä niitä käsittelevistä ja tuottavista transformaatioista mahdollisuus myös tiedon varastointiin UML-notaatio ei sisällä tietovirtakaaviota silti kuvaustekniikka on laajalti käytössä ja soveltuu toiminnallisuuden hahmotteluun tietovirtakaavio synonyymi: tietovuokaavio Tietovirtakaaviot 3

Tiedon ja toiminnallisuuden kuvaaminen Tiedot luokka- tai käsitekaaviot tietohakemistokuvaus -> tietorakenne (käsitemalli) Toiminnot toimintokuvaukset toimintojen väliset liittymät ->toiminnallisuuden kokonaisuus yhteys Järjestelmän Järjestelmän tietorakenteen tietorakenteen (käsitemalli) (käsitemalli) ja ja toiminnallisuuden toiminnallisuuden välillä välillä on on paitsi paitsi toiminnallinen toiminnallinen sidos sidos myös myös rakenteellisia rakenteellisia yhteyksiä. yhteyksiä. Tietovirtakaaviot 4

Tietovirtakaavio: notaatio terminaattori tietovarasto kirjoitus tietovirta dialogi luku tietovarasto jatkuva tietovirta ohjausvirta ohjaustransformaatio transformaatio tietovarasto päivitys yhtyvät tietovirrat jakaantuva tietovirta Tietovirtakaaviot 5

tietovirtakaavio: notaatio terminaattori: järjestelmän ulkopuoliset oliot rajaus, järjestelmän kommunikointi ympäristön kanssa esim. ulkoinen rooli (asiakas) transformaatio: tulevan tiedon muuntuminen lähteväksi tiedoksi suorittaa käsittelytoimintoja kuvataan edelleen tarkentuvilla tietovirtakaavioilla ja lopulta toimintokuvauksena esim. jonkin henkilön suorittama toiminto (tilauksen vastaanottaminen) Tietovirtakaaviot 6

tietovirtakaavio notaatio tietovirta: kuvaa tiedon kulkua järjestelmässä diskreetti: tapahtuu kun sen tuottava ja vastaanottava transformaatio ovat valmiita» mikäli virtaan liittyvää käsittelyä ei voi synkronoida, tarvitaan tietovarasto virran tuottavan ja sitä käyttävän transformaation väliin» esim. henkilöltä toiselle siirtyvä dokumentti jatkuva: tieto on transformaation saatavissa aina» esim. lämpötila-anturin lämpötilatieto Tietovirtakaaviot 7

tietovirtakaavio: notaatio tietovarasto: järjestelmään varastoitu tieto rakenne kuvataan käsitekaaviona» yhteys tietovirtakaavion ja käsitekaavion välillä perustuu tietovarastoihin (käsite) ja virtoihin (yhteydet) sisältö kuvataan tietohakemistokuvauksena esim. työntekijän pöydällä oleva laatikko tai tietokannan taulu muita yleisiä periaatteita komponenttien yksikäsitteinen nimeäminen (pl. tietovarastoon tulevat ja siitä lähtevät tietovirrat) tietovirtakaavio ei määritä transformaatioiden suoritusjärjestystä (yleisperiaate: suoritetaan kun syötteet saatu) Tietovirtakaaviot 8

tietovirtakaavio: notaatio tietovirtakaaviot reaaliaika- ja ohjausjärjestelmien kuvaamisessa: ohjausvirta ja ohjaustransformaatio ohjaava prosessi ja ohjattava prosessi ohjaustransformaatio: kuvaa ohjaavan toiminnan (kuvaus esim. tilakaaviona) ohjausvirta kuvaa ohjauksen (kuvataan esim. tilakaaviossa syntyvänä toimenpiteenä) ohjattava transformaatio on järjestelmän tietovirtaan kuuluva transformaatio ohjaustransformaation ohjausinformaatio syntyy ohjaustransformaation ulkopuolella Tietovirtakaaviot 9

Esimerkki: Ohjausprosessin tietovirtakaavio veto narusta ohjaa lamppua sammuta 100W kytke 100W Lamppuesimerkki Lamppuesimerkki kurssin kurssin tilakaavioosuudesta tilakaavioosuudesta sammuta 50W lamppu kytke 50W Tilakone Tilakone muodostaa muodostaa ohjausprosessin. ohjausprosessin. Lamppu Lamppu on on ohjattava ohjattava toiminto. toiminto. Kuvauksessa Kuvauksessa näkyvät näkyvät pelkistettynä pelkistettynä ohjausta ohjausta ohjaavat ohjaavat ulkoiset ulkoiset signaalit signaalit sekä sekä ohjausprosessin ohjausprosessin ja ja ohjattavan ohjattavan prosessin prosessin välinen välinen vuorovaikutus. vuorovaikutus. Asiasta Asiasta tarkemmin tarkemmin kurssin kurssin kohdassa kohdassa Tietovirtakaaviot. Tietovirtakaaviot. Kyse Kyse on on myös myös järjestelmien järjestelmien kommunikaatiosta. kommunikaatiosta. Tietovirtakaaviot 10

esimerkki: ohjausprosessin tietovirtakaavio Lampun ohjaus Lamppuesimerkki Lamppuesimerkki kurssin kurssin tilakaavioosuudesta tilakaavioosuudesta Kytkin Kytkin Lamppu Lamppu Lampun Lampun toiminnan kuvauksen toiminnan kuvauksen eri eri tasoja. tasoja. Tietovirtakaaviot 11

Esimerkki: tilausjärjestelmä 1* tilauksen vastaanotto tilaus asiakas toimitus 2* lasku maksusuoritus karhu 3 laskutus käsitekaavio + tietohak asiakas toimitettavat tilaukset laskutustiedot yhteydet toimtil - lasktied asiakas - toimtil asiakas - lasktied toimituksen koonti toimitettavat tilaukset laskutustiedot Merkintä Merkintä * * transformaation tunnuksen transformaation tunnuksen yhteydessä yhteydessä ilmaisee, että ilmaisee, että sitä sitä ei ei tarkenneta tarkenneta uudella tietovirtakaaviolla. uudella Transformaatioista tietovirtakaaviolla. Transformaatioista 1 1 ja ja 2 2 annetaan tehdään annetaan tehdään toimintokuvaus (minispesifikaatio). toimintokuvaus Transformaatiosta (minispesifikaatio). Transformaatiosta 3 3 tehdään tarkennettu tehdään tarkennettu tietovirtakuvaus. tietovirtakuvaus. Tietovirtakaaviot 12

esimerkki: tilausjärjestelmä Minispesifikaatio: Tilauksen vastaanotto (1) tilauksen vastaanotto tehdään puhelimella tai faxilla asiakkaan tiedot tarkistetaan asiakastiedoista, tarvittaessa tiedot tallennetaan asiakastietoihin samalla tarkastetaan asiakkaan maksutilanne; jos asiakkaalla on suorittamattomia laskuja, ei tilausta oteta vastaan Tietovirtakaaviot 13

esimerkki: tilausjärjestelmä maksusuoritus karhu 3.1. *Maksusuo rituksen käsittely 3.2. * Karhun lähetys toimitustiedot Laskutustiedot 3.3. * Laskun lähettäminen lasku Siirryttäessä Siirryttäessä tarkemmalle tarkemmalle kuvaustasolle, kuvaustasolle, on on huolehdittava huolehdittava siitä, siitä, että että ylemmällä ylemmällä tasolla tasolla esiintyvät esiintyvät tietovirrat tietovirrat näkyvät näkyvät myös myös alemmalla alemmalla tasolla. tasolla. Tässä Tässä transformaatiot transformaatiot 3.1, 3.1, 3.2., 3.2., 3.3. 3.3. tarkennetaan tarkennetaan seuraavaksi seuraavaksi minispesifikaationa. minispesifikaationa. Tietovirtakaaviot 14

Esimerkki: lämpötilatiedon keruu trigger ohjaa rekisteröintiä lämpötila rekisteröi lämpötila anna lämpotilat ajanjakso lämpötilat Lämpötila-anturi Lämpötila-anturi (ulkoinen (ulkoinen toimija) toimija) tuottaa tuottaa jatkuvana jatkuvana tietovirtana tietovirtana lämpötilatietoa lämpötilatietoa rekisteröintitransformaatiolle. Transformaatio Transformaatio tallettaa tallettaa mittaustiedon mittaustiedon ohjausprosessista ohjausprosessista tulevan tulevan signaalin signaalin (trigger) (trigger) aktivoimana aktivoimana ja ja tallettaa tallettaa tiedon tiedon tietovarastoon. tietovarastoon. Mittaustietoja Mittaustietoja hyödyntävä hyödyntävä transformaatio transformaatio palvelee palvelee rekisteröintitietokoneen (ulkoinen (ulkoinen toimija) toimija) palvelupyyntöjä palvelupyyntöjä saamansa saamansa ohjauksen ohjauksen perusteella. perusteella. lämpötilahistoria lämpötilaanturi rekisteröintitietokone Tietovirtakaaviot 15

esimerkki: lämpötilatiedon keruu Rekisteröi lämpötila alustukset; loop loop wait wait until until trigger; lue lue lämpötila; muokkaa tiedot; kirjoita lämpötilahistoriaan; endloop odotus odotus ( /alustus) lämpötilan lämpötilan luku luku ( annettu aika kulunut/ trigger(ltilan luku) ) Tarkennetut Tarkennetut kuvaukset kuvaukset ohjaustransformaatiosta (tilakone) (tilakone) ja ja rekisteröintiä rekisteröintiä suorittavasta suorittavasta transformaatiosta transformaatiosta (minispesifikaatio). (minispesifikaatio). lämpötila rekisteröi lämpötila trigger anna lämpotilat ajanjakso lämpötilat ohjaa rekisteröintiä lämpötilahistoria lämpötilaanturi rekisteröintitietokone Tietovirtakaaviot 16

Tietovirtakaavion ilmaisuvoima Tulkinta 1. jokaista koodattua sanomaa kohti saadaan avain 2. osaa sanomista ei ole koodattu, ei avainta 3. samaa avainta käytetään useiden peräkkäisten sanomien dekoodaukseen. 4. kun sanomia ei tule, generoidaan vakiosanomia avain koodattu sanoma dekoodattu sanoma Tietovirtakaavio Tietovirtakaavio samoin samoin kuin kuin muutkin muutkin kuvaukset kuvaukset sisältää sisältää tulkinnallisuutta. tulkinnallisuutta. Oheinen Oheinen esimerkkikuvaus esimerkkikuvaus voidaan voidaan periaatteessa periaatteessa tulkita tulkita (mm.) (mm.) kaikilla kaikilla kuvassa kuvassa olevilla olevilla tavoilla. tavoilla. Kaavio Kaavio ei ei sis sis yksin yksin riitä riitä määrittelemään määrittelemään toimintaa toimintaa täsmällisesti täsmällisesti (ajoitukset, (ajoitukset, kulloinkin kulloinkin tarvittavat tarvittavat syötteet syötteet // syntyvät syntyvät tulosteet, tulosteet, jne. jne. Tietovirtakaaviot 17

Tietovirtakaavioiden hierarkkia ylin taso (0): liittymäkaavio terminaattorit (ei terminaattorien välisiä liittymiä!) järjestelmän ulkoiset liitynnät (ihmisiin, organisaatioihin, toisiin järjestelmiin, ) tietovirtoina kuvattava järjestelmä kuvataan yhtenä transformaationa järjestelmää tarkennetaan tason 1 (ja edelleen tasojen 2, 3, ) tietovirtakaavioilla jokaisesta transformaatiosta tulee joko uusi kaavio tai minispesifikaatio puitteet (=liitynnät) alemman tason kuvaukselle tulevat ylemmältä tasolta tarkentuva ja jäsentyvä kuvaus järjestelmästä Tietovirtakaaviot 18

tietovirtakaavioiden hierarkkia numerointikäytäntö tukee kuvauksen hallintaa transformaatiot numeroidaan juoksevasti tarkentuvassa kuvauksessa käytetään tasonumerointia siten, että alemman tason transformaatiot saavat numeroinnin alkuosan isätransformaatiosta (prefix) ja tähän lisätään kuvauksen sisällä juokseva numero» 2.1.4 = tason 1: transformaatio 2. tästä tarkennetun kuvauksen transformaatio 1; tästä tarkennetun kuvauksen transformaatio 4» tehtäessä transformaation 2.1 kuvausta seuraavalla kuvaustasolla saavat sen osa(transformaatio)t juoksevasti tunnisteen 2.1.1, 2.1.2, 2.1.3, 2.1.4, Tietovirtakaaviot 19

Kuvauksen yleisperiatteita konsistenssi tasojen välillä alemman tason on käsiteltävä kaikki tarkennettavaan transformaatioon ylemmällä tasolla tulevat tietovirrat sekä tuotettava kaikki tarkennettavassa transformaatiossa ylemmällä kuvaustasolla syntyvät tietovirrat konsistenssi muiden kuvausten kanssa yhteys esimerkiksi käsitekaavion rakenteeseen terminaattorit näkyvät yleensä vain liittymäkaaviossa(taso 0) ja korkeintaan tason 1 kaaviossa) tietovarastot piirretään näkyviin sellaisella tasolla kun niitä käyttää vähintään kaksi transformaatiota tai viimeistään alimmalla tasolla Tietovirtakaaviot 20

Esimerkki: liittymäkaavio Esim. Käyttötap. asiakas lasku toimitus tilaus maksusuoritus karhu Taso 0 Perustuu Perustuu aiemmin aiemmin käsiteltyyn tilausjärjestelmään käsiteltyyn tilausjärjestelmään 1* tilauksen vastaanotto toimitettavat tilaukset Taso 1 asiakas tilaus toimitus lasku 2* toimituksen koonti maksusuoritus karhu 3 laskutus kirjatilausjärjestelmä laskutustiedot Tapahtumaluettelo Tapahtumaluettelo asiakas asiakas lähettää lähettää tilauksen tilauksen tilaus tilaus toimitetaan toimitetaan asiakkaalle asiakkaalle asiakkaalle asiakkaalle lähetetään lähetetään lasku lasku...... Minispesifikaatio: Tilauksen Minispesifikaatio: Tilauksen vastaanotto vastaanotto (1) tilauksen (1) tilauksen vastaanotto vastaanotto tehdään tehdään puhelimella puhelimella tai tai faxilla asiakkaan tiedot tarkistetaan asiakastiedoista, tarvittaessa faxilla tiedot tallennetaan asiakkaan tiedot tarkistetaan asiakastiedoista, tarvittaessa tiedot tallennetaan asiakastietoihin samalla asiakastietoihin samalla tarkastetaan tarkastetaan asiakkaan asiakkaan maksutilanne; maksutilanne; jos jos asiakkaalla asiakkaalla on suorittamattomia on suorittamattomia laskuja, laskuja, e e tilausta tilausta oteta oteta vastaan vastaan Tietovirtakaaviot 21

Ohjaustransformaatiot ohjaustransformaatio ohjaa tietovirtaan kuuluvien transformaatioiden toimintaa normaaliin tietovirtakuvaukseen ei liity ajoitusta ajoitus hoidetaan joko sopimuksella, erillisillä kirjauksilla tai ohjaustransformaatioilla kaksi eri tyyppiä ohjaussignaalin tyyppiä aktivointi- ja passivointi (enable / disable): sallii / estää toiminnan signaalia odottavassa transformaatiossa liipaisu (trigger): aiheuttaa kertasuorituksen (aktivointi) Tietovirtakaaviot 22

Ohjaustransformaatiot: Ward & Mellor ohjaustransformaatio kuvataan tilakoneella, jonka tilasiirtymiin liittyvinä toimintoina generoidaan ohjattavalle transformaatiolle lähetettävät signaalit (ks. lamppuesimerkki) ohjaustransformaatiota kuvaavan tilakoneen tilasiirtymät aktivoituvat ohjaustransformaatioon tulevista ohjausvirroista (ulkoinen ohjaus) sekä muuttujista ja niiden johdannaisista siirtymän voi laukaista myös ajastuksen laukeaminen tilasiirtymän synnyttämänä toimintona voivat olla e/d- ja t-signaalien generointi, muuttujien arvojen muuttaminen ja ajastuksen asetus Tietovirtakaaviot 23

Esimerkki: vilkun ohjaus ulkoa tulevat ohjausvirrat asento ratti keskellä hätävilkku ohjaa vilkkua asento = [vasen keski oikea] hätävilkku = *nappia painettu asento = [keski muu] ohjaustransformaatio ohjattavat transformaatiot e/d e/d trigger Järjestelmän Järjestelmän tietovirtakuvaus tietovirtakuvaus vilkuta vasen vilkuta oikea keskitä viiksi Tietovirtakaaviot 24

... esimerkki: vilkun ohjaus VILKUTA VASEN alustukset; loop wait until enable; vilkuta; wait until disable; lopeta endloop VILKUTA OIKEA alustukset; loop wait until enable; vilkuta; wait until disable; lopeta endloop KESKITÄ VIIKSI alustukset; loop wait until trigger; keskitä; endloop Ohjattavien Ohjattavien transformaatioiden transformaatioiden toimintokuvaus toimintokuvaus Tietovirtakaaviot 25

... esimerkki: vilkun ohjaus asento ratti keskellä vilkuta vasen hätävilkku e/d ohjaa vilkkua e/d trigger vilkuta oikea asento = [vasen, keski, oikea] hätävilkku = *nappia painettu asento = [keski muu] keskitä viiksi Tarkistus Tarkistus kaikki kaikki tilakoneen tilakoneen tarvitsemat tarvitsemat (in) (in) signaalit tuotetaan signaalit tuotetaan jossain jossain kohtaa kohtaa ohjauksen tietovirtakaaviota ohjauksen tietovirtakaaviota kaikki kaikki tilakoneessa tilakoneessa näkyvät näkyvät (out) (out) signaalit näkyvät signaalit näkyvät tietovirtakaaviossa tietovirtakaaviossa transformaatioiden e/d- transformaatioiden e/dtai tai t-nuolina t-nuolina vasen hätävilkku/ disable vilkuta oikea disable vilkuta vasen ei vilku oikea Tietovirtakaaviot 26 hätä hätävilkku/ enable vilkuta oikea enable vilkuta vasen asento=vasen / enable vilkuta vasen asento=keski/ asento=keski/ disable vilkuta oikea disable vilkuta vasen ratti keskellä/ disable vilkuta oikea ratti keskellä/ disable vilkuta vasen asento=oikea/ trigger keskitä viiksi trigger keskitä viiksi enable vilkuta oikea Ohjaustransformaation toiminnan toiminnan määrittelevä määrittelevä tilakaavio tilakaavio

Ohjaustransformaatiot: Hatley-Pirbhai W&M:lle vaihtoehtoinen notaatio erot: ohjaustransformaatioita on kaaviossa vain yksi (esitetään kaaviossa pystyviivana - tai piirrosteknisistä syistä monena pystyviivana) ohjaustransformaatiosta lähteviä ohjaavia signaaaleja ei piirretä kaavioon Notaatio Notaatio esitetään esitetään tässä tässä vain vain vaihtoehtoisena vaihtoehtoisena esitysmuotona esitysmuotona eikä eikä sen sen yksityiskohtia yksityiskohtia ole ole tarkoituksenmukaista tässä tässä yhteydessä yhteydessä käsitellä käsitellä perustellisesti. perustellisesti. H-P H-P notaatio notaatio on on omaksuttu omaksuttu mm. mm. joidenkin joidenkin CASE-välineiden CASE-välineiden yhteyteen. yhteyteen. Tietovirtakaaviot 27

... ohjaustransformaatiot: Hatley-Pirbhai ohjaustransformaatio on suorituskelpoinen jos sen isätransformaatiot ovat suorituskelpoisia ja sen syötteet ovat saatavilla tilasiirtymä aktivoi ohjattavan transformaation (activate); transformaatio passivoituu automaattisesti seuraavan tilasiirtymän yhteydessä (disable tarpeeton) trigger-signaalia ei ole activate + transientti tila mahdollistaa saman toiminnallisuuden Tietovirtakaaviot 28

ohjaustransformaatiot: Hatley-Pirbhai ohjaustransformaatio tilakonekuvaus voidaan korvata myös transformaation aktivointitaululla (PAT) PAT määrittää tilasiirtymän jälkeen (tietyssä tilakaavion tilassa oltaessa) aktiivisena olevat transformaatiot Tietovirtakaaviot 29

ohjaustransformaatiot: Hatley-Pirbhai hätävilkku asento = [vasen, keski, oikea] asento ratti keskellä vilkuta vasen vilkuta oikea keskitä viiksi Vilkkuesimerki VilkkuesimerkiH-P H-P notaatiolla. notaatiolla. Tietovirtakaavio. Tietovirtakaavio. Tietovirtakaaviot 30

ohjaustransformaatiot: Hatley-Pirbhai asento asento = [vasen, keski, oikea] hätävilkku Vilkkuesimerki VilkkuesimerkiH-P H-P notaatiolla. notaatiolla. Ohjauksen Ohjauksen kuvaus kuvaus tilakoneena tilakoneena ratti keskellä vilkuta vasen vilkuta oikea keskitä viiksi ei vilku hätävilkku hätä hätävilkku/ activate vilkutaoikea activate vilkuta vasen asento=vasen / activate vilkuta vasen asento=keski ratti keskellä/ activate keskitä viiksi vasen keskitä asento=keski asento=oikea/ activate vilkuta oikea oikea Tietovirtakaaviot 31

ohjaustransformaatiot: Hatley-Pirbhai hätävilkku/keskelle hätä hätävilkku/hätä ei vilku asento=vasen / /keskelle vasemmalle keskitä asento=keski/ keskelle ratti keskellä/ keskitä vasen asento=oikea/ oikealle asento=keski/ keskelle oikea vasemmalle oikealle keskitä keskelle hätä vilkuta vas vilkuta oik keskitä viiksi 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 Vilkkuesimerki VilkkuesimerkiH-P H-P notaatiolla. notaatiolla. Ohjauksen Ohjauksen kuvaus kuvaus PAT-tauluna PAT-tauluna ("keskelle" on oikeastaan tarpeeton) Tietovirtakaaviot 32

Tietovirtamatriisit opiskelija viikkoharjoitukset, harj.työ tenttipaperi ilmoittautumiset (kurssi, tentti) harjoitustyö, viikkoharjoitukset ohjeet assistentti harjoitustulokset aikataulu, kurssimateriaali aali aikataulu, kurssimateriaali luennoija kokonaisuoritukset tuloslistat osallistujalistat (kurssi, tentti) opintotoimisto Yksinkertainen Yksinkertainen tekniikka tekniikka virtamaisen virtamaisen toimintosarjan toimintosarjan kuvaamiseen. kuvaamiseen. Diagonaali Diagonaali kuvaa kuvaa toimijat toimijat ja ja matriisin matriisin alkiot alkiot tietovirran tietovirran näiden näiden välillä välillä (yhteyttä (yhteyttä vastaavassa vastaavassa ruudussa ruudussa määritetään määritetään toimijoiden toimijoiden välinen välinen tiedonkulku. tiedonkulku. Lukusuunta Lukusuunta myötäpäivään myötäpäivään nuolten nuolten mukaan. mukaan. Tietovirtakaaviot 33

Esimerkki: yhteyskaaviosta tietovirtamatriisiksi asiakas maksusuoritus karhu lasku toimitus tilaus kirjatilausjärjestelmä asiakas lasku, toimitus, karhu tilaus, maksusuoritus kirjatilausjärjestelmä Yhteyskaavio Yhteyskaavio voidaan voidaan kuvata kuvata tietovirtamatriisina, tietovirtamatriisina, jossa jossa järjestelmä järjestelmä (transformaatio) (transformaatio) tulee tulee matriisin matriisin diagonaaliin diagonaaliin keskelle keskelle ja ja terminaattorit terminaattorit diagonaalille diagonaalille sen sen molemmille molemmille puolille. puolille. Kuvaustavan Kuvaustavan mielekkyyteen mielekkyyteen ja ja soveltuvuuteen soveltuvuuteen eri eri tilanteisiin tilanteisiin ei ei tässä tässä yhteydessä yhteydessä oteta oteta kantaa. kantaa. Tietovirtakaaviot 34

Tietovirrat reaaliaikajärjestelmässä reaaliaikajärjestelmässä prosessit esitetään transformaatioina sanomat prosessien välillä esitetään tietovirtoina sanomapuskurit voidaan mallintaa tietovarastoina prosessien yhteiset muistialueet voidaan mallintaa tietovarastoina Tietovirtakaavio Tietovirtakaavio kuvaa kuvaa järjestelmän järjestelmän toimintaa toimintaa määrittelyvaiheessa. määrittelyvaiheessa. Näin Näin syntyvä syntyvä toimintojako toimintojako ei välttämättä ei välttämättä ole ole lopullinen, lopullinen, eli eli määrittelyn määrittelyn transformaatiot transformaatiot (prosessit) (prosessit) muokkautuvat muokkautuvat suunnitteluratkaisun (ja suunnitteluratkaisun (ja edelleen edelleen toteutusratkaisun) toteutusratkaisun) prosesseiksi prosesseiksi pitkälti pitkälti muista muista lähtökohdista lähtökohdista kuin kuin rakenteen rakenteen loogisuudesta riippuen. loogisuudesta riippuen. Suunniutteluratkaisussa Suunniutteluratkaisussa tarvitaan tarvitaan myös myös reaaliaikajärjestelmän reaaliaikajärjestelmän toteutukseen toteutukseen liittyviä liittyviä piirteitä: asynkroninen piirteitä: asynkroninen / / synkroninen synkroninen kommunikointi, kommunikointi,.. Reaaliaikajärjestelmän Reaaliaikajärjestelmän suunnitteluratkaisun suunnitteluratkaisun kuvaamiseen voidaan kuvaamiseen voidaan käyttää käyttää mm. mm. DARTS-notaatiota. DARTS-notaatiota. Tietovirtakaaviot 35

tietovirrat reaaliaikajärjestelmässä ohjelmiston tietovirtakaavio vs. prosessikaavio tietovirtakaavio kuvaa järjestelmää määrittelytasolla prosessikaavio kuvaa järjestelmän suunnitteluratkaisua (jako prosesseiksi)» suunnitteluvaiheessa joukko määrittelyvaiheen transformaatioita saattaa kuvautua yhdeksi prosessiksi ja vastaavasti yksi transformaatio voi toteutua monena prosessina» toisinaan tarnsformaatio kuvautuu myös funktioksi (ei prosessiksi) vrt. analogia: asiakastarpeista toiminnoiksi ja edelleen moduuleiksi Tietovirtakaaviot 36

tietovirrat reaaliaikajärjestelmässä DARTS-kaavio prosessikaavion esittämiseen suunnittelutasolla tarvitaan eri notaatio (ilmaisuvoiman tarve erilainen määrittelyvaiheen tvk:oon verrattuna) muunnos transformaatiot - prosessit tietovarastot ja niitä käsittelevät (funktioiksi kuvautuvat) transformaatiot kootaan tiedonkätkentämoduuleiksi» tietovarastoihin tarjotaan funktiorajapinta (keskusmuistitietorakenne ja sitä käsittelevien funktioiden joukko) tietovirrat esitetään nuolina (puskuroitu / synkroninen kommunikointi) Tietovirtakaaviot 37

DARTS: notaatio prosessi tiedon kätkevä moduuli, yhteinen muistialue tietovirta moduulista/moduuliin puskuroitu kommunikointi synkroninen kommunikointi (kohtaaminen), ei vastaussanomaa synkroninen kommunikointi vastaussanomalla tapahtuma Tietovirtakaaviot 38

Esimerkki: tekstieditori Päivitä näyttöä Tiedostopuskuri näppäintoiminnot Lue näppäimistöä Päivitä puskuria Tietovirtakaaviot 39

UML:n reaaliaikanotaatiot prosessit esitetään UML-kuvauksissa aktiivisina luokkina ja olioina merkintätapoja, joilla aktiivisuus (aktiivi toimintaan osallistuminen) osoitetan on kuvausnotaatiossa määritelty mm seuraavia: laatikon viivojen paksunnos luokkaan liitettävä stereotyyppi»<<thread>>» <<process>> Tietovirtakaaviot 40

Esimerkki: UML:n reaaliaikanotaatiot tiedon haku puskurista näytön ohjaus :Päivitä näyttöä :Tiedostopuskuri herätä päivittäjä tiedostopuskurin päivitys näppäintoiminnot :Lue näppäimistöä komennot :Päivitä puskuri a asynkroninen kommunikointi synkroninen kommunikointi tavallinen olio aktiivinen olio (prosessi, säie) Esimerkki: Esimerkki: tiedostopuskurin tiedostopuskurin käsittely käsittely Tietovirtakaaviot 41

Tietovirtakaavion laadintaperiaatteita lähtökohta: tapahtumaluettelo, ER-kaavio, käyttötapauskuvaus, toiminnan yleiskuvaus tekstimuodossa,... korkeintaan 9 transformaatiota / kaavio, vähintään 2 (pl. liittymäkaavio) monimutkaiset kaaviot jaetaan tasoihin» yhdistetään ensin useita transformaatioita yhdeksi ja» kuvataan yhdistettyjen transformaatioiden väliset tietovirrat tarkennettuna (uudelleen, tilanteeseen soveltuviksi muokattuna) alemman tason kuvauksessa Tietovirtakaaviot 42

... tietovirtakaavion laadintaperiaatteita jos saman tason transformaatioiden tarkennetussa kuvauksesa eri transformaatioiden jälkeläisten määrät poikkeavat runsaasti toisistaan, on jäsentely suoritettu virheellisesti (tasapaino saman tason kuvausten välillä) tietovirralla ei ole aikaa eikä suoritusjärjestystä» luonnollista on kuitenkin ajatella, että tieto virtaa kaaviossa ylhäältä alas ja vasemmalta oikealle (mikäli mahdollista) jokaisen transformaation sisäänmenoista on kyettävä tuotamaan sen ulostulot (tarkasta) Tietovirtakaaviot 43

... tietovirtakaavion laadintaperiaatteita transformaatiot numeroidaan tasoperiaatteen mukaisesti alimman tason transformaation numeron perässä on *; transformaatio kuvautuu tämän jälkeen toimintokuvauksena (minispesifikaatio) terminaattorit esiintyvät vain tason 0 ja 1 kaaviossa epäilyttäviä transformaatioita kuvauksessa ovat» mustat aukot: transformaaatiossa on vain sisään meneviä tietovirtoja» generaattorit: transformaaatiossa on vain vain ulostulevia virtoja Tietovirtakaaviot 44

... tietovirtakaavion laadintaperiaatteita nimien tulee olla yksikäsitteisiä ja kuvaavia (ei saman nimisiä virtoja / transformaatioita) kaikki ohjausvirrat on tuotettava ohjausta kuvaavassa tilakoneessa ja kaikki tilakoneen tarvitsemat virrat vastaavasti joko järjeswtelmän ulkopuolella tai ohjaukseen liittyvän toiminteen tuloksena (varmista) kaavioiden eri tasojen on oltava yhdenmukaisia; ylemmälle tasolle tulevat virrat näkyvät alemman tason kuvauksessa ( varmista) tietovarastoon menevät ja sieltä tulevat virrat voi yleensä jättää nimeämättä, koska niiden merkitys selviää esiintymisyhteydestä Tietovirtakaaviot 45

... tietovirtakaavion laadintaperiaatteita tietovarastoa tarvitaan myös kun» tietoa ei voida käyttää seuraavassa transformaatiossa välittömästi sen synnyttyä» kun tietoalkiot käsitellään eri järjestyksessä kuin ne syntyvät tietovarastoja ei käytetä liittymäkaavioissa tietovarasto piirretään näkyviin kun sitä ensimmäisen kerran käyttää vähintään kaksi transformaatiota; tämän jälkeen se esiintyy kaikilla alemmilla kuvaustasoilla Tietovirtakaaviot 46

Esimerkki: maalausrobotti Maalausrobotti: Maalausrobotissa on useita eri vapausasteita omaava käsi, johon on liitetty maaliruisku. Robottia käytetään siten, että maalattava esine laitetaan määräpaikkaan, jossa ihminen maalaa sen käyttäen kättä. Kun maalaus on valmis, osaa robotti toistaa maalausoperaation ja ohjata liukuhihnaa, joka tuo uusia kappaleita maalattavaksi Esimerkin Esimerkin huolellinen huolellinen läpikäynti läpikäynti selkiyttänee selkiyttänee lukijalle lukijalle tietovirtakaavioiden tietovirtakaavioiden laatimista. laatimista. Tietovirtakaaviot 47

... esimerkki: maalausrobotti Tapahtumalista (esim. käyttötapauskaaviosta ja - kuvauksista) 1. Maalari käynnistää robotin 2. Maalari siirtää liukuhihnaa 3. Maalari käskee robottia opettelemaan 4. Maalari käskee robottia maalaamaan 5. Maalari painaa seis-nappulaa 6. Joku liikkuu vaara-alueella 7. Liukuhihnan siirto päättyi 8. Maali loppuu 9. Operaattori sammuttaa robotin Tietovirtakaaviot 48

... esimerkki: maalausrobotti Yhteyskaavio Vaara-alue vaara tilanne komento Operaattori siirretty MaaRo asema Liukuhihna käynnistä maaliloppu ohjaus Käsi Maalisäiliö Tietovirtakaaviot 49

... esimerkki: maalausrobotti Tietovirtakaavio (taso1) vaara Vaara-alue Liukuhihna Operaattori siirretty käynnistä trigger 5 siirrä hihnaa tilanne komento maaliloppu 1 ohja robottia status ohjaus 2 Käyttöliittymä e/d valmis e/d maalausreitti 3 maalaa manuaalisesti asema Maalisäiliö 4 maalaa automaattisesti Käsi ohjaus ohjaus = [seis siirrä käsikäyttö automaatti ] status = [seis seis&siirtää käsikäytössä maalaa&siirtää ] Tietovirtakaaviot 50

... esimerkki: maalausrobotti Ohjaustransformaation (1) tilakaavio: seis siirrä/ t siirrä hihnaa vaara tai seis tai siirretty käsikäyttö/ e maalaa manuaalisesti käsisiirto automaatti/ e maalaa automaattisesti vaara tai seis tai maaliloppu/ d maalaa manuaalisesti vaara tai seis tai maaliloppu/ d maalaa automaattisesti käsimaalaus vaara tai seis automaalaus valmis/t siirrä hihnaa d maalaa automaattisesti siirretty / e maalaa automaattisesti autosiirto ohjaus = [ seis siirrä käsikäyttö automaatti ] lisäksi tilakoneen on kerrottava käyttöliittymälle status status = [ seis seis&siirtää käsikäytössä maalaa maalaa&siirtää ] esim status = maala&siirtää Tietovirtakaaviot 51

Kertauskysymykset Mikä on tietovirtakaavioiden ja käsitekaavioiden välinen yhteys. Kuvaa yhteyttä sopivan yksinkertaisen esimerkin avulla. Missä vaiheessa tietojärjestelmän kehittämistyötä tietovirtakaavioita on luontevaa käyttää. Mikä on ohjaustransformaatio. Mihin tarkoitukseen tietovirtakaavioissa käytetään terminaattoria. Mikä on minispesifikaatio. Millä menetelmillä sem kuvaus voidaan tehdä. Mitä käyttötarkoituksia tietovirtakaaviossa on tietovarastoilla. Mistä ohjaustransformaation toimintaa ohjaava informaatio saadaan. Selitä kurssimateriaaliin kuuluvan tietovirtakaavioesimerkin (tilausjärjestelmä, kaavion kuvaustaso 1) sisältö. Selitä kurssimateriaaliin sisältyvän tietovirtakaavioesimerkin (lämpötilatiedon keruu) sisältö. Kuvaa lämpötilatiedon keruuseen liittyvät transformaatio "anna lämpötilat" toimintokuvauksen tai muun soveltuvan kuvausmenetelmän avulla. Selvitä tietovirtamatriisin toimintaperiaate. Selvitä tietovirtakaavioiden hierarkkisen kuvausralkenteen yleiset periaatteet. Kuvaa tietovirtakaavioissa käytettävän transformaatioiden numerointimenettelyn periaatteet. Mitä tarkoittavat ohjaustransformaatioiden ohjattavalle transformaatiolle annettavat ohjausignaalit enable, disable, trigger. Selitä kurssimateriaaliin sisältyvän vilkkuesimerkin toiminta (koko esimerkki). Ward&Mellor käyttävät omassa ohjaustransformaatioilmaisuissaan signaaleita enable, disable, trigger. Hattley&Pirbhain käyttämäässä menettelyssä on käytettävissä ainoastaan signaali activate, joka vastaa lähinnä signaalia enable. Miten H&Bohjaustransformaatioissa toteutuvat kaksi puuttuvaa signaalia. Mikä on DARTS-notaation käyttötarkoitus. Miksi määrittelyn ja suunnittelun prosessirakenteet voivat poiketa toisistaan. Miten tämä otetaan huomioon ratkaisuiden kuvaamisessa. Selitä kurssimateriaaliin sisältyvä DARTSnotaatiolla kuvattu esimerkki editorin toiminnasta. Mitä UMLssä tarkoitetaan käsitteellä aktiivi olio. Selitä kurssimateriaaliin sisältyvä UMLprosessikuvaus editorin toiminnasta. Tietovirtakaaviot 52