Produktdokumentasjon. Lars Martin Bredal Morten Byhring Tom Erik Iversen. Høgskolen i Oslo, avdeling for ingeniørutdanning 23.

Størrelse: px
Begynne med side:

Download "Produktdokumentasjon. Lars Martin Bredal Morten Byhring Tom Erik Iversen. Høgskolen i Oslo, avdeling for ingeniørutdanning 23."

Transkript

1 Produktdokumentasjon Lars Martin Bredal Morten Byhring Tom Erik Iversen Høgskolen i Oslo, avdeling for ingeniørutdanning 23. mai

2 Innhold 1 Innledning 3 2 Beskrivelse av programmet 3 3 Verktøy Perl VRML HTML CGI MySQL Apache XML Oppbygging av programmet Import DAL Forretningslag VRML Generator Visualiseringsteknikkene GroupVisualizer.pm PyramidVisualizer.pm Nodevisualizer.pm SpiralVisualizer.pm Brukergrensesnitt Sentrale datastrukturer Database Videre utvidelser 15 Figurer 1 Eksempel på tabeller Systemoversikt Systemets oppbygning

3 1 Innledning Dette dokumentet forklarer og beskriver produktet laget av gruppe Det beskriver teknologier brukt og oppbygning av systemet. Dokumentet er i første rekke laget for veileder og sensor. Det kreves noe forkunnskap om informasjonsteknologi for å forstå helheten av dette dokumentet. Teksten er uthevet når det skrives om spesifikke deler av programmet, for å gjøre det lettere å skille mellom kode og tekst. Produktdokumentasjon er optimalisert for papirutskrift. 2 Beskrivelse av programmet LCFGVisualizer (heretter forkortet LV) sitt bruksområde er uthenting av konfigurasjonsdata og visualisering av konfigurasjons(u)likhet. Dataene hentes fra en ekstern LCFG-server (Local ConFiGuration system). LCFG er et system for automatisk installasjon og administrasjon av konfigurasjonen for et stort antall maskiner. Filene distribuert av LCFG blir tolket av LV, og konfigurasjonsdata som egner seg til visualisering blir lagret i intern database. Disse dataene blir brukt av LV sin visualiseringsmaskin til å produsere en tredimensjonal fremstilling av datamaterialet. 3 Verktøy Programmet benytter seg av flere forskjellige teknologier for å oppnå sluttresultatet. Dette avsnittet gir en kort beskrivelse av teknologiene som benyttes av systemet. 3.1 Perl Perl er et dynamisk programmeringsspråk laget først og fremst for rask tekstmanipulasjon. Det har blitt inspirert av språk som C, AWK og Lisp, og er i disse dager brukt til en bred mengde arbeidsoppgaver - for eksempel nettverksprogrammering, brukergrensesnitt, webgrensesnitt med mer. Perl har mange innebygde moduler som man kan dra nytte av, og CPAN (Comprehensive Perl Archive Network) tilbyr mange tredjepartsmoduler, som kan forbedre og forenkle forskjellige oppgaver. 3

4 3.2 VRML Virtual Reality Modelling Language er et hendelsesdrevet modelleringsspråk, designet for å utvikle tredimensjonale miljøer for distribusjon på nett. Det omfatter 3D-figurer, farger, teksturer og lyder for en virtuell verden som en bruker kan bevege seg rundt i. Språket blir tolket av en VRML-leser og presentert på skjerm. Den nåværende spesifikasjonen, VRML 97 1, støtter integrasjon av flere dynamiske programmeringsspråk. Dette tillater den virtuelle verden å være dynamisk. 3.3 HTML HyperText Markup Language er et språk utviklet for distribusjon og presentasjon av informasjon på Internett. HyperText betyr at en bruker kan navigere fritt mellom forskjellige dokumenter. Markup er hva HTML-taggene skal gjøre med teksten i dokumentet. HTML er relativt lett å lære, og er et kraftig verktøy.. HTML er i konstant utvikling for å møte nye krav og revideres av W3C CGI Common Gateway Interface er en standard for å tilby et grensesnitt mellom en ekstern applikasjon og en informasjonsserver (for eksempel en web-server). Et CGI-program blir eksekvert i sanntid, noe som gir muligheten til å vise dynamisk informasjon. Den innebygde CGI-modulen til Perl gjør det mulig å lage og vise dynamiske websider. 3.5 MySQL My Structured Query Language er et system for administrasjon av realsjonsdatabaser. MySQL tilbyr et grensesnitt mellom en bruker og en database, hvor brukeren gis mulighet til å aksessere, endre og prosessere data i databasen. Perl har en innebygd modul kalt DBI (database interface) som kan tolke flere typer databasespråk. Dette grensesnittet kan bruke MySQL til å kjøre spørringer og transaksjoner mot en database

5 3.6 Apache Apache er en webtjener som kan konfigureres til å kjøre eksterne programmer gjennom CGI og MySQL. 3.7 XML XML står for extensible Markup Language og er en standard for lagring av strukturert informasjon. Syntaksen ligner på HTML, men tillater brukeren å utvide språket med sine egne elementer. 4 Oppbygging av programmet Programmet består av to seksjoner, se figur 2. Den ene har som oppgave å tolke XML-filer og importere data til systemets database. Den andre seksjonen tolker de importerte dataene og genererer visualiseringene. Programmet er i tillegg delt opp i en hierarkisk lagstruktur, der hvert lag har sitt ansvars- og bruksområde; dataaksess, visualisering og presentasjon. For illustrasjon, se figur 3. Presentasjonslaget tilbyr brukergrensesnittet (GUI). Det er to typer brukergrensesnitt i LV: Webgrensesnittet, der brukeren velger data til visualisering, og de genererte visualiseringene, som vises med en VRML-leser. Disse to er slått sammen i et vindu, eller kan vises hver for seg. Forretningslogikklaget (BLL) har ansvaret for å produsere en grafisk fremstilling av dataene i databasen. Tar i mot kriterier fra GUI, henter relevant informasjon gjennom DAL, og genererer VRML-kode. Dataaksesslaget (DAL) har ansvaret for å gjøre spørringer mot database, og returnere spørringsresultatene i hensiktsmessige datastrukturer. Importdelen har ansvaret for å sortere ut ønsket informasjon fra XMLfiler, og legge dette inn i en intern database. Dataimportereren henter parameter fra en sentral konfigurasjonsfil og setter opp datastrukturen. XML-filene blir tolket, verdier blir hentet ut og sendt videre til DAL (dataaksesslag) for å bli lagret. 5

6 4.1 Import Skriptet XML_to_DB.pl er ansvarlig for å importere data til databasen. Skriptet henter først ut informasjon om hvilke data som skal importeres fra en konfigurasjonsfil og deklarerer hva som skal bli tabeller og kolonnenavn i databasen. Den sjekker mot databasen om tabellene eksisterer fra før, og gjør eventuelle endringer hvis databasen ikke samsvarer med gjeldende konfigurasjon. Modulen Perl::LibXML brukes til å tolke XML-filene. I hver fil er det en obligatorisk komponent som kalles <last_modified>, som angir den datoen siste endring er blitt gjort fra LCFG-server. Denne datoen blir hentet opp av skriptet, som går videre til neste fil hvis maskin og dato allerede er lagt inn i database. Selv om det er ny dato i forhold til den som finnes i databasen, betyr ikke det at dataene som skal importeres er endret. Derfor kontrollerer skriptet om de nye verdiene allerede ligger i databasen, og legger dem bare til hvis de faktisk er endret. 4.2 DAL Modulen DAL.pm fungerer som vårt dataaksesslag. Den har to bruksområder; hente ut informasjon fra database til BLL, og legge inn data fra importskriptet XML_to_DB.pl. Metodene for import og ekstrahering av verdier er generiske. Det vil si at databasespørringene ikke har tabell eller felt angitt, men får dette som parametere fra overliggende lag. Det som i hovedsak skiller disse metodene fra hverandre er oppbygningen til SQL-spørringene og datastrukturen på returverdiene. Siden databasestrukturen kan endres, har DAL også metoder for å beskrive den gjeldende databasestrukturen. Viktige metoder new() Returverdi: Referanse til opprettet objekt Metoden bruker først hjelpemetoder innad i klassen, for å hente parameter fra en lokal konfigurasjonsfil. Der ligger blant annet tilkoblingsinformasjon til databasen. Returnerer så en referanse til seg selv som objekt. 6

7 getvscdtables() Returverdi: Tabell med strenger som representerer de gyldige tabellene i databasen Søker etter tabeller i databasen som oppfyller våre spesifikke krav til tabellstruktur (machinename og last_modified som primærnøkkel) og returnerer en tabell over disse. Ved import av en ekstern database er denne nyttig, siden det da er mulig at tabellene i den nye databasen ikke samsvarer med konfigurasjonsfilen. Systemet kan dermed fortsatt kunne bruke den nye databasen. getnodeinformation() Antall parameter: 1(2) (Streng maskinnavn, Streng dato (valgfritt)) Returverdi: Sammenfiltret hash (tabellnavn => feltnavn => feltverdi) Henter alle de nyeste verdiene til en maskin i en database. Sender man med dato, vil den returnere den nyeste informasjonen opp til denne datoen. Metoden returnerer en hash over tabellnavn som peker på hasher over feltnavn som igjen peker på deres respektive verdier. getallnodesinformation() er en lignende metode, som returnerer en hash-struktur med informasjon om alle nodene registrert i databasen. getallnodes() Returverdi: Tabell over alle maskinnavn i databasen Henter ut alle nodenavn som er registrert i databasen ved hjelp av profile-tabellen. <profile> er den eneste komponenten som er obligatorisk under <components> i XML-filene. Spørringen innad i metoden ligger statisk. getnodeswithchosencriteriahash() Antall parameter: 3 (Streng tabellnavn, Streng feltnavn, Streng verdi) Returverdi: Hash (Maskinnavn => verdi) Henter alle noder som oppfyller en bestemt verdi. Spesielle variable %preferredfields er en hash over ønsket visualiseringsinformasjon $VRMLFILEPATH er filkatalogen til utskriftsfil 7

8 4.3 Forretningslag VRML Generator VRML Generator er den største klassen i systemet, og brukes av alle visualiseringsmodulene. Klassens hovedoppgave er å generere gyldig VRML-kode basert på attributter og metoder som blir kalt av de ulike visualiseringsmodulene. Klassen er delt opp i følgende seksjoner: Nyttemetoder: Dette er metoder som kan brukes av enhver visualiseringsteknikk. Typiske funksjoner inkluderer generering av ulike farger og posisjoner, samt konvertering av tekststrenger til gyldig VRML-syntaks. Generelle VRML-metoder: Dette er også felles, generiske metoder som returnerer vanlige VRML-noder, blant annet Timer, Transform, Group, Interpolator og Text. Definisjons- og protometoder Protonoder er egendefinerte nodetyper som består av en eller flere VRML-noder, felt og Scripts. Først defineres nodens oppbygging, deretter kan det opprettes objekter av denne. Disse brukes i visualiseringene til å definere utseende og oppførsel til blant annet maskinnoder, synsvinkler (Viewpoints) og menyer. Det er to varianter av Protometodene. Den ene varianten genererer statiske strenger som definerer VRML Protonoder. Den andre lager en deklarasjon av et objekt av den korresponderende Protodefinisjonen. For å benytte en Proto i VRML må først definisjonsmetoden kalles en gang for å angi definisjonen, og deretter å kalles deklarasjonsmetoden for hvert objekt som skal opprettes. For en mer utdypende forklaring av VRML-noder og syntaks, referer til VRML97- spesifikasjonen beskrevet i 3.2. Generelle metoder for visualisering: Denne seksjonen inneholder metoder som genererer noen egendefinerte VRML-noder som kan brukes av alle visualiseringene. Det er metoder for å lage grupperingsnoder, start/stopp-knapp, en kalender og maskinnoder. Den kanskje viktigste metoden i denne seksjonen genererer et skjelett for menyen som brukes av alle visualiseringsteknikkene. 8

9 vrmlhud() Antall parameter: 4 (Streng children, Flyttall x, Flyttall y, Flyttall z) Returverdi: Streng av VRML-kode Metoden tar imot en streng som inneholder vrml-koden for alle menyelementene, og tre flyttall som angir størrelsen på en sensor som sørger for å holde menyen i riktig posisjon. Returverdien er en ny streng som inneholder den komplette VRML-koden for menyen. Spesifikke metoder for hver visualiseringsteknikk: Denne seksjonen er videre delt opp i en del for hver spesielle teknikk. Her legges spesifikke metodekall som kun brukes av en enkelt visualisering. Spiralvisualiseringen har ingen metoder i denne seksjonen. Metoder brukt av gruppevisualiserer: Det er to spesielle metoder som benyttes for å generere gruppevisualiseringen. criteria2nodesanchornavi() Antall parameter: Tabell av tekster Returverdi: Streng av VRML-kode Denne metoden lager VRML-koden for grupperingsnodene. Metoden bruker antallet parametere til å beregne posisjoner for nodene og oppretter en grupperingsnode for hver streng i parameterlista. For hver av disse beregnes et VRML-viewpoint for å se noden med tilhørende satellitter på nært hold. I tillegg beregnes et standard viewpoint der alle gruppene er synlige. groupvisdefnodes() Antall parameter: Hash med maskinnavn som nøkler. Returverdi: Streng med VRML-kode Denne metoden lager VRML-koden for elementene som skal settes inn i HUD-menyen i tillegg til et sett Script-noder for å styre av visning av hver maskintype. Først lager metoden ett menyelement som brukes til å starte animasjonen av maskinene, og ett som brukes for å slå av og på visning av tredje kriterium. Deretter genereres et menyelement for hver nøkkelverdi i hashen. Disse bygges opp av nøkkelteksten og en farget boks som senere også brukes for å representere en maskin med tilsvarende verdi. Fargen på boksen løper mellom 36 forskjellige 9

10 verdier fra den globale noe som betyr at dersom antallet verdier i hashen overstiger dette, vil samme farge brukes på nytt. Definisjonen av boksen som genereres vil derimot være unik slik at de tilhørende maskinene kan filtreres ut i visualiseringen. Metoder brukt av pyramidevisualisereren: Det er to metoder som er spesielle for pyramidevisualiseringen. Metoden pyramidmenuitems() lager VRML-kode for menyelementene til HUD-menyen, mens metoden pyramidstep() lager VRML-koden for et pyramidetrinn. Metoder brukt av nodevisualisereren: Her ligger metoder som bare brukes av nodevisualiseringen. Metoden defnodes() genererer satelittnodene og menyen, og virker på samme måte som metoden for groupvisdefnodes() i gruppevisualisereren. Metoden vrmlstaticgridtransforms() genererer vrmlkoden for de to nodene som skal sammenlignes og vrmlmakeils() lager forbindelseslinjene mellom disse og satelittnodene Visualiseringsteknikkene Felles for alle visualiseringsteknikkene er at de tar imot et eller flere felter fra databasen, og danner grupper basert på de forskjellige verdiene som feltene kan ha. En visualisering dannes av ett eller flere slike kriterier, og de ulike teknikkene utformer gruppene visuelt. Alle visualiseringsteknikkene avhenger av VRML_Generator.pm for generering av VRML-kode, og DAL.pm for databaseinformasjon GroupVisualizer.pm Denne klassen lager en visualisering der alle maskinene først blir fargekodet og deretter plassert rundt en tilhørende grupperingsnode basert på henholdsvis første og andre kriterium. I tillegg kan man velge å sette et tredje kriterium som blir markert ved at noden er snudd 45 grader og roterer rundt y-aksen. Viktige metodekall new() Antall parameter: 4 påkrevde ( string tabell, string felt, string tabell2, string felt2) + 3 valgfrie (string tabell3, string felt3, string verdi3) 10

11 Returverdi: En referanse til opprettet objekt Ved opprettelse av GroupVisualizer-objekter kreves fire parameter som angir tabell og felt for henholdsvis første og andre kriterium. Hvis man vil sette det tredje kriteriet, kan man sende med ytterligere tre parameter for å angi tabell, felt og verdi for dette. generateworld() Returverdi: Streng med VRML-kode er hovedmetoden som står for selve visualiseringen. Først henter metoden de nødvendige dataene via DAL.pm. Dataene lagres i en hash for hvert kriterium. For første og andre kriterium inneholder hashen maskinnavn og verdi, mens hashen for tredje kriterium kun inneholder maskinnavnet siden verdien allerede er kjent. Deretter genereres VRML-fila ved hjelp av metodene makedefnodes() og makenodes() i tillegg til metoder i klassen VRML Generator. makedefnodes() Returverdi: Streng med VRML-kode Genererer et sett med definisjonsnoder der hver distinkte verdi av første kriterium representeres av en farge. Disse nodene brukes som grunnlag for menyen og for farge på hver maskin. makenodes() Returverdi: Streng med VRML-kode Genererer vrmlkode for alle maskinene. Metoden løper gjennom de tre hashene og plasserer maskinene i grupper basert på andre kriterium, mens definisjonsnodene som ble laget av makedefnodes() brukes som grunnlag for fargen. Det tredje kriteriet representeres ved å sette en boolsk variabel som utløser animasjon av maskinen PyramidVisualizer.pm Denne klassen visualiserer grupper i form av en pyramide med tre trinn. Det nederste trinnet representerer alle maskiner som finnes i databasen; trinnet i midten representerer alle maskiner som oppfyller et gitt kriterium; og det øverste representerer maskinene som både oppfyller kriteriet fra trinn to, samt nok et kriterium. 11

12 Viktige metodekall new() Antall parameter: 6 (string tabell, string felt, string verdi, string tabell2, string felt2, string verdi2) Returverdi: Referanse til opprettet objekt. De tre første parameterne som kreves ved opprettelse av et PyramidVisualizer-objekt representerer tabell, felt og verdi i databasen for det første kriteriet som skal tilfredsstilles, mens de tre siste representerer de tilsvarende verdiene for det andre kriteriet. generateworld() Returverdi: Streng med VRML-kode Selve pyramiden genereres fra denne metoden, som først henter ut data fra databasen via modulen DAL.pm, for så å beregne størrelsen på hvert trinn og lage VRML-koden ved hjelp av modulen VRML Generator.pm Nodevisualizer.pm Denne klassen lager en visualisering som sammenligner komponentinformasjonen til to maskiner. De to maskinene i parameterlista er angitt som noder i visualiseringen, og peker på tilhørende komponenter. De tilhørende tabellene til komponentene utgjør et gitter, og komponentene er gruppert under disse. Klassen henter nodeinformasjon om hver av maskinene fra DAL, og slår disse sammen til én datastruktur. Blir det ikke angitt dato, hentes nyeste informasjon fra hver av maskinene. Hjelpemetodene innad i klassen bruker globale variable, og trenger derfor ingen parameter. Viktige metodekall new() Antall parameter: 3 (string maskinnavn1, string maskinnavn2, Date dato) Returverdi: Referanse til opprettet objekt Konstruktøren som oppretter og returnerer en referanse til objekt av Nodevisualizer.pm. 12

13 generateworld() Returverdi: Streng med VRML-kode Dette er hovedmetoden for selve visualiseringen. Den genererer VRML-kode ved hjelp av de lokale metodene makedefnodes() og makenodes(). Metoden henter også ut generell VRML-kode fra VRML Generatoren, og returnerer til slutt koden i form av en strengvariabel. makedefnodes() Returverdi: Streng med VRML-kode Genererer et sett med definisjonsnoder ut fra tre forskjellige fargedistinksjoner; én for komponentene til første maskin, én for komponentene til andre maskin og én for komponenter som har lik konfigurasjon. Disse nodene vil brukes som grunnlag for menyen og for komponentnoder som vil tilhøre de tre fargene. makenodes() Returverdi: Streng med VRML-kode Genererer alle komponenter tilhørende noder i gitteret og linjene som skal bli trukket fra maskin til komponent. Komponentene blir plassert i grupper basert på hvilke tabeller de er hentet fra, og får farge etter hvilken maskin de tilhører SpiralVisualizer.pm Denne klassen tar imot et kriterium og genererer en sfære per unike verdi, der sfærens radius bestemmes av antallet maskiner med sammenfallende verdier. Sfærene plasseres i en spiralform etter størrelse, hvor de største gruppene utgjør sentrum av spiralen. Dersom det er flere datasett tilgjengelig i databasen, og en økning eller reduksjon av antall enkeltnoder i en gruppe forekommer, vil det animeres en skalering av sfærens radius i henholdsvis positiv eller negativ retning, sortert på dato fra eldste til nyeste konfigurasjon. I tillegg vil også sfærenes farge endres, dersom det forekommer andre forandringer i konfigurasjonen til nodene som tilhører en gruppe. Fargeendringen baserer seg på forholdet mellom antall oppdateringer delt på totalt antall maskiner i en gruppe, og det er mulig å endre hvor stort utslaget skal være i farge ved å endre variabelen $changefactor. 13

14 Viktige metodekall new() Antall parameter: 2 ( string tabell, string felt) Returverdi: Referanse av opprettet objekt Oppretter en instans av Spiralvisualisereren, og returner en referanse til objektet. Spesielle variable $changefactor (int) 4.4 Brukergrensesnitt Det er to måter å få bruker til å visualisere på; én ved å skrive perl-script som sender med kriterier til en visualiseringsteknikk, eller bruke web-grensesnittet som følger med. For hver visualiseringsteknikk i BLL, er det opprettet et Perlskript som bruker CGI-protokollen til å dynamisk lage HTML fra BLL. Disse websidene muliggjør selektering av kriteria i form av lister. VRML-filen i seg selv fungerer som et brukergrensesnitt. 5 Sentrale datastrukturer 5.1 Database MySQL (5.0.x) tjener programmets interne database. Datastrukturen spesifiseres ut fra konfigurasjonsfilen, hvor tabell- og feltnavn er definert. Tabellnavnet representerer komponenter fra XML-filene, og barnenoder av disse utgjør kolonnenavn. Maskinnavn og last modified utgjør primærnøkkelen i disse, og de resterende feltene er barnenoder av hovedkomponentene. 6 Videre utvidelser Visualiseringsmotoren er oppbygd i moduler, og det gjør det mulig å lage nye visualiseringsteknikker. Metoden for å sikre SQL-spørringer bør bli utvidet til å sikre absolutt alle mulige tegn. 14

15 Figur 1: Eksempel på tabeller 15

16 Figur 2: Systemoversikt 16

17 Figur 3: Systemets oppbygning 17

Testrapport. Lars Martin Bredal Morten Byhring Tom Erik Iversen. Høgskolen i Oslo, avdeling for ingeniørutdanning 23 mai 2008

Testrapport. Lars Martin Bredal Morten Byhring Tom Erik Iversen. Høgskolen i Oslo, avdeling for ingeniørutdanning 23 mai 2008 Testrapport Lars Martin Bredal Morten Byhring Tom Erik Iversen Høgskolen i Oslo, avdeling for ingeniørutdanning 23 mai 2008 1 Innhold 1 Innledning 3 2 Test av systemet 4 2.1 Ekstrahering av XML.......................

Detaljer

Testrapport. M Byhring, T E Iversen, L M Bredal Høgskolen i Oslo, avdeling for ingeniørutdanning. 20. mai 2008

Testrapport. M Byhring, T E Iversen, L M Bredal Høgskolen i Oslo, avdeling for ingeniørutdanning. 20. mai 2008 Testrapport M Byhring, T E Iversen, L M Bredal Høgskolen i Oslo, avdeling for ingeniørutdanning 20. mai 2008 Forord Dette dokumentet beskriver hvilke tester som er blitt utført på endelig produkt. Testrapporten

Detaljer

Hovedprosjekt 08. M Byhring, T E Iversen, L M Bredal Høgskolen i Oslo, avdeling for ingeniørutdanning. 26 februar, 2008

Hovedprosjekt 08. M Byhring, T E Iversen, L M Bredal Høgskolen i Oslo, avdeling for ingeniørutdanning. 26 februar, 2008 Hovedprosjekt 08 M Byhring, T E Iversen, L M Bredal Høgskolen i Oslo, avdeling for ingeniørutdanning 26 februar, 2008 1 1 Presentasjonsdel 1.1 Forord Dette dokumentet forteller om planleggingen og arbeidsmetodene

Detaljer

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering Brukerdokumentasjon Webservices og webklient for kodeverk/ kodeverdi verifisering Innholdsfortegnelse... 3... 3... 3... 3... 4... 4... 4... 4... 8... 9... 10!... 10 "... 11 # $... 11 1. Om systemet 1.1.

Detaljer

Prosessrapport. Lars Martin Bredal Morten Byhring Tom Erik Iversen. Høgskolen i Oslo, avdeling for ingeniørutdanning 23. mai 2008

Prosessrapport. Lars Martin Bredal Morten Byhring Tom Erik Iversen. Høgskolen i Oslo, avdeling for ingeniørutdanning 23. mai 2008 Prosessrapport Lars Martin Bredal Morten Byhring Tom Erik Iversen Høgskolen i Oslo, avdeling for ingeniørutdanning 23. mai 2008 1 1 Forord Dette dokumentet forteller om planleggingen og arbeidsmetodene

Detaljer

1 Forord. Kravspesifikasjon

1 Forord. Kravspesifikasjon [Type text] [Type text] 3/5 Hovedprosjekt ingeniørutdanningen 09 Kravspesifikasjon Tittel på hovedprosjektet Tarantell Dashboard Gruppe 28 Bjørn Ove Pedersen Stian Dalviken Antall sider 6 Intern veileder

Detaljer

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften Kravspesifikasjon Presentasjon Hovedprosjektet gjennomføres ved Høgskolen i Oslo, avdelingen for ingeniørutdanning. Målet med oppgaven er å utvikle en online webshop for bestilling av postkasser. Dette

Detaljer

Følgende «tommelfinger-regler» bør (må) følges:

Følgende «tommelfinger-regler» bør (må) følges: Notat Denne «oppskriften» er basert på erfaringer om hva som går bra når en benytter Word til å lage navigasjonsdiagrammer. Det finnes sikkert andre måter som også gir et brukbart resultat. Det er bare

Detaljer

Pipfrog AS www.pipfrog.com. Flere nettbutikker og språk

Pipfrog AS www.pipfrog.com. Flere nettbutikker og språk Flere nettbutikker og språk Flere nettbutikker og språk For å nå en bredere kundebase og gi en bedre tjeneste ønsker du kanskje å tillate kundene å velge et språk de foretrekker når de handler. Pipfrog

Detaljer

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Kravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo,

Kravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, Kravspesifikasjon Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 12.01.2013 Public 2013 Aker Solutions Page 1 of 7 Table of Contents Forord... 3 Om bakgrunnen... 3 Presentasjon...

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk Produktdokumentasjon Madison Møbler Administrasjonsside og Nettbutikk 1 1. Forord 1.1 Dokumentasjonen Dette er en teknisk dokumentasjon på produktet som er utviklet. Denne er tiltenkt personer med teknisk

Detaljer

Web fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand

Web fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand Web fundamentals Webdesign 17. januar 2008 Monica Strand Webdesign 17. januar 2008 1 Web design Fagområdet Web design inneholder flere disipliner Grafisk design Informasjonsdesign Brukergrensesnittdesign

Detaljer

Informasjon Prøveeksamen i IN1000 høsten 2018

Informasjon Prøveeksamen i IN1000 høsten 2018 Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når

Detaljer

Doserings DLL. E-resept dokumentasjon. Tekniske krav 0

Doserings DLL. E-resept dokumentasjon. Tekniske krav 0 Doserings DLL E-resept dokumentasjon Tekniske krav 0 Doserings DLL Type dokumentasjon Grensesnitt og funksjonalitet for DoseringsDLL Dato 22.11.2017 Versjon 1.1 Versjonslogg Versjon Sist endret dato Navn

Detaljer

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Produktrapport Forord Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Dataansvarlig eller supporter trenger informasjon om

Detaljer

3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D.

3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. 3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen LocMoC Low Cost Motion Capture. Avatar ( definisjon fra Store Norske

Detaljer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer SymWriter: R6 Innstillinger, preferanser og verktøylinjer Innhold R6.1 Startinnstillinger og utseende...3 R6.2 Tekst og bilder...................................................4 R6.3 Tale og staving...5

Detaljer

Opprette firma. Innhold

Opprette firma. Innhold Innhold Opprette firma... 2 Opprette første firma... 2 Sett tilgang til firma... 5 Opprette nytt firma som kopi... 5 Sett tilgang til firma... 6 Opprette nytt firma... 6 Sett tilgang til firma... 7 Eksport

Detaljer

Innhold Forst a program

Innhold Forst a program Innhold 1 Forstå program 1 1.1 Kom i gang med Java....................... 1 Lese programkode........................ 2 Kompilere og utføre Java-program............... 4 1.2 Den programmerbare maskinen.................

Detaljer

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin. EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 31.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Bokmål 5 (inkludert denne) Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

Detaljer

INF1000: Forelesning 7

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

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14. IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes

Detaljer

Litt om Javas class-filer og byte-kode

Litt om Javas class-filer og byte-kode Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet

Detaljer

4. Dynamisk skjemaer (GUI)

4. Dynamisk skjemaer (GUI) 4. Dynamisk skjemaer (GUI) I drofus kan flere skjermbilder selv defineres av prosjektet. Disse skjermbildene kan redigeres av en med administratortilgang til prosjektet. For tiden kan følgende skjemaer

Detaljer

1 Kodegenerering fra Tau Suiten

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

Detaljer

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

1. Innføring i bruk av MySQL Query Browser

1. Innføring i bruk av MySQL Query Browser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

Detaljer

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen. Artist webside Innhold Artist webside...1 Gruppe medlemmer...1 Oppdragsgiver...1 Kontaktperson...2 Veileder...2 Oppgaven...2 Muligheter...2 Sammendrag...2 Dagens situasjon...2 Mål og rammebetingelser...3

Detaljer

INF1000: Forelesning 7. Konstruktører Static

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

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Nyheter i remote support platform 3.0

Nyheter i remote support platform 3.0 Nyheter Remote support platform for SAP Business One Dokumentversjon: 1.0 08.10.2012 OFFENTLIG Nyheter i remote support platform 3.0 Alle land Typografiske konvensjoner Skriftstil Eksempel Ord eller tegn

Detaljer

Jobbkø. Innhold. Versjon 1.0 Copyright Aditro Side 1 av 18

Jobbkø. Innhold. Versjon 1.0 Copyright Aditro Side 1 av 18 Innhold Jobbkø / Varsling... 2 Jobbkø... 2 Generelt om jobbkø... 2 Hovedfunksjoner... 2 Jobbkø Bestilling og Status... 2 Bestilling... 3 Faste jobber... 5 Status... 6 Jobb... 7 Administrasjon... 8 Konsern...

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 [Kurssidene] [ JBI] [ ] Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Et program som er installert på en tjenermaskin, og som tillater eksterne programmer å utføre spørringer

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,

Detaljer

Produktinfo WebService. integrasjonsbeskrivelse

Produktinfo WebService. integrasjonsbeskrivelse Produktinfo WebService integrasjonsbeskrivelse Innhold PRODUKTINFO WEBSERVICE 1 INTEGRASJONSBESKRIVELSE 1 DOKUMENTINFORMASJON 3 1. ARKITEKTUR OG TEKNOLOGI 4 1.1. ARKITEKTUR OG DATAFLYT 4 1.2. TEKNOLOGI

Detaljer

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og

Detaljer

Forprosjektrapport Bacheloroppgave 2017

Forprosjektrapport Bacheloroppgave 2017 Forprosjektrapport Bacheloroppgave 2017 Chat Modul for Webnodes Content Management System Gruppe 32 Adam Asskali, Anmer Seif, Sara Khan 20.01.2017 Veileder G. Anthony Giannoumis Innholdsfortegnelse 1.Presentasjon

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

Abaris-notat Teknisk beskrivelse av kodeverkskomponent for ICPC-2

Abaris-notat Teknisk beskrivelse av kodeverkskomponent for ICPC-2 Tittel: Dato: 16.03.04 Forfatter: Lars Tungen : 000 Sider/bilag: 5/0 Versjon: A Filnavn: E:\PROSJEKTER\KITH\ICPC\2004\DOKUMENTER\TEKNISK BESKRIVELSE AV KODEVERKSKOMPONENT FOR ICPC.DOC Innhold: 1. Teknisk

Detaljer

Kravspesifikasjon. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23

Kravspesifikasjon. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23 Utvikling av moduler til CMS for bonefish.no Gruppe 08-23 Kravspesifikasjon for hovedprosjektet utvikling av moduler til CMS for bonefish.no ved Høgskolen i Oslo, avdeling for Ingeniørutdanning våren 2008.

Detaljer

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

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

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

Detaljer

Forbedret visualisering og bruk av Infor EAM

Forbedret visualisering og bruk av Infor EAM Forbedret visualisering og bruk av Infor EAM Ikoner og animasjoner Demo Extensibility Framework Open Source Demo Dag Mikal Kjensbekk @ Prevas 2018 Ikoner og animasjoner Noen forekomster i Infor EAM kan

Detaljer

Testsituasjon Resultat Kommentar. Fungerer som det skal!

Testsituasjon Resultat Kommentar. Fungerer som det skal! Test- rapport Testsituasjon Resultat Kommentar Test av PHP-variablene. Sjekke om de er riktig deklarert, og om de kommer med fra form til database Alle variablene som skal leses fra konfigurasjonssiden,

Detaljer

Brukerhåndbok Programområde

Brukerhåndbok Programområde Les denne håndboken nœye fœr du bruker maskinen, og oppbevar den for fremtidig referanse. Brukerhåndbok Programområde INNHOLD Slik leser du denne håndboken... 2 Symboler som brukes i håndbøkene...2 Ansvarsfraskrivelse...

Detaljer

Versjonsbrev. for Extensor05 versjon 1.16

Versjonsbrev. for Extensor05 versjon 1.16 Versjonsbrev for Extensor05 versjon 1.16 Bodø, 28. desember 2011 Innhold Viktig informasjon... 3 Generelt... 3 Extensor Kode Oppdatering... 4 Personalia... 4 Pårørende... 4 Serieinfo... 5 Rom... 5 EKG

Detaljer

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1 Arbeidskrav 1 Se fremdriftsplanen for innleveringsfrist Emneansvarlig: Olav Dæhli 1 Skjemaer Løsningen skal inneholde minst 3 skjemaer (Forms) Ett av skjemaene skal være en meny som kan åpne de andre skjemaene

Detaljer

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten

Detaljer

Lablink 2.x brukerveiledning

Lablink 2.x brukerveiledning Lablink 2.x brukerveiledning Innledning Lablink er et program for å motta bestillinger som dine kunder gjør via Netlifes bestillings tjenester. Når en bestilling er gjort av en kunde, vil ordren være tilgjengelig

Detaljer

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om

Detaljer

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav. Kravspesifikasjon I dette kapittelet foreligger kravspesifikasjonen som ble utformet tidlig i prosjektprosessen. Dette er den opprinnelige kravspesifikasjonen. Det har igjennom prosjektprosessen vært naturlig

Detaljer

UNIVERSITETET I OSLO

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

Detaljer

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014

Detaljer

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Eivind Gard Lund 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Informasjon Semantikksjekk Kodegenerering Oblig 2 tilgjengelig på kurssiden Bygger på deres oblig 1 kode. Det er lagt ut

Detaljer

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Fram mot eksamen Tirsdag 21/11 Repetisjon. Send inn behov/ønsker til : terjery@idi.ntnu.no

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale. Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig

Detaljer

Obligatorisk oppgave 5: Labyrint

Obligatorisk oppgave 5: Labyrint Obligatorisk oppgave 5: Labyrint INF1010 Frist: mandag 24. april 2017 kl. 12:00 Versjon 1.0 (1709ba6 ) Innhold 1 Innledning 2 2 Notasjon og terminologi 3 2.1 Formelle definisjoner.........................

Detaljer

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk System Dokumentasjon Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk System Dokumentsjon 23/04/2018 Systemutvikling og dokumentasjon/ia4412

Detaljer

Administrering av SafariSøk

Administrering av SafariSøk Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...

Detaljer

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

Detaljer

Forms Composer. Document Producer 1. Document Producer

Forms Composer. Document Producer 1. Document Producer 1 Lexmark TM versjon 3.1 kombinerer designprogramvare for e-skjemaer med en serverapplikasjon for e-skjemaer. Nå kan du lage egendefinerte skjemaer og sette dem sammen med skript, slik at du kan generere

Detaljer

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette

Detaljer

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

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

Detaljer

SolidPlant er perfekt for deg som jobber med design av rørsystemer og anlegg, og er kjent med SolidWorks.

SolidPlant er perfekt for deg som jobber med design av rørsystemer og anlegg, og er kjent med SolidWorks. SolidPlant, det eneste virkelig spesifikasjonsstyrte anleggsdesign programmet for SolidWorks. Ved å kombinere intuitive parametrisk styrte SolidWorks med en sofistikert database for å generere alle komponenter

Detaljer

Gå til settings i gruppen ISY Beskrivelse. Velg ønsket lisens og trykk OK. Brukeren må starte Civil 3D på nytt for å aktivere lisens

Gå til settings i gruppen ISY Beskrivelse. Velg ønsket lisens og trykk OK. Brukeren må starte Civil 3D på nytt for å aktivere lisens Ny versjon av Plug-in krever nesten alltid ny versjon av ISY Beskrivelse eller ny config.ifcc. Endringer på oppsett i Plug-in skal videre håndteres via import til ISY Beskrivelse. For å fange opp endringene

Detaljer

S y s t e m d o k u m e n t a s j o n

S y s t e m d o k u m e n t a s j o n S y s t e m d o k u m e n t a s j o n Monitorering av produksjonsløyper ved Nasjonalbiblioteket - Project BAKE Utarbeidet av: Einar Wågan Kristian Akerhei Studium: Informasjonssystemer Innlevert: 26.5.2015

Detaljer

IN1010 V18, Obligatorisk oppgave 5

IN1010 V18, Obligatorisk oppgave 5 IN1010 V18, Obligatorisk oppgave 5 Innleveringsfrist: Tirsdag 17.04. kl 10:00 Versjon 1.3 (12.04.2018) Sist modifisert av Silje Merethe Dahl. Innledning I denne oppgaven skal du bruke rekursjon til å lage

Detaljer

Entobutikk 2.PRODUKTRAPPORT VÅR 2011

Entobutikk 2.PRODUKTRAPPORT VÅR 2011 2.PRODUKTRAPPORT VÅR 2011 1 DELKAPITTEL 1 FORORD Denne produktrapporten inneholder detaljer om produktet vi har utviklet samt programmessig oppbygning, illustrasjoner, diagrammer over produktet, funksjoner

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

SiteGen CMS. Innføringsmanual

SiteGen CMS. Innføringsmanual SiteGen CMS Innføringsmanual Copyright Barlind Solutions AS 2008 Hva er SiteGen CMS? SiteGen CMS er et såkalt content-management-system; eller med litt andre ord et publiseringssystem. Det kan brukes til

Detaljer

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. 1 Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. (Læreboka kapittel 2-5) Legg merke til den første blokken,

Detaljer

Avatar ( definisjon fra Store Norske Leksikon )

Avatar ( definisjon fra Store Norske Leksikon ) 3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen LocMoC Low Cost Motion Capture. Avatar ( definisjon fra Store Norske

Detaljer

Gruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298

Gruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298 Gruppe prosjekt del 3 INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298 Del 1 Forholdet mellom HTML, JavaScript og MongoDB HTML, er et markeringsspråk for hypertekst. HTML benyttes for å strukturere

Detaljer

Innhold Forstå program iii

Innhold Forstå program iii Innhold 1 Forstå program 1 1.1 Kom i gang med Java....................... 1 Lese programkode........................ 2 Kompilere og utføre Java-program............... 4 1.2 Den programmerbare maskinen.................

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

Dette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen.

Dette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen. 1 Sammendrag Dette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen. Vår oppdragsgiver, ABTF hadde et ønske om en større web

Detaljer

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram Fastsatt som forskrift av Utdanningsdirektoratet 3. april 2006 etter delegasjon i brev 26. september 2005 fra Utdannings-

Detaljer

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008 Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008 Før du flytter databasene til Lønn 5.0 fra SQL Server 2000 til SQL Server 2005 / 2008 må du ta backup av databasene. Hvis SQL Server 2005 /2008 ikke allerede

Detaljer

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus Kategorisering av programmeringsspråk? Deklarativ vs. imperativ Lav nivå vs. høy nivå Kompilert vs. tolket

Detaljer

ADDML. Archival Data Description Markup Language. Generell del. Versjon PA 0.07 Sist oppdatert: TPD. ADDML_8_2.doc 03/03/2011 1(12)

ADDML. Archival Data Description Markup Language. Generell del. Versjon PA 0.07 Sist oppdatert: TPD. ADDML_8_2.doc 03/03/2011 1(12) ADDML Archival Data Description Markup Language Generell del Versjon PA 0.07 Sist oppdatert: 2010-09-16 TPD ADDML_8_2.doc 03/03/2011 1(12) Innledning... 4 Mål... 4 Historie... 4 Hvordan benytte ADDML...

Detaljer

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

Manual for innlegging av standard sideinnhold og nyheter via «backend»

Manual for innlegging av standard sideinnhold og nyheter via «backend» Manual for innlegging av standard sideinnhold og nyheter via «backend» 23.3.2006 Utarbeidet av: 2 Innlogging og beskrivelse av hovedelement i «backend» For å få tilgang til redigeringsmodul velges følgende

Detaljer

INF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5)

INF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) Map og hashing Ett minutt for deg selv: Hva vet du om maps/dictionarys og hashing fra tidligere?

Detaljer

INF5110. Oblig 2 presentasjon

INF5110. Oblig 2 presentasjon INF5110 Oblig 2 presentasjon Informasjon Oppgaven Semantikksjekk Kodegenerering Bytecode-biblioteket Ant-targets Oppsummering Oversikt Informasjon Oblig 2 tilgjengelig på kurssiden Patch med testfiler

Detaljer

INF2220: Forelesning 3

INF2220: Forelesning 3 INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) ABSTRAKTE DATATYPER 2 Abstrakte datatyper En ADT består av: Et sett med objekter. Spesifikasjon

Detaljer