JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 1 UML-mallinnus

Samankaltaiset tiedostot
Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

JHS-suositukset ja standardit paikkatietotuotteiden toteuttamisessa

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 2 Paikkatietojen yleinen kohdemalli (GFM)

Paikkatietotuotteen määrittely

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 4 INSPIRE-yhteensopiva tietomallinnus

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 4 INSPIRE-yhteensopiva tietomallinnus

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Kunnan paikkatietopalvelurajapinta

Paikkatietotuotteet ja niiden määrittely

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

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

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

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

JHS 188 Kansallisen tie- ja katuverkostoaineiston ylläpito ja ylläpitotietojen dokumentointi

JHS XXX Kansallisen tie- ja katuverkostoaineiston ylläpito ja ylläpitotietojen dokumentointi

JHS 158 Paikkatiedon metatiedot

UML - unified modeling language

JHS 158 Paikkatiedon metatiedot

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Paikkatietojen tietotuotemäärittely

Liite D: Poikkeamispäätösten ja suunnittelutarveratkaisujen mallinnus tiedonsiirtoa varten

Sisällys. Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö. 8.2

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35

JHS 158 Paikkatiedon metatiedot Versio: luonnos Julkaistu: Voimassaoloaika:

Mitä on periytyminen?

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

Paikkatietojen tietotuotemäärittely

JHS XXX Kansallisen tie- ja katuverkostoaineiston ylläpito ja ylläpitotietojen dokumentointi

JHS 158 Paikkatiedon metatiedot

Julkishallinnon XML-skeemat v0.5 JHS-suositus

Inspire-tietotuotteet

GML-mallinnus. 1 Johdanto 1/27. Paikkatietojen mallintaminen tiedonsiirtoa varten. Liite III

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

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

T Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

Liite B. Asemakaavan mallinnus tiedonsiirtoa varten

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

JUHTA Julkisen hallinnon tietohallinnon neuvottelukunta

Ohjelmistojen mallintaminen, kesä 2009

Hakemistojen sisällöt säilötään linkitetyille listalle.

2. Olio-ohjelmoinnin perusteita 2.1

Ohjelmistojen mallintaminen, kesä 2010

Paikkatiedon tietotuoteskeemojen ontologisointi tiedonhaun tueksi

Paikkatiedon hallinnan perusteet. Jari Reini Johtaja, Paikkatietokeskus, Maanmittauslaitos

Paikkatiedot metsäkeskussanomissa soveltamisohjeet

JHS 183 Julkisen hallinnon palvelujen tietomalli ja ryhmittely verkkopalveluissa Liite 3 XML-skeeman kuvaus ja esimerkit

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Paikkatiedot ja Web-standardit

19. Unified Modeling Language (UML)

Kertaus: yleistys-erikoistus ja perintä

Inspire-kohdetunnisteet

2. Olio-ohjelmoinnin perusteita 2.1

URI:n muodostamisen prosessi (suositusluonnoksen liite 1)

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin

UML Luokkakaavio 14:41

SFS delegaattivalmennus

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

JHS XXX Julkishallinnon XML-skeemat

3. Käsiteanalyysi ja käsitekaavio

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

JHS 158 Paikkatiedon metatiedot Versio: Julkaistu: Voimassaoloaika:

Lataus WFS Stored Query periaatteella (osa A) Suorasaantilataus (osat B ja C)

Java-API, rajapinnat, poikkeukset, UML,...

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 1 (17) Outi Virkki Tiedonhallinta

JHS XXX Paikkatiedon yksilöivät tunnisteet Liite 1: URI:n muodostamisen prosessi

Tietotuoteseloste, Museoviraston suojeluaineisto

JHS 177 Paikkatietotuotteen määrittely

Tietokannan suunnittelu

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Olio-ohjelmointi Johdanto olio-ohjelmointiin

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

Ohjelmistotekniikan menetelmät

Ohjelmistotekniikan menetelmät, UML

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Liite A. Kantakartan mallinnus tiedonsiirtoa varten

Ohjelmistotekniikan menetelmät

SÄHKE-hanke. Tekninen mallintaminen SÄHKE-metatietojen XML Schema

JHS 158 Paikkatiedon metatiedot Liite 1 UML kaaviot

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Helsingin yliopisto / TKTL XML-Metakieli XML Schema

P e d a c o d e ohjelmointikoulutus verkossa

Ohjelmistojen mallintaminen

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, kesä 2008

VeRan laboratoriotietojen siirtoformaatti

INSPIRE Tietotuotevalmistelu

15. Ohjelmoinnin tekniikkaa 15.1

JHS xxx Paikkatiedon tietotuotemäärittely

Kansallinen maastotietokanta KMTK Yhteiset ominaisuustiedot Käsitemalli

Infra-alan tuotetietomallistandardit

HARJOITUS 2. Kasvattamot ja mittaukset

Hohde Consulting 2004

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

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

Transkriptio:

JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 1 UML-mallinnus Versio: 12.01.2011 Julkaistu: Voimassaoloaika: toistaiseksi Sisällys 1 Johdanto... 1 2 Yleistä... 1 3 Lyhenteet... 1 4 UML-luokkakaaviotekniikan perusteet... 1 5 Ohjeita paikkatietojen mallintamiseen... 5 6 Tiedonsiirron sovellusskeemaan liittyvät lisäohjeet... 6 1 Johdanto 2 Yleistä ISOn paikkatietoja koskevassa standardoinnissa - sekä itse standardointityössä että myös konkreettisten sovelluskohtaisten tietomallien laatimisessa - käytetään Unified Modeling Language (UML) - mallinnuskieleen kuuluvaa luokkakaaviotekniikkaa. Standardi ISO/TS 19103 Conceptual schema language ohjaa UML-kaaviotekniikan käyttämistä paikkatietomallinnuksessa. Lisäksi standardit SFS-EN ISO 19109 Rules for application schema ja EN ISO 19136 Geography Markup Language antavat lisäohjeita UMLmallien laatimiselle. Tässä dokumentissa annettavat yleiset ohjeet UML-luokkakaaviotekniikan soveltamisesta paikkatietojen mallintamiseen perustuvat UML:n perussääntöihin ja em. standardeihin. 3 Lyhenteet CSL: Conceptual Schema Language ISO: International Organization for Standardization GML: Geography Markup Language UML: Unified Modeling Language 4 UML-luokkakaaviotekniikan perusteet Luokka esitetään suorakaiteena. 1/7

Luokan attribuutit (esim. attribuutti1) sijoitetaan suorakaiteen sisälle luokan nimestä väliviivalla erotettuna. Attribuutti voidaan määritellä julkiseksi (+ -merkki attribuutin nimen edessä), jolloin sen näkyy luokan ulkopuolelle. Attribuutille voidaan antaa tietotyyppi (esim. Date) ja toistuvuusmääre. Toistuvuus voidaan ilmoittaa yhdellä luvulla tai arvovälinä esimerkiksi seuraavasti: [1] esiintyy vain kerran, [3] esiintyy kolme kertaa [0..1] valinnainen ei esiinny lainkaan tai esiintyy kerran [1..*] tai [*] vapaasti toistuva esiintyy yhden tai useamman kerran Luokalle voi myös määrittää operaatioita (esim. operaatio1). Nämä kirjoitetaan attribuuttien alapuolelle niistä väliviivalla erotettuna. Luokkien välillä voi olla suhde. Tämä osoitetaan luokkien väliin piirretyllä viivalla. Suhde on joko yksisuuntainen (osoitettu viivan päässä olevalla nuolella) tai kaksisuuntainen (tavallisesti molemmat nuolen 2/7

päät jätetään piirtämättä). Kohdeluokan (Luokka2) rooli lähdeluokalle (Luokka1) ilmaistaan viivan viereen sijoitetulla roolinimellä (rooli1), joka sijoitetaan viivan kohdeluokan puoleiseen päähän. Suhteen toistuvuus osoitetaan toistuvuusmerkinnällä (esim. *). Luokkien välinen suhde voidaan osoittaa myös lähdeluokan (Luokka1) attribuutilla (rooli1), jonka tietotyyppinä on kohdeluokka (Luokka2). Seuraava malli on merkitykseltään identtinen edellisen mallin kanssa. Edellinen merkintätapa on havainnollisuutensa vuoksi suositeltavampi. Jälkimmäisestä tavasta selviää kuitenkin paremmin, että suhde on samanlainen luokan ominaisuus kuin attribuutti. Koostesuhteessa luokka (Luokka1) voi koostua toisista luokista (Luokka2 ja Luokka3) ja tämä osoitetaan koosteella (komposiitti). Tällöin komponenttiluokan (Luokka2, Luokka3) ilmentymä voi olla vain koosteluokan (Luokka1) yhden ilmentymän osa. Komponenttiluokan ilmentymä ei voi esiintyä ilman koosteluokan ilmentymää. 3/7

Luokkien välillä voi vallita perintähierarkia. Luokka (aliluokka) voi periytyä toisesta luokasta (yliluokka, kantaluokka). Perintähierarkia esitetään luokkien väliin piirrettävän viivan yliluokan puoleiseen päähän sijoitettavalla avoimella nuolenpäällä. Aliluokka (Luokka 2, Luokka3) perii kaikki yliluokalle (Luokka1) määritellyt ominaisuudet (attribuutti1). Datatasolla aliluokan ilmentymä voi aina esiintyä yliluokan ilmentymän sijasta. Perintähierarkian esittämisessä käytetään usein abstrakteja luokkia. Abstraktista luokasta ei ole ollenkaan ilmentymiä kyseessä on siis pelkästään tietomallissa näkyvä käsite. Luokan abstraktius osoitetaan kirjoittamalla sen nimi vinokirjaimin (Luokka1). Luokan (Luokka1) luonnetta voidaan osoittaa antamalla sille stereotyyppi (featuretype), joka sijoitetaan luokan nimen yläpuolelle kaksoiskulmasulkujen sisään (esimerkiksi kuvassa oleva stereotyyppi featuretype osoittaa, että luokka edustaa mallissa reaalimaailman kohdeluokkaa). Stereotyyppi kuvaa luokkien samankaltaisuutta ilman suhdetta tai perintää. 4/7

Luokat voidaan ryhmitellä paketeiksi. Pakettien välillä voi olla riippuvuuksia, jotka osoittavat, että tietyn paketin (Paketti1) luokat riippuvat tavalla tai toisella toisen paketin (Paketti2) luokista. Joskus myös pakettiin kuuluvat luokat piirretään näkyviin. 5 Ohjeita paikkatietojen mallintamiseen Paikkatietojen mallintamisessa tulee ottaa huomioon seuraavia seikkoja: Paikkatietokohteet mallinnetaan UML-luokkina. Paikkatietokohteiden välinen suhde mallinnetaan. - UML-suhteena, jos suhteeseen ei liity omia ominaisuuksia. - Itsenäisenä luokkana (suhdeluokka), jos suhteeseen liittyy ominaisuuksia. 5/7

Paikkatietokohteiden väliset suhteet, jotka vastaavat kokonaisuus/osa -suhdetta mallinnetaan UMLkoostesuhteena. Paikkatietokohteen ominaisuudet mallinnetaan luokan UML-attribuutteina. Jos ominaisuudella on itsellään omia ominaisuuksia, se mallinnetaan luokkana. Paikkatietokohteeseen liittyvät operaatiot mallinnetaan vastaavan luokan UML-operaatioina (huom. operaatioita ei yleensä mallinneta tiedonsiirtoon liittyvää sovellusskeemaa tehtäessä). Käytettävien nimien tulisi kuvata mahdollisimman tarkasti mallinnettavaa kohdetta tai ilmiötä. Kun nimi muodostuu useasta sanasta, aloitetaan jokainen sana ensimmäisen sanan jälkeen isolla kirjaimella ja lisäksi kaikki sanat kirjoitetaan yhteen ilman välilyöntejä. Luokkien ja pakettien nimet aloitetaan isolla kirjaimella. - Esimerkki luokan nimestä: VaikeakulkuinenSuo. Attribuuttien, operaatioiden ja suhderoolien nimet aloitetaan pienellä kirjaimella. - Esimerkki attribuutin nimestä: keskimaarainenpituus. Luokkien nimien tulee olla yksikäsitteisiä ja jokaisen luokan tulee kuulua johonkin pakettiin. 6 Tiedonsiirron sovellusskeemaan liittyvät lisäohjeet Tiedonsiirtoon tarkoitettua sovellusskeemaa laadittaessa tulee noudattaa seuraavia ohjeita, jotka pohjautuvat SFS-EN ISO 19136 -standardiin (GML). Laadittavien UML-mallien tulee olla täydellisiä, eli sisältää mallin kannalta oleelliset luokat, attribuutit, suhteet ja tietotyyppimääritykset. Suhteita, joissa on osallisena useampia kuin kaksi luokkaa, tulee välttää. Ainakin yksi suhderooli tulee osoittaa jokaista suhdetta kohti ja myös suhteiden toistuvuusmääreet tulee antaa. Attribuutit tulee määritellä näkyviksi luokan ulkopuolella. Kaikkien luokkanimien tulee olla yksikäsitteisiä ja soveltua XML-elementtinimiksi. Luokkien ja niiden attribuuttien nimissä ei tule käyttää skandinaavisia merkkejä, eikä alaviivaa, pistettä, väliviivaa tai muuta aakkosten ulkopuolista merkkiä. Kaikkien kohdeluokkaa edustavien UML-luokkien tulee olla varustettu stereotyypillä <<featuretype>>. Objektiluokat mallinnetaan UML-luokkina, joille ei anneta stereotyyppiä (geometriaobjektit, topologiaobjektit ja referenssijärjestelmät ovat esimerkkejä objektiluokista). Abstraktina kantaluokkana voidaan aina käyttää UML-luokkaa varustettuna stereotyypillä <<type>>; tästä luokasta voidaan periyttää sekä kohdeluokkia, objektiluokkia että tietotyyppejä. Tietotyyppejä voidaan mallintaa UML-luokkina stereotyypillä <<enumeration>>, <<codelist>>, <<union>> ja <<datatype>>. Kaikilla muilla paitsi objektiluokilla tulee olla niiden luonnetta osoittava stereotyyppi. Perintäsuhde voidaan luoda kahden luokan välille vain, jos ne molemmat edustavat joko kohdetyyppiä, objektityyppiä tai datatyyppiä. Moniperintää ei saa käyttää. Kaikilla attribuuteilla tulee olla nimi ja tietotyyppi. Attribuuttinimien on sovelluttava XML-elementtinimiksi. Suhteiden mahdolliset suunnat tulee osoittaa antamalla vastaava suhderoolinimi. Sovellusskeemaa vastaava UML-paketti varustetaan stereotyypillä <<applicationschema>>. Paikkatietojen UML-mallinnuksessa suositellaan käytettävän taulukossa 1 listattuja attribuuttien tietotyyppejä. Tietotyyppien yhdenmukainen soveltaminen edistää tietomallien siirrettävyyttä ja oikeaa tulkintaa. Tietotyyppien yksityiskohtainen merkitys käy ilmi standardista ISO/TS 19103:2002 Conceptual schema language (CSL). 6/7

Perustietotyypit Koostetyypit Numeric - Decimal - Vector - Real - Number - UnlimitedInteger - Integer Date and Time - DateTime - Date - DatePrecision - Time Text - CharacterString - Sequence <Character> - Character - CharacterSetCode - LanguageCharacterString Enumerations - Sign - Digit - Bit Truth - Boolean - Logical - Truth - DiscreteTruth - ContinuousTruth - Probability Multiplicities - Multiplicity - MultiplicityRange Set Bag Sequence Dictionary Luetellut tyypit enumeration codelist Johdetut tyypit Measure UnitOfMeasure Area UomArea Length Distance UomLength Angle UomAngle Scale UomScale Mtime UomTime Volume UomVolume Velocity UomVelocity Tyhjät tyypit NULL EMPTY Taulukko 1 Paikkatietojen UML-mallinnuksessa käytettäviksi suositellut tietotyypit (ISO/TS 19103, luku 6.5 Data types) Paikkatietojen mallinnuksessa suositellaan käytettäväksi seuraavia UML-luokkien stereotyyppejä (ISO/TS 19103 luvut 6.8 ja D.8.3, EN ISO 19136 luvut 5.5 ja E.2): applicationschema featuretype datatype enumeration codelist union primitivetype leaf. 7/7