dataorientert modellering · 9. mars 2005 inf2120 prosjekt i modellering 3 inf 2120 orm og...
Post on 13-Jul-2020
1 Views
Preview:
TRANSCRIPT
9. mars 2005 INF2120 Prosjekt i modellering 1
INF
2120
INF2120
Dataorientert modellering
Ragnar Normann
9. mars 2005 INF2120 Prosjekt i modellering 2
INF
2120
Dataorientering og UML
• UML har som utgangspunkt et objektorientert syn på tilværelsenhvor oppførsel og samspill mellom objekter er det sentrale
• I UML beskrives datastrukturen i klassediagrammer som gir enoversikt over klassene i systemet og de statiske relasjonene mellomdem
• Metoder for å analysere statisk datastruktur eksisterte lenge før UMLble til
• Den mest utbredte av disse dataorienterte metodene er ER (Entity-Relationship) som ble introdusert av Chen i 1976
• ER finnes i et utall dialekter, og bortsett fra at de inneholder navnetpå metoder i klassene, er UML klassediagrammer ikke noe annet ennnok en ER-dialekt
• I dag skal vi konsentrere oss om ORM (Object-Role Modelling) somer en annen dataorientert analysemetode
9. mars 2005 INF2120 Prosjekt i modellering 3
INF
2120
ORM og 100%-prinsippet
• ORM er en metode for å beskrive informasjonsstruktur
• ORM baserer seg på 100%-prinsippet:
Det er alltid mulig å gi en endelig og fullstendig tekstlig beskrivelse avUoD, dvs. den delen av virkeligheten som interesserer oss(UoD = Universe of Discourse)
• En slik beskrivelse kalles en informasjonsmodell
• Informasjonsmodellen kan brukes som forskrift for et datasystem ogkalles da datasystemets begrepsmessige skjema
• Siden utgangspunkt og mål er tekstlige beskrivelser, er ORM fagligforankret i (formell) lingvistikk
• Resultatet av en ORM-analyse er en grafisk fremstilling av en tekstligbeskrivelse av informasjonsstrukturen
9. mars 2005 INF2120 Prosjekt i modellering 4
INF
2120
NIAM – en ORM-dialekt
• NIAM er den eldste ORM-dialekten
• NIAM ble utviklet i Nederland 1964–1977 av en gruppeledet av G.M.Nijssen
• Nijssen hevder at NIAM er et akronym for«Natural language Information Analysis Methodology»
• Alle andre sier at NIAM står for«Nijssen's Information Analysis Methodology»
• Jeg skal bruke en revidert versjon (standard) fra 1982
Merk: I INF2120 skal dere bruke UML og ikke NIAM!
9. mars 2005 INF2120 Prosjekt i modellering 5
INF
2120
Elementære setninger
• En setning kalles elementær hvis den ikke kan deles opp
uten å miste meningsinnhold
• Eksempel: Setningen «Mons spiser grøt og drikker melk»
kan deles opp i to elementære setninger
– «Mons spiser grøt»
– «Mons drikker melk»
9. mars 2005 INF2120 Prosjekt i modellering 6
INF
2120
Entiteter
• En entitet er en gjenstand, egenskap eller hendelse iinteresseområdet vårt
• Eksempler:
– Sigrid Undset
– Bilen min
– Studielånet ditt
– INF2120
– Dagen i dag
– Rød
• Entiteter beskrives vanligvis med substantiver, men pronomener ogadjektiver forekommer også
9. mars 2005 INF2120 Prosjekt i modellering 7
INF
2120
Begreper
• Det første, og vanskeligste, trinnet imodelleringsprosessen er å putte entitetene iinteresseområdet inn i båser eller grupper
• En slik gruppe entiteter kalles en entitetstype
• Navnet på en entitetstype kalles et begrep
• Eksempler på begreper– Person
– Ansatt
– Lån
– Farge
9. mars 2005 INF2120 Prosjekt i modellering 8
INF
2120
Eksempel på et «vanskelig» begrep
• Hvilke entiteter i interesseområdet omfattes av begrepet«bok»?
• Har du lest Peer Gynt?
• Når ble boken med ISBN 82-00-22476-6 utgitt?
• Hvem har lånt eksemplar 5 av denne boken?
• Merk:Begrepers innhold er avhengig av hva som er vårtinteresseområde
9. mars 2005 INF2120 Prosjekt i modellering 9
INF
2120
Representasjonstyper
• Vanligvis kan ikke entiteter lagres i databasen
• De data vi lagrer, er representasjoner av entitetene, ogdisse representasjonene må tilhøre en representa-sjonstype for det begrepet som entiteten tilhører
• Et begrep kan tilordnes flere representasjonstyper
• Eksempler:
– Personer kan representeres med navn og/eller fødselsnummer
– Biler kan representeres med bilnummer eller chassisnummer
9. mars 2005 INF2120 Prosjekt i modellering 10
INF
2120
Ogdens trekantOgdens trekant
9. mars 2005 INF2120 Prosjekt i modellering 11
INF
2120
Roller
• Når vi beskriver sammenhenger mellom begreper, siervi at begrepene spiller roller overfor hverandre
Eksempel:
Anta at vi har de to begrepene «person» og «bil», og atpersoner kan eie biler
• Da sier vi at person spiller rollen «eier» overfor bil, og atbil spiller rollen «er eid av» overfor person
• Roller uttrykkes vanligvis med verb og/ellerpreposisjoner
9. mars 2005 INF2120 Prosjekt i modellering 12
INF
2120
Symboler i NIAM
• Begreper tegnes somheltrukne sirkler
• Representasjonstypertegnes som stipledesirkler
Person
Fødsels-nr
9. mars 2005 INF2120 Prosjekt i modellering 13
INF
2120
En slik sammenheng mellom to begreper hvor begrepene spiller hver sin rolle overfor hverandre, kalles en (binær) faktatype
Slike «kjøttben» er de viktigste byggeklossene i NIAM (ORM)
Faktatyper
• Det at personer eier biler, og at biler eies av personer,tegner vi slik:
Person Bileier er eid av
9. mars 2005 INF2120 Prosjekt i modellering 14
INF
2120
Faktatyper i UML
• Det at kommuner ligger i fylker, tegner vi slik i hhv NIAMog UML:
Fylke Kommuneomfatter ligger i
KommuneFylke1..*1..1
ligger iomfatter
9. mars 2005 INF2120 Prosjekt i modellering 15
INF
2120
Broer
• Sammenhengen mellom et begrep og detsreferansetype kaller vi en bro, og vi tegner den slik:
• Rollene i broer er ofte preposisjoner• Under modelleringen kan det være lurt å vente med å
tegne broer• Ser vi bort fra identifikatorer, har ikke UML klasse-
diagrammer noen konstruksjon som tilsvarer broer
Person Person-nrmed på
9. mars 2005 INF2120 Prosjekt i modellering 16
INF
2120
Faktasetningers dype struktur
• Person med fødselsnummer12094430256 eier bil medregistreringsnummer CC76543
• Bil med registreringsnummerCC76543 eies av person medfødselsnummer 12094430256
• De to setningene har sammemeningsinnhold, dvs. sammedype struktur
Bil
Fødsels-nr
Reg.-nr
Person eier eies av
med
på
med
på
9. mars 2005 INF2120 Prosjekt i modellering 17
INF
2120
Syntaksregler i NIAMDel 1: Begreper og roller
• Et begrep tegnes som en heltrukket sirkel eller ellipsemed et navn inni
• Samme begrep kan forekomme vilkårlig mange ganger iden ferdige NIAM-modellenDette er et tegneteknisk hjelpemiddel, og to sirkler(ellipser) med samme navn betegner samme begrep
• En rolle er et rektangel med en tekst i
• En rolle skal knyttes til nøyaktig ett begrep (eller enrepresentasjonstype)Tilknyttingen tegnes som en heltrukken linje/kurvemellom randen på rollen og randen på begrepet
9. mars 2005 INF2120 Prosjekt i modellering 18
INF
2120
Syntaksregler i NIAMDel 2: Faktatyper
• En faktatype tegnes som en eller flere roller stilt vedsiden av hverandre
• Et begrep skal ha minst en rolle som inngår i enfaktatype (vi sier at begrepet deltar i faktatypen)
• Et begrep kan ha vilkårlig mange roller og altså delta ivilkårlig mange faktatyper (og broer)
• Et begrep kan ha flere roller i samme faktatypeDisse rollene må da ha forskjellig tekst
9. mars 2005 INF2120 Prosjekt i modellering 19
INF
2120
Syntaksregler i NIAMDel 3: Broer og representasjonstyper
• En representasjonstype tegnes som en stiplet sirkelmed et navn i
• Alle representasjonstyper har nøyaktig én rolle(en rolle som altså ligger i den (eneste) broensom fører til representasjonstypen)
• Broer har alltid eksakt to roller, hhv. knyttet til etbegrep og en representasjonstype
• Broer har alltid (minst) en kort entydighetsskranke
9. mars 2005 INF2120 Prosjekt i modellering 20
INF
2120
Fakta (setningsforekomster) ogsemantikkregelen for faktatyper
• Alle faktatyper beskriver den dype strukturen i engruppe med setningsforekomster
Semantikkregelen:
• Alle faktatyper i NIAM-modellen skal være slik at allesetningsforekomster som passer i den, skal væreelementære setninger
Konsekvens:
Ingen faktatype skal kunne erstattes av faktatypersom alle er kortere enn den opprinnelige faktatypen
9. mars 2005 INF2120 Prosjekt i modellering 21
INF
2120
Entydighetsskranker
Person Bil
EvaNilsElseEvaPerHansLiv
JC 24356BC 77754DJ 10765KE 75643AA 24680BC 77754DE 85975
Eier Eies av
Det som står under entydighetspilen, kan ikke gjentas
9. mars 2005 INF2120 Prosjekt i modellering 22
INF
2120
Hvor skal pilen(e) stå?Skriv forekomster!
Eksempel: Ekteskap
Kvinne Manner gift med er gift med
9. mars 2005 INF2120 Prosjekt i modellering 23
INF
2120
Monogami
Én til én-relasjon
Kvinne Manner gift med er gift med
9. mars 2005 INF2120 Prosjekt i modellering 24
INF
2120
Polygyni
Mange til én-relasjon
Kvinne Manner gift med er gift med
9. mars 2005 INF2120 Prosjekt i modellering 25
INF
2120
Polyandri
Én til mange-relasjon
Kvinne Manner gift med er gift med
9. mars 2005 INF2120 Prosjekt i modellering 26
INF
2120
Polygami
Mange til mange-relasjon
Kvinne Manner gift med er gift med
9. mars 2005 INF2120 Prosjekt i modellering 27
INF
2120
• En person kan ha ettnavn, men ikke flere
• En person kan ha éneller flere telefoner,og en telefon kanvære for én eller flerepersoner
• En person kan ha éneller flere biler, menhver bil kan bare haén eier
Navn
Tlf.
Bil
påhar
formed
forhar
Person
Entydighet – et enkelt eksempel
9. mars 2005 INF2120 Prosjekt i modellering 28
INF
2120
NavnpåmedPerson
Kode-navn
påmedPerson
Ans.-Nr.
påmedPerson
Entydighetsskranker i broer
Ikke entydig bro (homonym)(forekommer ofte)
Entydig bro (synonym)(forekommer svært sjelden)
Én-entydig bro(forekommer ofte)
9. mars 2005 INF2120 Prosjekt i modellering 29
INF
2120
Påkrevd (=total) rolle
• Alle personer skal ha et navn
Navn
Tlf.
Bil
påhar
formed
forhar
Person
Alle forekomster av begreps-typen finnes i denne rollen
9. mars 2005 INF2120 Prosjekt i modellering 30
INF
2120
Perfekt bro (kan brukessom referansemåte dvs. identifikator)
Perfekte broer
• Alle personer har eksakt ett fødsels-nummer
• Forskjellige personer har ulike fødsels-numre
• En kortform for den perfekte broen ovenfor er slik:
F.nr.formedPerson
Person(F.nr.)
9. mars 2005 INF2120 Prosjekt i modellering 31
INF
2120
Faktatypers aritet (lengde)
er giftPerson
ansatt iPersonmed
ansatt Firma
bleansatt i
Person
eransettelsesdato
Dag
medansatt
Firma
Unær faktatype (aritet=1)
Binær faktatype (aritet=2)
Ternær faktatype (aritet=3)
9. mars 2005 INF2120 Prosjekt i modellering 32
INF
2120
Entydighet i lange faktatyper
Temperaturen kan målesflere steder samtidig
Den kan også måles flereganger på samme sted
På samme tidspunkt kanflere steder ha sammetemperatur
Samme sted kan ha sammetemperatur på flere tidspunkt
På samme tid og sted kandet bare være en temperatur
ble målt
Tid
ble målt
Sted
bleresultat
Temp.
9. mars 2005 INF2120 Prosjekt i modellering 33
INF
2120
Regler for entydighetsskranker
• Alle faktatyper og broer skal ha minst énentydighetsskranke
• Korte entydighetsskranker er strengere ennlange, så ingen entydighetsskranke får lov tiltotalt å dekke en annen
• Broer skal ikke ha lang entydighetsskranke
• Lange faktatyper kan godt ha overlappendeentydighetsskranker
9. mars 2005 INF2120 Prosjekt i modellering 34
INF
2120
• En kvinne kan ikke gifteseg flere ganger påsamme dag
• En mann kan ikke gifteseg flere ganger påsamme dag
• En kvinne og en mannkan gifte seg medhverandre flere ganger
• Dette kan ikke uttrykkes iUML uten å bruke OCL
Overlappende entydighetsskranker
Ble gift
Kvinne
For giftermål
Dag
Ble gift
Mann
9. mars 2005 INF2120 Prosjekt i modellering 35
INF
2120
N-1–regelen forentydighetsskranker
• Gitt en setningstype med aritet N– Hvis setningstypen er elementær, har den
ingen entydighetsskranke som er kortere enn atden dekker N-1 roller
– Nesten alltid: Hvis setningstypen ikke har noenentydighetsskranke som dekker mindre ennN-1 roller, så er den elementær
9. mars 2005 INF2120 Prosjekt i modellering 36
INF
2120
• På samme tid og sted kandet bare være éntemperatur
• En meteorolog kan ikkegjøre to temperaturmålingerpå samme tidspunkt
• En meteorolog kan barevære ett sted på et gitttidspunkt
• På samme tid og sted kandet bare være enmeteorolog (?)
Et eksempel til ettertanke
NB: Denne faktatypen er ikke elementær. Problem: Hvordan skal den splittes?
Målte
Meteo-rolog
Ble målt
Tid
Ble målt
Sted
Ble resultat
Temp.
9. mars 2005 INF2120 Prosjekt i modellering 37
INF
2120
Begrepsdannelse
Tid StedBle målt Ble målt
Måling
Tid StedMålingBlemålt
på påBlemålt
Hvilke skranker trengs for å gjøre dennekonstruksjonen syntaktisk korrekt?
9. mars 2005 INF2120 Prosjekt i modellering 38
INF
2120
Kombinert entydighet
Tid StedMålingBlemålt
på påBlemålt
Måling er definert som kombinasjonen av tid og sted
9. mars 2005 INF2120 Prosjekt i modellering 39
INF
2120Tid StedMåling
Blemålt
på påBlemålt
Meteoro-log
Temp.MålteBle målt
avMed
resultatBle
resultat
Målte
Meteo-rolog
Ble målt
Tid
Ble målt
Sted
Ble resultat
Temp.
To måter å tegne«måling» på
9. mars 2005 INF2120 Prosjekt i modellering 40
INF
2120
Terminologi – midlertidig oppsummering
Begrepstype Representasjonstype
Faktatype
Bro/referansetype
Alltid Entydighet
Kombinert entydighet
9. mars 2005 INF2120 Prosjekt i modellering 41
INF
2120
Populasjoner for roller og begreper
• Roller er de eneste informasjonsbærerne i NIAM,dvs. at bare roller kan ha forekomster
• Mengden av forekomster i en rolle r kallespopulasjonen til r og betegnes med pop(r)
• Begreper har egentlig ikke forekomster
• Det er likevel praktisk å snakke om populasjonen tilbegreper
• Vi definerer populasjonen til et begrep A sompop(A) = U pop(r)der unionen tas over alle roller som spilles avbegrepet A
9. mars 2005 INF2120 Prosjekt i modellering 42
INF
2120
Påkrevde roller
• Vi definerer en rolle r for begrepet A som påkrevd(mandatory) hvis det for alle tilstander av databasenskal gjelde at pop(A) = pop(r)
A rV
I NIAM:Påkrevde rollerkalles også fortotale roller
9. mars 2005 INF2120 Prosjekt i modellering 43
INF
2120
Kombinert påkrevd rolle
• pop(Bil) = pop(er privatbil for) U pop(er firmabil for)
Bil(kj.tegn)
er privatbil forPerson(F.nr.)
eier
er firmabil for
Firma(foretaks-
nr.)eier
T
En bil må være enten firmabil eller privateid (eller begge deler)
9. mars 2005 INF2120 Prosjekt i modellering 44
INF
2120
Mengdeskranker
• Mengdeskrankene (set-comparison constraints)begrenser mengden av forekomster i en ellerflere roller i forhold til forekomstene i andre roller
• Mengdeskranker finnes i følgende varianter:– Likhetsskranke (Equality constraint)
– Ulikhetsskranke (Exclusion constraint)
– Delmengdeskranke (Subset constraint)
9. mars 2005 INF2120 Prosjekt i modellering 45
INF
2120
Mengdelikhetsskranken
• pop(r1) = pop(r2) for alle tilstander
Person(F.nr.) =
r1
r2
9. mars 2005 INF2120 Prosjekt i modellering 46
INF
2120
Mengdelikhetsskranken, eksempel
Ansatt(ans.nr.)
Avdeling(avd.navn)
ans.avd. Vutbet.lønn
lønnstrekk
Penger(NOK) =
Likhetsskranken krever at oppdateringerskjer i sammensatte transaksjoner
9. mars 2005 INF2120 Prosjekt i modellering 47
INF
2120
Mengdeulikhetsskranken
Person
r1
r2
Mengdeulikhetsskranken kan kombineres med en kombinert påkrevd rolle for å definere en partisjon:
Person
r1
r2
T
pop(r1) pop(r2)=
9. mars 2005 INF2120 Prosjekt i modellering 48
INF
2120
Mengdeulikhetsskranken, eksempel
Ansatt(ans.nr.)
Avdeling(avd.navn)
ans.avd. Vmnd.lønn
timelønn
Penger(NOK)
9. mars 2005 INF2120 Prosjekt i modellering 49
INF
2120
Mengdeulikhetsskranke over en eller flere roller
Person
sager
sitter
Gren Person
sager
sitter
Gren
Person
sager
sitter
Gren Sag ikke av dengrenen du sitterpå!
9. mars 2005 INF2120 Prosjekt i modellering 50
INF
2120
Den generelle mengdeulikhetsskranken
A(a)
r1
r2
B1(b1)
B2(b2)
rnBn(bn)
…
Hvorfor har vi ikkenoe tilsvarende formengdelikhet?
1 k n 1 m n k m pop(rk) pop(rm)=
9. mars 2005 INF2120 Prosjekt i modellering 51
INF
2120
Delmengdeskranken
Person r1
r2
• Den kalles også “først – siden”
• Pilen peker mot “først”-rollen (r1)
pop(r1) pop(r2)
9. mars 2005 INF2120 Prosjekt i modellering 52
INF
2120
Delmengdeskranken, eksempel
Ansatt(ans.nr.)
Avdeling(avd.navn)
ans.avd. Vmottar mnd.lønn
har bonus
Penger(NOK)
9. mars 2005 INF2120 Prosjekt i modellering 53
INF
2120
Delmengdeskranke over en eller flere roller
Person
skytter død bjørn
skinnselgerbjørneskinn
Bjørn
Selg ikke skinnetfør bjørnen er skutt!
Person
skytter død bjørn
skinnselgerbjørneskinn
Bjørn
Person
skytter død bjørn
skinnselgerbjørneskinn
Bjørn
9. mars 2005 INF2120 Prosjekt i modellering 54
INF
2120
Underbegreper (Subtypes)
• Noen biler er lastebiler
Bil(Reg.nr.)
Vekt(kg)
Lastebil
for V
plan lasteplanV
veier reg_år registrertV År(årstall)
maxlast VfrakterAreal(m2)
9. mars 2005 INF2120 Prosjekt i modellering 55
INF
2120
Delmengdeskranke eller underbegrep?
Ansatt(ans.nr.)
lønn
selger bonus
Beløp(NOK)
Ansatt(ans.nr.)
lønn
bonus
Beløp(NOK)
Selger V
Er det å væreselger enpermanenttilstand?
9. mars 2005 INF2120 Prosjekt i modellering 56
INF
2120
Kinoeksemplet - del 1
Fore-stilling
Tids-punkt
Kino
for på
med på V
V
Filmviser vises påV
Forestilling Kino Tidspunkt Film
9. mars 2005 INF2120 Prosjekt i modellering 57
INF
2120
Kinoeksemplet - del 2
Benk
Kino
Radnr
med på
for med V
V
Kino-sete
Stolnr
med på
for med V
V
Kinosete Kino Radnr Stolnr
9. mars 2005 INF2120 Prosjekt i modellering 58
INF
2120
Kinoeksemplet - del 3
Billett
Fore-stilling
Kino-sete
med på
med til V
V
Beløpkoster påV
Billett Forestilling Kinosete Beløp
9. mars 2005 INF2120 Prosjekt i modellering 59
INF
2120
Ekvivalente stier (kinoeksemplet)
Fore-stilling
Kino-sete
for V
Film
Tids-punkt
Radnr.
Stolnr.
Beløp
på
for Vpå
med Vpå
for Vmed
Kino
Benk
visespå Vviser
med Vpå
for Vmed
med Vtil
med
V
til
Billett
på Vkoster
9. mars 2005 INF2120 Prosjekt i modellering 60
INF
2120
Sammenligning av det dataorienterte ogdet objektorienterte perspektivet
• I det dataorienterte perspektivet interesserer vioss for faktaopplysninger av statisk natur ominteresseområdet, samt skranker som forhindrerregistrering av åpenbart uriktige fakta
• I det objektorienterte perspektivet interesserer vioss for virkelige og tenkte objekter i interesse-området, og hvordan disse objektene gjennomsamarbeide kan gi en hensiktsmessig modell
Men har ikke disse to perspektivene svært lite felles?
9. mars 2005 INF2120 Prosjekt i modellering 61
INF
2120
Dataorientering vs. objektorientering I
• Både datasentrerte og objektorienterteinformasjonssystemer inneholder data
• Forskjellen er at i datasentrerte systemer er alle datasamlet i en sentral ressurs – databasen – mens iobjektorienterte systemer er dataene fordelt påobjektene ut fra det generelle prinsipp at det objektetsom har bruk for data selv tar vare på dem.Dataene gis «evig liv» ved å gjøre objektene«persistente»Dette kan realiseres på flere måter, f.eks. ved hjelpav en OO-database
9. mars 2005 INF2120 Prosjekt i modellering 62
INF
2120
• NIAM/ORM er i utgangspunktet (nesten) nøytraloverfor hvilket perspektiv som velgesPerspektivet kommer inn når de elementærefaktaene skal grupperes til en relasjonsdatabaseeller inn i objekter
• Mens grupperingsalgoritmen til relasjonsdatabaseer gitt, gir NIAM/ORM få argumenter for valget avhensiktsmessige objekterHer må vi gripe til andre betraktningsmåter
Dataorientering vs. objektorientering II
9. mars 2005 INF2120 Prosjekt i modellering 63
INF
2120
Andre relevante forskjeller
• I OO har vi ikke bare mengde, men også «bag» og «list»– krav om entydighetsskranke faller bort– forekomstene kan ordnes
• I OO kan strukturer som «set», «bag» og «list», samtgenerelle objekter, brukes som verdier– uendelig mange muligheter for hvordan data
struktureres• I OO er dataene innkapslet i objektene
– dataenes struktur er ukjent for omverdenen– de kan bare fås tak i gjennom spørremeldinger
• I OO har objekter sin egen, innebygde identifikator (OID)– begreper behøver ikke alltid ha en representasjon
9. mars 2005 INF2120 Prosjekt i modellering 64
INF
2120
Sterke sider ved ORM/NIAM
• ORM/NIAM har et mye sterkere skrankeapparat enn det UMLsklassediagrammer har
• UML klassediagrammer mangler (ordnet etter viktighet)– kombinert entydighet– delmengdeskranker– likhets- og ulikhetsskranker– kombinert total
• ORM/NIAM er en «bottom-up»-metode som tvinger frem at detaljeneblir riktige, men som ikke nødvendigvis gir bedre oversikt over dentotale datastrukturen enn det et klassediagram gjør
• ORM/NIAM er bedre enn UML til å analysere den statiske data-strukturen og er følgelig et bedre verktøy enn klassediagrammer
• ORM/NIAM er ikke konkurrent til noen andre diagramtyper i UML
Husk: I INF2120 er det UML som skal brukes!
top related