ER-kaaviot. Ohjelmien analysointi. Tilakaaviot. UML-kaaviot (luokkakaavio) Tietohakemisto. UML-kaaviot (sekvenssikaavio) Kirjasto



Samankaltaiset tiedostot
Ohjelmien analysointi. ER-kaaviot

ER-kaaviot. Tilakaaviot. UML-kaaviot (luokkakaavio) Tietohakemisto. Analysointitekniikoita ja -menetelmiä. UML-kaaviot (sekvenssikaavio) Kirjasto

4. Datan käsittely lyhyt katsaus. Havaitsevan tähtitieteen peruskurssi I, luento Thomas Hackman

Luento 6 Luotettavuus Koherentit järjestelmät

BL20A0600 Sähkönsiirtotekniikka

3. Datan käsittely lyhyt katsaus

Yrityksen teoria ja sopimukset

6. Stokastiset prosessit (2)

ABTEKNILLINEN KORKEAKOULU

Johdatus tekoälyn taustalla olevaan matematiikkaan

Mat Lineaarinen ohjelmointi

5. Datan käsittely lyhyt katsaus. Havaitsevan tähtitieteen peruskurssi I, luento Thomas Hackman

Jaetut resurssit. Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit. Mitä voi mennä pieleen? Resurssikilpailu ja estyminen

COULOMBIN VOIMA JA SÄHKÖKENTTÄ, PISTEVARAUKSET, JATKUVAT VARAUSJAKAUMAT

Jaksolliset ja toistuvat suoritukset

Mat /Mat Matematiikan peruskurssi C3/KP3-I Harjoitus 2, esimerkkiratkaisut

Tchebycheff-menetelmä ja STEM

Painotetun metriikan ja NBI menetelmä

Paperikoneiden tuotannonohjauksen optimointi ja tuotefokusointi

Epälineaaristen pienimmän neliösumman tehtävien ratkaiseminen numeerisilla optimointimenetelmillä (valmiin työn esittely)

3 Tilayhtälöiden numeerinen integrointi

5. Datan käsittely lyhyt katsaus

Kuluttajahintojen muutokset

Markov-prosessit (Jatkuva-aikaiset Markov-ketjut)

Uuden eläkelaitoslain vaikutus allokaatiovalintaan

Taustaa KOMPLEKSILUVUT, VÄRÄHTELIJÄT JA RADIOSIGNAALIT. Jukka Talvitie, Toni Levanen & Mikko Valkama TTY / Tietoliikennetekniikka

Puupintaisen sandwichkattoelementin. lujuuslaskelmat. Sisältö:

Epätäydelliset sopimukset

Painokerroin-, epsilon-rajoitusehtoja hybridimenetelmät

Eräs Vaikutuskaavioiden ratkaisumenetelmä

Asennus- ja käyttöohjeet. Videoterminaali

Kokonaislukutehtävien formulointeja ( ) 1.4) Mirko Ruokokoski S ysteemianalyysin. Laboratorio. Mirko Ruokokoski

FYSA220/2 (FYS222/2) VALON POLARISAATIO

1. Luvut 1, 10 on laitettu ympyrän kehälle. Osoita, että löytyy kolme vierekkäistä

Mittausvirhe. Mittaustekniikan perusteet / luento 6. Mittausvirhe. Mittausepävarmuus ja siihen liittyvää terminologiaa

Monte Carlo -menetelmä

SOTEMAKU esiselvitysraportti

Simplex-menetelm. S ysteemianalyysin. 11. luento: Duaali-simplex. 1. vaiheen duaali-simplex. Hinnoittelu. Pivot-rivin laskeminen. Degeneroituneisuus

Geneettiset algoritmit ja luonnossa tapahtuva mikroevoluutio

3.5 Generoivat funktiot ja momentit

1 0 2 x 1 a. x 1 2x c b 2a c a. Alimmalta riviltä nähdään että yhtälöyhmällä on ratkaisu jos ja vain jos b 3a + c = 0.

Tavoitteet skaalaavan funktion lähestymistapa eli referenssipiste menetelmä

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

10.5 Jaksolliset suoritukset

Yksikköoperaatiot ja teolliset prosessit

Mekaniikan jatkokurssi Fys102

HR Lyhyt kuvaus. 1. Toimituksen laajuus

TheraPro HR Lyhyt kuvaus. 1. toimituksen laajuus

r i m i v i = L i = vakio, (2)

Turingin kone on kuin äärellinen automaatti, jolla on käytössään

7. Keko. Tarkastellaan vielä yhtä tapaa toteuttaa sivulla 162 määritelty tietotyyppi joukko

Esitä koherentin QAM-ilmaisimen lohkokaavio, ja osoita matemaattisesti, että ilmaisimen lähdöstä saadaan kantataajuiset I- ja Q-signaalit ulos.

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Moderni portfolioteoria

Palvelun kuvaus. Dell EqualLogic -palvelimen etäkäyttöönotto. Palvelusopimuksen esittely

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

4. A priori menetelmät

3.3 Hajontaluvuista. MAB5: Tunnusluvut

Sähkön- ja lämmöntuotannon kustannussimulointi ja herkkyysanalyysi

Kollektiivinen korvausvastuu

811120P Diskreetit rakenteet

porsche design mobile navigation ß9611

Säilörehun korjuuajan vaikutus maitotilan talouteen -lyhyen aikavälin näkökulma

Hallin ilmiö. Laatija - Pasi Vähämartti. Vuosikurssi - IST4SE. Tekopäivä Palautuspäivä

Kokonaistodennäköisyys ja Bayesin kaava. Kokonaistodennäköisyys ja Bayesin kaava. Kokonaistodennäköisyys ja Bayesin kaava: Esitiedot

Automaattinen 3D - mallinnus kalibroimattomilta kuvasekvensseiltä

JYVÄSKYLÄN YLIOPISTO Taloustieteiden tiedekunta

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

4. MARKKINOIDEN TASAPAINOTTUMINEN 4.1. Tasapainoperiaate Yritysten ja kuluttajien välinen tasapaino

Sisällysluettelo Laitteen asennus Toiminnot Tekniset tiedot Asetukset Viestikoodit Huolto Takuu Turvallisuusohjeet Toiminnot

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

6. Stokastiset prosessit

VERKKO-OPPIMATERIAALIN LAATUKRITEERIT

KOKONAISRATKAISUT YHDESTÄ PAIKASTA

Sähkömarkkinoiden ennusteita

Sähköstaattinen energia

Luento 5. Timo Savola. 28. huhtikuuta 2006

Leica DISTO TM S910 The original laser distance meter

- Keskustelu symbolein. i

PRS-xPxxx- ja LBB 4428/00 - tehovahvistimet

811120P Diskreetit rakenteet

Työssä tutustutaan harmonisen mekaanisen värähdysliikkeen ominaisuuksiin seuraavissa

ler-modern isaatio * d *r n ax* *neäemw & rffi rffi # Sch ind Schindler {4ssxisä tu\*vmisu a**r3 \mj**nt rei

Äärellisten ryhmien hajotelmat suoriksi tuloiksi

Betoniteollisuus ry (43)

d L q i = V = mc 2 q i 1 γ = = p i. = V = γm q i + QA i. ṗ i + Q A i + Q da i t + j + V + Q φ

X310 The original laser distance meter

Pyörimisliike. Haarto & Karhunen.

OUTOKUMPU OY 0 K MALMINETSINTA. talta.

LÄMPIMÄSTI TERVETULOA HYVÄÄ TEKEVIEN HERKKUJEN ÄÄREEN!

Program matopeli; uses graph,grafiikka,crt; VAR. merkkiluettu,herkkutarkistettu : boolean;

13. Lineaariset ensimmäisen kertaluvun differentiaalisysteemit

FDS-OHJELMAN UUSIA OMINAISUUKSIA

= E(Y 2 ) 1 n. = var(y 2 ) = E(Y 4 ) (E(Y 2 )) 2. Materiaalin esimerkin b) nojalla log-uskottavuusfunktio on l(θ; y) = n(y θ)2

AquaPro Bedienungsanleitung Operating instructions Gebruiksaanwijzing Käyttöohje FIN Rev.0607

VAIKKA LAINAN TAKAISIN MAKSETTAVA MÄÄRÄ ON SEN NIMELLISARVO, SIJOITTAJA VOI MENETTÄÄ OSAN MERKINTÄHINNASTA, JOS LAINA ON MERKITTY YLIKURSSIIN

Valmistelut INSTALLATION INFORMATION

Timo Tarvainen PUROSEDIMENTIIANALYYSIEN HAVAINNOLLISTAMINEN GEOSTATISTIIKAN KEINOIN. Outokumpu Oy Atk-osasto

Taustaa. Sekventiaalinen vaikutuskaavio. Päätöspuista ja vaikutuskaavioista. Esimerkki: Reaktoriongelma. Johdantoa sekventiaalikaavioon

Transkriptio:

Ohelmen analsont Ohelmen kuvaamnen kaavolla ohelmen mmärtämnen kaavoden avulla kaavoden tuottamnen ohelmasta Erlasa kaavotppeä: ER-kaavot, tlakaavot, UML-kaavot tetohakemsto vuokaavot (tarkemmn) Vuoanals Ohelma-anals Vpalont ER-kaavot N Krasto asakas omstus M N Lanaaa lanaus N Kra TTY Ohelmstoteknkka TTY Ohelmstoteknkka Kra varataan Merktse varatuks E varauksa Merktse saapuneeks Postettu Tlakaavot Kra lanataan Merktse lanatuks Huonokuntonen Posta Lanaushllssä Palautustskllä Ota kästeltäväks On varauksa Ilmota saapumsesta Lanassa Merktse lanatuks Varattuen hllssä TTY Ohelmstoteknkka UML-kaavot (luokkakaavo) Kra krottaa ISBN lanaa ( ) Anesto hankntapävä hnta kopomäärä hank ( ) luettelo ( ) lanaa () CD kesto lanaa ( ) Leht vuos numero lanaa ( ) Krasto TTY Ohelmstoteknkka : Lanaaa UML-kaavot (sekvensskaavo) hae(anesto) : Luettelo lanaa(asakas) : Anesto : Asakasrekster tarksta(asakas) TTY Ohelmstoteknkka Tetohakemsto Ssältö: nm tetoalkon, tetovaraston ta ulkosen olon pääasallnen nm alas kättökohta a tapa tetoalkota kättävät prosesst kättötapa (sötteenä, tulosteena, tetovarastona) ssällön kuvaus (kätett notaato) lsätetoa Nm Puhelnnumero Alas Kättökohta a -tapa AssessAganstSet-up (tuloste) DalPhone (söte) Kuvaus puhelnnumero = ( suuntanumero ) + varsnanen numero suuntanumero = * nollalla alkava --numeronen luku * TTY Ohelmstoteknkka 6 varsnanen numero = * 6-8-numeronen luku *

Teto- a kontrollvuo Vuokaavot flow graph ltt kääntääteknkkaan kätetään esm. optmonnssa flow chart (kulkukaavo) kontrolln kulku estetään algortmn tasolla flow dagram abstraktmp ests kun edellset kätetään ohelmen suunnttelussa (takasnmallnnuksessa) Teto a kontroll vodaan esttää samassa kaavossa Kääntän lttvät vuokaavot Peruslohko (basc block) koostuu peräkkässtä ohelman lausesta Kontrollvuo e saa haarautua kesken peruslohkon Peruslohkon vo alottaa: ohelman (lauselstan). lause hpn kohteena oleva lause hppkäskn älkeen tuleva lause TTY Ohelmstoteknkka 7 TTY Ohelmstoteknkka 8 Peruslohkot Algortmn esttämnen (kulkukaavo) prod := 0; := ; do begn prod := prod + a [ ] * b [ ]; := + ; end whle <= 0 Optmont t f E S S t S S S E f S; S f E then S else S do S whle E TTY Ohelmstoteknkka 9 TTY Ohelmstoteknkka 0 Merknnät: Abstraktt tetovuokaavot Muutos Data Muutos Data Muutos Data Data 6 Data Data Olo Olo Tetovarasto Järestelmän ulkonen olo esm. söte ta tuloste Muutos ta prosess Tetovuo (ta tetovrta) Tetovarasto TTY Ohelmstoteknkka Esmerkk tetovuokaavosta Lanaaa Krastokortt Kran vvakood Kra Lue kortt Merktse lanatuks Asakastetokanta Anestotetokanta Kutt TTY Ohelmstoteknkka

Tetovuokaavon tarkentamnen Tarkennuksen merknnät Sottaa Puheään Äänaallon muuttamnen sgnaalks Valttu numero Näppämstön elektronkka Puheään Valttu numero Elektronnen sgnaal Taauudet Puhelnsotto Puhelun ktkentä Kuultu puhe Elektronnen sgnaal Vastaaa Sgnaaln muuttamnen äänaalloks Kuultu puhe A A V f X f f W Y f X f Y f B f Z Z f f f f f6 Z Z Z f7 B TTY Ohelmstoteknkka TTY Ohelmstoteknkka Vuoanals (flow analss) Ohelman aoakasten omnasuuksen tutkmnen aamatta ohelmaa kätetään ksnkertastettua, smbolsta versota ohelman datasta Vahtoehtosa termeä: smbolnen aamnen (smbolc eecuton) abstrakt tulknta (abstract nterpretaton) Tarkotus: optmont ohelmen todstamnen nvarantten (psväsvättämen) generont ohelman luotettavuuden parantamnen TTY Ohelmstoteknkka Esmerkk abstraktsta tulknnasta Yhdeksällä aollsuus esm. onko luku 6 aollnen 9:llä? ratkasu: + + + + 6 = 8 on aollnen vodaan soveltaa tarkstuksssa? * 7 + 76 = 6 6 7 7 TTY Ohelmstoteknkka 6 Esmerkkeä vuoanalssta: muutoksa koodn parantamseks Peräkkänen kood: lausekkeen tostuvan evaluonnn elmnont vakoden/vakolausekkeden korvaamnen nden arvolla Slmukat: koodn srtämnen slmukan ulkopuolelle kallden laskutomtusten välttämnen Muta parannuksa: muuttuan korvaamnen tosella kuolleen koodn elmnont Tehokkuus Esmerkk kallden laskutomtusten välttämsestä := ; whle < 00 do a := * ; = + ; od := ; t := ; whle < 00 do a := t; = + ; t := t + ; od TTY Ohelmstoteknkka 7 TTY Ohelmstoteknkka 8

Koodn srtämnen slmukan ulkopuolelle B <- lauseke; Vodaanko srtää? A a B evät rpu slmukkalaskursta B <- lauseke; Ohelma-anals Lähdekoodn a muden dokumentten tarkastelu (vrt. koodanals) Analsonta tapahtuu nelällä tasolla: toteutustaso rakenteellnen taso tomnnallnen taso sovellusalueen taso staattnen anals dnaamnen anals TTY Ohelmstoteknkka 9 TTY Ohelmstoteknkka 0 Esmerkkeä ohelmaanalssta Staattnen anals Nätä sen alohelman runko, ota kutsutaan tetstä lauseesta. Nätä sen tpn esttel, ota kätetään tetn muuttuan esttelssä. Ets kakk muuttuat, otka ovat näkvä tetssä alohelmassa a otka ovat tettä tppä. Dnaamnen anals Ets kakk lauseet, otka suortetaan tetn muuttuan arvon tuottamseks. Ets kakk lauseet, otka kättävät tetn muuttuan arvoa. Ets kakk muuttuat, oden arvoa kätetään laskettaessa tetn muuttuan arvo. TTY Ohelmstoteknkka Esmerkkeä ohelmakaavosta Kutsukaavo ta kutsuvttauskaavo (call graph) Yhteenvetokaavo (program mar graph) Alohelmen välnen vuokaavo (nterprocedural flow graph) Rppuvuuskaavo (sstem dependenc graph) TTY Ohelmstoteknkka ( defne ( a ) ( * a a ) ) ( defne ( fun ) ( + ( ) ( ) ) ) Kutsukaavo (kontrolln kulku) ( defne ( a ) ( * a a ) ) ( defne ( fun ) ( + ( ) ( ) ) ) Tetovuon lsäämnen? ( fun ) =? ( fun ) = arg = arg = fun paluuarvo = 9 fun arg = arg = paluuarvo = paluuarvo = TTY Ohelmstoteknkka TTY Ohelmstoteknkka

Tonen esmerkk kutsukaavosta program Sums read ( n ); := ; whle ( <= n ) := 0; 6 (, ); 7 wrte (, ); 8 := + ; 9 end whle 0 end. Sums procedure (, ) ref, := ; whle ( <= ) (, ); ( ); 6 end whle 7 return, 8 procedure ( ) ref 9 (, ); 0 return procedure ( a, b ) ref a; value b a := a + b; return,, TTY Ohelmstoteknkka Sums a a todellset parametrt muodollset parametrt Yhteenvetokaavo parametrltäntä parametren tetovuo TTY Ohelmstoteknkka 6 Sums { U 6 } { U, U, U } { U 6 } { U 6 } Alohelmen a välnen vuokaavo {U 6 } Kättöoukot (use sets): U : rvllä 7 U : rvllä 7 U : rvllä 8 U : rvllä U : rvllä a U 6 : a rvllä { U, U } { U, U, U 6 } { U } { U, U 6 } TTY Ohelmstoteknkka 7 Rppuvuuskaavo := whle <= Ohelmen a lläpto b a evoluuto a := a + b a b TTY Ohelmstoteknkka 8 Vpalont (slcng) Ohelmen mmärtämnen Vrheden etsntä Ohelmen rnnakkastamnen Vpaleen laskenta perustuu ohelman teto- a kontrollvuohon vpaleen lauseet evät välttämättä peräkkäsä Vpale määrät ohelmakohdan (rvn) a tarkasteltaven muuttuen perusteella Alkuperänen määrtelmä: vpale ssältää lauseet, otka vovat vakuttaa tetn muuttuan arvoon tetssä ohelmakohdassa vpaleen aamnen tuottaa tälle muuttualle samat arvot kun alkuperäsen ohelman aamnenkn seuraus Esmerkkohelma () begn () read (, ); () total := 0.0; () := 0.0; () f <= then (6) := ; (8) read ( ); (9) total := * ; (0) end; () wrte ( total, ); () end; Esmerkk () Vpale krteern <, { }> perusteella: () begn () read (, ); () f <= then (8) read ( ); (0) end; () end; TTY Ohelmstoteknkka 9 TTY Ohelmstoteknkka 0

Esmerkkohelma () begn () read (, ); () total := 0.0; ( ) ; () f <= then (6) := ; (8) read ( ); (9) total := * ; (0) end; () wrte ( total, ); () end; Esmerkk () () := 0.0; () begn Vpale krteern <, { }> perusteella: () read (, ); () end; Esmerkkohelma () begn () read (, ); () total := 0.0; () := 0.0; () f <= then (6) := ; (8) read ( ); (9) total := * ; (0) end; () wrte ( total, ); () end; Esmerkk () Vpale krteern <, { total }> perusteella: () begn () read (, ); () total := 0.0; () f <= then (9) total := * ; (0) end; () end; Rv? TTY Ohelmstoteknkka TTY Ohelmstoteknkka Esmerkkohelma begn () read ( ); () f ( < 0 ) then () := f ( ); () := g ( ); else () f ( = 0 ) then (6) := f ( ); (7) := g ( ); else (8) := f ( ); (9) := g ( ); end f; end f; (0) wrte ( ); () wrte ( ); end; Vpalont a ohelman rppuvuuskaavo 8 9 datarppuvuudet kontrollrppuvuudet 6 7 0 Vpale krteern <0, { }> perusteella TTY Ohelmstoteknkka Vpalonnn aottelu () Alkuperänen el takautuva (backward) vpale ssältää sellaset lauseet, otka vakuttavat muuttuan arvoon Etenevä (forward) vpale ssältää sellaset lauseet, ohn muuttua vakuttaa (ossa vtataan muuttuaan) TTY Ohelmstoteknkka Esmerkkohelma Etenevä vpalont () read ( n ); () := ; () c := 0; () 0 () whle <= ( n dv ) do () f ( n mod ) = 0 then (6) wrte ( ); (7) c := c + ; (8) f; (9) := + ; (0) od; () wrte ( c ); Etenevä vpale krteern <, { c }> perusteella: () c := 0; (7) c := c + ; () wrte ( c ); Vpalonnn aottelu () Alkuperänen el staattnen vpalont perustuu käännösakaseen ohelman tarkasteluun Dnaamnen vpalont otetaan mukaan van ne lauseet, otka tulee suortettua vpale ssältää lauseet, otka vakuttavat muuttuan arvoon tetllä ohelman suortuskerralla dnaamselle vpalonnlle on heman erlasa määrtelmä TTY Ohelmstoteknkka TTY Ohelmstoteknkka 6 6

Dnaamnen vpalont (verrattuna staattseen) Esmerkkohelma () read ( n ); () := ; () c := 0; () whle <= ( n dv ) do () f ( n mod ) = 0 then (6) wrte ( ); (7) c := c + ; (8) f; (9) := + ; (0) od; () wrte ( c ); Staattnen vpale krteern <, { c } > perusteella: kakk muut rvt pats rv 6 Dnaamnen vpale krteern <, { c } > perusteella sötearvolla n = : () c := 0; () wrte ( c ); Dnaamsen vpalonnn erlasa määrtelmä Määrtelmä : osa-ohelma, oka laskee tarkasteltaven muuttuen arvot tetllä suortuskerralla Määrtelmä : kokoelma lauseta, otka vakuttavat tarkasteltaven muuttuen arvohn tetllä suortuskerralla e välttämättä aettava osa-ohelma TTY Ohelmstoteknkka 7 TTY Ohelmstoteknkka 8 Määrtelmen ero Esmerkkohelma () := 0; () whle < 0 do () f = 0 then () h := 0; () := + ; (6) od; (7) wrte ( h ); Dnaamnen vpale krteern < 7, { h } > perusteella:. määrtelmän mukaan: kakk rvt. määrtelmän mukaan: kakk muut rvt pats rv TTY Ohelmstoteknkka 9 7