Design Patterns - mønstre
|
|
|
- Gunn Sivertsen
- 10 år siden
- Visninger:
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 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
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
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
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
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
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
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
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
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
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 å
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
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
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 å
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
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
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
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!
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,
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:
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
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
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
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
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:
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................................
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
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
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
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
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,
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
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,
(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
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
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,
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
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
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:
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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.
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.
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
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 -
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
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
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
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
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...
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
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
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
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
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
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:
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!!!
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):
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,
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
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
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
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
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...
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...
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
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
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
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
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
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
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
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
