Design Patterns - mønstre

Størrelse: px
Begynne med side:

Download "Design Patterns - mønstre"

Transkript

1 Design Patterns - mønstre Om mønstre i design Kirsten Ribu

2 I dag Om estimeringseksperimentet Mønstre Patterns 2

3 Estimeringsksperimentet 22 deltakere 11 fikk oppgitt 50 timer 11 fikk oppgitt 400 timer Hvordan gikk det.? 3

4 Resultat: Lavt anker - 50 timer: Svar: 30,50,60,60,70,70,75,80,100, 100,150 Gjennomsnitt: 76,8 timer 50 Høyt anker timer: Svar: 100,150,190,200,200, 250,300,350, 400,400,400+ Gjennomsnitt: 267,3 timer 400 4

5 Designmønstre = oppskrifter 5

6 Opprinnelsen til begrepet mønstre Ideene bak design patterns stammer fra arkitektfaget, hvor Christopher Alexander utviklet et stort antall designmønstre Professor i arkitektur ved University of California, Berkeley Har skrevet en rekke bøker, som viser 'en ny vei' til bedre design Tar et oppgjør med det tradisjonelle designparadigmet, som er basert på en faseoppdelt framgangsmåte: Analyse leder til spesifikasjon, som er grunnlag for konstruksjon (fossefall) 6

7 Sitat Model, process, context and artifact are intertwined aspects of the same system 7

8 8

9 Hva er et designmønster (pattern)? Et mønster (pattern) er en formalisering av et problem med løsning. Bruken av mønstre i en systemdesign kontekst er relativt ny Mesteparten av arbeidet på dette området er gjort etter Et mønster skisser et par (problem + løsning) Brukes til å ta en beslutning om designet. Et mønster kan være nyttig for mange slags problemstillinger som har grunnleggende likhetstrekk 9

10 Mer. Designmønstre er uformelle verbale beskrivelser av et problem og hvordan vi generelt løser problemet. Sammen med mønsteret følger det et konkret eksempel på bruk av mønsteret. Et designmønster er et navngitt 'gullkorn' av instruktiv informasjon som fanger vesentlige strukturer og innsikt om utprøvede løsninger på tilbakevendende problemer i en bestemt kontekst. Brad Appleton: 10

11 Delprosesser i en utviklingsprosess Pilene viser delaktiviteter der mønstre hjelper utviklingen. 11

12 Patterns - gjenbruk av kunnskap om utforming (design). Historikk Standardalgoritmer (1971 Knuth) Abstrakte datatyper- trær, stakk, lister (1987 Booch) Utformingsmønstre (1995) fra Christopher Alexander(1977) mønstre i bygningsutforming Mønster beskriver et problem og dets generelle løsning ikke detaljert basert på erfaring 12

13 Hvorfor bruke mønstre (patterns) for informasjonssystemer? Mye av vårt daglige virke består i å lete etter strukturer (mønstre) i omgivelsene Mønstre er vanlige løsninger på vanlige problemer Det samme gjelder utvikling av informasjonssystemer Mange systemer har grunnleggende fellestrekk Det finnes mange mønstre (patterns) som er blitt utviklet gjennom systemutviklingens historie 13

14 Produksjon og konsumpsjon Påstand: Mennesker er: Produsenter av varer og tjenester Konsumenter av varer og tjenester Mange av våre aktiviteter er former for kjøp/salg og produksjon Informasjonssytemer gjenspeiler og styrer våre aktiviteter Vi kan derfor (grovt) betrakte informasjonssystemer som varianter av kjøp/salg/produksjons-systemer 14

15 Tilbake til use case modell for Ordrebehandlingssystem 15

16 Fellestrekk ved informasjonssystemer Kan et kjøp/salg/produksjon system kan danne et grunnlag mønster for andre informasjonssystemer? I et hvilket som helst system, hva er det som tilsvarer Ordrene Varene Regnskap Leverandøren Kunden etc. 16

17 Gjenkjennelige trekk Vi finner igjen salgssituasjonen i mange sammenhenger Det er ofte nok til å komme i gang med en use case modell Og deretter et klassediagram. Vanlige klasser i et slikt system kan f.eks være: Ordre Lager Leverandør Kunde Produkt Faktura 17

18 Use casemodell for Kjøp/salgsystem 18

19 Mønster for klassediagram 19

20 Problem/løsning - par Kritiske designspørsmål: Hvordan allokere ansvar til klasser? Hvordan skal objekter samarbeide? Hvilke klasser skal gjøre hva? Noen utprøvde løsninger på designproblemer = best-practice prinsipper (mønstre) = patterns: eksemplifiserte kodeløsninger på design-prinsipper 20

21 Gjenbruk av løsninger Hensikt: å omsette eksisterende design kunnskap til et kodeskjelett Man trenger ikke finne opp hjulet på nytt hver gang. Å navngi mønstrene letter kommunikasjonen mellom utviklerne 21

22 Fire essensielle deler Meningsfullt navn på mønsteret. En beskrivelse av problemet mønsteret kan brukes på. En løsningsbeskrivelse. Ikke konkret Ofte grafisk framstilt Beskrivelse av konsekvensene resultater kompromisser 22

23 Hva har vi sett på før: GRASP - General Responsibility Assignment Software Patterns. Information Expert (Eksperprinsippet) Creator (skaperprinsippet) Controller (kontrollprinsippet) Høy kohesjon Lav kobling 23

24 Objektdesign 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. Et kontrollobjekt for hvert use case). Skaperprinsippet: Legg ansvar for å opprette et nytt objekt i klassen som må vite om det nye objektet 24

25 Information Expert Tildel ansvar til den klassen som har tilgang til den nødvendige informasjonen for å gjøre jobben Eksempel: I et salgssystem: Metoden hentkundenummer() legges i klassen som har variabelen kundenr. Fordel: Ulemper: Oppnår på denne måten lav kobling og høy kohesjon Kan få for store klasser ved at for mye ansvar puttes inn i en klasse. Løsning: Fordel ansvaret på to klasser 25

26 Creator Problem: Hvilken klasse 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 A-objekter B bruker A-objekter B har data som sendes til A-objektet når det opprettes Eksempel: KlasseB objekta = new KLasseB() Ulempe: Klasse A og B har høy kobling 26

27 Controller Hvilken klasse skal behandle en systemhendelse/melding? Kontrolleren ligger gjerne på klienten Kontrolleren har bare metoder, få eller ingen variabler. 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 27

28 Controller eksempel GUI Controller Kunde fasade kundedatabase Fordel: Lett å bytte ut klassene over og under kontrollklassen, spesielt grnesesnitt Styrer hendelsesforløpet i et use case 28

29 Controller forts. Ulemper: Mange metodekall sinker systemet Mye koding Flere klasser Kontrollere får for mye ansvar = mangel på kohesjon: Kontrolleren har for mange jobber å gjøre. Ansvaret og attributtene skulle vært distribuert 29

30 Mer.. Bruk av patterns blir stadig mer populært GoF patterns (Gang of Four) -> Creator, Factory, Singleton 30

31 Gang of Four (GoF) Erich Gamma Richard Helm Ralph Johnson John Vlissides forfatterne av boka Design Patterns, Elements of Reusable Object-oriented Software ble kjent som Gang of Four. Navnet var for langt til å brukes i , derfor firerbanden. Deres mønstre er kjent som GoF patterns. 31

32 GOF (Gang of Four) 23 Mønstre Creational Patterns (5) Abstract Factory, Builder, Factory Method, Prototype, Singleton Structural Patterns (7) Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy Behavioural Patterns (11) Chain of responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template method, Visitor Bok: Design Patterns av Erich Gamma (Author), Richard Helm (Author), Ralph Johnson (Author), John Vlissides (Author), Publisher: Addison-Wesley Pub Co; 1st edition (January 15, 1995) ISBN:

33 GoF Patterns Behavioral Oppførsel Creational Skaper Structural - Struktur 33

34 Behavioral patterns Chain of responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template method Visitor 34

35 Creational patterns Abstract factory Builder Factory method Prototype Singleton 35

36 Structural patterns Adapter Bridge Composite Decorator Facade Flyweight Proxy 36

37 Neste gang Arkitektur 37

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

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

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

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 [email protected] IN2001 -> Kravhåndtering og modellering 1 Gode beskrivelser av krav er viktig for kontrakt oppdragsgiver leverandør

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

OOSU 22.sept Pattern har sin opprinnelse innen arkitektur (byplanlegging / bygninger)

OOSU 22.sept Pattern har sin opprinnelse innen arkitektur (byplanlegging / bygninger) OOSU 22.sept 2010 PATTERNS (mønstre) Hva er et Pattern opprinnelsen Mal for en Patternbeskrivelse Hva er et Pattern Language? Ulike typer Pattern vi anvender innen systemutvikling Dagens Pensum : (kursorisk

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

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

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

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

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

IN2000:&Kravhåndtering,&modellering,&design IN2000:&Kravhåndtering,&modellering,&design 31&januar&2019 Yngve&Lindsjørn [email protected] IN2001&'>&Kravhåndtering og modellering 1 Gode&beskrivelser&av&krav er&viktig&for kontrakt&oppdragsgiver& leverandør

Detaljer

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP Flere design mønstre 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

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 [email protected] INF1050 > Systemutvikling->objektorientert modellering 1 Temaer i dagens forelesning Ø Arrays vs. objekter

Detaljer

Tittel Objektorientert systemutvikling 3

Tittel Objektorientert systemutvikling 3 EKSAMENSFORSIDE Fagnr. OBJ310 Tittel Objektorientert systemutvikling 3 Ansvarlig faglærer Viggo Holmstedt Klasse(r) Dato IS 3 20.05.2011 Eksamensoppgaven Ant. sider inkl. består av følgende: forside og

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

Mer$om$objektorientering$og$UML

Mer$om$objektorientering$og$UML INF1030:&25.&april&2019 Mer$om$objektorientering$og$UML Yngve&Lindsjørn [email protected] IN1030& >&Systemutvikling6>objektorientert modellering 1 Gjennomgang&i&dagens&forelesning! Tabeller&(arrays)&vs.&objekter!

Detaljer

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET INF5120 Eksamen 2004- Løsningsforslag Oppgave 1a,b COMET Oppgave 2 Patterns Oppgave 2 (20%) Diskuter hvordan web-shop systemet kan gjøres fleksibelt i forhold til å håndtere mange produkt-typer,

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

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

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

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

Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet

Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet Slide 2 v Factory Method Pattern Class creational

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

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006 Systemutvikling - oppsummering Alexander Nossum [email protected] blog.eksplisitt.net 22. mai 2006 INNHOLD 2 Innhold 1 Utviklingsprosessmodeller 3 1.1 Fossefall/waterfall................................

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

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

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

Arkitektur. Kirsten Ribu Høgskolen i Oslo 10.02.04 10.02.2004 1

Arkitektur. Kirsten Ribu Høgskolen i Oslo 10.02.04 10.02.2004 1 Arkitektur Kirsten Ribu Høgskolen i Oslo 10.02.04 10.02.2004 1 I dag Generelt om arkitektur N-lags arkitektur MVC Model View Controller mønsteret 10.02.2004 2 Hva er arkitektur? Oppdelingen av et system

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

Distributed object architecture

Distributed object architecture Forelesning IMT2243 6. April 2010 Tema: forts. arkitektur og design av programvare Prosjektstatus Programvarearkitektur Oppsummering fra før påske Distribuerte objektarkitektur MDA - Model Driven Architecture

Detaljer

Kirsten Ribu - Høgskolen i Oslo 05.05.04

Kirsten Ribu - Høgskolen i Oslo 05.05.04 Prosessmodellering Strukturert analyse og design et overblikk Gurholt & Hasle, kapittel 10 Kirsten Ribu - Høgskolen i Oslo 05.05.04 1 Prosessrapporten Prosessrapporten skal beskrive valg av systemutviklings-prosess,

Detaljer

(MVC - Model, View, Control)

(MVC - Model, View, Control) INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av

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

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN EKSAMENSFORSIDE SKRIFTLIG EKSAMEN Fag-/kurskode OBJ110 Fag/kurs Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Ansvarlig fakultet ØS Klasse(r)/gruppe(r) IS2 Dato 13.12.2010 Eksamenstid,

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

A Study of Industrial, Component-Based Development, Ericsson

A Study of Industrial, Component-Based Development, Ericsson A Study of Industrial, Component-Based Development, Ericsson SIF8094 Fordypningsprosjekt Ole Morten Killi Henrik Schwarz Stein-Roar Skånhaug NTNU, 12. des. 2002 Oppgaven Studie av state-of-the-art : utviklingsprosesser

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

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

Modellering IT konferanse

Modellering IT konferanse Modellering IT konferanse 1. Interessenter Utviklere som besøker konferansen: besøke IT konferanse Frivillige hjelpere: få gratis inngang på konferansen Ledelse: Tjene penger Matkjeder: Selge mat og drikke,

Detaljer

Kirsten Ribu - Høgskolen i Oslo 05.05.04

Kirsten Ribu - Høgskolen i Oslo 05.05.04 Prosessmodellering Strukturert analyse og design et overblikk Gurholt & Hasle, kapittel 10 Kirsten Ribu - Høgskolen i Oslo 05.05.04 1 Perspektiver på modellering Datamodellering var lenge den mest brukte

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

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

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

Arkitektur. 4 april Mål for forelesningen: Se på kriterier for design, arkitektur av komponent og prosess. Kriterier. Komponenter.

Arkitektur. 4 april Mål for forelesningen: Se på kriterier for design, arkitektur av komponent og prosess. Kriterier. Komponenter. 4 april 2006 Arkitektur Mål for forelesningen: Se på kriterier for design, arkitektur av komponent og prosess Kriterier Komponenter Prosesser Kap 9-11 OO A & D 1 Design av arkitektur Arkitektur: En generell

Detaljer

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1 Oppsummering INF1050 Systemutvikling t INF1050-oppsummering-1 INF1050 dagsorden Erfaringer fra V09 Kort oppsummering: Hvordan utvikles et informasjonssystem? Kanskje noen eksamenstips, og litt teknikk

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

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk Logica 2012. All rights reserved No. 3 Logica 2012. All rights reserved No. 4 Logica 2012. All rights reserved

Detaljer

Tom Røise IMT 2243 : Systemutvikling 1. Forelesning IMT Mars Designfasen i SU-prosjekter : Generelle steg i Designprosessen

Tom Røise IMT 2243 : Systemutvikling 1. Forelesning IMT Mars Designfasen i SU-prosjekter : Generelle steg i Designprosessen Forelesning IMT2243 12. Mars 2007 Tema : Design av programvare Hva ønsker vi å oppnå i designfasen? Generelle steg ved design av programvare Softwarearkitektur Struktur og organisering Dekomponering Kontrollmekanismer

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

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl 0900-1300

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl 0900-1300 Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for fysikk, informatikk og matematikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist: 27. juni, 2006 Eksamen

Detaljer

Eksamen 2013 Løsningsforslag

Eksamen 2013 Løsningsforslag Eksamen 2013 Løsningsforslag Oppgave 1. Multiple choice 1b# 2a# 3b# 4c# 5b# 6a# 7a# 8b# 9d# 10b# Oppgave 2 - Bibliotek - Utlån av bøker a) Måle størrelse eller mengde funksjonalitet Denne oppgaven ser

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

Programvare arkitekturer

Programvare arkitekturer Programvare arkitekturer 14. 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

19. januar 2012 Noen punkter fra i går

19. januar 2012 Noen punkter fra i går 1 19. januar 2012 Noen punkter fra i går Godkjente øvinger og prosjekt er obligatorisk for å få gå opp til eksamen Noen myter om systemutvikling Ariane 5 ulykken 2 Noen myter om systemutvikling Myte 1:

Detaljer

INF1500 Introduksjon til design, bruk, interaksjon Kapittel 10 Identifisere behov og etablere krav

INF1500 Introduksjon til design, bruk, interaksjon Kapittel 10 Identifisere behov og etablere krav INF1500 Introduksjon til design, bruk, interaksjon Kapittel 10 Identifisere behov og etablere krav 19. September 2016 Institutt for Informatikk, Universitetet i Oslo [email protected] Behov? Krav? 3 Krav

Detaljer

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Forskningsmetoder. INF1050: Gjennomgang, uke 13 Forskningsmetoder INF1050: Gjennomgang, uke 13 Kompetansemål Forskningsmetoder Hva? Hvorfor? Empiriske forskningsmetoder Eksperiment Case-studier Etnografi Aksjonsforskning Spørreskjema Systematisk litteraturstudie

Detaljer

INF 5120 Modellering med objekter

INF 5120 Modellering med objekter INF 5120 Modellering med objekter Obligatorisk oppgave nr. 1 Gruppe 4 Problem: Det skal designes en kaffemaskin til bruk blant de ansatte hos en bedrift. Eieren av bedriften ønsker en enkel og billig maskin.

Detaljer

SOFTWARE REQUIREMENT & DESIGN DOCUMENT

SOFTWARE REQUIREMENT & DESIGN DOCUMENT SOFTWARE REQUIREMENT & DESIGN DOCUMENT Home Automation System Nickolas Helgeland, Jon Erik Nordskog og Kristian Sande Sjølyst Innholdsfortegnelse 1. Introduksjon... 2 2. Overordnet systemskisse... 3 3.

Detaljer

Sist oppdatert: 18.november Øvelsesoppgaver til INF1500

Sist oppdatert: 18.november Øvelsesoppgaver til INF1500 Sist oppdatert: 18.november 2015 Øvelsesoppgaver til INF1500 Øvelse 0 Lærebok: Kapittel 1, 3 og 7 Forelesning: 18. august 2015 Joshi og 25. august 2015 Jo Innleveringsfrist: 30. august 2015 1 Human Computer

Detaljer

Behandling av data bli treffsikker!

Behandling av data bli treffsikker! Behandling av data bli treffsikker! Betydningen av god metode i forbrukerforskningen Tormod Næs 18.01.2011 1 Effektiv bruk av metode er avgjørende! Gjelder alt som er diskutert tidligere Planlegging -

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

Et lite oppdrag i bakgrunnen

Et lite oppdrag i bakgrunnen Et lite oppdrag i bakgrunnen Under pultene på bakerste rad er det klistret post-it lapper med to tall skrevet på Regn ut summen av to nederste tall, skriv denne summen under de andre tallene, og send lappen

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

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl Side av 9 NTNU Norges teknisk-naturvitenskapelige universitet BMÅL Fakultet for fysikk, informatikk og matematikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist:. juni Eksamen i fag SIF808

Detaljer

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie SRD GLIS Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie Innholdsfortegnelse 1. Systemoversikt... 2 2. Tekniske krav... 3 2.1. Funksjonskrav og brukergrensesnitt spesifikasjon... 3 2.2. Begrensninger...

Detaljer

SPPR Software Project Progress Report Uke 42-43

SPPR Software Project Progress Report Uke 42-43 SPPR Software Project Progress Report Uke 42-43 Heiskontrollsystem Gruppe 7 Gunhild Kristiansen, Arne Enger Hansen, Cecilie Vådahl, Kristian Vågen, Magnus Asbjørnsen, Martin Stenmark Høgskolen i Østfold

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

AMS-case. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt

AMS-case. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt AMS-case Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt Domenemodell Sentrale begreper og relasjoner Utgangspunkt for både oppgave- og dialogmodeller Mange muligheter kan undersøkes

Detaljer

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg Objekt-interaktor med valg AMS- case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt Relatert objekt velges ofte blant mange kandidater Output av kandidat-sett Input

Detaljer

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt

Detaljer

Lykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet

Lykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist:

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

EKSAMENSOPPGAVE. Adm.bygget, rom K1.04 og B154 Ingen. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl.

EKSAMENSOPPGAVE. Adm.bygget, rom K1.04 og B154 Ingen. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl. Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 22 mai 2018 Klokkeslett: 09-13 Sted: Tillatte hjelpemidler: Adm.bygget, rom K1.04 og B154 Ingen Type innføringsark (rute/linje):

Detaljer

Digitalisering for morgendagens samfunn

Digitalisering for morgendagens samfunn Digitalisering for morgendagens samfunn IoT, Big Data, AI og GOIS (Good Ol Information Systems) John Krogstie Professor IDI, NTNU 1 Bakteppe for presentasjonen John Krogstie, professor i informasjonsystemer,

Detaljer

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR INF 1050 UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR Oppgave 1 a) Foranalyse: Foranalysen kan med fordel gjøres i to trinn. Den første er å undersøke finansiering og øvrige

Detaljer

Hva er programmering og hva vil det si å lære det?

Hva er programmering og hva vil det si å lære det? Hva er programmering og hva vil det si å lære det? Begreper i programmeringsspråk Programmeringsprosess Pedagogisk opplegg Jens Kaasbøll, Institutt for informatikk, Universitetet i Oslo 1 Programmering

Detaljer

Distributed object architecture

Distributed object architecture Forelesning IMT2243 1. April 2009 Tema: forts. arkitektur og design av programvare Oppsummering fra forrige gang Programvarearkitektur i distribuerte systemer Programvarearkitektur i RUP Eksempler på arkitekturvurderinger

Detaljer

Presentasjon 1, Requirement engineering process

Presentasjon 1, Requirement engineering process Presentasjon 1, Requirement ing process Prosessodeller Hvorfor bruke prosessmodeller? En prosessmodell er en forenklet beskrivelse av en prosess En prosessmodell er vanligvis lagd ut fra et bestemt perspektiv

Detaljer

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie SRD GLIS Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie Innholdsfortegnelse 1. Systemoversikt... 2 2. Tekniske krav... 3 2.1. Funksjonskrav og brukergrensesnitt spesifikasjon... 3 2.2. Begrensninger...

Detaljer

Web Service Registry

Web Service Registry BACHELORPROSJEKT 21 Web Service Registry Prosjektpresentasjon Ola Hast og Eirik Kvalheim 05.05.2010 Dette dokumentet er en kort presentasjon av bachelorprosjektet Web Service Registry Innhold 1. Om oppgavestiller...

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Delegeringsteknikken Delegering vs. arv 1 Dagens forelesning Introduksjon og motivasjon Hvorfor forelese om standardteknikker, såkalte patterns? Hva slags

Detaljer

INF1010 MVC i tekstbaserte programmer

INF1010 MVC i tekstbaserte programmer INF1010 MVC i tekstbaserte programmer Marit Nybakken [email protected] 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Rune Steinberg International Development Manager ERP INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 1 Innledning

Detaljer

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling Innledning Læringsmål Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Forstå hvorfor systemutviklingsprosessen er viktig Forstå de viktigste prinsippene for ulike prosesser

Detaljer

INF Introduksjon til design, bruk, interaksjon Kapittel 10 - Iden%fisere behov og etablere krav

INF Introduksjon til design, bruk, interaksjon Kapittel 10 - Iden%fisere behov og etablere krav INF1500 - Introduksjon til design, bruk, interaksjon Kapittel 10 - Iden%fisere behov og etablere krav 14. September 2015 Institutt for Informatikk, Universitetet i Oslo [email protected] Behov with UI, we

Detaljer

Tilstandsmaskiner med UML og Java

Tilstandsmaskiner med UML og Java Tilstandsmaskiner med UML og Java DAT2160 DAT2160 Høst Høst 2002 2002 Tilstandsmaskiner Tilstandsmaskiner med med UML UML og og Java Java Hva er en (endelig) tilstandsmaskin? En tilstandsmaskin kan sees

Detaljer

EKSAMEN 05HBINDA, 05HBINFA, 05HBISA, 05HBMETEA, 06HBINFA. Tom Røise. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

EKSAMEN 05HBINDA, 05HBINFA, 05HBISA, 05HBMETEA, 06HBINFA. Tom Røise. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag LØSNINGSMOMENTER FOR : EKSAMEN FAGNAVN: FAGNUMMER: SYSTEMUTVIKLING IMT2243 EKSAMENSDATO: 4. juni 2007 KLASSE: 05HBINDA, 05HBINFA, 05HBISA, 05HBMETEA, 06HBINFA TID: 0900-1200 FAGLÆRER: Tom Røise ANTALL

Detaljer