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

Størrelse: px
Begynne med side:

Download "Prosessrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013"

Transkript

1 Prosessrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, Public 2013 Aker Solutions Prosessrapport Page 1 of 35

2 Tittelside hentes fra hioa.no Public 2013 Aker Solutions Prosessrapport Page 2 of 35

3 Forord Dette er prosessrapporten som er utarbeidet i forbindelse med hovedprosjekt våren 2013 ved Høgskolen i Oslo og Akershus av gruppe 26. Rapporten vil beskrive gangen i utviklingsarbeidet av programmet laget for vår oppdragsgiver Aker Solutions. Det forutsettes at leseren har gjort seg kjent med innholdet i presentasjonsdokumentet, før denne rapporten leses. Ved å samle informasjon om gruppen, oppdragsgiver og oppgaven i et dokument, unngår vi en del gjentakelse for de forskjellige rapportene. Prosessrapporten er først og fremst rettet mot sensor og veileder. Det forutsettes da at leseren har noe datateknisk innsikt. Ved behov kan ordlisten i vedlegg brukes som referanse. I denne ordlisten vil det stå forklaring på datatekniske begreper, og oversikt over hva vi legger i ord og utrykk som brukes gjentatte ganger for å forklare utviklingsprosessen. Gruppen vil henvise spesielt til avsnitt 3.4 om «Faglige utfordringer», som er et relevant avsnitt for den som skal evaluere prosjektet. Prosessrapporten er inndelt i disse hovedkapitlene: Forutsetninger Oversikt over forutsetninger og betingelser som har påvirket utviklingsprosessen. Planlegging og metode En gjennomgang av hvordan planlegging og samarbeid har foregått, og hvilke verktøy vi har brukt i dette henseende. Om utviklingsprosessen Komplett guide til faser og gjennomføring av utviklingen. Vil beskrives så kronologisk og detaljert som nødvendig. Om resultatet Beskrivelse av dokumenter, programmet på CD og nettsiden som skal leveres. Avsluttende del Et konklusjonsavsnitt hvor vi reflekterer over arbeidet og produktet. Rapporten er tilpasset papirformat og vil bli lagt ut på hjemmesiden som et.pdf-dokument. Public 2013 Aker Solutions Prosessrapport Page 3 of 35

4 Innholdsfortegnelse Forord... 3 Innholdsfortegnelse Forutsetninger for oppgaven Rammebetingelser Teknologier og språk Andre betingelser Planlegging og metode Planlegging Metoder og verktøy Skydrive Team Foundation Server Arbeidsmetodikk Arbeidsprosess Møter med oppdragsgiver Arbeidsfordeling Prosjektdagbok Arbeidsplass Om utviklingsprosessen Oppstart Planleggingsfase Utviklingsfase Periode Periode Periode Faglige utfordringer Lesing av forskjellig type filer Rettigheter MVC Effektivitet Internet Explorer Testfase Public 2013 Aker Solutions Prosessrapport Page 4 of 35

5 3.6 Dokumentasjonsfase Kravspesifikasjonen og dens rolle Kravspesifikasjonen Funksjonelle krav Ikke funksjonelle krav Øvrige ønsker Kravspesifikasjonens påvirkning Om resultatet Avsluttende del Samarbeid Læringsutbytte Relasjon til studiene Egne valg Nytteverdi Tilbakemelding fra oppdragsgiver Public 2013 Aker Solutions Prosessrapport Page 5 of 35

6 1 Forutsetninger for oppgaven Forutsetningene og betingelsene beskrevet i dette kapittelet er begrunnet i oppdragsgiverens behov og ønsker, samt gruppens kompetanse og mål for oppgaven. 1.1 Rammebetingelser Gruppen og oppdragsgiver diskuterte hvilket programmeringsspråk som ville lønne seg å bruke for å utvikle løsningen. Vi kom frem til at C# og.net-rammeverket ville føre til det beste resultatet. Dette ble valgt fordi C# er standard utviklingsspråk hos oppdragsgiver, og de er en bedrift hvor mange av produktene som brukes er fra Microsoft, noe som gjør det lettere med systemintegrasjon. Gruppen hadde også kjennskap til C# fra tidligere kurs på skolen, noe som vi tenkte ville være en fordel, da vi kunne fokusere mer på oppgaven, og mindre på å lære oss et nytt språk og rammeverk Teknologier og språk.net-rammeverk.net-rammeverket er en utviklingsplattform laget av Microsoft. Med dette rammeverket er det enklere å utvikle programvare som kjører på Microsoft operativsystemer. C# C# er et objekt-orientert programmeringsspråk utviklet av Microsoft under produksjonen av.net-rammeverket. XML (Extensible Markup Language) Et markeringsspråk (eng. Markup language) brukt ved deling av strukturert data. HMTL HTML (HyperText Markup Language) et markeringsspråk brukt ved strukturering av informasjon som skal vises via en nettleser. CSS CSS (Cascading Style Sheets) er språket brukt for å definere hvordan en HTML- eller XMLfil skal se ut i nettleseren. JavaScript Et skriptspråk brukt for å gjøre en nettside mer dynamisk. Koden kjøres lokalt hos klienten. Public 2013 Aker Solutions Prosessrapport Page 6 of 35

7 Ajax (Asynchronous JavaScript and XML) En teknikk som får en nettside til å gjøre kall mot webserveren uten å laste inn hele siden på nytt. Med asynkrone kall kan man gjøre flere samtidig. jquery Et JavaScript bibliotek som hjelper med manipulering av HTML-filer. Det gjør det enkelt å søke oppover og nedover i DOM-treet (Document Object Model tree), noe som gjør det svært enkelt å endre på elementer på nettsiden. Visual Studio 2010 Professional Edition En IDE (Integrated Development Environment) utviklet av Microsoft. Dette er brukt for utvikling av forskjellige applikasjoner, nett-tjenester, nettsider, osv. Team Foundation Server Versjons-/kildekontroll innebygd i Visual Studio. Dette skal gjøre det enklere å dele kildekode med flere, uten at arbeidet kolliderer med hverandre. Internet Explorer 8 En nettleser utviklet av Microsoft som først kom i Den nyeste tilgjengelige versjon av nettleseren er Internet Explorer 10. Ettersom vi har måttet utvikle nettsiden for en utdatert versjon av Internet Explorer har dette ført til visse komplikasjoner, som vi vil diskutere i avsnitt Twitter Boostrap (CSS-bibliotek) Dette er et åpent bibliotek som inneholder ferdigskrevet CSS og JavaScript som man kan bruke på sine nettsider. Slik kan man enkelt få et produkt som ser ryddig ut, selv når man ikke er en erfaren designer. CSS3 PIE (Progressive Internet Explorer) Et bibliotek av skripter i blant annet PHP of JavaScript brukt for å gjøre det mulig for Internet Explorer 8 å gjengi de mest brukte CSS3 effektene. Windows Server 2008 R2 Et server-operativsystem fra Microsoft. Windows 7 Et operativsystem fra Microsoft. Hos Aker Solutions er dette standard på alle datamaskiner. Public 2013 Aker Solutions Prosessrapport Page 7 of 35

8 1.1.2 Andre betingelser Tiden Fordi dette er et hovedprosjekt med klare frister og innleveringer, har tiden vi har hatt til rådighet vært en opplagt rammebetingelse. Gruppen har vært flink til å disponere tiden sin, og satt klare grenser for hva som kunne legges til i programmet og ikke. Kunnskap ved oppstart Den kunnskapen som fantes i gruppen ved begynnelsen av prosjektet, var en betingelse for hvordan vi valgte å løse oppgaven. Kunnskapen har ekspandert i løpet av prosjektperioden, selv om bruk av for mange nye teknologier og språk ble unngått i forhold til hva som var nødvendig for oppgaven. Teknologi tilgjengelig hos oppdragsgiver Ettersom denne løsningen skal kunne kjøres internt hos oppdragsgiver må teknologier og rammeverk vi bruker være tilgjengelig for oppdragsgivers ansatte. Det vil si at vi måtte ta hensyn til for eksempel hvilken nettleser de har tilgang til eller hvilket programmeringsspråk de er komfortable med å bruke. Public 2013 Aker Solutions Prosessrapport Page 8 of 35

9 2 Planlegging og metode I dette kapittelet vil vi skrive om gruppens planlegging og hvordan dette ble utført. Vi vil ta for oss hvordan det ble jobbet innad i gruppen og med oppdragsgiver. Hvilke metoder og verktøy som er blitt brukt til dette vil også bli beskrevet. 2.1 Planlegging Gruppen skulle tidlig levere inn en kravspesifikasjon hvor vi skulle beskrive oppgaven, skrive ned rammebetingelser og sette opp en tidsplan. Selve detaljene i kravspesifikasjonen skal vi ikke gå igjennom her, se kapittel 4 om «Kravspesifikasjonen og dens rolle» for mer informasjon. Vi skal se på planleggingen rundt tidsplanen og sette opp arbeidsoppgaver. Hva oppgaven skulle inneholde har blitt utarbeidet i samarbeid mellom oppdragsgiver og gruppen. Vi ble enige om å sette opp et fast møte med vår veileder hos Aker Solutions annenhver uke. Dette gjorde at oppdragsgiver kunne gi oss arbeidsoppgaver fra møte til møte, som igjen førte til at gruppen ikke nødvendigvis bestemte selv hva som skulle være ferdig til gitte tidspunkter. På grunn av denne måten å arbeide på, lagde ikke gruppen en egen fremdriftsplan, men fokuserte mer på viktige milepæler. Disse milepælene var både frister fra skolen, oppdragsgiver og tidsrammer vi selv påla oss. Dette var milepælene vi hadde bestemt oss for da vi leverte forprosjektrapport 25. januar 2013: Forprosjektrapport Ferdig konfigurasjonsbygger/leser og loggfil leser for Comos Webgrensesnitt for presentasjon av status til jobber fra Comos Grunnlag for utvidelse av programmet til å gjelde andre systemer Kjørbart program Prosjektrapport Presentasjon Vi brukte denne oversikten og møtene med veileder til å planlegge gangen i arbeidet. Jo lenger ut i prosjektet vi kom, jo mindre relevant ble de milepælene vi satt selv, for prosjektet utviklet seg i forskjellig retning fra det vi opprinnelig hadde sett for oss. Vi skal diskutere avvik og samsvar med milepælene i avsnitt 3.3. Public 2013 Aker Solutions Prosessrapport Page 9 of 35

10 2.2 Metoder og verktøy Leseren finner beskrivelse av metoder og verktøy brukt av gruppen under prosjektperioden, i dette kapittelet Skydrive Under en prosjektperiode skal det skrives mye dokumentasjon, av mer eller mindre viktig art. Derfor er det avgjørende at ingen av dokumentene blir skadet, slettet eller forsvinner. Vi har valgt å bruke Microsoft sin SkyDrive, hvor vi kan samle alle dokumenter i en felles mappe som alle på gruppen har tilgang til over internett. Ved at dokumentene ligger på en server i nettskyen er sjansen for at de forsvinner minimal, og vi slipper å utøve streng selvkontroll på sikkerhetskopiering av dokumenter. Vi prøvde oss først med en mappe i Google Drive, men det viste seg å være vanskelig å bruke en del av Google sine tjenester på Aker Solutions sitt nettverk, derfor flyttet vi alle dokumentene til SkyDrive. Ved å flytte det til SkyDrive kunne vi bruke Office produkter for å redigere dokumentene. Slik fikk vi også tilgang og tillatelse til å bruke Aker Solutions sin Wordmal, som er den vi bruker for å skrive dokumentasjonen vår med. Vi har også fått tilgang til å bruke Aker Solutions sin standard oppsett for PowerPoint presentasjoner Team Foundation Server Fordi vi skulle bruke Visual Studio til å utvikle i var det naturlig å bruke den innebygde versjonskontrollen Team Foundation Server. Ett par på gruppa hadde jobbet med dette versjonskontrollsystemet før, uten helt å lykkes. Det slo oss at vi kanskje hadde brukt det feil, og ettersom to på gruppa var helt ukjente med systemet, spurte vi veilederen vår om de hadde noen tilgjengelig som kunne gi oss en liten opplæring i Team Foundation Server. Et møte med Christian Birger Dahlen ble satt opp og han viste oss oppsettet og utførelsen av å sjekke inn og ut kode, altså å registrere at man selv har gjort endringer i koden slik at det er tilgjengelig for alle, og hente de andres endringene til den lokale kopien man har av kodebasen Arbeidsmetodikk Vi hadde lyst til å bruke deler av Scrum-metodikken for den daglige utførelsen av arbeidsoppgaver. Vi opprettet en backlog i Excel på SkyDrive hvor gruppen satt sammen og førte inn arbeidsoppgaver som måtte gjøres. En backlog er et dokument som inneholder oppgaver som må gjøres i prioritert rekkefølge. Etter det ble oppgaver fordelt på hvert enkelt av medlemmene. Slik hadde alle til enhver tid oversikt over hva de andre holdt på med og hva som måtte gjøres. Backlogen lignet mer på et «KanBan Board» etter hvert. Et «KanBan Board» er hentet fra Kanbanmetodikken. Den viser oppgaver delt inn i tre grupper: hva som må gjøres, hva som er under arbeid, og hva som er ferdig. Vi har brukt backlogen gjennom hele prosjektperioden og har hatt stor nytte av det. Public 2013 Aker Solutions Prosessrapport Page 10 of 35

11 2.3 Arbeidsprosess Arbeidsmetoder handler om hvordan gruppen samarbeidet med oppdragsgiver og hva som har hjulpet gruppen i arbeidet Møter med oppdragsgiver Annenhver uke hadde vi et møte med oppdragsgiveren der vi viste vi frem hva vi hadde fått til siden sist møte. Vi fikk nyttige tilbakemeldinger og forslag til endringer/forbedringer for løsningen vår. Ofte ville oppdragsgiveren komme på funksjoner/utforminger som ikke var blitt diskutert før, eller endre på tidligere bestemmelser. Slik utvidet produktet seg fra uke til uke, i større eller mindre grad i samsvar med kravspesifikasjonen. Om vi var usikre på deler rundt oppgaven, kunne vi alltid innkalle til oppklaringsmøte med vår veileder, for å få avklart det vi lurte på. På grunn av tilbakemeldingene fra møtene var det ofte mye refaktorering av kildekoden. Programmet ble stadig mindre låst til hovedapplikasjonen Comos, som vi tok utgangspunkt i..net-applikasjonen som genererer konfigurasjoner er nå redigerbar i selve applikasjonen, og det vil ikke være nødvendig å endre kildekoden for å få til dette - noe som var tilfellet tidligere i prosjektet. Ved å sette av tid til å refaktorere kode jevnlig var det enkelt å finne og rydde opp i gammel kode som ikke lenger var nødvendig. Noen ganger ble koden effektivisert og forenklet, noe som førte til færre kodelinjer, som også fører til kjappere feilsøking Arbeidsfordeling I begynnelsen av prosjektperioden jobbet gruppen mye med samme oppgave. Dette gjorde vi for å være sikre på at alle forsto hva prosjektet dreide seg om, og at vi var enige om hvordan vi skulle gå frem for å løse den. Etter hvert fordelte vi oppgaver, slik at hvert gruppemedlem satt enten alene eller i par, med en del av prosjektet. Vi ble enige om å rullere arbeidsoppgaver etter ett par uker, for at alle på gruppen skulle ha kunnskap om hele prosjektet, og ikke bare en del av det. Ved rullering av oppgaver og ansvarsområder ble det lettere å snakke med hverandre om hva de jobbet med. Man fikk mer kunnskap og innsikt i de forskjellige komponentene i vårt prosjekt. Selv om tempoet og effektiviteten gikk ned en kort periode etter rulleringen føler vi at det var ikke tid sløset bort - heller det motsatte. Mot slutten av prosjektet var det enklere å fordele små oppgaver da det gikk fortere for hvert medlem å sette seg inn i problemstillingen Prosjektdagbok For å være sikre på at vi ville huske beslutninger og hendelser under skriving av dokumentasjonen, opprettet vi en felles prosjektdagbok. Slik kunne hvert enkelt gruppemedlem føre inn dagens arbeid, og sjekke hva de andre på gruppen hadde gjort. Denne informasjonen har vært uunnværlig ved skriving av dette dokumentet, ettersom det er krevende å huske rekkefølgen av endringer, datoer på beslutninger og andre lignende hendelser. I tillegg til prosjektdagboken er det også blitt skrevet møtereferater av møter med oppdragsgiver og veileder på skolen. Public 2013 Aker Solutions Prosessrapport Page 11 of 35

12 2.3.4 Arbeidsplass Vi fikk tildelt arbeidsplasser hos kontoret til Aker Solutions på Fornebu, og har benyttet oss av dem 2-3 dager i uken. Det har vært enklest å jobbe der med tanke på oppkobling til deres nettverk, selv om vi fikk VPN-tilgang for arbeid utenfor kontorlokalene. Gruppen har jobbet med prosjektet fast tre dager i uken, og helger/ettermiddager ved behov. På grunn av andre fag og deltidsjobber avtalte vi ikke flere enn tre dager som minimumskrav. Public 2013 Aker Solutions Prosessrapport Page 12 of 35

13 3 Om utviklingsprosessen Dette kapittelet vil ha en kronologisk beskrivelse av hvordan prosjektet ble utviklet. Fra begynnelsen da vi fikk oppgaven, og hvordan arbeidet har forløpt seg frem til innleveringsdato. Veivalg og utfordringer vil bli beskrevet, med begrunnelser og løsninger. 3.1 Oppstart Gruppen ble dannet høsten 2012 av fire studenter som hadde jobbet sammen før og kjente hverandre godt. En gruppekontrakt ble skrevet, for å sikre prosjektet om det skulle oppstå konflikter. Gruppekontrakten kan leses i vedlegget, bakerst i dokumentasjonsheftet. Det tok ikke lang tid før vi var i gang med å finne en oppgave. Vi skrev ned en liste over bedrifter som vi kunne tenke oss å samarbeide med, og hvilke bedrifter vi eventuelt hadde noen kontakter hos. En på gruppen hadde en onkel som hadde en bekjent hos Aker Solutions, og vi ble enige om å høre med dem før vi sendte ut e-post til noen andre bedrifter. Med denne onkelens hjelp kom vi i kontakt med avdelingen i Oslo og fikk raskt et positivt svar om at de hadde en oppgave de gjerne ville tilby oss. Etter et innledende møte hvor oppdragsgiver forklarte oppgaven, bekreftet gruppen at dette var en oppgave vi gjerne ville ta på oss. Oppgaven ble raskt godkjent av høyskolens hovedprosjektledelse. De neste møtene vi hadde med oppdragsgiver fikk vi adgangskort, PC-er, arbeidsplasser og oppgaven ble utdypet. Vi fikk presentert en lignende løsning av det vi skulle lage, utviklet av Aker Solutions for en spesifikk hovedapplikasjon. Under denne presentasjonen ble fremgangsmåten for løsningen mye klarere for gruppen. Dette var første gang vi hørte om konfigurasjonsfilen som programmet vårt nødvendigvis måtte bygge opp. For å nå målet for dette prosjektet fantes det forskjellige mulige måter å gjøre ting på, men siden vår oppdragsgiver likte løsningen vi ble presentert, lagde vi noe lignende den applikasjonen. Det er kun tankegangen og ingen kode som har blitt tatt i bruk fra denne ferdigutviklede applikasjonen vi ble presentert med. Veilederen vår ga gruppen en oppgave om å lage et lite program som kunne lese en XML-fil, og ut ifra parametere fra brukeren, skulle programmet vite hva slags informasjon den skulle hente ut fra filen. Gruppen ble enig om å lage et lite program hver for seg, ettersom det var essensielt at alle på gruppen var innforstått med hvilke verktøy man har for XML parsing i C# og.net-rammeverket. Slik var vi sikre på å få alle gruppemedlemmer med fra første stund. Når alle på gruppen hadde gjort en innsats med å lage sitt eget program, satt vi oss sammen og lagde et program som fungerte og kunne vises. På neste møte med oppdragsgiveren viste gruppen sitt program, og han forklarte mer inngående hvordan han så for seg programmets funksjonalitet og design. Det var først etter dette møte at planleggingen kunne for alvor starte. Public 2013 Aker Solutions Prosessrapport Page 13 of 35

14 3.2 Planleggingsfase Første punkt på programmet var å opprette en backlog, hvor vi kunne skrive ned oppgaver som måtte utføres etter hvert som vi kom på dem. Slik kunne vi også holde styr på hvilket gruppemedlem som utførte oppgaven, og om den var ferdig med oppgaven eller ikke. Denne metoden er hentet fra utviklingsmetodikken Scrum, som ble omtalt i avsnittet Dokumentet var spesielt nyttig når gruppen satt og jobbet på forskjellige steder. Man kunne sjekke backloggen og få en ny oppgave uten å måtte høre med alle medlemmene om hva de jobbet med. Når dette var gjort måtte vi bli enige om hvordan en konfigurasjonsfil skulle bygges opp, samt innholdet i den. Vi tenkte det var lurt å bygge opp konfigurasjonsfilen mest mulig lik slik vår veileder så for seg at nettsiden skulle se ut. Første utkast til en konfigurasjonsfil så slik ut: Figur 1: Konfigurasjonsfil eksempel Ved å bygge opp konfigurasjonsfilen som figur 1 viser, tenkte vi at det ville mest mulig speile nivåene som nettsiden skulle presentere. Dette ble brukt som utgangspunkt i begynnelsen av utviklingen av.net-applikasjonen. Gruppen måtte definere hvilke komponenter løsningen skulle bestå av. Disse komponentene skulle vise seg å bli forandret opptil flere ganger underveis i utviklingsperioden, men måten vi så for oss løsningen på dette tidspunktet var slik: Konfigurasjonsbygger Dette skulle være en applikasjon hvor bruker kunne bygge opp en konfigurasjonsfil. Konfigurasjonsfilen skulle brukes til å vite hvilken loggfil som måtte leses og hva som skulle hentes ut fra den. Ut ifra konfigurasjonsfilen ville man også kunne finne ut om en jobb kjørte uten feil. Valget stod mellom å lage en nettside eller en.net-applikasjon, som kjørte en.exe-fil lokalt på datamaskinen. Fordelen med en nettside var at ansatte kunne slippe å laste ned og installere en applikasjon. Ansatte kunne bare logget seg på en nettside og bygget opp en konfigurasjonsfil ved hjelp av den. Ulempen var at nettsiden måtte utvikles i Internet Explorer 8. Grunnen til at dette var en ulempe har vi beskrevet i avsnitt Public 2013 Aker Solutions Prosessrapport Page 14 of 35

15 Etter å ha sett en demonstrasjon av et lignende program som brukte en Windowsapplikasjon, valgte vi å lage konfigurasjonsbyggeren vår som en.net-applikasjon. Vi har kalt den konfigurasjonsbyggeren, for det var det nærmeste vi kom klassenavnet ConfigBuilder. Konfigurasjon skriver Dette skulle være en klasse som tok seg av å skrive input fra applikasjonen, til en XML-fil. Konfigurasjon leser Skulle lese en XML fil, tolke innholdet og lagre dette til et ProjectConfigurationobjekt, for å kunne få tak i innholdet senere om det trengtes. Loggfilleser Lese gjennom en loggfil og bruke informasjonen fra konfigurasjonsfilen til å hente ut relevant informasjon og lagre det i et LogFile-objekt. Nettside Presentere informasjonen, samlet inn fra konfigurasjonsfilen og loggfilen, på en oversiktlig og lettleselig nettside. Gruppen ble enig om at vi skulle fordele komponentene, slik at hvert gruppemedlem jobbet med sin del. Så skulle vi heller bytte underveis, slik at alle kunne få en forståelse av alle delene av programmet. Slik var status i slutten av januar. Planleggingsfasen gikk mot slutten og utviklingsfasen tok over. 3.3 Utviklingsfase For å beskrive prosessen rundt utviklingen gjør vi dette kronologisk, slik at leseren kan få best mulig innblikk i tankegangen til gruppen, og konsekvenser av det som ble gjort. Gruppen hadde på dette tidspunktet fordelt oppgaver rundt på gruppemedlemmene. Oppgavene kunne utføres relativt hver for seg i begynnelsen. Gruppemedlemmene lagde falske data for å klare å utføre sin oppgave, uten å måtte vente på at en annen komponent skulle bli ferdig først. Dette førte til at det ble opprettet en del hjelpeklasser og variabler, som senere ble fjernet eller integrert til å gjelde ekte data. Slik kunne medlemmene jobbe i sitt eget tempo uten å være avhengige av andres komponenters ferdigstillelse. Fordi løsningen så ganske drastiske forandringer i løpet av utviklingen, føler vi det best å splitte opp i flere perioder, for og lettere kunne sammenligne og forklare hvorfor vi valgte å gjøre ting annerledes. Public 2013 Aker Solutions Prosessrapport Page 15 of 35

16 3.3.1 Periode 1 I den første perioden ble det nedlagt mye grunnarbeid, både med forståelse og oppbygging av hvordan løsningen burde se ut. Det var fortsatt noe usikkerhet rundt oppgaven og dens karakter, men under periode 1 fikk vi avklart mye og oppgaven fant sin form. Konfigurasjonsbyggeren Konfigurasjonsbyggeren skulle være en.net-applikasjon, for at brukeren skulle få et grafisk grensesnitt for å enkelt kunne bygge opp en konfigurasjonsfil. I Visual Studio er det lett å bygge opp brukergrensesnittet til en applikasjon, ved hjelp av «drag-and-drop» funksjon for å plassere elementer. Derfor kunne vi fort få opp et eksempel på hvordan vi så for oss oppbyggingen av brukergrensesnittet. Slik vi så for oss konfigurasjonsbyggeren på dette tidspunktet var at det var forskjellige faner for hvilken hovedapplikasjon du skulle lage en konfigurasjonsfil for. Fanene inneholdt informasjonsfelter som måte fylles inn, noen faste og andre variable. De faste var like uansett hvilken fane du valgte, mens de variable feltene ble lagt til etter behov for loggfilene som tilhørte den gitte hovedapplikasjonen. Faste felter kunne være filstien til mappen hvor loggfilene lå, filstien til stedet hvor konfigurasjonsfilen skulle ligge, eller felt for å skrive inn hva feilmønstre for denne typen loggfiler var. Fra begynnelsen av opererte vi med at vi skulle kunne lese loggfiler fra fire forskjellige hovedapplikasjoner; Comos, PDMS, PowerCenter og BizTalk. Vi laget faner for hver av de fire hovedapplikasjonene, men konsentrerte oss først og fremst om å få det til å fungere for Comos, ettersom det var disse loggfilene vi hadde å jobbe med. Det var også det systemet hvor Aker Solutions sitt behov for en oversiktlig presentasjon var størst. Konfigurasjonsfil skriver og leser Nå hadde vi et brukergrensesnitt hvor vi kunne hente den inputen vi trengte for å lage en konfigurasjonsfil. Denne skulle være i XML format (figur 1) slik at man lett kunne hente ut tagger og attributter vi hadde bruk for. I utgangspunktet så vi for oss å lage en konfigurasjonsfil for hver av de fire hovedapplikasjonene. For å kunne skrive denne informasjonen til et XML-fil, opprettet vi en konfigurasjonsfil skriver. Denne lagde et XDocument-objekt som lar oss bruke Linq-spørringer (tilsvarer SQL-spørringer) for å hente ut informasjon fra filen, uten å måtte lese filen som ren tekst. Konfigurasjonsfilen inneholdt informasjonen gitt av brukeren i brukergrensesnittet. Slik konfigurasjonsfilen er bygget opp, kan man ikke bare legge til informasjon for en jobb nederst i fila. Den er bygd opp slik at en jobb tilhører et prosjekt som tilhører en underapplikasjon som igjen tilhører en hovedapplikasjon. Det er derfor viktig å plassere informasjon på de riktige stedene i filen slik at relasjonene blir riktig. For å utføre dette lagde vi en konfigurasjonsfil leser, som går gjennom innholdet i konfigurasjonsfilen, sammenligner det med informasjonen hentet fra brukergrensesnittet, og plasserer jobben på korrekt sted i fila. Public 2013 Aker Solutions Prosessrapport Page 16 of 35

17 Både konfigurasjonsfil leseren og skriveren ble laget med tanke på hvordan Comos systemet og dens loggfiler var bygget opp. Tanken var at vi skulle lage et interface med metodesignaturer for konfigurasjonsfil lesere, og deretter implementere det for en Comos konfigurasjonsfil leser, en BizTalk osv. Denne idéen ble fort henlagt når vi avdekket at konfigurasjonsfilenes oppbygging, kun ville ha forskjellig innhold, men selve strukturen ville være lik for alle de fire hovedapplikasjonene sine konfigurasjonsfiler. Interface idéen ville derimot leve videre i loggfil leseren. Loggfil leser Loggfil leseren var den komponenten som skulle bruke data, hentet fra konfigurasjonsfilen, til å lese gjennom mappen med loggfiler og lagre opplysninger samlet til et loggfilobjekt. Loggfil leseren var avhengig av at konfigurasjonsleseren fungerte, og før det ble klart akkurat hvordan disse skulle jobbe sammen, ble utførelsen av loggfil leseren ikke helt optimal. Etter hvert kom vi frem til at informasjonen lest fra konfigurasjonsfilen skulle lagres i et jobbkonfigurasjons objekt. Dermed kunne loggfil leseren ta i bruk det nyopprettede jobbkonfigurasjonsobjektet å hente nødvendig data for å lese loggfilene. I jobbkonfigurasjonsobjektet ble det lagret hva slags feilmønster, datomønster og lignende loggfil leseren skulle lete etter. Loggfil leseren leste linje for linje i en angitt loggfil og lette etter disse mønstrene, for å finne dataen som tilhørte de gitte mønstrene. Vi lagde et interface, slik at vi kunne bruke de samme metodesignaturene, enten om det dreide seg om å lese fra for eksempel en Comos loggfil, eller en PowerCenter loggfil. Figur 2 viser et eksempel på en loggfil der mønsteret som ble lett etter og dataen tilhørende mønsteret er markert. Vi henviser til «Loggfiler» i vedlegget om leseren av rapporten vil se noen eksempler på loggfiler. Figur 2: Mønster og tilhørende informasjon For å hente ut informasjonen ble det brukt et regulært utrykk (regex), som hentet en hel linje, og silte ut det vi var ute etter. Når alle loggfilene var blitt lest gjennom og informasjonen lagret i loggfil objekter, var det nettsiden som skal bruke disse dataene til å presentere loggfil innholdet. Nettsiden For å designe nettsiden valgte vi å ta i bruk et ferdig CSS bibliotek som heter Bootstrap, ettersom design kan være meget tidskrevende og det var ikke dette vi ville bruke tiden på. Det var viktig at nettsiden fremsto som oversiktlig og «ren», og dermed fungerte det veldig bra å ta i bruk et bibliotek som gav oss det vi trengte i forhold til design av knapper, tabeller og lignende. En av de viktigste funksjonene Aker Solutions ønsket seg var mulighet for å starte på med en grov oversikt og få mer og mer detaljer på nivåene under. Det vil si at de ønsket å kunne klikke seg lengre og Public 2013 Aker Solutions Prosessrapport Page 17 of 35

18 lengre ned i nivåene, hvor øverste nivå er hovedapplikasjonen og nederste er loggfilen. De ønsket også å få informasjon på et av de øverste nivåene om det var noe som hadde gått galt på nivåene nedover. Hvert loggfilobjekt ble lagret med en status som fortalte om loggfilen hadde blitt kjørt med suksess eller om det hadde oppstått feil. Vi brukte denne statusen til å føre dette oppover i nivåene, helt til de kan sjekke på underapplikasjonsnivå om alle loggfilene har kjørt greit eller om noen har feilet. Dette valgte vi å vise med enkle fargekoder, grønt for suksess og rødt for feil. Oppsummering For denne første perioden passerte vi ett par milepæler vi hadde satt for oss selv. 18.februar skulle vi være ferdig med konfigurasjonsbyggeren, konfigurasjonsfil leser og loggfil leser. Dette skulle vise seg og ikke være et helt realistisk estimat. Vi ble ikke ferdig med loggfil leseren til det gitte tidspunktet, men kom et godt stykke på vei med konfigurasjonsbyggeren og konfigurasjonsfil leser og skriver. Vi fikk derimot ganske raskt vist status for en Comos loggfil på nettsiden, som var milepæl for 15.mars. Det vi ikke hadde tatt hensyn til når vi skrev ned milepælene, var at vi kunne jobbe med komponentene i forskjellig takt. Følgelig kunne komponentene bli ferdig i en annen rekkefølge enn slik vi hadde sett for oss. Public 2013 Aker Solutions Prosessrapport Page 18 of 35

19 Figur 3 oppsummerer hvordan de forskjellige komponentene hang sammen på slutten av periode 1: Steg 1: er å kjøre konfigurasjonsbyggeren Her gjøres verdiene om til XML og dette lagres til fil Konfigurasjons bygger Når man trykker «save» vil verdier bli sendt videre til konfigurasjonsskriver Konfigurasjons skriver.xml fil Leseren bruker disse konfigurasjonene til å vite hvordan den skal lese filer og sender dette videre Loggfil-leser til nettsiden Konfigurasjonene blir sendt til loggfil-leseren Loggfil-leseren setter i gang konfigurasjonsleseren Konfigurasjons leser Leseren leser konfigurasjonsfilen og sender dette til loggfil-leseren Nettsiden setter i gang Loggfilleseren Nettsiden Steg 2: Er å åpne nettsiden. Da settes det i gang noen prosesser og til slutt mottar nettsiden informasjon og presenterer dette Figur 3: Systembeskrivelse av første planlagte løsning Løsningen på dette tidspunktet la grunnlaget for hvordan prosjektet kom til å utvikle seg videre. På dette tidspunktet var det ikke veldig generisk, vi fokuserte mest på å få Comos til å fungere. Når vi begynte å nærme oss at Comos fungerte bra, så vi at løsningen kunne gjøres annerledes, noe som fører oss til periode 2. Public 2013 Aker Solutions Prosessrapport Page 19 of 35

20 3.3.2 Periode 2 Nå hadde løsningen begynt å få en klar form, med mye av hoved funksjonaliteten på plass. Gruppen var på dette tidspunktet mer sikre på hvordan oppgaven skulle løses, og kunne dermed gjøre en del endringer for å forbedre løsningen. Konfigurasjonsbyggeren Hittil hadde det i konfigurasjonsbyggeren vært slik at brukeren måtte skrive inn navn på underapplikasjon og prosjekt for frihånd. Disse ordene brukte vi som søkeord for å finne riktige loggfiler. Det krevdes derfor at ordene ble skrevet inn helt korrekt, ellers ville ikke søkefunksjonen fungere. Vi tenkte at det var bedre om brukeren bare kunne velge fra en nedtrekkliste, istedenfor å måtte skrive inn korrekt ord hver gang. Etter å ha tatt opp dette på et møte med vår veileder, ble vi enige om å legge til en funksjon i konfigurasjonsbyggeren, hvor man kunne redigere en liste over ord som skal vises i nedtrekkliste menyene for å velge underapplikasjon og prosjekt. Det var også et poeng at navnene til underapplikasjoner og prosjekter ofte hadde aliaser i loggfil navnet. Slik som prosjektet "Eldfisk" ble alltid forkortet til "ELD" i navnet på loggfilen. Derfor ville veilederen vår at man skulle kunne legge til aliaser for hver underapplikasjon og prosjekt i lista. I søkefunksjonen brukte vi aliasene for å lete, mens brukeren kunne bruke de ekte navnene for å velge fra nedtrekkliste lista. Dette er illustrert i figur 4. Figur 4: Eksempel på nedtrekksliste funksjon En annen forandring som ble gjort i konfigurasjonsbyggeren, var lesing av data. Før gikk den gjennom en og en tekstboks etter navnet på tekstboksen, og hentet ut data. Det betydde at vi måtte bruke hardkodete navn, noe som vi helst ville unngå. Istedenfor valgte vi å opprette en løkke som gikk gjennom alle tekstbokser under et gitt panel og lagret dataen i en liste. Public 2013 Aker Solutions Prosessrapport Page 20 of 35

21 ProArc Under et av møtene med vår veileder ble vi gjort oppmerksomme på et system vi ikke hadde hørt om tidligere, nemlig ProArc. Loggfilene til ProArc hadde samme struktur og oppbygging som Comos, slik at dette systemet lett kunne legges til i løsningen. Vi manglet fortsatt tilgang til loggfilene for PowerCenter og BizTalk. PDMS systemet kunne vi se helt bort ifra å lage noe løsning for, da dette systemet hadde en løsningen som fungerte på noenlunde lik måte som prosjektet vårt. Derfor konsentrerte vi oss om Comos og ProArc for videre utvikling. Konfigurasjonsfilen Vi kom også frem til at utformingen av konfigurasjonsfilen vår trengte en forandring. Der vi hadde lagt til at hvert prosjekt har mange jobber, valgte vi å droppe jobbnivået, og heller si at hvert prosjekt hadde mange loggfiler. Dette førte til at vi kunne stryke et nivå og konfigurasjonsfilen ble seende ut slik figur 5 viser: Figur 5: Oppdatert konfigurasjonsfil På grunn av denne forandringen lagret vi ikke lenger informasjonen i jobbkonfigurasjons objekt, men i et prosjektkonfigurasjons objekt. Ved å slippe et nivå å lete gjennom for konfigurasjonsleseren og skriveren, økte dette ytelsen til løsningen. Nettsiden Nettsiden begynte å utvikle seg til et nesten ferdig produkt i denne perioden. Vi kunne nå velge hovedapplikasjon, underapplikasjon, prosjekt, få opp alle loggfiler for den valgte kombinasjonen og se statusen til hver enkelt loggfil. Tabellen over loggfiler viste start- og stopptid samt status som gjorde at tabellraden enten fikk fargen grønn eller rød. Her la vi også til muligheten til å klikke på hvert enkelt loggfilnavn for å få opp mer informasjon. I denne informasjonsboksen la vi til en link til å vise valgte loggfil som tekst i et nytt vindu. Dette var et ønske fra vår veileder, for at ansatte lett skulle kunne lese loggfilen ved behov. Det var i denne perioden vi fikk satt opp webserveren hvor nettsiden skal testes. Vi begynte med at det var nettsiden som skulle ta seg av å lese inn data hentet fra loggfilene og konfigurasjonsfilene. Ettersom det var en stor mengde loggfiler som må itereres igjennom, og sjekke disse opp mot data hentet fra konfigurasjonsfilene, tok dette veldig lang tid. Vi forklarte for vår veileder at det kom til å ta lang tid hver gang noen gikk inn på nettsiden. Han sa at det ikke gjorde så mye, så lenge det var noe som viste framdriften for datainnhentingen. Vi begynte da å jobbe med en framdriftsindikator, Public 2013 Aker Solutions Prosessrapport Page 21 of 35

22 som telte opp hvor mange av loggfilene som var blitt lest i forhold til antallet som skulle bli lest. Dette var en av de funksjonene som fungerte ganske bra i Google Chrome, men som bød på utfordringer i Internet Explorer 8. Før vi ble helt ferdig med framdriftsindikatoren, fant en på gruppen en annen måte å lese inn dataen på. Datafetcher.cs Istedenfor at nettsiden gjorde dette hver gang noen åpnet siden, skrev vi et skript som skulle ta seg av datalesingen. Det vil si at det tok seg av å gå gjennom loggfilene, hente ut relevant data og lagre denne dataen i en DAT-fil. Denne filen inneholder informasjon i den samme datastrukturen som blir skrevet til den. DAT-filen vi oppretter inneholder objekter som MainApplication, SubApplication, og Project. Nettsiden leser data direkte fra denne DAT-filen, som gjorde å åpne nettsiden veldig mye raskere. Vi satt skriptet til å kjøre hver halvtime på webserveren med mulighet for å tvinge kjøring fra nettsiden når man ville. Da kunne vi fjerne den framdriftsindikatoren da vi økte ytelsen til nettsiden ganske drastisk. For en mer teknisk forklaring på klassen Datafetcher, se avsnitt 2.2 i «Produktrapporten». Oppsummering I løpet av denne perioden traff vi på vår neste milepæl 12.april; grunnlag for utvidelse av løsningen. Med dette mente vi at løsningen skulle være klar for å kunne utvides og brukes av andre hovedapplikasjoner. På dette tidspunktet fungerte løsningen for Comos og ProArc, så det var absolutt lagt et grunnlag for å utvide løsningen. Det viste seg at vi ikke skulle tenke på å utvide til PowerCenter, BizTalk og PDMS, men heller legge til rette for at Aker Solutions selv kan utføre utvidelsen ved en senere anledning. Milepælen ble nådd, selv om tanken bak den har blitt forandret i løpet av utviklingsperioden. Funksjonene til løsningen var rimelig lik slik den fremsto i periode 1, med unntak av hvordan datalesing foregikk. Den største forandringen med tanke på funksjoner kom først da vi egentlig hadde vist frem den ferdige løsningen for Aker Solutions, og den skulle gjøres klar til testing Periode 3 Løsningen var nå så godt som ferdig, og vi overleverte løsningen til en Aker Solutions ansatt som skulle teste den. Det var nå vi kom til å få den egentlige bekreftelsen på om løsningen vår fungerte. Under møte fikk vi en idé som kunne gjøre.net-applikasjonen mer generisk, med at man selv kunne fylle inn hvilke felter man ville legge inn. Vi ble enige om at vi måtte prøve det, for løsningen kom til å bli mer fleksibel og nærmere slik oppdragsgiveren ønsket seg. Vi gikk umiddelbart til arbeid, samtidig som vi tok imot tilbakemeldinger fra ansatt som testet den nåværende løsningen. Slik ville vi i hvert fall ha en løsning som fungerte om den nye idéen skulle vise seg og ikke fungere så bra. Public 2013 Aker Solutions Prosessrapport Page 22 of 35

23 Konfigurasjonsbygger Tanken var at brukeren selv kunne velge hvilke variable felter han/hun ville legge til for hver fane i konfigurasjonsbyggeren. For å få til dette måtte vi lage et verktøy i konfigurasjonsbyggeren hvor brukeren kunne legge til tekstbokser og standard verdier. For å kunne legge til tekstbokser må brukeren først velge hovedapplikasjon. Det betyr at akkurat disse variable tekstboksene med de valgte standardene, gjelder for prosjektene under den valgte hovedapplikasjonen. Det vil da bli opprettet to tekstbokser for hvert mønster brukeren vil lete etter, et start- og stoppmønster. Programmet vil finne all tekst mellom start- og stoppmønster. For eksempel, brukeren vil finne stopptidspunktet for når jobben ble ferdig. Brukeren skriver inn i startmønster tekstboksen «<Stop DateTime="», og «"» i stoppmønster tekstboksen. Dette krever litt mer oppsett fra brukerens side, før hun/han kan ta i bruk løsningen, men vil øke fleksibiliteten for hva som er relevant å hente ut fra loggfilene. Det ble også gjort en endring i hva som skulle være de faste inputfeltene for hver fane. I tillegg til valg av underapplikasjon og prosjekt og filstien til loggfilmappene opprettet vi et par felt som hadde å gjøre med tiden en jobb ble kjørt. Oppdragsgiveren ville ha muligheten til at loggfilen skulle få en advarsel-status om siste endret tid på loggfilen var eldre enn en gitt tid dagen før. Om brukeren skriver inn i advarsel feltet i konfigurasjonsbyggeren, vil alle loggfiler for det prosjektet, som ikke er blitt endret etter klokken dagen før, bli vist som advarsel i tabellen på nettsiden. Det har altså ikke noe å gjøre med selve statuskoden som står inne i loggfilen. Det andre feltet som hadde med tiden å gjøre var hvor lenge en loggfil har kjørt. Om en loggfil har brukt lengre tid enn for eksempel 3 timer kan det tyde på at noe er feil på den serveren jobben kjører på. Derfor ville oppdragsgiver ha et felt i konfigurasjonsbyggeren hvor brukeren kunne skrive inn antall timer, og om kjøretiden overskrider antall timer vises det med rød skrift i varighetskolonne i tabellen på nettsiden. For å regne ut dette trenger programmet å vite både starttiden og stopptiden til loggfilen. Tabelltilpasning Et annet ønske som kom frem på dette siste møte, var at brukeren selv kunne velge informasjonen som skulle vises som kolonner i tabellen på nettsiden. Det som ikke blir valgt blir først vist når brukeren trykker på loggfilnavnet. For å få til dette la vi til sjekkbokser etter noen av feltene i konfigurasjonsbyggeren. Om et felt ble haket av betydde det at brukeren ville ha den som en kolonne i tabellen. Det har ført til at nettsiden er blitt mye mer dynamisk, da brukeren selv kan bestemme hva han/hun har mest behov for å se. Vi fikk også lagt til at brukeren kan sortere informasjon ved å klikke på det kolonnenavnet han/hun ønsker å sortere på. Dette er illustrert ved figur 6 og 7. Public 2013 Aker Solutions Prosessrapport Page 23 of 35

24 Figur 6: Bilde hvor ønskede hoved overskrifter er valgt Figur 7: Her ser vi hvor vi finner igjen de ønskede hoved overskriftene Figur 7 viser eksempel på kolonner som kan vises på nettsiden. Dette er de egenskapene brukeren haket av i konfigurasjonsbyggeren, derfor vises de som kolonner. Egenskapene som ikke ble haket av vises kun om du trykker på loggfilnavnet. Public 2013 Aker Solutions Prosessrapport Page 24 of 35

25 Figur 8 viser eksempel på andre kolonner som har blitt valgt. Figur 8: Annet eksempel på kolonnetilpasning Konfigurasjonsfilen Etter å ha gjort mye forandringer i løsningen, var det på tide å oppdatere konfigurasjonsfilen også. Vi fant ut at vi skulle bruke konfigurasjonsfilen ikke bare til å legge inn hovedapplikasjon, underapplikasjon og prosjekt, men også legge med lagret data fra Property og RetrievedProperty klassene. Dermed kunne vi lese utfra konfigurasjonsfilen hvordan oppsettet til tabellen på nettsiden skulle se ut. Figur 9 viser et utdrag fra en ferdig konfigurasjonsfil. For å se en hel konfigurasjonsfil henviser vi til «Konfigurasjonsfil» i vedlegget. Figur 9: Utdrag fra endelig konfigurasjonsfil I figur 9 ser vi at RetrievedProperty som «Start» og «Stop» forteller hvordan nettsiden skal vise disse egenskapene for hovedapplikasjonen sine underapplikasjoner og prosjekter, med at taggen <in_table> viser true, om det skal vises som en kolonne, ellers false. Public 2013 Aker Solutions Prosessrapport Page 25 of 35

26 Oppsummering Leseren av denne rapporten vil kanskje påpeke at det virker som alle de ønskete funksjonene ble lagt til de par siste ukene. Dette stemmer ikke helt, for løsningen fungerte bra på det tidspunktet vi overleverte det til testing. Det gjenstod noe fiksing selvfølgelig, men selve løsningen inneholdt de fleste av funksjonene som oppdragsgiver og gruppen var blitt enige om. Gruppen hadde et fullt kjørbart program en stund før vår oppgitte milepæl 28.april. Ved overlevering av løsningen for testing fikk derimot både gruppen og vår veileder idéer om hva som kunne gjøre løsningen enda litt bedre, og idéene ble satt ut i praksis. 3.4 Faglige utfordringer I dette avsnittet diskuteres situasjoner, teknologier eller systemer, som viste seg å by på noen utfordringer, og hva gruppen gjorde for å løse dem Lesing av forskjellig type filer Noe som bidro til at dette ikke ble en enkel oppgave var mengden av forskjellige typer filer som skulle leses. Vi måtte ta hensyn til at loggfiler fantes i forskjellige formatter og finne en måte å lese dem på uten å lage en spesifikk leser for hver type. Hvordan vi skal klare å lage et program som kan lese og tolke ulike filer ved bruk av samme kode, har vært vår desidert største og mest tidskrevende utfordring. Hvis filene man leser alltid ser like ut, er det lett å skreddersy kode til å passe akkurat disse tilfellene. Men så snart en fil med en helt annerledes struktur og oppbygging skal leses, gjør den skreddersydde koden at ting kun fungerer ved lesing av den ene og ikke den andre typen fil. Dette førte til at vi måtte bruke mye tid på å tenke ut måter vi kunne gjøre koden vår generisk på. Og løsningene vi kom fram til krever litt mer av personen som bruker programmet, men gjør igjengjeld at så lenge filen kan leses som tekst, vil vi klare å lese den. For en mer teknisk beskrivelse av loggfil lesing, henvises leseren til «Produktrapporten», avsnitt Rettigheter På serverne der loggfilene ligger, kan man i noen tilfeller også finne filer med sensitivt innhold. Dette gjør at kun et utvalg av personer har tilgang til lesing fra disse serverne. Dette førte videre til at vi fikk problemer da vår webserver skulle lese gjennom tusener av slike filer. Det å «late» som du er en annen bruker kan medføre store sikkerhetsrisiko, og programmeringsverden har derfor med vilje gjort dette til en vrien sak. Dermed stod vi ovenfor en stor utfordring. Vi brukte en del tid på å finne en løsning på dette, og etter et par dager spurte vi en ansatt som fortalte oss at han hadde støtt på samme problem tidligere og laget sin egen kodesnutt for å løse denne utfordringen. Vi fikk tilsendt hans kode, og denne fungerte akkurat som vi trengte etter noen små endringer. Se avsnitt i «Produktrapporten» for mer informasjon. Public 2013 Aker Solutions Prosessrapport Page 26 of 35

27 3.4.3 MVC Da vi satte i gang med utviklingen av nettsiden vår fant vi ut at.net sitt MVC-rammeverk passet godt til det vi skulle lage. Det førte til at noen i gruppen måtte bruke litt mer tid på å sette seg inn i rammeverket. MVC fordeler ansvarsområder slik at hver del (model, view og controller) blir mindre avhengig av de andre. For en grundigere forklaring av MVC, se «Produktrapporten» avsnitt Vi måtte lære hverandre hvordan de forskjellige delene snakket sammen, og måten å overføre informasjon på mellom dem. Men det er nettopp denne ansvarsfordelingen som gjør MVC til et bra designmønster, hvor oppgavene holdes atskilt. Vi mener at bruken av MVC var et lurt valg ettersom det fordeler ansvar på en oversiktlig måte. Gruppen kommer ut av prosjektet med et godt læringsutbytte og høyere forståelse av MVC designet Effektivitet Når man skal lese titallstusener av filer, blir det med en gang store utslag i effektiviteten av koden din. Dette var noe som kom tydelig frem da vi begynte å fokusere på det. Blant annet å gjøre om tider fra tekst til DateTime-objekter krever mye tid. Og ettersom vi i begynnelsen av utviklingsfasen kun testet på rundt 100 filer, merket vi ikke noe til denne tidskrevende operasjonen. Men etter gjennomgang av koden i senere tid fant vi ut at det her var mye tid å hente på å gjøre ting litt annerledes. Et annet eksempel er å knytte en historisk loggfil til en loggfil. Dette skjedde først ved at vi laget to lister; en liste med nye filer og en liste med historiske filer. Deretter gikk vi gjennom hele den historiske listen for hver nye fil. Måten vi effektiviserte dette på var å fjerne filene fra den historiske listen hver gang den fant riktig fil. Dermed ble listen kortere og kortere ettersom den ble gått igjennom Internet Explorer 8 Alle ansatte hos Aker Solutions har i utgangspunktet kun tilgang til Internet Explorer 8, noe som tilsier at nettsiden vår må fungere for denne nettleseren. Internet Explorer 8 er en versjon av Internet Explorer mange store nettsider verden rundt har sluttet å støtte på grunn av blant annet sikkerhetshull og utdatert HTML-, CSS-, og JavaScript-motor. Det vil si at nettleseren går gjennom HTML- og CSS-filene saktere, i tillegg til at den ikke gjenkjenner nyere versjoner som HTML5 og CSS3. Den kjører JavaScript saktere enn andre, nyere nettlesere. Dersom man besøker nettsiden vi har lagd med en annen nettleser enn Internet Explorer 8 vil nettsiden se rotete og feil ut, da alt er lagd til å tilpasse Internet Explorer 8. Dette viser hvor annerledes den tolker HTML og CSS i forhold til andre nettlesere. Knapper vil ikke være der de skal være og andre elementer vil forflytte seg når de egentlig skal være på et sted. På grunn av oppdragsgiverens størrelse har de strenge regler for hvor mye rettigheter brukere har på sine arbeidsmaskiner. De har også en liste over hvilke applikasjoner man får lov til å installere på maskinene. Disse strenge reglene fører til at blant annet utviklerverktøyet (Developer Tools) i Public 2013 Aker Solutions Prosessrapport Page 27 of 35

28 Internet Explorer 8 er låst, slik at testing og feilsøking av JavaScript, inspisering av elementer i HTML-filene og visning av nettverkskall er utilgjengelig. For å løse dette problemet kjørte vi en portabel versjon av Google Chrome, en nettleser utviklet av Google. En såkalt portabel versjon vil si at den kjøres fra en USB-minnepenn uten at den må installeres lokalt på klienten. Med Google Chrome har vi utviklerverktøyet tilgjengelig og kan lettere sjekke at logikk og funksjoner som kjøres lokalt i nettleseren fungerer som det skal. Dette førte til at vi måtte utvikle nettsiden i Chrome, for å så tilpasse funksjoner og utseende til å fungere for Internet Explorer 8, noe som er ekstremt kronglete og førte til mye frustrasjon. 3.5 Testfase To uker før begynnelsen av dokumentasjonsfasen ble løsningen vår gitt til en Aker Solutions ansatt for feilsøking og forslag til forbedringer. Han skulle bruke første versjonen av brukermanualen for å se om den var lett å forstå og ta i bruk. Det kom få forslag til endringer til brukermanualen, kun få uklare setninger. Ellers klarte den ansatte å opprette en konfigurasjonsfil og var i gang med å bruke nettsiden i løpet av en times tid. Etter hvert som han brukte nettsiden mer kom han med noen ønsker som vi fikk tid til å legge inn i og med at vi var tidlig ute med å få løsningen testet. Disse ønskene var: å kunne sortere radene i loggfiltabellen, å kunne velge hvilke kolonner som skulle vises som standard på nettsiden, og hvilke informasjon som skulle kunne vises dersom brukeren ville se det. Med tanke på historikk ønsket han i tillegg å kunne lage en kopi av dataen/beholde historikk (i dette tilfellet lagre en kopi av den nåværende DAT-filen). I tillegg til hans forslag testet vi robustheten til de forskjellige komponentene av løsningen vår. Vi gikk gjennom en liste av mulige situasjoner som kunne forårsake uønsket avslutning av programmet. Siden vi skal levere dette produktet fra oss, er det viktig at de som enten skal bruke eller videreutvikle det har muligheten til å fikse noe dersom det oppstår feil. Informative feilmeldinger med forslag til hvordan feilen kan rettes opp må gis til brukeren slik at de har mulighet til å komme seg videre dersom det oppstår feil. For å gå mer i detalj om hva vi testet kan man lese testrapporten. Public 2013 Aker Solutions Prosessrapport Page 28 of 35

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

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5 Testrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 24.5.2013 Public 2013 Aker Solutions Page 1 of 5 Innledning I denne rapporten vil vi skrive om testingen som

Detaljer

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato

Detaljer

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet Kravspesifikasjon Hovedprosjekt 2014 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus Presentasjon Tittel: Oppgave: Gruppemedlemmer: Digitalt Helsekort for Gravide Utvikle en prototype

Detaljer

Del IV: Prosessdokumentasjon

Del IV: Prosessdokumentasjon 1 2 Forord Dette dokumentet omhandler detaljert beskrivelse av vår arbeidsprosess gjennom hele perioden med prosjektet. Prosessdokumentasjonen er en viktig del av sluttrapporten, og er delt opp i følgende

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

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

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

Møtereferater: HP36 uke 2, 10.1.2012: Gruppemedlemmer: Christian Salater Magne Hjermann Zunaira Afzal Tola Sarzali Waleed Abtidon.

Møtereferater: HP36 uke 2, 10.1.2012: Gruppemedlemmer: Christian Salater Magne Hjermann Zunaira Afzal Tola Sarzali Waleed Abtidon. Møtereferater: HP36 uke 2, 10.1.2012: Gruppemedlemmer: Christian Salater Magne Hjermann Zunaira Afzal Tola Sarzali Waleed Abtidon Møtereferat: 1. møte med veileder I dette møtet presenterte vi oss for

Detaljer

Bachelorprosjekt i informasjonsteknologi, vår 2017

Bachelorprosjekt i informasjonsteknologi, vår 2017 Bachelorprosjekt i informasjonsteknologi, vår 2017 Gruppe 29: Marthe Janson Skogen, s236357, Ingeniørfag - data Odd Einar Hoel, s236313, Ingeniørfag - data Forprosjektrapport Rapporten inneholder presentasjon,

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

Generell brukerveiledning for Elevportalen

Generell brukerveiledning for Elevportalen Generell brukerveiledning for Elevportalen Denne elevportalen er best egnet i nettleseren Internett Explorer. Dersom du opplever kompatibilitets-problemer kan det skyldes at du bruker en annen nettleser.

Detaljer

Hovedprosjekt. Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport. K-skjema og ferie kalender

Hovedprosjekt. Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport. K-skjema og ferie kalender Hovedprosjekt Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport Presentasjon Sted og dato Oslo, Jan 9, 2011 Prosjekt tittel Periode K-skjema og ferie kalender Utvikle et registreringssystem

Detaljer

Bachelorprosjekt 2015

Bachelorprosjekt 2015 Bachelorprosjekt 2015 Høgskolen i Oslo og Akershus Tam Ha (s171513) Arslan Yousaf (s189135) Gabriel Noraker Alfarrustad (s161910) Eivind Lund (s180381) Phillip Padiernos Næss (s162951) Forprosjekt Prosjektets

Detaljer

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus Forprosjektrapport Gruppe 2 Hovedprosjekt 2014, Høgskolen i Oslo og Akershus 1 INNHOLD 2 Presentasjon... 2 2.1 Gruppen medlemmer... 2 2.2 Oppgave... 2 2.3 Oppdragsgiver... 2 2.4 Veileder... 2 3 Sammendrag...

Detaljer

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016. Pillbox Punchline

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016. Pillbox Punchline Forprosjektrapport Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016 Pillbox Punchline Gruppe 8 André Østhagen Bye, s198607 Annika Hammervoll, s198611 Hanne Rygge, s198613

Detaljer

PROSESSDOKUMENTASJON

PROSESSDOKUMENTASJON PROSJEKT NR.: 10-30 Studieprogram: Anvendt Datateknologi Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET: Papir og elektronisk Telefon: 22 45 32 00

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

Kandidat nr. 1, 2 og 3

Kandidat nr. 1, 2 og 3 Kandidat nr. 1, 2 og 3 Rapport 1 IT202E Bacheloroppgave i Informatikk Vår 2011 Mobilapplikasjonsutvikling med Scrum 1 Innhold Innledning... 3 Overordnet Prosjektplan... 3 Produktbacklog... 5 Sprint planning

Detaljer

Høgskolen i Oslo og Akershus

Høgskolen i Oslo og Akershus Høgskolen i Oslo og Akershus Gruppe 2 Forprosjektrapport Presentasjon Oppdragsgiver: Prosjekttittel: Definisjon: Accenture Shera Shera er en «event»-applikasjon til Android der man kan registrere arrangementer

Detaljer

Testrapport. Studentevalueringssystem

Testrapport. Studentevalueringssystem Testrapport Studentevalueringssystem 1 Forord 1.2 Forord Dette prosjektet er et hovedprosjekt i data ved Høgskolen i Oslo, avdeling for ingeniørutdanning, og gjennomføres i samarbeid med Ingeniøravdeling

Detaljer

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold,

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold, Hovedprosjekt i data/informasjonsteknologi Høgskolen i Oslo og Akershus Forprosjekt Prosjekttittel Unikia Android applikasjon Gruppe 13 Markus Bugge-Hundere s188909 Morten Wold Aksel Wiig s236326 s232324

Detaljer

Dokument 1 - Sammendrag

Dokument 1 - Sammendrag Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om

Detaljer

VEDLEGG 1 KRAVSPESIFIKASJON

VEDLEGG 1 KRAVSPESIFIKASJON VEDLEGG 1 KRAVSPESIFIKASJON INNHOLDSFORTEGNELSE Forord... 2 1 Systembeskrivelse... 2 2 Mål for systemet... 3 3 Funksjonelle krav... 4 4 Ikke-funksjonelle krav... 5 5 Use-case diagram... 6 6 Rammekrav...

Detaljer

Komme i gang med Skoleportalen

Komme i gang med Skoleportalen Generell brukerveiledning for Elevportalen Denne elevportalen er best egnet i nettleseren Internett Explorer. Dersom du opplever kompatibilitets-problemer kan det skyldes at du bruker en annen nettleser.

Detaljer

Gruppe 44. Bachelorprosjekt ved Institutt for informasjonsteknologi, våren Høgskolen i Oslo og Akershus,

Gruppe 44. Bachelorprosjekt ved Institutt for informasjonsteknologi, våren Høgskolen i Oslo og Akershus, Bachelorprosjekt ved Institutt for informasjonsteknologi, våren 2017 Høgskolen i Oslo og Akershus, 19.01.2017 Gruppe 44 Håkon Andre Sylte Garnes, Tobias Hallèn, Gaurab J. Gurung Forprosjektrapport Presentasjon

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

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008 Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008 Skrevet av Ole Myrbakken, Fadima Mohamoud, Orji Okoroafor, Karen Arrendondo Side 1 PRESENTASJON Prosjekt tittel: Prosjektperiode: MetaGen 7.jan

Detaljer

Kravspesifikasjon MetaView

Kravspesifikasjon MetaView Kravspesifikasjon MetaView BACHELOROPPGAVE VÅREN 2014 1. Presentasjon Tittel: MetaView Oppgave: Lage en applikasjon og api som skal kommunisere med MetaVision slik at det skal bli enklere for leger og

Detaljer

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker,

Detaljer

1. Forord 2. Leserveiledning

1. Forord 2. Leserveiledning KRAVSPESIFIKASJON 1 1. Forord Hensikten med kravspesifikasjonen er at den skal fungere som et styringsdokument under prosessen og definere rammer og betingelser rundt hovedprosjektet. Den er utviklet etter

Detaljer

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS Skjemaer med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 10 Informasjonsteknologi 1 og 2 Skjemaer på nettsider I denne leksjonen skal vi se litt nærmere på bruk av skjemaer på nettsider. Du har sett

Detaljer

Studentdrevet innovasjon

Studentdrevet innovasjon Studentdrevet innovasjon Hovedprosjekt 2013 Høgskolen i Oslo og Akershus Forprosjektrapport av Gruppe 11 Karoline Sanderengen, Mona Isabelle Yari og Randi Ueland 25.01.2013 Studentdrevet innovasjon 9 Innhold

Detaljer

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester.

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester. 1 Forord Hensikten med kravspesifikasjonen er å gi oppdragsgiver og utviklere en enighet og forståelse av funksjonaliteten til applikasjonen som skal produseres. en definerer i tillegg prosjektets rammer

Detaljer

HOVEDPROSJEKT 2010 - HIO IU - DATA FORPROSJEKTRAPPORT GRUPPE 18

HOVEDPROSJEKT 2010 - HIO IU - DATA FORPROSJEKTRAPPORT GRUPPE 18 HOVEDPROSJEKT 2010 - HIO IU - DATA FORPROSJEKTRAPPORT GRUPPE 18 INNHOLDSFORTEGNELSE 1. PRESENTASJON 2. SAMMENDRAG 3. DAGENS SITUASJON 4. MÅL OG RAMMEBETINGELSER 5. LØSNINGER \ ALTERNATIVER 6. ANALYSE AV

Detaljer

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

3. Kravspesifikasjon. Experior - rich test editor for FitNesse - 3. Experior - rich test editor for FitNesse - 3.1. Forord Dette dokumentet inneholder krav til funksjonalitet i Experior og hvordan denne skal integreres inn i selve FitNesse. I tillegg spesifiseres krav

Detaljer

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634 Forprosjekt Presentasjon Gruppe 19: Event-planlegger Andreas Berglihn s169991 Harald R. Svendsen s127142 Gruppe Gruppe 19 Andreas Berglihn, s169991 Harald R. Svendsen s127142 Oppgave Eventplanlegger Utvikle

Detaljer

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Digitalisering av Sentralen UNG Gründer

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Digitalisering av Sentralen UNG Gründer Forprosjektrapport Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 207 Digitalisering av Sentralen UNG Gründer Gruppe 34 Kenneth Di Vita Jensen, s236745 Frank Arne Bjørkmann

Detaljer

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Norgestur Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir

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

Kravspesifikasjon. Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011. Gruppemedlemmer

Kravspesifikasjon. Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011. Gruppemedlemmer Kravspesifikasjon Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011 Gruppemedlemmer Adeel Yousaf Khan s141459 Mats Klingenberg Naustdal s148155 Nur M. Ahmed s148108 Thomas Wiborg s161335

Detaljer

Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus, våren Camilla Kaasi(s188070) Roza Moustafa(s188113)

Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus, våren Camilla Kaasi(s188070) Roza Moustafa(s188113) Forprosjektrapport Gruppe 14 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus, våren 2015 Sted: Høgskolen i Oslo og Akershus Dato: 23.01.2015 Tittel: Gruppemedlemmer: Oppgave: Oppdragsgiver:

Detaljer

Installasjon av Nett-TV-meter Trinn for trinn

Installasjon av Nett-TV-meter Trinn for trinn Installasjon av Nett-TV-meter Trinn for trinn Nett-TV-meter tilpasset for Windows og OS X (Mac). I dette dokumentet finner du fremgangsmåten for installasjonen av Nett-TV-meter. I e-posten du/dere har

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

the web Introduksjon Lesson

the web Introduksjon Lesson Lesson 1 the web All Code Clubs must be registered. Registered clubs appear on the map at codeclub.org.uk - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do. Introduksjon

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

CASCADING STYLESHEETS (CSS)

CASCADING STYLESHEETS (CSS) CASCADING STYLESHEETS (CSS) HVA ER CSS Stylesheets er en metode for å flytte selve formatteringen av et HTML dokument ut av selve dokumentet og over i et eksternt regelsett. Dette skyldes HTMLs manglende

Detaljer

FORPROSJEKT RAPPORT PRESENTASJON

FORPROSJEKT RAPPORT PRESENTASJON FORPROSJEKT RAPPORT PRESENTASJON Tittel: Oppgave: Appenes App Utvikle en Windows 8.1 Applikasjon for Tablet, og en Windows 8 Phone App og en backend. Periode: 06.01.2013-27.05.2013 Gruppemedlemmer: Athavan

Detaljer

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen. Kuprat Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Norsk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I dette kurset skal vi introdusere programmeringsspråket Python. Dette

Detaljer

Kravspesifikasjon. Forord

Kravspesifikasjon. Forord Kravspesifikasjon Forord Kravspesifikasjonen skal beskrive applikasjonens funksjonalitet og betingelsene som oppdragsgiver krever. Det skal også hjelpe utviklerne med å begrense applikasjonen slik at den

Detaljer

WWW.POLARPRODUKSJON.NO

WWW.POLARPRODUKSJON.NO GUIDE RSHL.NO Av Fredrik Mediå Oppgraderingen av nettstedet RSHL.NO har ført til at det kan oppstå en del spørsmål og forvirringer rundt hvordan forskjellige elementer fungerer. Denne guiden skal fungere

Detaljer

Gå til Nedlastninger på menylinjen for Visma Skolelisens og velg Visma Lønn versjon 9.5.

Gå til Nedlastninger på menylinjen for Visma Skolelisens og velg Visma Lønn versjon 9.5. 1 Før du starter I Windows må du sørge for at tekst og andre elementer er satt til å vises normalt 100%. Visma Lønn støtter ikke zooming, da vil noen elementer forsvinne fra programmet og ikke fungere.

Detaljer

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp { En selvstendig plattform som kan brukes til å formidle kurs på nett med dagsaktuell teknologi. Oppgave 5, av Fredrik Johnsen Oppgavestiller

Detaljer

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. KRAVSPESIFIKASJON Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. Prosjektgruppe: 27 Prosjektmedlem: Ole Almenning Stenhaug Veileder.

Detaljer

1. Å lage programmer i C++

1. Å lage programmer i C++ Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Å lage programmer i C++ Tore Berg Hansen og Else Lervik Rividert siste gang 24. august 2006 1. Å lage programmer i C++ Resymé: Dette notatet

Detaljer

Kravspesifikasjon. 1. Innledning. Presentasjon. Innledning. Om bedriften. Bakgrunn for prosjektet

Kravspesifikasjon. 1. Innledning. Presentasjon. Innledning. Om bedriften. Bakgrunn for prosjektet Kravspesifikasjon Presentasjon Tittel: Oppgave: Backup for PDA/Smartphones Utvikle en applikasjon for PDA/Smartphones med funksjonalitet for backup av sms, mms, e-post, kontakter, kalender, bilder og dokumenter

Detaljer

HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter

HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter Introduksjon Denne brukerveiledningen er laget for Hemit Ekstranettportal. (https:\\ekstranett.helse-midt.no\) I dette dokumentet tar vi for

Detaljer

OBLIG 2 WEBUTVIKLING

OBLIG 2 WEBUTVIKLING OBLIG 2 WEBUTVIKLING Oppgave 1 Design ved hjelp av skisser eller wireframes et nettsted med et "avansert" design. Lag spesifikke design for ulike skjermstørrelser og utskrift. Fokuser spesielt på å få

Detaljer

Innstallasjon og oppsett av Wordpress

Innstallasjon og oppsett av Wordpress Del 1 - Installasjon og oppsett Innstallasjon og oppsett av Wordpress Wordpress har blitt en veldig populær publiseringsplattform for websider. Uten særlige tekniske ferdigheter kan man sette opp profesjonelle

Detaljer

KONTROLL INSIDE MSOLUTION

KONTROLL INSIDE MSOLUTION KONTROLL INSIDE MSOLUTION Forandre renholdsteam eller renholdsdager på oppdrag I denne brukerveiledningen skal vi bruke bytte renholdsdager. Det skjer jo at vi bytter renholdsdager eller team på kunder.

Detaljer

Kjøre Wordpress på OSX

Kjøre Wordpress på OSX Kjøre Wordpress på OSX Alt etter hva du ønsker å bruke Webserveren til er det flere måter å gjøre dette på. Ønsker du kun en side som skal dele sider du lager manuelt, med PHP, GD etc eller med server

Detaljer

Hovedprosjekt 2013. Gruppe 27. Forprosjektrapport [GILJE AS] Lars Gjestang - Hiran Piapo - Bård Skeie

Hovedprosjekt 2013. Gruppe 27. Forprosjektrapport [GILJE AS] Lars Gjestang - Hiran Piapo - Bård Skeie 2013 Hovedprosjekt 2013 Gruppe 27 Forprosjektrapport [GILJE AS] Lars Gjestang - Hiran Piapo - Bård Skeie Innhold 1. Presentasjon... 2 2. Sammendrag... 2 3. Dagens Situasjon... 2 4. Mål og rammebetingelser...

Detaljer

Forprosjektrapport Gruppe 30

Forprosjektrapport Gruppe 30 Forprosjektrapport Gruppe 30 Gruppemedlemmer: Eyvind Nielsen s177748 Ullvar Brekke s236375 Kristoffer Pettersen s239404 Innhold Presentasjon... 3 Sammendrag... 3 Dagens situasjon... 3 Mål... 3 Rammebetingelser...

Detaljer

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING 2009 Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING Brukerveiledning for tilleggsmodul til Microsoft PowerPoint og Open Office for oppdatering av eget innhold for kunder av Doctors Media

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

Veiledning og vurdering av Bacheloroppgave for Informasjonsbehandling

Veiledning og vurdering av Bacheloroppgave for Informasjonsbehandling Veiledning og vurdering av Bacheloroppgave for Informasjonsbehandling Oppdatert 15. jan. 2014, Svend Andreas Horgen (studieleder Informasjonsbehandling og itfag.hist.no) Her er noen generelle retningslinjer

Detaljer

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

Produktrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, Produktrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 24.5.2013 Public 2013 Aker Solutions Produktrapport Page 1 of 26 Public 2013 Aker Solutions Produktrapport

Detaljer

Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i

Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i Kristiansund. Bedriften tilbyr engineering og maskintekniske

Detaljer

Brukerveiledning for programmet HHR Animalia

Brukerveiledning for programmet HHR Animalia Brukerveiledning for programmet HHR Animalia Versjon 1.0 Rakkestad, 26.03.2014 Innholdsfortegnelse 1. Introduksjon... 3 2. Installasjon og oppgradering... 3 2.1 Nedlasting... 3 2.2 Oppdatering av operativsystem

Detaljer

Gruppe Forprosjekt. Gruppe 15

Gruppe Forprosjekt. Gruppe 15 Forprosjekt Gruppe 15 Marius Ylven Westgaard - s236797 - Anvendt Datateknologi Lise Janbu Eide - s236361 - Dataingeniør Lavanja Jeyenthiran - s236346 - Dataingeniør Kristian Pedersen - s236728 - Anvendt

Detaljer

TESTRAPPORT INTRANETT, CMA ASSET MANAGEMENT AS. Dataingeniørutdanningen, Høgskolen i Oslo GRUPPE 15. Kenneth Ådalen. Vegard Gulbrandsen

TESTRAPPORT INTRANETT, CMA ASSET MANAGEMENT AS. Dataingeniørutdanningen, Høgskolen i Oslo GRUPPE 15. Kenneth Ådalen. Vegard Gulbrandsen TESTRAPPORT INTRANETT, CMA ASSET MANAGEMENT AS GRUPPE 15 Kenneth Ådalen Vegard Gulbrandsen Kien Trung Nguyen Dataingeniørutdanningen, Høgskolen i Oslo Våren 2009 2 S i d e FORORD I dette dokumentet tar

Detaljer

1 Del I: Presentasjon

1 Del I: Presentasjon 1 Del I: Presentasjon 2 Forord Denne sluttrapporten er skrevet av gruppe 12 som består av 4 studenter som studerer ved Høgskolen i Oslo og Akershus. Vi studerer Anvendt datateknologi og denne rapporten

Detaljer

FriBUs medlemsregister

FriBUs medlemsregister FriBUs medlemsregister Registrering og innrapportering av medlemmer 1. Pålogging Datamaskinen din må ha siste versjon av Microsoft Silverlight installert for at programmet skal fungere. Programmet kan

Detaljer

Installere JBuilder Foundation i Windows XP

Installere JBuilder Foundation i Windows XP Installere JBuilder Foundation i Windows XP Installasjon av JBuilder Foundation på Windows (dekker her spesifikt fremgangen ved bruk av Microsoft Windows XP Professional, men det vil mest trolig ikke være

Detaljer

Næringsregner på PC n versjon 1.1.0

Næringsregner på PC n versjon 1.1.0 Laget av Innhold: Introduksjon 2 Næringsregner på PC n 2 Næringstabell 2 Statistikk 2 Hvem passer programmet for? 2 Bruk av programmet 3 Innlogging av forskjellige brukere 3 Hovedprogramet har 3 felt 4

Detaljer

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv «Å tro at det ikke finnes virus på Mac er dessverre litt

Detaljer

OBLIG 1 - WEBUTVIKLING

OBLIG 1 - WEBUTVIKLING OBLIG 1 WEBUTVIKLING Oppgave 1 Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak. Problemer med funksjonalitet / bruk Uoversiktlig side For

Detaljer

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle Scratch Norgestur Skrevet av: Geir Arne Hjelle Kurs: Scratch Språk: Norsk bokmål Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over

Detaljer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som

Detaljer

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013. Testrapport

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013. Testrapport Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013 Testrapport 1 INNHOLDSFORTEGNELSE 1 INNHOLDSFORTEGNELSE... 1 2 Innledning... 2 3 Formål med testing... 3 3.1 Funksjonalitet...

Detaljer

BRUKERMANUAL. Telsys Online Backup

BRUKERMANUAL. Telsys Online Backup BRUKERMANUAL Telsys Online Backup TELSYS AS - 06.08.2009 Innhold Generelt... 3 Kom i gang... 4 Installasjon av Telsys Online Backup Proff/Standard... 4 Start opp klienten for første gang!... 10 Logg inn...

Detaljer

Leker gutter mest med gutter og jenter mest med jenter? Et nysgjerrigpersprosjekt av 2. klasse, Hedemarken Friskole 2016

Leker gutter mest med gutter og jenter mest med jenter? Et nysgjerrigpersprosjekt av 2. klasse, Hedemarken Friskole 2016 Leker gutter mest med gutter og jenter mest med jenter? Et nysgjerrigpersprosjekt av 2. klasse, Hedemarken Friskole 2016 1 Forord 2. klasse ved Hedemarken friskole har hatt mange spennende og morsomme

Detaljer

Forord Dette er brukerdokumentasjonen skrevet i forbindelse med hovedprosjekt ved Høgskolen i Oslo våren 2010.

Forord Dette er brukerdokumentasjonen skrevet i forbindelse med hovedprosjekt ved Høgskolen i Oslo våren 2010. BRUKERDOKUMENTASJON Forord Dette er brukerdokumentasjonen skrevet i forbindelse med hovedprosjekt ved Høgskolen i Oslo våren 2010. Dette dokumentet beskriver hvordan å applikasjonen, og er skrevet for

Detaljer

Hvordan lage en hjemmeside

Hvordan lage en hjemmeside Hvordan lage en hjemmeside En kort introduksjon til produksjon, editering og publisering av Torbjørn Meling Introduksjon Vi skal nå gå gjennom noen steg som forklarer med tekst hvordan man kan bruke Microsoft

Detaljer

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv «Å tro at det ikke finnes virus på Mac er dessverre litt

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

Hurtigstartveiledning

Hurtigstartveiledning Hurtigstartveiledning Microsoft OneNote 2013 ser annerledes ut enn tidligere versjoner, så vi har laget denne veiledningen for å hjelpe deg med å redusere læringskurven. Veksle mellom berøring og mus Hvis

Detaljer

Forprosjektrapport. Presentasjon. Sammendrag. Tittel Informasjonsplatform for NorgesGruppen

Forprosjektrapport. Presentasjon. Sammendrag. Tittel Informasjonsplatform for NorgesGruppen Forprosjektrapport Presentasjon Tittel Informasjonsplatform for NorgesGruppen Oppgave Utvikle en informasjonsplatform for butikkene i NorgesGruppen Periode 3. Januar 14. Juni Gruppemedlemmer Joakim Sjögren

Detaljer

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS DOM og praktiske eksempler Gløer Olav Langslet Sandvika VGS Høst 2013 Informasjonsteknologi 2 DOM Document Object Model Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

Produktrapport Gruppe 9

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

Detaljer

DOKUMENTASJON E-post oppsett

DOKUMENTASJON E-post oppsett DOKUMENTASJON E-post oppsett Oppsett av e-post konto Veiledningen viser innstillinger for Microsoft Outlook 2013, og oppkobling mot server kan gjøres med POP3 (lagre e-post lokalt på maskin) eller IMAP

Detaljer

Dokumentasjon. Prosjektdagbok Timelister. Rolled Up Task. Rolled Up Milestone. Rolled Up Progress. Split. Page 1

Dokumentasjon. Prosjektdagbok Timelister. Rolled Up Task. Rolled Up Milestone. Rolled Up Progress. Split. Page 1 ID Name Duration Start Finish 1 Planlegging 95 days Mon 02.10.06 Fri 09.02.07 2 Statusrapport 20 days Mon 02.10.06 Fri 27.10.06 3 Prosjektskisse 25 days Mon 30.10.06 Fri 01.12.06 4 Prosjektweb 31 days

Detaljer

1. Intro om SharePoint 2013

1. Intro om SharePoint 2013 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Intro om SharePoint 2013 Stein Meisingseth 09.08.2013 Lærestoffet er utviklet for faget LO205D Microsoft SharePoint 1. Intro om SharePoint

Detaljer

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS Mine notater Gløer Olav Langslet Sandvika VGS Et praktisk eksempel med objekter Vi kjenner alle til korktavlen med gule lapper. Vi henger opp en lapp for at vi selv eller andre skal huske eller bli minnet

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

Brukerveiledning WordPress. Innlogging:

Brukerveiledning WordPress. Innlogging: Brukerveiledning WordPress Her er en liten guide for hjelpe deg gjennom det grunnleggende i Wordpress. Denne veilederen vil ta deg gjennom: Innlogging Lage en side Lage et innlegg Innlogging: For å logge

Detaljer

Vedlegg Brukertester INNHOLDFORTEGNELSE

Vedlegg Brukertester INNHOLDFORTEGNELSE Vedlegg Brukertester INNHOLDFORTEGNELSE Vedlegg Brukertester... 1 Testrapport Wireframe... 2 1. INTRODUKSJON... 2 1.1 Systemoversikt... 2 1.2 Meningen med testen... 2 2 TESTPLAN... 2 2.1 Funksjoner som

Detaljer

WordPress. Brukerveiledning. Kjære kunde. Innlogging:

WordPress. Brukerveiledning. Kjære kunde. Innlogging: Brukerveiledning WordPress Sist oppdatert: 26.02.2014 Kjære kunde Her er en liten guide for å hjelpe deg gjennom det grunnleggende i Wordpress. Denne veilederen vil ta deg gjennom: Innlogging - s.1 Kontrollpanel

Detaljer

Steg for steg. Sånn tar du backup av Macen din

Steg for steg. Sånn tar du backup av Macen din Steg for steg Sånn tar du backup av Macen din «Being too busy to worry about backup is like being too busy driving a car to put on a seatbelt.» For de fleste fungerer Macen som et arkiv, fullt av bilder,

Detaljer