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

Slides:



Advertisements
Liknende presentasjoner
SOSI grunnkurs SOSI Introduksjon
Advertisements

Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Modeller for design av Web-Applikasjoner ➔ Kapittel 2: Data Modell ➔ Kapittel 3: Hypertekst Modell Av Eskil Saatvedt og Arianna Kyriacou.
H. Aschehoug & Co. På eksamensdagen H. Aschehoug & Co.
Hva trenger jeg av data, og hvordan skal jeg innhente disse?
SOSI Grunnkurs - Øvelse SOSI-vis/SOSI-kontroll
XMLSchema.  Innledende eksempler: Tove 4. Janni 5. Huskelapp 6. Ikke glem avtalen til helgen 7. Vi har sett DTD’en til dette xml dok. Her kommer.
UML & object models av gruppe 8
Databaseteori.
Objektorientert programmering Objektorientert systemutvikling
SOSI grunnkurs UML-modellering - SOSI-sekretariatet UML-modeller Lese og forstå UML-modeller.
IS-102 Klassedefinisjoner
Eiendomsregister - eksempel
Gjenfinningssystemer og verktøy II
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
Kompleksitetsanalyse
Forside Motivasjon Analyse Forside Motivasjon Analyse  -notasjon O og  Relasjoner Klasser Fallgruver Spørsmål Kompleksitetsanalyse Åsmund Eldhuset asmunde.
Generelt I/O if/else Funksjoner Lists Løkker Dictionaries Annet Listebehandling Klasser Python med noen algdat-anvendelser Åsmund Eldhuset asmunde *at*
Operativsystemer.  Tilstandsmaskiner kalles på engelsk Finite State Machines.  Tilstandsmaskiner er en metode til å beskrive systemer med logisk og.
ANDROID-PROGRAMMERING VÅREN ACTIVITY OG INTENTS Repetisjon fra forrige gang.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
INF150 Programmering mandag 11.9
4/4/2017 IMT2243: 17.februar 2011 Domenemodellering / Konseptuelle Klassediagram Monopol- eksempel SSD : System Sequence Diagram Kort repetisjon av teknikken.
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator.
Tilstandsmaskiner Tilstandsmaskiner kan beskrives med tilstandsdiagrammer Nivået er teknisk Tilstandsdiagrammet viser ett objekts tilstander og transisjoner.
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Strukturerende elementer i UML
Klassediagrammer Klassen er en grunnleggende enhet i et objektorientert system Alle kan finne klasser i et domene Det å finne klasser er en intuitiv aktivitet.
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Kap 10 Graf.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
DEKOMPONERING OG MODULARITET ~Gruppe 4~. Gjennomgang Designtyper/kriterier innen dekomponering Dekomponeringsspesifikasjon Strukturert og objektorientert.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
SOSI grunnkurs SOSI Grunnleggende prinsipper
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Se ellers læreboka, kap , side
UML Modellering Grunnregler og retningslinjer
Metadata - Statens kartverk
Objektorientert utforming In 140 Sommerville kap. 12.
Bruk av geometrityper Eller: I applikasjonsskjema skriver vi:
Generelle definisjoner Oppslagsverk nå og senere! Finnes også i dokumentet Retningslinjer for datamodellering i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.
SOSI arbeidsgruppe 1 LE 28. mar.Side 1Divisjon Informasjonsteknologi Multiple tema og punktinfo i SOSI Lars Eggan.
Trådløs kulturby Andy Pham Damir Nedic Amund Letrud Ruben Vijayaroopan Sivarajah Espen Olsen.
UML-seminar 12. og 13. mars 2003 UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.
Sammensatte data (”Kobla data”) data satt i sammen fra ulike kilder.
Helseinformatikk Øving 2. Studie av modeller GLIF –Protégé GEM – GEM Cutter.
Navneregler i UML Geir Myrind Sosi-sekretariatet UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Geografiske informasjonssystem - en definisjon Et geografisk informasjonssystem (GIS) kan defineres som et system basert på datateknologi, for innsamling,
Inf1000 (Uke 5) Arrayer, filer og tekst
Byggeklosser i UML klassediagram
GML schema analyse Analyse og ekstrahering av kart-data på GML-format.
Objektorientert design In 140 Sommerville kap 12 – del 1.
SPSS-kurs. Program Dagen vil bli delt inn i fire bolker: Bolk 1 - 9:30-10:30 – Åpne/lagre datasett, datatyper, definere variable. Bolk 2 – 10:45-11:30.
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
SOSI - planen for det videre arbeidet i 2001
Forslag til forbedret datamodell for datakatalogen
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
IS-102 Interaksjon med objekter
Utskrift av presentasjonen:

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

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

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

Konseptuelle modeller Virkelige verden Konseptuell Modell System SOSIDame/ SOSIMann UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 DATO KOMM GATE GATENAVN Veg1..VLENKE...VNR S V VPA VKJORFLT 12...VFRADATO Datatype Veglenke? UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet

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

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

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

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

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

Foreløpig subsett av UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet

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