Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Innføring i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.

Liknende presentasjoner


Presentasjon om: "Innføring i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet."— Utskrift av presentasjonen:

1

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


Laste ned ppt "Innføring i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet."

Liknende presentasjoner


Annonser fra Google