Hovedprosjekt 2011 Granitt Grafisk AS

Størrelse: px
Begynne med side:

Download "Hovedprosjekt 2011 Granitt Grafisk AS"

Transkript

1 Hovedprosjekt 2011 Granitt Grafisk AS

2 Forord Dette dokumentet er dokumentasjonen på vårt hovedprosjekt ved høgskolen i Oslo vår Dette dokumentet er en beskrivelse av prosjektet og produktet fra start i januar 2011 til slutt i juni Dokumentet inneholder prosessdokumentasjon, produktdokumentasjon, testdokumentasjon og brukerdokumentasjon, og tar for seg de fleste aspekter rundt disse temaene. Dokumentet er beregnet for sensorer, veiledere og evt andre som måtte ha interesse av å lese om hovedprosjektet vårt. Det forventes å ha grunnleggende kunnskaper om systemutvikling og datateknologi av de som skal lese dette dokumentet.

3 Innholdsfortegnelse Forord Innholdsfortegnelse 1. Del 1 - Prosessdokumentasjon 1.1 Forord 1.2 Innholdfortegnelse for prosessdokumentasjon 1.3 Innledning Om prosjektet Om oppdragsgiver Om gruppen Mål 1.4 Planleggingsfasen Sammendrag Valg og rammebetingelser Valg av programmeringsspråk Mål og rammebetingelsene Kravspesifikasjon Styringsdokumenter Arbeidstid Milepæler Manual 1.5 Metode Prototyping 1.6 Implementeringsfasen Oppstart Databasen Javasystemet

4 1.7 Dokumentasjonsfasen 1.8 Testfasen 1.9 Erfaringer og resultat 2. Del 2 - Produktdokumentasjon 2.1 Forord 2.2 Innholdfortegnelse for produktdokumentasjon 2.3 Presentasjon av Granitt Kalkyle Innledning Beskrivelse Systemkrav 2.4 Teknologier Biblioteker Verktøy 2.5 Systemet Datalaget Foretningslogikklaget Presentasjonslaget 2.6 Brukergrensesnitt Om designet Design av administrasjonsgui Design av kalkylegui Design av utskriften 2.7 Sikkerhet Datasikkerhet Backup

5 2.8 Databasen ER-diagram Tabellbeskrivelser 2.9 Videreutvikling Uteblivende funksjoner Ideer til utvidelser 3. Del 3 - Testdokumentasjon 3.1 Forord 3.2 Innholdfortegnelse 3.3 Hvordan dokumentet brukes 3.4 Testcases Logge inn til system Administrere tilbud Lage nytt tilbud Kalkulere pris Endre/vise tilbud Slette tilbud Filtrering av tilbud Administrere brukere Legge til bruker Administrere ark Legge til oppføring i prislisten Redigere oppføring Slette oppføring Laste opp ny prisliste Filtrere prisliste Administrere kunder Legg til kunde Endre kundeinfo Slette kunde Filtrering av kunder

6 6. Del 4 - Brukerdokumentasjon 4.1 Forord 4.2 Innholdfortegnelse for brukerdokumentasjon 4.3 Brukermanual Administrer brukere til systemet Legg til bruker Endre passord til bruker Administrer arktyper Legg til arktyper Endre arktyper Søk etter arktyper Slett arktyper Last opp ny prisliste Administrer kunder Legg til kunde Endre kunde Søk etter kunde Slett kunde Administrer tilbud Lag nytt tilbud Endre tilbud Søke etter tilbud Slett tilbud Skriv ut tilbud Hvordan fungerer tilbudsvinduet? Felter og knapper Valg av arktype

7 5. Vedlegg Vedlegg 5.1 Diagrammer Use-case Granitt Kalkyle Sekvensdiagrammer Klassediagram Relasjonsdiagram for database Databasescript Vedlegg 5.2 Styringsdokumenter Kravspesifikasjon Fremdriftsplan Logg Møtereferater med veileder Møtereferater med oppdragsgiver Timelister 6. Oppslag/Kilder

8 HOVEDPROSJEKT 2011 HØGSKOLEN I OSLO GRANITT GRAFISK PROSESSDOKUMENTASJON

9 1.1 Forord Dette er prosessdokumentasjonen skrevet i forbindelse med vårt hovedprosjekt ved høgskolen i Oslo våren Dette dokumentet er en beskrivelse av prosjektperioden fra start i januar 2011 til slutt i juni 2011, med hovedfokus på arbeidsprosessen. Dokumentet er beregnet for sensorer, veiledere og evt andre som måtte ha interesse av å lese om arbeidet vi har lagt ned i forbindelse med hovedprosjektet vårt. For informasjon om produktet, testing og/eller bruk av produktet henvises det til produktdokumentasjonen, testdokumentasjon og brukerdokumentasjon som følger dette dokumentet. Det forventes å ha grunnleggende kunnskaper om systemutvikling og datateknologi av de som skal lese dette dokumentet.

10 1.2 Innholdsfortegnelse for prosessdokumentasjon 1.1 Forord 1.2 Innholdfortegnelse for prosessdokumentasjon 1.3 Innledning Om prosjektet Om Oppdragsgiver Om gruppen Ønsket resultat 1.4 Planlegging Sammendrag Valg og rammebetingelser Valg av programmeringsspråk Mål og rammebetingelser Kravspesifikasjon Styringsdokumenter Arbeidstid Milepæler Manual 1.5 Metode Prototyping 1.6 Implementeringsfasen Oppstart Databasen Java systemet 1.7 Dokumentasjonsfasen 1.8 Testfasen 1.9 Erfaringer og resultat

11 1.3 Innledning Om prosjektet Granitt grafisk er et design og trykkefirma, etablert i Gran på Hadeland. Granitt Grafisk har vært på utkikk etter et administrasjonsverktøy for å effektivisere arbeidet sitt i forhold til kalkyler av sine tjenester. En kalkyle tar lang tid da det inngår mye regning og forståelse bak. De har per dags dato hatt et stort tidsproblem med å slå opp i produktkataloger, da det også går mye tid bort i å slå opp. De har funnet en god del løsninger på nett, men disse løsningene var veldig dyre, noe som er lite aktuellt for bedriften. Oppdragsgiver har bedt om en løsning som kalkulerer kalkyler av grafiske tjenester med enkelt tilgang til produktene digitalt. Produktleverandøren leverer også katalogen sin digitalt. Granitt Kalkyle er et gratis alternativ med et enkelt grensesnitt, som ikke krever større forståelse av data for bruk. Systemet kan kalkulere tilbuder, samt administrere disse. Kalkylen baseres på kundeinformasjon og produktinformasjon, derfor er det mulighet for administrering av dette. Det er mulig å importere data fra excel fil for produktinformasjon. All data blir lagret i en sql database. Systemet har også støtte for innlogging, for sikkerhetens skyld og for signering av kalkyler Om oppdragsgiver Vår Oppdragsgiver i dette hovedprosjektet har vært Granitt Grafisk. Granitt Grafisk as ble opprettet sommeren 2007, og eies av Paul Rief, Finn Halland og Kjetil Hansen. Navnet Granitt Grafisk bygger på to ting. Vi ville ha et navn som knytter oss geografisk til Gran. Den andre tingen var å bygge en assosiasjon til vår kompetanse og kunnskap ved å benytte en metafor. Granitt er en steinart som er sterk og holdbar. Dermed ble det navnet Granitt Grafisk. Vår forretningsidé er veldig enkel: Levere grafiske tjenester av meget høy kvalitet. Vår styrke er meget høy kompetanse, effektivitet og lave kostnader.1 1 Granitt grafisks hjemmeside

12 1.3.3 Om gruppen Gruppen består av tre medlemmer, Joakim Haneberg Johansen, Michael Venables og Pål Georg Dahl Myran. Vi valgte å jobbe sammen i hovedprosjektet fordi vi har jobbet sammen flere ganger før i utdanningstiden, og i tillegg kjenner vi hverandre fra før av og kjenner derfor hverandres arbeidsvaner. Gruppen ble kontaktet høsten 2010 av Granitt grafisk da de var bekjent av Pål. Vi var på jakt etter et prosjekt da Granitt grafisk tilbød seg å være oppdragsgiver. Oppgaven så utfordrende ut samtidig som vi fikk en del ideer om hvordan dette kunne løses Mål Vårt mål med dette prosjektet var å utvikle et kjørbart system for kalkulering og administrering av de forskjellige aspektene ved en kalkyle.systemet skal også ta hensyn til de tekniske utregningene som er nødvendig for en komplett kalkyle. Hovedfokuset på systemet lå i å forenkle og spare tid på å kalkulere tilbuder. Systemet skulle utvikles med hensyn på en digital produkttabell, og et enkelt grensesnitt da enkelte av brukerene har mindre datakunnskaper. At systemet skulle stille til alle funksjonalitetene som var beskrevet i kravspesifikasjonen. På det personlige planet var målet å utvikle oss og tilegne oss erfaring med å jobbe i prosjekt, og kunnskaper om teknologier vi ikke kunne mye om.

13 1.4 Planleggingsfasen Denne delen av rapporten omhandler perioden fra Dette er perioden fra vi startet prosjektet og frem til implementeringsfasen Sammendrag Med Granitt Grafisk som oppdragsgiver skal gruppen utført et hovedprosjekt, ved høgskolen i Oslo ingeniøravdelingen, der målet er å utvikle et kalkylesystem for bedriften, som kalkulerer priser og tilbuder, for å unngå mye tap av tid og resursser. Det er også hensiktsmessig for å slippe å sitte med kalkylene i papirformat, og gi mulighet til å gå tilbake i tid(historikk) Valg og rammebetingelser Etter at oppgaven fra Granitt grafisk ble valgt, ble vi enige med bedriften om å ha et møte, i deres lokaler på Gran på Hadeland, der vi skulle diskutere kravene og rammene til systemet. Vi kom frem til en god del av rammene og målene vi skulle ha til prosjektet. Møtet hadde god progresjon og vi fikk et godt overblikk over hvordan vi ville bygge opp systemet, etter deres premisser Valg av Programmeringsspråk Etter valget av prosjektet lå det ingen krav på hvilke programmeringsspråk vi skulle bruke. I perioden fra vi fikk prosjektet og litt ut i forprosjektperioden brukte vi en del tid på å utforske de forskjellige teknologiene som passet systemet. Vi kom opp med at vi enten kunne utvikle et nettbasert system eller et stasjonært system. Vi konsulterte Granitt grafisk med dette og ble enige om at et stasjonært system ville passe best for dem. Dette var fordi systemet skulle kalkulere et ferdig produkt og dermed vil en del av den informasjonen som kalkuleres ikke oppgis til kunden. En annen grunn er fordi at det er de ansatte som skal kalkulere tilbudet og ikke kunden selv, og dermet er det ikke behov for et nettbasert system. Vi endte til slutt opp med å gjøre prosjektet med Java som programmeringsspråk, som alle på gruppen har god erfaring med, da dette var en del av utdanningen vår. I samsvar med at vi hadde valgt å bruke database som lagring, valgte vi å ta med et litt annet aspekt av java, Java Database Connectivity(JDBC). Dette var helt nytt for oss alle.

14 1.4.4 Mål og rammebetingelsene Som nevnt tidligere ble målene og rammebetingelsene bestemt hovedsaklig under det første møtet. Bedriften hadde en ide om hvordan systemet skulle se ut, og vi diskuterte og kom til enighet om hva og hvordan ting skulle gjøres. En del rammer ble også satt av skolen. Rammebetingelser Utvikles i Java med JDBC Utvikles til bruk i Windows Lokalt system Prosjektperiode på fem måneder Mål Opparbeide erfaring med arbeid i prosjekt. Opparbeide erfaring med nye og gamle teknologier og samskjøre disse( Java, JDBC, mysql). Levere et godt og kjørbart system, som tilfredsstiller Granitt grafisk's krav. Granitt grafisk hadde kun en rammebetingelse å komme med. Det var at vi hadde jevnlige møter, slik at de kan se hvordan systemet ble underveis, og være med på å forme systemet slik de ville ha det. Dette syntes vi også var en god idè Kravspesifikasjon Under det første møtet ble vi enige om noen av de mest grunnleggende kravene. Vi hadde også flere møter i løpet av planleggingsfasen, kom frem til en del krav. Vi valgte å holde kravene åpne siden bedriften ville være med å styre hvordan utviklingen skulle gå underveis, og dermed ville en del av kravene forandre seg underveis som hva bedriften så og fikk intrykk av. Funksjonalitet,systemkonstruksjon og dokumentasjonskrav ble definert av gruppen selv, under diskusjon med de ansatte i Granitt grafisk. Kravene ble definert slik at bedriften og gruppen skulle få et bedre innblikk i hvordan det komplette systemet faktisk skulle se ut. Systemet ble bestemt at skulle inneholde to hoveddeler, Selve kalkyledelen og Administrasjonsdelen. Se vedlegg 5.2.1(kravspesifikasjon).

15 1.4.6 Styringsdokumenter Det første gruppen startet med i forbindelse med Planleggingsfasen var å sette opp en kortfattet arbeidsplan i grove trekk og en fremdriftsplan i sammenheng med arbeidsplanen. Følgende styringsdokumenter følger som vedlegg: Kravspesifikasjon Arbeidsplan og fremdriftsplan Loggbok Møtereferater med veileder Møtereferater med oppdragsgiver Timeliste Forprosjektrapport Prosjektskissen se vedlegg se vedlegg se vedlegg se vedlegg se vedlegg se vedlegg se prosjektsiden. se prosjektsiden. Beskrivelse av hvert dokument følger under. Prosjektsiden finner du på adressen: Kravspesifikasjonen er beskrevet tidligere i dokumentet. Arbeidsplanen og fremdriftsplanen ble også utviklet i sammenheng med forprosjektet. Arbeidsplanen ble bare en grov skisse over hvilke elementer som måtte være med i prosjektets omfang. Denne ble kortfattet, men ga oss hjelp til å utvikle fremdriftsplanen. Fremdriftsplanen ble det lagt en god del tid i, da dette skulle vise seg å være et viktig verktøy under prosjektperioden. Fremdriftsplanen hjalp oss å sette tiden i perspektiv og holde de "deadlinene" vi satt for oss selv. Dette gjorde også at vi jobbet mer effektivt, da vi hadde tidspress på oss. Loggboken har blitt oppdatert underveis i prosjektet. Der er det blitt oppført alt som var av interesse for gruppen under prosjektperioden. Alt fra detaljer i programmet til arbeidsperioden etc. Hensikten med dette dokumentet er å gi oss muligheten til å gå tilbake å se på problemer og ideer som er kommet opp underveis. Dermed kunne vi bruke dette når ting skulle rettes opp eller vi skulle bruke dette til dokumentasjonen. Referater. Ved hvert møte med veileder/ oppdragsgiver ble det tatt referater. Dette var hovedsakelig for å kunne gå tilbake til ideer og problemer som ble diskutert. Dette dokumentet var til stor hjelp for gruppen, da all sammarbeid og diskusjon med bedriften ble holdt muntlig. Dette gav oss muligheten til å bearbeide og forstå utregninger og begreper i senere tid.

16 Timeliste. Gruppen satt opp en timeliste, for å holde oversikt over tiden, som skulle stemme overens med fagets omfang. Timelisten ble utfyllt en gang i uken etter de arbeidstidene som ble satt opp i dagboken. Forprosjektet. Etter de første møtene var det tid for forprosjektet. Dette skulle resultere i en rapport. Rapporten var et resultat av undersøkelsene vi gjorde hos oppdragsgiver, der vi tok for oss dagens situasjon for bedriften. Vi satte oss inn i problemstillingen og fikk et overblikk over hvordan problemet skulle løses. Prosjektskissen ble påbegynnt i november. Dokumentet hadde leveransefrist. Prosjektskissens hensikt er å gi et kortfattet men konsistent overblikk over problemstillingen og situasjonen hos oppdragsgiver. Gruppen har har løst problemer og oppgaver slik som beskrevet i styringsdokumentene, med andre ord har mindre problemer ikke blitt forelagt veilederen Arbeidstid Vi har fra første stund vært opptatt av å styre arbeidet med prosjektet mest mulig likt en reell jobbsituasjon bl.a for å forberede oss til arbeidslivet. Derfor har vi satt oss faste arbeidsdager, med faste arbeidstider. Alle på gruppen har jobber ved siden av studiene, men med litt organisering gikk dette greit. Alle på gruppen matematikk som valgfag i tillegg til hovedprosjektet. Derfor ble det satt av et par timer hver mandag og torsdag til arbeid med valgfag. I grove trekk ble timeplanen som følger: Mandag: Tirsdag: Onsdag: Torsdag: Fredag: En del untak har forekommet under arbeidsperioden, som å komme senere og jobbe lengre.

17 1.4.8 Milepæler Underveis i prosjektet avtalte vi med oppdragsgiveren at vi skulle ha et par milepæler, slik at de kunne se og vurdere det vi hadde så langt. Vi satte oss da mål om hvor langt vi skulle komme i prosessen, frem til disse milepælene Manual Grunnet lite kompetanse hos enkelte av de ansatte i bedriften, og for å informere de ansatte om funksjonaliteten til systemet, har vi valgt å lage en detaljert brukermanual. Manualen tar for seg funksjonene i systemet og hvordan man styrer seg frem til disse. Se brukerrapporten for utdyping.

18 1.5 Metode Vi har ikke spesiellt fulgt noen utviklingsmetoder, men ettersom oppdragsgiver var interessert i å se produktet underveis, så fallt arbeidsmetoden vår automatisk tilbake på prototyping Prototyping En prototype er en utviklingsmodell bygget for å teste produktet og for å finne feil og forandringer man kan lære av. Produktet blir en alfaversjon der bare få deler av systemet er tatt med per versjon. Utviklingen foregår i følgende syklus: Figur : skisse av Prototypingmodellen Visualiser er fasen der forståelse av brukeren og dens behov, og kartlegge disse. Implementer er fasen der du utvikler en prototype for å teste de løsningene utviklingen har kommet frem til. Evaluer er fasen der du får tilbakemelding på prototypen fra brukeren. Det er viktig å forstå at evalueringen må dekke kundens krav, så fremt dette er mulig. Denne metoden er for å ha et kjørbart produkt til en hver tid i prosjektperioden. Hvis det skulle oppstå problemer med prosjeketet, vil da kunden ha et produkt, som de kan bruke eller videreutvikle i senere tid.

19 1.6 Implementeringsfasen Denne delen av rapporten tar for seg perioden fra Denne fasen har varighet fra Planleggingsfasens slutt og til dokumentasjonsfasen. Denne fasen tar for seg databasebehandling, programmering, testing og debugging Oppstart Etter en måned med planlegging og dokumentasjon, var gruppen spesielt engasjerte i å sette i gang med programmeringen. Gruppen følte seg godt forberedt på å utvikle, med et godt innblikk på hvordan systemet skulle se ut. Vi så tidlig fordelen med det grundige arbeidet vi hadde lagt ned i planleggingsfasen, og vi hadde stort sett alltid noe å se tilbake på når det oppstod usikkerheter Databasen På grunn av den store mengden data vi skulle lagre var det første vi måtte ha på plass, en database for lagring av all dataen. Dataen vi hadde å jobbe med var gitt i en stor excel fil, så databasestrukturen var nesten gitt på forhånd. I tillegg til tabellen med arktypene, så skulle vi implementere tabeller med brukere, kunder og kalkyler. Vi satt opp en logisk databasemodell( se vedlegg 5.4.1) på hvordan vi ville ha databasen vår, for så å implementere en testdatabase på vår egen server.

20 1.6.3 Java systemet Før vi startet å programmere, måtte systemet modelleres. I dette la vi mye tid og arbeid. Vi startet opp med å lage en detaljert use-case av hele systemet. Use-case er en beskrivelse av alle hendelsene som skjer i systemet. Dette brukes for å planlegge hvordan sekvensene i systemet skal legges. Etter use-casene var mer eller mindre klare startet vi på å lage et sekvensdiagram av casene. Sekvensdiagram er en beskrivelse av rekkefølgen på hendelser i programmet, og er en forberedelse til et klassediagram. Underveis i prosessen måtte vi ofte gå tilbake å endre på use-casene, da vi fikk et bedre perspektiv på systemet. Etter use-casen og sekvensdiagrammet var ferdig stod bare klassediagrammet igjen. Klassediagrammet brukes som et logisk kart over hvordan de forskjellige klassene i programmet henger sammen. Figur : Klassediagram av Granitt Kalkyle( forenklet versjon).

21 Da modelleringen var i god gang startet vi å programmere. Vi var ganske ivrige på å starte, da vi hadde lagt så mye arbeid i å planlegge. Vi programmerte med hensyn på prototyping. Etter tre uker var den første alpha versjonen ute. Den inneholdt administrasjonsdelen og grensesnittet til kalkyledelen. Denne versjonen inneholdt mange bugs og det skulle mange endringer til før versjon to var klar. Vi hadde på forhånd avtalt å holde et møte med bedriften, og vi ble enige om at dette var et passende tidspunkt. Etter møtet med Granitt grafisk fikk vi kunngjort endringene vi måtte utføre og fikk en peker på hvordan videre utvikling ville bli. Etter ca to uker med videre arbeid på systemet, begynte vi på selve kalkyleutregningen. På forrige møte med bedriften bestemte vi oss for å prøve å ta med at programmet selv skulle beregne antall ark som trengs før behandling ved gitte detaljer om hvordan opplaget skulle være. Hvis vi ikke fikk tid skulle vi bare legge tekstfelter så det bare var å fylle inn informasjon. Grunnen til at vi kun skulle "prøve" oss på dette var fordi det ligger mye forståelse og utregning, og mange detaljer å ta hensyn til. Blandt annet fiberretning på arket og om du skal skjære et større ark for å utnytte mest mulig av dette osv. Vi satte oss først ned og lagde en kalkyle for hånd etter bedriftens oppskrift. Deretter regnet vi oss frem til en formel for arkutregningen. Dette tok nesten en hel uke. Vi implementerte så dette i programmet, og fant tilfellene som ikke ble tatt med. To uker før påske ble det et nytt møte med Granitt grafisk, nå for å vise frem den nye og forhåpentligvis den siste versjonen av programmet.

22 1.7 Dokumentasjonsfasen Denne delen av prosessrapporten handler om utformingen av de ulike rapportene. Den siste uken før påsken før påske innså vi at vi hadde litt knapp tid til dokumentasjonen. Derfor begynnte vi allerede denne uken med å sette opp dokumentene parallellt med den siste "finishen" på utviklingen. Vi hadde allerede skrevet mye dokumentasjon tidligere i prosjektperioden og vi følte derfor at vi hadde en god mengde materialer å jobbe ut i fra. Allerede før påske hadde vi kommet så vidt det var i gang med dokumentasjonen. Grunnet andre eksamener kunne vi ikke legge så mye arbeid i prosjektet i uken før påsken og i påsken. Derfor valgte vi å starte litt før med dokumentasjonen, slik at vi hadde et godt grunnlag til vi skulle begynne. Til å begynne med delte vi opp rapporten i ulike deler, slik at arbeidet fremover kunne være noe mer uavhengig enn før. Dette ble godt utnyttet, da gruppemedlemmene kunne jobbe klarere hjemme hver for seg, for så å sammenslå de de hadde arbeidet med. Alle på gruppen hadde forskjellige måter å skrive på, men det er blitt lagt mye vekt på konsistens i form av like konvensjoner og referanser. Det ble også lagt mye vekt på godt språk. Oppdatering internt i gruppen på hva som hadde blitt gjort fra gang til gang, og intern korrektur har vært med på å la dette bli gjennomført. Vi har lagt stor vekt på lesbarheten i dokumentet. For at det skulle bli Enkelt og lettforståelig, men samtidig spennende på en akademisk måte, tok vi i bruk en del illustrasjoner og figuerer, for å utrykke oss.

23 1.8 Testfasen Dette kapittelet omhandler testfasen i prosjektet, og hvordan dette ble utført. Ved nesten hvert møte med Granitt Grafisk hadde gruppen en tidlig prototype som vi kunne vise bedriften. Ved disse møtene fikk vi gode tilbakemeldinger som vi brukte for å rette opp feil og forbedre systemet. I tillegg implementerte vi en betaversjon av Granitt Kalkyle hos Granitt Grafisk for testing, uken før påske. Dette fikk vi tilbakemeldinger på og brukte videre i debugging av systemet. Ukene etter påske fikk vi fullført use-casene komplett, med alle de funksjonene som ikke stod på kravspesifikasjonen. Dette brukte vi som grunnlag for å lage en testrapport. Denne rapportene baserte seg på use-casene ved vanelig flyt og de spesielle flytene vef hver eneste use-case. Dermed fikk vi dekken alle eventuelle hull og feil i koden ved de funksjonelle delene. De fleste mulighetene for å skrive feil informasjon i feltene var dekket under utviklingen. Dermed brukte vi ikke mye tid på å teste på feil "inputs".

24 1.9 Erfaringer og resultat Gruppen har i løpet av prosjektsperioden utviklet og levert et produkt som oppfyller den kravspesifikasjonen vi selv har utarbeidet i sammarbeid med vår arbeidsgiver. Problemer og utfordringer underveis har blitt løst på en systematisk og fornuftig måte, og både arbeidsgiver og gruppen selv er svert fornøyd med sluttresultatet. Gruppen har satt fokus på en jevn arbeidsflyt, og fordelt jobben utover prosjektets arbeidsperiode. Vi har også et timeantall som er fordelt jevnt og svarer til fagets studiepoeng. Gruppen har lagt vekt på å simulere et "virkelig" prosjekt, og annså da tidsfordelingen som en viktig del av arbeidsstrategien. Dersom det hadde vært mer tid tilgjengelig hadde vi implementert utvidelsene som står beskrevet i produktrapporten. Prosessen har fokusert hovedsakelig på dokumentasjonen, men også på implementeringen. Skulle ting vært gjort annerledes ville vi kanskje brukt litt mer tid på planleggingen av programstrukturen, da vi måtte endre en del underveis i programmeringen. Vi løste dette, men tapte en del arbeidstimer på dette. Men tiltross for dette hadde vi ellers et godt grunnlag, da forprosjektet var grundig gjort og sparte oss mye tid på implementeringen av programmet.

25 HOVEDPROSJEKT 2011 HØGSKOLEN I OSLO GRANITT GRAFISK PRODUKTDOKUMENTASJON

26 2.1 Forord Dette er produktdokumentasjon skrevet i forbindelse med vårt hovedprosjekt ved Høgskolen i Oslo våren Dokumentet beskriver systemet Granitt Kalkyle med hovedfokus på den tekniske utførelsen av systemet. Dokumentet er beregnet for sensorer, veiledere og andre personer som måtte ha interesse av å lese om hvordan Granitt Kalkyle er bygd opp. Det anbefales å lese prosessdokumentasjonen før du tar for deg denne delen. Med dette dokumentet vil vi prøve å beskrive omfanget og den datatekniske vansklighetsgraden av prosjektet. Forutsetningen til leseren av dette dokumentet er at leseren har grunnleggende kompetanse innen programmering og datateknologi. Dermed følger kjennskap til ord og fagspesifikke utrykk innen disse feltene. En del fagutrykk kommer også fra grafisk og trykkeri bransjen.

27 2.2 Innholdfortegnelse for produktdokumentasjon 2.1 Forord 2.2 Innholdfortegnelse for produktdokumentasjon 2.3 Presentasjon av Granitt Kalkyle Innledning Beskrivelse Systemkrav 2.4 Teknologier Biblioteker Verktøy 2.5 Systemet Datalaget Foretningslogikklaget Presentasjonslaget 2.6 Brukergrensesnitt Om designet Design av administrasjonsgui Design av kalkylegui Design av utskriften 2.7 Sikkerhet Datasikkerhet Backup 2.8 Databasen ER-diagram Tabellbeskrivelser 2.9 Videreutvikling Uteblivende funksjoner Ideer til utvidelser

28 2.3 Presentasjon av GranittKalkyle Innledning Hva er granitt Kalkyle? Hvordan er det bygd opp? Hvilke deler består det av? Dette er spørsmål som dette dokumentet dekker. Det vil ta for seg løsningene vi valgte og hvorfor vi valgte disse. Granitt kalkyle er et middels-stort program som er programmert i Java. Med ca linjer med kode fordelt på 18 klasser er det vanskelig å gi et raskt overblikk. Derfor har vi valgt å beskrive systemet lagvis, med funksjonaliteten i fokus. Vi har også brukt diagrammer og use-cases som beskrivelse av systemet Beskrivelse Målet med dette prosjektet har vært å lage et kalkyleverktøy som forenkler kalkyleutregningen på trykk av grafiske tjenester til Granitt grafisk. Dette verktøyet har fått navnet GranittKalkyle og innehar bl.a følgende funksjoner: Legge til brukere: Det kan i programmet legges til flere nye brukere av systemet, slik at granittkalkyle enkelt kan kunne benyttes av flere. Denne informasjonen brukes også til utskriften for å informere om hvilke ansatte som har laget den gitte kalkylen. Kundeadministrasjon: Granitt grafisk kan ved hjelp av granittkalkyle lagre kontaktinformasjon for kunder som ønsker en grafisk tjeneste. Administrasjonen tillater å endre eller å slette kunder. Informasjonen er gjort søkbar for at Granitt Grafisk kjapt skal kunne hente ut data fra tidligere kunder. Produktadministrasjon: Ved hjelp av granittkalkyle kan Granitt Grafisk enkelt hente ut data om produkter fra sin hovedleverandør papyrus. Den dataen kan endres eller slettes, og det kan legges inn nye oppføringer. Ved å laste ned papyrus sin produktkatalog kan GranittKalkyle brukes til å oppdatere produktdatabasen, og dermed forenkle kalkyleprosessen. Informasjonen her er også gjort søkbar, slik at man slipper å lete igjennom den lange tabellen av produkter.

29 Kalkyleadministrasjon: Ved utregning av kalkyle i granittkalkyle slipper du de tunge utregningene ved Grafisk trykk. Da er det bare å fylle ut informasjonen som trengs, så gjør programmet det for deg. Her er det også lagt inn muligheten for å gå inn å se på gamle kalkyler. Søking gjør det enklere å slå opp hvis det er mange kalkyler å se igjennom. Historikk: GranittKalkyle har oversikt over alle kunder, produkter og kalkyler som lagres i systemet og holder en historikk på dette. På denne måten Kan Granitt Grafisk raskt skaffe seg oversikt over hvilke kalkyler de har tilbudt til hvilke kunder, og hvilke produkter disse innnebærer Systemkrav GranittKalkyle er bygd opp i Java og krever at du har installert Java JRE eller JDE versjon 5 eller nyere. GranittKalkyle er ikke spesiellt resurskrevende, og det er derfor ikke nødvendig med en spesiellt kraftig datamaskin, men på grunn av mye datalagring anbefales det å ha minimum 512MB. Noe databehandling, med unntak av opplastning av ny prisliste til databasen og utregning av pris er grunnen til minnebruket. Det anbefales å ha en skjærmoppløsning på 1280*800 eller større, da det er mye informasjon som vises på skjærmen av gangen. Som annet krav anbefales det å ha en pdf-converter som skriver, da dette gir en mye penere utskrift av kalkylen.

30 2.4 Teknologier I de neste delkapittelene vil vi presentere de forskjellige teknologiene og verktøyene vi har brukt under utviklingsprosessen Biblioteker Vi har brukt mange forskjellige biblioteker til det ferdige produktet av Granitt Kalkyle. De aller fleste bibliotekene medfølger i JRE( JavaSE 1.6), men vi har brukt et par biblioteker forutenom disse: Java Excel API: Er hentet fra Lisens: GNU Library or Lesser General Public License(LGPL) Dette er et bibliotek som muligheten for å lese fra og skrive til Microsoft Excelark. I vårt tilfelle er dette biblioteket brukt for å lese et Excelark, for deretter å konvertere tabellen i Excelfilen til en database. Forutsetningen for dette er at excelfilens tabell er på en spesifisert form som er lik den formen databasen har, og at informasjonen i tabellen har gyldige verdier. "Exceptions" i henhold til dette er tatt hensyn til. JDBC( Java DataBase Connectivity API) type 4 driver: Er hentet fra Lisens: GNU General Public License, version 2 Dette er en databasedriver som konverterer JDBC kall direkte til databasen. Dette er også kalt en "tynndriver". Denne teknologien kommuniserer via socketer og trenger ingen translasjon mellom driver og database. Den er også platformuavhengig. JDBC driveren brukes for kommunikasjon mellom java aplikasjonen og databasen.

31 2.4.2 Verktøy Vi har brukt en rekke verktøy i utviklingen vår: MySQL workbench: Et verktøy vi brukte for å lage ER diagrammer. Vi valgte å bruke dette verktøyet fordi det gir en enkel oversikt og vi har erfaring med det fra tidligere prosjekter. MySQL community server: Grunnet at vi har hatt erfaringer med mysql tidligere, og at vi trengte en gratis, fritt tilgjengelig database som vi kunne kjøre på testserveren våres, valgte vi dette verktøyet. Den er svært enkel å sette opp på alle platformer. Tilkobling til mysql server gjør databasehåndtering svært enkel da serveren håndterer generering av tabeller etc. Eclipse: Eclipse er vårt valgte IDE( Integrated Development Enviroment). Grunnen til dette valget var fordi vi tidligere har utviklet i dette, og vi følte oss trygge på det. Det er lett å utvikle og teste java i Eclipse, og det er enkelt å forstå feilmeldinger. Putty: Putty er en opensource terminal emulator, som virker som en klient for ssh, telnet osv. For oss har putty fungert som et mellomledd, ved testing og redigering på serveren og databasen. VioletUML: VioletUML er et UML( Universal Modelling Language)-verktøy, som brukes for å modellere data-applikasjoner og programmer. Dette verktøyet fant vi veldig enkelt og brukervennlig, da vi skulle lage use-cases, sekvensdiagrammer og klassediagrammer. OpenOffice 3.1: Vi har brukt Calc- og Writer-delen av OpenOffice under prosjektets gang til å dekke behovene våre for tekstbehandling og regneark. Regnearket er brukt for å lage planer osv, mens tekstbehandlingen dekket dokumentasjonen.

32 2.5 Systemet Granitt Kalkyle er delt inn i 3 deler. Disse er betegnet som "lag" og inneholder følgende: Datalaget: Inneholder alle klasser som ordner og konverterer dataen slik at det er klart til behanling etterpå. ForetningslogikkLaget: Den delen av systemet som håndterer selve kalkuleringen av de nødvendige dataene. PresentasjonsLaget: GUI klasser som gjør det mulig å visualisere og bruke systemet. Figur 2.5-1: Lagvis skjema for Granitt Kalkyle

33 2.5.1 Datalaget I det nederste laget mot SQL-databasen finner vi klassene som ordner og konverterer dataene til nødvendige formater. Se figur Laget jobber opp mot SQL-databasen og fungerer som et slags mellomledd mellom databehandlingen og databasen. For databaseskjema, se vedlegg Datalaget inneholder klassene "handledb" og "readexcel"(se javadoc, prosjektsidenwww.stud.iu.hio.no/~s156152). Dette laget kan igjen deles inn i to underlag, databaselaget og excellaget. Excellaget består av en klasse "readexcel", som kommuniserer med et excelbibliotek. Hensikten med dette laget er å konverterer en excelfil til databasen. Filen filtrerer ut data og legger dette i tabeller som samsvarer med det som er definert i systemet. Databaselaget kommuniserer med databasen og lagrer, endrer eller fjerner data, alt etter hva som er ønskelig. Dette laget består av en klasse, "handledb", som kommuniserer med et bibliotek. Biblioteket er som nevnt tidligere en databasedriver som konverterer JDBC kall til databasebehandlinger. Denne driveren ligger i systemet og konverterer dataen til og fra databasen, slik at du ikke trenger noe mellomledd ForretningslogikkLaget Foretningslogikklagets hensikt er å kalkulere en kalkyle, basert på fremgangsmåten til Granitt Grafisk. Dette er satt som et eget lag fordi den ikke skal være avhengig av presentasjonslaget, men kun av datalaget. Med dette mener vi at all data skal kunne behandles hvis de kommer igjennom presentasjonslaget, og at foretningslogikken skal ta for seg alle tilfeller av kalkulering som måtte forekomme. Forretningslogikken er kun satt i en klasse. Denne klassen tar de innkommende prisene for ark, etterbehandling, farger etc, og regner ut totalsummen med hensyn på antall opplag og arbeidstimer. Grunnlaget for utregningen ligger i størrelsen på trykkmaskinen til Granitt Grafisk. Grunnet at de har begrenset størrelse på trykkmaskinen, er det enkelte ganger mer økonomisk for dem å gå til innkjøp av ark i større dimensjoner enn maskinen deres, for så å dele arkene opp selv. Kalkulasjonen tar for seg alle størrelser og dimensjoner på den valgte arktypen og regner da ut den mest økonomiske størrelsen å kjøpe inn for det valgte antall opplag.

34 Prisalgoritme prisalgoritmen kalkulerer ut den endelige prisen på ett produkt rundet opp til nærmeste heltall. Det ferdige produktets størrelse regnes om til en størrelse som går opp i et default A+ format, som er det formatet trykkmaskinen til oppdragsgiver håndterer, slik at programmet kan regne ut det formatet som trengs. Dette formatet har størrelse 450x320 mm. Antall trykkplater, etterbehandlingspris, faste priser på arbeidstid som går med til trykking, og designtid er nødvendig informasjon for å regne ut prisen. Systemet regner alltid med hensyn på det billigste alternativet, men det er ikke alltid dette er det beste alternativet til bedriften. En spesiell funksjon som ikke er med en bedre utnyttelse av ark ved trykking på 2 sideflater på en gang. Dette går bare på ark som skal bare trykkes i 2 sider. Vanskelig å implementere ettersom det foregår i et begrenset antall ordre. Denne teknikken kalles på fagspråket "omslagning". Fiberretningen på arket er også en viktig faktor i utregningen. Fiberretningen er den veien alle fibrene ligger i arket. Hvis arket skal brettes skal det alltid brettes langs fiberretningen. Hvis fiberretningen brytes vil brettekanten til arket få en stygg utstående kant, og blir da uprosfesjonellt og stygt å se på. Det blir også et problem hvis du har et produkt på flere enn 4 sider, da det er behov for sammenstifting i de ødelagte kantene. Dette er det også tatt hensyn til i programmet. Systemet regner ut algoritmen i 5 ledd: 1. Først finner den ut hvor mange av eksemplaret som går opp i trykkmaskinens defaultformat. Trykkemaskinens kapasitet. Dette rundet opp til nærmeste heltall gir oss da antall ark som trengs for å utføre ett eksemplar. format på netto produkt formatforhold standard format på trykkmaskin Dette forholdet blir regnet ut i to tilfeller. Enten bredde * lengde, eller lengde * bredde. Det tallet som gir størst verdi gir da det rimeligste oppsettet av format. antall sider netto produkt /2 =antall ark i defaultformat formatforhold Antall ark i defaultformat må da multipliseres med opplaget. Dette sier hvor mange ark som trengs for hele opplaget.

35 2. Deretter må vi finne antall trykkplater som trengs for hele trykket. Dette finner vi ved å multiplisere antall ark med antall farger foran og bak, som vist i formelen under. antall ark i defaultformat antall farger foran antall farger bak =antall trykkplater antallet trykkplater blir multiplisert for å få trykkprisen. 3. Nå trenger vi å finne prisen som er rimeligst med den type ark og gramvekt som er valgt for arket (dette er vanligvis de aller største formatene som kan bestilles). antall ark brutto format pris brutto format = papirpris 1000 ark Systemet sjekker da alle prisene i databasen som det er mulig å benytte, og tar vare på verdier om det rimeligste alternativet. Om dette lagres info om formatet, mengde ark og pris. Prisen som hentes ut er alltid per 1000 ark, prisene her tar også bare hensyn til palleprisen, som er den rimeligste. 4. Etterbehandlingsprisen regnes så ut. Det er forskjellige satser til forskjellige utregninger. Antall timer med etterbehandlig multipliseres med satsen for den valgte etterbehandlingen. 5. Tilslutt legges alle prisene i sammen til en totalsum. Totalsum= papirpris trykkpris etterbehandling arbeidstid designtid

36 Figur : Sekvensdiagram for kalkulering av mest optimale arkdimensjon.

37 2.5.3 Presentasjonslaget Granitt Kalkyle er et system som baserer seg hovedsakelig på å forenkle arbeidet for brukeren. Derfor er grensesnittet en essensiell del av dette systemet. Presentasjonslaget består av en rekke GUI-klasser som jobber hierarkisk sammen, for å få en god dataflyt i programmet. Data er tatt vare på i kommunikasjon mellom vinduene ved å mellomlagre dem i opprettelse av nye vindu. public AdminGUI(JFrame parentgui) { parent = parentgui; initcomponents(); } figur : Eksempel på at vi mellomlagrer forelder GUIen. Dette gjøres for å kunne utføre operasjoner på det foregående vinduet mens du er i et gjeldene vindu, f. eks. gjøre det usynlig, uskalerbart, sette fokus på osv. For en detaljert liste av klassene henviser vi til javadokumentasjonen på prosjektsiden.

38 2.6 Brukergrensesnitt Dette kapittelet tar for seg våre valg i belysning av hvilke, hvordan og hvorfor vi tok valgene. Modeller og diagrammer av systemet finner du i vedlegg Om designet Målet med designet på Granitt Kalkyle var å få et enkelt manøvrerbart system som ikke skulle bli alt for komplekst for brukeren. I tillegg til dette ville vi at systemet skulle være 100% brukerstyrt, slik at brukeren hadde mulighet til å administrere hele databasen på egenhånd. Det første du får beskjed om når du starter programmet er å logge deg inn, med brukernavn og passord. Deretter sendes du videre til hovedvinduet. Dette vinduet har 3 navigeringsknapper, samt en topmeny og Granitt Grafisks logo. Figur : Hovedvinduet

39 Toppmenyen er tredelt. Den første delen åpner et vindu der du kan legge til nye brukere i systemet, hvis det for eksempel skulle komme nye ansatte i firmaet etc. Den andre delen har to knapper. Den ene dirigerer deg til kundeadministreringsvinduet og den andre dirigerer deg til produktadministreringsvinduet. Til slutt har du en knapp som lukker systemet på en sikker måte for deg. Dette er illustrert i figur som vist under. Figur : Toppmenyen i hovedvinduet

40 2.6.2 design av administrasjonsgui I administrasjonsvinduene har vi valgt å presentere dataene i tabeller. Dette for å få en god oversikt over dataene, samt å enkelt kunne legge til, endre eller fjerne data. Under tabellene følger det en del knapper samt et søkefelt. Knappene er funksjonene du kan utføre på dataene i tabellen. Vi har i helhet, valgt å bruke et pop-up design gjennom systemet for å få presentert kun den nødvendige informasjonen av gangen. Det vil si at hver gang det aktiveres en knapp, vil et nytt vindu dukke opp der den nødvendige informasjonen vil ligge. Alle vinduene for dataadministrering er bygd opp likt, med kun noen få funksjonelle forskjeller i hvert vindu. Administrer tilbud Tilbudsadministreringsvinduet viser en tabell med alle registrerte tilbud. Hvert tilbud har en unik ID, tittel, kundenavn og datoen det ble opprettet. Tilbud kan søkes etter ved å skrive inn søkeparametre i feltet nederst i vinduet. Kolonner som er huket av blir inkludert i søket, mens andre kolonner vil bli utelatt. For å endre et tilbud kan man dobbeltklikke på raden i tabellen, høyreklikke og deretter velge "rediger" fra menyen, eller bruke knappen nederst i vinduet. Figur : KalkyleAdminGUI-vinduet

41 Administrer produkt Produktadministreringsvinduet inneholder en tabell med alle registrerte arktyper. Arktypene er hentet fra en excel-fil som blir gitt ut av arkleverandøren. For å laste opp ny prisliste trykker man på "Last opp ny prisliste..." og velger filen man ønsker å laste opp. For å manuelt redigere en arktype kan man dobbeltklikke på raden, høyreklikke og velge "rediger..." fra menyen eller bruke knappen nederst i vinduet. Hver kolonne kan sorteres ved å trykke på tittelen til kolonnen. Tabellen vil bli sortert alfabetisk eller numerisk avhengig av typen som lagres i kolonnen. Figur : AdminGUI-vinduet

42 Administrer kunder Kundeadministreringsvinduet viser en tabell over alle registrerte kunder. Hver kunde har en unik ID, navn, addresse, postnummer, poststed, telefon og epost. Redigering av innlegg og søking foregår på samme måte som i produktadministreringsvinduet. Figur : CustomerAdminGUI-vinduet

43 2.6.3 design av KalkyleGUI KalkyleGUI klassen, er det grensesnittet som brukeren vil ha mest med å gjøre. Det er da viktig å ta hensyn til brukervennlighet. Det er sentralt i dette vinduet. Vi har valgt å designe vinduet, med en sekvensiell rekke av paneler under hverandre, der hvert panel inneholder kategorisert informasjon som er nødvendig for en kalkyle, som vist i figur Figur : KalkyleGUI-vinduet

44 2.6.4 design av Utskriften Utskriften er en viktig del av Granitt Kalkyle. Det er den som blir leddet mellom Granitt Grafisk og kunden. Derfor er det lagt mye arbeid i det grafiske ved utskriften. Utskriften er bygd opp i tre paneler, header, footer og hovedpanelet. Hovedpanelet er igjen delt inn i tre deler. Header inneholder generell info om tilbudet. Hovedpanelet inneholder kundeinfo, kalkyleinfo og prisen på tilbudet. Footer inneholder kontaktinformasjon til bedriften. Utskriften bør være kompatibel til å enkelt kunne benyttes til å sendes ut som brev, brett av arket bør da få fram navn og adresse til kunden som mottaker prisforespørselen. Figur : Eksempel på en ferdig utskrift(nedskalert versjon).

45 2.7 Sikkerhet Datasikkerhet Vi har ikke tatt mye hensyn til sikkerheten til Granitt Kalkyle. Dette er fordi Granitt grafisk ønsket et lukket system med et program og en lokal database, som ikke ikke kommuniserte over nettet. Vi har derimot lagt inn et innloggingsystem, med brukernavn og passord. Passordet er ikke kryptert, men dette systemet er lagt til for en eventuell videreutvikling i senere tid. Figur : Forenklet kodesnutt av innlogging i LoginGui-klassen

46 2.7.2 Backup Med hensyn til mengden data som behandles i Granitt Kalkyle er det essensiellt med backup. Vi har valgt å la SQL-serveren ta seg av backupen, ved at vi satt opp et periodisk tidsprogram der databasen blir sikkerhetskopiert til en ekstern server. Dette gjør at hvis det skulle oppstå dataproblemer, så er sikkerheten for at dataen ikke er tapt mye større.

47 2.8 Databasen ER-diagram Her ser du sammenhengen mellom kunder, kalkyler og produkter. Figur : ER-diagram av databasen. Viser relasjoner mellom de forskjellige entitetene.

48 2.8.2 Tabellbeskrivelser Kunde Kundetabellen blir brukt til å lagre/endre/hente ut kontaktinformasjon om kunden. Datatyper for de forskjellige attributtene er vist i figur Kunde Kolonnenavn Datatype Nullbar KundeNr Integer(primær) Nei Fornavn Varchar(45) Nei Etternavn Varchar(45) Ja Adresse Varchar(45) Nei E-post Varchar(45) Ja PostNr Varchar(45) Nei Poststed Varchar(45) Nei Figur : Kundetabell Kalkyler Kalkyletabellen blir brukt til å lagre informasjon fra en ferdig kalkulert kalkyle. Kalkyletabellen er relatert til Kundetabellen ved kundenr( figur ). Datatyper for de forskjellige attributtene er vist i figur Kalkyler Kolonnenavn Datatype Nullbar KalkyleNr Integer(primær) Nei Kunde.KundeNr Integer Nei Format Nei Varchar(45) Etterbehandling Varchar(45) Figur : Kalkyletabell Ja

49 KalkyleDel Kalkyledeltabellen brukes til å lagre informasjon om hver delkalkyle( omslag, innmat annet), med relasjon til Prislistetabellen. Datatyper for de forskjellige attributtene er vist i figur KalkyleDel Kolonnenavn Datatype Nullbar KalkyleDelNr Integer(primær) Nei Kalkyle.KalkyleNr Integer Nei Prisliste.ArtNr Integer Nei Delbeskrivelse Varchar(45) Ja Sider Integer Nei Farger Varchar(45) Nei Figur :KalkyledelTabell

50 Prisliste Prislistetabellen er generert ut i fra excelfilen som papyrus leverer en gang i året. Denne tabellen beskriver informasjon og pris om produktene fra papyrus sitt sortement. Datatyper for de forskjellige attributtene er vist i figur Prisliste Kolonnenavn Datatype Nullbar ArtNr Integer(primær) Nei Varebeskrivelse1 Varchar(45) Ja Varebeskrivelse2 Varchar(45) Ja Gram Varchar(45) Ja Bredde Integer Nei Lengde Varchar(45) Nei Høyde Integer Ja Vekt Decimal Nei Myverdi Integer Nei Enhet-Pakkningsenhet1 Varchar(45) Ja Antall-Pakkningsenhet1 Integer Ja Enhet-Pakkningsenhet2 Varchar(45) Ja Antall-Pakkningsenhet2 Integer Ja SalgsEnhet Varchar(45) Nei SalgsprisAntall Integer Nei PrisUnder1Pall Integer Ja Pris1Pall Integer Nei Figur : PrislisteTabell(Produkttabell)

51 2.9 Videreutvikling Dette Kapittelet tar for seg utvidelsespotensialet til Granitt Kalkyle Uteblivende funksjoner Noen få av funksjonene til Granitt Kalkyle måtte utebli på grunn av tidsbegrensningen. Disse funksjonene uteble: Mulighet til å velge mer spesielle fargetyper(cmyk-cyan, Magenta, Yellow, Key(black)). Forskjellige fargenyanser i Kalkylevinduet, for mer oversiktlig skille på de forskjellige delene. Automatisk utregning av fakturering, basert på vekt pr ferdig produkt Ideer til utvidelser Underveis i utviklingen har vi fått mer oversikt over Granitt Kalkyle og dermed også fått mange ideer til utvidelser vi kunne tenkt oss å lage hvis vi hadde hatt muligheten. Her er en liste av disse: Støtte for bedre sikkerhet i systemet. Granitt Kalkyle er programmert så det er en enkel jobb å implementere kryptering av passord. Implementere brukeradministrering, for administrering på brukere av systemet, med sletting og endring av brukere. En superbruker, ville da gitt bedre sikkerhet i systemet. Automatisk utsending av E-post, som tilbuder etc, til kunder som har registrert dette. Visuell guide i programmet, ved f.eks en hjelp-knapp som beskriver de forskjellige feltene. Mer universell utforming, med tanke på svakerestillte i samfunnet. En web-basert løsning av systemet, som gjør systemet tilgjengelig for kunden. Redigerbar utskrift. I stedet for at utskriften blir konvertert til PDF, så kunne den konverteres til for eksempel DOC eller lignende tekstfil, så de kan redigere utskriften som dem vil.

52 HOVEDPROSJEKT 2011 HØGSKOLEN I OSLO GRANITT GRAFISK TESTDOKUMENTASJON

53 3.1 Forord Dette dokumentet skal gjøre testing av systemet enklere i forbindelse med produkttesten, og dermed sikre at programutviklingen er i hehold til ønsket design. dokumentet har som hensikt å luke ut de mest alvorlige feilen i programmet.

54 3.2 Innholdsfortegnelse for testdokumentasjon 3.1 Forord 3.2 Innholdfortegnelse 3.3 Hvordan dokumentet brukes 3.4 Testcases Logge inn til system Administrere tilbud Lage nytt tilbud Kalkulere pris Endre/vise tilbud Slette tilbud Filtrering av tilbud Administrere brukere Legge til bruker Administrere ark Legge til oppføring i prislisten Redigere oppføring Slette oppføring Laste opp ny prisliste Filtrere prisliste Administrere kunder Legg til kunde Endre kundeinfo Slette kunde Filtrering av kunder

55 3.3 Hvordan dette dokumentet brukes Alle testcasene i testrapporten er numererte, og disse skal kunne testes i vilkårlig rekkefølge, gitt at du har tilgang til nødvendig vindu. det refereres i tittelen til hver testcase til casen i usecase beskrivelsen. Nr. # Beskrivelse Respons/kommentar x.x x.x I respons/komentarfeltet kan det også beskrives avvik og eventuelle feilmeldinger som er feilaktig eller ikke gitt til bruker. Nødvendige filer Det er kun én nødvendig fil for å kunne utføre alle testene, og dette gjelder kun et fåtall av testene. Den nødvendige filen er en excel fil som brukes til å oppdatere prislisten for papir i databasen. Oppdatert fil kan alltid lastes ned fra papyrus sin hjemmeside. Under testing kan det brukes brukernavn "granitt" og tilhørende passord "grafisk". 3.4 Testcases Notasjon! Ekstra kommentar # Operasjon foregår i bakgrunnen

56 3.4.1 Logg inn til systemet (ref: 1) Du må ha en registrert bruker og det tilhørende passordet. Nr. Beskrivelse Respons/kommentar 1.1 Start systemet Start programmet ved å kjøre kjørbar java fil 1.2 Skriv inn gyldige Innlogging skal være vellykket, og du skal brukernavn og få opp et hovedvindu. passord 1.3 Start systemet Du skal få beskjed om at innlogging feilet på nytt, men tast inn ugyldige brukernavn og passord, gjerne diverse tegn og tall 1.5 # # 1.6 Systemet får ikke Du skal få feilmelding som informerer om kontakt med feilen. databasen Avbryt pålogging Systemet skal lukke seg Administrere tilbud (ref: 1.1) Du må være logget på systemet, og navigere deg til hovedvinduet. Nr. # # Beskrivelse Respons/kommentar Velg "kalkyleoversikt" Du skal få opp et nytt vindu med oversikt over tilbud Forskjellige typer exceptions Du skal få feilmelding som som oppstår gjennom systemet, informerer om feilen. Og du blir f eks. Databasefeil. navigert til forrige fungerende vindu.

57 3.4.3 Lage nytt tilbud (ref: 1.1.1) Du må være logget på systemet, og navigert deg til administrasjon av tilbud eller hovedvinduet. Nr. # Beskrivelse 3.1 Velg "Lag nytt tilbud" eller "ny kalkyle" Du skal få opp et nytt vindu hvor det kan skrives inn data om kalkylen 3.2 Du taster inn gyldige data i alle nødvendige felter, og lagrer kalkylen Du skal få ut estimert pris(3.4.4) og har mulighet for å lagre kalkylen. Hadde en feil der noen tilfeller gikk gjennom uten å være gyldig. 3.3 Du lagrer kalkylen med de gyldige dataene Du får melding om at lagringen var velykket. 3.4 Du starter vinduet på nytt og taster inn ulike kombinasjoner av ugyldige data Du skal få feilmelding rundt de ugyldige dataene. Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil, feil i lagring osv. Du skal få feilmelding som informerer om feilen. Og du blir navigert til forrige fungerende vindu. 3. # Respons/kommentar Kalkulere Pris (ref: og ) Du må være logget på systemet og befinne deg i kalkylevinduet og ha gyldige/ugyldige data fylt i de ulike feltene. Nr. # Beskrivelse Respons/kommentar 4.1 # Dette punktet skal skje automatisk når alle nødvendige felter er utfylt. Automatisk estimering av pris. Du skal få gitt en estimert pris basert på innfylt data. 4.2 Du har ugyldige data utfylt i deler av feltene Du skal få info om hvor de ugyldige dataene befinner seg. 4.3 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen.

58 3.4.5 Endre/vise tilbud (ref: 1.1.2) Du må være logget på systemet, og navigert deg til administrasjon av tilbud og funnet en lagret kalkyle Nr. # Beskrivelse Respons/kommentar 5.1 Du dobbelklikker på ønsket kalkyle eller høyreklikker og velger "vis/endre", eller trykker "vis/endre kalkyle" Du skal få opp et nytt vindu med ferdigutfylt data fra den lagrede kalkylen. 5.2 Du endrer noe data i de ferdigutfylte feltene og lagrer tilbudet. Du skal bli navigert til forrige vindu og endringene skal lagres. Hvis noe ugyldige data finnes skal du få feilmelding, og bli værende i samme vindu. 5.3 Du endrer noe data i feltene og avbryter lagring. Du skal komme til forrige vindu. Uten at noe nye data lagres. 5.4 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen. Og du blir navigert til forrige fungerende vindu Slette tilbud (ref: 1.1.3) Du må være logget på systemet, og navigert deg til administrasjon av tilbud og funnet fram en lagret kalkyle. Nr. # Beskrivelse Respons/kommentar 6.1 Du trykker "slett tilbud" etter markert kalkyle, eller høyreklikker på angitt kalkyle og velger "slett", og asepterer sletting Du skal få slettet den angitte kalkylen fra databasen og bli guidet tilbake til kalkyleadministrasjonen 6.2 Samme som foregående men avbryter sletting Du skal komme tilbake til kalkyleadministrasjon og sletting avbrytes Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen. Og 6. #

59 du blir navigert til forrige fungerende vindu Filtrering tilbud (ref: 1.1.4) Du må være logget på systemet, og navigert deg til administrasjon av tilbud Nr. # Beskrivelse Respons/kommentar 7.1 Du skriver inn ønsket søkeparameter i søkefeltet og definer hvilket søkefelt du vil benytte, og deretter trykker enter eller "søk". Tabellen skal da oppdateres i henhold til søkeparameteren 7.2 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen. Og du blir navigert til forrige fungerende vindu Administrere brukere (ref: 1.2) Du må være logget på systemet, og navigert deg til hovedvinduet. samt ha en registrert bruker og det tilhørende passordet. Nr. # Beskrivelse Respons/kommentar 8.1 Du må trykke på "kundeadministrering". Du skal få opp et nytt vindu hvor innloggingsdata verifiseres. 8.2 Du skal skrive inn gyldig brukernavn og gyldig tilhørende passord. Innlogging skal være vellykket, og du skal få opp et nytt vindu. Her guides du til test Du skal nå skrive inn ugyldig brukernavn og Du skal få beskjed om at passord, i innloggingsvinduet. brukernavn og passord er feil. 8.4 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen. Og du blir navigert til forrige fungerende vindu.

60 3.4.9 Legge til bruker (ref: 1.2.1) Du må være logget på systemet og navigert deg til administrasjon av brukere Nr. # Beskrivelse Respons/kommentar 9.1 Tast inn gyldige data for den nye brukeren Du skal få melding om at den angitte brukeren og tilhørende passord ble opprettet. 9.2 Tast inn ugyldige data for den nye brukeren, f. Eks. forskjellige passord i feltene som må være like. Du skal få feilmelding om at passordene ikke er like. 9.3 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Administrere ark (ref: 1.3) Du må være logget på systemet, og navigert deg til hovedvinduet. Nr. # Beskrivelse Respons/kommentar 10.1 Du må trykke på "administrering av arktyper". Du skal få opp et nytt vindu som inneholder alle data i prislisten 10.2 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen. Og du blir navigert til forrige fungerende vindu.

61 Legge til oppføring i prislisten (ref: 1.3.1) Du må være logget på systemet, og navigert deg til "Administrering av arktyper". Nr. # Beskrivelse Respons/kommentar 11.1 Du må trykke "legg til ny oppføring" 11.2 Tast inn gyldig data i alle nødvendige felter. Du skal ha mulighet for å lagre oppføringen Du lagrer den nye oppføringen med de gyldige dataene Du får melding om at lagringen var velykket. Og du blir navigert til forrige vindu Tast så inn ugyldige data i feltene. Du skal få melding om hvilke nødvendige felter som inneholder ugyldig data # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Redigere oppføring (ref: 1.3.2) Du må være logget på systemet, og navigert deg til "Administrering av arktyper". Nr. # Beskrivelse Respons/kommentar 12.1 Du dobbelklikker på ønsket oppføring eller Du skal få opp et nytt høyreklikker og velger "rediger", eller vindu med ferdigutfylt trykker "rediger oppføring" data fra den lagrede oppføringen # Du endrer noe data i de ferdigutfylte feltene og lagrer oppføringen. Du skal bli navigert til forrige vindu og endringene skal lagres. Hvis noe ugyldige data finnes skal du få feilmelding, og bli værende i samme vindu Du endrer noe data i feltene og avbryter lagring. Du skal komme til forrige vindu. Uten at noe nye data lagres.

62 12.4 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Slette oppføring (ref: 1.3.3) Du må være logget på systemet, og navigert deg til "Administrering av arktyper". Nr. # Beskrivelse Respons/kommentar 13.1 Du trykker "slett oppføring" etter å markere oppføring, eller høyreklikker på angitt oppføring og velger "slett", og asepterer sletting Du skal få slettet den angitte kalkylen fra databasen og bli guidet tilbake til Arkadministrasjon 13.2 Samme som foregående men avbryter sletting Du skal komme tilbake til Arkadministrasjon og sletting avbrytes 13.3 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Laste opp ny prisliste (ref: 1.3.4) Du må være logget på systemet, og navigert deg til "Administrering av arktyper". Nr. Beskrivelse Respons/kommentar 14.1! Du trykker "Last opp ny prisliste" og angir en gyldig excel fil (gyldig fil er hentet fra papyrus sine sider) Systemet skal laste opp listen til databasen som inneholder data om priser. Underveis skal brukeren se fremgangen i prosessen. (Opplastingsalgoritmen er noe treg!) 14.2 Samme som i forrige punkt, bare du nå angir en ugyldig fil Du skal få beskjed om at den gitte filen ikke er gyldig for systemet. 14. # # Forskjellige typer exceptions som oppstår Du skal få feilmelding som gjennom systemet, f eks. Databasefeil, feil i informerer om feilen. excel bibliotek osv.

63 Filtrere prislisten (ref: 1.3.5) Du må være logget på systemet, og navigert deg til "Administrering av arktyper". Nr. # Beskrivelse Respons/kommentar 15.1 Du skriver inn ønsket søkeparameter av varebeskrivelse i søkefeltet, og deretter trykker enter eller "søk". Tabellen skal da oppdateres i henhold til søkeparameteren 15.2 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Administrere kunder (ref: 1.4) Du må være logget på systemet, og navigert deg til hovedvinduet. Nr. # Beskrivelse Respons/kommentar 16.1 Du trykker "kundeadministrering" Du skal få opp et nytt vindu som inneholder alle data om registrerte kunder # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Legge til kunde (ref: 1.4.1) Du må være logget på systemet, og navigert deg til "kundeadministrering". Nr. # Beskrivelse Respons/kommentar 17.1 Du må trykke "ny kunde" 17.2 Tast inn gyldig data i alle nødvendige felter. Du skal nå ha mulighet for å lagre oppføringen Du lagrer den nye oppføringen med de gyldige dataene Du får melding om at lagringen var velykket. Og du blir navigert til forrige vindu Tast så inn ugyldige data i feltene. Du skal få melding om hvilke nødvendige felter som inneholder ugyldig

64 data # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Endre kundeinfo (ref: 1.4.2) Du må være logget på systemet, og navigert deg til "kundeadministrering". Nr. # Beskrivelse Respons/kommentar 18.1 Du dobbelklikker på ønsket kunde eller høyreklikker og velger "rediger", eller trykker "rediger kunde" Du skal få opp et nytt vindu med ferdigutfylt data fra den lagrede kunden # Du endrer noe data i de ferdigutfylte feltene og lagrer oppføringen. Du skal bli navigert til forrige vindu og endringene skal lagres. Hvis noe ugyldige data finnes skal du få feilmelding, og bli værende i samme vindu Du endrer noe data i feltene og avbryter lagring. Du skal komme til forrige vindu. Uten at noe nye data lagres # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Slette kunde (ref: 1.4.3) Du må være logget på systemet, og navigert deg til "kundeadministrering". Nr. # Beskrivelse Respons/kommentar 19.1 Du trykker "slett kunde" etter å markere kunden, eller høyreklikker på angitt kunde og velger "slett", og asepterer sletting Du skal få slettet den angitte kunden fra databasen og bli guidet tilbake til kundeadministrasjon 19.2 Samme som foregående men avbryter sletting Du skal komme tilbake til kundeadministrasjon og

65 sletting avbrytes # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen Filtrering av kunder (ref: 1.4.4) Du må være logget på systemet, og navigert deg til "kundeadministrering". Nr. # Beskrivelse Respons/kommentar 20.1 Du skriver inn ønsket søkeparameter av navn i søkefeltet, og deretter trykker enter eller "søk". Tabellen skal da oppdateres i henhold til søkeparameteren 20.2 # Forskjellige typer exceptions som oppstår gjennom systemet, f eks. Databasefeil osv. Du skal få feilmelding som informerer om feilen.

66 HOVEDPROSJEKT 2011 HØGSKOLEN I OSLO GRANITT GRAFISK BRUKERDOKUMENTASJON

67 4.1 Forord Dette er brukerdokumentasjonen skrevet i forbindelse med vårt hovedprosjekt ved Høgskolen i Oslo våren Dokumentet beskriver bruk av Granitt Kalkyle, og er skrevet for brukerne av systemet. Brukerdokumentasjonen er en brukerveiledning som er utviklet for å veilede brukeren til systemet.

68 4.2 Innholdfortegnelse for brukerdokumentasjon 4.1 Forord 4.2 Innholdfortegnelse for brukerdokumentasjon 4.3 Brukermanual Administrer brukere til systemet Legg til bruker Endre passord til bruker Administrer arktyper Legg til arktyper Endre arktyper Søk etter arktyper Slett arktyper Last opp ny prisliste Administrer kunder Legg til kunde Endre kunde Søk etter kunde Slett kunde Administrer tilbud Lag nytt tilbud Endre tilbud Søke etter tilbud Slett tilbud Skriv ut tilbud Hvordan fungerer tilbudsvinduet? Felter og knapper Valg av arktype

69 4.3 Brukermanual Administrere brukere til systemet Legg til bruker til systemet For å legge til en ny bruker i systemet, velg «Administrering...» og deretter «Ny bruker til systemet...» Fyll deretter inn ønsket brukernavn og passord for ny bruker.

70 Endre passord til bruker For å endre passord til bruker, følg samme steg som i og oppgi ønsket nytt passord med eksisterende brukernavn Administrere arktyper For å åpne vinduet som administrerer arktyper, velg «Administrasjon...» og deretter «Administrering av arktyper...».

71 Legg til ny arktype For å legge til ny arktype, velg «Legg til oppføring...» i administreringsvinduet. Fyll inn informasjon om arktypen og trykk OK.

72 Endre arktype For å endre en arktype, velg en oppføring fra tabellen og trykk på «Endre oppføring...» Følg deretter samme steg som i Søke etter arktype For å søke etter arktype, velg feltet «Søk etter varebeskrivelse:». Fyll inn søkeparametere og trykk enter eller på «Søk...»

73 Slett arktype For å slette arktype, velg en oppføring fra tabellen og velg «Slett oppføring...» Last opp ny liste For å laste opp ny liste med arktyper, velg «Last opp ny prisliste...» og velg filen som inneholder arktypene.

74 4.3.3 Administrering av kunder For å åpne kundeadministreringsvinduet, velg «Administrering...» og deretter «Kundeadministrering...» Legg til kunde For å legge til en kunde, velg «Legg til kunde...».

75 Fyll inn informasjon om kunden og trykk OK Endre kunde For å endre en kunde, velg en oppføring fra tabellen og velg «Endre kunde...». Følg samme steg som i

76 Søk etter kunde For å søke etter en kunde, velg feltet «Søk etter navn» og skriv inn søkeparameterene. Trykk deretter på enter eller «Søk» Slett kunde For å slette en kunde, velg en oppføring fra tabellen og velg «Slett kunde...».

77 4.3.4 Administrering av tilbud For å åpne vinduet som administrerer tilbud, velg «Tilbudsoversikt» fra startvinduet Lag nytt tilbud For å lage et nytt tilbud, velg «Lag nytt tilbud» direkte fra startvinduet, eller gå først inn på «Tilbudsoversikt» og deretter «Nytt tilbud...»

78 Fyll inn info til tilbudet og lagre Endre tilbud For å endre et tilbud, gå inn på «Tilbudsoversikt». Velg et tilbud fra tabellen og trykk «Endre tilbud...». Følg samme steg som i

79 Søke etter tilbud For å søke etter et tilbud, kryss av ønskede felter og skriv inn søkeparameterene. Trykk enter eller «Søk...» Slett tilbud For å slette et tilbud, velg et tilbud fra tabellen og trykk «Slett tilbud...».

80 Skriv ut et tilbud For å skrive ut et tilbud, åpne tilbudet ved å velge det fra tabellen og velg «Vis/endre tilbud...». Velg deretter «Skriv ut...» Velg «Ja».

81 4.3.5 Hvordan funker tilbudsvinduet? Felter og knapper A. Trykk her hvis kunden ikke allerede eksisterer og må opprettes B. Fyll inn navn på kunden du vil søke etter, og trykk på C D. Navnet på tilbudet E. Antall opplag som skal produseres F/G. Bredde og lengde på produktet. H. Trykk her for å velge standardformat på produktet (A4 etc.)

82 I. Trykk her for å legge til arktype J. Kryss av ønsket etterbehandling og antall timer etterbehandlingen vil ta K. Skriv inn ønsket avanse i prosent. L. Skriv inn rabatt fra arkleverandøren M. Trykk for å lagre. N. Trykk for å avbryte og gå tilbake til tilbudsadministreringsvinduet O. Trykk for å skrive ut tilbudet Valg av arktype Ved å velge «Legg til arktype...» åpnes Delkalkylevinduet. Fyll inn type, antall sider og antall farger og legg til arktypen.

83 For å søke etter en arktype, skriv inn navnet på produktet i feltet og trykk «Søk...». Velg tykkelsen (gram/m3) på arket og trykk OK. Delen vil da være lagt til det overordnede tilbudet.

84 Endring og sletting av del For å endre delen, velg «Endre...» fra vinduet. Delkalkylevinduet vil åpnes. Trykk OK etter du har gjort endringene. For å slette delen, velg «Slett...» og trykk ja.

85 HOVEDPROSJEKT 2011 HØGSKOLEN I OSLO GRANITT GRAFISK VEDLEGG

86 Innholdfortegnelse for vedlegg Vedlegg 5.1 Diagrammer Use-case Granitt Kalkyle Sekvensdiagrammer Klassediagram Relasjonsdiagram for database Databasescript Vedlegg 5.2 Styringsdokumenter Kravspesifikasjon Fremdriftsplan Logg Møtereferater med veileder Møtereferater med oppdragsgiver Timelister

87 Vedlegg Diagrammer Use-case Granitt Kalkyle Use case 1 Logg inn til programmet Aktør Person Trigger: Bruker ønsker å logge inn til programmet Pre betingelse Bruker har valgt å starte programmet Postbetingelse Brukeren får logget inn og vises hovedvindu, ellers oppstår det feilmelding. Hendelseflyt 1.Systemet startes og ber om brukernavn og passord av brukeren 2.Bruker fyller inn feltene for brukernavn og passord 3.Systemet sjekker om brukernavn og passord er riktig. 4. Systemet gir brukeren adgang til programmet hvis bruker er autentisert. Variasjon 3a. Systemet får ikke kontakt med databasen. 3a1. Systemet informerer brukeren med en passende feilmelding. 3b. Brukernavn og passord er feil. 3b1.Systemet informerer brukeren med en passende feilmelding. Use case 1.1 Administrere tilbud Aktør Bruker Trigger: Bruker ønsker å administrere tilbud Pre betingelse Bruker har valgt å gå inn til kalkyleoversikten, ved å trykke på tilhørende knapp Postbetingelse Brukeren får opp oversikt over lagrede tilbud ellers oppstår det feilmelding Hendelseflyt 1. Programmet åpner et nytt tilbudoversikts vindu 2.Programmet henter ut data for alle registrerte tilbud fra databasen. Variasjon 2a. Systemet får ikke kontakt med databasen. 2a1. Systemet informerer brukeren med en feilmelding.

88 Use case Lage nytt tilbud Aktør Bruker Trigger: Bruker ønsker å lage nytt tilbud Pre betingelse Bruker har valgt å legge til nytt tilbud ved å trykke tilhørende knapp i tilbudoversikten Postbetingelse Systemet lagrer et nytt tilbud ellers oppstår feilmelding Hendelseflyt 1.Systemet starter nytt vindu så bruker kan legge til nødvendig data for tilbudet. 2.Systemet verifiserer feltene 3.Systemet lagrer tilbudet med ferdigutfylt data i databasen, bruker får verifiseringsmelding. Variasjon 2a. Systemet får feil input. 2a1.Systemet ber brukeren om å fylle ut alle nødvendige felter med riktige verdier. 3a. Systemet får ikke kontakt med databasen. 3a1. Systemet informerer brukeren med en passende feilmelding. 3b. Feil i lagring har oppstått. 3b1. Bruker får en passende feilmelding. Use case og Kalkulere Pris Aktør Bruker Trigger: Bruker ønsker Pre betingelse Dette skjer automatisk når felter er fylt ut Postbetingelse Systemet viser brukereren et estimat av prisen for gjeldende ordre, ellers oppstår feilmelding Hendelseflyt 1. Systemet Validering av input 2. Systemet mater data gjennom en priskalkuleringalgoritme 3. Systemet lagrer og viser prisen i kalkylegui. Variasjon 1a. Ugyldig input 1a1. Feilmelding gis til bruker. 1a. Programmet får ikke kontakt med databasen. 1a1. Programmet informerer brukeren med en passende feilmelding.

89 Use case Endre/vise tilbud Aktør Bruker Trigger: Bruker ønsker å endre/vise et angitt tilbud Pre betingelse Bruker har valgt å endre/vise et angitt tilbud ved å trykke tilhørende knapp i tilbudoversikten Postbetingelse Brukeren får opp et vindu med all ønskelig informasjon om det gitte tilbudet ellers oppstår feilmelding Hendelseflyt 1.Systemet henter ut all data om den angitte kalkylen fra databasen. 2.Systemet gjengir denne informasjonen til brukeren i et nytt vindu. Variasjon 1a. Programmet får ikke kontakt med databasen. 1a1. Programmet informerer brukeren med en passende feilmelding. Use case Slette tilbud Aktør Bruker Trigger: Bruker ønsker å slette en angitt kalkyle Pre betingelse Bruker har valgt å slette en angitt kalkyle ved å trykke tilhørende knapp i tilbudoversikten Postbetingelse Systemet sletter tilbudet fra databasen ellers oppstår feilmelding, ellers avbrytes sletting. Hendelseflyt 1. Systemet verifiserer valg fra bruker gjennom et vindu. 2. Systemet sletter angitte data fra databasen, og tabellen i tilbudoversikten oppdateres heretter. Variasjon 1a. Bruker avbryter sletting 1a1. Systemet avbryter forespørselen om sletting, og bruker kommer til opprinnelig sted. 2a. Systemet får ikke kontakt med databasen. 2a1. Systemet informerer brukeren med en passende feilmelding.

90 Use case Filtrering tilbud Aktør Bruker Trigger: Bruker ønsker å søke etter gitte søkeparametre Pre betingelse Bruker har valgt å søke ved å skrive ønsket søkeparametre i tilbudoversikten og deretter taste «enter» eller trykke tilhørende søkeknapp. Postbetingelse Systemet oppdaterer tabellen i vinduet med gitte søkeparametre ellers oppstår feilmelding Hendelseflyt 1. Systemet utfører spørring mot databasen med gitt filter. 2. Systemet oppdaterer tabellen i henhold til resultatet av spørringen. Variasjon 1a. Systemet får ikke kontakt med databasen. 1a1. Systemet informerer brukeren med en passende feilmelding. Use case 1.2 Administrere brukere Aktør Bruker Trigger: Bruker ønsker å administrere brukere av systemet Pre betingelse Bruker har valgt administrere brukere, ved å trykke tilhørende knapp i hovedvinduet ellers oppstår feilmelding Postbetingelse Brukeren kan administrere brukere i et nytt vindu ellers feilmelding oppstår Hendelseflyt 1. Systemet ber om brukernavn og passord 2.Bruker fyller inn feltene for brukernavn og passord 3.Systemet sjekker om brukernavn og passord er gyldige mot databasen. 4. Systemet gir brukeren adgang til administrasjon av brukere Variasjon 3a. Systemet får ikke kontakt med databasen. 3a1. Systemet informerer brukeren med en passende feilmelding. 3b.Brukernavn og passord er ugyldig 3b1.Programmet informerer brukeren ved en passende feilmelding

91 Use case Legge til bruker Aktør Brukeradministrator Trigger: Brukeradministrator ønsker å legge til nye brukere av systemet Pre betingelse Bruker har valgt å trykke på tilhørende knapp «legg til bruker». Postbetingelse Systemet legger til ny bruker med utfylt informasjon ellers oppstår feilmelding Hendelseflyt 1.Systemet ber bruker om å fylle inn informasjon om ny bruker og passord til brukeren 2.Systemet validerer brukernavnet og passordet 3.Informasjonen sendes og skrives til i databasen. Variasjon 2a.Brukernavn og passord er duplisert/ugyldig 2a1.Programmet informerer brukeren ved en passende feilmelding 3a. Systemet får ikke kontakt med databasen. 3a1. Systemet informerer brukeren med en passende feilmelding. Use case 1.3 Administrere ark Aktør Bruker Trigger: Bruker ønsker å få tilgang til tabell for papir Pre betingelse Bruker har valgt å trykke tilhørende knapp i hovedvinduet Postbetingelse Bruker kan administrere prislisten i et nytt vindu ellers oppstår feilmelding Hendelseflyt 1. Systemet starter administrasjonvinduet. 2. Systemet Kontakter databasen og henter ut data fra prislisten der. 2. Systemet laster inn dataene fra databasen i en tabell, og viser det i administrasjonvinduet. Variasjon 1a. Systemet får ikke kontakt med databasen. 1a1. Systemet informerer brukeren med en passende feilmelding.

92 Use case Legge til oppføring i prislisten Aktør Bruker Trigger: Bruker ønsker å legge til en ny oppføring i prislisten Pre betingelse Bruker har valgt å trykke tilhørende knapp i arkadministrasjon Postbetingelse Systemet legger til ny oppføring i databasen, ellers oppstår feilmelding. Hendelseflyt 1. Systemet starter nytt vindu der bruker kan legge til nødvendige data. 2. Systemet sjekker om det er gyldige verdier i utfylte felter, og validerer mot databasen. 3.Systemet lagrer den nye oppføringen i databasen. Variasjon 2a. Bruker skriver inn ugyldige verdier 2a1.Systemet informerer brukeren med en passende feilmelding. 2b. Systemet får ikke kontakt med databasen. 2b1. Systemet informerer brukeren med en passende feilmelding. 2c. Ikke validert mot databasen (ikke unik id nummer osv.). 2c1. Brukeren får en passende feilmelding. 3a samme som 2b, 3a1 samme som 2b1 Use case Redigere oppføring Aktør Bruker Trigger: Bruker ønsker å redigere en oppføring i prislisten Pre betingelse Bruker har valgt å trykke tilhørende knapp i arkadministrasjon Postbetingelse Systemet får redigert en angitt oppføring, ellers oppstår det feilmelding. Hendelseflyt 1.Systemet starter nytt vindu som, og henter registrerte data om angitt oppføring, og gir bruker mulighet for å fylle ut ny informasjon. 2. Systemet validerer input. 3. Systemet lagrer den endret oppføringen i databasen, og systemet mottar verifisering av endringen. Variasjon 2a. Ugyldig input. 2a1.Systemet informerer brukeren med en passende feilmelding. *2b. Systemet får ikke kontakt med databasen.

93 2b1. Systemet informerer brukeren med en passende feilmelding. 3a. som i punkt 2b* Use case Slette oppføring Aktør Bruker Trigger: Bruker ønsker å slette valgt oppføring Pre betingelse Bruker har valgt å trykke tilhørende knapp i arkadministrasjon Postbetingelse Systemet sletter angitt oppføring, ellers oppstår feilmelding. Hendelseflyt 1.Systemet verifiserer valg fra bruker 2.Systemet sletter den gitte oppføringen i databasen. Variasjon 1a. Bruker avbryter sletting 1a1. Systemet avbryter forespørselen om sletting, og bruker kommer til opprinnelig sted. 2a. Programmet får ikke kontakt med databasen. 2a1. Programmet informerer brukeren med en passende feilmelding. Use case Laste opp ny prisliste Aktør Bruker Trigger: Bruker ønsker å fornye databasen mot en gitt excel fil (fil gitt er hentet fra papyrus) Pre betingelse Bruker har valgt å trykke tilhørende knapp i arkadministrasjon Postbetingelse Brukeren får oppdatert prislisten mot den gitte excel filen, ellers oppstår feilmelding Hendelseflyt 1. Systemet ber brukeren om filområdet der filen befinner seg. 2. Systemet verifiserer angitt fil deretter leses filen. 3. Systemet kobler seg mot databasen og mellomlagrer så alle data i en midlertidig tabell i databasen, samtidig som det leses fra filen?. 4. Systemet overskriver den riktige tabellen med den midlertidige, og sletter mellomlagringen fra 3, verifisering returneres. Variasjon 2a.Angitt Fil av brukeren er ugyldig. 2a1. Bruker får en passende feilmelding. *2b. Programmet får ikke kontakt med databasen.

94 *2b1. Programmet informerer brukeren med en passende feilmelding. *Samme kan skje i 3 og 4. Use case Filtrere prisliste Aktør Bruker Trigger: Bruker ønsker å søke etter gitte parametere (Varebeskrivelse) Pre betingelse Bruker har valgt å trykke tilhørende knapp eller «enter» i arkadministrasjon. Postbetingelse Brukeren blir vist en redusert tabell med hensyn på søkeparametrene. Hendelseflyt 1.Brukeren skriver inn ønsket søkeparameter. 2.Systemet filtrerer ut tabellen med hensyn på denne parameteren ved hjelp av databasen Variasjon 2a. Ugyldig søkeparameter 2a1. Systemet gir en passende feilmelding til bruker. 2b. Programmet får ikke kontakt med databasen. 2b1. Programmet informerer brukeren med en passende feilmelding. Use case 1.4 Administrere kunder Aktør Bruker Trigger: Bruker ønsker å administrere kunder Pre betingelse Bruker har valgt å trykke tilhørende knapp i hovedvinduet. Postbetingelse Brukeren får et vindu med oversikt over kundene, her kan man legge til, slette og endre kunder, ellers oppstår feilmelding. Hendelseflyt 1.Systemet åpnet et nytt vindu og henter ut data om registrerte kunder i databasen. 2.Systemet fyller inn disse dataene i en tabell i vinduet. Variasjon 1a. Systemet får ikke kontakt med databasen. 1a1. Systemet informerer brukeren med en passende feilmelding.

95 Use case Legg til Kunde Aktør Bruker Trigger: Bruker ønsker å legge til ny kunde Pre betingelse Bruker har valgt å trykke tilhørende knapp i kundeadministrasjon vinduet. Postbetingelse Systemet legger til en ny kunde i kundetabellen, ellers oppstår feilmelding. Hendelseflyt 1. Systemet åpner et nytt Vindu der bruker kan fylle ut nødvendige data. 2.Systemet validerer inndata. 3.Systemet lagrer oppføringen i databasen. Variasjon 2a. Ugyldige inndata. 2a1. Systemet informerer brukeren med en passende feilmelding. 3a. Systemet får ikke kontakt med databasen. 3a1. Systemet informerer brukeren med en passende feilmelding. Use case Endre Kundeinfo Aktør Bruker Trigger: Bruker ønsker å redigere en angitt kunde Pre betingelse Bruker har valgt å trykke tilhørende knapp i kundeadministrasjon vinduet. Postbetingelse Systemet har redigert en gitt oppføring med inntastet data, ellers oppstår feilmelding. Hendelseflyt 1. Systemet åpner et nytt Vindu der bruker kan fylle ut nødvendige data. 2.Systemet validerer inndata. 3.Systemet redigerer oppføringen i databasen. Variasjon 2a. Ugyldig input. 2a1.Systemet informerer brukeren med en passende feilmelding. 3a. Programmet får ikke kontakt med databasen. 3a1. Programmet informerer brukeren med en passende feilmelding.

96 Use case Slette Kunde Aktør Bruker Trigger: Bruker ønsker å slette valgt kunde Pre betingelse Bruker har valgt å trykke tilhørende knapp i kundeadministrasjon vinduet. Postbetingelse Systemet sletter angitt kunde, ellers oppstår feilmelding. Hendelseflyt 1.Systemet verifiserer valg fra bruker. 2.Systemet sletter den angitte kunden i databasen. Variasjon 1a. Bruker avbryter sletting 1a1. Systemet avbryter forespørselen om sletting, og bruker kommer til opprinnelig sted. 2a. Programmet får ikke kontakt med databasen. 2a1. Programmet informerer brukeren med en passende feilmelding. Use case Filtrering av kunder Aktør Bruker Trigger: Bruker ønsker å søke etter angitt kunde Pre betingelse Bruker har valgt å trykke tilhørende knapp eller «enter» i kundeadministrasjon vinduet. Postbetingelse Brukeren blir vist en redusert tabell med hensyn på søkeparametrene. Hendelseflyt 1.Brukeren skriver inn ønsket søkeparameter 2.Systemet filtrerer ut tabellen med hensyn på denne parameteren. Variasjon 2a. Ugyldig søkeparameter 2a1. Systemet gir en passende feilmelding til bruker. 2a. Programmet får ikke kontakt med databasen. 2a1. Programmet informerer brukeren med en passende feilmelding.

97 5.1.2 Sekvensdiagramer Sekvensdiagram 1: Logge inn i programmet. Sekvensdiagram 2: Administrere tilbud.

98 Sekvensdiagram 3: Lage nytt tilbud. Sekvensdiagram 4: Kalkulere pris.

99 Sekvensdiagram 5: Endre/ vise tilbud. Sekvensdiagram 6: Slette tilbud. Sekvensdiagram 7: Filtrering/søk tilbud.

100 Sekvensdiagram 8: Administrere brukere. Sekvensdiagram 9: Legge til bruker. Sekvensdiagram 10: Administrere ark.

101 Sekvensdiagram 11: Legge til oppføring i prislisten. Sekvensdiagram 12: Redigere oppføring i prislisten.

102 Sekvensdiagram 13: Slette oppføring i prislisten. Sekvensdiagram 14: Laste opp ny prisliste. Sekvensdiagram 15: Filtrere/ søke i prislisten.

103 Sekvensdiagram 16: Administrere kunder. Sekvensdiagram 17: Legge til ny kunde. Sekvensdiagram 18: Endre kundeinfo.

104 Sekvensdiagram 19: Slette kunde. Sekvensdiagram 20: Filtrering/søking i kunderegisteret.

105 5.1.3 Klassediagram Klassediagram1: Forenklett klassediagram delt opp i pakker.

106 Klassediagram2: Detaljert klassediagram av kalkyleadmin pakken. Klassediagram3: Detaljert klassediagram av arkadmin pakken.

107 5.1.4 Relasjonsdiagram for database.

108 5.1.5 Databasescript Dette scriptet er designet av en autogenerering av den ferdigstillte databasen vår MySQL dump Distrib , for debian-linux-gnu (i486) Host: localhost Database: project Server version ubuntu5.5 /*!40101 /*!40101 /*!40101 /*!40101 /*!40103 /*!40103 /*!40014 /*!40014 /*!40101 /*!40111 SET SET SET SET SET SET SET SET SET SET */; */; */; NAMES utf8 */; */; TIME_ZONE='+00:00' */; UNIQUE_CHECKS=0 */; FOREIGN_KEY_CHECKS=0 */; SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; SQL_NOTES=0 */; DROP TABLE IF EXISTS `access`; /*! */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `access` ( `brukernavn` varchar(64) DEFAULT NULL, `passord` varchar(64) DEFAULT NULL, UNIQUE KEY `brukernavn` (`brukernavn`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*!40101 SET character_set_client */; LOCK TABLES `access` /*!40000 ALTER TABLE INSERT INTO `access` /*!40000 ALTER TABLE UNLOCK TABLES; WRITE; `access` DISABLE KEYS */; VALUES ('granitt','grafisk'); `access` ENABLE KEYS */; DROP TABLE IF EXISTS `kalkyledel`; /*! */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `kalkyledel` ( `kalkyledelnr` int(10) NOT NULL DEFAULT '0', `kalkylenr` int(10) DEFAULT NULL, `ArtNr` varchar(45) DEFAULT NULL, `delbeskrivelse` varchar(128) DEFAULT NULL, `Sider` int(10) DEFAULT NULL, `Farger` varchar(45) DEFAULT NULL, PRIMARY KEY (`kalkyledelnr`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*!40101 SET character_set_client */; LOCK TABLES `kalkyledel` WRITE; /*!40000 ALTER TABLE `kalkyledel` DISABLE KEYS */; /*!40000 ALTER TABLE `kalkyledel` ENABLE KEYS */; UNLOCK TABLES; DROP TABLE IF EXISTS `kalkyler`; /*! */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `kalkyler` ( `kalknr` int(16) NOT NULL DEFAULT '0', `knr` int(16) DEFAULT NULL, `Format` varchar(45) DEFAULT NULL, `Etterbehandling` varchar(1024) DEFAULT NULL, `Tittel` varchar(64) DEFAULT NULL, `Dato` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `opplag` int(10) DEFAULT NULL, `EtterBTimer` varchar(64) DEFAULT NULL, PRIMARY KEY (`kalknr`)

109 ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*!40101 SET character_set_client */; LOCK TABLES `kalkyler` WRITE; /*!40000 ALTER TABLE `kalkyler` DISABLE KEYS */; /*!40000 ALTER TABLE `kalkyler` ENABLE KEYS */; UNLOCK TABLES; DROP TABLE IF EXISTS `kunde`; /*! */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `kunde` ( `knr` int(10) NOT NULL DEFAULT '0', `Fornavn` varchar(128) DEFAULT NULL, `Etternavn` varchar(128) DEFAULT NULL, `Addresse` varchar(1024) DEFAULT NULL, `PostNr` varchar(4) DEFAULT NULL, `Poststed` varchar(128) DEFAULT NULL, `epost` varchar(1024) DEFAULT NULL, `tlf` varchar(32) DEFAULT NULL, PRIMARY KEY (`knr`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*!40101 SET character_set_client */; LOCK TABLES `kunde` WRITE; /*!40000 ALTER TABLE `kunde` DISABLE KEYS */; /*!40000 ALTER TABLE `kunde` ENABLE KEYS */; UNLOCK TABLES; DROP TABLE IF EXISTS `prisliste`; /*! */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `prisliste` ( `ArtNr` int(10) NOT NULL DEFAULT '0', `Varebeskrivelse1` varchar(1024) DEFAULT NULL, `Varebeskrivelse2` varchar(1024) DEFAULT NULL, `Gram` int(10) DEFAULT NULL, `Bredde` int(10) DEFAULT NULL, `Lengde` int(10) DEFAULT NULL, `HÃ yde` int(10) DEFAULT NULL, `Vekt` decimal(10,1) DEFAULT NULL, `MyVerdi` int(10) DEFAULT NULL, `EnhetPakningsenhet1` varchar(1024) DEFAULT NULL, `AntallPakningsenhet1` varchar(1024) DEFAULT NULL, `EnhetPakningsenhet2` varchar(1024) DEFAULT NULL, `AntallPakningsenhet2` varchar(1024) DEFAULT NULL, `EnhetPall` varchar(1024) DEFAULT NULL, `AntallTransportPakning` int(10) DEFAULT NULL, `Salgsenhet` varchar(1024) DEFAULT NULL, `Salgsprisantall` int(10) DEFAULT NULL, `PrisUnder1Pall` int(10) DEFAULT NULL, `Pris1Pall` int(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*!40101 SET character_set_client */; LOCK TABLES `prisliste` WRITE; /*!40000 ALTER TABLE `prisliste` DISABLE KEYS */; /*!40000 ALTER TABLE `prisliste` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 /*!40014 /*!40014 /*!40101 /*!40101 /*!40101 /*!40111 SET SET SET SET SET SET SET SQL_MODE=@OLD_SQL_MODE */; FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; SQL_NOTES=@OLD_SQL_NOTES */;

110 Vedlegg 5.2 Styringsdokumenter Kravspesifikasjon 1.Innledning 1.1 Presentasjon Dato: Bacheloroppgave: Produktkalkyle for Granitt Grafisk AS Gruppenr: Gruppemedlemmer: Pål Georg Dahl Myran Joakim Haneberg Johansen Michael Venables Oppdragsgiver: Granitt Grafisk AS Kontaktperson: Kjetil Hansen,Telefon: Mobil: Veileder: Ulf Uttersrud

111 1.2 Bakgrunn Etter fem semestre som Dataingeniørstudenter ved Høgskolen i Oslo, skal vårt sjette og siste semester brukes til å utføre et valgfritt hovedprosjekt. I følge høgskolen hjemmesider skal studentene etter fullført hovedprosjekt ha kompetanse til å utvikle ferdighetter i å løse, på en selvstendig og systematisk måte, et praktisk orientert og omfattende prosjekt, basert på oppdragsgivers krav. Studentene skal og demonstrere at de kan omsette sine kunnskaper til praktiske løsninger. De skal kunne produsere tilfredsstillende dokumentasjon for dataprogrammer og datasystemer både når det gjelder produkt, drift og bruk med tilpasning til de ulike mottakerne av denne dokumentasjonen, og de skal kunne beskrive sin egen arbeidsprosess hensiktsmessig etter gitte standarder. Da gruppen skulle velge hovedprosjekt hadde den noen spesifikke ønsker om hva den ville at prosjektet skulle bestå av. Studentene gikk gjennom de prosjektene som lå ute på skolens hjemmesider, og søkte på de som var interessante. Deretter tok en av studentene kontakt med en bekjent, som driver Granitt Grafisk AS, et gafisk design firma, der de hadde et prosjekt til gruppen. Bedriften holder til på Gran i Hadeland, der vi var på et møte og fikk et lite innblikk i deres hverdag. Etter litt diskusjon av oppgaven, så falt den i interesse for gruppen. 2. Forord Hensikten med dette dokumentet er å beskrive betingelsene og rammene rundt kalkylesystemet til granitt grafisk AS. Funksjonalitet,systemkonstruksjon og dokumentasjonskrav er definert av Gruppen selv, med noen innlegg fra Granitt grafisk. Dokumentet er tilegnet arbeidsgiver og gruppen for oversikt over hva systemet skal inneholde og hvilke krav som skal stilles til det. Dokumentet skal gi et bedre innblikk i hvordan det komplette systemet faktisk skal se ut.

112 3. Innholdsfortegnelse 1.Innledning 1.1 Presentasjon 1.2 Bakgrunn 2. Forord 3. Innholdfortegnelse 4. Systemkrav 4.1 Funksjonelle krav til kalkyledel 4.2 Funksjonelle krav til administrasjonsdel 4.3 Krav til teknologi 5. Rammekrav 5.1 Sikringskrav 5.2 Krav til bruk og brukervennlighet 6. Krav til dokumentasjon 7. Fremtidige utvidelser av systemet

113 4. Systemkrav 4.1 Funksjonelle krav til kalkyledel Systemet skal kunne lage en kalkyle av en prisforespørsel med og uten MVA, med hensyn på opplag, format, papir, farger, etterbehandling og arbeidstid. Papirpris skal hentes frem ved å definere papirtype, størrelse og vekt. Papirtyper og format skal bestemmes av en produktdatabase generert ut i fra papyrus sin produktkatalog. Fargetypene skal være de typene Granitt grafisk kan tilby. Systemet skal gi mulighet for utskrift og lagring av kalkylen. Etterbehandling skal inneholde stifting, falsing, skjæring, hulling og innbinding med kalkulering av pris på disse tjenestene basert på opplag. 4.2 Funksjonelle krav til administrasjonsdel Administrator skal sikkert kunne logge inn på systemet, med brukernavn og passord. Systemet skal kunne laste opp prisliste og legge den inn i produktdatabasen. Systemet skal kunne legge til, endre og slette produkter fra databasen. Systemet skal kunne søke etter et produkt ved angitt informasjon. 4.3 Krav til Teknologi Systemet skal utvikles i Java med jre 1.6 Lagring skal skje i mysql dist ver Applikasjonen skal kunne kjøre på en Windows platform.

114 5. Rammekrav 5.1 Sikringskrav Databasehåndteringssystemet har mulighet for gjennopretting av databasen. Innlogging med sikkert brukernavn og passord skal sikre systemet for misbruk av data og tyveri. Rammene for kapasiteten til dataene begrenses av minne og diskplass. 5.2 Krav til bruk og brukervennlighet Systemet skal være oversiktig og lett å manøvrere. Informasjonen skal presenteres så fremt det lar seg gjøre til riktig tidspunkt, som bestemt av oppdragsgiver. 6. Krav til dokumentasjon 6.1 Krav til dokumentasjon Det skal føres dagbok for hver dag gruppen jobber med prosjektet og timeplan oppdateres deretter. Det skal skrives referater for alle møter med arbeidsgiver og veileder. Dokumentasjonen skal følge standard for dokumentasjon for hovedprosjekt i data/it utgitt av Høgskolen i Oslo. Ferdigstillt prosjekt skal dokumenteres med: Prosessdokumentasjon Produktdokumentasjon Testdokumentasjon(rapport) Kravspesifikasjon Brukerdokumentasjon(manual)

115 7. Fremtidige utvidelser av systemet Beregne vekt per produkt ut i fra angitt papirtype og opplag etc. Implementering av metode for å kalkulere hvor mange ark som trengs i for å dekke et opplag, avhengig av arkformatet og hvordan man deler arket. Administrere kalkyler og kunder, med historikk. Statistikkverktøy for oversikt over kundekalkyler.

116 5.2.2 Fremdriftsplan

Granitt Grafisk AS Kravspesifikasjon Gruppenr: 2011-12

Granitt Grafisk AS Kravspesifikasjon Gruppenr: 2011-12 1 av 6 1.Innledning 1.1Presentasjon Dato: 01.02.2011 Bacheloroppgave: Produktkalkyle for Granitt Grafisk AS Gruppenr: 11-12 Gruppemedlemmer: Pål Georg Dahl Myran Joakim Haneberg Johansen Michael Venables

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

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

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

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING Prosjekt 18 Jørgen Mobekk Sørensen Morten Evje Tor Andreas Baakind Anders Gabrielsen Side 1 1 FORORD Dette dokumentet er brukerveiledningen, og skal være en veiledning

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

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

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

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet Produktrapport Hjelpemiddel portal for Parkinsonforbundet 1 Innhold: Forord ------------------------------------------------------------------------------------------------------2 Planlegging og arbeidsmetode

Detaljer

Arbeidsplan. Startfasen. Aktivitet Beskrivelse Ferdig Ansvarlig (Ressurser)

Arbeidsplan. Startfasen. Aktivitet Beskrivelse Ferdig Ansvarlig (Ressurser) Arbeidsplan En arbeidsplan er en måte å få oversikt over de ulike fasene i prosjektet. I arbeidsplanen har vi delt arbeidet i naturlige faser og detaljert disse med estimert tidsbruk. Hovedfasene er startfasen,

Detaljer

Presentasjon av bachelorprosjekt 2009/2010 for Morten Hegstad og Kim Lilleberg. Prosjektnummer 2E

Presentasjon av bachelorprosjekt 2009/2010 for Morten Hegstad og Kim Lilleberg. Prosjektnummer 2E Presentasjon av bachelorprosjekt 2009/2010 for Morten Hegstad og Kim Lilleberg Prosjektnummer 2E 1. Innholdsfortegnelse 1. Innholdsfortegnelse 2 2. Norske Hus Boligsystem AS 3 3. Problemstillingen 3 4.

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

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

Ble ferdig med prosjektskisse. Sett på forskellige rammeverk for php. Lager milepæl for to uker.

Ble ferdig med prosjektskisse. Sett på forskellige rammeverk for php. Lager milepæl for to uker. Logg 22 oktober 2013 Vi skriver status rapport og starter også med å skrive logg idag. Vi har vært i kontakt med mange firmaer uten alt for mye interesse fra deres side. Vi fortsetter å søke etter oppgave.

Detaljer

Brukerdokumentasjon Prosjekt nr. 2011-16 PayEx Logistics

Brukerdokumentasjon Prosjekt nr. 2011-16 PayEx Logistics Side 1 av 17 Payex Logistics Brukermanual Ver. 1.0 31.05.2011 Gruppe 16 Høgskolen i Oslo Side 2 av 17 1 Innledning Denne brukerdokumentasjonen forklarer bruken av logistikksystemet som er laget for PayEx.

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

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

KRAVSPESIFIKASJON. Gruppe 2. Hovedprosjekt, Høgskolen i Oslo og Akershus. Våren 2014 KRAVSPESIFIKASJON 1

KRAVSPESIFIKASJON. Gruppe 2. Hovedprosjekt, Høgskolen i Oslo og Akershus. Våren 2014 KRAVSPESIFIKASJON 1 KRAVSPESIFIKASJON Gruppe 2 Hovedprosjekt, Høgskolen i Oslo og Akershus Våren 2014 KRAVSPESIFIKASJON 1 CONTENTS 1. Forord... 3 2. Presentasjon... 3 2.1 Gruppens medlemmer... 3 2.2 Oppdragsgiver... 3 2.3

Detaljer

En enkel lærerveiledning

En enkel lærerveiledning En enkel lærerveiledning ~ 1 ~ Innhold INNLEDNING... 3 Hva?... 3 Hvorfor?... 3 INN- og UTLOGGING... 4 Innlogging... 4 Utlogging... 5 Lærerinnlogging/-utlogging... 5 OUTLOOK / EPOST... 6 Skrive epost...

Detaljer

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA Sist oppdatert 18.02.2010 INNHOLD INNHOLD... 1 HVA ER CABINWEB... 2 HVA KAN DU BRUKE CABINWEB TIL?... 3 HVA ER NYTT I CABINWEB VERSJON 2.0...

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

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

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

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

Kravspesifikasjon Gruppe nr ABTF

Kravspesifikasjon Gruppe nr ABTF 1 Presentasjon Tittel: Web-løsning for ABTF Utvikle en Web-løsning helt fra bunnen av, samt med en Oppgave: plattform som gir underviseren muligheten til å veilede og følge opp sine elever gjennom kurset.

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

Use Case Modeller. Administrator og standardbruker

Use Case Modeller. Administrator og standardbruker Vedlegg 1 Use Case Modeller Administrator og standardbruker 2 Use case Logge inn Bruker Bruker ønsker å logge inn Bruker har valgt å logge inn Bruker er logget inn 1. Systemet ber om brukernavn 2. Systemet

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

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

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

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

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

Kravspesifikasjon Hovedprosjekt ved Høgskolen i Oslo Våren 2008 Kravspesifikasjon Hovedprosjekt ved Høgskolen i Oslo Våren 2008 1.Forord I dette dokumentet skal vi gi et bildet av de kravene som er satt til prosjektet. Dokumentet er hovedsakelig beregnet som et styringsdokument

Detaljer

TESTRAPPORT - PRODSYS

TESTRAPPORT - PRODSYS TESTRAPPORT - PRODSYS PRODSYS-DATASYSTEM FOR ÅS PRODUKSJONSLAB AS GRUPPE 12 CHRISTOPHER CONRADI STEFFEN DIEDRICHSEN ROMAN KOVALENKO INFORMASJONSTEKNOLOGI, INGENIØRUTDANNINGEN, HØYSKOLEN I OSLO 1. FORORD

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

Entobutikk 3.TESTRAPPORT VÅR 2011

Entobutikk 3.TESTRAPPORT VÅR 2011 3.TESTRAPPORT VÅR 2011 1 DELKAPITTEL 1 FORORD Denne testrapport er skrevet i forbindelse med vårt hovedprosjekt ved Høgskolen i Oslo, ingeniørutdanning, våren 2011. Rapporten beskriver testingen av hele

Detaljer

Brukerdokumentasjon for Administrator og andre brukere fra PT

Brukerdokumentasjon for Administrator og andre brukere fra PT Brukerdokumentasjon for Administrator og andre brukere fra PT Innholdsfortegnelse Innlogging...3 Forside...4 Menyen...4 Oversikt over utstyret...6 Rediger utstyr...7 Opprett nytt utstyr...9 Søk etter utstyr...

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

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

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

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

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

ChiCMS Hovedprosjekt ved Høgskolen i Oslo 2011

ChiCMS Hovedprosjekt ved Høgskolen i Oslo 2011 TESTRAPPORT Forord Denne testrapporten har som formål å beskrive all testing som er utført på systemet, både under utviklingen og etter ferdigstilling. Målet for testingen er for å verifisere at vi har

Detaljer

Hovedprosjektet i Data Høgskolen i Oslo våren 2010

Hovedprosjektet i Data Høgskolen i Oslo våren 2010 Hovedprosjektet i Data Høgskolen i Oslo våren 2010 Kevin Holmvik s147777 Nikolai Godager s147790 Einar Drivdal s147782 Chau Quoc Quo Do s147792 PROSJEKT NR.: 10-30 Studieprogram: Anvendt Datateknologi

Detaljer

Testrapport for Sir Jerky Leap

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

Detaljer

Kravspesifikasjon. Forord

Kravspesifikasjon. Forord Forord Kravspesifikasjonen skal gi en oversikt og forståelse over det planlagte systemets funksjonalitet. Dokumentet skal gi både utviklere og oppdragsgivere innblikk i hvordan og hva systemet skal levere.

Detaljer

Brukerveiledning. Madison Møbler Administrasjonsside

Brukerveiledning. Madison Møbler Administrasjonsside Brukerveiledning Madison Møbler Administrasjonsside 1 1. Forord 1.1 Produktet Produktet blir konstruert som et nytt produkt da kunde/bruker ikke har noe eksisterende løsning, derfor er dette den nåværende

Detaljer

DAGBOK. Patrick - Opprettet blogside for å kunne legge ut informasjon om hva som skjer underveis i prosjektet.

DAGBOK. Patrick - Opprettet blogside for å kunne legge ut informasjon om hva som skjer underveis i prosjektet. DAGBOK Uke 43: Torsdag 28/10 Patrick - Opprettet blogside for å kunne legge ut informasjon om hva som skjer underveis i prosjektet. Uke 44: Mandag 1/11 Gruppen utformet den første statusrapporten til prosjektet.

Detaljer

Brukermanual. Studentevalueringssystem

Brukermanual. Studentevalueringssystem Brukermanual Studentevalueringssystem 1 Forord 1.1 Forord Denne brukermanualen innholder beskrivelse av systemets funksjonalitet og introduserer systemet for brukeren. Brukermanualen er delt inn i tre

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

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser? UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering

Detaljer

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

Forprosjektrapport for Agresso R&D Ansettelsessystem 31.01.07. Hovedprosjekt våren 2007. Skrevet av:

Forprosjektrapport for Agresso R&D Ansettelsessystem 31.01.07. Hovedprosjekt våren 2007. Skrevet av: Forprosjektrapport for Agresso R&D Ansettelsessystem Hovedprosjekt våren 2007 31.01.07 Skrevet av: Anders Hartvoll Ruud Christian Årving Leif Martin Næss Sahdia Fayyaz Moghal 1 Sammendrag Prosjektittel:

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

Support, nye funksjoner og tjenester fra Uni Pluss

Support, nye funksjoner og tjenester fra Uni Pluss Support, nye funksjoner og tjenester fra Uni Pluss Hvem er vi? Rune Synnevåg Systemutvikler Begynte i Uni Pluss juli 2008 Erik Faugstad Kundekonsulent Begynte i Uni Pluss mars 2009. Dette står på menyen

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

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

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

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

Kravspesifikasjon Innholdsfortegnelse

Kravspesifikasjon Innholdsfortegnelse Kravspesifikasjon Innholdsfortegnelse 1.Introduksjon... 2 1.1 Medlemmer:... 2 1.2 Oppdragsgiver:... 2 1.3 Kontaktsperson hos Retriever:... 2 1.4 Veileder:... 2 1.5 Bakgrunn... 3 2. Om Kravspesifikasjonen...

Detaljer

Kravspesifikasjon. Forord

Kravspesifikasjon. Forord Kravspesifikasjon Forord Hensikten med en kravspesifikasjon er å gi et overblikk over programmets funksjonalitet og tilleggsfunksjoner, dette vil si både over de som er utviklet før prosjektstart, og de

Detaljer

Brukerdokumentasjon for registrering og rapportering beredskapsutstyr hos Post og Teletilsynet

Brukerdokumentasjon for registrering og rapportering beredskapsutstyr hos Post og Teletilsynet Brukerdokumentasjon for registrering og rapportering beredskapsutstyr hos Post og Teletilsynet Innholdsfortegnelse Innlogging...3 Forside...4 Menyen...4 Oversikt over utstyret...5 Rediger utstyr...6 Opprett

Detaljer

TESTRAPPORT Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS

TESTRAPPORT   Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS TESTRAPPORT Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS Medlemmer av gruppe 35: Joakim Larsen, s150070, 3AB Kristian Kjelsrud, s147787, 3IA Anastasia Poroshina, s140720, 3AB Prosjektperiode:

Detaljer

HOVEDPROSJEKT. Studieprogram: Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo

HOVEDPROSJEKT. Studieprogram: Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo PROSJEKT NR. 2008-18 Studieprogram: Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET Åpen HOVEDPROSJEKT Telefon: 22 45 32 00 Telefaks: 22 45 32 05

Detaljer

24.01.2014 Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus. Forprosjektrapport. Presentasjon

24.01.2014 Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus. Forprosjektrapport. Presentasjon 24.01.2014 Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus Forprosjektrapport Presentasjon Tittel Precision Teaching App for Android Oppgave Å lage en Android app som skal benyttes

Detaljer

Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post.

Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post. Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post. - Konfigurasjon Klikk på Konfigurasjon i menyen helt til venstre, og deretter Min butikk.

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

Eksamen i Internetteknologi Fagkode: IVA1379

Eksamen i Internetteknologi Fagkode: IVA1379 Høgskolen i Narvik Side 1 av 5 Eksamen i Internetteknologi Fagkode: IVA1379 Tid: Mandag, 07.06.04, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 4 oppgaver

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

Testdokumentasjon Presentasjon

Testdokumentasjon Presentasjon Testdokumentasjon Presentasjon Tittel Oppgave Teknostorage - Lagersystem Et lagersystem som på enkel måte kan registrere varer inn og ut fra lager. Periode 3. januar 2012 til 11. juni 2012 Gruppemedlemmer

Detaljer

PROSJEKTDAGBOK GRUPPE 28

PROSJEKTDAGBOK GRUPPE 28 PROSJEKTDAGBOK GRUPPE 28 Uke 43-25.10.2009 Tid/Sted P35 Gruppen består av 5 medlemmer. Vi hadde en bli kjent opplegg i dag. Arbeider med å levere inn statusrapporten til fredag 30.10.2009. Uke 48-29.11.2009

Detaljer

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup 1 Systemkrav ADSL eller minimum ISDN via router. Ved automatisk backup: Min. Windows XP / 2000 / 2003 (pga. Service) Ved manuellt system: Min. Windows 98 SE NotaPlan Backup bør installeres på den/de maskiner

Detaljer

Kravspesifikasjon. 14. oktober 2002

Kravspesifikasjon. 14. oktober 2002 Kravspesifikasjon gruppe 42 Nils-Kristian Liborg (brukergrensesnitt), Bente Brevig (beskrivelser, aktørbeskrivelser, diagram, kvalitetssikring), Tom Olav Bruaas (beskrivelser), Eirik Lied (beskrivelser,

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

Gruppe 43. Hoved-Prosjekt Forprosjekt

Gruppe 43. Hoved-Prosjekt Forprosjekt Gruppe 43 Hoved-Prosjekt Forprosjekt Mobil Applikasjon Utvikling HiOA Bacheloroppgave forprosjekt våren 2017 Presentasjon Gruppen består av: Gebi Beshir Ole-Kristian Steiro Tasmia Faruque s182414 s189141

Detaljer

Brukermanual for EIK IFs webside

Brukermanual for EIK IFs webside Brukermanual for EIK IFs webside Denne brukermanualen er en skjematisk gjennomgang av basisfunksjonene for hver enkelt årgang/lag. Arild Neste. Tel: 977 42 162, ar-neste@online.no EIK, 9. november 2009

Detaljer

Elsmart Brukerveiledning Nettmelding for Installatører

Elsmart Brukerveiledning Nettmelding for Installatører Elsmart Brukerveiledning Nettmelding for Installatører Nettmelding Brukerveiledning Generell 0.5.doc Side 1 av (26) Innledning Dette er den generelle brukerveiledningen til Elsmart Nettmelding. Denne veiledningen

Detaljer

Dagbok. Januar. Uke 2 ( ) Uke 3 ( ) Uke 3 (17.01, 12:45-14:00)

Dagbok. Januar. Uke 2 ( ) Uke 3 ( ) Uke 3 (17.01, 12:45-14:00) Dagbok Januar Uke 2 (7.1-11.1) Vi har lest halvveis på standard dokumentasjon og jobbet med forprosjektrapport. Vi har hatt vårt første møte med den interne veilederen vår Tor Hasle. Vi fortalte om at

Detaljer

student s104111, s107911, s122357

student s104111, s107911, s122357 Forord Denne brukerveiledning er ment som et hjelpemiddel for brukerne av administrasjonssystemet og vaktsystemet. Målgruppen for administrasjonssystemet er avdelings ledere på Grefsenhjemmet, mens målgruppen

Detaljer

Brukerveiledning Custodis Backup Basic Epost: kundeservice@custodis.no

Brukerveiledning Custodis Backup Basic Epost: kundeservice@custodis.no Brukerveiledning Custodis Backup Basic Epost: kundeservice@custodis.no Custodis AS, orgnr: 999 235 336 MVA post@custodis.no tlf: 21 64 02 63 Kristian IVs gate 1, NO-0164 Oslo Velkommen til installasjonsveilednisngen

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

Del VII: Kravspesifikasjon

Del VII: Kravspesifikasjon 1 2 Forord Dette dokumentet inneholder retningslinjer for gruppen vår og beskrivelse av betingelsene for utviklingen av vårt prosjekt. Vår gruppe benyttet dette dokumentet som et styringsdokument for å

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

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

KRAVSPESIFIKASJON. Kristian Kjelsrud, s147787, 3IA Anastasia Poroshina, s140720, 3AB. Prosjektperiode: 4. januar mai 2010

KRAVSPESIFIKASJON. Kristian Kjelsrud, s147787, 3IA Anastasia Poroshina, s140720, 3AB. Prosjektperiode: 4. januar mai 2010 KRAVSPESIFIKASJON Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS Gruppemedlemmer: Joakim Larsen, s150070, 3AB Kristian Kjelsrud, s147787, 3IA Anastasia Poroshina, s140720, 3AB Prosjektperiode:

Detaljer

Testdokumentasjon. Gruppe 9

Testdokumentasjon. Gruppe 9 Innholdsfortegnelse 1.Innledning... 3 2.Test av systemet... 3 3.Test med brukermanual av utenforstående... 7 4.Konklusjon... 8 2 1.Innledning Testdokumentasjonen er et dokument som beskriver vår endelige

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

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

PJ 501 Brukermanual NITH. Troja.NET brukermanual

PJ 501 Brukermanual NITH. Troja.NET brukermanual Troja.NET brukermanual 1 av 53v Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 FIGURLISTE... 5 1.0 INSTALLASJONSGUIDE... 7 1.1 PROGRAMVAREKRAV:... 7 1.1.1 Oppsett av Microsoft SQL Server 2000... 7 1.1.2

Detaljer

Velkommen til Brother's Keeper 6 for Windows!

Velkommen til Brother's Keeper 6 for Windows! Velkommen til Brother's Keeper 6 for Windows! Det kan være at du har mottatt en Installasjons-CD eller CD/minnepinne/hentet fra internett med programmet. Dette dokumentet følger med Installasjons-CD fra

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

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

Vedlegg LMC intranett

Vedlegg LMC intranett Vedlegg LMC intranett H12D02 Jarl-Håvard Holen Ole-Martin Larsen Fredrik Sethne-Andersen André Ritari Vedlegg 1 Resultater av kortsortering. Kortsortering Bruker 1, Salg: Kortsortering Bruker 2, Teknisk:

Detaljer

Forprosjektrapport For gruppe 20:

Forprosjektrapport For gruppe 20: Forprosjektrapport For gruppe 20: Kevin Johnny Galåen s135768 Ali Emre Yildirim s135573 Danh Tran s141712 Vibeke Askeland s141436 Fullført: 30.01.2009 Table of Contents Forprosjektrapport... 1 For gruppe

Detaljer

Forprosjektrapport. ERTMS Driver Interface simulering. ERTMS Driver Interface simulering. Alexander Yngling Alexander.Yngling@iu.hio.

Forprosjektrapport. ERTMS Driver Interface simulering. ERTMS Driver Interface simulering. Alexander Yngling Alexander.Yngling@iu.hio. Forprosjektrapport ERTMS Driver Interface simulering Prosjektets tittel: ERTMS Driver Interface simulering Gruppe medlemmer: Hallgeir Are Olsen s141454, 3IA Hasan Akin s141460, 3IA Oppdragsgiver: NSB skolen

Detaljer

3.3 Case 3: Opprette en bruker Case 4: Endre en bruker... 8

3.3 Case 3: Opprette en bruker Case 4: Endre en bruker... 8 Testdokumentasjon 1 Forord Denne rapporten omhandler testingen av systemet. Rapporten er først og fremst beregnet på sensor og intern veileder ved Høgskolen i Oslo, men kan gjerne leses av andre som måtte

Detaljer

- Velkommen til klart.no -

- Velkommen til klart.no - - brukermanual - - Velkommen til klart.no - Velkommen til klart.no Med klart.no får du rask og bedre dialog med kunden samt en mere effektig arbeidsprosess! Ved å benytte klart.no får din bedrift en unik

Detaljer

1 Inledning. 1.1 Presentasjon. Tittel Informasjonsplattform for NorgesGruppen. Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen

1 Inledning. 1.1 Presentasjon. Tittel Informasjonsplattform for NorgesGruppen. Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen Kravspesifikasjon 1 Inledning 1.1 Presentasjon Tittel Informasjonsplattform for NorgesGruppen Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen Periode 3. Januar 14. Juni Gruppemedlemmer

Detaljer

Gruppelogg for hovedprosjekt 2009

Gruppelogg for hovedprosjekt 2009 Gruppelogg for hovedprosjekt 2009 Før det endelige valget på prosjektet ble tatt brukte gruppen en del tid på å finne forskjellige muligheter for oppgaveemner. Det ble blant annet kontaktet Hafslund produksjon

Detaljer

Forprosjektrapport. Presentasjon. Oslo, den 29. Januar Gorm Eirik Svendsen Nicolai Mellbye Marius Auerdahl Per Gustav Løwenborg

Forprosjektrapport. Presentasjon. Oslo, den 29. Januar Gorm Eirik Svendsen Nicolai Mellbye Marius Auerdahl Per Gustav Løwenborg Forprosjektrapport Presentasjon Tittel Bakerman AS Website Oppgave Utvikle ett websted for Bakerman AS der hvor de kan promotere seg selv og kommunisere med kundene sine. Periode 4. Januar 2010 til 17.

Detaljer