Mer$om$objektorientering$og$UML

Størrelse: px
Begynne med side:

Download "Mer$om$objektorientering$og$UML"

Transkript

1 INF1030:&25.&april&2019 Mer$om$objektorientering$og$UML Yngve&Lindsjørn IN1030& >&Systemutvikling6>objektorientert modellering 1

2 Gjennomgang&i&dagens&forelesning! Tabeller&(arrays)&vs.&objekter! Objektorientert design " Objektdesign&og&ansvarstilordning " Bruk&av&UML&! Fokus&på&klassediagrammer! Designmodeller! Designmønstre&( Design&Patterns )! Eksempler&på&diagrammer! Eksempel&på&kode&(pseudo&kode)&fra&sekvensdiagram IN1030& >&Systemutvikling6>objektorientert modellering 2

3 Tabell&(array)&6 Personer Fødselsnr Navn Adresse Født Per+Hansen Eikeveien 4,+1358+Stabekk Line+Nilsen Svanesvingen 2,+0987+Oslo Tore+Nordmann Ekornbakken+9,+0876+Oslo Siv++Svendsen Trollveien 5,+1400+Ski To+dimensjonal+tabell+med+personer+representert+som+rader+og+egenskapene+ (attributtene)+til+personene+representert+som+kolonner IN1030& >&Systemutvikling6>objektorientert modellering 3

4 Excel&regneark& personer&med&alder&som& funksjon Merk:&Alder&er&definert&som&en&funksjon&av& dagens&år & (minus)& året&til&personens&fødeselsdato.&år()&og&idag()&er&funksjoner& (metoder)&som&finnes&i&excel&fra&før.&år&(date)&returnerer&et& årstall,&mens&idag()&returnerer&dagens&dato. IN1030& >&Systemutvikling6>objektorientert modellering 4

5 Personer&som&objekter& definerer&class&person Person PersonID Navn Adresse Født Alder&() Navn&på&klassen Attributter&som& beskriver&objekt Funksjoner/metoder& (operations&i&uml) Class%Person%med%egenskaper%og%metoder IN1030& >&Systemutvikling6>objektorientert modellering 5

6 Class&Person&med&datatyper&og&Alder&som& funksjon/metode Person Navn&på&klassen Private&personID :int Private&navn:&string Private&adresse:&string Private&født:&date Attributter&som& beskriver&personer public Alder(date):&int {&//&returnerer&alder&fra&fødselsdato Alder&=&year(today())& year(født)n&&} Funksjoner/metoder Class%Person%med%egenskaper%og%funksjoner%(metoder) Merk:%Alder%kunne%også%vært%et%attributt%i%klassen%Person% men%her%er%alder%definert%som%en% funksjon%av%fødselsdato%(attributtet%født). year(date)%og%today()%er%ferdig%definerte%funksjoner.%en%funksjon%er%en%metode%som%returnerer%en% verdi%(for%eksempel%et%tall%(int),%eller%en%referanse%til%et%objekt%eller%til%en%liste%av%objekter)% IN1030& >&Systemutvikling6>objektorientert modellering 6

7 Assosiasjon&mellom&personer&og&kontoer&6 Tabell& (array)&6 Person&har&0&eller&flere&kontoer Fødselsnr Kontonr To.dimensjonal.tabell.med.Personens.ID.i.første.kolonne.og.kontonummer.i. andre.kolonne.. IN1030& >&Systemutvikling6>objektorientert modellering 7

8 Assosiasjon&mellom&objekter Person Konto PersonID:&int Navn:&string Adresse:&string Født:&date Alder&(date):&int 1 0..* Kontonr:&int HentKontonr ():&int En#person#har#0#eller#mange#kontoer IN1030& >&Systemutvikling6>objektorientert modellering 8

9 Klassediagram& Person&tar&kurs Mange&til&mange assosiasjon(relasjon):2en&person& kan&ta&mange&kurs&(0..*&betyr&fra&0&til&mange),&og&et& kurs&kan&ha&mange&personer&(fra&0&til&mange) IN1030& >&Systemutvikling6>objektorientert modellering 9

10 Klassediagram&6 Student&tar&kurs&6 Generalisering Alle&attributter&og&metoder&i&person&blir&arvet&i&Student IN1030& >&Systemutvikling6>objektorientert modellering 10

11 Klassediagram&6 Student&tar&kurs& med& foreleser(e) Alle&attributter&og&metoder&i&Person&blir&arvet&i&Student& og&foreleser IN1030& >&Systemutvikling6>objektorientert modellering 11

12 Klassediagram&6 Kurs&inngår&i&Emne Emne&er&for&eksempel&Inf1050&og&Kurs&er&for&eksempel&INF1050V2015 IN1030& >&Systemutvikling6>objektorientert modellering 12

13 Student&tar&kurs& med&obligatoriske&oppgaver Alle&kurs&har&minst&en&obligatorisk&oppgave.&Merk&at&her&er&oblig knyttet&til&kurs&og&ikke&emne&slik&at&oblig vil&kunne&endres&neste&gang& kurset&går. IN1030& >&Systemutvikling6>objektorientert modellering 13

14 Identifisere&klasser! Å&identifisere&klassene&er&ofte&den&vanskeligste&delen&av& objektorientert&design! Det&finnes&ingen& magisk&formel &for&å&identifisere klasser i&et&system.& Avhenger&av&kompetanse,&erfaring&og& domenekunnskap&(kunnskap&om&systemet&og& omgivelser)&til&utvikleren&eller&systemdesigneren! Dette&er&en&iterativ prosess.&umulig&å&få&det&riktig&første& gang IN1030& >&Systemutvikling6>objektorientert modellering 14

15 En&tilnærming&for&å&identifisere&klasser! Bruk&en&grammatisk&tilnærming&basert&på&en&naturlig& språkbeskrivelse&av&systemet& objekter&og&attributter& er&subjekter,&operasjoner&(metoder)&er&verb! Bruk&gjenkjennelige&ting&(entiteter)&i& applikasjonsdomenet& som&emne&og&kurs,&roller&som& Student&og&Foreleser! Bruk&en&scenario6basert analyse&og&identifiser& objektene,&attributtene&og&metodene&i&hver&scenario IN1030& >&Systemutvikling6>objektorientert modellering 15

16 Overføring&av&faglig&grunndata& fra&e6resept6arkitektur&versjon&7.2.1& Faglige&grunndata&til&bruk&i&e6resept& skal&leveres&av&legemiddelverket& gjennom&deres&fest&tjeneste.& Grunndata&levert&fra&FEST&skal&kunne& kombineres&med&annen&grunndata&i& mottakersystemene..&. FEST=&forskrivnings6 og&ekspedisjonsstøtte VRS=Vareregisteret HELFO=Helseøkonomiforvaltningen Informasjon&om&Legemidler&skal& baseres&på&informasjon&fra&athene&og& kombineres&med&informasjon&fra&vrs.& Informasjon&om&Legemidler&skal& omfatte&alle&legemidler&som&har&fått& utdelt&varenummer&i&vrs&og&finnes& tilgjengelig&i&apotek.&legemiddelverket& skal&levere&interaksjonsdata&i&fest.&.& Informasjon&om&handelsvarer&blir& hentet&fra&to&kilder,&vrs&skal&levere& alle&handelsvarer&som&er&relevant&for& multidosepakking&og&helfo&skal& levere&oversikt&over&pris&og&produkter& som&er&refusjonsberettiget&på& blåresept&(alle&handelsvarer).& IN1030& >&Systemutvikling6>objektorientert modellering 16

17 Spesifikasjon&av&grensesnitt/interface! Grensesnitt/Interface&bør&spesifiseres&slik&at&objektene& og&andre&komponenter&kan&designes&i&parallell.&! Ikke&design&representasjonen&av&data& kun& navn &og& metoder&(uten&innhold).&innholdet&defineres&i&objektene& som& implementerer& grensesnittet.&! Objekter&kan&ha&flere&grensesnitt&med&ulike& perspektiver&av&metodene&som&er&spesifisert.&! Klassediagrammer&blir&brukt&i&UML&for&spesifikasjon&av& grensesnitt. IN1030& >&Systemutvikling6>objektorientert modellering 17

18 Eksempel&(brukt&i&IN1010) Ulike&klasser&samme&grensesnitt&(Interface) IN1030& >&Systemutvikling6>objektorientert modellering 18

19 Finne&ansvarsområder&til&klasser! Hvert funksjonelle krav må tilordnes en eller flere klasser! Hvis en klasse har for mange ansvarsområder, vurder å splitte den i ulike klasser.! Hvis en klasse ikke har noe ansvar, så er den antageligvis overflødig! Når et ansvar ikke kan tilordnes til en eksisterende klasse, opprett en ny klasse.! For å finne ansvarsområder! Analyser use casene! Se etter beskrivelse av handlinger (verb og substantiv) IN1030& >&Systemutvikling6>objektorientert modellering 19

20 Objektdesign:&Ansvarstilordning! Ansvar&er&knyttet&til&objektet&i&form&av&dets&oppførsel&! Handling: Opprette&objekt,&beregne,&initiere&handlinger&i& andre&objekter,&kontrollere&og&koordinere&handlinger&i&andre& objekter.! Kunnskap: Vite&om&private&data,&relaterte&objekter,&ting&som& det&kan&utlede&eller&beregne! Ansvar&er&ikke&det&samme&som&metoder,&men&metoder&implementeres& for&å&oppfylle&ansvaret! Kategorier&av&ansvar:! Sette (set) og hente (get) verdier av attributter! Opprette og initialisere nye instanser (objekter)! Hente fra og lagre til fil (ofte database)! Slette instanser! Legge til og slette linker for assosiasjoner (relasjoner)! Kopiere,&konvertere og endre! Beregne numeriske resultater! Navigere og søke! IN1030& >&Systemutvikling6>objektorientert modellering 20

21 Kjennetegn&på& god &design! En&god&utforming&gjør&den&jobben&den&er&ment&å&gjøre! En&god&utforming&er&enkel&og&elegant Eleganse&innebærer&å&finne&akkurat&riktig& abstraksjonsnivå! En&god&utforming&er&gjenbrukbar,&utvidbar&og&enkel&å& forstå! Et&godt&objekt&har&et&lite&og&veldefinert&ansvarsområde! Et&godt&objekt&skjuler&implementasjonsdetaljer fra&andre& objekter&&! Grady Booch IN1030& >&Systemutvikling6>objektorientert modellering 21

22 Modularisering! Høy&kohesjon! Et&objekt&skal&bare&ha&ansvar&for&relaterte&ting! Lav&kobling! Et&objekt&skal&samarbeide&med&et&begrenset antall andre&objekter IN1030& >&Systemutvikling6>objektorientert modellering 22

23 Høy&kohesjon! Kohesjon&er&et&mål&på&hva&slags&ansvar&et& objekt&har&og&hvor&fokusert&ansvaret&er! Et&objekt&som&har&moderat&ansvar&og&utfører&et& begrenset&antall&oppgaver&innenfor&ett& funksjonelt&område&har&høy&kohesjon! Objekter&med&lav&kohesjon&har&ansvar&for& mange&oppgaver&innen&ulike&funksjonelle& områder IN1030& >&Systemutvikling6>objektorientert modellering 23

24 Lav&kobling! Kobling&er&et&mål&på&hvor&sterkt&et&objekt&er& knyttet&til&andre&objekter! Et&objekt&med&sterk&kobling&er&avhengig&av& mange&andre&objekter,&noe&som&kan&gjøre& endring&vanskelig IN1030& >&Systemutvikling6>objektorientert modellering 24

25 Designmodellen! Lag&design6klassediagram parallelt&med& sekvensdiagrammer! Lag&noen&sekvensdiagrammer,&oppdater& klassediagrammet,&utvid&sekvensdiagrammet& etc.! Designklassene&er&systemklasser,&ikke&bare& konseptuelle&klasser&som&i&domenemodellen IN1030& >&Systemutvikling6>objektorientert modellering 25

26 Analyse6 vs.&designmodell!analysemodellen utelater mange klasser som er nødvendige i et komplett system " Er typisk en domenemodell " Kan inneholde mindre enn halvparten av klassene i systemet. " Uavhengig av spesielle! brukergrensesnittsklasser! arkitekturklasser (f.eks. design&patterns&klasser)!den komplette designmodellen inneholder " Domenemodellen " Brukergrensesnittsklasser " Arkitekturklasser (f.eks.&slik at&klasser kan kommunisere) " Utility klasser (f.eks. håndtering av mengder og strenger) IN1030& >&Systemutvikling6>objektorientert modellering 26

27 Designmønstre& Design&patterns! Et&designmønster&er&en&måte&å&gjenbruke&abstrakt& kunnskap&om&et&problem&og&løsningen&på&problemet! Et&mønster&er&en&beskrivelse&av&et&problem&og& essensen&av&løsningen! Bør&være&tilstrekkelig&abstrakt&til&å&kunne&bli&gjenbrukt&i& ulike&situasjoner! I&beskrivelser&av&mønstre&brukes&som&regel& objektorienterte&teknikker&som&arv&og&polymorfisme ( Virtual methods ) IN1030& >&Systemutvikling6>objektorientert modellering 27

28 Mer&om&Mønstre&( patterns )! Mønstre&er&navngitte&retningslinjer&for&hvordan&ansvar&skal&fordeles&i& ulike&situasjoner.! Mønstre&brukes&bl.a.&i&prosessen&med&å&forfine&sekvensdiagrammer! GRASP& Patterns of General&Principles in&assigning Responsibilites &=&&Mønster&for&problem/løsning! Sentrale&prinsipper&er&! Ekspertprinsippet:& " La&det&objektet&som&har&kunnskapen&(dataene)&også&behandle&den! Kontrollobjektprinsippet:&! To&typer&kontrollere: " Fasadekontroller:&En&kontrollklasse&har&ansvar&for&alt&(brukes&i&et&lite&system) " Use&case&kontroller:&Styrer&ett&use&case&(brukes&i&større&systemer.&Ett& kontrollobjekt&for&hvert&use&case).&&! Skaperprinsippet:&! Legg&ansvar&for&å&opprette&et&nytt&objekt&i&klassen&som&må&vite&om&det&nye& objektet IN1030& >&Systemutvikling6>objektorientert modellering 28

29 Ekspertprinsippet:&& (Information Expert)! Problem:&Hva&er&det&generelle&prinsipp&for&å&tilordne&ansvar&til& objekter?! Løsning:&La&det&objektet&som&har&kunnskapen&(dataene)&også& behandle&den! Hvordan:&! Begynn&med&å&formulere&ansvarsområdet:! Eks:&Student6kurs: Hvilket(objekt(har(ansvar(for(å(vite om(hvilke(emner(som(kreves( for(å(ta(et(gitt(emne? Hvilket(objekt(har(ansvar(for(å(gi(en(liste(over(alle(studentene( på(et(kurs? IN1030& >&Systemutvikling6>objektorientert modellering 29

30 Skaperprinsippet&(Creator)! Problem:&Hvem&er&ansvarlig&for&å&opprette&nye& objekter?! Løsning:&La&det&objektet&som&må&vite&om&de& nye&objektene,&lage&dem! Hvordan:&Gi&klasse&B&ansvaret&for&å&opprette&et& objekt&av&klasse&a&dersom&ett&av&følgende&er& sant:! B&inneholder&A6objekter! B&registrerer&A6objekter! B&bruker&A6objekter! B&har&data&som&sendes&til&A6objektet&når&det&opprettes IN1030& >&Systemutvikling6>objektorientert modellering 30

31 Kontrollobjektprinsippet&(Controller)! Hvilken&klasse&skal&behandle&en& hendelse/melding?! Kontrolleren&ligger&gjerne&på&klienten! Kontrolleren&har&bare&metoder,&få&eller&ingen& attributter! Kontrolleren&gjør&ikke&jobben&selv,&men&mottar&og& fordeler&oppgaver& er&en&slags&administrator! Delegerer&oppgaver&og&styrer&use&case! Er&et&bindeledd&mellom&brukergrensesnittet&og& applikasjonslaget&(modellen) IN1030& >&Systemutvikling6>objektorientert modellering 31

32 UML&6 diagrammer Kilde:' IN1030& >&Systemutvikling6>objektorientert modellering 32

33 Use&Case& Pante&flasker <<extend>> Få+kvittering Kunde (f rom+use+case+v iew) Pante+flasker (from+use+case+view) <<extend>> Bli+med+i+Røde+kors+lotteri! Use&Case&diagrammer&brukes&til&å&beskrive& interaksjonen&mellom&brukere&og&systemer.. IN1030& >&Systemutvikling6>objektorientert modellering 33

34 Use&Case& Pante&flasker <<extend>> Få+kvittering Kunde (f rom+use+case+v iew) Pante+flasker (from+use+case+view) <<extend>> Bli+med+i+Røde+kors+lotteri IN1030& >&Systemutvikling6>objektorientert modellering 34

35 Tekstlig&beskrivelse&for& Pante&flasker & Navn:&Pante&flasker Aktør:&Kunde Prebetingelse: Panteautomat&er&klar&til&å&ta&imot&pant& Postbetingelse:&Kunde&får&ut&kvittering&eller&lodd&i&røde&kors&trekning& Hovedflyt:& 1. Kunde&setter&inn&en&flaske&(eller&et&panteobjekt)& 2. Panteautomaten&skanner&koden&til&flasken&(panteobjektet)&som&ble&puttet&inn& 3. Objektet&er&godkjent,&pantebeløpet&blir&lagt&til&det&totale&beløpet& 4. Kunde&trykker&på&kvittering& 5. Panteautomat&skriver&ut&kvittering Alternative&flyt& 3.1&Objekt&ikke&godkjent& 3.2&Start&fra&1& 4.1.A1&Kunde&trykker&på& Røde&kors&lotteri & 4.2.A1&Kunde&skriver&ut&Røde&kors&lodd& 4.1.A2&&Kunde&setter&inn&ny&flaske&(panteobjekt) 4.2.A2&Start&fra&1 IN1030& >&Systemutvikling6>objektorientert modellering 35

36 Tekstlig&beskrivelse&for& Pante&flasker & Navn:&Pante&flasker Aktør:&Kunde Prebetingelse: Panteautomat&er&klar&til&å&ta&imot&pant& Postbetingelse:&Kunde&får&ut&kvittering&eller&lodd&i&røde&kors&trekning& Hovedflyt:& 1. Kunde&setter&inn&en&flaske&(eller&et&panteobjekt)& 2. Panteautomaten&skanner&koden&til&flasken&(panteobjektet)&som&ble&puttet&inn& 3. Objektet&er&godkjent,&pantebeløpet&blir&lagt&til&det&totale&beløpet& 4. Kunde&trykker&på&kvittering& 5. Panteautomat&skriver&ut&kvittering Alternative&flyt& 3.1&Objekt&ikke&godkjent& 3.2&Start&fra&1& 4.1.A1&Kunde&trykker&på& Røde&kors&lotteri & 4.2.A1&Kunde&skriver&ut&Røde&kors&lodd& 4.1.A2&&Kunde&setter&inn&ny&flaske&(panteobjekt) 4.2.A2&Start&fra&1 IN1030& >&Systemutvikling6>objektorientert modellering 36

37 Tekstlig&beskrivelse&for& Pante&flasker & Navn:&Pante&flasker Aktør:&Kunde Prebetingelse: Panteautomat&er&klar&til&å&ta&imot&pant& Postbetingelse:&Kunde&får&ut&kvittering&eller&lodd&i&røde&kors&trekning& Hovedflyt:& 1. Kunde&setter&inn&en&flaske&(eller&et&panteobjekt)& 2. Panteautomaten&skanner&koden&til&flasken&(panteobjektet)&som&ble&puttet&inn& 3. Objektet&er&godkjent,&pantebeløpet&blir&lagt&til&det&totale&beløpet& 4. Kunde&trykker&på&kvittering& 5. Panteautomat&skriver&ut&kvittering Alternative&flyt& 3.1&Objekt&ikke&godkjent& 3.2&Start&fra&1& 4.1.A1&Kunde&trykker&på& Røde&kors&lotteri & 4.2.A1&Kunde&skriver&ut&Røde&kors&lodd& 4.1.A2&&Kunde&setter&inn&ny&flaske&(panteobjekt) 4.2.A2&Start&fra&1 IN1030& >&Systemutvikling6>objektorientert modellering 37

38 Klassediagram& pante&flasker IN1030& >&Systemutvikling6>objektorientert modellering 38

39 Klassediagram& pante&flasker IN1030& >&Systemutvikling6>objektorientert modellering 39

40 Sekvensdiagram& pante&flasker!:!kunde PS!:! Pantesystem PA!:! PanteAutomat Loop PantFlaske() [for&hver&flaske] ScannFlaske() Alt Melding!(ta!ut!flaske) [ikke&godkjent] pantebeløp AdderBeløp(pantebeløp) [godkjent] Alt [trykket&kvittering create K!:!Kvittering [trykket&lodd] SkrivUtKvittering(K) create L!:! RødekorsLodd Kommentar:&Kunne&sendt& med&&info&til&create Kvittering&og&Lodd&(beløp&og& loddnr,&+&annen&info) SkrivUtLodd(L) IN1030& >&Systemutvikling6>objektorientert modellering 40

41 Aktivitetsdiagram& pante&flasker Godkjent Sett&inn&flaske (panteobjekt) Nei Ikke godkjent,&ta&ut Ja Ja Legg&til pantebeløp Fortsette Nei Trykket kvittering Trykket lodd Skriv ut kvittering Kvittering eller lodd Skriv ut lodd IN1030& >&Systemutvikling6>objektorientert modellering 41

42 Sekvensdiagram&6 Reserver&bil IN1030& >&Systemutvikling6>objektorientert modellering 42

43 Pseudo6kode& Reserver&bil class Reservasjonssystem { // Disse objektene kjenner vi til fra før. Bilregister br; Kunderegister kr; Kundebehandler kb; //kb er her et objekt av klassen Kundebehandler ikke med i sekvensdiagrammet ArrayList <Bil> ledigebiler; Bil bil; String kundenr; Kunde k; Kontrakt kt; // metode som legger til en kontrakt i en liste AddKontrakt(kt) { } // kundebehandler velger tidsintervall (hentedato og returdato). reserverbil (hdato, rdato) { // Systemet returnerer en liste over tilgjengelige biler innenfor de spesifiserte datoene. ledigebiler = bilregister.finnledigebiler(hentedato, returdato); // Kundebehandler velger én av bilene. bil = kb.velgbil(ledigebiler); IN1030& >&Systemutvikling6>objektorientert modellering 43

44 Pseudo6kode& Reserver&bil&forts. } } // Systemet ber om kundenr... kundenr = kb.oppgikundenummer(); if (kundenr) { // og finner kunden i systemet. k = kr.finnkunde(kundenummer); // Alternativ flyt: Kunden finnes ikke. } else { // Systemet oppretter ny kunde og fortsetter til neste steg kundeinformasjon = kr.skrivkundeinformasjon(); k = new Kunde(); k.setkundeinfo(kundeinfo) kr.registrerkunde(k); } // Vi lager en ny kontrakt. // Bil blir reservert i metoden nykontrakt. kt = new Kontrakt(); kt.setkontrakt(k,bil,hdato,rdato); AddKontrakt(kt); // Systemet bekrefter at bilen er reservert for den gitte perioden. kb.visbekreftelse(kt); IN1030& >&Systemutvikling6>objektorientert modellering 44

IN2000:&Kravhåndtering,&modellering,&design

IN2000:&Kravhåndtering,&modellering,&design IN2000:&Kravhåndtering,&modellering,&design 31&januar&2019 Yngve&Lindsjørn ynglin@ifi.uio.no IN2001&'>&Kravhåndtering og modellering 1 Gode&beskrivelser&av&krav er&viktig&for kontrakt&oppdragsgiver& leverandør

Detaljer

Mer om objektorientering og UML

Mer om objektorientering og UML INF1055: SKK Modul B 19. april 2017 Mer om objektorientering og UML Yngve Lindsjørn ynglin@ifi.uio.no INF1050 > Systemutvikling->objektorientert modellering 1 Temaer i dagens forelesning Ø Arrays vs. objekter

Detaljer

Mer om objektorientering og UML

Mer om objektorientering og UML INF1050: Systemutvikling 21. februar 2017 Mer om objektorientering og UML Universitetslektor Yngve Lindsjørn INF1050 > Systemutvikling->objektorientert modellering 1 Temaer i dagens forelesning Ø Objektorientert

Detaljer

IN2001: Kravhåndtering, modellering, design

IN2001: Kravhåndtering, modellering, design IN2001: Kravhåndtering, modellering, design 30 januar 2018 Yngve Lindsjørn ynglin@ifi.uio.no IN2001 -> Kravhåndtering og modellering 1 Gode beskrivelser av krav er viktig for kontrakt oppdragsgiver leverandør

Detaljer

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller UML- Use case drevet analyse og design Bente Anda 23.09.2004 23.09.04 INF320 I dag Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller 23.09.04 INF320

Detaljer

UKE 11 UML modellering og use case. Gruppetime INF1055

UKE 11 UML modellering og use case. Gruppetime INF1055 UKE 11 UML modellering og use case Gruppetime INF1055 Hva skal vi i dag? Analyse og design - kapittel 5 og 7 UML modellering Ukesoppgaver 3: Modellering av krav UML UML Kompetansemål Modellering av krav

Detaljer

Use case drevet design med UML

Use case drevet design med UML Use case drevet design med UML Bente Anda 26.09.2005 23.09.04 INF3120 1 I dag Domenemodeller System sekvensdiagrammer Operasjonskontrakter GRASP patterns Designmodeller med sekvens- og klassediagram 26.09.05

Detaljer

UML-Unified Modeling Language

UML-Unified Modeling Language UML-Unified Modeling Language Use case realisering Designmodellering 21.01.2004 Kirsten Ribu Use Case diagram Klassediagram Oppførselsdiagrammer: Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram

Detaljer

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering Use case realisering Designmodellering 31.01.2005 Kirsten Ribu UML-Unified Modeling Language Use Case diagram Klassediagram Oppførselsdiagrammer Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram

Detaljer

Use case drevet design med UML. I dag

Use case drevet design med UML. I dag Use case drevet design med UML Bente Anda 14.09.2006 I dag Oppgaven fra forrige forelesning System sekvensdiagrammer Operasjonskontrakter GRASP patterns Designmodeller med sekvens- og klassediagram Bente

Detaljer

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Fra krav til objekter. INF1050: Gjennomgang, uke 05 Fra krav til objekter INF1050: Gjennomgang, uke 05 Kompetansemål Systemmodellering og systemperspektiv Utvikle abstrakte modeller av et system Ulike modeller representerer ulike perspektiver av systemet

Detaljer

Objektorientering og UML. INF1050: Gjennomgang, uke 06

Objektorientering og UML. INF1050: Gjennomgang, uke 06 Objektorientering og UML INF1050: Gjennomgang, uke 06 Kompetansemål Objektorientert design Objektdesign og ansvarstilordning Bruk av UML Fokus på klassediagrammer Designmodeller Designmønstre ( design

Detaljer

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski UKE 13 Mer UML modellering Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Objektorientert design - kapittel 5 og 7 UML modellering Aktivitetsdiagrammer Klassediagram Ukesoppgaver

Detaljer

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Klassediagram Aktivitetsdiagram Tilstandsdiagram Sekvensdiagram 1 Ta utgangspunkt i følgende klasser:

Detaljer

Spesifikasjon av Lag emne

Spesifikasjon av Lag emne Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu UML 1 Use case drevet analyse og design 20.01.2004 Kirsten Ribu 1 I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 2 Domenemodell visualisering

Detaljer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use

Detaljer

IN& &april&2019. Modellering*av*krav. Yngve&Lindsjørn. IN1030&'>Systemutvikling'>&Modellering&av&krav 1

IN& &april&2019. Modellering*av*krav. Yngve&Lindsjørn. IN1030&'>Systemutvikling'>&Modellering&av&krav 1 IN&1030 04.&april&2019 Modellering*av*krav Yngve&Lindsjørn ynglin@ifi.uio.no IN1030&'>Systemutvikling'>&Modellering&av&krav 1 Temaer i$dagens$forelesning Modellering&av&krav UML&diagrammer Use$Case$(Bruksmønster)

Detaljer

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser? UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering

Detaljer

Use Case-modellering. INF1050: Gjennomgang, uke 04

Use Case-modellering. INF1050: Gjennomgang, uke 04 Use Case-modellering INF1050: Gjennomgang, uke 04 Kompetansemål Modellering av krav Kunne modellere ulike typer krav UML-diagrammer Innføring i grunnleggende UML-modellering Bruksmønster (use case) Sekvensdiagram

Detaljer

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING INF1050 V16 HELGA NYRUD & KRISTIN BRÆNDEN TEMAER SÅ LANGT I KURSET Forelesning 1: Systemutvikling og systemutviklingsprosesser Forelesning 2: Prosessmodeller

Detaljer

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Modellering av krav. INF1050: Systemutvikling 11. februar 2015. Universitetslektor Yngve Lindsjørn

Modellering av krav. INF1050: Systemutvikling 11. februar 2015. Universitetslektor Yngve Lindsjørn INF1050: Systemutvikling 11. februar 2015 Modellering av krav Universitetslektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering

Detaljer

Obligatorisk oppgave 5: Modellering av krav

Obligatorisk oppgave 5: Modellering av krav IN1030 - Systemer, krav og konsekvenser Obligatorisk oppgave 5: Modellering av krav Nøkkelord: UML, klassediagram, sekvensdiagram, tekstlig beskrivelse, prosjektplanlegging, risikoanalyse, aktivitetsdiagram.

Detaljer

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn INF1050: Systemutvikling 07. februar 2017 Modellering av krav Førstelektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering av

Detaljer

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte Universitetet i Oslo Institutt for informatikk Eskild Busch UML hefte 6. desember 2000 Innhold Dette heftet tar for seg deler av UML som er sentralt i kurset IN29. Use case-, sekvens-, tilstand- og klassediagrammer,

Detaljer

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0> Gruppenavn Prosjektnavn Beskrivelse av design For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning

Detaljer

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen Hensikten med denne delen av kurset Objektorientert systemutvikling Rational Unified Process (RUP) Gurholt og Hasle kap. 6 UML Distilled kap. 2 Å lære modellerings- og designprinsipper og øve opp teknikker

Detaljer

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04 Mer om UML God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04 1 I dag Litt repetisjon GRASP mønstre og OO design Prosjektoppgaven:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 2. juni 2014 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 4 sider Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? 1/15/2004 1 Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kapittel 8 i Gurholt og Hasle Kirsten

Detaljer

Kravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009

Kravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009 Kravspesifikasjon med UML use case modellering Erik Arisholm 25.02.2009 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet

Detaljer

Fra krav til objektdesign

Fra krav til objektdesign Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Gruppenavn. Prosjektnavn Kravdokument For Navn på systemet. Versjon <1.0>

Gruppenavn. Prosjektnavn Kravdokument For Navn på systemet. Versjon <1.0> Gruppenavn Prosjektnavn Kravdokument For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning 4 1.1

Detaljer

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kirsten Ribu beskriver kravene til systemet,

Detaljer

1 Kodegenerering fra Tau Suiten

1 Kodegenerering fra Tau Suiten Kodegenerering fra Tau Suiten For å generere Javakode eller en annen form for programmeringskode ut i fra Tau suiten, er det visse ting som må være utført.. En UML modell må eksistere og være korrekt.

Detaljer

Objektorientert design av kode. Refaktorering.

Objektorientert design av kode. Refaktorering. Objektorientert design av kode. Refaktorering. DEL 2 INF1010-forelesning 9. mars Ragnhild Kobro Runde Kjennetegn på god design (fra INF1050) En god utforming gjør den jobben den er ment å gjøre. En god

Detaljer

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon Kravspesifikasjon med UML use case modellering Erik Arisholm 01.03.2010 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet

Detaljer

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

GJENNOMGANG UKESOPPGAVER 7 REPETISJON GJENNOMGANG UKESOPPGAVER 7 REPETISJON INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Oppgaver hentet fra tidligere eksamensoppgaver om temaene vi har gått gjennom til nå DAGENS PLAN Gjennomgang av oppgaver Repetisjon

Detaljer

INF1000: Forelesning 7

INF1000: Forelesning 7 INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en

Detaljer

Kravspesifikasjon med. Erik Arisholm

Kravspesifikasjon med. Erik Arisholm Kravspesifikasjon med UML use case modellering Erik Arisholm 01.03.2010 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet

Detaljer

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt. Forside Eksamen i IN1030 for Våren 2018. Ingen hjelpemidler tillatt. I dette oppgavesettet har du mulighet til å svare med digital håndtegning (oppgave 1, 4 og 5). Du bruker skisseark du får utdelt. Det

Detaljer

Objektorientert design av kode. Refaktorering.

Objektorientert design av kode. Refaktorering. Objektorientert design av kode. Refaktorering. DEL 1 INF1010-forelesning 2. mars Ragnhild Kobro Runde Læringsmål Kjenne til og kunne bruke viktige prinsipper for god kodedesign. Kunne finne alternative

Detaljer

Oppgave 1: Multiple choice (20 %)

Oppgave 1: Multiple choice (20 %) Oppgave 1: Multiple choice (20 %) For alle oppgavene gjelder at det bare er ett riktig svar. No Spørsmål Svar A Svar B Svar C Svar D 1 Kanban er et eksempel på: Prosess Software prosess Prosess modell

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

IN1010 våren januar. Objektorientering i Java

IN1010 våren januar. Objektorientering i Java IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

INF1000 Prøveeksamen Oppgave 7 og 9 INF1000 Prøveeksamen Oppgave 7 og 9 Høst 2015 Siri Moe Jensen 7a) Skriv en klasse Gave med to variabler som forteller hva som er i gaven, og hvor mye den har kostet. Klassen skal ha en konstruktør med

Detaljer

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert Kravspesifikasjon med UML use case modellering Erik Arisholm 25.02.2009 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet

Detaljer

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

Produktrapport Gruppe 9

Produktrapport Gruppe 9 Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette

Detaljer

UML klassediagrammer

UML klassediagrammer UML klassediagrammer Erik Arisholm INF1050-klasser-1 INF1050-klasser-2 INF1050-klasser-3 Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater

Detaljer

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet TGA Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"

Detaljer

OPPGAVE 5b og 8b Java Kode

OPPGAVE 5b og 8b Java Kode OPPGAVE 5b og 8b Java Kode public class Kant boolean behandlereturavbil() BehandleReturAvBil behandler = new BehandleReturAvBil(this); String regnr; int kmstand, tanknivaa; boolean erskadet; // 1: Få verdiene

Detaljer

Klasser, objekter, pekere og UML. INF1000 - gruppe 13

Klasser, objekter, pekere og UML. INF1000 - gruppe 13 Klasser, objekter, pekere og UML INF1000 - gruppe 13 Klasse Beskriver ofte ting fra den virkelige verden Veldig ofte et substantiv (Person, Bok, Bil osv.) class Person { String navn; int alder; } class

Detaljer

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser 1 Ulike typer prosessmodeller Systemutvikling Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2004 De røde er viktige i kurset: Evolusjonær (prototyping) Inkrementell (RUP) XP fossefall

Detaljer

Løsningsforslag til Case. (Analysen)

Løsningsforslag til Case. (Analysen) Løsningsforslag til Case (Analysen) Dette er en skisse til løsning av Case et med bussinformasjonssystemet. Jeg kaller det en skisse fordi det på den ene siden ikke er noe fasitsvar og fordi løsningen

Detaljer

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5 1 Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5 FRA LEVERANSE 1 (GRUPPE 2)...5 TILLEGG I FORUTSETNINGER... 5 REVIDERT UTGAVE AV SPESIFIKASJON FRA

Detaljer

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE Datamodeller og andre UML diagrammer kan selvsagt tegnes for hånd, men vi kan også bruke alt fra enkle tegneprogrammer til komplette utviklingsmiljøer.

Detaljer

o UML klassediagrammer

o UML klassediagrammer UML klassediagrammer Erik Arisholm INF050-klasser- INF050-klasser-2 Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment

Detaljer

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

Design Patterns - mønstre

Design Patterns - mønstre Design Patterns - mønstre Om mønstre i design Kirsten Ribu 28.02.2005 1 I dag Om estimeringseksperimentet Mønstre Patterns 2 Estimeringsksperimentet 22 deltakere 11 fikk oppgitt 50 timer 11 fikk oppgitt

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens

Detaljer

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson PROSJEKTGRUPPE 1 MGT SOFTWARE LEVERANSE 4 NY FUNKSJONALITET (ENDELIG) Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson Dato:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 31. Mai, 2011 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 6 sider Vedlegg:

Detaljer

Fra krav til modellering av objekter

Fra krav til modellering av objekter INF1050: Systemutvikling 14. februar 2017 Fra krav til modellering av objekter Førstelektor Yngve Lindsjørn INF1050 -> Systemutvikling -> Fra krav til modellering av objekter 1 Temaer i dagens forelesning

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu Systemutvikling Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2004 1 Ulike typer prosessmodeller De røde er viktige i kurset: Evolusjonær (prototyping) Inkrementell (RUP) XP fossefall

Detaljer

Tom Røise 26.02.2007. IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar 2007. Klassediagrammet. Klasse

Tom Røise 26.02.2007. IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar 2007. Klassediagrammet. Klasse IMT2243 Systemutvikling 26. februar 2007 Tema : Domenemodellering og Kravspeken - Repetisjon konseptuelle klassediagram - Eksempler - konseptuelle klassediagram (IHID løsningen og OL-Veiviseren) - Maler

Detaljer

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML) Innhold Unified Modelling Language UML INF1000 Høst 2015 Uke 8: Mer objektorientert programmering Siri Moe Jensen En ny type for-løkke Organisering av mengder av objekter HashMap Valg av representasjon

Detaljer

EKSAMEN. Objektorientert programmering

EKSAMEN. Objektorientert programmering EKSAMEN Emnekode: ITF 10609 Dato: 13.mai 2009 Emne: Objektorientert programmering Eksamenstid: kl 09.00 til kl 12.00 Hjelpemidler: 2 A4-ark med valgfritt innhold på begge sider. Faglærere: Tom Heine Nätt

Detaljer

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering g av ansvar i en trelagsarkitektur

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering g av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF1050 Eksamensdag: 0. mai, 2011 Tid for eksamen: 00:00 00:00 Oppgavesettet er på 6 sider Vedlegg:

Detaljer

Eksamen INF

Eksamen INF Eksamen INF5120 06.06.2005 Et løsningsforslag Oppgave 1 a) Business Model Oppgaven spør om en business model for samhandlingen mellom Buyer og Seller, og det er da viktig å ikke modellere alt det andre!!!

Detaljer

Design Patterns - mønstre. Kirsten Ribu

Design Patterns - mønstre. Kirsten Ribu Design Patterns - mønstre Kirsten Ribu 04.02.2004 1 I dag Om estimeringseksperimentet Mer om use case estimering, fortsetter fra i går Verktøy Visual Paradigm www.visual-paradigm.com Mønstre Patterns Mari

Detaljer

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling

Detaljer

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner Etter uke 9 skal du Introduksjon til objektorientert programmering INF1001 Høst 2016 Uke 9 Kunne designe og implementere en programstruktur med flere klasser Kunne etablere og manipulere objekter i (sammensatte)

Detaljer

Forside Eksamen INF1055 V17

Forside Eksamen INF1055 V17 Forside Eksamen INF1055 V17 Eksamensdato: 12. juni 2017 Eksamenstid 15:30-19:30 Hjelpemidler: Ingen Les denne forsiden nøye Oppgaven består av seks deler. Del 1 Modul A - Undersøkelser av bruk 2 diskusjonsspørsmål

Detaljer

Krav analyse og objektorientert

Krav analyse og objektorientert Krav analyse og objektorientert analyse Bente Anda 22.09.2005 1 Overblikk 22/9 + 26/9 Kravanalyse med use case og system sekvens diagrammer Objekt-orientert analyse med domene modell Objekt-orientert design

Detaljer

INF1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort

Detaljer

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5. 2 Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein 5. april 2017 Innhold 1 Klassediagram 2 Sekvensdiagram 2.1 Oppgave 2a 2.2 Oppgave

Detaljer

1 Introduksjon til designmodellen - del B 2

1 Introduksjon til designmodellen - del B 2 Innhold Introduksjon til designmodellen - del B 2 2 UseCase 3 2. Usecasediagram........................... 3 2.2 Aktørbeskrivelser.......................... 4 2.3 Hendelsesforløp og sekvensdiagram for

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 10. juni 2009 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram

Detaljer

Hensikten med denne delen av kurset. Objektorientering hva er det? Objektets egenskaper. Best practises ved programvareutvikling

Hensikten med denne delen av kurset. Objektorientering hva er det? Objektets egenskaper. Best practises ved programvareutvikling Objektorientert systemutvikling, litt UML og Rational Unified Process (RUP) UML Distilled kap. 2 Hensikten med denne delen av kurset Å lære og øve på modelleringsteknikker Å lære om gode designprinsipper

Detaljer

Beskjed fra Skagestein

Beskjed fra Skagestein Beskjed fra Skagestein "I forbindelse med prosjektoppgavens delinnlevering 4 vil gruppelærerne sette opp en PHP-orakeltjeneste torsdag 7. april kl 1415-1800 på termstua i Niels Henrik Abels hus." INF1050-klasser-1

Detaljer

INF5120 - Oblig 2. Hour Registration System (HRS)

INF5120 - Oblig 2. Hour Registration System (HRS) INF5120 - Oblig 2 Hour Registration System (HRS) 1 av 40 1 Innholdsfortegnelse 1 Innholdsfortegnelse... 2 2 Innholdsfortegnelse for figurer... 3 3 Hour Registration System (HRS)... 4 3.1 Introduksjon...

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN

INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING AGENDA Bakgrunn Hva er objektorientert programmering? Pseudokode Datatyper Attributter Metoder Returverdier Lister Relasjoner Spørsmål BAKGRUNN

Detaljer

1. Modellering av objektorienterte systemer

1. Modellering av objektorienterte systemer Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Modellering av objektorienterte systemer Tore Berg Hansen Lærestoffet er utviklet for faget IFUD Objektorientert systemutvikling 1. Modellering

Detaljer

Hva gjøres i analysen? 2. oktober 2001, Tore Berg Hansen, TISIP

Hva gjøres i analysen? 2. oktober 2001, Tore Berg Hansen, TISIP Hva gjøres i analysen? 2. oktober 2001, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8

Detaljer

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle Del - leveranse Del 2 Inf 2120 fredag 29.4 Gruppe 1 Knut Johannes Dahle AV Catrine Myhre (catrinem@ifi.uio.no) Mehdi Zare (mehdiz@ifi.uio.no) Odd Christer Brovig (oddcb@ifi.uio.no) Christer Aas (chrisva@ifi.uio.no)

Detaljer

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013

Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Sensur-veiledning INF1000 h 2013 (fasit) am - 6. des. 2013 Oppgave 1) Her var det en manglende høyreparentes i 1 b) slik at de som svarer virker ikke eller lignende istedenfor det riktige svaret, skal

Detaljer

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00 Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene

Detaljer

Eksamen INF1050: Gjennomgang, uke 15

Eksamen INF1050: Gjennomgang, uke 15 Eksamen 2012 INF1050: Gjennomgang, uke 15 Overblikk Varierte spørsmål fra pensum Modellering Use case Tekstlig beskrivelse Sekvensdiagram Klassediagram Krav Empiriske metoder Smidig metodikk Varierte spørsmål

Detaljer