UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005



Samankaltaiset tiedostot
UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistotekniikan menetelmät, UML

UML:n yleiskatsaus. UML:n osat:

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Visual Case 2. Miika Kasnio (C9767)

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Unified Modeling Language

VH5, JOTU, MagicDraw:n käyttö

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Olioiden yhteistyön mallintaminen

Ohjelmistojen mallintaminen, sekvenssikaaviot

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

UML- mallinnus: Tilakaavio

TIE = JOTU. VH5 - MagicDraw

Pikaohje formaatin valmistamiseen

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Yhteistoimintakaavio (Esimerkki)

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.

5. Järjestelmämallit. Mallinnus

Ohjelmistojen mallintaminen, kesä 2010

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

käyttötapaukset mod. testaus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Analyysi on tulkkaamista

Ohjelmistotekniikan menetelmät, kesä 2008

Vaatimusmääritelystä UML:n avulla

Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista)

UML - unified modeling language

Ohjelmistojen mallintaminen, kesä 2009

MagicDraw-pikaohje (VH5)

Projektit. Pikaopas. Jaa projekti muiden kanssa Kutsu muita projektiyhteistyöhön valitsemalla Jaa.

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML

Mallinnus UML-yleiskatsaus

3. Käsiteanalyysi ja käsitekaavio

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

UML-kielen formalisointi Object-Z:lla

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

3a. Projektin hallinta (lisäys lukuun 3)

Ohjelmistotekniikan menetelmät, kevät 2008

HAAGA-HELIA Käyttötapaukset 1 Tietojenkäsittely Tietosysteemin määritys. Käyttötapaukset

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Pikaopas. Valintanauhan näyttäminen tai piilottaminen Avaa valintanauha napsauttamalla välilehteä, tai kiinnitä se pysyvästi näkyviin.

Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

Ohjelmistojen mallintaminen. Luento 6,

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Julkishallinnon palvelukartta

Luento 3 Tietokannan tietosisällön suunnittelu

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

TIETOKANNAN SUUNNITTELU

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Ohjelmistojen mallintaminen, mallintaminen ja UML

Luokka- ja oliokaaviot

UML-kaaviot. Jouni Kylä-Nikkilä

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Pikaohje QPR-käyttöön

PÄIVITÄ TIETOSI OPTIMASTA! KOOSTE

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Ksenos Prime Käyttäjän opas

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Taulukot, taulukkoryhmät Sisällysluettelo

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

OP-eTraderin käyttöopas

FrontPage Näkymät

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Ajokorttimoduuli Moduuli 2. - Laitteenkäyttö ja tiedonhallinta. Harjoitus 1

Taulukoita ja kaavioita MS Excelillä Keijo Salakari 7. maaliskuuta 2006

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin

UML OHJELMISTOPROSESSIEN TUKENA

UML-kuvauskielten käyttö ohjelmistojen vaatimusmäärittelyissä

ARVI-järjestelmän ohje arvioinnin syöttäjälle

4 Google. Eetu Kahelin ja Kimi Syrjä DAT 17

GroupDesk Toiminnallinen määrittely

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Maiju Mykkänen Susanna Sällinen

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Ohjelmien analysointi. ER-kaaviot

RATKAISUT SIVU 1 / 15. Väriteemaan pääset käsiksi hieman eri tavoilla PowerPointin eri versioissa.

Ohjelmistotuotanto, s /3/2003

UML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ

1. Tarkastellaan seuraavaa kaaviota

Muutamia peruskäsitteitä

Pikaopas. Verkkotilien näyttäminen tai vaihtaminen Napsauta tilisi tunnusta, jos haluat muuttaa sen asetuksia tai vaihtaa tilejä.

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN

PALAUTUKSEN PERUSTOIMINNALLISUUDEN KUVAUS

Transkriptio:

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 eri sivuilla oleviin kaavioihin (napsautus hiirellä Vision työtilassa olevan sivun alalaitaan, vrt. Excel, tai kalvosivuilla 3 7 oleviin näyttökaappauksiin) Minkälaisen käsityksen sait kuvatusta järjestelmästä? Mitkä kaaviot olivat sinulle tutuimpia? Miksi? Jouni Huotari 2

Käyttötapauskaavio Use Case Jouni Huotari 3

Luokkakaavio Static Structure Jouni Huotari 4

Viestiyhteys- eli sekvenssi- eli peräkkäiskaavio (vas.); yhteistyökaavio (oik.) Sequence Collaboration Jouni Huotari 5

Tilakaavio (vas.); aktiviteettikaavio (oik.) Statechart Activity Jouni Huotari 6

Komponenttikaavio (vas.) ja käyttöönottokaavio (oik.) Component Deployment Jouni Huotari 7

UML-kaavioiden teko Visiolla

Tietoja UML-mallinnusympäristöstä Visiossa Microsoft Office Vision UML-mallikaavio-malli tukee olio-ohjelmointimalleja Malliin kuuluvat seuraavat työkalut, muodot ja toiminnot: UML-mallien hallinta, jossa näet mallin puunäkymänä ja voit siirtyä näkymästä toiseen Esimääritetyt älykkäät muodot, jotka edustavat UML-merkintätavan kaikkia elementtejä ja tukevat kaikkien UML-kaaviotyyppien luontia UML-ominaisuudet-valintaikkunat, joissa voidaan lisätä UML-elementteihin nimiä, attribuutteja, toimintoja ja muita ominaisuuksia Dynaaminen semanttisten virheiden etsiminen, joka tunnistaa ja määrittää virheitä, kuten puuttuvia tietoja tai UML-merkinnän virheellistä käyttöä Mahdollisuus selvittää Microsoftin Visual C++ 6.0:ssa, Visual Basic 6.0:ssa tai Microsoftin Visual Studio.NETissä luotujen projektien rakenne staattisten UML-rakennemallien luomiseksi Koodipohjien luominen UML-mallien luokkamäärityksistä C++:lle, Visual C#:lle tai Microsoft Visual Basicille Koodin tarkistusapuohjelma, joka tunnistaa kielikohtaiset virheet Raporttien luominen staattisissa UML-rakenne-, toiminta-, tilakuvaaja-, komponentti- ja käyttöönottokaavioissa Lähde: MS Visio Online-ohje Jouni Huotari 9

Tietoja UML-malleista Käyttötapauskaaviot Staattinen rakennekaavio (luokkakaavio), pakettikaaviot, komponentti- ja käyttökaaviot Vuorovaikutuskaaviot, sekvenssi- eli sarjakaaviot: näyttää toimet, jotka osallistuvat vuorovaikutukseen, ja tapahtumat, joita ne luovat aikajaksossa Toiminta- eli aktiviteettikaaviot, tilakuvaajakaaviot Lähde: MS Visio Online-ohje Jouni Huotari 10

Analyysivaiheen kuvausten yhteydet Vaatimukset 1..* 0..* Käyttötapaukset 0..* 1..* 0..* 0..* Luokat 1..* 0..* Sekvenssikaaviot Jouni Huotari 11

Käyttäytymistä kuvaavat kaaviot http://www.omg.org/docs/formal/03-03-01.pdf Jouni Huotari 12

Uuden mallikaavion luominen Jouni Huotari 13

Käyttötapauskaavion tekeminen Jouni Huotari 14

Luokkakaavion tekeminen Jouni Huotari 15

Sekvenssikaavioesimerkki Sekvenssikaavion pystysuora mittaviiva kuvaa aikaa ja aika etenee sivua alas. Vaakasuora mittaviiva kuvaa eri toimijoita tai objekteja. 1. Olioita: kuvaavat olioiden elinkaaret eli niiden olemassaolo tiettynä aikana. Osoita olion luominen ja tuhoaminen säätämällä elinkaarta. 2. Nuolet edustavat sanomia olioiden välillä. Olio voi lähettää sanoman myös itselleen. 3. Lisää aktivointi elinkaareen ja osoita aikakausi, jonka aikana olio suorittaa toimintoa. 4. Palautussanoma näkyy katkoviivana. Lähde: MS Visio Online-ohje

Sekvenssikaavion tekeminen Aktivoi UML-sarja Raahaa Olion elinkaari muoto työalueelle Nimeä Olio ja määritä halutessasi Valitsin tai luo uusi Viestistä tulee luokan operaatio Jouni Huotari 17

Esimerkki sekvenssikaaviosta Jouni Huotari 18

Vuorovaikutus- kaavioesimerkki 1. Valitsinrooli-muodossa olion tunnusmerkkijono on alleviivattuna sen osoittamiseksi, että olio on esiintymä. Voit myös lisätä olion nimen kaksoispisteen eteen. 2. Linkit eli liitosroolit ilmaisevat suhteita ja nuolenpäillä varustettuina ne voivat ilmaista myös selattavuutta 3. Kaksoisnapsauta linkkiä, valitse Sanoma ja määritä linkkiä pitkin virtaava sanoma. Numeroi proseduurisanomat sisäkkäisen kutsun mukaisesti. 4. Ensimmäinen sanoma tulee aina sen kontekstin ulkopuolelta, jonka lisäät kaavioon.

Yhteenveto: analyysivaiheen kuvausten yhteydet Vaatimukset 1..* 0..* Käyttötapaukset 0..* 1..* 0..* 0..* Luokat 1..* 0..* Sekvenssikaaviot Jouni Huotari 20

Esimerkin tekeminen Käyttötapauskaavion tekeminen

Esimerkkitapauksen yleiskuvaus Tavoitteena on luoda sovellus huutokaupattavien kohteiden myyntiin ja ostoon Myydyistä kohteista em. palvelun tarjoaja saa 10 % provision Sovellus on www-pohjainen Jouni Huotari 22

Tärkeimmät vaatimukset P1. Ostajan pitää pystyä tekemään kyselyjä tietokannasta tarjolla olevista kohteista. P2. Ostajan pitää pystyä tekemään tarjous. O2.1 Ostajan pitää pystyä tekemään ostotarjous heti. P3. Myyjän pitää pystyä määrittämään huutokaupattavalle kohteelle a) pohjahinta, b) hetimyyntihinta, jolla kohde myydään nopeimmin ko. hinnan tarjonneelle ja c) tarjouksen viimeinen jättöaika (ts. kohteen myyntiaika) T4. Järjestelmä ilmoittaa myyjälle korkeimman tarjouksen, kun joko jokin ostaja on tarjonnut hetimyyntihinnan tai tarjousten jättöaika on päättynyt Jouni Huotari 23

MS Visio: kaaviotyypin valinta Jouni Huotari 24

Käyttötapauskaavion tekeminen Valitse UML Use Case -muodot Vedä Actor eli toimija (aktori) työalueelle Muuta zoomaus-% (esim. 100) Jouni Huotari 25

Toimijan nimeäminen Kaksoisnapsauta Actorsymbolia Kirjoita Name-kohtaan toimijan nimi Jouni Huotari 26

Käyttötapauksen lisääminen Vedä Use Case -symboli työalueelle Nimeä käyttötapaus samalla tavoin kuin toimijakin, esim. Jouni Huotari 27

Lisää yhteysviiva toimijasta käyttötapaukseen Raahaa Communicatesyhteysviiva toimijan päälle (toimija muuttuu hetkeksi punaiseksi :) Vedä viivan toinen pää käyttötapauksen päälle, jolloin viiva kiinnittyy käyttötapaukseen Jouni Huotari 28

Objektin näyttöasetukset Voit napsauttamalla hiiren kakkosnappia objektin (esim. viivan) päällä valita komennon Shape Display Properties Ota esimerkiksi viivan asetuksista rastit pois kohdista First end name, Second end name ja End multiplicities (jos et halua nähdä nimiä ja lukumääräsuhdetta viivan päissä) Jouni Huotari 29

Esimerkki käyttötapauskaaviosta Jouni Huotari 30

Objektien välisen riippuvuuden kuvaaminen Voit käyttää myös muita kuin Use Case muotoja, esim. kuvataksesi riippuvuutta kahden käyttötapauksen välillä voit valita Static Structure -muodoista Dependencyviivan Nuolen pää osoittaa riippumattomaan objektiin Jouni Huotari 31

Järjestelmärajan kuvaaminen Raahaa System Boundary rajaamaan niitä käyttötapauksia, jotka kuuluvat järjestelmään Muuta rajan koko (helpointa kun muutat ensin zoomaus- %:n pienemmäksi) Lisää vielä kommentteja kaavion ymmärrettävyyttä parantamaan Jouni Huotari 32

Yhteenveto käyttötapausten käytöstä Edellä kuvattiin järjestelmän käyttötapauksia (system use case) Liiketoiminnan käyttötapaus tarkastelee liiketoiminnan prosessien reagointia asiakkaaseen tai tapahtumaan (Fowler 2002, s. 42) Jokainen käyttötapaus on mahdollinen vaatimus (ja vaatimukset kuvataan usein käyttötapauksina) Käyttötapaukset kuvataan usein skenaarioina tekstimuodossa (mallipohjia esim. webissä) Jouni Huotari 33

Luokkakaavion tekeminen Lisää uusi kaavio napsauttamalla hiiren 2-napilla työalueella ja antamalla komento Insert UML diagram (tai Insert-valikon New Page komennolla; kirjoita sivun nimi ja paina OK) Valitse vasemmasta laidasta UML Static Structure (jos se ole valittuna) Raahaa Class-muodot työalueelle ja nimeä luokat (kirjoita valitun luokan nimi suoraan näppäimistöltä) Luo yhteydet käsitteiden välille käyttäen esim. Binary Association, Composition ja Dependency yhteysviivoja Esimerkki seuraavalla kalvosivulla Jouni Huotari 34

Analyysivaiheen luokkakaavio Mallinnetaan keskeiset käsitteet ja niiden väliset yhteydet Käsitteet substantiiveja (esim. vaatimusmäärittelystä) Jouni Huotari 35

Lukumääräsuhteen merkitseminen Kaksoissapsauta yhteysviivaa Kirjoita halutessasi nimi yhteydelle Muuta Multiplicitykohdasta lukumääräsuhde Jouni Huotari 36

Loogisella tasolla tehdään mm. tietomallin valinta Relaatiomallin mukaan tehdyssä ratkaisussa pitää mm. purkaa moni-moneenyhteydet Esimerkissä yhdistetty Ostaja ja Myyjä => Kayttaja Tarjous purkaa Ostajan ja Huutokohteen välisen moni-moneenyhteyden Kayttaja KayttajaID KayttajaNimi KayttajaSalasana 1 0..* Tarjous 0..* 1 myy 0..* 1 on tehty Huutokohde Jouni Huotari 37

Tietokantakaavion teko Visiolla Visiossa ei voida suoraan luoda luokkakaaviosta relaatiotietokantaa Tietokannan luonti Forward Engineering menetelmällä edellyttää Visual Studio.NET ympäristön asennusta Jouni Huotari 38

Tarkempaa määrittelyä Prosassa voidaan merkitä myös perusavain, jos kuvauksesta halutaan luoda myös SQL-lauseet (vasen kuva; oikealla esimerkki Vision tietokantakaaviosta) Jouni Huotari 39

Käyttötapausta tarkentava kuvaus: sekvenssikaavio Usein jokaisesta käyttötapauksesta tehdään sekä tekstuaalinen kuvaus että sekvenssikaavio (skenaario) Oikealla Prosan tarjoama mahdollisuus luoda sekvenssikaavio Jouni Huotari 40

Sekvenssikaavion tekeminen Lisää uusi kaavio Valitse vasemmasta laidasta UML Sequence (tarvittaessa) Raahaa Object Lifeline -muodot työalueelle ja lisää olioiden nimet ja luokat (kaksoisnapsauta oliota ja valitse olemassaolevan luokan nimi Classifier-kohdasta) Luo viestit elämänviivojen välille käyttäen Message-yhteysviivoja Esimerkki seuraavalla kalvosivulla Jouni Huotari 41

Ostaja ekauppa systeemi Esimerkki analyysin peräkkäis- eli sekvenssikaaviosta (tehty Prosalla) teetarjous() hyvaksyvahvistus() naytavahvistus() määritä soveltuvuus lisaatarjous() maaritakorkeintarjous naytaonnistumisilmoitus() Jouni Huotari 42

Aktiviteettikaavio (vas. Prosa, oik. Visio) Alku Selaa huutokaupattavia kohteita Tarjottava kohde löytyi? Lopetus/paluu Kyllä Tee tarjous Jouni Huotari 43

Tilakaavio Alku Tarjous annettu Tarjous <= korkeintarjous Jos tarjous > korkeintarjous Tarjous korotettu Tarjous käsitelty Jouni Huotari 44

Sijoittelu- ja komponenttikaavio Sijoittelukaavio: «Browser»Huutokohteiden selaus ja tarjousten tekeminen «.NET/ASP» UserPanel.aspx «WebServer»Huutokontrolleri «.NET/C#» Huuto.dll Komponenttikaavio: ODBC32 «.NET/ASP» UserPanel.aspx «.NET/C#» Huuto.dll Server Database Server Jouni Huotari 45

Lähteet Microsoft Visio 2003 Professional Prosa (Insoft Oy) Fowler, M. & Scott, K. UML (Docendo 2002) Jouni Huotari 46

Vertailu: IT-ammattilaisten ja ohjelmistokehittäjien työkalut Lähde: http://www.microsoft.com/finland/products/office2003/visio/ver_comparison.asp#2 Jouni Huotari 47

Prosessien kuvaaminen Visiolla Vaihtoehtoisia kaaviotyyppejä on useita: Aivoriihikaavio (ajatusprosessien kuvaaminen) Liiketoimintaprosessit Ohjelmisto (mm. UML-mallikaaviot) Lohkokaaviot Vuokaaviot Myös muita kaavioluokkia voidaan käyttää (esim. etsimällä muotoja ja käyttämällä niitä kaavioissa) Jouni Huotari 48

Vuo- ja lohkokaavioiden tekeminen Lohkokaavio-, Peruskaavio- ja eri Vuokaavio-mallien avulla voit luoda lohkokaavioita ja käsitellä vuokaavioita sekä useita kaavioita, jotka eivät kuulu muihin luokkiin, kuten käsitekaavioita ja tietorakennekaavioita Uuden kaavion teko: Valitse Tiedosto-valikon Uusi-alivalikosta Valitse piirustustyyppi Valitse Luokka-kohdasta Liiketoiminta-, Lohko- tai Vuokaavio (tai jokin muu luokka) Malli-kohdasta haluamasi Kaaviotyyppi Jouni Huotari 49

Liiketoimintaprosessit Jouni Huotari 50

Lohkokaaviot Jouni Huotari 51

Vuokaaviot Jouni Huotari 52

Ohjelmiston kuvaaminen Jouni Huotari 53

Tehtävä Tee lohkokaavio (opetusohjelman ohjeiden mukaan) Jouni Huotari 54

Vaihtoehtoja aliprosessin tekemiseen Tee uusi sivu aliprosessille ja nimeä se V1: määritä ylemmän tason lohkoon Toiminta Muotoile-valikon kautta esim. Kaksoisnapsautusvälilehti => Siirry sivulle: V2: Lisää Hyperlinkki valitse Aliosoite-kohtaan tekemäsi Aliprosessi Jouni Huotari 55

Linkitetyn aliprosessin näyttäminen Hyperlinkin nimi näkyy napsauttamalla linkitettyä objektia hiiren kakkosnapilla Jouni Huotari 56

Linkkejä http://www.omg.org/technology/documents/modeli ng_spec_catalog.htm http://www.microsoft.com/office/visio/prodinfo/de fault.mspx http://sinuhe.jypoly.fi/~huojo/ Jouni Huotari 57