21.02.2015 Views

Infosüsteemide Projekteerimise konspekt

Infosüsteemide Projekteerimise konspekt

Infosüsteemide Projekteerimise konspekt

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 1<br />

Indrek Sander (2001 sügis)<br />

Sissejuhatus infosüsteemide loomisesse<br />

I osa<br />

Hoiatus! Käesolev materjal on puhtal kujul õppejõu <strong>konspekt</strong> loengu lugemiseks. Loengu käigus seletatakse<br />

mõisteid täpsemalt ning tuuakse rohkem näiteid. Ainult selle <strong>konspekt</strong>i põhjal ei tarvitse eksami sooritamine olla<br />

tulemuslik.<br />

Sisukord<br />

1. Infosüsteemi põhimõisted ........................................................... 2<br />

1.1. Definitsioon ............................................................. 2<br />

1.2. Informatsioon ............................................................ 2<br />

1.3. Toimesüsteem vs infosüsteem ................................................ 2<br />

1.4. Tarkvaratehnika .......................................................... 2<br />

1.5. IS loomise etapid ......................................................... 2<br />

1.6. Prototüüpimine ........................................................... 3<br />

1.7. IS loomise jälgimine ....................................................... 3<br />

1.8. Memorandum ja diagramm .................................................. 3<br />

1.9. CASE vahendid .......................................................... 3<br />

1.10. Info hankimise meetodid ................................................... 4<br />

2. Tehnikad ....................................................................... 5<br />

2.1. Suhtlusdiagramm (Task Communication Diagram) ................................ 5<br />

2.2. Protsessijada (Event driven Process Chains) ..................................... 8<br />

2.3. Kasutusjuhtum (Use-Case) .................................................. 8<br />

2.4. Andmevoodiagramm (Data Flow Diagram) .................................... 10<br />

2.5. Andmetüüpide hierarhia ................................................... 11<br />

2.6. ER-mudel .............................................................. 11<br />

2.7. Objektimudel (Class Diagram) .............................................. 12<br />

2.8. Andmebaasiskeem ....................................................... 14<br />

2.9. Stsenaariumid ........................................................... 14<br />

2.10. Sündmuste diagramm (Event Trace Diagram) .................................. 15<br />

2.11. Olekudiagramm (State Diagram) ........................................... 15<br />

2.12. Äravisatav prototüüp .................................................... 15<br />

2.13. Algoritmide kajastamise skeemid ............................................ 16<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 2<br />

Indrek Sander (2001 sügis)<br />

1. Infosüsteemi põhimõisted<br />

1.1. Definitsioon<br />

Infosüsteem (IS) omab palju enamjaolt sarnaseid määratlusi.<br />

Tüüpilisim: (Organisatsiooni) infosüsteem on info liikumist ja töötlemist käsitlevate reeglite kogumik<br />

(organisatsiooni) ülesannete täitmiseks.<br />

Paljudes definitsioonides on lisatud klausel “ja kasutades selleks kõiki (organisatsiooni) resursse optimaalselt”.<br />

Tegelikult on tegemist IS’ga ka resursside mitteoptimaalse kasutamise juhul.<br />

IS on kellegi/millegi oma. Olles millegi oma – valdkonnaspetsiifiline (nt hambaarsti infosüsteem). Olles kellegi<br />

oma – kogu organisatiooni (peaaegu) kõiki valdkondi haarav. Seega , IS eksisteerib kindlas kontekstis ning omab<br />

sellest kontekstist tulenevaid iseärasusi. IS loomise juures ongi tähtis nende iseärasuste kindlakstegemine.<br />

1.2. Informatsioon<br />

Olemiks loetakse kõike, mis eksisteerib enam-vähem tajutaval kujul ning mida on võimalik temale iseloomulike<br />

tunnuste väärtuste põhjal eristada teistest samalaadsetest olemitest. Nt elusolendid, asjad, mõisted,<br />

abstraktsioonid, tegevused.<br />

Infoks loetakse olemit või väärtust, mis vähendab teadmatust millegi kohta (mingi sündmuse või oleku kohta).<br />

Tänapäevases kontekstis loetakse infoks arvutisse talletatavaid struktuuri omavaid andmeid, mille hulka võivad<br />

kuuluda arvandmed, pildid, hääl, video, maakaardid jpm.<br />

1.3. Toimesüsteem vs infosüsteem<br />

Kuna infosüsteem iseenesest ei eelda arvutisüsteemi olemasolu, siis eristatakse arvutiseeritud infosüsteeme, mida<br />

tegelikult vaadeldakse tarkvarana. Täieliku segaduse vältimiseks kutsutakse reaal-elu süsteemi toimesüsteemiks<br />

(business system).<br />

IS ei tarvitse hõlmata tervet TS’i. Tüüpiline näide: firmal on olemas IS erijuhu FinantsIS lihtne realisatsioon<br />

raamatupidamistarkvara näol, aga tegelikke protsesse ei juhita arvutisüsteemi kaudu.<br />

1.4. Tarkvaratehnika<br />

Igasuguse tarkvara tegemise saab jagada etappideks: mida teha, kuidas teha, tegemine ise, töölepanek. Need<br />

etapid on alati olemas (va juhul, kui mingi etapi ajal otsustakse, et edasi enam ei tehta).<br />

Tarkvara loomisega tegeleb teadusharu nimega Tarkvaratehnikaks (software engineering).<br />

Etappidel on mitmeid nimesid, kui tüüpiliselt on kõik taandatavad järgmistele:<br />

analüüs (analysis)<br />

kavandamine (design)<br />

programmeerimine (implementing, programming, coding)<br />

juurutamine (deployment)<br />

Analüüsi ja kavandamist kokku nimetatakse projekteerimiseks. Inglisekeelses terminoloogias võib see olla veidi<br />

segadusseajav (kavandamine = design, projekteerimine = design).<br />

1.5. IS loomise etapid<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 3<br />

Indrek Sander (2001 sügis)<br />

IS juures võidakse vahet teha süsteemianalüüsil (system analysis) ja nõuete analüüsil (requirements analysis).<br />

Esimene tähendab toimesüsteemi analüüsi. See tähendab kas valdkonna (mille IS) või organisatsiooni (kelle IS)<br />

põhjalikku uurimist. Selle etapi käigus leitakse nõuded, mida esitab toimesüsteem (nn süsteeminõuded). Sinna<br />

alla kuuluvad süsteemi piirid (kasutusala), organisatsiooni nõuded, juurdepääsu nõuded,töötlemisnõuded.<br />

Tarkvaranõuded määravad ära hetkel loodava süsteemi. Siia alla kuuluvad funktsionaalsuse nõuded, välisliideste<br />

nõuded, ohutus- ja turvanõuded, andmete defineerimise ja andmebaasinõuded, installeerimis- ja<br />

dokumentatsiooninõuded, hooldus- ja ekspluatatsiooninõuded. Selleks kasutatakse Tellimust ehk Ülesande<br />

püstitust (Statements of Requirements).<br />

Kavandamise etappi loetakse süsteemi arhitektuuri ja kasutajaliideste kavandamine ning andmebaasi<br />

projekteerimine. Arhitektuurilt võidakse minna väga detailsete kavandusprojektideni, mis sisaldavad moodulite<br />

(objektide) funktsionaalsuse kirjeldusi.<br />

Programmeerimine ja silumine (testimise programmeerimisaegne nimetus). Testimine võidakse sellele etapile<br />

juurde lisada. Testimine võib olla realiseeritud ka juurutamise osana (st tellija vastava valdkonna spetsialistid<br />

testivad süsteemi enne üle võtmist).<br />

Juurutamine sisaldab nii tervikpaigaldamist kui ka täiendavate üksikute töökohtade paigaldamist (tegevusi +<br />

teadmisi), kasutajate väljaõpet (sh motiveerimist), kasutajatoe organiseerimist, edasiarenduse võimaluste<br />

organiseerimist.<br />

1.6. Prototüüpimine<br />

Tavaliselt vastandatakse etapiviisilisele loomisprotsessile, kuid tegelikult on prototüüpimine suure arvu<br />

kordustega etapiviisiline lähenemine (veidi dokumenteerimata analüüsi, veidi dokumenteerimata kavandamist,<br />

programmeerimine, tellijale näitamine ja otsast peale).<br />

1.7. IS loomise jälgimine<br />

Vaja aru saada kui kaugel ollakse. Lahenduseks töö jagamine osadeks ning aruandlus. Silt külge, et projekt.<br />

Kasutatakse projektijuhtimise metoodikaid. Projektijuhtimise kirjandus: Algis Perens “Projekti juhtimine”, 1999.<br />

Üheinimese näide: mp3-de kataloog ühe ööga. Rohkemate inimeste korral vajalik teadmiste säilitamine kõigile<br />

arusaadaval kujul. Eesmärgiga, et hiljem ise ja teised suvalisel hetkel suudaksid aru saada ilma ise (uuesti)<br />

läbimata info kogumise ja analüüsimise protsessi.<br />

1.8. Memorandum ja diagramm<br />

Selleks pannakse kogutud (ja töödeldud) info kirja. Vaba tekstina (memorandum) või joonistena e<br />

diagrammidena. Esimesel juhul tuleb kasutada head liigendamist, viimasel juhul vajalikul määral standardset<br />

notatsiooni (märgistust, mis määrab, kuidas mingit mõistet joonistada).<br />

1.9. CASE vahendid<br />

Suuremate süsteemide juures lähevad kõik diagrammid väga suurteks ning diagrammide omavaheliste seoste<br />

jälgimiseks on mõistlik kasutada arvuti abi. Vastava tarkvara abil saab säilitada süsteemi analüüsimisel kogutud<br />

ja töödeldud informatsiooni.Tarkvara kasutamise juures tekivad veel väikesed “lisasoovid” – et saadud teadmisi<br />

oleks nende säilitamiskujust võimalik viia võimalikult kaugele süsteemi valmimise suunas (nt andmebaasi<br />

loomiseks). Analüüsimist ja info säilitamist võiks teha ilma arvutita, kuid lisasoovide korral arvutita hakkama<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 4<br />

Indrek Sander (2001 sügis)<br />

ei saa. Tavaliselt on selleks spetsiaaltarkvara – nn CASE-vahendid (computer aided software engineering).<br />

1.10. Info hankimise meetodid<br />

Info hankimiseks tuleb kasutada ajujõudu ja suhtlemisoskust. Mõlemad omadused on infosüsteemi loojatele väga<br />

tähtsad.<br />

1.10.1. Ajurünnak<br />

3-6 osavõtjat genereerivad kiiresti ideid. Suuline ja kirjalik vorm.<br />

1.10.2. Mõttekaardistus<br />

Mõttekaarditus on visuaalne ajurünnak. Mõttekaardistus on hea valdkonnast arusaamiseks, selguse lomiseks,<br />

ideede genereerimiseks, mõistete kokkukorjamiseks. Mõttekaardistud baseerub vabadel assotsiatsioonidel. Paberi<br />

keskele kirjutatakse alustusväljend (nt süsteemi nimi, tellija nimi), tõmmatakse ring ümber. Kõrvale kirjutatakse<br />

esimene uitmõte. Sellele samuti ring ümber ning ühendatakse ringid omavahel joonega. Järgmine uitmõte —<br />

seotud esimese või teise ringiga või mõlemaga (parem siduda ühega — hilisemas analüüsis on puud kergem<br />

läbida kui graafi).<br />

Ükski uitmõte pole halb! Teemast liiga kaugele jõudes mitte edasi minna. Hiljem saab mõttekaardi ette võtta ja<br />

märksõnad välja noppida. Töövahenditeks on suur paber ja kirjutusvahend. Tegijateks on analüüsijad, ka<br />

koostöös tellijaga. Suuremate projektide korral võib seda korrata mitmeid kordi.<br />

Miks paber on parem kui arvuti?<br />

1.10.3. Intervjuu<br />

Ettevalmistatud küsimused. Intervjueeritavaid 1-2. Töö stiilis "küsimus-vastus". Kõik vastused (ka triviaalsed)<br />

kirjutatakse üles. Alustada üldisemast:<br />

mis on intervjueeritava nimi ja positsioon (ametikoht, seotus)?<br />

mis on asutuse nimi?<br />

mis on eesmärgid ja tegevussuunad?<br />

millised on seosed teiste asutustega?<br />

Jätkatakse spetsiifilistega. Kui vastuste saamise käigus tekib jooksvalt uusi küsimusi, siis endale kindlasti kirja<br />

panna ka oma küsimus.<br />

1.10.4. Valdkonna teadmised ja seadusandlus<br />

See on kirjaliku info kokkukorjamine. Internet & Riigi Teataja. Asutuse käskkirjad. Omanike visioon<br />

lähitulevikuks. Teatmeteosed.<br />

Õppeinfosüsteemi näide mõttekaardistuseks<br />

Kordamine<br />

Olgu meil vaja luua programm. Me mõtleme, milline see olla võiks, seejärel mõtleme, kuidas seda teha ning siis<br />

teeme ära ja paneme käima (analüüs, kavandamine, programmeerimine, juurutamine). Korrates neid samme<br />

vastavalt vajadusele saame toimiva elujõulise programmi.<br />

IS korral rääkisime, et analüüs hõlmab natuke laiemat ala – nimelt vaadeldakse IS loomise korral ka konteksti.<br />

Teostatakse toimesüsteemi analüüs.<br />

Edasi hakkame vaatama meetodeid, kuidas kahe esimese sammu tegevusi/tulemusi formaliseerida (“paberile<br />

kanda”). Pärast üksikute sõltumatute tehnikate ülevaatust seome nad kokku IS loomise etappideks või koguni<br />

terve IS loomise metoodikaks. Jääge meiega! <br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 5<br />

Indrek Sander (2001 sügis)<br />

2. Tehnikad<br />

2.1. Suhtlusdiagramm (Task Communication Diagram)<br />

Suhtlusdiagramm kuulub toimesüsteemi analüüsi alla, kuid TCD’d võib kasutada ka kavandamisel.<br />

Diagrammi põhiobjektiks on Ülesanne (task). See on tegemist vajav töö (nt arve allkirjastamine, süsteemi<br />

töötamine) ehk, “mis tuleb teha”. Kas ta ka tehakse, on teine küsimus...<br />

Ülesandel on 4 põhiparameetrit:<br />

nimi, toimumistingimus (triggering condition), tegija (performer), kestus (duration)<br />

Kohustuslikud on nimi (ilmselge miks!) ja tegija (täitja). Miks tegija? Diagrammil jaotatakse ülesanded<br />

sisemisteks (toimesüsteemi poolt kontrollitavateks) ja välisteks. Jaotus toimub tegija põhjal. Kui tegija on<br />

süsteemi kuuluv, siis on tegu sisemine. Ühistegevust süsteemi kuuluvate ja väliste tegijate vahel pole! Küll aga<br />

toimub ühistegevus süsteemi kuuluvate tegijate vahel.<br />

Ääremärkus: kuna tegu mitte IS, vaid TS analüüsi vahendiga, siis saab IS ise olla üheks tegijaks (kaastegijaks).<br />

Ülesannet kujutatakse ümarnurkse nelinurgana. Kui tegemist on välise ülesandega, siis joonistatakse nelinurk<br />

punktiirjoonega. Ülesande nelinurk jaotatakse horisontaalse joonega pooleks. Ülemisse poolde kirjutatakse (eri<br />

ridadele) kaks esimest põhiparameetrit (nimi ja toimumistingimus), alumisse teised kaks (tegija ja kestus).<br />

Sisemised ülesanded on kas tavalised või otsusega ülesanded. Otsusega ülesandeid kutsutakse ka jagunemisülesanneteks.<br />

Otsus tähendab, et ülesande täitmise käigus sõnastakse küsimus ning tehakse vastavalt vastusevariantidele<br />

otsus. Otsusest tingituna võidakse järgmiseks täitmisele võtta erinevad ülesanded.<br />

Otsusevariante tähistatakse pikaksvenitatud kuusnurkadega, kuhu on kirjutatud otsuse lühike sõnastus. Otsusevariante<br />

on alati vähemalt 2 ning nad paigutatakse (üldjuhul) ülesande alla üksteise kõrvale. Otsusvariandid<br />

seotakse ülesandega, mille juurde nad kuuluvad, tavalise joonega. Diagrammi mõttes on tegu ühe kujundiga<br />

(ülesanne ja temaga seotud otsusevariandid), mille tüübiks on otsusega ülesanne.<br />

Miks ülesanded üldse tekivad? Kuidas on nad järjestatud? Selle märkimiseks kasutatakse “sündmuse” mõistet.<br />

Sündmused on ainukesed üleminekud ühe ülesande juurest teise juurde.<br />

Sündmuseid on kolme liiki.<br />

1) Lihtsaim on juhtsündmus. Seda tähistatakse ilma nimeta noolega, mis näitab oma suunaga ülesannete<br />

järgnevust. Kui ülesandesse siseneb veel teisigi sündmuseid, siis asendatakse temasse sisenevad juhtsündmused<br />

andme- ehk teatesündmustega.<br />

2) Teatesündmust võib ette kujutada objektina. Sellise objektina, mis on ühe ülesande väljundiks ja teise<br />

sisendiks. Teatesündmusel on alati nimi. See nimi kirjeldab ära andmetüübi. Loomulikult ei räägita, et sündmus<br />

on objekt, vaid, et sündmus kannab objektiga määratud infot. Objekt võib olla materiaalne (asi, kaup) või lihtsalt<br />

teadaanne, sõnum või korraldus. Tähistatakse noolega, mille juurde on kirjutatud nimi.<br />

3) Kolmandaks sündmuse liigiks on ajasündmus. See on iseenesest juhtuvate asjade kajastamiseks. Miks meie<br />

ülesanded üldse üles kerkivad? On kaks võimalust: välise ülesande juurest saabub sündmus (tavaliselt teatesündmus)<br />

või tekib ajasündmus. Näiteks 8.00 algab tööpäev. Noole algusesse joonistakse kella kujutis (pisike<br />

ring osutitega) ja kõrvale kirjutatakse definitsioon: “iga 2 minuti järel”, “tööpäeviti”, “8.00”, “8.00 kuni 9.00”.<br />

Lisaks saab diagrammil kujutada andmekogusid, mis kajastavad pikaajaliselt säilivaid andmeid (vastandina<br />

sündmuse andmetele, mis tarbitakse ära või transformeeruvad). Andmekogu tähistatakse rööpkülikuna.<br />

Andmekogu saab kasutada ülesande käigus, seega andmekogu on saab olla seotud ainult ülesannetega. Andmete<br />

liikumise suunda (ehk, kas andmeid loetakse või sisestatakse/muudetakse/kustutatakse) näitab noole suund. Noole<br />

ots ei ole mitte harjumuspärane teravik, vaid ringike. Kui ringike (ehk nooleots) on andmekogu poole suunatud,<br />

siis andmeid kirjutatakse. Kui ülesande käigus toimub mõlemasuunaline andmekogu kasutamine, siis pannakse<br />

ringike mõlemasse noole otsa (võib teha ka kaks noolt). Ilma nooleotsteta noolt tõlgendatakse kui “määramata”<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 6<br />

Indrek Sander (2001 sügis)<br />

või “pole tähtis”.<br />

Soovitatavalt ei kajastata TCD’l üksikandmeobjekte. Samas on see võimalus siiski olemas – ristkülik.<br />

Toimimistingimustest näidete põhjal! AND (&), OR ( | )<br />

Näited (Tööpäeva kohviga alustamine)<br />

1) juhtsündmus, ajasündmus<br />

2) otsustamine, andmekogu<br />

Sündmus “tööpäeviti 8.00" ootab ülesande “ukse<br />

taga” kuni vajalik resurss (sekretär) vabaneb (jõuab<br />

tööle).<br />

Andmekogust ainult loetakse andmeid.<br />

3) lisada bossi saabumine tööle (suvalisel ajal), kohvi joomine kohe, otsustamine, kas veel juua, kohvi olemasolu<br />

kontrollimine, sekretäri hõikamine, sekretäri iseseisev kohvi olemasolu kontroll iga 30 min tagant, bossi<br />

töötegemine, sekretäri töötegemine katkestustega.<br />

Kodutöö: Vanaemale külla!<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 7<br />

Indrek Sander (2001 sügis)<br />

Detailiseerimine<br />

Ühe ülesande täpsustamiseks tuleb võtta kõik tema sisendid ja<br />

väljundid (sündmus+ülesanne). Algatajad ülesanded ja algatatavad<br />

ülesanded tähistatakse täiendava punktiirjoonega ristkülikuga.<br />

Neist tõmmatakse sündmused, mille otsad jäävad ripakile. Seejärel<br />

hakatakse detailiseeritavat ülesannet alamülesannetena lahti<br />

kirjutama.<br />

Võimsamad tingimuste kirjeldamise vahendid<br />

Tingimust vaatlesime siiani kujul:<br />

<br />

või<br />

{ }<br />

kus operaator on AND või OR<br />

ja sündmus on ülesande sisendsündmuste hulgast.<br />

Lisaks võib olla kasutuses märkimine:<br />

<br />

kus lisaklausliks võib olla: ALL, , REPEAT<br />

ALL: tarvitada ülesande jaoks ära kõik sedalaadi sündused<br />

: tarvitada ülesande jaoks ära täpne arv sedalaadi sündmuseid (nt 3 kohvisoovi)<br />

REPEAT: korrata ülesannet iga sündmuse tekkimise jaoks (omab mõtet teiste avaldisse pandavate tingimuste<br />

püsimajätmise korral)<br />

Lisaks avaldise lisatingimus: WHERE<br />

nt sündused a, b korral<br />

a AND b WHERE a.C = b.D<br />

a OR (b WHERE b.E > 0)<br />

Mittekohustuslik sündmus, mis tuleb ära tarvitada: a [AND b]<br />

Vahemiku tarvitamine: muud tingimused AND kohvisoov [AND kohvisoov]<br />

Hargnevustele saab lisada toimumine tõenäosuse.<br />

Transaktsioon (TID), notid (ehk any)<br />

Tegijate tingimused<br />

Täitjatele võib samuti panna tingimusi<br />

boss AND sekretär –<br />

boss [AND sekretär] –<br />

mõlemad peavad<br />

kohal olema<br />

k ui sekretär on<br />

olemas,<br />

siis<br />

kasutada<br />

boss OR sekretär – üks kahest<br />

Kuna täitja all mõeldakse ka muud resurssi<br />

kui inimene, siis on võimalik ka:<br />

boss AND auto<br />

tehnik AND (telefon OR auto)<br />

Saab kasutada nõudeid arvule:<br />

programmeerija<br />

ja kompententsile:<br />

programmeerija WITH COMPETENCY=php<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 8<br />

Indrek Sander (2001 sügis)<br />

Ressursid saab panna hierarhiasse. Vastavat infot kajastavat diagrammi nimetatakse ORG-diagrammiks.<br />

Siis tingimustes saab kasutada punkt-notatsiooni nende tähistamiseks:<br />

Osakond1.programmeerija AND Osakond1.juhataja AND auto<br />

sel juhul tähistab ressurs, mida leidub mitmes kohas just nimelt täpsustamata alluvuse juhtu<br />

Osakond2.juhataja AND programmeerija – ükskõik, mis osakonna programmeerijad<br />

Sündmuste peale saab panna arvutusvalemeid, mis<br />

väärtustavad väljundsündmuse andmeid<br />

väärtustavad ülesannete atribuute<br />

2.2. Protsessijada (Event driven Process Chains)<br />

TCD teistsugune esitusvõimalus. On olemas peaaegu üks-ühene vastavus.<br />

Sündmust joonistatakse kuusnurgana. Jaotused ja ühinemised tehakse läbi ringina kujutatud loogiliste ühenduste.<br />

Loogilisteks ühendusteks on OR, AND ja XOR (välistav). Viimane tähendab hargnemist või sisendsüdmuste<br />

korral kindlat väidet, et juhtuda saab ainult üks sündmustest.<br />

Ring jagatakse pooleks – ülemisse poolde kirjutatakse operaator sisendi ja alumisse poolde väljundi jaoks.<br />

Üldjuhul on üks neist pooltest tühi.<br />

Näited:<br />

2.3. Kasutusjuhtum (Use-Case)<br />

Kujutatakse süsteemi (või tema alamosa, nt klassi) funktsionaalsust, mis avaldub väliste tegijate suhtluses<br />

süsteemiga (süsteemi osaga). Eesmärgiks on aru saada, kuidas süsteem paikneb muu maailma suhtes.<br />

Diagrammi keskne element on süsteemi funktsioon või hulk ühise nimetaja alla kokku võetavaid tegevusi. Seda<br />

nimetatakse kasutusjuhtumiks (või lihtsalt juhtumiks). Kasutusjuhtum peaks olema arusaadavalt eristatav teistest<br />

juhtumistest, olema terviklik ning tema kasu (tulemus) peaks olema kas mõõdetav või tajutav.<br />

Tähistatakse ellipsina.<br />

Teiseks komponendiks on tegija (actor). Roll antud süsteemi kontekstis. Modelleerimine on alati üldistus, nii ka<br />

siin! Tegijatena me üldistame inimeste käitumismalle. Mari ja Jüri on kliendid. Nad ostavad midagi. Nad<br />

üldistakse nime alla Klient. Samas võib Jüri koos Kallega olla partner, kes müüb mingit tooret. Sellesama Jüri<br />

üldistame Partneriks. Üks füüsiline isik võib olla mitmes rollis. Ühte rolli täidab üldjuhul mitu inimest.<br />

Tegija on kasutusjuhtumi initsiaatoriks, selles osalejaks ning selle tulemuste tarbijaks.<br />

Kasutusjuhtum peab olema terviklik – väljastpoolt vaadatuna. Sellest nõudest järeldub kohe meetodi suunitlus<br />

kliendikesksusele. Toimesüsteemi analüüsi juures on tegijateks organisatasioonist väljapoole jäävad nähtused.<br />

Nõuete analüüsi juures aga on tegijate hulgas ka töötajad (organisatsiooni ressursid).<br />

Tegijat tähistatakse kriipsujukuna. UML’is võib teda tähistada nagu iga teist objekti – ristkülikuga. UML’is on<br />

tegija spetsifitseeritud stereotüübiga .<br />

Ühel diagrammil võib kujutada:<br />

a) mingi olemuslikult seotud juhtumite hulka<br />

b) ühe tegijaga seotud juhtumeid<br />

c) juhtumid, mis tegelevad samade andmetega<br />

d) juhtumid, mis on seotud mingi tegijate grupiga<br />

e) kõige tähtsamad juhtumid<br />

f) jne....<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 9<br />

Indrek Sander (2001 sügis)<br />

Diagrammi koostamiseks joonistatakse Kasutusjuhtumid ning Tegijad. Tegija seotakse kasutusjuhtumiga lihtsa<br />

joonega.<br />

Laiendamine (extend) Tüüpjuhtumi jaoks leidub mingi situatsioon, kus lisanduvad täiendavad tegevused.<br />

Tüüpjuhtum peab olema terviklik ja täielik ilma täiendusteta – nood on ainult erijuhud!<br />

Nool on suunatud tüüpjuhtumi poole.<br />

Sisaldumine (include). Näitab sõltumatut (kapseldatud) juhtumit, mis on kohustuslik, kuid on eristatav.<br />

Nool on suunatud sisalduva juhtumi poole. Sisalduv juhtum on alati abstraktne ning ei ole kunagi seotud tegijaga<br />

(sisuliselt on seotud iga konkreetse tüüpjuhtumi tegijatega).<br />

Panga näide: Tüüpjuhtumid “Anna raha”, “Võta raha” ja “Tee ülekanne” vajavad sisalduvat juhtumit<br />

“Identifitseeri klient”.<br />

Üldistamine (generalization)<br />

Tuletusnool (nooleotsaks on suur seest tühi kolmnurk) otsaga üldistatud juhtumi poole.<br />

Võimalik ka tegijate üldistamise näitamine. Ettevaatust – mitte minna liiale. See meetod on siiski mõeldud<br />

suhtlemiseks IS tellijaga ja seega on soovitatav kõiki lisavõimalusi mitte kasutada.<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 10<br />

Indrek Sander (2001 sügis)<br />

2.4. Andmevoodiagramm (Data Flow Diagram)<br />

Funktsionaalne mudel, mis näitab funktsionaalseid seoseid süsteemi sisend-, väljund- ja väliste andmete vahel.<br />

Võrreldes suhtlusdiagrammiga – AVD omab peaaegu samu komponente, kuid temaga ei saa näidata protsesside<br />

toimumise järjestust ega tingimusi. Puuduvad tegijad.<br />

Eesmärk – näidata andmete liikumist (andmevooge) läbi protsesside alates nende tekkitajatest kuni nende<br />

kasutajateni.<br />

Komponendid (tähistused Yourdon/DeMarco):<br />

andmevoog – kannab andmeid (data flow), tähistatakse noolega<br />

protsess – teisendab andmeid (process), tähistatakse ringiga<br />

välisobjekt – aktiivne objekt, mis tekitab või kasutab andmeid (actor, object), tähistatakse ristkülikuga<br />

andmekogu – passiivne objekt, mis hoiab andmeid (data store), tähistatakse 2 parall. hor.joonega<br />

Protsess<br />

AVD on nn hierarhiline protsesside mõttes – põhimõtteliselt võib iga protsessi edasi täpsustada (lahti kirjutada).<br />

Esimene tase – kontekstidiagramm – sisaldab ainult ühe protsessi – süsteemi enda.. Lisaks süsteemile on esimesel<br />

tasemel süsteemi kontekst (välisobjektid ja (tähtsamad) andmekogud ning sisend/väljund s.o seosed<br />

välisobjektidega). Järgmisel tasemel täpsustatakse, kuidas selle protsessi sisendist saada väljundit.<br />

Kõige detailsemal tasemel on protsess mingi kõrvalefektideta funktsioon (arvutuslik, ühe operatsiooni<br />

sooritamine), mis kirjeldatakse valemina või loomulikus keeles.<br />

(Välis)Objekt<br />

Põhjustab andmevooge olles nende tekitaja või tarbija. Objektid määravad AVD piirid – nendes algavad ja<br />

lõppevad andmevood. Mida objektid teiste objektidega teevad, milline on nende sisemine hingeelu – see ei ole<br />

AVD ülesanne.<br />

Andmevoog<br />

a) näitab andmeid (väärtuseid), mis liiguvad<br />

b) ei muuda andmeid (väärtuseid)<br />

c) on ühe objekti või protsessi väljundiks ja teise objekti või protsessi sisendiks<br />

d) ei ühenda objekte<br />

e) võib jaguneda – minna mitmele tarbijale<br />

f) võib liituda teise vooga (tekivad liitandmed)<br />

Andmekogu<br />

Andmekogu võimaldab koguda andmeid<br />

hilisemaks kasutamseks. Andmekogu ei tekita<br />

mingeid operatsioone. Ta ainult reageerib andmete<br />

jurdepääsu ja salvestamise käskudele. Andmekogu<br />

võimaldab juurdepääsu andmetele erinevas<br />

järjekorras nende loomisele.<br />

Kõrvaloleval joonisel tähendab ilma nimeta<br />

andmevoog terve andmekogu etteandmist Hinna<br />

leidmise protsesile.<br />

Registrilaadsete infosüsteemide korral on olemas<br />

ainult operatsioonid lisa-muuda-kustuta ning seega<br />

on funktsionaalne mudel alates mingist detailsuse<br />

astmest juba triviaalne.<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 11<br />

Indrek Sander (2001 sügis)<br />

2.5. Andmetüüpide hierarhia<br />

Aluseks on lihtandmetüübid<br />

(standardtüübid):<br />

char(n) – tekst maks. pikkusega n<br />

number(n,p) - arv kogupikkusega n<br />

(sh koma ja komatagused kohad)<br />

ning komataguse pikkusega p<br />

date – kuupäev<br />

time – kellaaeg<br />

binary – suvaline baidijada (fail)<br />

Selle põhjal luuakse liittüübid<br />

Joonisel toodud näites olgu hinne<br />

number (1,2,3,4,5).<br />

2.6. ER-mudel<br />

Chen 1976<br />

Olem (entity)<br />

Atribuut (attribute) – olemi omadus, parameeter, tunnus<br />

Seos (relationship)<br />

Olem või atribuut? Vastus: kui tekib olukord, kus atribuut omab atribuute, siis tuleb esialgne atribuut muuta<br />

olemiks. Kui atribuut omab seost ka teise olemiga, siis jällegi tegu pigem olemiga.<br />

Seos – rombi sees, verb. Probleem verbi suunatusega (nt “kuulub”).<br />

Andmete modelleerimist<br />

nimetatakse ka staatiliseks<br />

modelleerimiseks.<br />

Ei kujutata andmete liikumist,<br />

vaid vajalike andmete<br />

hoidmist andmebaasis (lõpptulemus). Selleks on vaja aru saada tehnilisel tasemel, missugused on andmed<br />

(andmetüübid) ja kuidas nad on omavahel seotud.<br />

Staatiline mudel näitab meie kontekstis süsteemi objektide paigalpüsimist. Teisisõnu, andmete hoidmist.<br />

Staatilisel mudelil saab vaadelda eri tasemeid:<br />

Kontseptuaalne ehk loogiline mudel<br />

Füüsiline mudel (vastab andmebaasile)<br />

Staatilise mudeli abil kirjeldatakse, mis andmeid peab süsteemi hoidma. Anal üüsi osas on põhirõhk küsimusel<br />

mis? (mida?). Selle etapi tarbeks ongi kontseptuaalne mudel nimega ER-mudel. Kavandamise faasis tuleb<br />

ER-mudelis salvestatud info põhjal luua füüsiline andmemudel.<br />

Mudel kujutab kõiki süsteemi mõisteid, millede andmed (väärtused) vajavad salvestamist (hoidmist), ning<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 12<br />

Indrek Sander (2001 sügis)<br />

nendevahelisi seoseid. Mudeli tegemise käigus tuleb need mõisted leida! Leidmisel on aluseks nt mõttekaardistus,<br />

andmevoodiagramm, suhtlusdiagramm jne.<br />

Entity-Relationship Diagram (entity = olem, mõiste, objekt; relationship = seos) kirjeldab ära andmebaasi mõistes<br />

põhikomponendid (objekt = andmebaasi tabel, seos = andmebaasi tabel või välisvõti).<br />

Mitu detailsuse astet:<br />

a) Ainult olemid - kõik mõisted, mille kohta on vaja säilitada informatsiooni<br />

b) Lisatakse olemitevahelised seosed<br />

c) Olemitele lisatakse atribuudid<br />

d) Seostele lisatakse täpsustused<br />

e) Seostele lisatakse atribuudid (tekivad uued olemid, eriti juhul kui vaja seosele lisada seost)<br />

f) Olemitel fikseeritakse võtmed<br />

g) Olemite atribuutidele lisatakse tüübid<br />

Kaks notatsiooni:<br />

1) Olem – ristkülik, Seos – romb, Atribuut – ring<br />

2) Olem – ristkülik, mille sees on olemi nimi ja joone all atribuudid, seos – spetsotstega noolnotatsioon<br />

Seos kui spetsiaalotsaga nool<br />

Nool näitab seose olemasolu. Noole peale võõib kirjutada seose nime (tegevust näitava verbi või rolli näitava<br />

nimisõna). Võib kirjutada ka kaks nime (mõlema suuna jaoks oma nimi).<br />

Nooleotsad<br />

Olemisse suunduv nooleots näitab maksimaalsust – kas teises otsas oleva olemi ühe esitusega võib olla seotud<br />

1 või rohkem selle olemi esitusi.<br />

Võib olla kasutatud ka kaheosaline nooleots. Olemipoolne näitab maksimaalsust, teine minimaalsust (0 või 1).<br />

Kahe olemi vahel võib olla mitu seost. Näiteks, olemite Töötaja ja Osakond vahel on seosed “töötaja töötab<br />

osakonnas” ja “töötaja juhib osakonda”. Esimene on üks-mitmele ja teine on üks-ühele seos.<br />

Reeglid:<br />

Atribuudi asemel olem<br />

– võib, kui omab atribuut omaks omakorda atribuute<br />

– soovitatav, kui atribuut on kasutuses mitmes olemis<br />

– peab, kui atribuut kordub olemi sees (nt asutuse telefon1, telefon2, telefon3 on halb lahendus)<br />

Üks-ühele seoses olevate olemite liitmine<br />

– kaotatakse see olem, kelle poolel on minimaalsus 0 (kui sellist pole, siis vähemtähtsam)<br />

– kaotatava olemi atribuudid liiguvad allesjääva olemi atribuutideks (võib olla vajalik übernimetamine)<br />

2.7. Objektimudel (Class Diagram)<br />

See on staatiline mudel, mille eesmärgiks on näidata erinevate mõistete omavahelisi seoseid. Objektimudeli nimi<br />

viitab seosele objekt-orienteeritud programmeerimise paradigmaga.<br />

Objekt on konkreetne esitus, isend.<br />

Klass on ühesuguste objektide kirjeldus, üldistus.<br />

(Võrdlus programmeerimisega: klass on tüüp ja objekt on muutuja)<br />

Ühte klassi kuuluvatel objektidel on ühte liiki omadused – neid (ühe klassi objekte) saab võrrelda. Omadused<br />

kajastuvad atribuutide ja operatsioonide hulgana. ER-mudeli juures rääkisime ainult atribuutidest. Klass võib<br />

olla teise klassi alamklassiks (täpsustuseks) ja vastupidi — klass võib olla teisele klassile ülemklassiks<br />

(üldistuseks). Alamklasse võib olla mitu.<br />

Näiteks, kolm klassi: Isik, Autor, Laenutaja. Iga laenutaja on isik, seega on klass Laenutaja klassi Isik suhtes<br />

alamklass ehk klass Isik on klassi Laenutaja ülemklass.<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 13<br />

Indrek Sander (2001 sügis)<br />

O-O paradigma võimaldab ka juhtu, kus ka ülemklasse on mitu. Keerukuse tõttu on neid soovitav vältida (vt O-O<br />

teooriat selgituse saamiseks).<br />

Klassil on atribuudid, igal objektil on need väärtustatud konkreetsete väärtustega. Ülemklassi atribuudid on<br />

olemas kõigil tema alamklassidel. Joonisel seega neid ei märgita. Vt Laenutaja eesnimi.<br />

Klassil on operatsioonid. Sama operatsioon toimib kõigil klassi objektidel ühtemoodi. Alamklassil võib sama<br />

operatsioon käituda erinevalt. Iga objekt teab oma klassi ning kasutab vastava klassi operatsiooni.<br />

Näiteks, klassid Laenutus ja Harulduse laenutus. Laenutus omab operatsiooni Pikendamine. Kuna Harulduse<br />

laenutus on Laenutuse alamklass, siis omab ka tema operatsiooni Pikendamine, kuid viimase sisu on erinev<br />

(haruldase raamatu laenutamise korral teeb pikendamise operatsioon läbi suurema kontrolli enne uue tähtaja<br />

määramist või ei luba uut tähtaega määrata). Vrd Laenutaja operatsioon Nimemuutus, Harulduse laenutuse<br />

operatsioon Tagastamine.<br />

Seosed<br />

tavaline seos<br />

(association)<br />

osalusseos<br />

(aggregation)<br />

tuletus- ehk<br />

üldistusseos<br />

(generalization)<br />

ER’i analoog<br />

üks objekt (klass) sisaldub teises (nt raamat koosneb sisukorrast ja peatükkidest)<br />

seosnoole üks ots (romb) viitab tervikule, teine ots näitab sisalduvuse võimalikkust<br />

(üks, mitu).<br />

Seos võib levitada operatsiooni. Selleks, et sooritada tervikuga mingit operatsiooni<br />

võib vaja minna selle operatsiooni käivitamist tema koostisosadel. Nt raamatu<br />

väljatrükkimiseks tuleb trükkida välja sisukord ning kõik peatükid. Operatsiooni<br />

levitamist tähistatakse noolega osalusseose kohal, noole peale kirjutatakse<br />

levitatavad operatsioonid.<br />

“on sama sorti”-seos (nt laenutaja on isik — tehniliselt: Laenutaja on Isiku<br />

alamklass, Isik on Laenutaja ülemklass)<br />

Tähistatakse kolmnurgana üleklassi juures. Täidetud kolmnurk tähendab, et<br />

alamklassid on lõikuvad (üks üleklassi objekt võib kuuluda mitmesse alamklassi).<br />

Nt ülemklass Ülikooli inimesed, alamklassid Tudeng ja Õppejõud — sama isik<br />

võib olla nii tudeng kui ka õppejõud.<br />

Teoreetiline võimalus: ühel alamklassil võib olla mitu ülemklassi.<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 14<br />

Indrek Sander (2001 sügis)<br />

Tingimused<br />

a) Atribuutide tingimused<br />

kontrollitingimused (nt Tellimise kuupäev < Tagastamise kuupäev)<br />

arvutusvalemid (nt Sünnipäeva isikukoodist tuletamise eeskiri)<br />

b) Seoste tingimused — abstaktsemad: üks seos on teise seose osa (klasside Töötaja ja Osakond vahel on kaks<br />

seost: "töötatab" ja "juhatab". Teine on esimese osa (juhataja on töötaja)).<br />

Väljendatakse noolega punktiirjoonega, mille juurde kirjutatakse tingimus.<br />

2.8. Andmebaasiskeem<br />

Eelteadmised<br />

OM: klassi objekti identifitseerimine. Võti, primaarvõti<br />

Üleminekureeglid (ER'ilt, OM'ilt)<br />

elimineerida mitu-mitmele seosed<br />

määrata võtmed<br />

valida primaarvõtmed<br />

osalusseosed (OM) lihtseosteks<br />

lihtseosed välisvõtmeteks<br />

tuletusseosed elimineerida: kas kaotada ülemklass (atribuudi kanduvad kõigile alamklassidele) või teha seosed<br />

1-1 seosteks. Viimasel juhul: kui alamklass ei sisalda ühtegi uut atribuuti, siis võib valida, kas lisada alamklassi<br />

kuulumist tähistav atribuut ülemklassile või panna üleklassi võti alamklassi ainsa(te)ks atribuudiks (üksiti nii<br />

primaarvõti kui ka välisvõti).<br />

Lisasammud<br />

Määrata atribuutide andmetüübid (sealhulgas pikkused, väärtuste puudumise võimalused, automaatsed<br />

väärtused).<br />

Määrata seoste (välisvõtmete) käitumine<br />

Terminoloogia muutus: klass -> (andme)tabel, atribuut -> (andme)väli<br />

Lisateema: SQL DDL (data definition language)<br />

create table, alter table, drop table<br />

2.9. Stsenaariumid<br />

Sündmus — midagi juhtub: esitatakse soovisedel, soovitakse pikendada tellimust, ...<br />

Sündmusel võivad olla argumendid (atribuudid): Jüri esitas tellimuse(raamatu kood, kuupäev). Sündmusel ei ole<br />

kestust (sündmuse töötlusel võib olla kestus). Sündmused võivad üksteisele järgneda (Jüri esitas tellimuse, Jürile<br />

väljastati raamat) või olla üksteisest sõltumatud (Jaak esitas tellimuse, Jüri esitas tellimuse).<br />

Sündmuse juhtumine tähendab info (andmete) kandumist ühelt objektilt teisele. Protsess on ühesuunaline.<br />

Analoogselt objektidega on ka sündmused kogutavad klassidesse. Kuna üksik sündmus omaette pole tähtis, siis<br />

nimetame edasises sündmusete klasse sündmusteks (objektide Jaak ja Jüri sündmusi nimetame klassi Laenutaja<br />

sündmusteks).<br />

Pannakse kirja (kõik)võimalikud juhtumised.<br />

Stsenaarium 1<br />

Laenutaja esitas tellimuse( raamat, kuupäev)<br />

Tellimusele leiti vaba eksemplar( eksemplar )<br />

Eksemplar anti laenutajale( tähtaeg )<br />

Laenutaja pikendas tellimust ( päevade arv)<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 15<br />

Indrek Sander (2001 sügis)<br />

Laenutaja tagastas raamatu( kuupäev)<br />

Stsenaarium 2<br />

Laenutaja esitas tellimuse( raamat, kuupäev)<br />

Tellimusele ei leitud vaba eksemplari<br />

2.10. Sündmuste diagramm (Event Trace Diagram)<br />

Tehakse stsenaariumi põhjal. Märgitakse klassid, kes osalevad sündmuste saatmisel ja saamisel. Ülevalt alla<br />

läheb ajatelg (näitamaks soovitatavat sündnuste järjestust). Püüda teha üks diagramm 2 - 3 klassi jaoks. Kui on<br />

keerulisem stsenaarium, siis valida välja 2 klassi ning kolmandaks võtta ülejäänud kokku.<br />

<br />

2.11. Olekudiagramm (State Diagram)<br />

Objektid võivad olla paljudes olekutes (seisundites). Oleku määravad atribuudid ja seoste olemasolu teiste<br />

objektidega. Formaalselt annab iga erinev atribuutide väärtustus uue oleku. Praktikas on vaja teha üldistusi (nt<br />

temperatuur 12 C ja 13 C võivad tähendada sama olekut) ning elimineerimisi (nt kahe binaarse tunnuse "Tellimus<br />

esitatud", "Tellimus täidetud" korral saab anda 4 erinevat olekut, kuid tegelikkuses on neid 3).<br />

Kui objektil on võimalikke olekuid rohkem kui üks, siis on objektil ka põhjused minekuks ühest olekust teise.<br />

Põhjustajateks on sündmused.<br />

Olekudiagramm tegeleb ühe objektiga (klassiga) korraga. Diagrammil märgitakse ära objekti erinevad olekud<br />

ning sündmused, mis viivad objekti ühest olekust teise. Kahe oleku vahele joonistatud sündmus ei sõltu sündmuse<br />

tekitajast. Konkreetse sündmuse tekitaja saab leida sündmuste diagrammilt (event trace diagram). Objekti võivad<br />

ühest olekust teise viia mitu erinevat sündmust.<br />

Diagrammi joonise koostamine. Valida välja objekt, mille käitumine on dünaamiline. Võtta esimeselt sündmuste<br />

diagrammilt kõik objekti sisendsündmused ning luua neist teekond läbi olekute. Võtta järgmine sündmuste<br />

diagramm ja toimida samamoodi, vajadusel lisada uusi olekuid.<br />

Tingimuste lisamine joonisele. Sündmusel ei lasta tekkida, kui tingimus ei kehti. Märgitakse sündmuse nime taha<br />

nurksulgudesse.<br />

Operatsioonide lisamine joonisele. Tegevused, mis tehakse kogu aeg, kui objekt on antud olekus. Operatsiooni<br />

nimi märgitakse oleku sisse märksõna "do:" taha. Tegevus omab kestust. Kui tekib teine sündmus, mis peaks<br />

objekti sellest olekust ära viima, siis operatsioon peab katkema. Tegevuse täpsem kirjeldus antakse eraldi. Nimeta<br />

väljuv sündmus märgib automaatset üleminekut operatsiooni lõpu tõttu.<br />

Lisaks saab märkida ka reaktsioone sündmustele ehk ülesandeid. Nt reaktsioon olekusse sattumisele (entry/) või<br />

olekust väljakukkumisele (exit/) või muule sündmusele, mis ei vaheta olekut (event/).<br />

Alamdiagrammid.<br />

Üldistamine. Sisend- ja väljundpunktide märkimine.<br />

2.12. Äravisatav prototüüp<br />

Kui ajutine nähtus, kui meetod teadmisi hankida juhul, kui süsteem on liiga keeruline ja/või tellija ei oska omi<br />

soove sõnastada.<br />

Genereeritud: 27.11.2001


Sissejuhatus infosüsteemide loomisesse – õppejõu <strong>konspekt</strong> 16<br />

Indrek Sander (2001 sügis)<br />

2.13. Algoritmide kajastamise skeemid<br />

Ei ole eksamiteemade hulgas<br />

2.13.1. Nassi-Schneiderman struktogramm<br />

for<br />

do while<br />

repeat until<br />

if then else – vinge värk<br />

2.13.2. JSP (Jackson Structured Programming)<br />

protsesside hierarhiline jagamine<br />

2.13.3. E-skeem<br />

Genereeritud: 27.11.2001

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!