Kuvaustekniikat. Exit
|
|
- Saara Krista Hukkanen
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 Kuvaustekniikat Luvussa tarkastellaan tietojärjestelmän määrittelymenetelmiä. Määrittelymenetelmä sitoo yhteen ja ohjeistaa sen, miten eri kuvausmenetelmiä käyttäen voidaan tehdä tietojärjestelmän määrittely. Luku keskittyy Modern Structured Analysis eli SA-menetelmään, mutta siinä sivutaan myös oliosuuntautunutta järjestelmäkehitystä tukevia menettelyjä. Näitä ovat Jaaksin Simplified Method sekä OMT++. Edellinen on tarkoitettu pienten tietojärjestelmien kuvaamiseen ja jälkimmäinen, jota käsitellään yksityiskohtaisesti Ohjelmistotuotannon menetelmät kurssin oliosuunnitteluosuudessa, on Nokian matkapuhelinjärjestelmien kehittämisessä käytetty menetelmä. Exit
2 Sisällys Kuvaustekniikat Kuvaustekniikoiden soveltuvuus Structured Analysis (SA) Menetelmien kohdealue SA-menetelmä SA-menetelmä määrittelyssä SA-mallin komponentit SA-mallin komponentit (määrittely) Ydinmalli Ydinmallin osat Ympäristömalli Käyttäytymismallin laadinta Käyttäytymismalli Esimerkki: Kurrek Toteutusmalli SA-menetelmän soveltaminen Muita menetelmiä Simplified Method OMT++ RUP Unified Software Development Process Unified SDP vaiheet Kertauskysymykset Kuvaustekniikat 2
3 Kuvaustekniikat kuvaustekniikat muodostavat yhteisesti sovitun tavan kuvata ohjelmiston keskeiset ominaisuudet ohjelmistotyön kokonaisuuden näkökulmasta kuvauksen on katettava kaikki keskeiset osat ja näkökulmat kehitetävästä järjestelmästä menetelmät ohjeistavat kuvaustekniikoiden tarkoituksenmukaisen käytön Järjestelmän Järjestelmän kehitystyön kehitystyön toteuttaminen toteuttaminen määritellään määritellään kehitysprosessin kehitysprosessin kuvauksella kuvauksella (ks. (ks. esim. esim. HYTT-prosessit), HYTT-prosessit), jossa jossa kuvataan kuvataan kunkin kunkin työvaiheen työvaiheen suorittamisen suorittamisen periaatteet, periaatteet, sidotaan sidotaan prosessi prosessi tuotoksiin tuotoksiin (dokumentit) (dokumentit) ja ja edelleen edelleen mahdollisesti mahdollisesti tuetaan tuetaan tuotosten tuotosten synnyttämistä synnyttämistä erilaisilla erilaisilla dokumenttirungoilla. dokumenttirungoilla. Kehitysmenetelmä Kehitysmenetelmä (määrittely-) (määrittely-) sitoo sitoo kuvaustekniikat kuvaustekniikat tähän tähän prosessiin prosessiin ja ja edelleen edelleen dokumenttimalleihin dokumenttimalleihin yrityksen yrityksen kannalta kannalta tarkoituksenmukaisella tavalla. tavalla. Kuvaustekniikat 3
4 Yhteenveto kuvaustekniikoista kulkukaaviot pseudokoodi UML aktiviteettikaavio päätöstaulut ja -puut esi- ja jälkiehdot tietohakemistot luokkakaaviot käsitekaaviot tilakaaviot (ja -taulut) tapahtumasekvenssit (ja oliointeraktiot) käyttötapaukset yhteyskaavio tapahtumaluettelo tietovirtakaavio tietovirtamatriisi DARTS Kuvaustekniikat 4
5 Kuvaustekniikoiden soveltuvuus Tarvekartoitus Määrittely Arkkitehtuurisuunnittelu Moduulisuunnittelu Ohjelmointi Käyttötapaukset Tapahtumaluettelo t Tapahtumasekvens sit Tapahtumaluettelo Yhteyskaavio Tietovirtakaavio Toimintokuvaukset Päätöstaulut Tilakaaviot Tapahtumasekvens sit Tietovirtakaaviot Toimintokuvaukset Tilakaaviot Tapahtumasekvenssit Tietohakemistot ER-kaaviot Toimintokuvaukset Tilakaaviot Tietohakemistot ER-kaaviot Toimintokuvaukse Tietokantakuvauksett Tietohakemisto Luokkakaaviott ER-kaaviot Määrittelymenetelmä: kuvaa kuvaa määrittelyn määrittelyn työprosessin, työprosessin, tuotosten tuotosten jäsentelyn jäsentelyn sekä sekä sitoo sitoo käytettävät käytettävät kuvaustekniikat kuvaustekniikat prosessiin. prosessiin. Valitaan Valitaan menetelmät, menetelmät, esimerkiksi esimerkiksi yllä yllä olevasta olevasta valikoimasta. valikoimasta. Kuvaustekniikat 5
6 Structured Analysis (SA) SA-menetelmä on yksi yleisimmin käytetyistä ohjelmiston määrittely- ja suunnittelumenetelmistä useita eri versioita: Muita:» Structured Analysis (Yordon et al.)» Structured Design» SA/RT (Real Time, Ward&Mellor) OMT (Oliomenetelmä, Rumbaugh et al) OMT++(Aalto & Jaaksi) Simplified Method (Jaaksi)... Edward Yourdon, Modern Structured Analysis Edward Yourdon, Just Enough Structured Analysis Sovita Sovitamenetelmä ongelmaan eikä eikä päinvastoin! Weinbergin Weinbergin viisaus viisaus Kuvaustekniikat 6
7 Menetelmien kohdealue yksittäinen elinkaarivaihe (esim. määrittely) kokonaisvaltaisesti koko kehityksen elinkaarivaiheet kattava eriytyvien menetelmien ketju (vaihekohtainenen, yhteensopivat menettelyt) tuki järjestelmän osien automaattiselle tuottamiselle Kuvaustekniikat 7
8 SA-menetelmä Modern SA alkuvaiheessa SA-menetelmä korosti vanhan järjestelmän kuvausta ja sen muuttamista uudeksi (ongelmat!) nykyinen malli korostaa tarvekartoituksesta lähtevää määrittelyä Kuvaustekniikat 8
9 SA-menetelmä määrittelyssä 1. Johdanto 1.1 Tarkoitus 1.2 Tuote 1.3 Määritelmät, termit ja lyhenteet 1.4 Viitteet, muut tähän liittyvät dokumentit 1.5 Yleiskatsaus dokumenttiin 2. Yleiskuvaus 2.1 Ympäristö 2.2 Toiminta 2.3 Käyttäjät 2.4 Yleiset rajoitteet 2.5 Oletukset ja riippuvuudet 3. Tiedot ja tietokanta 4. Toiminnot tietovirtakaavio tila-automaatit toimintokuvaukset liittymäkaavio tapahtumaluettelo käyttötapauskaavi o tietovirtakaavio luokkakaavio käyttöliittymäkuv aus luokkakaavio käsitekaavio tietohakemist ot 5. Ulkoiset liittymät 5.1 Käyttöliittymä 5.2 Laitteistoliittymät 5.3 Ohjelmistoliittymät 5.4 Tietoliikenneliittynnät 6. Muut ominaisuudet 6.1 Suorituskyky 6.2 Käyttetävyys, toipuminen, turvallisuus ja suojaukset 6.3 Ylläpidettävyys 6.4 Siirettävyys, yhteensopivuus 6.5 Operointi 7. Suunnittelurajoitteet 7.1 Standardit 7.2 Laitteistorajoitteet 7.3 Ohjelmistorajoitteet 7.4 Muut rajoitteet Dokumenttirakenne Dokumenttirakenne palvelee palvelee dokumentin dokumentin käyttöä, käyttöä, kehitysmenetelmä kehitysmenetelmä luontevaa luontevaa kehitysprosessia kehitysprosessia ja sen toiminnan sen toiminnan luonnollista luonnollista jäsentämistä. jäsentämistä. => => määrittelydokumentin määrittelydokumentin rakenne rakenne ei ei välttämättä välttämättä suoraan suoraan heijasta kuvausta heijasta kuvausta sen sen tuottamisessa tuottamisessa käytetystä käytetystä prosessista. prosessista. Kuvaustekniikat 9
10 SA-mallin komponentit Tapahtumalista 1. tapahtuma 1 2. tapahtuma 2... Liittymäkaavio Tietohakemisto tieto_a = tieto_b + tieto_c tieto_x =... Hierarkiset tietovuokaaviot ER-kaaviot Tilakaaviot Minispesifikaatiot if a<b then... Kuvaustekniikat 10
11 SA-mallin komponentit (määrittely) Tapahtumalista: luettelo tapahtumista, joihin järjestelmän on reagoitava perusta liittymäkaaviolle ja edelleen tietovuokaavioille Tietovuokaavioiden keskeinen rooli kuvauksessa käsittely-orientoitunut lähestymistapa SA-RT-malli Ydinmalli (essential model) Ympäristömalli (enviromental model) - järjestelmän tavoitteet (statement of purpose). - liittymäkaavio (context diagram) - tapahtumalista (event list) Käyttäytymismalli (behavioral model) - tietovuokaavio, minispesifikaatiot - käsitekaavio - tilakaaviot - tietohakemisto Vaiheistus järjestelmän looginen kuvaus (irrallaan toteutustekniikasta): ydinmalli lisätään toteutusteknologian synnyttämät rajoitukset: toteutusmalli Toteutusmalli (implementation model) - toteutettavan järjestelmän rajaaminen - käyttöliittymien määrittely - kaavioiden muokkaaminen toteutusta silmällä pitäen Valmis määrittely Kuvaustekniikat 11
12 Ydinmalli kuvaa järjestelmän toiminnan ilman toteutusteknologian aiheuttamia rajoituksia tarpeettomat tietovarastot, toiminnan sisäisten virheiden käsittely, kuvauksen tarkkuustaso vs. käytötarve erilaiset intressiryhmät -> erilaiset kuvaustarpeet Kuvaustekniikat 12
13 Ydinmallin osat ympäristömalli: järjestelmän rajaus ja liitynnät ympäristöön järjestelmän tarkoitus lyhyt yleisluonteinen kuvaus järjestelmän tavoitteista liittymäkaavio tapahtumalista käyttäytymismalli: järjestelmän toiminnan kuvaaminen (hierarkkinen esitys) tiedot käsittely Kuvaustekniikat 13
14 Ympäristömalli ominaisuudet jokainen saapuva tietovirta»on tapahtuma» siitä aiheutuu johdettu tapahtuma» järjestelmä kysyy / lukee sen prosesoidessaan tapahtuman jokainen lähtevä virta on vaste tapahtumaan jokaiseen ei-ajastettuun tapahtumaan liittyy saapuva virta, josta järjestelmä tietää tapahtuman tapahtuneen jokaisen tapahtuman tulee aiheuttaa toimintoja järjestelmässä: 1) välitön vaste 2) järjestelmän tila muuttuu (tilakaaviot) 3) tieto talletetaan Kuvaustekniikat 14
15 Käyttäytymismallin laadinta edetään hierarkkisesti liittymäkaaviosta eteenpäin jokaisesta tapahtumalistan tapahtumasta laaditaan erillinen tietovirtakaavio; vain muutama transformaatio kussakin kaaviossa transformaatiot nimetään vastetta kuvaavalla nimellä kaavioon lisätään virrat, jotka tarvitaan vasteen tuottamiseen mikäli käsitekaaviota ei ole, luodaan se osana eo. prosessia» konsistenssi käsitekaavion ja tietovirtakaavioiden välillä Kuvaustekniikat 15
16 Käyttäytymismalli alustavassa tietovirtakaaviossa ei ole transformaatioiden välisiä suoria yhteyksiä, vaan kommunikointi perustuu aina tietovarastojen käyttöön» järjestelmä ei voi määrätä milloin ulkomaailman tapahtumat tapahtuvat» jos tapahtuman vasteen tuottaminen edellyttää toisen tapahtuman tuottamaa tietoa, ei voida tietää onko tieto käytettävissä Kuvaustekniikat 16
17 ... käyttäytymismalli kun aloitetaan alustavan tietovirtakaavion laadinta aloitetaan myös tietohakemiston laadinta (virrat, tietovarastot) tietovirtakaavion tietovarasto on käsitekaavion käsite; käsitteet helpottavat tietovirtakaavion tietovarastojen hahmottamista tapahtumalistan substantiivit vastaavat usein järjestelmään kuuluvia käsitteitä ristikkäistarkastukset: käsitekaavio - tapahtumalista, tietovirta - käsitekaavio, tietohakemisto sisäinen eheys, tietovirtakaavion tasojen välinen eheys Kuvaustekniikat 17
18 ... käyttäytymismalli jatkokehittely» transformaatioiden sijoittelu eri kuvaustasoille» transformaatioiden yhdistely» transformaatioiden jakaminen alimman tason transformaatioiden kuvaaminen minispesifikaatioina (toimintokuvaukset) kaavioiden viimeistely kaavioiden yhteensopivuuden tarkastus» CASE-välineet saattavat tehdä automaattisesti Kuvaustekniikat 18
19 Esimerkki: Kurrek Järjestelmän tarkoitus: KURREK-järjestelmä sisältää kuvaukset TTKK:n opintojaksoista, opettajista ja opintosuorituksista. Järjestelmä tuottaa kurssien osallistujalistoja, tenttien tuloslistoja ja opintosuoritusrekisterin otteita. Opettajat kirjaavat järjestelmän avulla opintosuoritukset rekisteriin. Opiskelijat pystyvät ilmoittautumaan kursseille ja tutkimaan omia suoritustietojaan Kuvaustekniikat 19
20 Kurrek: Liittymäkaavion laatiminen opiskelija suorituskysely opettajatiedot suoritukset opintojaksotiedot opiskelijatiedot ylläpitäjä KURREK kurssi-ilmoittautuminen tenttiilmoittautuminen suorituskysely osallistujalista tuloslista ov_yhteenveto opettaja laitoksen johtaja Kuvaustekniikat 20
21 Kurrek: Tapahtumien etsintä luettelo tapahtumista, joihin järjestelmän on reagoitava Tapahtumat voi luokitella vuotapahtumat (F): järjestelmään saapuu siinä toiminnan aiheuttavaa tietoa; terminaattorista järjestelmään tuleva tietovirta; jokaiseen virtaan ei välttämättä liity tapahtumaa ajastetut tapahtumat (T): järjestelmän itsensä määräajoin generoima (esim. päiväraportti tuotetaan klo 9.00) ohjaustapahtumat (C): aiheuttaja on järjestelmään (ulkopuolelta) saapuva ohjausvirta johdetut tapahtumat (I): järjestelmä päättelee muista tapahtumista järjestelmän määrittelyn kannalta luokittelu ei ole oleellinen tapahtumia eivät ole järjestelmän sisäiset toiminnot, ulkoiset tapahtumat joihin järjestelmä ei reagoi, järjestelmästä ulos tulevat virrat Apuna Apunavoi voikäyttää käyttääkäsite- käsite- // luokkakaaviota: luokkakaaviota: kaaviossa kaaviossa tapahtuvat tapahtuvat muutokset muutokset indikoivat indikoivat tapahtumalistaan tapahtumalistaan tulevia tulevia tapahtumia tapahtumia Kuvaustekniikat 21
22 Kurrek: Tapahtumalistan laadinta 1. Ylläpitäjä päivittää opiskelijan tietoja (lisäys, poisto, muutos) (F) 2. Ylläpitäjä päivittää opintojakson tietoja (F) 3. Ylläpitäjä päivittää opettajan tietoja (F) 4. Opiskelija ilmoittautuu kurssille (F) 5. Opiskelija ilmoittautuu tenttiin (F) 6. Opiskelija osallistuu tenttiin (F) 7. Opiskelija pyytää kurssin osallistujalistan (F) 8. Opettaja pyytää tentin osallistujalistan (F) 9. Opettaja kirjaa opintosuorituksen (F) 10. Opiskelija yytää opintorekisteriotteen (F) 11. Laitoksen johtaja saa opintoviikkoyhteenvedon (T) Kuvaustekniikat 22
23 Kurrek: Tapahtumaluettelo ja tietovirtakaaviot 1. Ylläpitäjä päivittää opiskelijan tietoja (lisäys, poisto, muutos) 2. Ylläpitäjä päivittää opintojakson tietoja 3. Ylläpitäjä päivittää opettajan tietoja 4. Opiskelija ilmoittautuu kurssiulle 5. Opiskelija ilmoittautuu tenttiin 6. Opiskelija osallistuu tenttiin 7. Opiskelija pyytää kurssin osallistujalistan 8. Opettaja pyytää tentin osallistujalistan 9. Opettaja kirjaa opintosuorituksen 10. Opiskelija pyytää opintorekisteriotteen opettaja suoritukset opettajat suorituskirjaus kurssit opiskelijat opintojaksot Kuvaustekniikat 23 tentit 11. Laitoksen johtaja saa opintoviikkoyhteenvedon suoritusdialogi Yhteyskaaviossa ei ei yleensä esitetä esitetä tietovarastoja
24 Kurrek: Luokkakaavio (Käsitekaavio) Opiskelija nimi op.nro osoite osallistuu 1..* 0..* kurssi kurssitunnus periodit lukukausi <kuvaa 0..* 1 opintojakso kuvaus ilmoittaudu() 0..* suorittaa 1 kuuluu 0..* tentti 0..* luennoi 0..1 opettaja nimi osoite henkilönro 0..* suoritus arvosana ov-määrä pvm opiskelija 0:N 1:N 0:N kurssi 1:1 0:N 0:N suorittaa tentti kuuluu 0:N 0:N <-kuvaa luennoi 1:1 0:1 osallistuu opintojakso suoritus opettaja Kuvaustekniikat 24
25 Toteutusmalli automatisoinnin rajat käynnistyksen ja lopetuksen vaatimat lisäykset toteutuksen reunaehdot käyttöliittymän suunnittelu (näytöt, lomakkeet, ) varautuminen laitevirheisiin kapasiteettivaatimukset tietokantojen koon arviointi (vaikuttaa toteutukseen) Kuvaustekniikat 25
26 toteutusmalli vastausaikojen määrittely laitteisto- ja varusohjelmarajoitukset luotettavuusvaatimukset suojaus- ja turvallisuusjärjestelyt... Kuvaustekniikat 26
27 SA-menetelmän soveltaminen soveltamiskulttuurien kirjavuus kehitystyötä / ylläpitoa tukevat välineet, mm. automaattinen koodi(rungo)n generointi SA-kaavioista automaattinen tietokantakuvausten generointi ER-kaaviosta SD-menetelmä tietovuokaavio ohjelman rakennekaavioksi Kuvaustekniikat 27
28 Muita menetelmiä Edellä on kuvattu määrittelytyön etenemistä ja dokumentointia Modern Structured Analysis menetelmän mukaisesti. Määrittely on osa ohjelmistotyön kokonaisuutta, jossa käytettävän prosessin kuvaa ohjelmistotyön laatujärjestelmä ja sen pohjalta laaditut ohjeistot. Vaikka nämä prosessikuvaukset vaihtelevat yrityskohtaisesti, on niiden pohjana yleensä jokin alan kirjallisuudessa esiintyvä prosessikuvaus. Ohjelmistotyössä on vallalla trendi kohti oliosuuntautunutta ohjelmistotyötä. Tämä näkyy sekä välinevalinnoissa että toimintatavoissa. Seuraavassa käsitellään tosin yleisluonteisesti kolmea oliosuuntautunutta ohjelmistotyön prosessia. Simplified Method on yksinkertainen pienten oliopohjaisesti kehitettyjen järjestelmien kehitysprosessin kuvaava menetelmä. Siinä käytettävät kuvausmenetelmät ovat yksinkertaisia: käyttötapauskuvaukset, luonnollinen kieli, tapahtumasekvenssikaaviot ja luokkakaaviot. OMT++ -menetelmä on kehitetty suurten oliotekniikalla toteutettujen järjestelmien kehittämiseen. Menetelmään liittyy paitsi runsaasti yksityiskohtia myös kehitystyön järjestelyjä: uudelleenkäyttö, tuoteperheajattelu, kehitysalustat, rakennekulttuurin luonti (MVC++) jne. Näihin ei tässä yhteydessä puututa. Kolmas lyhyesti esiteltävä menetelmä on Rational Unified Software Development Method, joka pohjautuu Jacobsonin, Rumbaughin ja Boochin kehittämille oliojärjestelmien kehittämisen ja kuvaamisen periaatteille ja luo käytännön soveltaa UML-kuvaustekniikoita. Menetelmiä Menetelmiä tarkastellaan tarkastellaan pintapuolisesti pintapuolisesti ja ja tarkoitus tarkoitus on on antaa antaa eväät eväät asian omakohtaiselle asian omakohtaiselle opiskelulle opiskelulle menetelmiä menetelmiä koskevasta koskevasta kirjallisuudesta. kirjallisuudesta. Exit
29 Simplified Method yksinkertaistettu OMT++ -menetelmästä OMT++ on (tekijänsäkin mukaan) vaikea omaksua joskin perusidean oivaltamisen jälkeen se on suhteellisen suoraviivainen soveltaa Jaaksi on kehittänyt yksinkertaistetun menetelmän, joka pohjautuu OMT++ perusideaan (Simplified Method) menetelmä ensimmäisen oliojärjestelmän kehittämiseen Kuvaustekniikat 29
30 Simplified method Vaatimukset UseCaseA UseCaseB Use Case C Muut Vaat. Suunnitteluoliomalli Määrittelyoliomalli Toimintolista Operaatio Operaatio X attribute attribute Y attribute Operaatio Operaatio Simplified method X function2 function3 attribute attribute X function2 function3 attribute attribute Tapahtumakaaviot User X Y Z function1 function2 function3 User X Y Z function4 function5 X function2 function3 attribute attribute function6 Määrittelyt Class Y { function3(); function5(); X x; } Koodi Y::function5() { x function6(); } Testitapaukset UseCaseA UseCaseB Use Case C Muut Vaat. Kuvaukset Kuvaukset Käyttötapaukset Operaatiokuvaukset Käyttötapaukset Luokkakaaviot Operaatiokuvaukset Tapahtumasekvenssit Luokkakaaviot Tapahtumasekvenssit Kuvaustekniikat 30
31 simplified method 1. vaatimuskartoitus käyttötapausten määrittely» toiminnot joista järjestelmän on kyettävä vastaamaan» kuvaus: käyttötapaus tai luonnollinen kieli» ei-toiminnalliset ominaisuudet kuvataan erikseen luonnollisella kielellä tulos:» käyttötapaukset» ei-toiminnalliset vaatimukset Kuvaustekniikat 31
32 simplified method 2a. Olioanalyysi (object analysis) alustavan luokkakaavion laadinta perustana käytetään käyttötapauksia tulos: alustava luokkakaavio (analysis object model) Kuvaustekniikat 32
33 simplified method 2b. Toimintoanalyysi (behavioral analysis) relevanttien toimintojen määritys perustana käyttötapaukset kuvaustapa: luonnollinen kieli tulos: toimintoluettelo (operations list) Kuvaustekniikat 33
34 simplified method 3a. Luokkasuunnittelu (object design) luokkakaavion tarkentaminen (suunnittelumenetelmästä riippuvalla tavalla) operaatiot ja luokkien välinen vuorovaikutus (tapahtumasekvenssikaaviosta) muokkaus (luokkien / attribuuttien lisääminen / poistaminen) tulos: tarkennettu luokkakaavio (design object model) Kuvaustekniikat 34
35 simplified method 3b. Toimintojen suunnittelu (functional design) toimintoluettelon pohjalta määritetään toimintojen toteuttamistapa tapahtumasekvensseinä luokkien välillä luokkien toiminnot tarkentuvat tulos: tapahtumasekvenssikaaviot Kuvaustekniikat 35
36 simplified method 4a. Luokkamääritykset luokkien kuvaus käytettävällä toteutusvälineellä tarkentaa luokkakaaviota 4b. Koodaus operaatioiden lopullinen koodaus tarkentaa luokkakaaviota 5. Testaus (käyttötapauksilla) Kuvaustekniikat 36
37 OMT++ evoluutio OMT-menetelmästä (Rumbaugh et al.; OMT:ssä vaikutteita Fusion- ja OOSEmenetelmistä) Nokia Telecommunications (Jaaksi) tapahtumasekvenssikaavioiden keskeinen rooli käyttöliittymien suunnittelun korostunut merkitys käytetty suuren reaaliaikaohjelmiston kehittämisessä» yli 2 MLOC (yli luokkaa)» Unix, Motif, Oracle, C++ Kuvaustekniikat 37
38 OMT++ Vaatimusten kartoittaminen olioanalyysi käyttäytymisanalyysi kälimäärittely kälitehtävien määrittely ohjelmalohkon määrittely olioiden suunnittelu ohjelmalohkon rajapintamäärittely käyttäytymisen suunnittelu luokkamäärittely luokkien toteutus testaus Feasibility Study -vaatimukset -käyttötapaukset User Interface Specification - dialogikaaviot (tilakaaviot) - tehtäväkuvaukset (tapahtumasekvenssikaaviot) Program Block Technical Specification -suunnittelun oliomallit -suunnittelun tapahtumasekvenssikaaviot Service Block Functional Specification - analyysin oliomalli - operaatiokuvaukset (tapahtumasekvenssikaaviot) Service Block Technical Specification -ohjelmalohkojen rajapinnat -ohjelmalohkojen kommunikointikaaviot (tapahtumasekvenssikaaviot) Ohjemakoodi -luokkamäärittely -luokkien toteutus Vaiheiden Vaiheiden eteneminen: eteneminen: --normaalisti normaalisti peräkkäistä peräkkäistä -myös -myös o o rinnakkaista rinnakkaista o o iteratiivista iteratiivista Kuvaustekniikat 38
39 OMT++ vaatimusten kartoitus järjestelmään (uusi versio) tulevat ominaisuudet» käyttötapaukset määrittely olioanalyysi: Class 1 Class 2 1» analyysin oliokaavio (käsitteet ja yhteydet) käyttäytymisanalyysi» määrittelee järjestelmän käyttäytymisen olioanalyysin oliokaavion käsitteitä hyödyntäen» tekstuaalinen kuvaus jokaisesta käyttäjän operaatiosta; voidaan tukea operaatiota kuvaavalla kommunikaatiokaaviolla 0..n Class 1 Class 2 Kuvaustekniikat 39
40 OMT++ käyttöliittymän määrittely» käyttöliittymän toiminnot määritellään dialogikaavion (Harelin tilakaavio) avulla» dialogin toteutuksessa tarvittavat UIC1 käyttöliittymäkomponentit määritellään komponenttikaavioilla UIC2» tapahtumien kulku toiminnan suorituksessa voidaan kuvata kommunikaatiokaavioilla Class 1 Class 2 Kuvaustekniikat 40
41 OMT++ suunnitteluvaihe oliomallin sunnittelu» uusi oliomalli analyysin oliomallin pohjalta» lisätään toteutuksessa tarvittavia luokkia ja yhteyksiä käyttäytymisen suunnittelu» luokkakohtaiset tilakaaviot State2 State3» luokkien välistä kommunikaatiota (metodikutsut) kuvaava kommunikatiokaavio» näiden perusteella laaditaan (NTC:llä) C++ -kieliset luokkamäärittelyt ja näitä vastaavien luokkien toteutus Kuvaustekniikat 41
42 OMT++ vs. elinkaarivaiheet Määrittely Suunnittelu Ohjelmointi Testaus Ohjelmalohkojen rajapinnat sisäinen suunnittelu Oliokeskeinen analyysi Oliokeskeinen suunnittelu Olio-ohjelmointi Testaus Vaatimusten kartoitus Vaatimusten määritys Arkkitehtuuri suunnittelu Moduulisuunnittelu Vaatimusten kartoittaminen olioanalyysi käyttäytymisanalyysi kälimäärittely kälitehtävien määrittely ohjelmalohkon määrittely ohjelmalohkon rajapintamäärittely olioiden suunnittelu käyttäytymisen suunnittelu luokkamäärittely luokkien toteutus testaus Kuvaustekniikat 42
43 RUP Booch, Jacobsson, Rumbaugh (Rational) ovat yhdistämällä oliomenetelmänsä luoneet yleisen kuvauskielen (UML - Unified Modelling Language) järjestelmien oliopohjaiseen kuvaamiseen RUP on soveltamismenetelmä, joka sitoo kuvausmenetelmät kehitysprosessiin Rational Unified Process (RUP); The Unified Software Development Method "The "The Unified UnifiedModeling ModelingLanguage (UML) (UML) is is a a graphical graphical language language for for visualizing, visualizing, specifying, specifying, constructing, constructing, and and documenting documenting the theartifacts artifactsof of a a software-intensive software-intensive system. system. The The UML UML offers offers a a standard standard way way to to write write a a system's system's blueprints, blueprints, including including conceptual conceptualthings things such such as as business business processes processes and and system system functions functions as as well well as as concrete concrete things things such suchas as programming programming language language statements, statements, database database schemas, schemas, and and reusable reusable software softwarecomponents" Kuvaustekniikat 43
44 Unified Software Development Process Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iter. Inception Elaboration Construction Transition - Tuotteen ominaisuudet - Täydennetyt mallit - Alustavat mallit - Toteutettu toimiva - Alustava tuotearkkitehtuuri perusarkkitehtuuri - Tarvittaessa proto - Arkkitehtuurikuvaus -Riskit -Riskit - Alustava projektisuunnitelma - Seuraavan vaiheen - Onnistumiskriteerit projektisuunnitelma - Onnistumiskriteerit - Alustava käyttöohje - Lähes täydelliset mallit -Beta-versio - Arkkitehtuurikuvaus - Seuraavan vaiheen projektisuunnitelma - Onnistumiskriteerit - Käyttöohje - Installointivalmis ohjelmisto - Byrokratiadokumentit - Täydelliset mallit - Arkkitehtuurikuvaus - Käsikirjat - WWW-palvelut yms. UML Documentation UML Tutorial Kuvaustekniikat 44
45 Unified SDP vaiheet Inception Elaboration Construction Transition Requirements Analysis Design Implementation Test iter. 1 iter Kuvaustekniikat 45
46 Kertauskysymykset Mitä ovat SA-menetelmän kuvauksen keskeiset komponentit. Miten ne näkyvät määrittelydokumantaation osana. Selvitä termien ydinmalli, ympäristömalli, käyttäytymismalli, toteutusmalli merkitys SAmenetelmässä. Minkälaisilla yhdenmukaisuustarkistuksilla on syytä varmistaa käyttäytymismallin oikeellisuus ja yhdenmukaisuus muiden mallinnettavien seikkojen kanssa. Käy läpi kurssoimateriaaliin sisältyvä esimerkki Kurrekjärjestelmän SA-menetelmän mukaisesta kuvauksesta vaiheittain. Kiinnitä erityisesti huomiota eri kuvausten välisiin yhteyksiin. Selvitä eri kuvaustekniikoiden käyttö Simplified Method - menetelmässä. Mitä eroa on analyysin ja suunnittelun luokkakaavioilla. Miten Simplified Methodissa toteutetaan järjestelmätestaus. Selvitä pääpiirteittäin OMT++ - menetelmän mukainen kehitysprosessi ja eri kuvaustekniikoiden rooli siinä. Selvitä RUP-menetlmän mukaisen järjestelmäkehityksen periaatteet. Mikä on iteratiivisen työskentelykäytännön rooli tässä prosessissa. Kuvaustekniikat 46
Copyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus
Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright
Ohjelmistotekniikan menetelmät, UML
582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka
TOIMINNALLINEN MÄÄRITTELY MS
TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa
Ohjelmistotekniikka - Luento 2
Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit
Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA
Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento
Ohjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
UML- mallinnus: Tilakaavio
UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista
Ohjelmistojen mallintaminen Unified Modeling Language (UML)
582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..
Ohjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet
Organisaation prosessikuvaus - CMMI Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 7.2.2007 Level5 Level4 Level3 Requirements Development Technical Solution Product Integration
Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.
Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4. Organisaation prosessikuvaus - CMMI Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution
Tietojärjestelmän osat
Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto
Spesifikaatioiden laatiminen
Spesifikaatioiden laatiminen Luku tarkastelee ohjelmistotuotantoprosessia spesifikaatioiden ketjuna. Ohjelmistotuotannossa korostuvat jäljitettävissä olevat hyvin dokumentoidut ratkaisut, joiden perustan
TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely
Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
Ohjelmiston vaatimusmäärittely. tietoteknisen järjestelmän osat
Ohjelmiston vaatimusmäärittely tietoteknisen järjestelmän osat toiminta dokumentit laitteisto järjestelmä tietokanta ihmiset ohjelmisto 1 Määrittelyprosessi Määrittelyprosessi ideat lähtökohdat rajoitteet
käyttötapaukset mod. testaus
käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)
Kurssin aihepiiri: ohjelmistotuotannon alkeita
Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään, kun tuotetaan tietokoneohjelmia sekä monista
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto
Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1
Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen
Luento 3 Tietokannan tietosisällön suunnittelu
HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:
Ohjelmistojen mallintaminen, kesä 2010
582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka
Ohjelmistotekniikka: Luento 4 Jouni Lappalainen
Ohjelmistotekniikka: Luento 4 Jouni Lappalainen Luku 6: Vaatimusten mallintaminen: skenaariot, analyysiluokat UML kertausta Luku 7: Vaatimusten mallintaminen: vuo, käyttäytyminen ja mallit (patterns) Vuopohjainen
Lähestymistavat - toiminnallinen
Lähestymistavat - toiminnallinen Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa jakaa osasysteemeihin tietojärjestelmissä
Ohjelmistojen mallintaminen, kesä 2009
582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
GroupDesk Toiminnallinen määrittely
GroupDesk Toiminnallinen määrittely Tilanne: Paikallinen oppilaitos, kuvitteellinen WAMK, tarvitsee ryhmätyöhön soveltuvan sähköisen asioiden hallintajärjestelmän ja ryhmätyöohjelmiston, jonka ajatuksena
Unified Process (UP)
Unified Process (UP) Scott Kendall(2002) The Unified Process Explained Historia Luennon sisältö UP prosessin periaatteet Perusperiaatteet Iteraatio, inkrementti, julkaisu Unified process kuvaus Tehtäväkokonaisuudet
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
Ohjelmistotuotanto, s
Toiminnan osiinjako Ohjelmistotuotanto Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT Vaatimusanalyysin menetelmiä systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa
Yhteenveto. Menettelytavat
Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)
Ohjelmistojen mallintaminen kertausta Harri Laine 1
kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit
Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely
582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla
UML:n yleiskatsaus. UML:n osat:
UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän
Ohjelmistojen mallintaminen. Matti Luukkainen
Ohjelmistojen mallintaminen Matti Luukkainen Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään,
Ohjelmistotekniikan menetelmät, kesä 2008
582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
Käyttötapausanalyysi ja testaus tsoft
Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten
UML-kielen formalisointi Object-Z:lla
UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,
Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki
Haaga-Helia / TIKO-05 1 (12) Tietotarpeet Tietotarpeiden määrittely... 2 Tietotarveanalyysi... 3 Lähtökohtana tietojenkäsittelytehtävät... 3 Määrittelyn sisältö... 4 Vaiheistus... 5 Tietolähteet... 5 Lähestymistapa...
Tenttikysymykset. + UML- kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
UML - unified modeling language
UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:
Ohjelmistojen mallintaminen
Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta
Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.
Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen
Ohjelmistotekniikan menetelmät, luokkamallin laatiminen
582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue
Ohjelmistotekniikan menetelmät, mallintaminen ja UML
582101 - Ohjelmistotekniikan menetelmät, mallintaminen ja UML 1 Mallintaminen ja UML (Ch 2.) Ohjelmistojen mallintamisesta ja kuvaamisesta Strukturoitu mallinnus Tietovuo- ja ER-kaaviot Oliomallinnus ja
Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä
582104 Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 1 Sisältö Oliomenetelmien taustaa Kirjastojärjestelmän käyttötapaukset Kirjastojärjestelmän luokkamalli 2 Oliosuuntautunut suunnittelumenetelmä
Ohjelmistotekniikka: Luento 5
Ohjelmistotekniikka: Luento 5 Luku 6: Vaatimusten mallintaminen: skenaariot, analyysiluokat UML kertausta Luku 7: Vaatimusten mallintaminen: vuo, käyttäytyminen ja mallit (patterns) Vuopohjainen mallintaminen
Ohjelmistojen mallintaminen. Luento 2, pe 5.11.
Ohjelmistojen mallintaminen Luento 2, pe 5.11. Kertausta Ohjelmistotuotantoprosessin vaiheet: Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan
TIETOKANNAN SUUNNITTELU
TIETOKANNAN SUUNNITTELU HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 2 JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS TIETOJEN MALLINNUKSESTA TIETOKANTAAN Käsiteanalyysin
HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000
HELIA 1 (20) Luento 3.1 7LHWRNDQWDSRKMDLVHQVRYHOOXNVHQVXXQQLWWHOXSURVHVVL Tietokannan suunnittelun tavoitteet... 3 Abstraktiotasot tietokannan suunnittelussa... 4 3-taso -malli... 4 TIHA-standardi... 5
Projektityö
Projektityö 21.10.2005 Projektisuunnitelma Työn ositus Projektisuunnitelman sisältö Kurssin luennoitsija ja projektiryhmien ohjaaja: Timo Poranen (email: tp@cs.uta.fi, työhuone: B1042) Kurssin kotisivut:
Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio 21.11.2008 Harri Laine 1 Joidenkin järjestelmien sisältömallissa on erotettavissa luokkia, joiden ilmentymien käyttäytymisen kuvaaminen, kirjaus
Projektin suunnittelu
Projektin suunnittelu Sami Kollanus TJTA330 Ohjelmistotuotanto 15.3. Projektin suunnittelu - CMMIkäytänteet Projektin estimaatit: Määritellään projektin laajuus (scope) Määritellään tehtävien ja tuotosten
Kokonaisarkkitehtuuri. Kankaanpään kaupunki
Kokonaisarkkitehtuuri Kankaanpään kaupunki Kokonaisarkkitehtuuri johtamisvälineenä Kankaanpään strategia 2015 Avoimmuus Edistävä johtajuus Luovuus Jatkuva kehittyminen Tehokkuus Vetovoimaisuus Kilpailukyky
Työssäoppimispaikan työtehtävien ja ammattiosaamisen näytön suorittaminen työssäoppimisja näyttösuunnitelman mukaan hyväksytysti.
TARKENNETTU OPINTOKUVAUS Tutkinnon osa: 10 ov Tutkinnon osaan kuuluvat opinnot: tuottaminen 6 ov Työssäoppiminen 4 ov Opinto: Työssäoppiminen 4 ov Tavoitteet: Opiskelija osaa kartoittaa sähköisten liiketoiminnan
Johdantoluento. Ohjelmien ylläpito
Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito
TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique
TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote... 3 1.3 Määritelmät, termit ja lyhenteet... 3 1.4 Viitteet...
Analyysi on tulkkaamista
Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti
Kertaus: yleistys-erikoistus ja perintä
Kertaus: yleistys-erikoistus ja perintä Nauta, Lehmä ja Kuttu ovat Kotieläimiä, Kotieläimet Eläimiä Kotieläimillä (siis myös Naudoilla, Lehmillä ja Kutuilla) on Omistaja Kuttu ja Lehmä toteuttavat rajapinnan
IIO30100 Tietokantojen suunnittelu (6 op)
IIO30100 Tietokantojen suunnittelu (6 op) Opintojakson esittely Jouni Huotari K2008 http://student.labranet.jamk.fi/~huojo/opetus/iio30100/ Tavoitteena on, että opiskelija: Ymmärtää käsitteellisen mallintamisen
Ohjelmiston toteutussuunnitelma
Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,
Prosessikuvaukset ja elinkaarimallit
Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4. Organisaation prosessikuvaus - CMMI Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution
Suunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
Testaaminen ohjelmiston kehitysprosessin aikana
Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/
IIO30100 Tietokantojen suunnittelu (6 op)
IIO30100 Tietokantojen suunnittelu (6 op) Opintojakson esittely Jouni Huotari K2008 http://student.labra.jypoly.fi/~huojo/opetus/iio30100/ Tavoitteena on, että opiskelija: Ymmärtää käsitteellisen mallintamisen
Ohjelmistotekniikan menetelmät, kevät 2008
582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
Ohjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1
Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista
ITK130 Ohjelmistojen luonne
ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys
Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet
Toiminnot eli käyttäytyminen Tieto eli rakenteelliset ominaisuudet Olio (ks. määritelmä): rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta
Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
Yhteistoimintakaavio (Esimerkki)
Yhteistoimintakaavio (Esimerkki) Käyttötapaus: Vuokraa ajoneuvo Yleiskuvaus: Käyttäjä vuokraa ajoneuvon määräajaksi. Esiehdot: Käyttäjä on hakenut vuokrausaikana vapaat ajoneuvot näytölle. Aktori: Asiakas
Kuvaustekniikoista menetelmiin
Kuvaustekniikoista menetelmiin Kurssin loppuosa käsittelee kuvausmenetelmiä ja tekniikoita. Tarkoituksena on antaa valmiudet sekä laatia että ymmärtää erilaisia ohjelmistotuotannossa yleisesti käytössä
Johdatus sovellussuunnitteluun, s99, osa1 Helsingin yliopisto;/tktl Harri Laine 1. Johdatus sovellussuunnitteluun
DO NOT PRINT THIS DOCUMENT Johdatus sovellussuunnitteluun Yleiskuva olioperustaisesta tietojärjestelmän ja erityisesti ohjelmiston kehittämisprosessista sekä siinä käytettävistä kuvaustekniikoista Pääperiaatteet
Johdatus sovellussuunnitteluun. Johdatus sovellussuunnitteluun
Johdatus sovellussuunnitteluun Yleiskuva olioperustaisesta tietojärjestelmän ja erityisesti ohjelmiston kehittämisprosessista sekä siinä käytettävistä kuvaustekniikoista Pääperiaatteet käyttöliittymien
sovellussuunnitteluun
DO NOT PRINT THIS DOCUMENT Johdatus sovellussuunnitteluun Yleiskuva olioperustaisesta tietojärjestelmän ja erityisesti ohjelmiston kehittämisprosessista sekä siinä käytettävistä kuvaustekniikoista Pääperiaatteet
Johdatus sovellussuunnitteluun, s99, osa1 Helsingin yliopisto;/tktl Harri Laine 1
DO NOT PRINT THIS DOCUMENT Johdatus sovellussuunnitteluun Yleiskuva olioperustaisesta tietojärjestelmän ja erityisesti ohjelmiston kehittämisprosessista sekä siinä käytettävistä kuvaustekniikoista Pääperiaatteet
JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi
JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi Versio: 0.9 Julkaistu: n.n.2011 Voimassaoloaika: toistaiseksi Sisällys 1 Katselmointi osana laadunvarmistusta... 2 2 Yleistä katselmoinneista...
Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia
Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.
Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3
Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2
Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1
Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli 4.11.2008 Harri Laine 1 Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented software development) järjestelmä (system) on olio
IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)
IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI S2009 - K2010 http://homes.jamk.fi/~huojo/opetus/iio30100/ TAVOITTEENA ON, ETTÄ OPISKELIJA: Ymmärtää käsitteellisen mallintamisen
Ohjelmistoprojektien hallinta Vaihejakomallit
Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli
Tenttikysymykset. + UML-kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
Luokka- ja oliokaaviot
Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka
VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 4)
VAATIMUSMÄÄRITTELY Versio 1.0 (luonnos 4) Edited by Checked by Approved by Juha Parhankangas Luonnos 4 i Sisällysluettelo DOKUMENTIN VERSIOT 1 1. JOHDANTO 2 1.1. Projektin luonne 2 1.2. Tarkoitus ja kattavuus
TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique
TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...
Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.
1(7) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Ohjelmiston prototyypin toteuttaminen 30 osp Tavoitteet: Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston
OTM-HANKE. Opintohallinnon tietojärjestelmän modernisointi - tilannekatsaus
OTM-HANKE Opintohallinnon tietojärjestelmän modernisointi - tilannekatsaus Taustaa Aalto-yliopisto, Helsingin yliopiston ja Tampereen yliopiston yhteishanke opintohallinnon tietojärjestelmien modernisoinniksi
HELIA 1 (13) Outi Virkki Tietokantasuunnittelu
HELIA 1 (13) Luento 2 Tietotarpeiden määrittely... 2 Tietotarveanalyysi... 3 Lähtökohtana tietojenkäsittelytehtävät... 3 Määrittelyn sisältö... 4 Lähestymistapa... 5 Tietolähteet... 5 Vaiheistus... 5 Tietotarpeen
Nimi: Henkilötunnus: {id} {+id}
TEHTÄVÄ : Eräillä kursseilla on kertauskysymyksiä, joihin opiskelijat vastaavat webin kautta. Kurssilla voi olla useita kysymyssarjoja, joihin voi kuulua monta kysymystä. Kysymyssarjalla on kurssikohtainen
Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto
jen mallinnus, s2008 jen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Tietokoneohjelma (computer program) toimintaohje, jonka mukaan toimien tietokone suorittaa jonkin tietojenkäsittelytehtävän suoritettava