UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010



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

Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

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

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

UML:n yleiskatsaus. UML:n osat:

Visual Case 2. Miika Kasnio (C9767)

Unified Modeling Language

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

VH5, JOTU, MagicDraw:n käyttö

Yhteistoimintakaavio (Esimerkki)

Ohjelmistojen mallintaminen, sekvenssikaaviot

UML- mallinnus: Tilakaavio

Olioiden yhteistyön mallintaminen

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

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

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

UML - unified modeling language

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

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

TIE = JOTU. VH5 - MagicDraw

Pikaohje formaatin valmistamiseen

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

Mallinnus UML-yleiskatsaus

Ohjelmistojen mallintaminen, kesä 2009

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

MagicDraw-pikaohje (VH5)

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

käyttötapaukset mod. testaus

Ohjelmistojen mallintaminen, kesä 2010

5. Järjestelmämallit. Mallinnus

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

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

3. Käsiteanalyysi ja käsitekaavio

Ohjelmistotekniikan menetelmät, kesä 2008

Vaatimusmääritelystä UML:n avulla

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

UML-kielen formalisointi Object-Z:lla

Analyysi on tulkkaamista

Olioperustaisuus (object oriented)

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

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

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

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

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Ohjelmistojen mallintaminen. Luento 6,

Luokka- ja oliokaaviot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

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

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Ohjelmistotekniikan menetelmät, kevät 2008

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

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

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

Julkishallinnon palvelukartta

UML-kaaviot. Jouni Kylä-Nikkilä

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

TIETOKANNAN SUUNNITTELU

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

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

PÄIVITÄ TIETOSI OPTIMASTA! KOOSTE

1. Tarkastellaan seuraavaa kaaviota

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

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Käsiteanalyysi prosessina ja tarveanalyysi

Pikaohje QPR-käyttöön

Posterin teko MS Publisherilla

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

Ohjelmistotekniikka: Luento 5

Ohjelmistojen mallintaminen, mallintaminen ja UML

Outlook Web App ver 1.2

Luento 3 Tietokannan tietosisällön suunnittelu

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Ohjelmistojen mallintaminen. Luento 4,

Ohjelmistotuotanto, s /3/2003

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

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

UML -mallinnus TILAKAAVIO

Määrittely- ja suunnittelumenetelmät

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

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Taulukot, taulukkoryhmät Sisällysluettelo

TAULUKKORYHMÄT. Sisällysluettelo

E s i t y s g r a f i i k k a a s e l k o k i e l e l l ä MICROSOFT. PowerPoint. P e t r i V a i n i o P e t r i I l m o n e n TIKAS-SARJA

Jypelin käyttöohjeet» Ruutukentän luominen

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

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

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

1. JOHDANTO Rekisteröityminen Henkilökohtaiset asetukset Salasanan muuttaminen ja uuden salasanan tilaaminen...

Uuden työtilan luonti

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

UML OHJELMISTOPROSESSIEN TUKENA

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Eija Järvelä Elina Puusaari. käsikirja

Transkriptio:

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 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

TIETOJA UML-MALLINNUSYMPÄRISTÖSTÄ VISIOSSA Microsoft Office Vision UML-mallikaavio-malli tukee olioohjelmointimalleja 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 8

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 9

ANALYYSIVAIHEEN KUVAUSTEN YHTEYDET Vaatimukset 1..* 0..* Käy ttötapaukset 0..* 1..* 0..* 0..* Luokat 1..* 0..* Sekv enssikaav iot Jouni Huotari 10

UML-KAAVIOIDEN TEKO VISIOLLA

UUDEN MALLIKAAVION LUOMINEN Jouni Huotari 12

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 13

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 14

Valitse UML Use Case -muodot Vedä Actor eli toimija (aktori) työalueelle Muuta zoomaus-% (esim. 100) KÄYTTÖTAPAUSKAAVION TEKEMINEN Jouni Huotari 15

TOIMIJAN NIMEÄMINEN Kaksoisnapsauta Actorsymbolia Kirjoita Namekohtaan toimijan nimi Jouni Huotari 16

KÄYTTÖTAPAUKSEN LISÄÄMINEN Vedä Use Case -symboli työalueelle Nimeä käyttötapaus samalla tavoin kuin toimijakin, esim. Tee haku vapaista kohteista Jouni Huotari 17

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 18

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 19

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 Dependency-viivan Nuolen pää osoittaa riippumattomaan objektiin Jouni Huotari 20

KAKSI ESIMERKKIÄ KÄYTTÖTAPAUSKAAVIOSTA Järjestelmä * Rekisteröidy järjestelmään * * Hakija * Tee hakemus Jouni Huotari 21

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 22

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 23

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 seuraavilla kalvosivuilla Jouni Huotari 24

LUOKKAKAAVION TEKEMINEN Hakija -hakijaid -hakijannimi Hakemus Jouni Huotari 25

Mallinnetaan keskeiset käsitteet ja niiden väliset yhteydet Käsitteet substantiiveja (esim. vaatimusmäärittelystä) ANALYYSIVAIHEEN LUOKKAKAAVIO Jouni Huotari 26

LUKUMÄÄRÄSUHTEEN MERKITSEMINEN Kaksoissapsauta yhteysviivaa Kirjoita halutessasi nimi yhteydelle Muuta Multiplicitykohdasta lukumääräsuhde Jouni Huotari 27

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 Kay ttaja Kay ttajaid Kay ttajanimi Kay ttajasalasana 1 0..* Tarjous 0..* 1 my y 0..* 1 on tehty Huutokohde Jouni Huotari 28

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 29

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 30

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 31

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

ESIMERKKI SEKVENSSIKAAVIOSTA Hakemuslomake Hakija Hakemus Hakija TeeHakemus on hakenut aikaisemmin: TarkistaHakija [on hakenut aikaisemmin]: HaeHakijaTiedot {TAI} [on hakenut aikaisemmin] uusi: LuoHakija LuoHakemus HakemusTallennettu Jouni Huotari 33

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

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 35

Ostaja ekauppa sy steemi teetarjous() ESIMERKKI ANALYYSIN PERÄKKÄIS- ELI SEKVENSSI-KAAVIOSTA (TEHTY PROSALLA) hy v aksy Vahv istus() nay tavahv istus() määritä sov eltuv uus lisaatarjous() maaritakorkeintarjous nay taonnistumisilmoitus() Jouni Huotari 36

AKTIVITEETTIKAAVIO (VAS. PROSA, OIK. VISIO) Alku Selaa huutokaupattavia kohteita Tarjottava kohde löytyi? Lopetus/paluu Kyllä Tee tarjous Jouni Huotari 37

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.

TILAKAAVIO Alku Tarjous annettu Tarjous <= korkeintarjous Jos tarjous > korkeintarjous Tarjous korotettu Tarjous käsitelty Jouni Huotari 39

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

LÄHTEET Microsoft Visio 2003 Professional Prosa (Insoft Oy) Fowler, M. & Scott, K. UML (Docendo 2002) http://www.omg.org/ Jouni Huotari 41