Programvare arkitekturer

Størrelse: px
Begynne med side:

Download "Programvare arkitekturer"

Transkript

1 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 å bruke leksjonene til undervisning eller kursformål må ta kontakt med TISIP for nærmere avtale. Tore Berg Hansen

2 Sammendrag Denne leksjonen tar for seg programvare arkitekturer. Det er et tema som har fått større og større oppmerksomhet i de senere tid. Det er et viktig tema i forbindelse med utvikling av større programvaresystemer. Man ser systemet på et høyere abstraksjonsnivå. Programvare arkitektur dreier seg om strukturen til store programvaresystemer. Man konsentrerer seg om adferd og samspill mellom svart boks komponenter. I bearbeidingsfasen i Unified Process er programvare arkitektur sentralt. Hvis man skal sammenfatte bearbeidingsfasen i setning, som det står i læreboken, blir det denne: Build the core architecture, resolve the high-risk elements, define most requirements, and estimate the overall schedule and resources. Alle disse tingene er bestemt av eller har innflytelse på programvarens arkitektur. Programvarens arkitektur er realiseringen av tidlige beslutninger som må gjøres med hensyn til hvordan systemet skal settes sammen av deler skal gjøres. I en tidligere leksjon introduserte vi begrepet mønster (pattern). Her så vi på gode prinsipper for å fordele ansvar på objekter i et program. Programvare arkitektur dreier seg også om mønstre, men på et høyere nivå.

3 Innholdsfortegnelse 1 Introduksjon Hva er programvare arkitektur? Arkitektoniske stiler Rør og filter Objektorientering Implisitt kall Lagdelte systemer Repositorier Andre arkitektoniske stiler Heterogene arkitekturer... 7 Lesestoff... 7 Referanser... 8

4 1 Introduksjon Programvare arkitektur er en disiplin innenfor systemutvikling 1 som har fått økende interesse de senere år. Grunnen til det er at man har innsett at et av de viktigste kriterier for suksess ligger i å foreta en utforming av strukturen i et programvaresystem. Denne utformingen, også kalt arkitektonisk design, må gjøres tidlig i et utviklingsprosjekt. Gode systemutviklere har alltid hatt i sin verktøykiste et sett med programvarestrukturer som de gjennom erfaring og overføring på folkemunne har visst gir gode resultater. I den senere tid er det gjort flere forsøk på å systematisere og dokumentere slike arkitektoniske mønstre på samme måte som mønstre for god objektorientert design. Men arkitektonisk design går et nivå opp i abstraksjon og er ikke utelukkende knyttet til objektorientering. Vi har i tidligere leksjoner sett på et slikt arkitektonisk mønster Model View Controller. Det er en overordnet struktur som har vist seg velegnet spesielt i systemer som skal samspille med mennesker via et grafisk brukergrensesnitt. I denne modellen vektlegges at det skal være et klart skille mellom selvstendige deler av et program som brukergrensesnitt og de deler av programmet som gjør selve jobben (modell gjerne knyttet til domeneobjektene fra analysen). I eksemplet realiserte vi strukturen ved hjelp av objekter. Men det finnes andre måter å realisere innmaten i en slik struktur på. For andre typer systemer er andre strukturer mer hensiktsmessig. I denne leksjonen skal vi ta for oss noen slike strukturer. Spesielt skal vi se på det som kalles arkitektoniske stiler og som representerer en type struktur. Vi skal se på styrker og svakheter og hvilke typer av systemer de er velegnet for. Men systemer kan ha flere strukturer. Hver av dem viser sin side av arkitekturen. Vi må derfor definere og avklare hva som ligger i begrepet programvare arkitektur. Det er ikke lett, fordi det finnes mange forskjellige definisjoner. Men til tross for de mange definisjoner, så er det ting som er felles. Det er det viktige fordi det er disse felles tingene som avgjør om et utviklingsprosjekt skal resultere i suksess eller fiasko. Det er det gjennomgående poeng i denne leksjonen. 1.1 Hva er programvare arkitektur? I gis en rekke definisjoner på hva programvare arkitektur er. Det man slår faste er at det ikke er noen én felles definisjon. En av grunnene til det er at fagfeltet er i sin barndom. Men røttene strekker seg langt tilbake i tid. I læreboken [2] på side 448 finner man en definisjon. Den er hentet fra [3]. Men læreboken har utelatt de siste setningene som lyder som følger: Software architecture is not only concerned with structure and behavior, but also with usage, functionality, performance, resilience, reuse, comprehensibility, economic and technology constraints and trade-offs, and aesthetic concerns. Det man kan trekke ut er følgende: - Arkitektur dreier seg om komponenter 2. En arkitektur omfatter informasjon om hvordan komponenter samspiller. - Et programvaresystem kan inneholde mer enn en struktur. - Ethvert programvaresystem har en arkitektur fordi det er bygd opp av komponenter og relasjoner mellom dem. 1 Software engineering 2 Begrepet komponent favner vidt i denne sammenheng. Eksempler på komponenter er klienter, tjenere, objekter, filtre, lag, databaser. Vi kommer i neste leksjon nærmere inn på temaet. 1

5 - Oppførselen til hver komponent er en del av arkitekturen. Det er denne oppførsel som gjør at komponenter kan samspille. I [1] som betraktes som en av klassikerne innenfor fagfeltet finner vi følgende beskrivelser: Programvare arkitektur dreier seg om beskrivelser av elementene som systemer bygges opp av, samspillet mellom disse elementene, mønstre som gir retningslinjer for hvordan komponentene skal settes sammen og rammer for disse mønstrene. Og videre klipper vi the design and specification of overall system structure become more significant issues than the choice of algorithms and data structures of computation. I [4] gis en omfattende definisjon. Hovedpoengene er følgende: Arkitekturen definerer komponenter. Det omfatter informasjon om hvordan komponenter samspillet med hverandre. Et system kan ha mer enn en struktur. Ikke en struktur er arkitekturen. F. eks så kan store systemer deles opp i komponenter som er egnet til fordeling av arbeid mellom grupper. Det kan også tenkes at systemet skal bestå av prosesser som skal kjøre på forskjellige prosessorer, kanskje geografisk distribuert. Det er en annen side ved strukturen til systemet. Alle systemer har en arkitektur. Dette fordi et system alltid kan deles opp i komponenter og relasjoner mellom dem. I det mest trivielle tilfelle er systemet selv en komponent. Adferden til hver komponent er del av arkitekturen. Det betyr at et diagram som viser bokser og linjer mellom bokser ikke er systemets arkitektur. I beste fall viser det en side ved arkitekturen. I disse poengene ligger også at arkitekturen til et system kan være god eller dårlig. Det betyr at en god arkitektur gjør at systemet tilfredsstiller alle krav, både funksjonelle krav og ytelseskrav og har i seg muligheter for senere utvidelser. 2 Arkitektoniske stiler Dere har sikkert støtt borti arkitektoniske stiler som klient-tjener, objektorientering og lagdelt. Noen av disse begrepene er knyttet til design metoder. Andre er knyttet til spesielle systemer. Man forsøker nå å beskrive slike stiler på en ensartet måte ved å se på typer av komponenter og typen av samspill mellom disse. En arkitektonisk stil definerer dermed en familie av systemer som er organisert etter et felles mønster. En arkitektonisk stil kan beskrives ved at man får svar på disse spørsmålene: - Hva er typen av komponenter og forbindelser mellom komponentene? Man bruker begrepet vokabular. - Hva er de tillatte strukturelle mønstre? - Hvilken beregningsmodell ligger i bunnen? - Hva er invariantene i stilen? - Finnes det noen kjente eksempler på bruken stilen? - Hvilke vanlige spesialiseringer finnes? Vi skal i det etterfølgende se på noen av de mest kjente slike stiler. Stoffet er i det vesentlige hentet fra [1]. 2

6 2.1 Rør og filter I en rør og filter arkitektur har hver komponent et sett med inputt og utputt. En komponent leser en strøm med data på inngangen og produserer en strøm med data på utgangen. Den Filtere Rør prinsipielle oppbygging er vist i figuren. Invarianter for denne stilen er at hvert filter må være uavhengig av hverandre. De vet ingenting om de filtere som kommer foran eller bak. En vanlig spesialisering er pipeline hvor strukturen er en lineær sekvens med filtere. De mest kjente eksempler på denne arkitekturen er fra skallprogammering i UNIX. I UNIX finnes mekanismer for å sette sammen komponenter i form av prosesser. Et annet kjent eksempel er tradisjonelle kompilatorer. De gode egenskapene til denne arkitekturen er: - lett å forstå - støtter gjenbruk - lett å vedlikeholde og utvide - gir støtte for samtidig eksekvering Noen ulemper er: - ikke så godt egnet for interaktive systemer 2.2 Objektorientering Dette er den arkitektoniske stilen vi har konsentrert oss om i dette kurset og skulle dermed være vel kjent. Hovedpoenget er dataabstraksjon og innkapsling av implementasjonsdetaljer. Objekter samspiller ved å sende meldinger i form av prosedyrekall. 3 Av de gode egenskapene til denne arkitekturen er: - man kan endre implementasjon uten at det påvirker brukerne av objektet - lettere å avspeile problemdomenet Men det er også noen ulemper: 3 I UML kalles det operasjon, i Java metode. 3

7 - Et objekt må for å samspille med andre objekter kjenne disses grensesnitt. Endres grensesnittet må alle objekter som er avhengige av dette objektet endres. - Dype arvhierki kan gi sterk kobling. 2.3 Implisitt kall Denne stilen ligner litt på objektorientering. Men i stedet for direkte kall til en operasjon, frikobler man de involverte komponenter. Det skjer på den måten at en komponent kringkaster eller annonserer et kall eller en hendelse. Andre komponenter i systemet kan registrere seg som interessenter i å håndtere visse hendelser. Det gjør de ved å registrere prosedyrer for disse hendelsene. Systemet kan da kalle slike registrerte prosedyrer. Dermed vil annonsering av en hendelse føre til et implisitt kall av en prosedyre. Eksempler på slike systemer er: - I Windows assosieres vindusprosedyrer med hendelser i brukergrensesnittet. Det er operativsystemet som kaller disse prosedyren i det programmet som skal håndtere disse hendelsene, som f.eks klikk på en knapp. - Hendelser i det grafiske grensesnittet i Java. Metoder assosieres med hendelser og programmer som skal fange opp disse hendelsene må implementere disse metodene. Den viktigste invarianten i slike systemer er at annonsøren av hendelser ikke behøver å vite hvem som blir mottaker. Det betyr at komponenten ikke kan gjøre antagelser om rekkefølgen av prosessering eller hvilken prosessering som blir resultatet av en hendelse. En annen god egenskap er lett gjenbruk. Nye komponenter kan introduseres ved at de registrerer sin interesse for visse hendelser. Den største ulempen er at en komponent ikke har kontroll over den resulterende oppførsel. Når en komponent annonserer en hendelse er den ikke garantert respons. Denne stilen finner man igjen i designmønsteret Observer/Publish-Subscribe/Delegation Event Modell. Det er bl.a beskrevet på side 372 i [2]. 2.4 Lagdelte systemer Et lagdelt system er organisert hierarkisk. Hvert lag sørger for tjenester til laget over og er klient til laget under. De mest kjente systemer som bruker denne arkitektoniske stilen er kommunikasjonsprotokoller. Man finner også igjen denne stilen i operativsystemer og databasesystemer. 4

8 Lag 7 Lag 6 Lag 5 Lag 4 Lag 3 Lag 2 Lag 1 Her i denne figuren har vi prinsippet. Lagdelte systemer har disse egenskapene: - Design basert på økende absttraksjonsnivå som betyr at komplekse systemer kan bygges i inkrementelle trinn - Fordi et lag bare samspiller med lag over og under vil endringer bare berøre høyst to komponenter. Det gjør det lett å utvide slike systemer. - Støtter gjenbruk. Forskjellige implementasjoner av et lag kan byttes ut. Det gjør det mulig å definere standard grensesnitt som andre kan bygge på (OSI ISO modellen). Av ulemper har vi: - Ikke alle systemer lar seg lett strukturere i lag. - Det kan være vanskelig å finne frem til det riktige antall lag (riktig abstraksjonsnivå). Det er noe av årsaken til at OSI ISO ikke har fått den forventede utbredelse, men taper i forhold til TCP/IP. I lærebokens kapittel 30 vies spesielt lagdelte strukturer stor oppmerksomhet. Der diskuteres også hvordan grensesnittet mellom lag kan realiseres med forskjellige design mønstre som Fasade, Controller og Observer. Det vises også at kommunikasjon ikke nødvendigvis går mellom to nærmeste lag, men også over lag. Dette kan by på spesielle problemer, men kan av og til være nødvendig bl.a av hensyn til ytelse. 2.5 Repositorier I repositorier er det to helt forskjellige typer av komponenter. Det er en sentral datastruktur og en samling uavhengige komponenter som opererer på denne datastrukturen. Datastrukturen lagrer tilstanden til systemet (informasjon, kunnskap). 5

9 Det er to hovedtyper av slike systemer. Database eller tavle (blackboard). Forskjellen går på hva som trigger utvelgelsen av prosesser som skal kjøre. I det første tilfellet er det typen av transaksjoner i en innstrøm som bestemmer hvilken prosess som skal kjøre. Hvis det er tilstanden til den sentrale datastrukturen som er utløsende har vi et tavlesystem. Det siste prinsippet er illustrert i denne figuren. ks2 ks3 ks1 Tavle (felles data) ks4 ks7 ks6 ks5 Her er det forskjellige kunnskapskilder (ksi). Samspillet mellom disse uavhengige komponentene foregår via tavlen. Tavlen representerer den felles datastruktur. Kunnskapskildene endrer på denne datastrukturen. Disse endringen fører etter hvert til løsningen av et problem. Kontrollen styres av tilstanden til tavlen (dvs innholdet i dataene). Slike arkitekturer har tradisjonelt vært bruk i systemer for gjenkjenning av tale og visuelle mønstre. Andre eksempler er programmeringsomgivelser som inneholder forskjellige verktøy som opererer på et program eller deler av et program. Moderne kompilatorer designes gjerne med denne arkitektoniske stilen. 2.6 Andre arkitektoniske stiler Prosesskontroll er en stil som kan brukes i sanntidssystemer. Klient-tjener er en velkjent arkitektur for distribuerte systemer. I slike systemer er en tjener en prosess (komponent) som yter tjenester til andre prosesser kalt klienter. Tjeneren vet som regel ikke på forhånd hvem klientene er. Klientene må kjenne til tjeneren eller har muligheten til å finne frem til egnede tjenere. Hovedprogram-subrutine er det vanlige resultatet når man programmerer i tradisjonelle programmeringsspråk som C, Fortran, Basic osv. 6

10 2.7 Heterogene arkitekturer De arkitekturene som er presentert kort her er såkalte rene arkitekturer. I større systemer finner man gjerne blandinger av disse stilene. Arkitekturer kan kombineres på forskjellige måter. Den kan være hierarkisk ved at systemer på øverste nivå har en stil, mens komponentene på nivåene under kan ha andre stiler. F.eks så kan filtre i et rør-filter system realiseres med objekter. Det samme kan lag i en lagdelt arkitektur. En annen måte å kombinere stiler på er å la en enkelt komponent bruke en blanding av arkitektoniske konnektorer. F.eks så kan en komponent samspille med et repository gjennom deler av sitt grensesnitt, mens andre deler av systemet kan nås gjennom rør. Et rør kan realiseres som en FIFO kø (først inn, først ut). Det vi har sett på her er logiske arkitektoniske stiler. Det avspeiler ikke hvordan et totalsystem realiseres med applikasjonen, operativsystem og maskinvare. I noen applikasjoner kan alle komponenter ligge på en maskin og kjøre under en tråd. For distribuerte systemer eller systemer som har parallellprosessering vil bildet være et annet. Lesestoff I denne utgaven av læreboken er det kommet til flere kapitler som omhandler programvare arkitektur. Kapittel 8 plasserer arbeidet med utforming av arkitekturen i bearbeidingsfasen. Det påpekes at det er viktig å få på plass de sentrale elementene i arkitekturen og prøve de ut i et kjørbart subset av systemet. Dette subsettet kan ses på som en tidlig versjon av det endelige system. Det kalles gjerne executable architecture eller architectual baseline. Hensikten er å få avdekket risikoer så tidlig som mulig og sørge for å eliminere før de fører til store problemer. Denne arkitekturen skal være et solid fundament hvor ny funksjonalitet kan legges til i inkrementer gjennom nye iterasjoner. Kapittel 30 diskuterer den logiske arkitekturen og hvordan den kan realiseres med mønstre. Det legges spesielt vekt på lagdelte strukturer. Det gis en definisjon av programvare arkitektur og sentrale begreper. Arbeidet med arkitektur deles inn i: Undersøkelser som dreier seg om å finne funksjonelle og ikke-funksjonelle krav som har avgjørende innflytelse på hvordan systemet må utformes i det store. Arkitektonisk design å finne frem til hvordan systemet skal struktureres når man må avveie forskjellige faktorer knyttet til programvarekrav, maskinvare, nettverksløsninger, drift osv. Spesiell behandling får tradisjonelle tre-lags arkitekturer. Det gås også litt inn på hvordan UML pakker kan brukes til å detaljere arkitekturer. Men husk at det finnes andre måter å beskrive arkitektoniske mønstre på enn ved hjelp av UML. Det gis også en begrunnelse for hvorfor det er viktig å skille Modell og View og gir eksempler på hvordan kommunikasjon kan skje mellom modell og view. I kapittel 32 introduseres SAD Software Architecture Document. Det er i dette dokumentet man nedtegner alle vesentlige beslutninger som dreier seg om systemets arkitektur. Kapittelet diskuterer arkitektonisk analyse, trinnene i denne analysen og vektlegger det å identifisere de faktorer som har innflytelse på valg av arkitektur. Tekniske memos introduseres. 7

11 De seks forskjellige arkitektoniske view i UP beskrives som. 1. Logisk 2. Prosess 3. Deployment 4. Data 5. Use case 6. Implementasjon [1] og [4] er to av standarverkene innen fagfeltet. De som skal arbeide med programvarearkitektur vil ha utbytte av å studere disse nærmere. Referanser 1. Mary Shaw and David Garland, Software Architecture, Prentice Hall, 1996, ISBN Craig Larman, Applying UML and Patterns. An Introduction to Object-Oriented Analysis and Design and the Unified Process, Prentice Hall, 2.utgave 2002, ISBN Grady Booch & al, The Unified Modelling Language User Guide, Addison Wesley, 1999, ISBN Len Bass & al, Software Architecture in Practice, Addison Wesley, 1998, ISBN

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

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

2. HVA ER EN KOMPONENT?

2. HVA ER EN KOMPONENT? Innholdsfortegnelse 1. INTRODUKSJON 3 2. HVA ER EN KOMPONENT? 3 2.1. Litt av historien 3 2.2. UML og komponenter 5 2.3. Noen definisjoner 5 REFERANSER 7 1. Introduksjon Komponenter og komponentbasert systemutvikling

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

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

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

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

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

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

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

Tom Røise 24.Mars 2009

Tom Røise 24.Mars 2009 Forelesning IMT2243 24. Mars 2009 Tema : Design av programvare Offshore Software Development (se foiler for sist) Hva er målet i designfasen? Generelle steg ved design av programvare Softwarearkitektur

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

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

Inception Elaboration Construction Transition Bemanning 1 1,5 2 2 Varighet i uker Antall iterasjoner (lengde i uker i parentes) Tabell 1

Inception Elaboration Construction Transition Bemanning 1 1,5 2 2 Varighet i uker Antall iterasjoner (lengde i uker i parentes) Tabell 1 Innhold Innledning... 2 Faseplan... 2 Iterasjonsplanlegging... 3 Oppstartsfasen... 3 Artefaktene i oppstartsfasen... 4 Utdypingsfasen... 5 Konstruksjonsfasen... 5 Overføringsfasen... 6 Litteratur... 7

Detaljer

Arkitektur. Kirsten Ribu Høgskolen i Oslo

Arkitektur. Kirsten Ribu Høgskolen i Oslo Arkitektur Kirsten Ribu Høgskolen i Oslo 03.03.05 03.03.2005 1 I dag Generelt om arkitektur N-lags arkitektur 03.03.2005 2 Hva er arkitektur? Oppdelingen av et system i deler og spesifikasjon av samhandlingen

Detaljer

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

DRI2001 h04 - Forelesning Systemutvikling og nettsteder Systemutvikling utvikling av offentlig nettsteder DRI2001 forelesning 20.10 Litt om eksperimentell systemutvikling og prototyping Systemutviklingsprosessene og utvikling av [offentlige] nettsteder Fasene

Detaljer

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

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

Detaljer

Forelesning IMT Mars 2011

Forelesning IMT Mars 2011 Forelesning IMT2243 24. Mars 2011 Tema : Design av programvare Hva er målet i designfasen? Generelle steg ved design av programvare Softwarearkitektur Struktur og organisering Kontrollmekanismer Dekomponering

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

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

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1 HiOA TDK Ingeniørfag data DATS1600 Programutvikling Eva Hadler Vihovde Prosjektoppgaven 2015 - Prosessdokumentasjon - Alternativ 1 - Forsikring - Gruppe #14 Studentnavn Marius Alexander Skjolden Hans Christian

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

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

1. SQL server. Beskrivelse og forberedelse til installasjon

1. SQL server. Beskrivelse og forberedelse til installasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL server. Beskrivelse og forberedelse til installasjon Stein Meisingseth 15.10.2014 Lærestoffet er utviklet for faget IDRI2001 Drift av

Detaljer

Systemarkitektur. INF1050: Gjennomgang, uke 07

Systemarkitektur. INF1050: Gjennomgang, uke 07 Systemarkitektur INF1050: Gjennomgang, uke 07 Kompetansemål Systemarkitektur Hva og hvorfor? Arkitektoniske modeller Kjennetegn Fordeler og ulemper Arkitektoniske stiler Ulike typer: Pipe-and-Filter /

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

STE6221 Sanntidssystemer Løsningsforslag

STE6221 Sanntidssystemer Løsningsforslag HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,

Detaljer

CORBA Component Model (CCM)

CORBA Component Model (CCM) CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva

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

Team2 Requirements & Design Document Værsystem

Team2 Requirements & Design Document Værsystem Requirements & Design Document Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk SRD 22/01/2018 Systemutvikling og dokumentasjon/ia4412

Detaljer

Kap3: Klassemodellering

Kap3: Klassemodellering Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,

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

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

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Software Requirements and Design (SRD) 1 Generelt om dokumenter Software Requirements and Design (SRD) Vi må ha en standard tittelside (Side 1) på alle dokumenter. I tillegg til tittel, kan vi ha med firmanavn, logo, m.m. Innholdsfortegnelse bør også være med på side

Detaljer

Conference Centre Portal (CCP)

Conference Centre Portal (CCP) IN-MMO Obligatorisk oppgave 1 Brian Elvesæter mmo-oppgaver@ifi.uio.no 1 Conference Centre Portal (CCP) 2 1 Oblig 1: Problem description [1/3] The Conference Center Portal is an Internet portal that organizers

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

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

EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400

EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400 Side 1 av 6 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK

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

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Pythonboka kap. 1-9, 12 Teorikapitlet

Detaljer

2 Grafisk grensesnitt 1

2 Grafisk grensesnitt 1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Grafisk grensesnitt 1 Mildrid Ljosland 01.02.2011 Lærestoffet er utviklet for faget LN350D Applikasjonsutvikling for mobile enheter 2 Grafisk

Detaljer

1. SQL datadefinisjon og manipulering

1. SQL datadefinisjon og manipulering Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering

Detaljer

Introduksjon til fagfeltet

Introduksjon til fagfeltet LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side

Detaljer

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 29.04.2009. IMT2243 : Systemutvikling 1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 29.04.2009. IMT2243 : Systemutvikling 1 Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring

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

Kap. 10 Systemutvikling System Engineering

Kap. 10 Systemutvikling System Engineering Kap. 10 Systemutvikling System Engineering - Utvikling og integrering av både maskin- og programvare. - Hvordan oppstår behov for programvare? - Hvordan inngår programvare i en sammenheng med andre (del)systemer,

Detaljer

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING 1 Word 1.1 Gjør ting raskt med Fortell meg det Du vil legge merke til en tekstboks på båndet i Word 2016 med teksten Fortell meg hva du vil gjøre.

Detaljer

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning Systemutviklingsarbeidet et overblikk DRI2001 forelesning 21. sept. 05 Informasjonssystem og datasystem Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer og perspektiver for SU-arbeidet

Detaljer

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO DRI 2001 13.9 : Introduksjon til systemutvikling. Introduksjon til systemutvikling Systemutvikling og nettstedsutvikling Om ulike typer offentlige nettsteder Kvalitetskrav til offentlige nettsteder Litt

Detaljer

Communicate SymWriter: R5. Brett og knapper

Communicate SymWriter: R5. Brett og knapper Communicate SymWriter: R5. Brett og knapper Innhold R5.1 Hva er et brett - en oversikt...2 R5.2 Lage et brett....................................................2 R5.3 Endre utseendet på et brett....6

Detaljer

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering. Bakgrunn Modellering har lenge vært et kjent begrep innen systemutvikling. På 80-tallet ble metoder som Yourdon/Demarco og Gane&Sarson brukt for å lage dataflyt-diagrammer. Etter hvert ble disse integrert

Detaljer

versjon 1.1 Brukermanual

versjon 1.1 Brukermanual Side 1 05.11.2004 versjon 1.1 Brukermanual Side 2 05.11.2004 Beskrivelse av IKT-verktøy for strukturering og organisering av referanser til store mengder informasjon. GrandView er et program for strukturering

Detaljer

Om prosesser 1. Om prosesser

Om prosesser 1. Om prosesser Tore Berg Hansen 27.1.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV339D Objektorientert systemutvikling 1. Resymé: Denne leksjonen handler om utviklingsprosesser.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 17. august 2012 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

Innholdsfortegnelse: Resymé: Denne leksjon gir en kort og enkelt oversikt over hvilke oppgaver som skal utføres i design- og programmeringsfasen.

Innholdsfortegnelse: Resymé: Denne leksjon gir en kort og enkelt oversikt over hvilke oppgaver som skal utføres i design- og programmeringsfasen. Kort innføring i design og programmeringsfasen Jarle Larsen/Tore Berg Hansen 2.11.04 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO314 Prosjektrettet systemarbeid Resymé:

Detaljer

Brukermanual for kommuneansvarlig og testleder

Brukermanual for kommuneansvarlig og testleder Brukermanual for kommuneansvarlig og testleder Jegerprøveeksamen www.jegerproveeksamen.no Innholdsfortegnelse Kommuneansvarlig... 3 Testleder... 3 Opprette testsenter og testledere... 3 Teknisk godkjenning

Detaljer

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen Tid: Mandag 06.08.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent

Detaljer

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren

Detaljer

Oppsummering. Thomas Lohne Aanes Thomas Amble

Oppsummering. Thomas Lohne Aanes Thomas Amble Oppsummering Thomas Lohne Aanes Thomas Amble 14.11.04 Kapittel 2: Data Modell Mål: Data som skal brukes av applikasjonen blir spesifisert på en formell og likevel intuitiv måte. Resultat: Vi får et konseptuelt

Detaljer

Livsløpstesting av IT-systemer

Livsløpstesting av IT-systemer Livsløpstesting av IT-systemer Testing, validering og evaluering Teste Undersøke ved hjelp av tester om systemet fungerer slik det er beskrevet Validere Bekrefte hvordan systemet virkelig fungerer, om

Detaljer

Kapittel 3: Litt om representasjon av tall

Kapittel 3: Litt om representasjon av tall MAT1030 Diskret Matematikk Forelesning 3: Litt om representasjon av tall, logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 3: Litt om representasjon av tall 20. januar 2009

Detaljer

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider

Detaljer

Teori om sikkerhetsteknologier

Teori om sikkerhetsteknologier Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt 22.8.2007 Lærestoffet er utviklet for faget LN479D/LV473D Nettverksikkerhet Innhold 1 1 1.1 Introduksjon til faget............................

Detaljer

Tittel Objektorientert systemutvikling 2

Tittel Objektorientert systemutvikling 2 EKSAMENSFORSIDE Fagnr. OBJ208 Tittel Objektorientert systemutvikling 2 Ansvarlig faglærer Viggo Holmstedt Klasse(r) Dato IS/IN 2 11.06.2009 Eksamensoppgaven Ant. sider inkl. består av følgende: forside

Detaljer

Det er frivillig å delta i spørreundersøkelsen, ingen skal vite hvem som svarer hva, og derfor skal du ikke skrive navnet ditt på skjemaet.

Det er frivillig å delta i spørreundersøkelsen, ingen skal vite hvem som svarer hva, og derfor skal du ikke skrive navnet ditt på skjemaet. 7 Vedlegg 4 Spørreskjema for elever - norskfaget Spørsmålene handler om forhold som er viktig for din læring. Det er ingen rette eller gale svar. Vi vil bare vite hvordan du opplever situasjonen på din

Detaljer

To likninger med to ukjente

To likninger med to ukjente To likninger med to ukjente 1. En skisse av undervisningsopplegget Mål Målet er at elevene skal lære seg addisjonsmetoden til å løse lineære likningssett med to ukjente. I stedet for å få metoden forklart

Detaljer

AlgDat 10. Forelesning 2. Gunnar Misund

AlgDat 10. Forelesning 2. Gunnar Misund AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):

Detaljer

Testrapport for Sir Jerky Leap

Testrapport for Sir Jerky Leap Jasmine Garry (s135600) Line Sørensen (s135590) Fredrik Hoem Grelland (s135595) Tor Anders Gustavsen (s127668) 1 1. Forord Dette dokumentet inneholder informasjon og redegjøring av tester foretatt i forbindelse

Detaljer

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett Oblig 2, SLI250 Et kortfattet analyse og designdokument for register på nett Harald Askestad haraldas@uio-pop.uio.no 2. oktober 2000 Innhold Innledning 2 2 Systemdefinisjon 2 3 Objektmodell 2 4 Funksjoner

Detaljer

Prosjektarbeid og oppgaveskriving

Prosjektarbeid og oppgaveskriving Prosjektarbeid og oppgaveskriving Prosjekt Definisjon og historisk utvikling Prosjekt typer Arbeidsmetodikk Oppgave skriving Tema: Forskjellen mellom åpne og lukkede prosjekter. Hvordan teorien behandle

Detaljer

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004 PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004 VERSJON: PROSJEKTPLAN (1.0) 24. SEPTEMBER, 2004 prosjektplan.doc GRUPPE 12 PROSJEKTPLAN: PROSJEKTLEDELSE: USE CASE: KVALITETSSIKRING: ANDRÉ

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

Shellscripting I. Innhold

Shellscripting I. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring

Detaljer

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING INF1050 V16 HVA ER KRAVHÅNDTERING? Kravhåndtering er prosessen å identifisere, analysere og spesifisere kravene til et nytt system eller et system som skal forbedres

Detaljer

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering Kræsj-kurs i sanntidsprogrammering 1. Amanuensis Sverre Hendseth Teknisk Kybernetikk. http://www.itk.ntnu.no/ansatte/hendseth_sverre/ Plan for dagen Programmering intro Tråder & Synkronisering Non-preemptive

Detaljer

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid Greta Hjertø og Tore Berg Hansen 30.08.2005 Revidert av Kjell Toft Hansen

Detaljer

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås, System integration testing Forelesning Systems Testing UiB Høst 2011, Ina M. Espås, Innhold Presentasjon Hva er integration testing (pensum) Pros og cons med integrasjonstesting Når bruker vi integration

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

Innhold. Innledning... 15. Del 1 En vei mot målet

Innhold. Innledning... 15. Del 1 En vei mot målet Innledning.............................................. 15 Del 1 En vei mot målet Kapittel 1 Utviklingsarbeidet.............................. 22 1.1 Systemutviklerens arbeid...............................

Detaljer

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28 Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og

Detaljer

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 30.04.2007. IMT2243 : Systemutvikling 1

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 30.04.2007. IMT2243 : Systemutvikling 1 Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring

Detaljer

Foreldreveileder i hvordan lære å lese og å oppnå bedre leseflyt med «Tempolex bedre lesing 4.0», veilederversjon 1.0

Foreldreveileder i hvordan lære å lese og å oppnå bedre leseflyt med «Tempolex bedre lesing 4.0», veilederversjon 1.0 Foreldreveileder i hvordan lære å lese og å oppnå bedre leseflyt med «Tempolex bedre lesing 4.0», veilederversjon 1.0 Du sitter foran datamaskinene og har fått i oppgave fra skolen å øve Tempolex med barnet

Detaljer

Overordnet beskrivelse

Overordnet beskrivelse N O R K A R T G E O S E R V I C E A S Desember 2010 INNHOLD 1 INTRODUKSJON... 4 2 NAVNETJENESTE... 5 3 PORTAL... 6 4 OBJEKTKATALOG... 6 5 ARKIV... 7 6 ADMINISTRASJONSPROGRAMMER... 8 7 TILGANGSAPI... 8

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

Requirements & Design Document

Requirements & Design Document Requirements & Design Document Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk SRD 03/04/2018 Systemutvikling og dokumentasjon/ia4412

Detaljer

kan flere studenter falle av underveis, da det er vanskelig for faglærer å se hvem som kan ha nytte av å følges opp ekstra.

kan flere studenter falle av underveis, da det er vanskelig for faglærer å se hvem som kan ha nytte av å følges opp ekstra. Visjonsdokument 1 Introduksjon Dette prosjektet er gitt av Svend Andreas Horgen, og gjennomføres som en prosjektoppgave i faget TDAT3022-A 14H Systemutviklingsprosjekt ved HiST, AiTEL. Hensikten med dette

Detaljer

Tallinjen FRA A TIL Å

Tallinjen FRA A TIL Å Tallinjen FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til tallinjen T - 2 2 Grunnleggende om tallinjen T - 2 3 Hvordan vi kan bruke en tallinje T - 4 3.1 Tallinjen

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun) Side 1 av 5 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering... Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...9 2 Forord Denne kravspesifikasjonen har blitt utviklet i

Detaljer

Romlig datamanipulering

Romlig datamanipulering Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program.

Detaljer

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon Klask-en-Muldvarp Introduksjon App Inventor Introduksjon I denne oppgaven skal vi lage et veldig enkelt spill med litt animasjon. Det som skal skje er at en muldvarp hopper rundt på spillbrettet mens du

Detaljer

Trip Tracker - Tracks your trip. Harald H. Tjøstheim Dagfinn Rasmussen Jan Magne Tjensvold

Trip Tracker - Tracks your trip. Harald H. Tjøstheim Dagfinn Rasmussen Jan Magne Tjensvold Trip Tracker - Tracks your trip Harald H. Tjøstheim Dagfinn Rasmussen Jan Magne Tjensvold Våren 2006 Sammendrag Trip Tracker er et klient-tjener system for sporing og plotting av koordinater fra en GPS-mottaker

Detaljer

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad IN1000 - Høst 2019 Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad Velkommen! I dag Første innføring i Python Hva fikk dere med dere og hvem er dere? (mentimeter)

Detaljer

Øvingsforelesning TDT4105

Øvingsforelesning TDT4105 Øvingsforelesning TDT4105 Gjennomgang øving 9, intro øving 10. Eksamensoppgaver. Benjamin A. Bjørnseth 10. november 2015 2 Oversikt Praktisk Gjennomgang øving 9 Introduksjon sudoku Oppgave 4 Kont-eksamen

Detaljer

1. Mer om iterative utviklingsprosesser

1. Mer om iterative utviklingsprosesser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Mer om iterative utviklingsprosesser Tore Berg Hansen 8.11.2005 Lærestoffet er utviklet for faget LV339D Objektorientert ssytemutvikling

Detaljer

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere. Soloball Introduksjon Scratch Introduksjon Vi skal nå lære hvordan vi kan lage et enkelt ballspill med Scratch. I soloball skal du styre katten som kontrollerer ballen, slik at ballen ikke går i nettet.

Detaljer

1. Mer om oppbyning av XML-dokument

1. Mer om oppbyning av XML-dokument Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Mer om oppbyning av XML-dokument Lene Hoff 2.9.2013 Lærestoffet er utviklet for faget XML Teknologi 1. Mer om oppbyning av XML-dokument Resymé:

Detaljer