Kuvaustekniikoista menetelmiin
|
|
- Ari-Pekka Elstelä
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Kuvaustekniikoista menetelmiin Kurssin loppuosa käsittelee kuvausmenetelmiä ja tekniikoita. Tarkoituksena on antaa valmiudet sekä laatia että ymmärtää erilaisia ohjelmistotuotannossa yleisesti käytössä olevia kuvauksia. Esiteltävät kuvaustekniikat ovat puoliformaaleita eli niihin liittyy toisaalta formaalille kuvaukselle ominaista täsmällisyyttä ja toisaalta vapaan ilmaisun luomaa helppoutta ja luonnollisuutta. Aihepiiriä käsitellään tässä ja seuraavissa luvuissa laajasti eri tarkoituksiin soveltuvia tekniikoita ja menetelmiä esitellen. Eri kuvauskohteisiin soveltuvat erilaiset kuvausmenetelmät tästä johtuu laaja kuvausmenetelmien kirjo. Yritysten ohjeistot (määrittelymenetelmät, suunnittelumenetelmät) standardoivat yleensä hyvinkin tarkkaan yrityksen kuvauskäytännöt sekä dokumenttimallien että menetelmien osalta. Tekijälle ohjeistus antaa työskentelyn puitteet, dokumenaatiota lukevalle taas mallin odotettavissa olevasta dokumentaation rakenteesta ja muodoista. Olennaista on, että kuvaukset ovat aina odotetunlaisia ja samankaltaisia kaikissa projekteissa. Kuvausmenetelmiä on syytä opetella käyttämään menetelmän periaatteiden mukaisesti sallien kuitenkin luonnollisella kielellä esitettäviä selitteitä ja täydennyksiä niiden osana. Kurssin esittelemät kuvausmenetelmät pohjautuvat pitkälti UML-standardiin. Kurssilla käsitellään myös joitain UML-standardiin kuulumattomia menetelmiä, jotka ovat tarkoituksenmukaisia käytettäväksi joissain erityiskohteissa. Kuvausmenetelmiä koskeva osuus lähtee liikkeelle toimintojen ja tietojen kuvausmenetelmistä. Tämän jälkeen käsitellään luokka- ja käsitekaavioita, tilakaavioita, tapahtumasekvenssien eli vuorovaikutuksen kuvaamista ja tietovirtakaavioita. Käsittelyn lopuksi esitellään eräs tapa sitoa eri kuvausmenetelmät toimivaksi järjestelmän määrittelymenetelmäksi eli käytännössä määrittelydokumentaation rakenne. Toimintojen ja tietojen kuvauksessa käydään läpi algoritmien kuvaamisen tekniikoita, päätöstilanteiden kuvauksessa käytettäviä menettelytapoja sekä tietohakemistomäärittelyn käyttöä tietojen kuvaamisessa. Exit
2 Sisällys Kuvattavat kohteet Johdatus UML-kuvauksiin Terminologiaa Mallinnus Mallien jäsentely Näkymät ja kaaviot UML-kaaviotyypit kehitystyössä UML-kaavioiden kuvausvoima UML:n perusosat Laajennusmekanismit UML ja OMT++ UML ja Simplified Method Kuvaustekniikat Kulkukaavio Rakenteinen kulkukaavio Pseudokoodi Aktiviteettikaavio Päätöspuut ja -taulut Esi- ja jälkiehdot Tietohakemistomäärittely BNF-notaatio Harjoitus Kertauskysymykset Kuvaustekniikoista menetelmiin 2
3 Kuvattavat kohteet Kuvauskäytännöt ei-toiminnalliset ominaisuudet: suorasanainen teksti, kaavat, taulukot, rajoitteet ja reunaehdot: suorasanainen teksti, toiminnalliset ominaisuudet: kuvaustarpeeseen sopivat notaatiot, joita voidaan täydentää suorasanaisella tekstillä ohjeistus määrittää käytettävät notaatiot ja niiden käyttötavan kehitysmenetelmän osana kehitysmenetelmät: notaatioita yhdistelemällä saatuja kokonaisvaltaisia (kuvausten kokonaistarpeet tyydyttäviä) kuvauskäytäntöjä ohjeistaa menetelmien valinnan ja niiden käyttötavan OMG - UML (standardi?) Booch, Rumbaugh, Jacobsson [ Kuvaustekniikoista menetelmiin 3
4 Johdatus UMLkuvauksiin Introduction to UML: Structural Modeling and Use Cases Exit
5 Terminologiaa näkymä (view): kuvaa mallinnettavan järjestelmän eri näkökulmista näkymän kuvaus koostuu useista kaavioista kaavio (diagram): kuvaustekniikkaa käyttäen tehty kuvaus; UMLään sisältyy kuvaustekniikka yhdeksän eri kaavion tekemiseen mallinnuselementti (model element): vastaa olioohjelmoinnin käsitteitä (luokka, yhteys, riippuvuus, ); käytetään erityyppisissä kaavioissa merkityksen muuttumatta yleiset merkinnät (general mechanism), ym:n avulla kuvauksiin voidaan liittää tarkenteita ja laajentaa peruskuvauksia UML:n UML:n kuvausnotaatioita kuvausnotaatioita tarkastellaan tarkastellaan tässä tässä katsauksenomaisesti. Lisätietoja katsauksenomaisesti. Lisätietoja voi voi etsiä etsiä kurssin kurssin seuraavista seuraavista luvuista luvuista ja ja aihetta käsittelevistä aihetta käsittelevistä oppikirjoista. oppikirjoista. Kuvaustekniikoista menetelmiin 5
6 Mallinnus Mallien generointi, tarkistus,... Takaisinmallinnus Mallinnus Koodi Koodin generointi Järjestelmä Lähde: K.Koskimies (2000),UML-kurssin materiaali.tarkemmin: Pieni oliokirja, Suomen ATK-kustannus Mallintaminen Mallintaminen on on todellisuuden abstrahointia todellisuuden (yksinkertaistaminen). abstrahointia (yksinkertaistaminen). Hyvä Hyvä malli rakentuu malli rakentuu samoista samoista toimijoista toimijoista ja toiminnoista ja toiminnoista kuin kuin todellisuuskin. todellisuuskin. Kuvaustekniikoista menetelmiin 6
7 Mallien jäsentely: 4+1 Views käyttötapausnäkymä (use case view): järjestelmän toiminta ulkopuolisen toimijan (actor) kannalta looginen näkymä (logical view): järjestelmän sisäinen toiminnallisuus pysyvien rakenteiden (staattinen) ja muuttuvien (dynaaminen) toimintojen kannalta komponenttinäkymä (component view): lähdemoduulien rakenne samanaikaisuusnäkymä (concurrency view): samanaikaisuutta sisältävän järjestelmän yhteistoiminta kommunikaation ja synkronoinnin kannalta sijoittelunäkymä (deployment view): järjestelmän käyttöönotto eri tietokoneissa ja oheislaitteissa (solmuissa - nodes) Kuvaustekniikoista menetelmiin 7
8 näkymät (Eriksson, Penker) komponenttikaaviot komponenttinäkymä looginen näkymä staattinen:: luokkakaaviot oliokaaviot dynaaminen tilakaaviot sekvenssikaaviot yhteistyökaaviot aktiviteettikaaviot käyttötapauskaaviot aktiviteettikaaviot käyttötapaus näkymä Käyttötapausnäkymä Käyttötapausnäkymä on kehitystyön on kehitystyön perusta (asiakastarpeet). perusta (asiakastarpeet). Muiden Muiden näkymien kuvaus näkymien kuvaus perustuu perustuu tähän. tähän. sijoittelukaaviot sijoittelu näkymä samanaikaisuus näkymä dynaamiset kaaviot tilakaavio sekvenssikaaviot yhteistyökaaviot aktiviteettikaaviot toteutuskaaviot komponenttikaaviot käyttöönottokaaviot Kuvaustekniikoista menetelmiin 8
9 Käyttötapausnäkymä järjestelmän toiminta ulkoisen toimijan kannalta hyödyntäjä: asiakkaat, suunnittelijat, kehittäjät, testaajat ohjaa muiden näkymien kehitystä järjestelmän tavoite on toteuttaa käyttötapausnäkymä Käyttötapaukset testauskuvauksina Käyttötapaukset toimivat toimivat testauskuvauksina järjestelmätestaukselle Kuvaustekniikoista menetelmiin 9
10 Looginen näkymä kuinka järjestelmän toiminnat on toteutettu kuvaa pysyvät rakenteet: luokat, suhteet, dynaamiset rakenteet: yhteistyö ominaisuudet (säilyvyys, samanaikaisuus) ulkoiset rajapinnat sisäiset rakenteet hyödyntäjä: suunnittelijat, kehittäjät Kuvaustekniikoista menetelmiin 10
11 Komponenttinäkymä moduulien toteutus ja riippuvuudet käyttäjät: kehittäjät komponentit ovat erilaisia koodimoduuleita, joiden rakennetta ja riippuvuuksia näkymä kuvaa Kuvaustekniikoista menetelmiin 11
12 Samanaikaisuus- ja sijoittelunäkymät samanaikaisuusnäkymä järjestelmän jako prosesseihin ja prosessoreihin rinnakkaisuus, säikeistys, synkronointi, kommunikaatio, käyttäjät: kehittäjät, integraattorit sijoittelunäkymä järjestelmän fyysinen sijoittelu solmut (tietokoneet) ja niiden välinen riippuvuus koodimoduulien sijoittelu solmuihin, käyttäjät: integraattorit, kehittäjät, testaajat Kuvaustekniikoista menetelmiin 12
13 Näkymät ja kaaviot (Rational Rose) Näkymät use use case case logical component deployment Kaaviot luokka- olio- olio- sekvenssi- yhteistyö tila- tila- aktiviteetti- komponentti- sijoittelu- Kuvaustekniikoista menetelmiin 13
14 UML-kaaviotyypit kehitystyössä Esimerkkejä Rakenne Oliokaaviot Käyttäytyminen Ohjelmistokehitys Käyttötapauskaaviot Sekvenssikaaviot Yhteistyökaaviot Aktiviteettikaaviot Sijoittelukaaviot Luokkakaaviot Tilakaaviot Komponenttikaaviot Lähde: K.Koskimies (2000) Staattinen Staattinen rakenne rakenne Dynamiikka Dynamiikka Perusidea Perusidea mallintamisessa: mallintamisessa: esimerkkien avulla esimerkkien avulla kuvatut kuvatut tilanteet tilanteet yleistetään rakenne- yleistetään rakenneja ja käyttäytymiskuvauksiksi käyttäytymiskuvauksiksi Kuvaustekniikoista menetelmiin 14
15 UML-kaavioiden kuvausvoima Luokkakaaviot Komponenttikaaviot Sijoittelukaaviot Tapahtumasekvenssik.:t Yhteistyökaaviot Tilakaaviot Aktiviteettikaaviot Käyttötapauskaaviot Rakenne Vuorovaikutus Olion käyttäytyminen Järjestelmän käyttäytyminen Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 15
16 Kaaviot käyttötapauskaavio (use case diagram) kuvaa asiakasvaatimukset käyttötapausten muodossa luokkakaavio (class diagram) järjestelmän luokkarakenne oliokaavio (object diagram) luokkakaavion muunnelma, kuvaa luokkarakennetta ilmentymätasolla (esimerkit, joista yleistetään luokkakaavio) tilakaavio (state diagram) (mm.) luokan toiminnan kuvaus Kuvaustekniikoista menetelmiin 16
17 kaaviot sekvenssikaavio (sequence diagram) synonyymi: tapahtumasekvenssikaavio, viestiyhteyskaavio, kommunikointikaavio dynaaminen olioiden (luokkien) välinen yhteistyö käytetään kun ajan kuluminen tai viestisarja on tärkeä esimerkkejä, joista yleistetään toimintokuvaus yhteistyökaavio (collaboration diagram) synonyymi: oliointeraktiokaavio dynaaminen olioiden välinen yhteistyö käytetään kun olioiden suhde kommunikoinnissa on tärkeä Kuvaustekniikoista menetelmiin 17
18 kaaviot aktiviteettikaavio (activity diagram) synonyymi: toimintokaavio toiminnon kulun kuvaaminen komponenttikaavio (component diagram) lähdekoodin fyysinen rakenne voidaan ryhmitellä paketteihin tuki ohjelmointityölle sijoittelukaavio (deployment diagram) synonyymi: käyttöönottokaavio järjestelmän laitteiston ja ohjelmiston fyysinen rakenne solmut (tietokoneet, laittet, ) ja niiden väliset yhteydet Kuvaustekniikoista menetelmiin 18
19 Kaaviot all in one Käyttötapaus Luokka- ja oliokaavio Tapahtumasekvenssikaavio Yhteistoimintakaavio Kuljettaja Kuljettaja Käsittele puu Puu 1..* Tukki Mänty :Puu :Tukki Kuljettaja Sahaa <<create>> AsetaMitat 1. Sahaa 2. Syötä :Tukki 2.1. AsetaMitat Sahaa tukki Mänty :Puu :Tukki Syötä AsetaMitat Mänty :Puu 1.2. AsetaMitat 1.1. <<create>> Aktiviteettikaavio Tilakaavio Komponettikaavio Sijoittelukaavio H Tartu puuhun kouralla H Saha suojassa H.U.I. ITuotanto <<Laptop>> H.U.I. H.U.I. Kaada puu Sahaa / ^KäynnistäTerä PuuPoikki / ^PysäytäTerä Tuotanto <<CAN>> Tuotanto Syötä ja sahaa Valitse puulaji H H Saha ulkona Tuotanto Puu Tukki <<processor>> Main Unit Lähde: I.Haikala Kuvaustekniikoista menetelmiin 19
20 UML:n perusosat Luokka Elementit nimi nimi Riippuvuus Suhteet Olio olionnimi: luokannimi olionnimi: luokannimi Assosiaatio * rooli 0..1 Tila nimi Kooste Pakkaus nimi Yleistys (Periytyminen) Toteutus Kommentti teksti jne. jne. Kuvaustekniikoista menetelmiin 20
21 Käyttötapauskaavio Kukin Kukin käyttötapaus käyttötapaus kuvataan kuvataan yksityiskohtaisesti yksityiskohtaisesti käyttötapauskuvauksena (tekstimuoto) (tekstimuoto) Ajoneuvojen vuokrausjärjestelmä Varaus Käyttöönotto Asiakas Palautus <<include>> Huolto Virkailija Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 21
22 Oliokaavio Olio Olio todellinen todellinen Luokka Luokka --yleistys yleistys : KohdeHallinto Kaksi Kaksi eri eri autoa, autoa, sama sama kohdehallinto. kohdehallinto. Yleistys Yleistys luokkakaaviona. luokkakaaviona. auto1: HenkilöAuto rekisterinumero = XYZ-999 auto2 : HenkilöAuto rekisterinumero = ABC-123 Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 22
23 Luokkakaavio Kaksi Kaksi esimerkkiautoa esimerkkiautoa = yhteys yhteys monta monta Kohde palauta varaa otakäyttöön hallinnoi * 1 KohdeHallinto palauta(kohde, Varasto) varaa(kohde) otakäyttöön(kohde) Varasto HenkilöAuto rekisterinumero huolla(int km) palauta Talleta Talletahuolto- informaatio informaatio (palauta (palautakutsuu) ParkkiAlue Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 23
24 Sekvenssikaavio UI : KohdeHallinto auto: HenkilöAuto parkki: ParkkiAlue palauta(auto, parkki) palauta() varastoi(auto) Lähde: K.Koskimies (2000) Esimerkki Esimerkki interaktiosta interaktiosta (toimijoina (toimijoina oliot oliot ei ei luokat) luokat) Kuvaustekniikoista menetelmiin 24
25 Yhteistyökaavio Sama Sama toiminnallisuus toiminnallisuus edellisen edellisen kaavion kaavion kanssa kanssa 1.1: palauta() auto: Henkilöauto : KohdeHallinto 1: palauta(auto,parkki) 1.2: varastoi(auto) parkki: ParkkiAlue UI Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 25
26 Tilakaavio Auto-olion käyttäytyminen: Auton Auton tilojen tilojen muutosten muutosten tarkastelu tarkastelu avustaa avustaa toiminnallisuuden toiminnallisuuden suunnittelussa suunnittelussa Käytettävissä palauta/ lopeta ajan lasku Käytössä valmis huolla otakäyttöön/ aloita ajan lasku Huollossa Varattu do/huoltoilmoitus varaa Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 26
27 Aktiviteettikaavio Asiakas Pyydä auto Virkailija Tee varaus :lasku [ei maks] Tee lasku :lasku [maks] Maksa Valmistele auto Lähde: K.Koskimies (2000) Ota auto Kolme Kolme toimintosekvenssiä. Synkronointi. toimintosekvenssiä. Synkronointi. Rekisteröi vuokraus Kuvaustekniikoista menetelmiin 27
28 Komponenttikaavio GUI Komponentit Komponentit ja ja rajapinnat rajapinnat (interface) (interface) Auton- Vuokraus VuokrausToiminta Tietokantaliittymä KohdeKanta Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 28
29 Sijoittelukaavio Asiakaspiste: Asiakas : GUI Ajoneuvorekisteri: Palvelin : XTietokantaliittymä : Auton- Vuokraus <<IP>> Kohde- Kanta : XTietokanta Edellisen Edellisen kuvan kuvan komponenttien komponenttien sijoittelu sijoittelu järjestelmäkomponentteihin Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 29
30 Mallinnuselementit Elementit Luokka Nimi Riippuvuus Suhteet Tila Nimi Assosiaatio * rooli 0..1 Kooste Pakkaus nimi Yleistys (Periytyminen) Kommentti Teksti Toteutus Rajapinta Käyttötapaus Komponentti (pakkaus) Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 30
31 mallinnuselementit kaavion symbolille on määritelty yksikäsitteinen semantiikka sama elementti voi olla käytössä useissa eri kaavioissa (UML:n säännöt määrittävät käytettävyyden rajat) mallinnuselementtejä voidaan täsmentää ja laajentaa yleisillä merkinnöillä ja laajennusmerkinnöillä mahdollisuus omien elementtien rakentamiseen Seuraavien Seuraavien esimerkkien esimerkkien avulla avulla annetaan annetaan yleiskuva yleiskuva UML:n UML:n kuvauksista. kuvauksista. Ne Ne on tarkoitettu on tarkoitettu esimerkeiksi. esimerkeiksi. Aiheeseen Aiheeseen perehtyminen perehtyminen edellyttää edellyttää soveltuvaan oppikirjaan soveltuvaan oppikirjaan tutustumista. tutustumista. Kuvaustekniikoista menetelmiin 31
32 Ryhmittely, pakkaukset Kohteet Tuki Kohde palauta varaa otakäyttöön hallinnoi * KohdeHallinto palauta(kohde, Varasto) varaa(kohde) otakäyttöön(kohde) Varasto HenkilöAuto rekisterinumero ParkkiAlue huolla(int km) palauta Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 32
33 Pakkausten suhteet Tuki <<import>> Tietokanta Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 33
34 Yleiset merkinnät ja laajennukset koristeet (adornments) lisäävät elementtiin lisämerkityksiä esimerkkejä: viivan paksunnos, bold- tai ul-teksti huomautukset (notes): voidaan sijoittaa minne tahansa täsmentämään, rajoittamaan jne. merkkinono (teksti): liitetään yleensä katkoviivalla elementtiin Teksti Teksti Kuvaustekniikoista menetelmiin 34
35 Laajennusmekanismit: stereotyypit Stereotyyppi (stereotype) määrittelee uuden mallialkiotyypin olemassa olevan laajennoksena teknisesti uusi UML meta(ali)luokka UML määrittelee joukon standardistereotyyppejä käyttäjä voi antaa omia merkitys voidaan jättää epäformaaliksi tai määritellä esim. rajoitteilla voi olla oma ikoni ikoni Stereotyyppi merkitään: Esimerkki: <<stereotyypin nimi>> <<exception>> Overflow <<exception>> Overflow Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 35
36 Laajennusmekanismit: malliparametrit Malliparametri (tag) koostuu malliparametrin nimestä ja arvosta sallii mielivaltaisen informaation liittämisen mallin osiin ei muuta mallin merkitystä käytetään esimerkiksi koodin tuottamisessa tai konfiguraationhallinnassa Esimerkki: MyClass {version = 1.2} Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 36
37 Laajennusmekanismit: rajoite Rajoite (constraint) rajoittaa mallin mahdollisia toteutumia ehto, jonka jokaisen mallin mukaisen järjestelmän täytyy täyttää standardi (nimetty), vapaamuotoinen tai formaali (OCL) Yritys Ministeriö * {xor} 0..1 omistaa aviomies 0..1 johtaa 0..1 vaimo Henkilö sukupuoli OCL: {(self.aviomies->size=1 {(self.aviomies->size=1 implies implies self.aviomies.sukupuoli self.aviomies.sukupuoli = = mies) mies) and and (self.vaimo->size=1 (self.vaimo->size=1 implies implies self.vaimo.sukupuoli self.vaimo.sukupuoli = = nainen) nainen) and and not(self.vaimo->size=1 not(self.vaimo->size=1 and and self.aviomies->size=1)} self.aviomies->size=1)} Lähde: K.Koskimies (2000) * {ordered} Kuvaustekniikoista menetelmiin 37
38 UML ja kehitysmenetelmät (OMT++) Analyysimalli Dialogimallit Suunnitteluvaiheen luokkamalli Vaatimukset Koodi Class C { } User System User UI System User View Contr void C::m() { } Käyttötapaukset Operaatiospesifikaatiot Tehtäväspesifikaatiot Suunnitteluvaiheen tapahtumasekvenssit Lähde: K.Koskimies (2000) Kuvaustekniikoista menetelmiin 38
39 UML ja kehitysmenetelmät: Simplified Method Vaatimukset UseCaseA UseCaseB Use Case C Muut Vaat. Suunnitteluoliomalli Määrittelyoliomalli Toimintolista Operaatio Operaatio X attribute attribute Y attribute Operaatio Operaatio 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. Kuvaustekniikoista menetelmiin 39
40 Kuvaustekniikat Toimintojen ja tietojen kuvaaminen Exit Paluu Paluu oppikirjan oppikirjan aiheisiin aiheisiin
41 Algoritmien kuvaaminen kulkukaaviotekniikat perinteinen tekniikka algoritmien kuvaamiseen soveltuvuus nykyaikaiseen ohjelmointiin on kyseenalainen soveltuu toimintovuon etenemisen kuvaamiseen Kuvaustekniikoita Kuvaustekniikoita tarkastelemalla tarkastelemalla on on helppo helppo tehdä tehdä havainto, havainto, että että tekniikat tekniikat noudattelevat noudattelevat oman oman aikansa aikansa ohjelmistotyön ohjelmistotyön paradigmaa. paradigmaa. Kulkukaaviot Kulkukaaviot ovat ovat peräisin peräisin ohjelmoinnin ohjelmoinnin varhaisvuosilta, varhaisvuosilta, joten joten ne ne ovat ovat ilmaisuvoimaltaan ilmaisuvoimaltaan heikkoja. heikkoja. Rakenteiset Rakenteiset kulkukaaviot kulkukaaviot heijastavat heijastavat rakenteisen rakenteisen ohjelmoinnin ohjelmoinnin aikakautta. aikakautta. Uusimmissa Uusimmissa kuvaustekniikoissa kuvaustekniikoissa sen sen sijaan sijaan on on nähtävissä nähtävissä rinnakkaisuuden, rinnakkaisuuden, olioajattelun olioajattelun ym. ym. nykyaikaisten nykyaikaisten kehitystyön kehitystyön paradigmojen paradigmojen vaikutus. vaikutus. Kuvaustekniikoista menetelmiin 41
42 Kulkukaavio Symbolit: alku/loppu tiedosto dokumentti A A toiminto toiminto ehto syöttö/ tulostus liittimiä (= "nuoli jatkuu kohdasta A") Development cycle (Murphy): Order Order T-shirts T-shirts Announce Announce delivery delivery date date Write Write manuals manuals Write Write code code Hire Hire product product manager manager Write Write specifications specifications Kuvaustekniikoista menetelmiin 42 Test Test Ship Ship Announce Announce uppgrade uppgrade
43 Kulkukaavio laske tulokset alustukset opiskelijoita jäljellä ei laske arvosanajakauma kyllä Esimerkki Esimerkki kuvaa kuvaa kulkukaaviota, kulkukaaviota, jossa jossa opiskelijoiden opiskelijoiden arvosanatietoja arvosanatietoja koskevasta koskevasta tulosaineistosta tulosaineistosta määrätään määrätään arvosana, arvosana, päivitetään päivitetään opiskelijaa opiskelijaa koskevat koskevat tiedot tiedot ja ja lopulta lopulta lasketaan lasketaan tulosten tulosten arvosanajakauma. arvosanajakauma. ei hae seuraavan opiskelijan tiedot mukana tentissä kyllä loppu määrää arvosana päivitä opiskelijan tiedot Kuvaustekniikoista menetelmiin 43
44 kulkukaavio tilausjärjestelmä tilauksen vastaanotto tilauksen tarkastus ei voidaanko toimittaa kyllä ilmoitus tilaajalle tee varastomääräys ei jätetäänkö odotukseen kyllä loppu loppu tee varaus loppu Kulkukaavio Kulkukaavio soveltuu soveltuu karkean karkean tason tason toimintokuvaukseen. toimintokuvaukseen. Käyttökelpoisuus Käyttökelpoisuus algoritmien algoritmien kuvauksessa kuvauksessa on on kyseenalainen. kyseenalainen. Kuvaustekniikoista menetelmiin 44
45 kulkukaavio Jos kuukauden toteutunut myynti alittaa tavoiteet, tulostetaan raportti, ellei toteutunut myynnin ja tavoitteen ero ole vähemmän kuin puolet edellisen kuukauden tavoitteen ja toteutunut myynnin erosta, tai toteutunut myynti alittaa tavoiteen alle 5% aloita aloita eronyt eronyt = = tavoite( tavoite( tämä tämä kk) - toteutunut(tämä kk) kk) - toteutunut(tämä kk) eroed eroed = = tavoite( tavoite( edellinen edellinen kk) kk) - toteutunut(edellinen kk) - toteutunut(edellinen kk) eronyt ero% ero% = = * * tavoite ero ero % < < 5 E eronyt eronyt < < 5 eroed/2 eroed/2 E Tulosta Tulosta raportti raportti Tässä Tässä kulkukaavio kulkukaavio selkiyttää selkiyttää monimutkaista monimutkaista päättelyalgoritmia päättelyalgoritmia K K lopeta lopeta Kuvaustekniikoista menetelmiin 45
46 Rakenteinen kulkukaavio rakenteiset kulkukaaviot ongelmaa (top-down) jäsentelevä lähestymistapa rakenteinen symbolit rakenteisen ohjelmoinnin periatteiden mukaisisia» rakenteella on alku- ja loppukohta» logiikka muodostuu peräkkäisistä ja sisäkkäisistä rakenteista graafinen esitysmuoto» rajaa yhteen kuvaukseen mahtuvien toimintojen määrää»jäsentelevä hyödyt ohjelman (koodin) rakenteen suunnitelulle! Kuvaustekniikoista menetelmiin 46
47 .. rakenteinen kulkukaavio peräkkäisrakenne toiminto 1 toiminto 2 toiminto 3 while-silmukka while-ehto do until -silmukka elsetoiminto silmukkatoiminto until-ehto ehdollinen rakenne T ehto F case-rakenne 1 2 toiminto 1 case-lauseke toiminto 2 3 else toiminto 3 thentoiminto elsetoiminto silmukkatoiminto Kuvaustekniikoista menetelmiin 47
48 rakenteinen kulkukaavio while opiskelijoita jäljellä alustukset ei hae seuraavan opiskelijan tiedot mukana tentissä määrää arvosana päivitä opiskelijan tiedot laske arvosanajakauma kyllä Kuvaus Kuvaus muodostuu muodostuu vaiheittain vaiheittain jäsennellen. jäsennellen. Alussa Alussa kuvataan kuvataan toiminto toiminto yhtenä yhtenä prosessina. prosessina. Tätä Tätä tarkennetaan tarkennetaan peräkkäisiksi peräkkäisiksi toimintokokonaisuuksiksi toimintokokonaisuuksiksi jäsentämällä. jäsentämällä. Toimintokokonaisuuksien Toimintokokonaisuuksien luonne luonne selkiytyy selkiytyy jäsentelyn jäsentelyn myötä. myötä. Lopputuloksena Lopputuloksena saadaan saadaan oheinen oheinen kuvaus. kuvaus. Kuvaustekniikoista menetelmiin 48
49 Pseudokoodi pseudokoodi ohjelmointikielen kaltainen vapaa ilmaisu» ei ohjelmointikielen rajoituksia helppo muuttaa ohjelmaksi ohjelmointityöhön tottuneelle luonnollinen (?) pseudokielen rakenneperiaatteita» lausesulkujen käyttö (rakenteen alku ja loppu)» ohjelmointia tukevat rakenteet» voi perustua käytettävään ohjelmointikieleen, jota on laajennettu määrittelyn tarvitsemilla ilmaisuilla Kuvaustekniikoista menetelmiin 49
50 pseudokoodi alustukset while opiskelijoita jäljellä loop hae opiskelijan tiedot; if opiskelija mukana tentissä then määrää arvosana; päivitä opiskelijan arvosana; end if end while; laske arvosanajakauma; Tästä Tästä ohjelmoija ohjelmoija voi voi jatkaa jatkaa työtä työtä jättämällä jättämällä kuvauksen kuvauksen ohjelman ohjelman kommenteiksi kommenteiksi ja ja täydentämällä täydentämällä kuvausten kuvausten yhteyteen yhteyteen vastaavan vastaavan toiminnan toiminnan suorittavat suorittavat lopulliset lopulliset ohjelmointikieliset ohjelmointikieliset ilmaisut. ilmaisut. Kuvaustekniikoista menetelmiin 50
51 Aktiviteettikaavio UML - aktiviteettikaaviot kulkukaavion kaltainen, ilmaisuvoimaltaan tätä voimakkaampi sisältää tilakaavioista ja SDL:stä peräisin olevia piirteitä, jotka lisäävät sen sovellettavuutta Kuvaustekniikoista menetelmiin 51
52 aktiviteettikaavio alustukset [opiskelijat loppu] laske arvosanajakauma Yksinkertaisimmillaan aktiviteettikaavio aktiviteettikaavio muistuttaa muistuttaa kulkukaaviota. kulkukaaviota. [opiskelijoita jäljellä] hae seuraavan opiskelijan tiedot [ei mukana tentissä] [mukana tentissä] päivitä opiskelijan tiedot määrää arvosana Kuvaustekniikoista menetelmiin 52
53 aktiviteettikaavio Näyttölaite Mittari Tekniikka Tekniikka mahdollistaa mahdollistaa rinnakkaisuuden, rinnakkaisuuden, kommunikoinnin kommunikoinnin ja ja synkronoinnin synkronoinnin kuvaamisen. kuvaamisen. Mittari.run(näytteistystaajuus) alusta järjestelmä näytä mittaustulosta mittaustulos tee Mittauksia Kuvaustekniikoista menetelmiin 53
54 Päätöspuut ja -taulut päätöstaulut, käyttökohde monimutkaiset päätöstilanteet monimutkaiset ehtokombinaatiot vaihtoehtoiset toimenpiteet päätöspuut, käyttökohde pitkien päätösketjujen hallitttu esittäminen Kuvaustekniikoista menetelmiin 54
55 Päätöspuut Päätöspuu Päätöspuu on on yksinkertainen yksinkertainen haarautumista haarautumista kuvaava kuvaava rakenne. rakenne. Haarautumiskohdassa Haarautumiskohdassa esitetään esitetään tutkittava tutkittava ehto ehto ja ja haaroihin haaroihin johtavissa johtavissa nuolissa nuolissa ehdon ehdon arvo arvo (päätös). (päätös). vihreä ehtiikö jarruttamaan? k e aja risteykseen aja risteykseen valon väri? keltainen punainen ehtiikö jarruttamaan? k e pysähdy aja risteykseen ehtiikö jarruttamaan? k e pysähdy aja risteykseen Kuvaustekniikoista menetelmiin 55
56 Päätöstaulut valon väri vihreä keltainen keltainen punainen punainen ehtiikö jarruttamaan kyllä tai ei kyllä ei kyllä ei toiminto aja risteykseen pysäytä aja risteykseen pysäytä aja risteykseen Päätöstaulua Päätöstaulua on on helppo helppo yksinkertaistaa. yksinkertaistaa. Miten? Miten? Kuvaustekniikoista menetelmiin 56
57 päätöstalut sukupuoli m m m m m m n n n n n n paino < 80 k k k e e e k k k e e e ikä < 20 k k k k 20 <= ikä < 60 k k k k ikä >= 60 k k k k lääkitys 1 x x x x x x lääkitys 2 x x x x x x lääkitys 3 x x x x x ei lääkitystä x Sarakkeiden Sarakkeiden määrä määrä = kaikkien kaikkien vaihtoehtojen vaihtoehtojen määrän määrän tulo. tulo. Osa Osa tutkittavista tutkittavista ehdoista ehdoista on on tilanteen tilanteen kannalta kannalta yhdentekeviä yhdentekeviä (don t (don t care) care) tai tai kombinaatiot kombinaatiot ovat ovat mahdottomia, mahdottomia, jolloin jolloin niitä niitä ei ei tarvitse tarvitse päätöstaulussa päätöstaulussa käsitellä. käsitellä. Tässä Tässä esimerkiksi esimerkiksi tutkittavan tutkittavan kuuluessa kuuluessa johonkin johonkin ikäryhmään, ikäryhmään, hän hän ei ei voi voi kuulua kuulua muihin. muihin. Kuvaustekniikoista menetelmiin 57
58 päätöstaulut eronyt = tavoitemyynnin ja toteutuneen myynnin erotus tässä kuussa eroed = tavoitemyynnin ja toteutuneen myynnin erotus viime kuussa ero% = tavoitemyynnistä jälkeenjääminen tässä kuussa prosentteina eronyt < eroed/2 kyllä ei kyllä ei ero% < 5 < 5 >= 5 >= 5 tulosta raportti ei ei ei kyllä Myös Myös tämä tämä kuvaus kuvaus selkiyttänee selkiyttänee luonnollisella luonnollisella kielellä kielellä esitettynä esitettynä monimutkaiselta monimutkaiselta vaikuttavaa vaikuttavaa päätössääntöä. päätössääntöä. Kuvaustekniikoista menetelmiin 58
59 Päätöstaulujen rakenne - terminologiaa vaihtoehto-osa ehtojen luettelo toimenpiteiden luettelo arvo-osa ehtojen arvot toimenpiteiden arvot ehto-osa tutkittavat ehdot toimenpideosa suoritettavat toimenpiteet Kuvaustekniikoista menetelmiin 59
60 Päätöstaulut muodostamisen periaatteita ehtojen kattavuus kaikki mahdolliset (toteutuvat) ehtojen kombinaatiot esiteltävä taulussa don t care tilanteiden huomioonottaminen vähentää ehtokombinaatioiden määrää vapaa ilmaisu ehdoissa / arvoissa yksinkertaistaa taulun ilmaisua suoritusjärjestys periaatteessa taulun suorituksessa ei ole suoritusjärjestystä sopimuksella suoritusjärjestyksestä merkitystä koodauksessa viittaukset päätöstaulujen sisällä / välillä päätöstauluhierarkkia - päätöstaulukutsut Kuvaustekniikoista menetelmiin 60
61 Esi- ja jälkiehdot toiminta kuvataan ennen toimintaa olevaa ja sen jälkeistä tilaa kuvaavilla määrittelyillä (loogiset lausekkeet) tilamuutoksen kuvaus muutoksen aiheuttaman toiminnon sijasta ei kiinnitä toiminnon toteutustapaa vaikeutena täsmällisen (oikean) esi- ja jälkitilaa kuvaavan ehdon löytäminen vrt. ohjelmien oikeaksi todistamisen mekanismit Kuvaustekniikoista menetelmiin 61
62 esi- ja jälkiehdot Esimerkki esiehto (loogisena lausekkeena) i 1 N: A[i] jälkiehto (loogisena lausekkeena) i,j 1 N: i j B[i] B[j] Tarkoituksena Tarkoituksena on on kuvata kuvata taulukon taulukon lajittelu. lajittelu. Kuvaus Kuvaus on on täsmällinen täsmällinen ja ja formaali. formaali. Ehdot Ehdot eivät eivät kuitenkaan kuitenkaan ole ole onnistuneesti onnistuneesti valittuja? valittuja? Toiminto Toiminto on on musta musta laatikko laatikko (ei (ei kuvata) kuvata) Esiehto: on Esiehto: on olemassa olemassa järjestämätön järjestämätön lukujoukko, lukujoukko, N lukua lukua Jälkiehto: Jälkiehto: on on olemassa olemassa nousevaan nousevaan järjestykseen järjestykseen järjestetty järjestetty lukujoukko lukujoukko N lukua, lukua, samat samat kuin kuin esiehdossa esiehdossa Toimintokuvauksen Toimintokuvauksen sijasta sijasta vaikutuksen vaikutuksen kuvaus kuvaus saattaa saattaa olla olla havainnollinen. havainnollinen. Tutki Tutki testaukselle! testaukselle! Kuvaustekniikoista menetelmiin 62
63 Tietohakemistomäärittely järjestelmässä käsiteltävien tietojen kuvaaminen tietovarastot (ja niiden sisältö) lähtö- ja tulostiedot tieto- ja tapahtumavirrat yksityiskohtainen kuvaus syntyy suunnittelutyön kuluessa tarkentuu suunnittelutyön myötä tukee suunnittelutyötä yhtenäistää terminologiaa toimii kommunikaation välineenä käytännössä osa tietosisällön ja myös tietokannan suunnittelua CASE-järjestelmien keskeinen osa (käsitteiden hallinta) tieohakemisto on osa kuvauskantaa myös erillisen tietohakemiston ylläpidolle saattaa olla tarve Projekti Suunn 1 Suunn 2 tietoh tuote=tno+tnimi+varasto+ tuotetilaus=tuote Kuvaa Kuvaa järjestelmässä järjestelmässä olevien olevien tietojen tietojen rakenteen rakenteen ( tiedot ( tiedot tiedoista. tiedoista. Kohteena Kohteena tietorakenteet tietorakenteet ja ja niiden niiden muodostamisessa muodostamisessa tarvittavat tarvittavat perustiedot. perustiedot. Kuvaustekniikoista menetelmiin 63
64 tietohakemistomäärittely merkki merkitys + ja () optionaalinen (voi puuttua) {} toisto (0-N kertaa) n{}m toisto n-m kertaa [] vaihtoehtoja vaihtoehtojen avainkenttä * kommentti Kuvaustekniikoista menetelmiin 64
65 tietohakemistomäärittely Esimerkki: henkilötiedot = nimi + aviosääty (+ lapset) nimi = 1{etunimi}3 + sukunimi aviosääty = [naimaton naimisissa eronnut leski] lapset = *määrittelyssä ok; suunnittelu ongelmallinen* henkilötnunnus = 6{numero}6 + [+ - A] + 3{numero}3 + [sallittu_kirjain numero] Vaihtoehtoisia kuvaustapoja (erilainen rakenne!): osoite = (toimitusosoite) + (laskutusosoite) osoite = [toimitusosoite laskutusosoite toimitusosoite + laskutusosoite] osoite = toimitusosoite + (laskutusosoite) Tietokannan Tietokannan taulun taulun rakenne rakenne on on kaikissa kaikissa sama. sama. Sisällön Sisällön hyödyntäminen hyödyntäminen vaihtelee vaihtelee (käyttötapa). (käyttötapa). Kuvaustekniikoista menetelmiin 65
66 tietohakemistomäärittely Esimerkki: suoritustietokanta = * Relaatiokanta, joka kuvaa opiskelijat, kurssit ja suoritukset. Se koostuu tauluista opiskelijat, suoritukset ja opintojaksot.* opiskelijat = {@op_nro + nimi + osoite +...} suoritukset = {@suor_nro + op_nro + oj_nro+ pvm + ov_määrä + arvosana + opettaja} opintojaksot = {@oj_nro+oj_nimi+kuvaus} Terminologiaa: avain (@op_nro rakenteessa opiskelijat ) vierasavain (viittaus muihin tauluihin; op_nro rakenteessa suoritukset) surrogate key (keinotekoisesti generoitu tunnistusavain rakenteessa suoritukset) Kuvaustekniikoista menetelmiin 66
67 tietohakemistomäärittely Opiskelijat-taulu: op_nro nimi... Ahto Simakuutio Teemu teekkari... os Suorituksettaulu: suor_nro op_nro oj_nro pvm ov-määrä arvosana opettaja... ljh jmj ijh... Opintojaksot-taulu: oj_nro... oj_nimi... kuvaus... Edellistä Edellistä tietohakemistokuvausta tietohakemistokuvausta vastaava vastaava tietokannan tietokannan taulurakenne taulurakenne Ohjelmistotuotannon peruskurssi Ohjelmistotuotannon menetelmättt Kuvaustekniikoista menetelmiin 67
68 BNF-notaatio a) Lausekkeen kielioppi BNF-notaatiolla <lauseke> ::= <kertolauseke> <kertolauseke> <ynnäoper> <lauseke> <kertolauseke> ::= <sulkulauseke> <sulkulauseke> <kerto-oper> <kertolauseke> <sulkulauseke> ::= <termi> ( <lauseke> ) <ynnäoper> ::= + - <kerto-oper> ::= * / <termi> ::= <numeerinen_vakio> <muuttuja> b) Lausekkeen kielioppi tietohakemistonotaatiolla, vaihtoehto 1 lauseke = [kertolauseke kertolauseke lauseke] kertolauseke = [sulkulauseke sulkulauseke + * + kertolauseke] sulkulauseke = [termi ( lauseke ) ] termi = [numeerinen_vakio muuttuja] c) Lausekkeen kielioppi tietohakemistonotaatiolla, vaihtoehto 2 lauseke = kertolauseke + { + + kertolauseke} kertolauseke = sulkulauseke + { * + sulkulauseke} sulkulauseke = [termi ( lauseke ) ] termi = [numeerinen_vakio muuttuja] Kielioppien Kielioppien kuvaamisessa kuvaamisessa käytetään käytetään BNF-noitaatiota. BNF-noitaatiota. Ilmaisuvoimaltaan Ilmaisuvoimaltaan se se on on tietohakemistomäärittelyn tietohakemistomäärittelyn kaltainen. kaltainen. Esityssymboliikka Esityssymboliikka on on erilainen. erilainen. BNF BNF on on laajalti laajalti käytössä käytössä mm. mm. ohjelmointikielten ohjelmointikielten syntaksin syntaksin kuvaamisessa. kuvaamisessa. BNFnotaatiossa BNFnotaatiossa lainausmerkeissä lainausmerkeissä esitetään esitetään symboli, symboli, joka joka jää jää kieleen kieleen (terminaali) (terminaali) kulmasulkeissa kulmasulkeissa esitetään esitetään kuvauksella kuvauksella tarkennettava tarkennettava symboli symboli (non-terminaali) (non-terminaali) Kuvaustekniikoista menetelmiin 68
69 Harjoitus Pieni sormiharjoitus: esitä Tietohakemistonotaatio desimaalilukujen esittämiseksi. Sallituja muotoja ovat esimerkiksi "123", "-123", " ", ".123", "+.123", "-.123" Kielletyjä ovat mm. "++123", "123.", ".", "-" Kuvaustekniikoista menetelmiin 69
70 ...harjoitus LUKU = [ETUM] + ARVO ETUM = +' '-' ARVO = KOK_LUKU + ['.' + KOK_LUKU] '.' + KOK_LUKU KOK_LUKU = 1{ NUMERO} N NUMERO = '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' Kuvaustekniikoista menetelmiin 70
71 tietohakemistomäärittely vs. BNF a) Lausekkeen kielioppi BNF-notaatiolla <lauseke> ::= <kertolauseke> <kertolauseke> <ynnäoper> <lauseke> <kertolauseke> ::= <sulkulauseke> <sulkulauseke> <kerto-oper> <kertolauseke> <sulkulauseke> ::= <termi> ( <lauseke> ) <ynnäoper> ::= + - <kerto-oper> ::= * / <termi> ::= <numeerinen_vakio> <muuttuja> <lauseke> <kertolauseke> <sulkulauseke> <kerto-oper> <kertolauseke> jne... jne... ( ) / ( ( ) / 5 ) Kuvaustekniikoista menetelmiin 71
72 Kertauskysymykset Selvitä lyhyesti UMLkuvausmenetelmäjoukon periaatteet. Mitä tarkoitetaan UML:n yhteydessä esiintyvällä 4+1 View -termillä. Selvitä siihen liittyvien eri näkymien merkitys järjestelmäkehityksen kannalta. Miten näkymät ovat nähtävissä järjestelmäkehityksen menetlmissä (esimerkiksi OMT++). Mihin käytetään käyttötapausnäkymää. Mihin käytetään loogista näkymää. Järjestelmän kuvaustyössä osa kuvauksista kuvaa esimerkinomaisesti reaalimaailmassa tapahtuvia toimintoja tai sen rakenteita, osa taas mallintamisen näkökulmasta antaa kattavan kuvauksen joko mallinnettavan kohteen rakenteesta tai sen käyttäytymisestä. Mikä on tällaisten esimerkki-kuvausten rooli laadittaessa järjestelmän kattavaa kuvausta. Mitkä kuvausmenetelmät ovat luonnehdiottavissa esimerkkikuvauksiksi ja mitkä kattaviksi kuvauksiksi. Minkälaisen prosessin tuloksena rakennetta / toimintaa koskevat kattavat kuvaukset saadaan. Mitä kuvataan luokkakaavioilla ja oliokaavioilla. Mikä on näiden kahden kaavion ero. Mitä kuvataan tapahtumasekvenssikaavioilla. Selitä kurssimateriaalin UML-katsauksen yhteydessä olevien esimerkkikuvausten sisältö käyttötapauskaavio olikaavio luokkakaavio sekvenssikaavio yhteistyökaavio tilakaavio aktiviteettikaavio Mitä ovat UML-kuvausten yleiset merkinnät ja laajennukset. Mitä UML:n kuvaustekniikoita käytetään OMT++ -menetelmässä ja Simplified method -menetelmässä. Mikä on käyttötapausten rooli järjestelmätestauksessa. Kuvaustekniikoista menetelmiin 72
73 kertauskysymykset Minkälaisten kuvaustehtävien yhteydessä käyttäisit perinteisiä kulkukaavioita. Mitä etuja on rakenteisten kulkukaavioiden käytöllä ohjelmiston moduulisuunnittelussa. Entä edut verrattuna perinteisiin kulkukaavioihin. Arvioi pseudokoodin käyttökelpoisuutta ohjelmistoon liittyvässä toiminnallisuuden kuvaamsessa. Mmiten pseudokoodia voi hyödyntää osana lopullista ohjelmakoodia. Mitä etuja tästä menettelystä saadaan. Vertaa UML:n aktiviteettikaavioita perinteisiin kulkukaavioihin. Mitä ovat merkittävimmät ilmaisuvoimassa olevat erot. Mitä hyötyä toimintokuvauksissa saadaan aktiviteettikaavioiden uusien" ilmaisujen avulla. Miksi nämä piirteet ovat olennaisia nykyaikaisessa ohjelmistokehityksessä. Minkälaisiin tilanteisiin päätöstaulut ja -puut soveltuvat kuvausmenetelmäksi. Olisiko mahdollista käyttää niiden sijasta jotain muita kuvaustekniikoita. Mikä on esi- ja jälkiehtoihin perustuvan toimintomäärittelyn periaate. Mitä etuja siinä on toimintokuvauksiin verrattuna ja minkälaisiin tilanteisiin se soveltuu. Mikä on tietohakemistokuvauksen tehtävä järjestelmäkuvausten yhteydessä. Selitä kurssimateriaalin yhteydessä olevat kuvausesimerkit ja kommentoi tehtyä ratkaisua sekä sen havainnollisuutta kulkukaavio rakenteinen kulkukaavio pseudokoodi aktiviteettikaavio päätöstilanteiden kuvaamisen tekniikat esi- ja jälkiehdon käyttö sekä valitut kuvauskäytännöt tietohakemistokuvaus Vertaa tietohakemistokuvauksen ja BNFnotaation esityskäytäntöjä. Kuvaustekniikoista menetelmiin 73
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
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
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
Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )
Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot
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..
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
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
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
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:
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,
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ä
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)
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
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
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
Dynaaminen analyysi II
Dynaaminen analyysi II Luento 7 Antti-Pekka Tuovinen 9 April 2013 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syys-seurausverkot ja päätöstaulut Käyttötapaukset Yhteenveto
Unified Modeling Language
Unified Modeling Language Confuse 25.11.2001 Tila Versio: 1.0 Vaihe: T1 Jakelu: Julkinen Luontipäivä: 15.11.2001 Antti Haapakoski Muutettu viimeksi: 25.11.2001 Antti Haapakoski Sisältö 1 Yleistä 1 2 Mallinnuksesta
Ohjelmistojen kehittämisessä tarvitaan kaaviotekniikoita
Ohjelmistojen kehittämisessä tarvitaan kaaviotekniikoita Mahdollistavat todellisuuden havainnollistamisen ja yksinkertaistamisen Sallivat eri abstraktiotasot, laajuudet ja näkökulmat Auttavat ymmärtämään
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
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
Olioperustaisuus (object oriented)
DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän
Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)
DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmä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
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
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.
Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen
Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen www.cs.helsinki.fi 9 April 2018 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syy-seurausverkot ja päätöstaulut Kombinaatioiden
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
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
Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys
DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän
Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista)
Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista) Kari Systä 05.10.2015 9/30/2013 Jotu2013/KSY 1 Ajankohtaista kurssista Keskiviikon viimeinen viikkoharjoitus saatetaan lopettaa
Kuvaustekniikat. Exit
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.
Olioiden yhteistyön mallintaminen
Olioiden yhteistyön mallintaminen Luokkakaaviosta käy hyvin esille ohjelman rakenne minkälaisia luokkia on olemassa miten luokat liittyvät toisiinsa Entä ohjelman toiminta? Luokkakaaviossa voi olla metodien
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
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
Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:
Sisällys 9. Unified Modeling Language (UML) Perustuu Kai Koskimiehen Oliokirjaan ja aikaisempaan luentomateriaaliin. Johdanto. Luokkakaavio: Luokkasymboli, attribuutit ja metodit. Suhteet: Assosiaatiot:
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
Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot
Arkkitehtuuripankki Mallintamisen metamalli ja notaatiot 21.2.2018 Sisältö Kuvaustapa (notaatio) ja standardit Mallityypit Metamalli Muuta Kuvaustavat ja hyödynnetyt standardit JHS179 template ArchiMate
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
Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä
582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia
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ä:
Tietokantojen suunnittelu, relaatiokantojen perusteita
Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
Mallinnus UML-yleiskatsaus
2 Mallinnus UML-yleiskatsaus Tule maalle - näe mullin malli. Tämän osan sisältö Mallinnus ohjelmistoprojekteissa Mallinnuskielet UML-yleiskatsaus Oliopohjainen ajattelu UML-kaaviot rakennetta kuvaavat
UML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ
Juha Rautiainen UML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ Tietotekniikan kandidaatintutkielma 20.3.2011 Jyväskylän yliopisto Tietotekniikan laitos Tekijä: Juha Rautiainen Yhteystiedot:
Yhteenveto. Menettelytavat
Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)
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
Ohjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML (Ch 2.) Ohjelmistojen mallintamisesta ja kuvaamisesta Strukturoitu mallinnus Tietovuo- ja ER-kaaviot Oliomallinnus ja UML
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
UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Seminaariesitelmä 26.9.2000 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisällys 1 Johdanto 1 2 UML:n perusteet 2 2.1 Kaaviot 2 2.1.1 Yleiskäsitteet ja käyttötapauskaavio 2 2.1.2 Luokkakaavio 3
Määrittelyvaihe. Projektinhallinta
Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti
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
Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML
5. Kuvaustekniikat Miksi kuvaustekniikoita? Tämä luku perustuu Sommervillen lisäksi seuraaviin kirjoihin: Martin Fowler, UML Distilled - Second Edition. Addison-Wesley, 2000. Roger S. Pressman, Software
10. Luento Käsiteltävä tieto
10. Luento Käsiteltävä tieto Kari Systä 5.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 2.9: Ohjelmistojen roolista ja ohjelmistotyön
UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN
UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN SISÄLLYS 4. Viestiyhteyskaavio suunnitteluvaiheessa 4.1 Suunnitteluvaiheen viestiyhteyskaavion osat 4.2 Aikajakson viestit ohjelmakoodissa 4.3 Ehdonesittäminenohjelmakoodissa
19. Unified Modeling Language (UML)
19. Unified Modeling Language (UML) Perustuu Kai Koskimiehen Oliokirjaan ja aikaisempaan luentomateriaaliin. 19.1 Sisällys Johdanto. Luokkakaavio: Luokkasymboli, attribuutit ja metodit. Suhteet: Assosiaatiot:
Ohjelmistojen mallintaminen, sekvenssikaaviot
582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden
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
Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.
MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.
Käyttötapausten mallintaminen
Käyttötapausten mallintaminen Vaatimukset ja testauslähtöisyys, swd4tn001 Anne Valsta 1.3.2011 (ent. 11.2.2011) Sisällysluettelo 1 Käyttötapaukset ohjelmiston vaatimusten määrityksessä... 2 1.1 Käyttötapauskartta...
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
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
T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli
T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli Lasse Lindqvist Lasse Lopperi llindqvi@cc.hut.fi lmlopper@cc.hut.fi Andrey Rusanovich
MagicDraw-pikaohje (VH5)
MagicDraw-pikaohje (VH5) Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Linux-työasemaluokka: käynnistä MagicDraw jollakin
11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
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
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ä
Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2
Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2 Viikon 2 laskareita ei pidetä mikrosaleissa, käytössä ovat opetusohjelmaan merkatut salit. Tämän viikon tehtävistä 1-6 tehdään etukäteen kotona.
UML -mallinnus TILAKAAVIO
UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat
1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
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
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
Ohjelmistojen mallintaminen. Luento 3, 9.11.
Ohjelmistojen mallintaminen Luento 3, 9.11. Kertausta: Ohjelmistotuotantoprosessin vaiheet Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan
Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
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ä:
UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010
UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010 TUTUSTUMISKIERROS VISION UML-KAAVIOIHIN Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli eri sivuilla oleviin kaavioihin (napsautus
VH5, JOTU, MagicDraw:n käyttö
VH5, JOTU, MagicDraw:n käyttö 1. Käynnistä MagicDraw (versio 18.2) 2. Valitse Manage Projects-kohdasta Create New Project toiminto. Oletusarvona on UML Project, saa olla. Täytä nimi (Name) ja tallennuspaikka
Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista
582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)
Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä
DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas
Visual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005
UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005 Tutustumiskierros Vision UML-kaavioihin Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli
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
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
Luokkakaavion laatiminen
Luokkakaavion laatiminen Kartoita luokkaehdokkaita Karsi ehdokkaita Tunnista olioiden väliset yhteydet Täsmennä luokkakuvauksia määrittelemällä attribuutit Määrittele yhteyksiin liittyvät osallistumisrajoitteet.
Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1
Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development 2.12.2008 Harri Laine 1 Jacobson jakaa ohjelmiston oliot kolmeen tyyppiin liittymäolioiksi (interface objects, boundary objects)
Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä
582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia
Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.
Tietokantasuunnittelusta Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla
TIE = JOTU. VH5 - MagicDraw
TIE-02300 = JOTU VH5 - MagicDraw TIE-02300 2 VH5 kaavionpiirtelyharjoitus Tässä harjoituksessa opetellaan tunnistamaan ja piirtämään tavallisimpia ja käytetyimpiä ohjelmistotuotannon kaavioita: käyttötapauskaavio
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
UML-kaaviot. Jouni Kylä-Nikkilä
UML-kaaviot Jouni Kylä-Nikkilä Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi Pro gradu -tutkielma Huhtikuu 2008 Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi
1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
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
3a. Projektin hallinta (lisäys lukuun 3)
3a. Projektin hallinta (lisäys lukuun 3) Tehokas projektin hallinta keskittyy kolmeen osaalueeseen: henkilökuntaan, tehtävään ja prosessiin. Henkilökunta: on yrityksen tärkein voimavara, oikea henkilö
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
1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
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
Luokka- ja oliokaaviot
Luokka- ja oliokaaviot Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 32 Miten toteuttaisin softalla... Procedure for determining employee holidays, (Pressman, p. 620): Executive order
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ää
HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu
HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /
Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1
Ohjelmistojen mallintaminen Luokkakaaviot 5.12.2008 Harri Laine 1 Olioiden palvelut Palvelun kuvauksessa annettavat tiedot näkyvyys (kuten attribuuttien kohdalla) nimi (ainoa välttämätön osa) parametrit
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,