Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertArild Holmen Endret for 9 år siden
2
Innføring i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
3
Generell Innføring i UML oHva er UML og hvordan bruker vi det? oKonseptuelle modeller og språk oBakgrunnen for UML oHva med ER og andre notasjoner? oUML oHva kan vi bruke UML modellene til? oAbstraksjon og forståelse oRettledning oModellene kan oversettes til andre formater oSOSI oGML oBeskrive objektkatalogen i UML oHvordan vi gjør det! oBasis byggeklosser UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
4
Hva er konseptuelle modelleringsspråk oEt språk definert for å beskrive virkeligheten oEt slikt språk trenger en formalisme oUML er dagens industri-standard i så måte oUML er en formalisme som definerer oelementer oregler omekanismer for å beskrive og visualisere modeller av virkelige verden oHva er en formell beskrivelse av verden? Modell som kan forstås og oversettes av menneske og maskin UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
5
Konseptuelle modeller Virkelige verden Konseptuell Modell System SOSIDame/ SOSIMann UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
6
Bakgrunnen til UML oProgramvareutviklere oppdaget tidlig fordelen ved å visualisere virkeligheten de ønsket å lage oResulterte i mange forskjellige notasjoner oER (Entity-Relationship) oNIAM oObjektorientert tankegang innførte nye notasjoner og metoder oORM, OOSE, OMT ++ oSamkjøring av disse resulterte i UML oUML 1.1 standardisert i 1997 oNåværende versjon er 1.4 o2.0 er på trappene UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
7
UML i forhold til ER oUML er laget for å modellere systemer oDesign og analyse av dataprogrammer oBoksene i UML er ikke nødvendigvis objekttyper oKan beskrive oppførsel og interaksjon oER beskriver bare objekttyper (entiteter) og forhold (relationship) orettet mot tradisjonelle relasjonsdatabaser obeskriver ikke oppførsel oUML er mer fleksibelt oOmfattende notasjon oKnyttet opp mot programmeringsspråk, men kan brukes til mange formål oEtt ”subsett” av UML tilbyr alt det ER har oUML modeller uttrykker mer semantikk! (mening) UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
8
Vårt område oBeskrive geografisk informasjon ostandarder odekkende omange bruksområder og brukere oArbeidet krever samkjøring og standarisering oLage utvetydige modeller av virkeligheten oModeller må kunne forstås og håndteres av alle oModellen må kunne utveksles oModellen må kunne leses av både maskin og menneske oVi trenger enn formell notasjon for å beskrive vår verden (objektkatalogen) oEt konseptuelt modelleringsspråk tilbyr dette. UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
9
Abstraksjon og forståelse oEn modell er en abstraksjon av virkeligheten oHjelper oss å beskrive den verden vi ønsker og ser oVisuell presentasjon er mer intuitiv oKommuniserer valg og avgjørelser som i utgangspunktet ikke er opplagte oForståelsen av problemdomenet øker oUML gjør at vi må dykke ned i problemet oForstå hver minste enhet oUtelates noe blir det feil oUML har hjulpet oss til å finne flere feil og tvetydigheter i SOSI allerede oDet visuelle er et godt grunnlag for diskusjon UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
10
Rettledning oEn fullstending objektkatalog beskrevet i UML er verdifull! oEn slik objektkatalog gir grunnlaget for mye av arbeidet innen geografisk informasjon oVil fungere som rettledning når man skal lage oapplikasjoner oproduktbeskrivelser o++ oVerden blir enklere UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
11
Hva kan vi gjøre med modellen? Modell av verden Tekstlig Overføringsformat Transformasjons- verktøy SOSIGML DB ? UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
12
Språket UML omfatter mye! Vi ser på den strukturelle delen av UML: - Det vil si klassediagrammer -definisjoner av objekttyper -objekttypenes egenskaper -forholdet objekttypene imellom Det finnes også mekanismer for å beskrive tilstander og interaksjon: - F.eks. aktivitetsdiagrammer og sekvensdiagrammer. -Mer sentralt for tradisjonell systemutvikling av generelle datasystemer. UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
13
Vår bruk av UML oBeskrive objekttkatalogen (SOSI) oFagområdene oObjekttypene og forholdet de imellom oObjekttypenes egenskaper oEgenskapenes verdidomener oDatatyper okodelister UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
14
Inndeling av objektkatalogen! oHvert SOSI fagområde former en pakke i UML oEn pakke har et navn, typisk navn på fagområde oEn UML pakke grupperer objekttyper Fyrmerker oEn pakke kan bestå av andre pakker oEksempelvis kan fagområdes deles inn i mindre pakker hvis det er fordelaktig SOSI KystogSjø Fyrmerker Sjøteknisk UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
15
Oversikt over modellen(e)! oPakker gir oss muligheten til å strukturere fagområder og modellene oPakker kan være avhengige av hverandre! oLeder oss inn på første mekanisme for å definere forhold i UML oAvhengighet(Dependency) oStiplet linje med pil oVi bruker avhengighet for å vise at en pakke avhenger av innholdet i en annen UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
16
Mer om avhengigheter oDet er viktig for oss å kunne la noen fagområder bruke andre fagområder oI eksempelet bruker Vegnett SOSI’s geometrityper. Geometritypene er jo generelle for alle fagområdene! Boksen til venstre er en note! Noter brukes for å legge inn kommentarer i modellen. Den stiplete linjen definerer hva vi kommenterer! Her beskriver vi at Vegnett bruker kurve,flate og punktgeometri fra SOSI geometriprofil UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
17
Objekttyper (Vi stuper inn i pakkene!) oHovedbyggeklossen i modellene våre! oVi bruker UML’s klasse begrep for å beskrive objekttypene. oEnhver objekttype må ha ett navn oSkrives i øverste del av ”klasseboksen” oFor SOSI objekttyper bruker vi objekttypenavnet! oEn objekttype (klasse) i UML representer ett sett av objekter i henhold til objekttypedefinisjonen! UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
18
Objekttyper og objekter! oEn objekttype spesifiser en samling av virkelige verden objekter med samme egenskaper oSamlingen av objekter kalles instanser av objekttypen oEksempel: objekttypen SenterlinjeVeg og to instanser, E6 og E18 UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
19
Egenskaper oEgenskapene til en objekttype modelleres som attributter i UML oEn egenskap beskrives som følgende: o ’+’ før navnet angir tilgjengelighet for alle oselve navnet på egenskapen otypen til egenskapen (datatype) DybdeKurve har egenskapen geometri av type Kurvegeometri DybdeKurve har egenskapen dybde av type Integer (heltall) UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
20
Må egenskapen alltid være med? oVi kan angi multiplisitet for en egenskap oMultiplisitet i UML angir antall instanser/forekomster av et modell element objekttype/egenskap oBrukes for å angi at egenskapen er opsjonell oHer angir vi at dybde er opsjonell, dybde forekommer null eller maksimalt 1 gang. oFører vi ikke opp multiplisitet, er den i utgangspunktet lik 1 UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
21
Geometri typer oGeometritypene i SOSI er modellert i en egen pakke: SOSIGeometriprofil oEksempel på bruk mellom pakker så vi på tidligere oVi bruker en profil av ISO19107 Spatial Schema for å beskrive geometritypene våre oNår vi modellerer objekttyper angir vi geometrien som en egenskap til objekttypen oFlategeometri oKurvegeometri oPunktgeometri oMer om geometri senere UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
22
Egenskapstyper (datatyper) oEnhver egenskap relaterer til et verdidomene oEgenskaper i UML er assosiert med en datatype som beskriver verdidomenet til egenskapen oEksempel fra SOSI og UML:..GNR H4..BNR H4..FNR H4 GID: gårdsNr : Integer bruksNr : Integer festeNr : Integer oDatatypen Integer angir heltall oInteger tilhørerer basis datatyper UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
23
Basis datatyper Beskrevet i ISO19103 Integer Heltall Real Tall med desimalverdier CharacterStringEn sekvens av alfabetiske tegn, f.eks ”SOSI” Date Date spesifiserer en dato, dvs. med verdier for dag, måned og år. En dato er kodet med en streng på et format som1998-12-21 eller 21/12/1998. Time En Time er gitt ved time, minutt og sekund og beskrives av en string. Eksempel; 18:30:59 eller 18:30:59+01:00 DateTime En DateTime er en kombinasjon av Date og Time BooleanEn boolean er en type som antar verdien True eller False UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
24
Brukerdefinerte datatyper oNoen ganger er det hensiktsmessing å lage egne datatyper oGruppere egenskaper, i SOSI for eksempel GID oGjøre det mulig å bruke de samme egenskapene i flere sammenhenger oAngi multiplisitet for en gruppe egenskaper oLa oss se på SenterlinjeVeg fra SOSI Vegnett:.KURVE 6:..OBJTYPE SenterlinjeVeg..LTEMA 7001..DATO 20000106..KOMM 0118..GATE 12345..GATENAVN Veg1..VLENKE...VNR S V 124...VPA 1 0 388...VKJORFLT 12...VFRADATO 19840101 Datatype Veglenke? UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
25
Eksempel brukerdefinerte datatyper oGruppeegenskaper i SOSI lager vi datatyper av oForenkler modellen og tilbyr gjenbruk av verdidomenet til egenskapen oGodt eksempel er veglenke fra Vegnett VegLenke + vegType[0..1] : VegNummer + vegParsell : VegParsell + kjørefeltNummer : CharacterString + veglenkeDato : Date > VegNummer + vegType : CharacterString + vegStatus : CharacterString + vegNummer : Integer > VegParsell + hovedParsell : Integer + veglenkeMeterFra : Integer + veglenkeMeterTil : Integer > UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
26
Datatype ”boksen”? oVi bruker en klasse for å definere en datatype oNotasjonen > angir at klassen ikke er en vanlig objekttype oEn datatype er fundamentalt forskjellig fra objekttyper oEn datatype er en form for verdi og er ikke et objekt oNotasjonen > angir en stereotype oStereotyper brukes for gi en klasse ”boks” spesiell mening. oMer om stereotyper senere UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
27
Kodelister oEt annet verdidomene er kodelistene i SOSI oHvordan representere kodelister i UML oKodelistene listes i en klasse stereotypet > oBetyr at verdien til kommuneNummer kan være en av verdiene fra kodelisten Kommune. UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
28
Angivelse av kodeverdiene oHvordan kodelistene beskrives er opsjonelt oKan angi både egennavn og verdi oKan angi bare egennavn oEgennavn til kodeverdier kan starte med store bokstaver og sammentrekkes ikke oEksempelet viser de to måtene å beskrive kodelister på UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
29
Hittil har vi sett på: oPakker omekanisme for å dele opp/gruppere modellen oAvhengighet angir forholdet mellom pakkene oObjekttyper oBeskrives ved klassediagrammer oEgenskapene til objekttypene oEgenskapsnavn oMultiplisitet oVerdidomene til egenskapene obasale datatyper obrukerdefinerte datatyper okodelister UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
30
Foreløpig subsett av UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
31
Etter lunsj oGjennomgang av prosessen SOSI-DB til UML oVi får en praktisk demonstrasjon av konseptene vi hittil har snakket om oVi skal titte på hva vi kan bruke modellene våre til! oGML oMer om UML og regler for modellering oHvordan gå frem oInformasjonsmodellen oRegler og retningslinjer oUML avanserte emner onavneregler UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.