Ohjelmistotekniikka ja projektinhallinta, 4 op

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä.
Koostumussuhde Jukka Juslin © Jukka Juslin.
Hampuri, Saksa Löytää suunta, joka mahdollistaa Lions Clubs Internationalin saavuttavan sen täyden potentiaalin kansainvälisenä.
Ohjelmiston tekninen suunnittelu
Tietojärjestelmät 2.
Suunnitelma ohjelmiston testaukseen
UML-notaatio staattinen ja dynaaminen mallintaminen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tietojärjestelmät ja Systeemisuunnittelu
Tietokanta.
UML RASE
Tietokannan suunnittelu
Tapahtumasekvenssit = Käyttötapausten realisointi
Olio-ohjelmointi. Mitä olio-ohjelmointi on ?  Pyritään mallintamaan jotain reaalimaailman kohdetta tietokoneohjelman avulla  Olio on luokan ilmentymä.
Tekninen suunnit-telu
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
Perusopetuksen huoltajat 2014 Generated on :04.
BPMN ja hiukan prosessien määrittelystä
Päivi Ovaska Tutkijaopettaja LTY/Tite
Tietojärjestelmän suunnittelu
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Olio-ohjelmoinnin perusteet luento 3
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Tietojärjestelmät ja Systeemisuunnittelu
1 Senioreiden säästäminen ja maksutavat 2014 SENIOREIDEN SÄÄSTÄMINEN JA MAKSUTAVAT
Oliomallittaminen ja UML
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
Olioperustainen ohjelmistoprosessi
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Luokan määrittely class-määreellä tMyn1 Luokan määrittely class-määreellä Luokan määrittely tarkoittaa luokan tietojäsenten esittelyä ja jäsenfunktioiden.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestitapausten kuvausohje.
JHS:N SUOSITUKSET VAATIMUSMÄÄRITTELYLLE SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta,
Käyttötapauskaavio ja käyttötapaukset
Käyttöönottokaavio – Deployment diagram Sami Stenius.
Esitutkimus (tarvekartoitus)
Systeemityö 2 Tilakaavio – State machine diagram
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Systeemityö 2 Toimintokaavio – Activity diagram
Heuristinen arviointi Käyttöliittymäseminaari Jere Salonen.
Tässä esityksessä on piilotettu osa dioista
Komponenttipohjainen ohjelmistotekniikka (TJTSS56) Osa 4 Kevätlukukausi 2010 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Markku Sakkinen.
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
Mallinnustavat.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Johdetun luokan olion esittely... tMyn1 Johdetun luokan olion esittely ja määrittely Esittelyluokka tarkoittaa olion tunnuksen luokkaa. Määrittelyluokka.
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
Vesa Ollikainen & Outi Grotenfelt
Component diagram– Komponenttikaavio J. Pätsi & H. Malmihuhta
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
Ohjelmistojen mallintaminen, sekvenssikaaviot
Koostekaavio– composite structure diagram Mikko Näpänkangas.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Tietojärjestelmät ja Systeemisuunnittelu
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
UML-mallinnus osana tietotuotemäärittelyä
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Mallintamisen metamalli ja notaatiot
Ohjelmistotekniikan menetelmät, sekvenssikaaviot
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
2. Olio-ohjelmoinnin perusteita
Esityksen transkriptio:

Ohjelmistotekniikka ja projektinhallinta, 4 op UML-kieli Seppo Räsänen Savonia-ammattikorkeakoulu Terveysala, kuopio 29.8.2008

UML-kieli UML on oliokeskeisen ohjelmistotuotannon mallinnukseen liittyvä kuvauskieli UML (Unified Modeling Language) on standardoitu mallinnuskieli: alunperin mm. ohjelmistojen kuvaamiseen ja dokumentointiin sitten käyttöalue laajentunut mm. liiketoimintaprosessien mallinnukseen Mallinnusohjelmia on runsaasti tarjolla Rational Rose (www.rational.com) System Architect (www.popkin.com) Visual UML (www.visualobject.com) Poseidon (www.download.com/Poseidon-for-UML-Community-Edition/3000-2212_4-10342659.html) Prosa (http://www.prosa.fi/) Jotkin piirto-ohjelmat tukevat UML-notaatiota Tässä opintojaksossa käytetään MS-Visio –nimistä ohjelmaa

UML-kieli Structured Analysis (SA) De Marcon mukaan Tietovuokaavioita, 1980 -luvulla Structured Analysis and Design For Real Time Systems , SA/SD/RT Coad/Yordon Ohjaus-tietomuunnokset tulivat mukaan kaavioihin Reaaliaikaisia sovelluksia 1980-luvun lopussa Object Modeling Technique, OMT Oliomallinnus 1990-luvun alussa

UML-kieli Unified Modeling Language, UML 1990-luvun lopussa UML on kolmen 90-luvun alkupuolen suosituimman oliomallinnusmenetelmän pohjalta  rakennettu tämän hetken suosituin oliomallinnuskieli. James Rumbaughin kehittämän OMT:n , Grady Boochin Booch-menetelmän sekä  Ivar Jacobsonin OOSE:n Rumbaugh, Booch ja Jacobson johtavat UML:n kehitystä  Rational Software –yrityksen palveluksessa, mutta UML:n standardoinnista  vastaa nykyisin yli 800 ohjelmistoyrityksen yhteenliittymä, Object Management Group (OMG). http://www.uml.org/ osoitteessa tarkat kuvaukset ja standartointi

UML-kieli Olio (object) Luokka (class) Perintä (inheritance) On ohjelmiston perusyksikkö sisältää joukon loogisesti yhteenkuuluvaa tietoa ja toiminnallisuutta kommunikoi keskenään lähettämällä ja vastaanottamalla viestejä. Viestin vastaanottaminen suorittaa määritellyn toiminnon vastaanottavassa oliossa käytetään ohjelmistosuunnittelussa esittämään jonkun abstraktin tai reaalimaailman käsitteen ilmentymää ohjelmistossa Luokka (class) määrittelee jonkun tietyn oliojoukon yhteiset piirteet olio on luokan ilmentymä, instanssi Perintä (inheritance) mahdollistaa uusien luokkamääritysten tekemisen vanhojen määritysten pohjalta periyttämisen ansiosta on mahdollista käyttää uudestaan jo tehtyä ohjelmakoodia uusien luokkien pohjana Moniperintä (multiple inheritance) mahdollistaa uuteen luokkaan periyttämisen useista kantaluokista. moniperintä ei ole mahdollista kaikissa oliokielissä, esimerkiksi C++-kielessä se on tuettu.

UML-kieli Kapselointi (encapsulation) -termiä käytetään kahdessa merkityksessä kapseloinnin ideana on datan ja käyttäytymisen kokoaminen yhteen yksikköön, olioon merkitys lisää tähän vielä tiedonpiilotuksen: olion sisäisiin muuttujiin ei (pääsääntöisesti)päästä suoraan käsiksi olion ulkopuolelta, jolloin ohjelmointivirheiden määrä vähenee Metodi (method), jäsenfunktio (member function) tai operaatio (operation) tarkoittaa luokassa määriteltyä aliohjelmaa, joka käsittelee olion tietoa Attribuutti (attribute), jäsenmuuttuja (member variable) tai kenttä (field) tarkoittaa luokassa oliolle määriteltyä muuttujaa, joka tallentaa jonkun olioon liittyvän tietoalkion Rakentaja, muodostin (constructor) on metodi, jota kutsutaan oliota luotaessa alustaa olion jäsenmuuttujien alkuarvot Hajottaja, tuhoaja tai purkaja (destructor) on metodi, jota kutsutaan olion tuhoamiseksi vapauttaa olion varaamat resurssit (keskusmuisti)

UML-kieli class cAsiakas //luokan määritys { public: void KysyNimi(); //metodi void KysyPuhNo(); private: //kapselointia char etunimi[20], sukunimi[20], puhNo[15]; //attribuutteja }; class cLuottoAsiakas : public cAsiakas //periytyminen cLuottoAsiakas(long, long); //muodostin ~cLuottoAsiakas(); //tuhoaja long HaeLuottoraja(); long KysyEraantyneet(); void AsetaEraantyneet(long); private: long eraantyneet, luottoraja; …………………………..

UML-kieli void cAsiakas::KysyNimi() //metodin toteutus { cout << "Anna asiakkaan nimi (etunimi sukunimi): "; cin >> etunimi >> sukunimi; } …………………………………….. int main(int argc, char* argv[]) // pääohjelma ……………….. cAsiakas olio1; //luokan instanssi, olio olio1.KysyNimi(); //metodikutsu // esim. olio1.nimi=”Ville”; EI TOIMI, kun attribuutti on kapseloinnin avulla piilotettu …………………………….. return 0;

UML-kieli UML kaavioita (diagram) on määritetty kahdeksan Use Case Käyttötapauskaavio: kuvaa ulkoiset toimijat ja heidän yhteydet sovelluksen käyttötapauksiin Sequence Viestiyhteyskaavio: kuvaa olioiden välistä dynaamista viestinvälitystä (=mitä viestejä olioiden välillä on, kun toteutetaan eri toimintoja) Class Luokkakaavio: kuvaa järjestelmän luokkarakenteen ja luokkien väliset yhteydet (luokka=järjestelmän käsittelemä asia) State Tilakaavio: täydentää luokan kuvausta, kuvaa luokan kaikki mahdolliset tilat, joihin luokan ilmentymä (=olio) joutuu sekä kuvaa tilasiirtymän (=mikä aiheuttaa olion siirtymisen tilasta toiseen) Activity Toimintokaavio: kuvaa tapahtumien kulun aikajärjestyksessä, käytetään operaatioon liittyvien tapahtumien kuvaamisessa (vastaavanlainen kuin uimaratamallin kaavio) Collaboration Yhteistyökaavio: kuvaa luokkien välistä yhteistyötä, viestien välitystä (kuvaa samaa asiaa kuin viestiyhteyskaavio) Component Komponenttikaavio: kuvaa lähdekoodin fyysisen rakenteen (lähdekoodi muodostuu useista eri komponenteista ja niiden välisistä suhteista) Deployment Käyttöönottokaavio: kuvaa järjestelmän laitteiston ja ohjelmiston fyysisen arkkitehtuurin

UML-kieli Tavoitenäkökulma (Käyttötapauskaaviot) Kuvaukset käyttäjän/asiakkaan/liiketoimintaprosessin näkökulmasta Sovelluksen suhde ympäristöönsä Toimintonäkökulma (Vuorovaikutuskaaviot) Kuvaukset ohjelmiston toiminnallisuuden ja hajautuksen näkökulmasta Informaationäkökulma (Luokka- ja tilakaaviot, er-kaaviot) : Kuvaukset ohjelmiston tietosisällön näkökulmasta. Mitä tietoa sovellus käsittelee?

UML-kieli Rakennenäkökulma (Komponentti- ja sijoittelukaaviot) Kuvaukset ohjelmiston rakenteen eli arkkitehtuurin näkökulmasta Liitäntä tietojenkäsittelyresursseihin Tekniikkanäkökulma Kuvaukset toteutustekniikan ja testauksen näkökulmasta. Teknologiavalinnat, testitapaukset

UML-kieli Iteratiivinen prosessi 1. Mallinnuskierros -> ohjelmiston toteutusta (v. 0.1) Käyttötapaukset (Use Case Diagram) Luokkakaaviot (Class Diagram) Yhteistoimintakaaviot (Collaboration Diagram) 2. Mallinnuskierros -> ohjelmiston toteutusta (v. 0.2) Tilakaaviot (State Chart Diagram) Sekvenssikaaviot (Message Sequence Diagram) 3. Mallinnuskierros -> ohjelmiston toteutusta (v. 0.3) 4. Mallinnuskierros -> ohjelmiston toteutusta (v. 0.4) Komponenttikaaviot (Component Diagram) Sijoittelukaaviot (Deployment Diagram)

UML-kieli Elinkaaren vaiheet ja UML-kaaviot? OOA (Object Oriented Analysis) - määrittely Käyttötapauskaaviot (use case diagram) Luokkakaaviot (class diagram) Tilakaaviot (statechart diagram) Yhteistoimintakaaviot (collaboration diagram) OOD (Object Oriented Design) - suunnittelu Luokkakaaviot (detailed class diagram) Tilakaaviot (detailed statechart diagram) Sekvenssikaaviot (sequence diagram) Sijoittelukaaviot (deployment diagram) Komponenttikaaviot (component diagram) OOP (Object Oriented Programming) - toteutus Rajapintakuvaukset , lähdekoodi, teknologia,...

UML-kieli Korkean tason toiminnalisuus Ohjelmisto- kehitys Käyttö- tapauskaaviot Oliokaaviot Sekvenssi- kaaviot Yhteistyö- kaaviot Sijoittelu- kaaviot Luokka- kaaviot Tilakaaviot Aktiviteetti- kaaviot Komponentti- kaaviot Rakenne Staattinen malli Käyttäytyminen Dynaaminen malli

UML-kieli http://ta.ramk.fi/~aku.kesti/ohjelmistotekniikka/teoria+harkat/5-Johdanto_UMLaan/UML.pdf

UML-kieli http://ta.ramk.fi/~aku.kesti/ohjelmistotekniikka/teoria+harkat/5-Johdanto_UMLaan/UML.pdf

UML-kieli http://ta.ramk.fi/~aku.kesti/ohjelmistotekniikka/teoria+harkat/5-Johdanto_UMLaan/UML.pdf

UML-kieli http://ta.ramk.fi/~aku.kesti/ohjelmistotekniikka/teoria+harkat/5-Johdanto_UMLaan/UML.pdf

UML-kieli Miten olion tai luokan tunnistaa? Oliot ovat ohjelman osia Oliot ovat luokan ilmentymiä Luokat muodostuvat käsitteistä (substantiivit) ”Miesasiakas ostaa ruusukimpun. Asiakkaan nimi on Ville. Ruusukimppu sisältää 4 punaista ruusua… Asiakkaita ovat yksittäiset henkilöt ja yritykset….” Luokkia: asiakas, henkilö, yritys, ruusukimppu Periytyminen: henkilö ja yritys periytyvät asiakkaasta Attribuutteja: sukupuoli, nimi, ruusujen määrä, ruusujen väri Olioita: Ville (henkilöluokasta) Metodeja: ostaa(kukka, määrä)

UML-kieli Use Case diagram, käyttötapauskaavio Koostuu käyttäjistä sekä käyttötapauksista käyttäjien ja järjestelmän välillä Suunnittelun lähtökohtana käyttäjän näkökulma ( käyttäjän rooli erittäin tärkeä) Selkeä ja helppo ymmärtää suunnittelija, asiakas ja järjestelmän käyttäjät ymmärtävät yhteinen työväline asioiden tarkentamiseksi (iterointi) Kuvaus toimii toteutuksen rajauksena!!!! Jäsentää ja pilkkoo toteutusta

UML-kieli

UML-kieli Käyttäjä, rooli – Actor: Use Case Kuvataan ”tikku-ukkona” Käyttäjät eivät ole tietojärjestelmän osia Käyttäjä voi syöttää tietoa järjestelmään / vastaanottaa tietoa järjestelmästä Voi olla henkilö, laite tai toinen sovellus Käyttäjä on aina sovelluksen ulkopuolinen olio, joka käyttää kohdesovelluksen palveluja

UML-kieli Käyttötapaus – Use Case: Use Case Kuvataan ovaalina Käyttötapaus kuvaa toimintaa tai toiminnan osaa Käyttötapaus voi olla myös tapahtuma, johon tulee reagoida Kuvaa käyttäjän ja tietojärjestelmän välistä vuorovaikutusta Käyttötapaus voi olla laaja kokonaisuus tai pieni yksityiskohta Käyttötapaus on kerralla suoritettava toimintoketju alusta loppuun (työnkulku) Käyttötapauksella on määritelty lopputulos

UML-kieli Use Case Yhteystyypit

UML-kieli Use Case Yksisuuntainen kommunikointisuhde käyttäjän ja käyttötapauksen välillä kuvataan siis yksisuuntaisella nuolella Kaksisuuntainen kommunikointisuhde kuvataan joko pelkällä viivalla tai sitten kaksisuuntaisella nuolella Nuolen suunta kertoo, kumpi osapuoli käynnistää kommunikoinnin (käynnistäjästä poispäin)

UML-kieli Use Case Hyvän käyttötapauksen ominaisuuksia: Käyttötapaus alkaa jonkun käyttäjän aloitteesta ja päättyy, kun järjestelmä on tuottanut lisäarvoa käyttäjälleen Hyvän käyttötapauksen ominaisuuksia: ymmärrettävyys: asiakkaan ja järjestelmän tulevien käyttäjien tulee ymmärtää ne. Kuvausten oltava mahdollisimman konkreettisia kuvaa asiakasvaatimuksia: vältetään ottamasta kantaa toteutukseen. ”käyttäjä identifioi itsensä” on parempi kuin ”käyttäjä identifioi itsensä syöttämällä kuusi kirjaamisen käyttäjätunnuksen ja nelinumeroisen salasanan. testattavuus: käyttötapaukset muodostavat perustan järjestelmätestaukselle. Käyttötapauksen oltava kokonaisuus, joka voidaan testata testausvaiheessa koko: ei saa olla liian laaja. A4-arkillinen on riittävä koko. Käyttötapausten määrä 5-9; ihmissilmä havainnoi vielä tämän määrän kerralla sopiva tarkkuus: kattavat tärkeimmät osat toteutuksesta. Kaikkia yksityiskohtia ei voi ottaa mukaan. Lisäksi käyttötapausten tarkkuuden oltava samalla tasolla.

UML-kieli Use Case Käyttötapausten tarkoitus on siis toimia asiakasvaatimusten kartoittamisen apuvälineenä Käyttötapaukset eivät korvaa toiminnallisessa määrittelyssä esitettäviä järjestelmän toiminnan kuvauksia käyttötapausten ei tarvitse kattaa järjestelmän koko toiminnallisuutta kaikista ominaisuuksista ei kannata edes tehdä käyttötapauksia yhden käyttötapauksen suorittaminen voi vaatia useamman järjestelmän tarjoaman toiminnon suorittamisen

UML-kieli Use Case Valitse käyttötapaukset tehtäväkokonaisuudet (esim. laskun maksu) Valitse roolit käyttäjät (esim. kassan hoitaja) Yhdistä roolit, käyttötapaukset ja kuvaukset Vain keskeiset toiminnot 5-9 käyttötapausta per kaavio Määrittele käyttötapaukset (taulukko, sanallinen kuvaus)

UML-kieli

UML-kieli Esimerkki käyttötapauksen määrittelystä Nimi: Hoitojen informointi, versio 1.0 Suorittajat: Asiakas Esiehdot: Informoija on kirjannut eri hoidoista tietoja. Kuvaus: 1. Asiakas siirtyy www-osoitteeseen xxxx.fi 2. Asiakas selaa eri hoitoja 3. Asiakas lisää sopivan hoidon / hoidot ostoskoriin Poikkeukset: Hoito-organisaation www-palvelin ei toimi. Hoidosta ei ole kirjoitettu informaatiotietoja Lopputulos: Asiakas saa tiedot eri hoidoista. Asiakas lisää sopivat hoidot ostoskoriin. Muut vaatimukset WWW-sivujen toimittava IE, Opera ja FireFox selaimilla 1024x768 resoluutiolla. Esimerkki käyttötapauksen määrittelystä

UML-kieli Class diagram, luokkakaavio Luokkakaavio on UML-kaavioista laajin ja monipuolisin, yleisimmin käytetty Kaaviossa esitetään luokkien välisiä suhteita (relaatiot) ja luokkien ominasuuksia (attribuutit) ja operaatioita (metodit)  tietosisältö ja toiminnot Kuvaa siis ohjelmiston staattista rakennetta Käytetään myös tietokannan kuvaamiseen (luokka=taulu) Luokkakaaviossa on erilaisia rakenteita: yhteysrakenne eli assosiaatio koosterakenne eli aggregaatti periytymisrakenne eli hierarkia

UML-kieli Class Diagram Yhteysrakenteella (assosiaatio) kuvataan kahden olion välisiä suhteita Koosterakenteella (aggregaatti) kuvataan olioita, jotka koostuvat toisista olioista. Jos olion olemassaolo riippuu toisesta oliosta, maalataan vinoneliö mustaksi, muodoste (komposiitti)

UML-kieli Class Diagram Periytymisrakenteella (hierarkia) kuvataan yliluokkia ja niistä periytettyjä aliluokkia Aliluokat perivät kaikki yliluokan ominaisuudet ja toiminnot

UML-kieli State Chart diagram, tilakaavio Kuvaa olioiden, järjestelmien ja alijärjestelmien elinkaaret Kuvaa missä tiloissa oli voi olla ja mikä tapahtuma aiheuttaa tilan vaihtumisen Lasku (olio) on maksettu (tila) tai maksamatta (tila) Olio vaihtaa tilaansa, kun jotain tapahtuu; tähän liittyy kaksi tasoa: Ulkoiset vuorovaikutukset: Ulkoiset vuorovaikutukset kuvailevat olion ulkoista toimintaa ja sen yhteistyötä muiden olioiden kanssa Sisäiset tilasiirtymät: Sisäiset siirtymät kuvaavat olioiden vaihtelevia tiloja (esim. olion attribuuttien arvojen muuttumista)

UML-kieli Tilakaavio alkutila tila siirtymä ehto, päätös lopputila

UML-kieli Tilakaavio Esimerkki tilakaaviosta http://www.stm.fi/Resource.phx/vastt/tietoh/reseptikilpailutus.htx.i1077.pdf (sähköinen lääkemääräys vaatimusmäärittely

UML-kieli Collaboration diagram, yhteistoimintakaavio Näyttää kommunikoivien olioiden suhteet  kuvaa olioiden välistä vuorovaikutusta Kertoo olioiden roolit vuorovaikutusketjussa Kertoo palvelupyynnöt olioiden välillä Ei näytä aikaulottuvuutta Luokkataso, instanssitaso Esitetään kuten luokkakaavio lisättynä palvelupyyntö- ja roolimäärityksillä Olioiden yhteydet kuvataan viivoilla Kontrollin kulun suunta ilmaistaan nuolella Sanomien ajallinen järjestys kuvataan numeroina  monitasoinen numerointi: sisäkkäiset operaatiokutsut

UML-kieli

UML-kieli Sequence-diagram, viestiyhteyskaavio, sekvenssikaavio Kuvaa joidenkin olioiden välistä viestiliikennettä (olioiden välistä yhteyttä) Kuvaa olion elinkaarta (milloin muodostuu ja milloin tuhoutuu) Kuvaa, mitä viestiä kutsutaan miltäkin oliolta Tämän kuvauksen pohjalta on jo helppo kirjoittaa ohjelmakoodi. Tätä harjoitellaan sitten ohjelmointi-opintojaksolla enemmän

UML-kieli Sequence-diagram Olio Aikajana Viesti Paluuviesti

UML-kieli Sequence-diagram Esimerkki uuden asiakkaan tallentamisesta

UML-kieli Deployment-diagram Kuvaa järjestelmän laitteistojen ja ohjelmien osien (komponentti) väliset suhteet Kuvaa tietojärjestelmää fyysisenä kuvauksena Kuvauksen perusteella saadaan kokonaiskuva tietojärjestelmän toteutuksesta

UML-kieli Deployment-diagram Laite Sovelluksen osa Yhteys

UML-kieli Deployment-diagram

UML-kieli Kysymyksiä Kommentteja UML-kaavioiden piirtäminen MS-Visiolla Use Case  UML-käyttötapaus Class diagram  UML-staattinen rakenne Tilakaavio  UML-tilakaavio (Sequence diagram  UML-sarja) (Deployment diagram  UML-käyttöönotto Pakettikaavio  UML-staattinen rakenne Aktiviteettikaavio  UML-tilakaavio Yhteistoimintakaavio  UML-vuorovaikutuskaavio Komponenttikaavio  UML-käyttöönottokaavio) Kiitokset Kalevi Kolehmaiselle materiaaliin liittyvästä yhteistyöstä.