hovedprosjekt - wordpress.com · brukere med matintoleranse. resultatet er ... html, css og sql....

167

Upload: others

Post on 18-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 2: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 3: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

HOVEDPROSJEKT

HOVEDPROSJEKTETS TITTEL

Matsans – matsiden for matintoleranse

DATO

29.mai 2009

ANTALL SIDER / BILAG

167/5

PROSJEKTDELTAKERE

Yin Deng (s111314)

INTERN VEILEDER

Ulf Uttersrud

OPPDRAGSGIVER

Matsans

KONTAKTPERSON

Ellen-Cecilie Evju

SAMMENDRAG

Oppgaven har gått ut på å lage en

brukervennlig kokebok på web tilrettelagt for

brukere med matintoleranse. Resultatet er

matsiden og nettstedet http://matsans.moo.no.

Matsans er utviklet ved hjelp av Microsoft ASP.NET, C#, HTML, CSS og SQL. Visual

Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005 ble brukt

som databaseverktøy.

Dette hovedprosjektet har blitt gjennomført av en enkeltmannsgruppe. Noe som har vært en

stor utfordring i seg selv. Til tross for gruppens størrelse, er det blitt utrettet svært mye arbeid

i prosjektet. Gruppen selv er meget godt fornøyd med både innsats og resultat.

3 STIKKORD

Kokebok

Matintoleranse

ASP.NET

Studieprogram: Dataingeniør Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo

Besøksadresse: Holbergs plass, Oslo

PROSJEKT NR.

2009 - 27

TILGJENGELIGHET

Åpen

Telefon: 22 45 32 00

Telefaks: 22 45 32 05

Page 4: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 5: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

Forord

Matsans er utført som et hovedprosjekt av gruppe 09-27 ved Høgskolen i Oslo, avdeling for ingeniørutdanningen, datalinjen. Denne prosjektrapporten inneholder all dokumentasjon som er produsert gjennom prosjektperioden. Kildekoden til prosjektet finner du på prosjekthjemmesiden: http://matsansen.moo.no eller http://matsans.wordpress.com. Siden med kildekoden er passordbeskyttet. Passordet er: m4ts4n5 Gruppen håper at prosjektarbeidet vil falle i smak hos leseren. God fornøyelse!

Page 6: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 7: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

Innholdsliste

I. Prosessdokumentasjon II. Kravspesifikasjon

III. Produktdokumentasjon IV. Testdokumentasjon V. Brukermanual

Page 8: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 9: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

1

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

Page 10: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

2

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

Page 11: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

3

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

Forord

Dette dokumentet beskriver arbeidsprosessen til et hovedprosjekt som fullføres våren 2009

ved Høgskolen i Oslo, avdeling for ingeniørutdanning - datalinjen. Dokumentet beskriver

hvilke forhold gruppa har arbeidet under, hvilke arbeidsmåter som ble valgt, hvilke

rammebetingelser som ble satt, hvilke verktøy som er blitt benyttet, hvilke utfordringer

gruppen har møtt, hvordan utfordringene ble møtt og hvilke løsninger gruppen kom fram til.

Med få ord handler dokumentet om gruppens arbeidskontekst.

Prosessdokumentasjonen er beregnet for sensor, veileder, oppdragsgiver og for andre som

er interesserte i å vite mer om prosjektets gang og gruppens erfaringer.

Det kan være nyttig å se dokumentet i sammenheng med kravspesifikasjonen, da den er

blitt hyppig brukt i prosjektarbeidet.

Ideen bak Matsans la vekt på å kunne jobbe med spennende teknologier på en måte som

var til hjelp for andre mennesker. En verdibasert innstilling som bygger kompetanse og

bidrar til et bedre samfunn. Dette virker litt svevende, men det er her skrevet for å pirre

leserens interesse for å lese videre. Gruppen er fornøyd med resultatet.

Gruppen ønsker å rette en stor takk til alle som har hjulpet og støttet gruppen gjennom

prosjektets levetid. Spesielt takk til:

Ulf Uttersrud, faglig veileder gjennom hovedprosjektet.

Ellen-Cecilie Evju, kontaktperson for Høgskolen i Oslo.

Gjermund Gartmann, kjæreste som har støttet og korrekturlest.

Oslo, 28.mai 2009

___________________

Yin Deng

Page 12: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

4

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

Innholdsfortegnelse

1. Innledning ....................................................................................................................................... 5

1.1 Om bedriften ................................................................................................................................. 5

1.2 Dagens situasjon ........................................................................................................................... 5

1.3 Mål ................................................................................................................................................ 5

1.4 Rammebetingelser ........................................................................................................................ 6

1.5 Begrensninger ............................................................................................................................... 6

1.6 Gruppen ........................................................................................................................................ 6

2. Planlegging og metode.................................................................................................................... 7

2.1 Hvordan prosjektarbeidet ble planlagt ......................................................................................... 7

2.2 Hvordan planleggingen fungerte i prosessen ............................................................................... 7

2.3 Verktøy .......................................................................................................................................... 8

2.4 Introduksjon til ASP.NET miljøet ................................................................................................... 9

2.5 Arbeidsmetode ............................................................................................................................. 9

2.6 Tilbakemelding ............................................................................................................................ 10

3. Om utviklingsprosessen ................................................................................................................ 11

3.1 Utviklingsfaser ............................................................................................................................. 11

3.2 Oppbygging og funksjon i programmet ...................................................................................... 14

3.3 Problemer og utfordringer .......................................................................................................... 14

4. Kravspesifikasjonen og dens rolle ................................................................................................. 15

4.1 Generelt ...................................................................................................................................... 15

4.2 Endringer fra første versjon ........................................................................................................ 15

4.3 Kravspesifikasjonens rolle under design og implementering ..................................................... 15

4.4 Samsvar mellom kravspesifikasjonen og sluttproduktet ............................................................ 15

5. Siste ord ........................................................................................................................................ 16

5.1 Eget utbytte ................................................................................................................................ 16

5.2 Oppsummering og konklusjon .................................................................................................... 16

5.3 Hva kunne bli gjort annerledes? ................................................................................................. 16

5.4 Produktet i fremtiden, bruk og nytte .......................................................................................... 17

5.5 Oppdragsgiver svar på produktet ............................................................................................... 17

5.6 Skal det snart tas i bruk/settes i produksjon? ............................................................................. 17

5.7 Skal prosjektet tjene andre sitt utgangspunkt for videre arbeid? .............................................. 17

6. Referanseliste ............................................................................................................................... 19

Page 13: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

5

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

1. Innledning

1.1 Om bedriften

Matsans er et prosjekt som er ledet av prosjektgruppen. Gruppen har ingen oppdragsgiver,

og anser derfor potensielle brukere som oppdragsgiveren. Prosjektet retter derfor fokus

mot hyppig brukerkontakt for å styre prosjektets utvikling i riktig retning. Et fremtidig mål

for bedriften er å bli et offentlig organ for matintoleranse.

Per dags dato finnes det ikke et offentlig organ for matintoleranse. Dette vil Matsans bli ved å samle tilgjengelig og relevant informasjon om matintoleranse, samt skape et nettsamfunn og kokebok som kan forenkle hverdagen for mennesker med matintoleranse. Visjonen til Matsans er:

Gleden og drivkraften bak vår utvikling er mennesket.

1.2 Dagens situasjon

Mat er hos noen assosiert med glede, sansebruk og positive opplevelser. Andre forbinder det med rutinepreg, kjedsomhet og negative opplevelser. En bevisstgjøring om hvordan man enkelt kan lage god mat, kan for noen snu de negative matopplevelsene til det positive. Mennesker med matintoleranse og matallergi opplever ofte begrensninger i utvalget, og trenger en tjeneste som forenkler tilgangen til matoppskrifter som ikke interagerer med deres matintoleranse. I dag finnes det også få og lite fokuserte samlingssteder med oppskrifter og relevant informasjon for mennesker med matintoleranse. Nettopp dette vil Matsans forandre på og tilby mennesker med matintoleranse den samme muligheten til å oppleve gode matopplevelser i hverdagen, som mennesker uten matintoleranse. Matsans vil tilby (1) gode matoppskrifter tilpasset brukernes matintoleranse, (2) et nettsamfunn, samt (3) fungere som en informasjonsportal om matintoleranse med hensikt i å gi bedre innsikt og forenkle hverdagen for mennesker med matintoleranse.

1.3 Mål

Målet med hovedprosjektet er å utvikle en nettbasert kokebok som tar hensyn til folk med

matintoleranse, samt å utvikle et nettsamfunn og bli en fungerende informasjonskanal for

matintoleranse.

Prosjektets målgruppe er alle som har tilgang til internett. I første omgang siktes det mot de

med matintoleranse, mens i andre omgang skal nettsiden bli likestilt eller bedre enn andre

fungerende matsider på internett. Over et lengre perspektiv vil det bli rettet økte krav til

brukervennlighet1, tilgjengelighet2 og universell utforming3.

1 http://www.jus.uio.no/ansatte/web/webredaksjonen/referater/2006/presentasjon-baarli-

120606/littomwebjus.ppt (27.05.09) 2 http://biblioteknett.no/dtb/webtilgjengelighet.html (27.05.09)

3 http://www.oppland.no/PageFiles/13708/AudMarieHauge.pdf

Page 14: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

6

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

Det henvises til kravspesifikasjonen for mer utfyllende informasjon om krav og mål.

1.4 Rammebetingelser

Gruppen stod fritt frem til å velge hvilken som helst teknologi så fremt løsningen

imøtekommer målene til prosjektet. Teknologien som ble valgt var Microsofts ASP.NET 2.0,

med bruk av Visual Studio 2005 som utviklingsverktøy. Dette ble valgt siden ASP.NET er en

av de mest aktuelle teknologiene for denne typen prosjekter, samt at utviklere med

kunnskap innen dette feltet er veldig ettertraktet på jobbmarkedet.

1.5 Begrensninger

Matsans har ikke kapasitet til å sette opp en egen permanent server for nettstedet, og må

derfor finne en alternativ løsning for å få Matsans på nett. Foreløpig ligger Matsans på en

privat datamaskin som fungerer som server. Men denne serveren er kun midlertidig oppe

når nettstedet er under utvikling og ellers ved andre behov. Uansett, så er Matsans å finne

på http://matsans.moo.no når serveren er oppe.

1.6 Gruppen

Gruppen består av kun én person. Grunnen til at gruppen

kun består av én person skyldes lange sykdomsperioder med

nedsatt arbeidsevne. Men sykdom stopper ikke viljestyrken

til å gjennomføre dette hovedprosjektet. Derfor ble denne

gruppen likevel dannet.

Gruppen har gode erfaringer fra samarbeid i tidligere fag,

blant annet i Systemutvikling. Gruppen kommuniserer også

meget godt internt og arbeider synkronisert.

Figur 1: Gruppemedlem Yin Deng

Page 15: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

7

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

2. Planlegging og metode

2.1 Hvordan prosjektarbeidet ble planlagt

Etter at gruppesammensetningen hadde funnet sted, var det på tide å finne et passende og

interessant prosjekt til gruppen. Prosjektet måtte være motiverende for gruppen og

samtidig relevant i arbeidslivet i dag.

I første omgang fant gruppen et hovedprosjekt som handlet om å lage en nettbasert

kokebok for sunne oppskrifter. Men etter en del tankearbeidet konkluderte gruppen med at

det ville kreve et høyt kunnskapsnivå om ernæring og kosthold for at resultatet av

prosjektet skulle oppfattes som troverdig for brukeren. Alternativet var å ha regelmessig

kontakt med en kostholds- og ernæringsekspert eller lege, noe som heller ikke var aktuelt

for gruppen grunnet de utgifter det måtte medføre. For øvrig var heller ikke fokuset i

oppgaven appellerende da det er nok andre nettsider rundt om med fokus på å være sunn

og slank. Men gruppen likte temaet for oppgaven, om å lage en matside. Derfor idemyldret

gruppen videre på dette for å lage en tvist på mat-temaet.

Denne tvisten endte med ideen om å lage en nettbasert kokebok for mennesker med

matintoleranse. Det skulle bli interessant for gruppen å sette seg inn i matintoleranse og det

var ikke like kunnskapskrevende som den forrige oppgaven. Dermed var det bare å sette i

gang prosjektet: Matsans – matsiden for matintoleranse.

Da prosjektet ble valgt, bestemte gruppen seg for å være grundige i planleggingsfasen.

Dette gjaldt spesielt kravspesifikasjonen, fordi en god kravspesifikasjon kan spare gruppen

for mye tid, ergrelser og ekstra jobb underveis i prosjektets levetid. Gjennom en solid

kravspesifikasjon ble grunnlaget dannet for en prosjektutviklingsprosess uten de store

nedturene. Slik at gruppen kunne få mer tid til å nå målene satt i kravspesifikasjonen og ha

fokus på å følge opp denne optimalt. Kravspesifikasjonen fungerte som en rettesnor under

hele utviklingsprosessen.

Arbeidsplan og fremdriftsplan ble også laget for å sette arbeidsoppgavene i et relativt

sannsynlig tidsperspektiv. Selv om gruppen ikke fikk noen tidsfrister av verken

oppdragsgiver eller veileder, ble det satt delmål og milepæler for arbeidet. Dette fordi

gruppen ønsket å se fremgang og resultater, i stedet for å la prosjektet drive seg utover over

det uendelige uten mål og mening.

2.2 Hvordan planleggingen fungerte i prosessen

I praksis hadde gruppen på forhånd beregnet god tid til planleggingsfasen. Men det tok mer

tid enn beregnet fordi hele prosjektet skulle lages fra blanke ark. Det betyr blant annet at

gruppen ikke hadde noen forkunnskaper om teknologien ASP.NET. Dermed ble det vanskelig

å vurdere hva gruppen måtte sette seg inn i underveis og hvor mye tid dette ville ta. Å sette

seg inn i en ny teknologi krevde mer fomling og tid enn gruppen forutså. Det at gruppen var

Page 16: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

8

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

såpass liten slo heller ikke positivt ut på læringskurven, da det med flere rundt bordet ville

være mulig å dele kunnskaper.

Innad i gruppen var det stor enighet i arbeidsmåte, krav og ønsker. Men det var vanskelig å

diskutere seg frem til nye vinkler til prosjektet etter det første utkastet. Dette skyldtes at

gruppen kun bestod av én person. En løsning på dette enmannsproblemet ble å foreta korte

og uformelle spørreundersøkelser hos potensielle brukere, for å få raske tilbakemeldinger

som igjen kunne brukes videre i ideskapingsprosessen. Det ble altså opprettet en form for

diskusjon med potensielle brukerne allerede fra en tidlig fase i prosjektets levetid, for å

styre og kvalitetssikre at prosjektet beveget seg i riktig retning. Denne datainnsamlingen ga

nye perspektiver og nytt materiale som prosjektet kunne drives videre av.

Et stort og uventet problem i planleggingsfasen var å innse egne begrensninger for å

begrense omfanget av prosjektet, slik at det blir innenfor rimelighetens rammer. Det er ikke

realistisk at en enkeltmannsgruppe kan gjennomføre et prosjekt med omfanget til en større

gruppe. Det er fristende å sette seg store og djerve mål og heller ikke galt i følge Økonomi og

ledelse, men det blir desto større fallhøyde den dagen karakteren skal settes. Store og djerve

mål tilhører et lengre tidsrom, mens på et halvt år er det viktig å innse sine begrensninger

tidligst mulig i prosjektfasen. Det hører med til teksten at når gruppen selv innså

begrensningene, så løsnet arbeidet betraktelig.

Selv om planleggingsfasen tok lengre tid enn beregnet, påvirket det lite for resten av

arbeidet som gjenstod. En godt planlagt kravspesifikasjon slo positivt ut, og lettet arbeidet

for resten av prosessen.

2.3 Verktøy

Følgende verktøy ble brukt underveis i prosjektet:

Firefox – nettleser

Microsoft Internet Explorer – nettleser

.NET Framework 2.0 – rammeverket som driver ASP.NET

.NET Framework Software Development Kit (SDK) – verktøy for å kjøre ASP.NET

Microsoft SQL Server 2005 – database

Microsoft SQL Server Management Studio Express – verktøy for databasen

Microsoft Visual Studio 2008 – utviklingsverktøy for teknologien ASP.NET

Microsoft Office Word – for dokumentasjon

Microsoft Office Excel – for skjemaer

Microsoft Office Visio – for datamodeller

Microsoft Windows XP – operativsystem

Adobe Photoshop – for design

Page 17: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

9

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

2.4 Introduksjon til ASP.NET miljøet

Gruppen hadde ingen tidligere erfaringer eller kunnskaper om ASP.NET. Derfor måtte

gruppen lære dette fra bunnen av under utviklingen av Matsans.

Det første gruppen måtte lære var bruken av de tre logiske lagene som vanligvis bygger opp

tradisjonelle distribuerte webapplikasjoner. Trelagsarkitekturen består av følgende lag:

Presentasjonslaget

Webapplikasjonssidene, brukergrensesnitt

Forretningslogikklaget

Objektorientert programmering, code-behind

Databaselaget

Databasen, lagrede prosedyrer og DB-grensesnitt

Presentasjonslaget er tilnærmet brukergrensesnittet, det vil si det laget som brukerne

interagerer med. Her fikk gruppen frisket opp kunnskaper om HTML og CSS, og lærte bruken

av ASP.NET kontrollere.

Forretningslogikklaget er hjernen bak trelagsarkitekturen. I dette laget blir interaksjonen

mellom program og bruker, hendelser i brukergrensesnittet og forespørsler programmert.

Gruppen lærte seg programmeringsspråket C# for å programmere dette laget i code-behind

sidene til ASP.NET-sidene.

Databaselaget rommer databasen til prosjektet. Her lærte gruppen å bruke

databaseteknologier som Microsoft SQL Server 2005 og SQL, standardspråket som utfører

operasjoner opp mot databasen.

Matsans ble for det meste programmert i Visual Studio 2008, et utviklingsverktøy som ga en

god og smidig introduksjon til ASP.NET-miljøet. I Visual Studio 2008 blir .NET-rammeverket

presentert oversiktlig og tilgjengelig. Mens C# programmeringen ble lettere å lære på grunn

av IntelliSense4 som verktøyet tilbyr. IntelliSense er automatisk forslagsvisning av

kodealternativer.

2.5 Arbeidsmetode

Som prosessmodell valgte gruppen å følge DSDM som står for Dynamic Systems

Development Method5, og er en prosessmodell basert på prinsippet om iterativ og

inkrementell utvikling.

Livsløpet på et DSDM prosjekt har 5 faser:

4 http://en.wikipedia.org/wiki/IntelliSense (28.05.09)

5

http://www.ifi.uzh.ch/rerg/fileadmin/downloads/teaching/seminars/seminar_ws0304/14_Voigt_DSMD_Ausarbeitung.pdf

Page 18: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

10

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

Figur 2: Utviklingsfasene i DSDM – tre pizzaer og en ost. Kilde: dpm.as

Mulighetsstudie (feasibility study):

En overordnet vurdering av ønsket funksjonalitet og løsningsmuligheter, samt grove

kostnads- og ressursestimater. Mulighetsstudiet varer normalt sett noen få uker.

Forretningsstudie (Business study):

Analyse av virksomheten og grunnlaget for videreføring av prosjektet. Overordnede

krav og modeller fastsettes. Forretningsstudiet varer normalt sett en måned.

Funksjonell iterasjonsmodell (Functional modell iteration):

Fokusere på å skape de forretningsmessige aspektene ved løsningen, dvs. å bygge på

overordnede krav til funksjonalitet og informasjonskrav. Her snakker vi om å lage et

system som stemmer overens med den funksjonaliteten som er påkrevd.

Design & bygg iterasjon (Design and build iteration):

Fokusere på å sikre at systemet tilfredsstiller den standard som kreves for at

systemet kan tas i bruk av sluttbrukerne.

Implementering (implementation):

Implementeringen omfatter overgangen fra utviklingsmiljøet til et operasjonelt

miljø.

Modellen beskriver overordnede prinsipper og inneholder en del fastsettelser av krav.

Bortsett fra dette, ga modellen et fritt spillerom overfor hvordan utviklingsarbeidet skulle

drives.

2.6 Tilbakemelding

Siden gruppen var sin egen sjef og ikke hadde noen oppdragsgiver, oppsøkte gruppen heller

kontakt med potensielle brukere av nettstedet for tilbakemeldinger. Gruppen fant ut at det

å vurdere brukerne som en oppdragsgiver er en god ide, da fornøyde brukere kan regnes

som et godt resultat. Denne brukerkontakten ble gjort regelmessig i snitt hver tredje uke,

hvor det ble gjort enkle og uformelle undersøkelser opp mot ulike brukergrupper.

Tilbakemeldingene har hele tiden gitt nye ledetråder overfor hvordan prosjektet kan

videreutvikles og forbedres.

Page 19: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

11

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

3. Om utviklingsprosessen

3.1 Utviklingsfaser

Under utviklingen av Matsans har gruppen gjennomgått flere faser. Fasene følger mer eller

mindre etter DSDM prosessmodellen:

- Innledende arbeid

- Forprosjektfasen

- Planleggingsfasen

- Lærefasen

- Implementasjonsfasen

- Dokumentasjonsfasen

3.1.1 Innledende arbeid

Gruppen ble dannet og gjorde seg klar for å starte hovedprosjektet:

- Prosjekthjemmeside (http://matsansen.moo.no eller http://matsans.wordpress.com)

Prosjektets hjemmeside ble satt opp klar til disposisjon. Den ble satt opp på en gratis

ekstern server fordi gruppen ikke hadde tilgang på skolens server.

- Prosjektdagbok

En dagbok ble satt opp på prosjekthjemmesiden for å notere gangen i arbeidet.

Dagboken var satt opp i form av en blogg (wordpress6), fordi det var den enkleste og

mest effektive måten å skrive nye dagbokinnlegg på som gruppen var kjent med.

- Veileder

Gruppen fikk tildelt en veileder og opprettet straks et samarbeid med denne

personen. Tildelt veileder for prosjektet ble Ulf Uttersrud.

3.1.2 Forprosjektfasen

I forprosjektfasen ble det vurdert hva og hvordan prosjektarbeidet skulle inndeles i faser, og

hvor lang tid det skulle settes av til hver fase.

- Prosjektskisse

Informasjon om arbeidsgiver, prosjektoppgave og gruppemedlemmet ble klargjort.

- Arbeidsplan

Arbeidsplanen viste hvilke forskjellige faser prosjektet skulle gå gjennom.

- Framdriftsplan

Med bakgrunn for arbeidsplanen, viste framdriftsplanen tidsmål for hver fase.

- Forprosjektrapport

Mål for prosjektet, rammebetingelser, alternativer, valg og løsninger ble redegjort.

6 http://wordpress.org/ (27.05.09)

Page 20: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

12

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

3.1.3 Planleggingsfasen

Planleggingsfasen bestod av mye arbeid med kravspesifikasjonen.

- Kravspesifikasjon

En svært detaljert førsteutgave av en kravspesifikasjon ble utviklet av gruppen før

noe som helst annet arbeid ble satt i gang. Det var først da gruppen kunne se for seg

hva prosjektet skulle bestå av og at programmeringsarbeidet kunne settes i gang.

3.1.4 Lærefasen

Ettersom ingen i gruppen hadde noen erfaringer med ASP.NET, ble det nødvendig med en

innlæringsperiode for denne teknologien. I denne perioden lærte gruppen om hva ASP.NET-

teknologien innebærer, installering av de nødvendige komponentene som måtte til for å

kjøre ASP.NET, og å bruke utviklingsverktøyet Visual Studio 2008. Da den første ”Hello

World” ASP.NET-siden var oppe, kan man si at gruppen var kommet i gang med

innlæringsperioden.

Videre tok gruppen et grunnkurs om ASP.NET i form av en videoserie på 14 deler7, som er

blitt lagt ut på Microsoft sine ASP.NET-sider. På denne måten fikk gruppen en

grunnleggende innføring og et godt utgangspunkt for videre læring.

Men før gruppen fikk med seg det grunnleggende innen ASP.NET fikk gruppen seg en

lærepenge. I starten søkte gruppen etter et læreprogram som skulle vise hvordan en kunne

lage nettstedet steg for steg. Som en slags spesifikk snarvei til å sette opp nettstedet. I

stedet ble det sløst en god del tid på å fomle etter et læreprogram som verken var tilpasset

ønskene for nettstedet eller særlig lærerik. For å få god kunnskap og stabile produkter som

tilfredsstiller kravspesifikasjonen og brukeren, må en alltid kjenne teknologien fra bunnen

av. Deretter kan man begynne å bygge produktet stein for stein. Uten grunnmuren vil alt

rase sammen før eller senere. Grunnmuren er absolutt nødvendig for å bygge den flotteste

bygning, produkt eller lærdom.

Underveis i utviklingen av prosjektet støtte gruppen stadig på nye utfordringer innen

ASP.NET-teknologien som gruppen måtte lære om. Det ble lært om alt fra bruken av

ASP.NET sine kontrollere, til å lære seg å programmere nye løsninger med C#.

Programmeringsspråket C# var også helt nytt for gruppen. Men heldigvis ligner C# svært

mye på programmeringsspråket Java som gruppen hadde lært seg i tidligere fag ved

høgskolen, noe som førte til at læringskurven til C# ble forholdsvis brå og enkel.

Lærdommen kom i form av internett, bøker og venner.

3.1.5 Implementasjonsfasen

Funksjonaliteten ble allerede spesifisert under planleggingsfasen. Men for å programmere

et nettsted trengte gruppen å undersøke hvordan man kan utvikle et brukervennlig

grensesnitts. Dette ble utviklet ved at gruppen designet flere modeller av nettstedet på

7 http://www.asp.net/learn/videos/ (28.05.09)

Page 21: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

13

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

papir. Deretter ble papirutgavene vurdert av forskjellige brukergrupper og veileder for å

finne en utgave som kom positivt ut med hensyn til brukernes behov og ønsker. Da dette ble

avgjort, var det bare å sette i gang med å programmere funksjonaliteten bak hver side av

nettstedet.

Programmeringen foregikk med hjelp av teknologiene HTML, CSS og C#. Mesteparten av

programmeringen foregikk på C# for ASP.NET. Det var også der de fleste utfordringene

dukket opp. Hver utfordring kunne ta fra en dag til flere uker å fikse. Tilgangen på

hjelpemidler varierte da kompetente venner ikke alltid var tilgjengelige, internett løste ikke

alltid problemet og tilbakemeldingene på diverse nettforumer ble opplevd som

utilstrekkelige.

Databasen ble utviklet etter hvert som det ble behov for nye tabeller, slik at ingen tabell ble

opprettet uten et behov som eksisterte på forhånd. Hver tabell ble grundig gjennomtenkt

før de ble opprettet siden det er vanskelig å gjøre endringer på en tabell i en database i

ettertid.

3.1.6 Dokumentasjonsfasen

Styringsdokumentene ble skrevet underveis i prosjektet samtidig som de ble utviklet.

Styringsdokumentene bestod av prosjektskisse, prosjektdagbok, forprosjektrapport,

arbeids- og fremdriftsplan, og kravspesifikasjon. Etter at mesteparten av prosjektet ble

ferdig utviklet, startet arbeidet med å ferdigstille sluttdokumentasjonen.

Sluttdokumentasjonen består av kravspesifikasjon, prosessdokumentasjon,

produktdokumentasjon, testdokumentasjon, brukerdokumentasjon og muntlig presentasjon

av prosjektet.

På grunn av mangel på oppdragsgiver ble det vanskelig å fastsette hvem som egentlig var

gruppens oppdragsgiver, hvilke tekniske spesifikasjoner og hvilke funksjonelle krav som

egentlig ble satt. Dette skal i realiteten utarbeides sammen med oppdragsgiver. Derfor ble

en ekstra del av prosjektarbeidet å utarbeide funksjonelle krav og rammer uten kontakt

med oppdragsgiver. Men som nevnt tidligere fant gruppen ut av at gruppens nærmeste

oppdragsgiver er de potensielle brukerne av sluttproduktet. Derfor måtte denne

dokumentasjonen utarbeides sammen med brukeren, noe som ledet til regelmessig

brukerkontakt for diskusjon. Hadde gruppen hatt en fast oppdragsgiver ville denne

informasjonen blitt servert på en mer forutsigbar og mindre krevende måte. Men for

gruppens del ga det selvtillit og nye erfaringer å måtte løse problemene på egenhånd.

Samtidig er det viktig å erfare hvor essensiell brukeren er under utviklingsprosessen for å

oppnå et produkt som vil bli tatt i bruk. Det kan anses som en form for verdibasert utvikling,

hvor brukerens verdier står i sentrum.

Page 22: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

14

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

3.2 Oppbygging og funksjon i programmet

Det ble valgt å implementere trelagsarkitekturen (beskrevet i pkt. 4.4), som består av:

Presentasjonslaget

Webapplikasjonssidene, brukergrensesnitt

Forretningslogikklaget

Objektorientert programmering, code-behind

Databaselaget

Databasen, lagrede prosedyrer og DB-grensesnitt

For mer detaljert beskrivelse av oppbygging og funksjoner henvises det til

produktdokumentasjonen.

3.3 Problemer og utfordringer

3.3.1 Testserver

Før utviklingen av Matsans kunne starte, måtte utviklingsmiljøet settes opp. Her lå første

utfordring som var å finne en server til å kjøre selve ASP.NET-plattformen. For denne

oppgaven ble det vurdert å sette opp enten en ISS-server eller en Cassini-server på

gruppemedlemmets datamaskin. Men gruppen fant ut at det var unødvendig å sette opp en

egen web-server, da utviklingsverktøyet Visual Studio 2005 har dette integrert. Denne web-

serveren var nok for å kunne teste og kjøre prosjektet inntil videre.

3.3.2 Oppdeling av arbeidsoppgaver

Da kravspesifikasjonen nærmet seg slutten, fikk gruppen et bedre overblikk over arbeidet

som måtte utføres. Men selv med et godt overblikk over arbeidet som måtte utføres, var

det vanskelig å angripe oppgavene. Selv om arbeidet pågikk så gikk det hele tregt og ble

opplevd som lite tilfredsstillende for gruppen. Og det var problematisk å forstå hvorfor

utviklingen ikke gikk framover. Etter hvert ble det forstått at oppgavene var for store å

jobbe med og arbeidet måtte stykkes ned i mindre fragmenter, slik at oppgavene ble mindre

omfattende og enklere å definere. Først da begynte arbeidet å gå etter planen.

3.3.3 Backup

En god huskeregel er å alltid ta backup av det man ikke ønsker å miste. Denne huskeregelen

kom i form av en lærepenge da det oppstod serverproblemer for prosjektsiden. Noe som

førte til at blant annet dagboken over en mindre periode gikk tapt. Heldigvis skjedde det

ingen hardwareproblemer som kunne ført til et større tap av viktig arbeid. Men gruppen

lærte av feilene og begynte å ta mer regelmessig backup, som ble lagret på forskjellige

fysiske lokasjoner. Det er fordel å være føre var med backup-rutinene når materiale med

høy viktighet kan gå tapt.

Page 23: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

15

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

4. Kravspesifikasjonen og dens rolle

4.1 Generelt

Kravspesifikasjonen ble et nøye planlagt dokument og verktøy som tok utgangspunkt i

gruppens og brukernes (les: oppdragsgiverens) ønsker og ideer til produkt. Dette produktet

gikk først og fremst ut på å skape en nettbasert kokebok som tar hensyn til matintoleranse.

4.2 Endringer fra første versjon

Under hele prosjektets levetid var kravspesifikasjonen under utvikling og påvirkning av de

ulike prosjektfasene og brukerne. I startfasen ble det funnet ut om de fleste grunnleggende

og nødvendige funksjonelle kravene til produktet. Underveis i prosjektet omtrent

proporsjonalt med gruppens kunnskap om ASP.NET-teknologien, fremsto det også nye ideer

rundt kravspesifikasjonen. Gruppens forståelse av teknologien økte, noe som ga gruppens

medlem et bredere perspektiv og evnen til å se flere muligheter enn før. Andre matsider på

internett ble studert og til sammen ga denne økte kunnskapen på ulike områder en

oppsving for utviklingsprosessen. Riktig nok har noen av punktene havnet under punktet

”Utvidelse” i kravspesifikasjonen, men det å kunne se muligheter framfor begrensninger

medfører inspirasjon og motivasjon til gruppen.

4.3 Kravspesifikasjonens rolle under design og implementering

Kravspesifikasjonen har hele tiden spilt en stor rolle for utviklingen av produktet. Gruppen

har brukt kravspesifikasjonen som oversikt og sjekkliste overfor funksjonalitet som skulle bli

implementert. Men en kravspesifikasjon gir sjelden svar på alt. For eksempel oppbyggingen

av funksjonene ble funnet ut underveis mens gruppen lærte om teknologien.

Kravspesifikasjonen tar sikte på å være spesifikk, men den er sjelden spesifikk nok. Når man

sitter der og programmerer dukker det alltid opp mindre tvilstilfeller overfor hvordan man

tror brukeren ønsker å oppleve funksjonaliteten. Det kan være alt fra hvor fokuset skal være

når man har trykket på en knapp til hvordan brukeren ønsker å få tilbakemeldinger.

4.4 Samsvar mellom kravspesifikasjonen og sluttproduktet

Kravspesifikasjonen samsvarer godt med sluttproduktet, hvor gruppen klarte å

implementere alle de grunnleggende funksjonene som det ble gjort krav på.

Page 24: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

16

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

5. Siste ord

5.1 Eget utbytte

Hovedprosjektet har vært svært lærerikt. For denne gruppen som består av kun én person,

lærte gruppen spesielt mye om å jobbe selvstendig og ansvarsfullt. På godt og vondt ble det

utviklet mye selvdisiplin. Det nytter ikke å sluntre unna eller skylde på at man har noen

dårlige dager, for her i gården er det ingen andre som vil fylle hullet dersom man prøver å

snike seg unna.

I stedet for å innta én arbeidsrolle, lærte gruppemedlemmet om alt i hele hovedprosjektet.

Det krever full oversikt og deltakelse på alle punkter i prosjektet. Dette er gull verdt når

erfaringene er gjort og prosjektet fullført, men innen den tid er det å være en

enkeltmannsgruppe en ganske ensom arbeidssituasjon.

Å lære seg teknologien ASP.NET innebærer kompetanse som gruppen vil ha stor glede av å

ta med seg videre. Det er en svært relevant teknologi med tanke på dagens arbeidsmarked.

Samtidig så er det en interessant teknologi å lære seg.

Det å lære seg en helt ny teknologi for et prosjekt utvikler også evnen for å tilpasse seg nye

arbeidsmiljøer. Neste gang blir det ikke like tøft, da ofte mye av funksjonaliteten og

virkemåten gjentar seg i forskjellige programmeringsspråk.

5.2 Oppsummering og konklusjon

En lærdom gruppen gjorde var at god planlegging ikke alltid er alfa og omega. Mangler

gruppen erfaring med det de skal gjøre, kan selv den beste planlegger feile. Så en konklusjon

ut av de erfaringene som ble høstet er at de forskjellige prosessene i prosjektets gang må

planlegges løst, mens milepælene må holdes fast på. Dermed blir det mest betydningsfulle

arbeidet man kan gjøre i forkant av et prosjekt, å sette opp hvilke milepæler prosjektet

består av på bakgrunn av den erfaringen gruppemedlemmene innehar ved prosjektets start.

5.3 Hva kunne bli gjort annerledes?

Selv om det ble mye utbytte av å jobbe alene på en gruppe, ville det vært bedre med flere

mennesker. Fordelene er mange, og det motsatte ble opplevd: å ha tilgang på andre

perspektiver, bedre arbeidsflyt ved å ha mulighet til å fortelle om sine problemer

umiddelbart istedenfor å la arbeidet stoppe opp inntil noen har svart på et forum, mer

diskusjon og idemyldring, inspirasjon og motivasjon. Økt kapasitet og mulighet til å

gjennomføre en oppgave med større omfang. Generelt sett er mennesket en positiv ressurs

som vil være verdifull å ha med seg ”på laget” i de aller fleste sammenhenger.

Arbeidsmengden ble egentlig for omfattende til den begrensede tiden som gruppen fikk på

dette prosjektet. Dette er fordi gruppen prøvde å jobbe og fullføre et prosjektarbeid for en

Page 25: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

17

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

gruppe på normalt fire personer. Dette er igjen noe gruppen har lært mye av, men

karaktermessig kan det trekke i begge retninger.

5.4 Produktet i fremtiden, bruk og nytte

Matsans skal være en nettbasert kokebok med oppskrifter tilrettelagt for mennesker med

matintoleranse. Derfor vil videre utvikling av nettstedet være preget av å tilrettelegge bedre

og se hvilke behov som fremkommer underveis i prosessen. For øyeblikket er det et behov

for de intolerante å ha tilgang på matoppskrifter, men når dette behovet mettes vil

behovene endres. Nettstedet vil la seg styre av brukernes endring av behov og er dermed

avhengig av regelmessig kontakt fra brukerne. Brukerstudier bør derfor i fremtiden

prioriteres høyt.

Allerede nå er Matsans på vei til å bli brukerstyrt. Brukerne kan legge til og kommentere på

oppskrifter. Det er også laget et forum for at brukerne skal kunne utveksle erfaringer og

oppnå kontakt med andre i samme situasjon. Fremtidig arbeid bør legge fokus på økt

brukerstyring og sosial navigasjon8 for å synliggjøre brukernes handlinger/bevegelser.

5.5 Oppdragsgiver svar på produktet

Brukere og potensielle brukere av produktet blir i dette prosjektet sett på som

oppdragsgiveren. Tilbakemeldinger fra brukerne med matintoleranse tilsier at de savner en

lettvint måte å finne fram til oppskrifter tilpasset deres matintoleranse. Det kommer også

fram at når Matsans blir tilgjengelig på nett, så har flere sagt at de ønsker å bruke

produktet. Det er et savn og behov som vil bli oppfylt for flere potensielle brukere når

Matsans sine tjenester blir tilgjengelige.

5.6 Skal det snart tas i bruk/settes i produksjon?

Eneste Matsans trenger for å tilgjengeliggjøre nettstedet for fullt på nett er en stabil server

og et domene.

5.7 Skal prosjektet tjene andre sitt utgangspunkt for videre arbeid?

Videre arbeid for Matsans handler om å sette fokus på å integrere seg i brukernes daglige

rutiner. Dette innebærer i første omgang tre områder: brukervennlighet, tilgjengelighet, og

å motivere brukeren til videre bruk av nettstedet.

Kravspesifikasjonen etterlot noen punkter som raskt vil føre til økt brukervennlighet, f.eks.

det å kunne lage utskriftvennlige sider og å kunne endre størrelsesforhold i ingrediensene

basert på hvor mange porsjoner man ønsker. Bedre tilgjengelighet kan oppnås med RSS og

muligheten til å få levert oppskriften på mobil, samt vil muligheten til å tipse andre om

oppskrifter være med på at enkelte oppskrifter oppnår en høyere oppslutning. Det siste

området som handler om å motivere brukeren til videre bruk av nettstedet, er en egenskap

8 http://www.jbi.hio.no/bibin/KoG31/Brukerskapt_web.pdf

Page 26: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

18

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

som preger brukerstyrte nettsamfunn. Utgangspunktet til Matsans for å oppnå dette kan

være blant annet å rangere oppskrifter etter hvor ofte de har blitt tipset om til venner, lage

en topp-liste over de brukerne som har publisert oppskrifter som har blitt tipset om flest

ganger, lage en oversikt over de oppskriftene som har blitt sist publisert slik at brukeren må

sjekke jevnlig, la brukeren kunne skape en profil som kan fremstå som interessant for andre

brukere, legge opp for at brukere skal enkelt kunne knytte kontakt med andre brukere, osv.

Videre arbeid for nettstedet handler som leser sikkert har forstått mer om ideologier enn

detaljer. Samtlige av de tre nevnte områdene har potensial til å gi brukeren en bedre

opplevelse, og det er det som er avgjørende for at et brukerstyrt nettsted skal utvikle seg

videre.

Page 27: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

19

PROSESSDOKUMENTASJON Matsans - matsiden for matintoleranse

6. Referanseliste

Torvatn, Ann-Mari (2007). Dokumentasjonsstandard. http://www.iu.hio.no/~ulfu/hovedprosjekt/dokumenter/dokumentasjonsstandard.pdf

http://student.iu.hio.no/hovedprosjekter/2004/data/04/docs/prosessrapport.pdf

http://student.iu.hio.no/hovedprosjekter/2006/data/28/linker/prosess.htm [25.03.2009] http://student.iu.hio.no/hovedprosjekter/2005/data/31/00_www/prosessrapport.php

[23.03.2009]

Page 28: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 29: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 30: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 31: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 32: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

2

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

Page 33: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

3

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

Forord

Kravspesifikasjon beskriver de krav som oppdragsgiver/bruker har til systemet som skal utvikles. Dette uttrykkes i et system med symbolikk som er felles for både oppdragsgiveren og utvikleren. Denne beskriver også krav til funksjonalitet og rammebetingelser. Hovedkravene om funksjonalitet er gitt av oppdragsgiver, mens hvordan noe spesifikt og best mulig skal løses, er utredet av prosjektgruppen gjennom et samarbeid med veileder og oppdragsgiver. Dette dokumentet fungerer som en rettesnor for utviklerne gjennom hele prosjektet. Dokumentet fungerer også som en kontrakt mellom oppdragsgiver og prosjektgruppen.

Figur 1, kilde: flickr.com

Page 34: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

4

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

Innholdsfortegnelse

1. Innledning ....................................................................................................................................... 5

1.1 Om prosjektet ............................................................................................................................... 5

1.2 Om bedriften ................................................................................................................................. 5

1.3 Bakgrunn for prosjektet ................................................................................................................ 5

2. Systemkrav ...................................................................................................................................... 6

2.1 Funksjonskrav ............................................................................................................................... 6

2.2 Tekniske krav ............................................................................................................................... 10

3. Rammekrav i systemet .................................................................................................................. 11

3.1 Tilgjengelighet ............................................................................................................................. 11

3.2 Sikring mot tap eller ødeleggelse av data ................................................................................... 11

3.3 Sikring mot tyveri eller misbruk av data ..................................................................................... 12

3.4 Kapasitet ..................................................................................................................................... 12

3.5 Fremtidig utvikling av systemet .................................................................................................. 12

3.6 Bruker og brukervennlighet ........................................................................................................ 12

4. Logisk datamodell ......................................................................................................................... 13

5. Utvidelse ....................................................................................................................................... 14

5.1 Funksjonskrav ............................................................................................................................. 14

5.2 Tekniske krav ............................................................................................................................... 15

6. Krav til dokumentasjon ................................................................................................................. 16

6.1 Dokumentasjon ........................................................................................................................... 16

6.2 Krav til kode ................................................................................................................................ 16

7. Dataordbok ................................................................................................................................... 17

8. Referanseliste ............................................................................................................................... 20

Page 35: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

5

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

1. Innledning

1.1 Om prosjektet

Prosjektet skal gjennomføres som hovedprosjekt ved ingeniørutdanningen på Høgskolen i Oslo. Oppgaven består av å utvikle en brukervennlig kokebok på web tilrettelagt for brukere med matintoleranse. Systemet vil bli utviklet i plattformen ASP.NET med tilhørende verktøy avhengig av hva som blir aktuelt underveis i prosjektet. Gruppens prosjektside ligger på http://matsansen.moo.no eller http://matsans.wordpress.com. Prosjektets sluttprodukt ligger på http://matsans.moo.no.

1.2 Om bedriften

Matsans er et prosjekt bestående av en enkeltmannsgruppe fra Høgskolen i Oslo. Forestilt fremtidsmål for prosjektets utvikling er å være et offentlig organ for matintoleranse. Per dags dato finnes det ingen offentlig organ for matintoleranse. Dette satser Matsans på å bli ved å samle tilgjengelig informasjon om matintoleranse, samt skape et nettsamfunn og kokebok med funksjonalitet som kan forenkle hverdagen for mennesker med matintoleranse. Visjonen til Matsans er:

Gleden og drivkraften bak vår utvikling er mennesket.

1.3 Bakgrunn for prosjektet

Mat er hos noen assosiert med glede, sansebruk og positive opplevelser. Andre forbinder det med rutinepreg, kjedsomhet og negative opplevelser. En bevisstgjøring om hvordan man enkelt kan lage god mat, kan for noen snu de negative matopplevelsene til det positive. Mennesker med matintoleranse og matallergi opplever ofte begrensninger i utvalget, og trenger en tjeneste som forenkler tilgangen til matoppskrifter som ikke interagerer med deres matintoleranse. I dag finnes det også få og lite fokuserte samlingssteder med oppskrifter og relevant informasjon for mennesker med matintoleranse. Nettopp dette vil Matsans forandre på og tilby mennesker med matintoleranse den samme muligheten til å oppleve gode matopplevelser i hverdagen, som mennesker uten matintoleranse. Matsans vil tilby (1) gode matoppskrifter tilpasset brukernes matintoleranse, (2) et nettsamfunn, samt (3) fungere som en informasjonsportal om matintoleranse med hensikt i å gi bedre innsikt og forenkle hverdagen for mennesker med matintoleranse.

Page 36: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

6

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

2. Systemkrav

2.1 Funksjonskrav

Funksjonskrav beskriver de funksjonelle kravene oppdragsgiver har, som gir utvikler anledning til å velge løsninger innenfor en definert sikkerhetsramme.

2.1.1 Brukerroller

Figur 2, kilde: drupalnorge.no

Brukerroller brukes til å justere sikkerheten og administreringen av nettstedet. En rolle beskriver en gruppe av brukere med bestemte privilegier definert under tillatelser. Systemet har hovedsakelig tre brukerroller som beskrives i de neste delkapitlene.

2.1.1.1 Bruker

Bruker er en besøkende person som har fått tilgang til nettstedet via internett.

2.1.1.2 Medlem

Medlem er en bruker som har opprettet et medlemskap til nettstedet for å få ekstra privilegier som en vanlig bruker ikke har. Privilegiene innebærer blant annet tilgang til mer innhold og funksjonalitet.

2.1.1.3 Administrasjon

Administrasjon er en administrator eller moderator av nettstedet. Denne brukerrollen utfører administrative oppgaver på nettstedet, og er som regel en driftsansvarlig eller ansatt person.

Page 37: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

7

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

2.1.2 Krav til oppskrifter

Det finnes to typer oppskrifter:

o Matsans oppskrift, som er oppskrifter sendt inn av administrasjonen.

o ”Folkets oppskrifter”, som er skrevet og sendt inn av en bruker.

Innsendte oppskrifter har et sett med krav som det utdypes om videre i teksten.

2.1.2.1 Matsans oppskrift informasjon

Hver Matsans oppskrift skal være oppført med id (autogenerert), bilde, tittel, beskrivelse, tid, vanskelighetsgrad, antall enheter, enhetstype, ingredienser, fremgangsmåte og kilde.

2.1.2.2 ”Folkets” oppskrift informasjon

Hver brukersendt oppskrift skal ha id (autogenerert), tittel, beskrivelse, tid, vanskelighetsgrad, antall enheter, enhetstype, ingredienser, fremgangsmåte, og innsendernavn. Bilde er ikke påkrevd.

2.1.2.3 Tilleggsinformasjon til hver oppskrift

Hver oppskrift skal i tillegg bli oppført med følgende kriterier for å støtte oppunder funksjonaliteten på nettstedet:

- Anledning (middag, tilbehør, dessert, drikke og bakst) - Matintoleranse (melk, egg, fisk, skalldyr, nøtter, belgfrukt, glutenholdige

kornslag og sitrus)

2.1.2.4 Kommentarer

Hver oppskrift kan kommenteres av medlem eller administrasjon. Kommentarene vil bli listet opp under hver enkelte oppskrift.

2.1.2.5 Sikkerhetskontroll

Oppskrifter må gjennom en sikkerhetskontroll og bli godkjent av administrasjonen før de blir tilgjengeliggjort på nett.

Figur 4: dietsinreview.com

Figur 3, kilde: flickr.com

Page 38: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

8

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

2.1.3 Krav til søkemotor

Det finnes to typer søk på nettstedet:

2.1.3.1 Søk etter stikkord

Ved søk etter stikkord skriver brukeren inn det stikkordet som det ønskes å søke på. For eksempel skriver brukeren ”kjøttboller” i søkefeltet listes det opp oppskrifter som inneholder ordet ”kjøttboller”.

Brukeren kan skrive inn flere stikkord om gangen og få fram oppskrifter som inkluderer alle stikkordene. For eksempel skriver brukeren ”biff sopp” i søkefeltet, listes det opp oppskrifter som inneholder både biff og sopp. Andre måter å skrive flere stikkord om gangen er med + (plusstegn) eller , (kommategn). For eksempel ”biff + sopp” eller ”biff, sopp” vil begge gi oppskrifter som både inneholder biff og sopp.

2.1.3.2 Valgalternativ søk

Bruker kan også navigere seg frem gjennom valgalternativer til ønsket oppskrift. For eksempel velger brukeren først alternativet ”Middag” og deretter ”Kjøtt”, blir søket innsnevret til de oppskriftene som tilhører kategorien middag og inneholder kjøtt. Følgende valgalternativer finnes: Fra venstremenyen: Matintoleranse: Melk, egg, fisk, skalldyr, nøtter, belgfrukt, kornslag, og sitrus. Inkluder eller ekskluder ”Folkets oppskrifter” alternativ. Fra underkategorien:

Kategori Underkategori

Middag Kjøtt, kylling, fisk og skalldyr, vilt, vegetar, pasta og ris, suppe, grill og annet.

Tilbehør Smårett, saus, marinade, dressing, kraft, og annet.

Dessert Frukt og bær, is og sorbét, fromasj og mousse, pudding og gele, krem og saus, og annet.

Drikke Smoothie og shake, kaffe og te, drink, varm drikke, og kald drikke.

Bakst Brød, gjærbakst, småbakst, røre, kake, og annet.

Figur 4, kilde: flickr.com

Page 39: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

9

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

2.1.4 Krav til administrativ funksjonalitet

Vanlig besøkende har tilgang til å lese oppskrifter, artikler og forum på nettstedet. De kan også søke etter oppskrifter. Mens medlemmer og administrasjon vil i tillegg ha tilgang til administrativ funksjonalitet.

2.1.4.1 Innlogging

Tilgang til administrativ funksjonalitet skjer via autentisering og autorisasjon. Autentisering skjer gjennom akkreditiver for å bevise hvem du er (brukernavn og passord). Autorisasjon blir gitt gjennom roller, hvor de ulike rollene blir tildelt et sett med privilegier.

2.1.4.2 Utlogging

Har du logget inn, skal det være mulig å logge seg ut via en knapp eller lenke.

2.1.4.3 Skrive kommentar

Medlem og administrasjon kan skrive kommentarer på alle oppskriftene.

2.1.4.4 Sende inn til ”Folkets oppskrifter”

Administrasjon og medlemmer kan sende inn oppskrifter til ”Folkets oppskrift” via et eget

skjema, forutsatt at innsender innfrir kravene til ”Folkets oppskrift”.

2.1.4.5 Sende inn til Matsans oppskrifter

Administrasjon kan sende inn oppskrifter til ”Matsans oppskrifter” via et eget skjema,

forutsatt at innsender innfrir kravene til ”Matsans oppskrift”.

2.1.4.6 Godkjenne oppskrifter

Administrasjonen skal godkjenne samtlige innsendte oppskrifter før de blir tilgjengeliggjort

på nettstedet. Først når oppskriften er godkjent, vil den bli synlig for andre brukere.

2.1.4.7 Slette oppskrifter

Administrasjonen kan slette en oppskrift til enhver tid om behov for dette skal oppstå. Som

regel skjer dette allerede ved administrasjonens godkjenning av oppskriften. Når oppskriften

ikke blir godkjent, vil den bli slettet.

2.1.4.8 Endre oppskrifter

Administrasjonen kan endre en oppskrift om det skal oppstå behov for dette. Som oftest vil

denne endringen skje allerede ved sikkerhetskontrollen når oppskriften må godkjennes av

administrasjonen for å bli publisert.

2.1.4.9 Registrere seg

En bruker kan registrere seg og bli medlem for å få tilgang til utvidet funksjonalitet og

privilegier.

Page 40: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

10

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

2.1.5 Krav til nettsamfunn

For å skape et nettsamfunn må det kunne diskuteres i et forum. Dette forumet skal helst være programmert fra bunnen av for å tilpasses resten av nettstedet best mulig, men det kan også være forhåndsimplementert eksternt.

2.1.5.1 Lese foruminnlegg

Alle kan lese foruminnlegg, hvis ikke det på forhånd er reservert til å vises for kun visse brukerroller.

2.1.5.2 Lage nytt forumemne

Administrasjon og medlem kan lage forumemner/tråder.

2.1.5.3 Skrive forumpost

Administrasjon og medlem kan skrive forumposter i forumemnene/trådene

2.1.5.4 Foruminnlegg

Et foruminnlegg består av enten et forumemne eller en forumpost. Hvert foruminnlegg består av en autogenerert id, tekst, forfatter og dato.

2.1.6 Andre krav

2.1.6.1 Dagen rett

”Dagens rett” velges automatisk fra oppskriftsdatabasen.

2.1.6.2 Tilfeldige retter

Automatisk utvalg av tilfeldige retter til nettstedets forside hentes fra oppskriftsdatabasen.

2.2 Tekniske krav

Utviklingsverktøy: Microsoft Visual Studio 2005.

Rammeverk: Microsoft.NET Compact Framework 2.0.

Operativsystem: Windows XP.

Utviklingsplattform: ASP.NET med C#.

Databasesystem: Microsoft SQL Server.

Page 41: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

11

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

3. Rammekrav i systemet

3.1 Tilgjengelighet

Internetts styrke er at det er universelt. Tilgjengelighet for alle er essensielt, uavhengig av funksjonshemning. – Tim Berners Lee, oppfinner av World Wide Web.1 Design og virkemåte skal følge retningslinjene for universell utforming. Universell utforming vil si fysisk utforming som gjør at nettstedet kan brukes av alle mennesker, i så stor utstrekning som mulig, uten behov for ytterligere individuell tilpassing. Nettstedet skal bli utformet med utgangspunkt i at alle kan bruke det, uavhengig av funksjonsnivå. Retningslinjene som skal tas hensyn til er fra Web Accessibility Initiative (WAI) ved World Wide Web Consortium (W3C) som er en standard for tilgjengelighet. WAI-retningslinjene er å finne på http://www.w3.org/wai.

Nettstedet vil ta hensyn til følgende hovedprinsipper tatt fra WAI:

Lyd og visuelt innhold - Inkluder alternativer til lyd og visuelt innhold. (Bildetekst)

Farger – Ikke gjør sidene avhengig av farge.

HTML og stilark – Bruk HTML-markering og stilark, og bruk dette korrekt.

Språk – Spesifiser språk og språkbruk.

Tabeller – Lag tabeller som kan transformeres stilfullt.

Flimring/blinking – Aldri flimring eller blinking med frekvenser på 4 – 59 blink i

sekundet.

Navigering – Lag sider som er maskinvareuavhengige. Bruk av både mus og tastatur.

W3C-teknologi – Bruk W3C-teknologi og følg retningslinjene.

Navigasjonsmekanismer – Ha klare navigasjonsmekanismer.

Språk – Sørg for at språket i dokumentene er tydelig og lettfattelig.

3.2 Sikring mot tap eller ødeleggelse av data

Data kan bli tapt eller ødelagt ved hendelser som virus, hacking eller ved fysisk ødeleggelse av datamaskinen.

For å sikre konfidensialitet vil prosjektet ta i bruk brukerkontoer for tilgang.

Sikkerhetskopier vil bli tatt for å sikre mot tap av data.

Datamaskiner med prosjektet skal være beskyttet med brannmur og virusbeskyttelse for sikring mot ødeleggelse av data.

1 www.helsedirektoratet.no/vp/multimedia/archive/00002/InternettForAlle-v2_o_2064a.pdf

Page 42: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

12

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

3.3 Sikring mot tyveri eller misbruk av data

Data kan bli stjålet eller misbrukt. Dette skal bli hindret ved:

Å ta hensyn til personvern slik at data ikke blir misbrukt. For eksempel ved hjelp av kryptert data.

Autentisering. Prosjektet skal sikres gjennom autentifisering av brukerne som forsøker å få aksess, dvs. gjennom brukerkontoer med tilhørende brukernavn og passord.

3.4 Kapasitet

3.4.1 Datakapasitet

Kapasiteten på databasen blir kun begrenset av lagringskapasiteten på den enkelte maskin som prosjektet kjøres på. Databasen kommer til å få en konstant vekst når nettstedet blir offisielt, spesielt kommer tabellen Oppskrifter til å vokse.

3.4.2 Brukerkapasitet

Nettstedet skal være på en server som klarer å håndtere opptil 1000 brukere samtidig. Det vil starte i det små og forhåpentligvis vokse når flere oppdager nettstedet. For å vite hva serveren tåler, vil det være en konstant oppfølging av statistikker tilknyttet nettstedet.

3.5 Fremtidig utvikling av systemet

Prosjektet skal lages og dokumenteres på en slik måte at det senere er tilrettelagt og

klargjort for videreutvikling.

3.6 Bruker og brukervennlighet

Prosjektet skal være til bruk for alle som har internettaksess og besøker nettstedet.

Webdesignet skal oppnå en høy grad av brukbarhet når innholdet presenteres, samtidig

som det er i tråd med gruppens visuelle profil og tilfredsstiller de kravene som er satt i

forhold til tilgjengelighet.

Page 43: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

13

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

4. Logisk datamodell

Et UML diagram vist gjennom de forskjellige brukernivåene fra prosjektet.

Figur 5: Logisk datamodell

Page 44: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

14

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

5. Utvidelse

Prosjektet har stort potensial for videreutvikling.

5.1 Funksjonskrav

Følgende funksjonskrav presenteres som forslag til videre utvidelse av systemet.

5.1.1 Krav til oppskrifter

Bruker vil ha mulighet til å endre antall porsjoner/enheter, og se mengde på ingredienser tilpasset dette.

Hver oppskrift kan oppleves i RSS.

Hver oppskrift kan oppleves i utskriftsvennlige sider.

Bruker kan tipse venner om oppskrifter.

Medlem har mulighet til å samle oppskrifter i en egen kokebok tilknyttet medlemmets profil.

Medlem kan laste opp og oppdatere bilde på oppskrifter.

Medlem kan endre skriftstørrelsen på oppskrifter.

Medlem kan velge ”Legge ut oppskrift på profil i Facebook”.

5.1.2 Krav til søkemotor

Søk i oppskriftene basert på næringsstoffbehov.

Eksempel på næringsstoffer: Karbohydrat, protein, umettet fett, mettet fett osv.

Søk i oppskriftene basert på kostholdsgruppe.

Eksempel på kostholdsgruppe: Gravide, ammende, overvektige og fedme,

undervektige, vegetarianere, idrettsutøvere og studenter.

Eksempel på søk: En idrettsutøver ønsker seg en oppskrift tilpasset valgte kategori.

Søket vil returnere oppskrifter som har ekstra protein og lav fettprosent.

Legge til ”Søk med Matsans” i Firefox sin søkefunksjon.

Å finne alle oppskrifter som inneholder to eller flere ord som er søkt på som stikkord.

Bedre feilhåndtering ved søk.

Å søke oppskrifter sammen med valgt matintoleranse.

Å kunne sortere søkeresultater på valgte kriterier, for eksempel etter stikkord som

vises i tittel, eller basert på tid.

5.1.3 Krav til administrativ applikasjon

Medlem kan opprette og vedlikeholde sin egen matblogg.

Medlem kan tilpasse nettstedet i webparts, tema og stil som de ønsker å se når de er

innlogget.

Medlem har en egen kokebok med samlede oppskrifter fra nettstedet.

Moderator skal trykke på en ”Er du sikker på at du vil slette oppskrift?” advarsel når

de trykker på ”Slett knappen”.

Vise matintoleranse på ”Sjekk oppskrift” siden, og ikke bare på ”Endre oppskrift”

siden.

Page 45: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

15

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

5.1.4 Krav til nettsamfunn

Medlem kan endre og slette sitt foruminnlegg.

Administrator kan endre og slette foruminnlegg.

Bruker kan søke blant foruminnlegg.

Mulighet til å sette på og av en forumtråd til toppen av forumoversikten. I

oppegående forumer per i dag kalles dette for en ”sticky tråd”2.

5.1.5 Andre krav

Motta nyhetsbrev.

Ti-på-topp liste for mest sette, best likte og mest anbefalte oppskrifter.

Tett-på-nett funksjonalitet for besøk av ernærings- og andre lignende eksperter som

kan svare på brukernes innsendte spørsmål.

5.2 Tekniske krav

Implementering av mobiltjeneste for å sende oppskrifter til mobilen.

Bruk av Microsoft Server for større databaser.

Registrering av domene http://www.matsans.no.

Lagring av Matsans på en bra server.

Figur 6, kilde: dot.state.mn.us

2 http://en.wikipedia.org/wiki/Bump_(Internet)#Sticky_threads (28.05.09)

Page 46: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

16

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

6. Krav til dokumentasjon

6.1 Dokumentasjon

Dokumentasjon som genereres fra prosjektet og arbeidsprosessene skal mer eller mindre følge skolens dokumentasjonsstandard3. Det skal i løpet av prosjektperioden føres dagbok over hva som blir gjort, utfordringer og løsninger, det ferdige prosjektet skal dokumenteres gjennom følgende kategorier. Styringsdokumenter:

Prosjektskisse

Prosjektdagbok

Forprosjektrapport

Arbeidsplan og fremdriftsplan

Overordnet kravspesifikasjon Sluttdokumentasjon:

Prosessrapport

Produktdokumentasjon

Testrapport

Kravspesifikasjon

Brukerdokumentasjon (for ansatte og opplæring)

6.2 Krav til kode

Bruk av ASP.NET kontroller (Label, TextBox osv.), metoder og variabler, skal ha naturlige navn i forhold til den konteksten de har. For eksempel en tekstboks med input for navn må kalles ”navnTextBox”.

Kodefilene skal kommenteres i henhold til C# XML standard som det er støtte for i C# kompilatoren.

Figur 7, kilde: thecontentwrangler.com

3 http://www.iu.hio.no/~ulfu/hovedprosjekt/dokumenter/dokumentasjonsstandard.pdf

Page 47: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

17

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

7. Dataordbok

Ressurs: http://dataleksikon.idg.no/

.NET

1) '/dått nett/ En forretningsstrategi og en utviklingsplattform fra

Microsoft bestående av et sett med programapplikasjoner,

programmeringsverktøy og ulike tjenester for å bygge det Microsoft

kaller neste generasjon XML-baserte Web-tjenester (Web Services) og andre

programvareapplikasjoner. .Net gjør det mulig for programvareutviklere å lage applikasjoner både

for Windows og Web, samt komponenter og XML-baserte Web-tjenester. Det er mulig å lage .Net-

kompatible applikasjoner i flere ulike objekt-orienterte programmeringsspråk, for eksempel C# (c

'sharp'). Se J2EE, XML, SOAP, UDDI, C#.2) Toppnivådomene (i likhet med f.eks. .no og .com), som

brukes i Internetts domenesystem (DNS -- Domain Name System).

ASP.NET

Active Server Pages-teknologi for .NET-rammeverket, og et sett med teknologier for Web-utvikling,

markedsført av Microsoft. Programmere kan bruke ASP.NET til å bygge dynamiske Web-sider, -

applikasjoner og XML-Web-tjenester.

C#

/si sharp/ Et komponent-orientert programmeringsspråk i C/C++-familien, introdusert av Microsoft

som en del av selskapets .Net-strategi, for bygging av applikasjoner som tar i bruk Web-tjenester.

CSS

Cascading Style Sheet. En standard utviklet av World Wide Web Consortitum (W3C), som ved hjelp

av såkalte stilark gjør det mulig å definere hvordan en Web-side skal se ut. Et stilark i CSS forteller

hvordan ulike elementer på Web-siden skal se ut, for eksempel skrifttyper, overskrifter, osv. Stilarket

kan tilordnes en hvilken som helst Web-side. "Cascading" betyr at det er mulig å tilordne mer enn ett

stilark til én Web-side. En stor fordel ved å bruke CSS er at Web-designeren kan endre utseendet på

et stort antall Web-sider samtidig ved å kun endre ett stilark (for eksempel endre skriftstørrelsen

eller -fargen til alle overskrifter på Web-siden). Det finnes ulike versjoner av CSS-standarden,

definert av W3C: CSS1 og CSS2. Sistnevnte bygger på CSS1, og er bakoverkompatibel med CSS1. Du

finner informasjon om CSS på www.w3c.org.

Database

1) En samling data strukturert og organisert på en slik måte at det er enkelt å hente ut de dataene

man ønsker. En database består av to elementer; poster og felter. En post kan være f.eks. all

informasjon som er registrert om en person, mens et felt kan være f.eks. telefonnummeret til

personen. Dersom en d. har flere registre (f.eks. et poststedsregister og et kunderegister) kalles den

gjerne for en relasjonsdatabase. Det er da definert visse relasjoner mellom postene i de forskjellige

registrene. Man prøver i en relasjonsdatabase å oppnå at feltverdier bare er lagret på ett sted i

databasen, noe som reduserer behovet for lagringsplass og øker hastigheten.

Figur 8, kilde: dataleksikon.idg.no

Page 48: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

18

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

Domene

eng. domain. 1) Innen kommunikasjon, alle ressurser underlagt kontroll av ett enkelt datasystem. I

et lokalnettverk (LAN) er et d. et "undernettverk" bestående av en gruppe klienter og tjenere,

underlagt kontroll av en sikkerhetsdatabase. Oppdeling av lokalnettverk i d. øker både ytelse og

sikkerhet. 2) Innen databasebehandling, alle mulige verdier som et bestemt felt i databasen

inneholder, for alle poster i hele databasen. 3) I et hierarki, en navngitt gruppe som har kontroll over

alle grupper under seg (disse undergruppene kan igjen være d.). 4) Et navn som identifiserer en

organisasjon eller lignende på Internett. F.eks. er adressen www.pcworld.no et domenenavn hvor

"no" er det såkalte toppnivådomenet som identifiserer at Web-tjeneren befinner seg i Norge,

"pcworld" er domenet registrert av PC World Norge, mens "www" identifiserer en bestemt tjener

under pcworld-domenet. Domenenavnet er knyttet til en IP-adresse, som lokaliseres ved hjelp av en

DNS-tjener. Domenenavn gjør det lettere å huske adressene til ulike tjenester på Internett. Se

domene-navn.

HTML

Hypertext Markup Language. Navnet på språket som benyttes for å lage dokumenter på World Wide

Web. Det aller meste vi ser av Web-sider når vi surfer på Internett er laget i HTML. HTML er et

standardisert språk basert på SGML, og HTML-baserte dokumenter kan opprettes og redigeres med

en rekke ulike verktøy – alt fra en enkel teksteditor (f.eks. Notepad/WordPad i Windows) til

avanserte WYSIWYG redigeringsverktøy som f.eks. Microsoft Frontpage og Macromedia

Dreamweaver. HTML benytter "tags" som f.eks.

og

for å strukturere tekst i overskrifter, avsnitt, lister og tabeller, hypertekst-linker, osv. HTML 4.0 er i skrivende stund (2006) den siste versjonen av HTML, og støtter en rekke nye funksjoner som bl.a. tabeller og formularer, skripting, multimedia, bedre støtte for internasjonale tegnsett og visning av tekst, samt støtte for såkalte "style sheets". Sistnevnte er en svært viktig nyhet som lar Web-designeren definere et sett med stiler som beskriver en Web-sides layout, farger, skrifttyper, osv., uten å måtte kode dette manuelt for hver eneste nye Web-side som lages. Se PHP, XML, HTTP. Nettverkstjener

eng. server. Kalles også tjener, tjenestemaskin. Hovedmaskinen i et nettverk av flere datamaskiner

(klienter). Dedikerte nettverkstjenere kan utføre oppgaver på vegne av klientene, mens ikke-

dedikerte nettverkstjenere i tillegg kan fordele oppgaver mellom dem. Blant de oppgaver som

utføres av en nettverkstjener er sikkerhetskopiering, tyngre beregningsoppgaver og adgangskontroll

(til nettverket). Nettverkstjeneren er gjerne utstyrt med en kraftig CPU, og det er i dag vanlig at den

også har betydelig lagringskapasitet. Klienter kan aksessere nettverkstjeneren og hente ut, legge inn

eller endre informasjon som ligger lagret der. En nettverkstjener kan enten være en kraftig PC eller

en mellom- eller stormaskin og kan -- i større nettverk -- være koblet opp mot andre

nettverkstjenere, mellom- eller stormaskiner. Det finnes flere typer nettverkstjenere, inkludert fil- og

utskriftstjenere, applikasjonstjenere, e-posttjenere, databasetjenere og Web-tjenere.

Server

Se nettverkstjener.

Page 49: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

19

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

Stilark

eng. style sheet. Et stilark definerer hvordan et dokument skal se ut, som for eksempel skrifttype, -

størrelse og -farge, samt layout'en til ulike deler av en side. Dette inkluderer blant annet plassering

av rammer, mellomrom, linjeavstand, osv. Betegnelsen stilark kommer fra grafisk bransje, og brukes

nå også innenfor Web-design. Se CSS.

SQL

/sikvel/ eller /ess-ku-ell/ Structured Query Language. Standard språk for å søke/hente informasjon

fra en database, gjerne lagret sentralt på en databasetjener. Den originale versjonen ble utviklet av

IBM i 1974-75, og SQL ble først introdusert kommersielt i 1979 av Oracle.

UML

Se Unified Modeling Language.

Unified Modeling Language

fork. UML. Et språk som brukes for å spesifisere, visualisere, konstruere og dokumentere

programvaresystemer. UML skal forenkle programdesignprosessen. Språket ble utviklet av Ivar

Jacobson, Grady Booch og Jim Rumbaugh hos Rational Software, og er nå en akseptert standard fra

OMG (Object Management Group).

URL

Uniform Resource Locator. Betegnelsen på måten dokumenter og andre ressurser på Internett

adresseres. F.eks. en hjemmeside på Internett adresseres på følgende måte:

Http://www.lekanger.no. Denne URLen består av prefikset http:// som betyr at adressen er til en

side på en World Wide Web-tjener, mens lekanger.no er domene-navnet til Web-tjeneren. Etter

dette kan det evt. komme katalognavn og filnavn. Andre typer URLer kan begynne på f.eks. file:// (en

fil som ligger lagret lokalt), ftp:// (FTP-tjener), osv. – avhengig av hva slags ressurs du ønsker tilgang

til.

Web-tjenester

eng. Web Services. Web-tjenester baserer seg på teknologier som bl.a. XML og SOAP, og gjør det

mulig å lage modulære programapplikasjoner som kan lokaliseres og kjøres fra hvor som helst via

Internett. En programapplikasjon kan altså via Internett koble seg opp mot en Web-tjeneste, f.eks.

en tjeneste som utfører prosessering av kredittkorttransaksjoner, gir informasjon om aksjekurser

eller flyruter, osv. Det er også mulig for Web-tjenester å "snakke med" andre Web-tjenester, og få til

sømløs integrasjon mellom programapplikasjoner internt i bedriften, eller hos kunder og eksterne

partnere. Dataene som overføres til/fra Web-tjenesten er i XML-format, og SOAP-protokollen er en

metode for overføring av dises dataene via standard Web-protokoller som TCP/IP. Funksjonene som

tilbys av en bestemt Web-tjeneste beskrives ved hjelp av Web Services Description Language

(WSDL). Lokalisering av en Web-tjeneste kan skje via UDDI -- Universal Discovery, Description and

Integration. UDDI er en slags katalogtjeneste hvor alle de ulike Web-tjenestene som er tilgjengelig er

beskrevet, inkludert hvor disse Web-tjenesten finnes. Se SOA, XML, UDDI, SOAP, WSDL, .Net og J2EE.

Page 50: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

20

KRAVSPESIFIKASJON Matsans - matsiden for matintoleranse

8. Referanseliste

Torvatn, Ann-Mari (2007). Dokumentasjonsstandard. http://www.iu.hio.no/~ulfu/hovedprosjekt/dokumenter/dokumentasjonsstandard.pdf

http://student.iu.hio.no/hovedprosjekter/2005/data/31/00_www/kravspekk.php

[22.03.2009] http://student.iu.hio.no/hovedprosjekter/2006/data/28/linker/kravspek.htm [21.03.2009]

Page 51: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 52: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 53: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 54: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 55: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 56: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

2

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Page 57: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

3

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Forord

Dette dokumentet er produktdokumentasjonen til Matsans. Den skal gi informasjon om

installasjon, drift og feilsøking. Den skal også beskrive programmets oppbygging, virkemåte

og funksjonalitet.

Produktdokumentasjonen er beregnet for de datakyndige som skal installere, konfigurere,

vedlikeholde og drifte systemet. Dokumentasjonen kan også være nyttig for dem som skal

markedsføre systemet eller drive brukerstøtte.

Dokumentets innhold vil gi mest utbytte for de leserne som har kompetanse innenfor .NET-

miljøet, men det vil også være nyttig for de med kun en generell forståelse for

datateknologi.

Figur 1, kilde: rockritic.ro

Page 58: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

4

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Innholdsfortegnelse

1. Bakgrunn ......................................................................................................................................... 6

1.1 Beskrivelse av produktet ............................................................................................................... 6

1.2 Bakgrunn for produktet ................................................................................................................ 6

1.3 Samsvar mellom kravspesifikasjon og produkt............................................................................. 6

2. Teknologier ..................................................................................................................................... 7

2.1 Rammebetingelser ........................................................................................................................ 7

2.2 Utviklingsmiljø ............................................................................................................................... 7

2.3 Nettlesere ..................................................................................................................................... 7

2.4 Beskrivelse av teknologier ............................................................................................................ 8

2.4.1 ASP.NET .................................................................................................................................. 8

2.4.2 C# ........................................................................................................................................... 8

2.4.3 CSS .......................................................................................................................................... 8

2.4.4 HTML ...................................................................................................................................... 8

2.4.5 Microsoft SQL Server ............................................................................................................. 8

2.4.6 SQL ......................................................................................................................................... 8

3. Installasjon ...................................................................................................................................... 9

3.1 Windows XP .................................................................................................................................. 9

3.2 Installasjon av Visual Studio 2008, SQL Server og .NET Framework ............................................. 9

3.3 Installasjon av IIS og ASP.NET ....................................................................................................... 9

4. Datastrukturer og oppbygning ...................................................................................................... 11

4.1 Arkitektur .................................................................................................................................... 11

4.2 Databasen ................................................................................................................................... 11

4.2.1 ASP.NET Membership .......................................................................................................... 12

4.2.2 Bilde ..................................................................................................................................... 13

4.2.3 Forum ................................................................................................................................... 13

4.2.4 ForumEmne .......................................................................................................................... 13

4.2.5 ForumPost ............................................................................................................................ 14

4.2.6 Kategori ................................................................................................................................ 14

4.2.7 Kommentar .......................................................................................................................... 14

4.2.8 Matintoleranse ..................................................................................................................... 15

4.2.9 Oppskrifter ........................................................................................................................... 15

4.2.10 Underkategori .................................................................................................................... 16

4.3 Masterpage og ContentPageHolder ........................................................................................... 16

Page 59: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

5

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.3.1 Masterpage.master .............................................................................................................. 16

4.4 Filstruktur innen .NET *.aspx og *.aspx.cs filer ........................................................................... 17

4.4.1 Artikler ................................................................................................................................. 17

4.4.2 Default .................................................................................................................................. 19

4.4.3 EndreOppskrift ..................................................................................................................... 21

4.4.4 Forum ................................................................................................................................... 23

4.4.5 ForumEmne .......................................................................................................................... 24

4.4.6 ForumEmneListe .................................................................................................................. 26

4.4.7 Innlogging ............................................................................................................................. 27

4.4.8 NyBruker .............................................................................................................................. 29

4.4.9 NyOppskrift .......................................................................................................................... 30

4.4.10 NyttEmne ........................................................................................................................... 32

4.4.11 NyttForum .......................................................................................................................... 33

4.4.12 Om ...................................................................................................................................... 35

4.4.13 Oppskrift ............................................................................................................................ 36

4.4.14 Oppskrifter ......................................................................................................................... 39

4.4.15 SendNyOppskrift ................................................................................................................ 43

4.4.16 SjekkOppskrift .................................................................................................................... 45

4.4.17 Soek .................................................................................................................................... 47

4.4.18 Usett ................................................................................................................................... 49

4.5 Konfigurasjonsfilen web.config ................................................................................................... 51

4.6 Mapper og deres filer.................................................................................................................. 52

4.6.1 App_Code mappen .............................................................................................................. 52

4.6.2 App_Data mappen ............................................................................................................... 52

4.6.3 App_Themes mappen og stilark .......................................................................................... 52

4.6.4 Bin mappen .......................................................................................................................... 53

4.6.5 FreeTextBox mappen ........................................................................................................... 53

4.6.6 Images mappen .................................................................................................................... 53

4.6.7 UserControl mappen ............................................................................................................ 53

4.7 Favicon.ico .................................................................................................................................. 54

5. Oppsummering ............................................................................................................................. 55

6. Referanseliste ............................................................................................................................... 56

7. Vedlegg: Eksempel på kildekode i aspx.cs fil ................................................................................ 57

7.1 Oppskrift.aspx.cs ......................................................................................................................... 57

Page 60: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

6

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

1. Bakgrunn

1.1 Beskrivelse av produktet

Matsans er et nettsted designet i form av en kokebok med oppskrifter tilpasset mennesker med matintoleranse. Nettstedet inneholder også lenker til informasjon om matintoleranse og et forum for å utveksle erfaringer og kunnskap. På sikt ønsker Matsans å bli et offentlig organ for matintoleranse som inkluderer et brukerdrevet nettsamfunn.

1.2 Bakgrunn for produktet

Mat er hos noen assosiert med glede, sansebruk og positive opplevelser. Andre forbinder det med rutinepreg, kjedsomhet og negative opplevelser. En bevisstgjøring om hvordan man enkelt kan lage god mat, kan for noen snu de negative matopplevelsene til det positive. Mennesker med matintoleranse og matallergi opplever ofte begrensninger i utvalget, og trenger en tjeneste som forenkler tilgangen til matoppskrifter som ikke interagerer med deres matintoleranse. I dag finnes det også få og lite fokuserte samlingssteder med oppskrifter og relevant informasjon for mennesker med matintoleranse. Nettopp dette vil Matsans forandre på og tilby mennesker med matintoleranse den samme muligheten til å oppleve gode matopplevelser i hverdagen, som mennesker uten matintoleranse. Matsans vil tilby (1) gode matoppskrifter tilpasset brukernes matintoleranse, (2) et nettsamfunn, samt (3) fungere som en informasjonsportal om matintoleranse med hensikt i å gi bedre innsikt og forenkle hverdagen for mennesker med matintoleranse.

1.3 Samsvar mellom kravspesifikasjon og produkt

Produktet har blitt bygget opp med tett oppfølging av kravspesifikasjonen. Alle arbeidsoppgaver har blitt opprettet med bakgrunn i de funksjonelle kravene utarbeidet i kravspesifikasjonen. Kravspesifikasjonen har fungert som en veiviser og rettesnor for utviklingen gjennom hele produktutviklingsprosessen.

Page 61: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

7

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

2. Teknologier

2.1 Rammebetingelser

Arbeidsgiver hadde ingen krav eller betingelser i forhold til valg av teknologi, så det ble opptil gruppen selv å avgjøre utviklingsverktøy og teknologier. Valget falt på ASP.NET. Dette skyldes at .NET virker spennende, samtidig som etterspørselen er stor i arbeidslivet. .NET gir også muligheten til å utvikle avanserte web applikasjoner enkelt og raskt siden rammeverket inneholder mange ferdige komponenter for denne typen oppgaver. Ved starten av prosjektet hadde ingen i prosjektgruppen kompetanse innen .NET-miljøet, så dette ble en ekstra utfordring.

2.2 Utviklingsmiljø

Det utviklingsverktøyet som gruppen anser som mest oppdatert og foregående for utvikling av ASP.NET, er Visual Studio 2008. Dette ble derfor prosjektets valg av utviklingsverktøy.

2.3 Nettlesere

Webapplikasjonen som utvikles bør kunne oppleves optimalt av brukeren i forskjellige nettlesere uten merkbart store forskjeller. Matsans har blitt testet i stort sett Internet Explorer (7.0.5730.13) og Firefox (3.0.6), og det er ikke registrert noen merkbare forskjeller. Derfor er de to nettleserne vurdert som gode nok til å kunne brukes opp mot nettstedet. Nettleserne kan lastes ned og installeres fra følgende lenker: Nettleser Logo Hjemmeside

Firefox

Figur 3, kilde: meowns.com

http://firefox.no/

Internet Explorer

Figur 4, kilde: pcremix.com

http://www.microsoft.com/windows/products/winfamily/ie/default.mspx

Figur 2, kilde: capitalistech.com

Page 62: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

8

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

2.4 Beskrivelse av teknologier

Her beskrives teknologiene som er benyttet ved utvikling av Matsans.

2.4.1 ASP.NET

ASP.NET er et rammeverk for web-applikasjoner utviklet av Microsoft for å gi programmerere muligheten til å bygge dynamiske web-sider.

2.4.2 C#

C# er et programmeringsspråk som passer bra med ASP.NET for å utvikle websider. C# er en blanding mellom C++ og JAVA. Et alternativ var programmeringsspråk Visual Basic, men C# ble valgt. Dette skyldes at C# ligner mye på Java, som er det språket gruppen kjenner til best fra før av og medfører en kortere læringskurve.

2.4.3 CSS

Cascading Style Sheet eller stilark er en fil som programmereren styrer utseendet og designet til websiden. Stilarket gjør koden mer strukturert og oversiktlig når man kan separere koden bak design og funksjonalitet.

2.4.4 HTML

HyperText Markup Language er et markeringsspråk som benyttes for å lage webdokumenter/nettsider. HTML benyttes for å strukturere informasjon på internett; man angir tekst som overskrift, avsnitt, lister og så videre. HTML er en internasjonal standard og spesifikasjonene blir opprettholdt av The World Wide Web Consortium (W3C).

2.4.5 Microsoft SQL Server

Microsoft SQL Server er et

relasjonsdatabaseadministrasjonssystem utviklet av

Microsoft. Spørrespråket som benyttes er Transact-SQL, en

implementasjon av ANSI/ISO standarden Structured Query

Language, som benyttes av både Microsoft og Sybase.

2.4.6 SQL

Structured Query Language er et språk som benyttes til å formulere og kjøre operasjoner

opp mot relasjonsdatabaser. De fleste av dagens databasesystemer tilbyr SQL som

kontrollgrensesnitt.

Figur 5, kilde: alspaconsulting.com

Page 63: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

9

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

3. Installasjon

For å kjøre prosjektet med tanke på videreutvikling, trenger du å installere Visual Studio 2008 og SQL Server. For å tilgjengeliggjøre prosjektet på internett, trenger du å installere en webserver, som for eksempel IIS. For å lese .aspx filer på internett, trenger du å installere ASP.NET og .NET Framework. Programmene og teknologien må kjøres på et Microsoft Windows operativsystem, eksempelvis Windows XP.

3.1 Windows XP

Windows XP ble valgt av flere grunner. For det første er det tilgjengelig gratis fra msdn gjennom skolens avtale med Microsoft. Prosjektet benytter seg av Microsoft teknologi, noe som utelukker bruk av Linux eller Unix. Et alternativ til Windows XP er Windows Server, men Windows XP ble valgt grunnet gruppens erfaringer og preferanser.

3.2 Installasjon av Visual Studio 2008, SQL Server og .NET Framework

Disse tre enhetene ligger under samme installasjons-CD til Visual Studio 2008. SQL Server vil bli installert automatisk sammen med Visual Studio 2008. .NET Framework bør også installeres når alt blir installert.

3.3 Installasjon av IIS og ASP.NET

Internet Information Services (IIS) er Microsoft sin egen webserver som følger med

Windows XP.

For å installere IIS, putter du i Windows XP installasjon CD. Deretter åpner du Control Panel -

> Add or Remove Programs -> Add/remove Windows Components. Kryss av i boksen ved

siden av Internet Information Services (IIS) og klikk på ”Next” for å starte installeringen.

Sjekk at serveren er oppe og kjører ved å skrive inn http://localhost i adresselinjen på din

nettleser. Hvis ikke serveren er oppe må du gå til Start menu -> All programs ->

Administrative Tools -> Internet Information Services. Velg datanavn -> Web Sites -> Default

Web Site. Klikk på ”Default Web Site” og deretter ”Play”-knappen for å kjøre serveren.

ASP.NET må installeres separat etter at IIS er blitt installert. Dette gjøres ved følgende:

Gå til stedet hvor du har installert .NET Framework,

’C:\Windows\Microsoft.NET\Framework\v1.1.4322’ eller lignende.

Åpne MSDOS Command Prompts (Start Menu -> Start -> Run og skriv inn ’cmd’).

Skriv: ’%windir%\Microsoft.NET\Framework\vxxxxxx\aspnet_regiis.exe –i’ hvor vxxxxx er din

versjon, som du finner når du går til ’C:\Windows\Microsoft.NET\Framework\’.

Åpne Run fra Start menu og skriv inn: ’regsvr32

%windir%\Microsoft.NET\Framework\vxxxxxx\aspnet_isapi.dll’.

Figur 6, kilde: techslant.com

Page 64: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

10

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Nå skal du kunne se .aspx sider i web mappen ved å gå til http://localhost. Eller om du har

åpnet portnummeret til web-serveren på ruteren i nettverket kan du alternativt skrive inn

’http://<din IP-adresse>:<portnummer>’. Eksempelvis var Matsans sin adresse

http://80.203.26.128:8080/Matsans.

Page 65: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

11

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4. Datastrukturer og oppbygning

4.1 Arkitektur

Figur 7: Dataarkitektur

Her ser du den typiske dataflyt-arkitekturen til en web applikasjon. Prosjektet Matsans er

bestående av én database del og én server del. Databasedelen beskrives i neste avsnitt,

mens serverdelen består av aspx-filer tilhørende prosjektet.

4.2 Databasen

Matsans sin database består av 20 tabeller. Hvorav 11 tabeller tilhører ASP.NET

Membership og 9 tabeller er egengenererte.

Figur 8: Egengenererte tabeller

Page 66: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

12

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Figur 9: ASP.NET Membership tabeller

4.2.1 ASP.NET Membership

ASP.NET 2.0 har inkludert et eget system for medlemskap. Dette kan implementeres til

enhver ASP.NET 2.0 web-side som har en database bak seg. Den kontrollerer ikke bare

innlogging, men tilbyr også en rollebasert autentisering med profiler. Dette gjør

implementeringen enklere da kritiske og tidkrevende komponenter er kodet på forhånd og

klart til å tas i bruk. Dette innloggingsystemet benyttes i Matsans, hvorav ASP.NET

Membership består av 11 tabeller.

Page 67: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

13

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.2.2 Bilde

Tabellen Bilde inneholder en autogenerert primærnøkkel som heter BildeID. Denne tabellen

lagrer URL-en til et bilde som tilhører hver oppskrift. En oppskrift kan ha flere bilder.

Eksempel på BildeURL er: ’LA397 lam i wok 0306.jpg’.

4.2.3 Forum

Tabellen Forum inneholder en autogenerert primærnøkkel som heter ForumID. Denne

tabellen vises på forsiden av forumet. Eksempel på forumnavn og beskrivelse er:

”Oppskrifter – Del, søk og diskuter oppskrifter.” Dette er også kjent som en forumkategori.

4.2.4 ForumEmne

Tabellen ForumEmne inneholder en autogenerert primærnøkkel som heter EmneID. Denne

tabellen viser emnene til et forum. Et forum kan ha flere emner. Eksempel på forumemne,

tittel og tekst er: ”Dagens oppskrift må prøves!” og ”I dag er det gulrotsuppe”. Dette er også

kjent som en forumtråd.

Page 68: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

14

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.2.5 ForumPost

Tabellen ForumPost inneholder en autogenerert primærnøkkel som heter PostID. Denne

tabellen viser postene i et emne/tråd. Et emne kan ha flere poster. Eksempel på tekst i en

forumpost er: ”Dagens oppskrift er svinefilet teriyaki”.

4.2.6 Kategori

Tabellen Kategori inneholder en autogenerert primærnøkkel som heter KategoriID. Denne

tabellen lister opp oppskriftskategoriene. Eksempel på kategori er: ”Middag”.

4.2.7 Kommentar

Tabellen Kommentar inneholder en autogenerert primærnøkkel som heter KommentarID.

Denne tabellen lagrer kommentarene som blir skrevet av medlemmer under hver oppskrift.

For eksempel: ”Denne oppskriften er god med litt brunost”.

Page 69: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

15

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.2.8 Matintoleranse

Tabellen Matintoleranse inneholder en autogenerert primærnøkkel som heter

MatintoleranseID. Denne tabellen registrerer om en oppskrift inneholder visse

matintoleransegrupper. For eksempel en oppskrift inneholder melk, egg eller korn.

4.2.9 Oppskrifter

Tabellen Oppskrifter inneholder en autogenerert primærnøkkel som heter OppskriftID.

Denne tabellen lagrer informasjon som tilhører oppskriften. Et eksempel på en oppskrift du

kan finne på Matsans er ”Ølbakt kylling” med beskrivelse av ingredienser, fremgangsmåte

og annen informasjon om oppskriften.

Page 70: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

16

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.2.10 Underkategori

Tabellen Underkategori inneholder en autogenerert primærnøkkel som heter

UnderkategoriID. Denne tabellen lister opp underkategoriene til hver kategori. Det kan være

flere underkategorier under hver kategori. Et eksempel på underkategori er ”Kylling”, som

er en underkategori av kategorien ”Middag”.

4.3 Masterpage og ContentPageHolder

ASP.NET miljøet består av mye ferdiglagd funksjonalitet som forenkler byggingen av en

webapplikasjon. En av disse er en såkalt masterpage.

Masterpage-funksjonaliteten gjør det mulig å definere en felles struktur og grensesnitt med

elementer for siden din, som for eksempel tittel, navigasjon og bunnlinje. Deretter fungerer

masterpage som en mal for forskjellig innhold som kan plasseres inn i de forskjellige delene i

masterpage-layouten, enten det er tekstbiter eller aspx web form sider med unikt innhold.

4.3.1 Masterpage.master

Figur 10: Masterpage.master og dets ContentPlaceHolders.

Page 71: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

17

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Matsans sin masterpage-fil heter Masterpage.master og består av tre reserverte deler i

layouten, hvilket betyr tre ContentPlaceHolders. Disse heter leftContent, rightContent og

sideContent. Masterpage-layouten er brukt som mal til alle aspx-sidene for å oppnå et

konsistent nettsted..

4.4 Filstruktur innen .NET *.aspx og *.aspx.cs filer

Som nevnt er de fleste ASP.NET webapplikasjonene bygget opp av trelagsarkitekturen

bestående av:

- Presentasjonslaget – Brukergrensesnitt og htmldesign i form av *.aspx filer.

- Forretningslogikklaget – Objektorientert programmering i code-behind, *.aspx.cs

filer.

- Databaselaget – Databasen.

Enhver side i en .NET-webapplikasjon består altså av to filer. En .aspx-fil, og en .aspx.cs-fil.

Aspx-filene inneholder html, javascript og aspx-kontrollere. Aspx.cs-filene inneholder selve

programmeringsdelen, det vil si all koden. I mitt tilfelle er koden skrevet i C#, men jeg kunne

også valgt Visual Basic.

Videre vil det følge en beskrivelse av hver fil fra nettstedet Matsans, samt ytterligere

kommentarer for det materialet fra filene som regnes som spesielt betydningsfull eller

vanskelig å forstå.

4.4.1 Artikler

Artikler.aspx og Artikler.aspx.cs

Figur 11: Artikler.aspx

Page 72: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

18

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Funksjonalitet

Siden Artikler lister opp en lenkesamling med informasjon om:

- Matintoleranse og matallergi.

- Utdypende faktainformasjon om matvareinnhold.

Klasser og funksjoner

Klasse:

- public partial class Artikler : System.Web.UI.Page

Funksjoner:

- protected void Page_Load(object sender, EventArgs e)

Hvordan det fungerer

Artikler.aspx inneholder <asp:HyperLink>-lenker til forskjellige URL-adresser som beskriver

matintoleranse, matallergi og matvareinnholdslister. Når en lenke blir trykket på, vil URL-

adressen bli åpnet i en ny fane i nettleseren.

Framtidige punkter

I et fremtidig arbeid bør det utvikles funksjonalitet som registrerer bruken av denne

informasjonssamlingen. Det kan også være aktuelt å utføre spørreundersøkelser hos

brukerne for å vurdere hva som er positivt og negativt, slik at det positive kan bygges videre

på og det negative kan tenkes nytt rundt.

Page 73: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

19

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.4.2 Default

Default.aspx og Default.aspx.cs

Figur 12: Default.aspx

Funksjonalitet

Default-siden er startsiden for Matsans og blir dermed det første du ser når du besøker

nettstedet. Derfor er det lagt ned mye arbeid i designet, slik at brukeren kan få et godt

førsteinntrykk. Her finner du:

- Dagens oppskrift vist øverst på siden

- Tilfeldige oppskrifter vist like under dagens oppskrift.

Page 74: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

20

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Klasser og funksjoner

Klasser:

- public partial class Default: System.Web.UI.Page

Funksjoner:

- protected void Page_Load(object sender, EventArgs e)

o Initialiserer de andre funksjonene.

- private void setImages()

o Laster og setter opp bildene til menyen.

- private void buildDagens()

o Bygger opp, henter og klargjør dagens oppskrift fra databasen.

- private void buildDataList()

o Bygger opp, henter og klargjør tilfeldige oppskrifter fra databasen.

Hvordan det fungerer

Default.aspx siden har en DataList (dlDagens) som viser dagens oppskrift. Den er bygget

opp, tilkoblet til databasen og innhenter data som tittel, beskrivelse, bildeurl og lignende fra

funksjonen buildDagens() som ligger i Default.aspx. Det eksisterer også en til DataList

(dlOppskrifter) som ligger i Default.aspx siden som viser tilfeldige oppskrifter på denne

siden. Hver gang Default/startsiden blir bygd vil det bli fremvist nye tilfeldige oppskrifter.

I Default.aspx.cs blir dagens oppskrift autogenerert i buildDagens(). Det blir opprettet en

forbindelse med databasen, og en tilfeldig oppskrift blir hentet basert på dagens dato i en

sql-spørring. Deretter blir informasjon om oppskriften sendt til dlDagens (DataList) i

Default.aspx. Dette skjer også for dlOppskrifter (DataList), men forskjellen er sql-spørringen

henter inn tilfeldige oppskrifter hver gang.

Fremtidige punkter

Dagens oppskrift henter nå ut en tilfeldig oppskrift basert på dagens dato fra databasen

gjennom en sql-spørring. Den må i fremtiden hente oppskrift begrenset til kun godkjente

oppskrifter.

Page 75: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

21

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.4.3 EndreOppskrift

EndreOppskrift.aspx og EndreOppskrift.aspx.cs

EndreOppskrift2.aspx og EndreOppskrift2.aspx.cs

Figur 13: EndreOppskrift.aspx

Funksjonalitet

På denne siden er det mulig for administratoren eller moderatoren å endre oppskrifter.

Denne funksjonaliteten er bra for å rette opp i feilinformasjon og skrivefeil.

Klasser og funksjoner

Klasser:

- public partial class EndreOppskrift : System.Web.UI.Page

Funksjoner:

- protected void Page_Load(object sender, EventArgs e)

o Initialisering av funksjoner.

- private void buildDataList()

o Bygger opp, henter og videresender gjeldende oppskrift til DataList.

- protected void btnEndre_Click(object sender, EventArgs e)

Page 76: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

22

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

o Oppdaterer database med ny informasjon fra skjema.

- private string makeSqlOppskrifter()

o Henter ny informasjon om oppskrift fra DataList.

- private string makeSqlMatintoleranse()

o Henter ny matintoleranseinformasjon fra DataList.

- protected void btnTilbake_Click(object sender, EventArgs e)

o Sender brukeren tilbake til det stedet hvor brukeren var før denne siden ble

entret.

Hvordan det fungerer

EndreOppskrift.aspx er det samme som EndreOppskrift2.aspx.

EndreOppskrift.aspx.cs er omtrent det samme som EndreOppskrift2.aspx.cs.

Forskjellen er at tilbakeknappen på EndreOppskrift.aspx.cs sender deg tilbake til

SjekkOppskrift.aspx mens EndreOppskrift2.aspx.cs sender deg tilbake til Oppskrift.aspx.

I EndreOppskrift.aspx er det bygget opp en DataList (dlOppskrift) laget av komponenter som

TextBox, CheckBox og DropDownList, som sammen genererer et skjema. Til skjemaet blir

det lastet inn gjeldende oppskriftsinformasjon med bakgrunn i den oppskriftID-en som URL-

en inneholder. Denne oppskriftID-en sendes til EndreOppskrift.aspx.cs som returnerer

tilhørende oppskriftsinformasjon fra databasen.

Det finnes også to knapper i EndreOppskrift.aspx. Når ”Tilbake”-knappen blir trykket, vil

leseren bli sendt tilbake til hvor leseren kom fra. Når ”Oppdater”-knappen blir trykket, vil

databasen oppdateres med oppskriftsinformasjon fra de feltene som er endret. OppskriftID

blir sendt med som en identifikasjon for hvilken oppskrift det gjelder, som da oppdateres i

databasen.

Når EndreOppskrift.aspx.cs loades blir det først sjekket opp mot din brukerstatus, da man

må være moderator for å få aksess til denne siden. Dette utføres i funksjonen Page_Load().

Hvis du ikke er moderator, får du ikke aksess til denne siden og blir sendt til hovedsiden.

Skjemaet i DataListen på EndreOppskrift.aspx blir fylt opp med informasjon som er hentet

fra buildDataList() i EndreOppskrift.aspx.cs. Her blir det først opprettet en forbindelse til

databasen. Deretter blir oppskriftsinformasjon tilsvarende oppskriftID-en som ligger i URL-

en hentet fra databasen med sql-spørringer. Deretter blir denne informasjonen sendt inn og

fyller opp skjemaet i DataListen.

Når ”Endre”-knappen blir benyttet kjøres funksjonen btnEndre_Click(). Da blir det først

opprettet en forbindelse opp mot databasen. Oppskrift- og matintoleranseinformasjon blir

hentet gjennom makeSqlOppskrifter() og makeSqlMatintoleranse() fra skjemaet. Samtidig

blir det generert en sql-spørring som oppdaterer databasen med den nye informasjonen.

Denne setningen blir utført og oppdaterer databasen før forbindelsen blir stengt.

Page 77: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

23

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.4.4 Forum

Forum.aspx og Forum.aspx.cs

Figur 14: Forum.aspx

Funksjonalitet

Når du trykker på ”Nettsamfunn” i menyen åpnes forumet. Her kan medlemmer diskutere

fritt om emnene:

- Mat og matlaging

- Oppskrifter

- Matintoleranse

- Annet

Klasser og funksjoner

Klasser:

- public partial class Forum : System.Web.UI.Page

Funksjoner:

- public void Page_Load(object sender, EventArgs e)

Page 78: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

24

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Hvordan det fungerer

På Forum.aspx finnes komponenten LoginView øverst til høyre på siden. Den vil gi brukeren

muligheten til å logge inn, slik at det blir mulig for bruker å blant annet poste på forumet.

Når brukeren logger seg inn vil det her bli fremvist en velkomstmelding.

Selve forumet består av en GridView-komponent som henter foruminformasjon fra

databasen gjennom en SqlDataSource (ForumDataSource). SqlDataSource oppretter en

forbindelse til databasen og henter aktuell informasjon fra Forum-tabellen og sender det

videre til GridView, som presenterer informasjonen overfor brukeren.

4.4.5 ForumEmne

ForumEmne.aspx og ForumEmne.aspx.cs

Figur 15: ForumEmne.aspx

Funksjonalitet

Når et medlem har postet et nytt emne i forumet, vil denne siden vise posten deres til det

nye emnet. Når et medlem skriver et emne eller en post vil denne siden bli vist med trådens

eksisterende poster ovenfor svarfeltet.

Page 79: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

25

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Klasser og funksjoner

Klasser:

- public partial class ForumEmne : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Autentisering.

- protected void btnSend_Click( object sender, EventArgs e)

o Sender inn en ny post til det emnet som brukeren velger å svare på.

Hvordan det fungerer

Øverst i ForumEmne.aspx er det er DataList (DataList1) knyttet til en SqlDataSource

(ForumDataSource), som viser en lenkeliste til hvor i forumet brukeren befinner seg. Dette

er en form for navigeringsfunksjonalitet som ofte blir kalt for breadcrumbs1. For eksempel:

Forum > Oppskrifter. Dette muliggjøres av at URL-adressen sender med den gjeldende

forumID-en. Videre benytter SqlDataSource seg av denne forumID-en gjennom en

QueryString, som oppretter en forbindelse mot databasen, deretter finner forumnavn til

gjeldende QueryString-informasjon, og sender dette til slutt til DataListen.

Under breadcrumbs funksjonaliteten finner du første post til forumemnet/tråden i en

GridView (GridView1). Denne GridView-en er knyttet til en DataSource

(ForumEmneDataSource) som oppretter en forbindelse mot databasen, henter informasjon

fra tabellen ForumEmne, og videresender informasjonen tilbake til GridView som tar seg av

presentasjonen av dette.

Under første post på det nye emnet, finner du enda en GridView (GridView2). Denne

GridView-en er knyttet til en DataSource (ForumPostDataSource) som oppretter en

forbindelse mot databasen, henter informasjon fra tabellen ForumPost, og videresender

informasjonen tilbake til GridView, som også her tar seg av presentasjonen. De postene som

eventuelt befinner seg under første post, er svarposter til den første posten.

Dersom du ikke er logget inn, vil en Label spørre deg om å logge inn for å poste. Dersom

man er logget inn, vil man i stedet ha tilgang til en ”Send”-knapp og en FreeTextBox. Denne

FreeTextBox-en er et tekstredigeringsverktøy som lar deg skrive inn tekst med ekstra

tekstredigeringsmuligheter, eksempelvis: datostempling, oppretting av lenke, endre på

størrelse og tykkelse på tekst, osv. Trykker du på ”Send”-knappen vil det du har skrevet inn i

FreeTextBoxen bli lagt inn som en ny post i emnet/tråden.

I funksjonen Page_Load() i ForumEmne.aspx.cs blir det først av alt sjekket om du er logget

inn. Dersom du ikke er logget inn vil du få beskjed om å logge inn, for å kunne svare på og

1 http://en.wikipedia.org/wiki/Breadcrumb_(navigation) (28.05.09)

Page 80: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

26

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

skrive poster. Dersom du er logget inn, vil du ha muligheten til å svare på emnet gjennom en

FreeTextBox og en ”Send”-knapp.

Denne ”Send”-knappen er knyttet til funksjonen btnSend_Click(). Trykker du på denne

knappen vil det bli opprettet en forbindelse opp mot databasen, det som ble skrevet inn i

FreeTextBox-en vil da bli sendt inn sammen med annen påkrevd autogenerert post-

informasjon til databasen, samt oppdatere ForumEmne.aspx siden med den nye

informasjonen.

4.4.6 ForumEmneListe

ForumEmneListe.aspx og ForumEmneListe.aspx.cs

Figur 16: ForumEmneListe.aspx

Funksjonalitet

Denne siden viser oversikt over forumemnene/trådene i en kategori. Det kan være mange

emner under hver kategori.

Klasser og funksjoner

Klasser:

- public partial class ForumEmneListe : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

- protected void btnNyttEmne_Click( object sender, EventArgs e)

o Videresender brukeren til en side hvor brukeren kan poste et nytt emne.

Page 81: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

27

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Hvordan det fungerer

Under breadcrumbs-funksjonen er det en knapp som du klikker på hvis du vil lage et nytt

emne. Den videresender deg til NyttEmne.aspx gjennom funksjonen btnNyttEmne() i

ForumEmneListe.aspx.cs.

Nederst i ForumEmneListe.aspx er det en GridView (GridView1) som er knyttet til en

SqlDataSource (ForumDataSource). Denne oppretter en forbindelse opp mot databasen,

finner alle emner under gjeldende kategori som hentes ut på bakgrunn av feltet forumID fra

URL-adressen, og sender aktuell informasjon tilbake til GridView.

4.4.7 Innlogging

Innlogging.aspx og Innlogging.aspx.cs

Figur 17: Innlogging.aspx ikke logget inn

Figur 18: Innlogging.aspx logget inn som moderator

Page 82: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

28

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Funksjonalitet

Dette er siden brukeren blir sendt til når brukeren blir bedt om å logge seg inn. Dette er

også siden man blir henvist til når man klikker på ”Min side”-linken i menyen, uten å være

innlogget.

Klasse og funksjoner

Klasse:

- public partial class Innlogging : System.Web.UI.Page

Funksjoner:

- protected void Page_Load(object sender, EventArgs e)

o Initialisering av funksjoner.

- private void buildCount()

o Legger sammen det totale antall oppskrifter som er til sikkerhetskontroll.

Hvordan det fungerer

Midt på Innlogging.aspx finnes det en LoginView. Hvordan den ser ut er avhengig av

innloggingsstatusen og hva slags bruker man er. Dersom man ikke er innlogget vil man få

beskjed om at man ikke er logget inn sammen med innloggingsfunksjonaliteten (en Login-

boks). Man logger seg inn ved å skrive inn brukernavn og passord. Dersom man ikke har

konto, medfølger det en link hvor nye brukere kan registrere seg. Når innloggingen er

gjennomført vil man bli hilset med brukernavnet i LoginView.

Til venstre finnes det en til LoginView. Dersom man er innlogget, vil man se dette

LoginView-et forskjellig avhengig av brukerens tildelte rolle og tilgangsnivå. Et vanlig

medlem vil kunne se en lenke til å sende inn oppskrifter til ”Folkets oppskrift”. Dersom du er

moderator eller administrator, vil du i tillegg se en lenke til å sende inn oppskrifter til

Matsans oppskrifter, og en lenke til oppskrifter som er til godkjenning i sikkerhetskontrollen.

Bak sikkerhetskontroll-lenken finnes det en teller som er laget i funksjonen buildCount() i

Innlogging.aspx.cs. Her blir det først laget en forbindelse opp mot databasen. Så vil sql-

spørringen returnere antallet for hvor mange oppskrifter som venter på kontroll, for så å

avslutte forbindelsen med databasen. Tellerinformasjonen vil bli sendt til tildelt plass i

LoginView i Innlogging.aspx.cs.

Fremtidige punkter

Denne profilsiden er det brukeren får fram når det trykkes på lenken ”Min side” i menyen.

Et utviklingspotensial for denne profilsiden er å få fram mer informasjon om brukeren og

brukerens aktiviteter. Det må her skapes funksjonalitet som interesserer både brukeren som

eier profilen og andre tilfeldige brukere.

Page 83: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

29

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Det ville være spennende å gi brukerne muligheten til å ha en egen personlig kokebok

bestående av en samling med favorittoppskrifter. Det bør også kunne være mulig for

brukere å abonnere på andre sine favorittlister, noe som vil være aktuelt når man finner

andre med samme preferanser og matintoleranse.

4.4.8 NyBruker

NyBruker.aspx og NyBruker.aspx.cs

Figur 19: NyBruker.aspx

Funksjonalitet

Her kan brukeren registrere seg for å bli medlem på nettstedet.

Klasser og funksjoner

Klasser:

- public partial class NyBruker : System.Web.UI.Page

Funksjoner:

- protected void Page_Load ( object sender, EventArgs e)

Hvordan det fungerer

På NyBruker.aspx benyttes det en komponent som heter CreateUserWizard. Brukeren vil

her fylle ut informasjon for å registrere seg som et medlem. Når brukeren trykker på

knappen ”Opprett bruker”, så vil brukeren automatisk bli medlem i det implementerte

ASP.NET Membership-systemet via dette skjemaet. ASP.NET Membership har et ferdig sett

med tabeller som er forhåndsimplementert og benyttet i Matsans sin database for å holde

orden på informasjon om medlemmene.

Page 84: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

30

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Dersom brukeren fyller inn ugyldig informasjon, for eksempel et brukernavn som er opptatt

eller en ugyldig e-post adresse, vil brukeren få beskjed om dette.

4.4.9 NyOppskrift

NyOppskrift.aspx og NyOppskrift.aspx.cs

Figur 20: NyOppskrift.aspx

Page 85: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

31

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Funksjonalitet

På denne siden kan administrasjonen sende inn nye oppskrifter til Matsans.

Klasser og funksjoner

Klasser:

- public partial class NyOppskrift : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Autentisering.

- protected void btnSend_Click( object sender, EventArgs e)

o Bildesjekk og send inn skjemainformasjon til databasen.

- private void buildConnection()

o Send inn skjemainformasjon til databasen.

- protected void resetField( object sender, EventArgs e)

- public void resetField()

o Nullstille skjema.

Hvordan det fungerer

NyOppskrift.aspx er et skjema laget for å fylle inn informasjon om nye oppskrifter man

ønsker å laste opp til Matsans. Dette skjemaet består for det meste av TextBox- og

DropDownList-komponenter. I tillegg er det benyttet FileUpload-funksjonalitet for å tilby

brukeren muligheten til å laste opp et bilde tilhørende oppskriften. Det finnes to knapper på

dette skjemaet: ”Tøm skjema” og ”Send inn”. ”Tøm skjema”-knappen nullstiller alle feltene i

skjemaet. Mens ”Send inn”-knappen sender inn det man har skrevet i feltene, til databasen.

Etter at en ny oppskrift er sendt inn, vil det bli gitt en bekreftelse om dette i en Label som er

på toppen av skjemaet.

Når NyOppskrift.aspx.cs åpnes, er den første funksjonen som kjøres Page_Load(). Denne

funksjonen sjekker om det er en moderator som er innlogget, da det kun er moderatorer

som skal ha tilgang til funksjonaliteten på denne siden. Dersom dette ikke er tilfellet vil

brukeren bli videresendt til startsiden.

Når brukeren trykker på ”Send inn” knappen kjøres funksjonen btnSend_Click(). Her blir det

sjekket om det er en fil i FileUpload, som matcher kriteriene til en bildefil. Hvis det ikke er en

bildefil, vil brukeren bli informert om dette og får muligheten til å prøve på nytt. Kravene er

at det enten må være en gyldig bildefil eller ingen fil i det hele tatt. Hvis de to kravene er

oppfylt, blir neste steg å starte buildConnection(). Det vil da bli opprettet en forbindelse mot

databasen, skjemainformasjonen vil bli sendt gjennom en sql-spørring som tilsvarer dette,

før forbindelsen blir lukket. Hvis det ikke var en bildefil som ble sendt med i skjemaet, vil det

automatisk bli tilegnet et defaultbilde, Default.jpg, som har en egen bildeurl i databasen.

Page 86: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

32

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Når brukeren trykker på ”Tøm skjema”-knappen kjøres resetField()-funksjonen. Da vil alle

punkter i skjemaet nullstille seg.

4.4.10 NyttEmne

NyttEmne.aspx og NyttEmne.aspx.cs

Figur 21: NyttEmne.aspx

Funksjonalitet

På denne siden kan medlemmer opprette nye emner i forumet. På denne siden kan

medlemmet fylle inn tittel og innhold i posten som starter det nye emnet.

Klasser og funksjoner

Klasser:

- public partial class NyttEmne : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Autentisering.

Page 87: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

33

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

- protected void btnSend_Click( object sender, EventArgs e)

o Sender inn det nye emnet til forumet.

Hvordan det fungerer

I NyttEmne.aspx er det en Textbox for tittel og en FreeTextBox for å skrive innhold i posten,

som begge tilhører det nye forumemnet. Når medlem er ferdig med å fylle inn disse feltene,

vil innholdet bli sendt ved å trykke på ”Send”-knappen. Hvis ikke medlem ønsker å sende

likevel, er alternativet å trykke på ”Tilbake”-knappen.

Når denne siden blir åpnet kjøres funksjonen Page_Load() i NyttEmne.aspx.cs. Der blir det

sjekket om brukeren er innlogget fra før. Hvis det er tilfelle vil brukeren få tilgang på siden.

Hvis ikke brukeren er innlogget vil brukeren bli henvist til å logge seg inn via

Innlogging.aspx-siden.

Når ”Send”-knappen blir brukt kjøres funksjonen btnSend_Click(). Videre vil medlemmet

autentiseres, og det vil bli opprettet en forbindelse opp mot databasen. Innholdet som

medlemmet har fylt inn i skjemaet blir sendt til databasen sammen med medlemmets

identitet. Deretter vil forbindelsen opp mot databasen bli avsluttet. Til slutt vil medlemmet

bli sendt til siden som inneholder det nye emnet. Når ”Tilbake”-knappen benyttes vil

btnTilbake_Click()-funksjonen kjøres, og brukeren vil bli sendt til den adressen som bruker

kom fra før denne siden ble entret.

4.4.11 NyttForum

NyttForum.aspx og NyttForum.aspx.cs

Figur 22: NyttForum.aspx

Page 88: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

34

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Funksjonalitet

Moderator eller administrator kan legge til en ny forumkategori på denne siden.

Vanlig bruker eller medlem vil ikke ha tilgang på denne siden.

Klasse og funksjoner

Klasse:

- public partial class NyttForum : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Autentisering.

- protected void btnLeggTil_Click( object sender, EventArgs e)

o Legg til ny forum data i databasen.

- protected void btnTilbake_Click( object sender, EventArgs e)

o Sender bruker tilbake til hvor bruker kom fra.

Hvordan det fungerer

På NyttForum.aspx er det en Label helt øverst som sier i fra når du har lagt til en ny

forumkategori. Under finner du TextBox til å fylle inn det nye forumkategorinavnet og

beskrivelse. Helt nederst er det to knapper: ”Tilbake” og ”Legg til”. ”Tilbake”-knappen

sender brukeren tilbake til sist besøkte side, mens ”Legg til”-knappen legger den nye

forumkategorien til i databasen.

Når NyttForum.aspx.cs åpnes er det første som skjer at Page_Load()funksjonen sjekker om

brukeren er en moderator, noe som kreves for å få tilgang til denne siden. Hvis ikke

brukeren har tilgang til denne siden, vil brukeren bli sendt tilbake til startsiden. Knappen

”Legg til” kjører funksjonen btnLeggTil_Click(). Det opprettes en forbindelse opp mot

databasen, dataen i tilhørende skjema vil bli sendt til databasen før forbindelsen blir

avsluttet. Brukeren vil deretter få beskjed i Label om at en ny kategori har blitt opprettet i

forumet.

Knappen ”Tilbake” kjører funksjonen btnTilbake_Click() som sender brukeren tilbake til

siden hvor bruker kom fra før denne siden ble entret.

Page 89: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

35

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.4.12 Om

Om.aspx og Om.aspx.cs

Funksjonalitet

Denne siden informerer brukeren om Matsans.

Matsans har utvalgt følgende informasjonskategorier og informasjonskanaler som brukerne

vil være tjent med:

- Kunnskap og informasjon angående matintoleranse og matallergi.

- Nyheter og artikler.

- Samfunn for brukerne.

- Forandring for fremtiden.

- Kokebok for matintoleranse.

Figur 23: Om.aspx

Klasse og funksjoner

Klasse:

- public partial class Om : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

Page 90: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

36

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Hvordan det fungerer

Når brukeren kommer til Om.aspx siden ved å trykke på ”Om Matsans” i menyen, vil

brukeren her bli informert om hensikten bak Matsans og hva nettstedet ønsker å formidle.

Fremtidige punkter

I nærmeste fremtid bør det opprettes en side med informasjon om de som står bak og

arbeider hos Matsans. Denne siden inneholder profilbilder, kontaktinformasjon og litt

historisk tekst knyttet til hver ansatt.

En hensikt er å skape en mer personlig relasjon til brukerne. De skal kunne se hvem vi er, og

de skal ha mulighet til direkte kontakt med oss. Informasjon om hvordan brukerne opplever

nettstedet er vårt viktigste utviklingspotensial, og derfor er det viktig å gi muligheten til

direktekontakt.

I tillegg til denne direktekontakten skal det opprettes et kontaktskjema som brukeren kan ta

i bruk når spørsmålet ikke er rettet mot en person ansatt hos Matsans. En hensikt med dette

skjemaet er også å senke terskelen for å ta kontakt med Matsans, da en mindre personlig

henvendelse har lavere inngangsterskel. Flere typer kontaktformer integrerer flere typer

brukere.

Kontaktskjemaet og profilsiden for de ansatte hos Matsans kan bli lenket til gjennom

venstre kolonne på siden ”Om Matsans”.

4.4.13 Oppskrift

Oppskrift.aspx og Oppskrift.aspx.cs

Figur 24: Oppskrift.aspx

Page 91: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

37

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Funksjonalitet

Denne siden fremviser brukerens valgte oppskrift.

Klasse og funksjoner

Klasse:

- public partial class Oppskrift : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Initialisering av funksjoner.

- private void setImages()

o Setter opp bildene i menyen.

- private void buildDataList()

o Bygger DataList til oppskrift.

- protected void btnSend_Click( object sender, EventArgs e)

o Sender inn data fra kommentarskjema til database.

- private void buildKommentar()

o Henter kommentarer til gjeldende oppskrift.

- private void buildKnapp()

o Bygger knapper med lenker til visning (kun for moderator).

- protected void lbEndre_Click( object sender, EventArgs e)

o Henviser moderator til en side for å endre oppskrift.

- protected void dlKommentar_DeleteCommand( object source, *

DataListCommandEventArgs e)

o Gir moderator og administrator muligheten til å slette kommentarer

tilhørende oppskriften.

Hvordan det fungerer

I venstre kolonne på Oppskrift.aspx er det en meny. Denne er bygget opp av bilder med

lenker som forandrer seg når bildet blir trykket på eller får musepekeren over seg. Selve

funksjonen som forandrer på bildene når musepekeren er over heter setImages() og koden

ligger i Oppskrift.aspx.cs.

Oppskriften på Oppskrift.aspx består av en DataList (dlOppskrift). Under oppskriften er det

en DataList (dlKommentar) som viser kommentarer til gjeldende oppskrift. Helt nederst er

det en LoginView som ber deg om å logge inn for å kommentere, dersom du ikke er logget

inn. Er du derimot innlogget vil du i stedet se en TextBox tilrettelagt for å skrive

kommentarer og en ”Send”-knapp til å sende inn kommentaren din til gjeldende

oppskriftside. I høyre kolonne er det en Label som gir moderator eller administrator en

Page 92: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

38

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

lenke til å endre oppskriften på denne siden. Er du ikke moderator eller administrator, vil du

heller ikke se denne lenken i Label.

I funksjonen Page_Load() i Oppskrift.aspx.cs blir en god del av funksjonene intialisert.

Oppskrift sin DataList blir bygget i funksjonen buildDataList. En forbindelse med databasen

blir opprettet. I URL-en finnes det en QueryString for gjeldende oppskrift. En QueryString

med oppskriftID blir matchet opp i databasen for å finne riktig oppskrift. Informasjonen til

gjeldende oppskrift blir hentet ut av databasen og videresendt til DataListen.

Kommentaren sin tilhørende DataList blir hentet og bygget opp gjennom funksjonen

buildKommentar(). Det blir først opprettet en forbindelse til databasen. Kommentarer

tilhørende den aktuelle oppskriften blir hentet fra databasen gjennom en QueryString som

har blitt postet gjennom URL-en. Kommentarene blir sendt som en DataList til den aktuelle

oppskriftsiden.

Når medlem skal sende inn kommentar gjennom skjemaet, vil først funksjonen

btnSend_Click() kjøres når brukeren trykker på”Send”-knappen. En forbindelse med

databasen vil bli opprettet. Deretter vil medlemmets identitet bli funnet. Innholdet i

skjemaet og medlemmets identitet vil bli sendt til databasen før forbindelsen avsluttes.

Medlemmet vil se kommentaren sin når den aktuelle oppskrifts-siden oppdateres.

I funksjonen buildKnapp() vil det først bli sjekket om brukeren er en moderator. Dersom

brukeren er en moderator vil brukeren få tilgang til to knapper. En til å slette kommentarer,

og en til å endre oppskriften. For å bygge opp ”Slett kommentar”-knappen, blir det først

sjekket hvor mange kommentarer det finnes.

Når moderator trykker på lenken ”Endre Oppskrift” kjøres funksjonen lbEndre_Click(), som

sender moderator videre til en side hvor det er mulig å endre på oppskrifter.

Når moderator trykker på ”Slett kommentar” for å slette en kommentar, vil kommentaren

bli slettet gjennom funksjonen dlKommentar_DeleteCommand(). Gjeldende kommentarID

vil bli funnet. En forbindelse til databasen vil bli opprettet for å slette gjeldende kommentar,

før forbindelsen vil bli lukket. Siden vil da bli oppdatert og den slettede kommentaren er

ikke lenger tilgjengelig.

Page 93: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

39

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.4.14 Oppskrifter

Oppskrifter.aspx og Oppskrifter.aspx.cs

Figur 25: Oppskrifter.aspx

Funksjonalitet

Denne siden viser oversikt over oppskriftene delt opp i forskjellige kategorier,

underkategorier, matintoleranse, oppskrifter lastet opp av Matsans og oppskrifter lastet

opp av brukerne (Folkets oppskrifter).

Klasse og funksjoner

Klasse:

- public partial class oppskrifter : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Initialisering.

- protected void setImageButton()

Page 94: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

40

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

o Setter opp menybildene.

- protected void imgBtnMiddag_Click( object sender, ImageClickEventArgs e)

o Setter opp riktig URL når ”Middag”-knappen benyttes.

- protected void imgBtnTilbehør_Click( object sender, ImageClickEventArgs e)

o Setter opp riktig URL når ”Tilbehør”-knappen benyttes.

- protected void imgBtnDessert_Click( object sender, ImageClickEventArgs e)

o Setter opp riktig URL når ”Dessert”-knappen benyttes.

- protected void imgBtnDrikke_Click( object sender, ImageClickEventArgs e)

o Setter opp riktig URL når ”Drikke”-knappen benyttes.

- protected void imgBtnBakst_Click( object sender, ImageClickEventArgs e)

o Setter opp riktig URL når ”Bakst”-knappen benyttes.

- protected void imgBtnMelk_Click( object sender,

System.Web.UI.ImageClickEventArgs e)

o Setter opp riktig URL når ”Melk”-knappen benyttes.

- protected void imgBtnEgg_Click( object sender, System.Web.UI.ImageClickEventArgs

e)

o Setter opp riktig URL når ”Egg”-knappen benyttes.

- protected void imgBtnFisk_Click( object sender, System.Web.UI.ImageClickEventArgs

e)

o Setter opp riktig URL når ”Fisk”-knappen benyttes.

- protected void imgBtnSkalldyr_Click( object sender,

System.Web.UI.ImageClickEventArgs e)

o Setter opp riktig url når ”Skalldyr”-knappen benyttes.

- protected void imgBtnNøtter_Click( object sender,

System.Web.UI.ImageClickEventArgs e)

o Setter opp riktig URL når ”Nøtter”-knappen.

- protected void imgBtnBelgfrukt_Click( object sender,

System.Web.UI.ImageClickEventArgs e)

o Setter opp riktig URL når ”Belgfrukt”-knappen benyttes.

- protected void imgBtnKornslag_Click( object sender,

System.Web.UI.ImageClickEventArgs e)

o Setter opp riktig URL når ”Kornslag”-knappen benyttes.

- protected void imgBtnSitrus_Click( object sender,

System.Web.UI.ImageClickEventArgs e)

o Setter opp riktig URL når ”Sitrus”-knappen benyttes.

- protected void imgBtnFolkets_Click( object sender, ImageClickEventArgs e)

o Setter opp riktig URL når ”Folkets oppskrifter”-knappen benyttes.

- public string addRemoveLink( string aLink)

o Setter opp aLink QueryString på riktig posisjon i URL-en.

- public string addRemoveLink2( string bLink)

o Setter opp bLink QueryString på riktig posisjon i URL-en.

Page 95: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

41

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

- public string addRemoveLink3( string cLink)

o Setter opp cLink QueryString på riktig posisjon i URL-en.

- private void bindDataList()

o Henter og bygger opp en DataList med oppskrifter, med tilhørende sidetall.

- private void doPaging()

o Lager listen med sidetall (en sidetall teller).

- protected void dlPaging_ItemCommand( object source, DataListCommandEventArgs

e)

- protected void lnkbtnPrevious_Click( object sender, EventArgs e)

- protected void lnkbtnNext_Click( object sender, EventArgs e)

- protected void dlPaging_ItemDataBound( object sender, DataListItemEventArgs e)

- public string makeSql()

o Bygger opp sql-spørringer til oppskriftenes DataList.

- private void setUnderkategori()

o Setter opp underkategorier avhengig av kategorivalg.

Hvordan det fungerer

På venstre side av Oppskrifter.aspx er det en meny med valgalternativer. Denne er satt opp

av mange ImageButton over hverandre. Samtlige ImageButton er satt opp av funksjonen

setImageButton() i Oppskrifter.aspx.cs. Her blir det også satt opp slik at knappen endres

avhengig om musepekeren er over eller ei. I URL-en blir det sjekket et ImageButton allerede

er valgt, slik at knappen fremvises riktig. Dette er fordi en knapp som allerede er valgt, skal

presenteres annerledes enn en knapp som ikke er valgt.

Når bruker velger et valgalternativ i menyen, blir dette valget presentert annerledes i

menyen og lagt inn i URL-en. For eksempel hvis bruker velger kategori valget ”Middag”, vil

funksjonen imgBtnMiddag_Click() bli gjeldende og putte en QueryString ”kategori=Middag” i

URL-en. For å putte kategorien som førstgjeldende QueryString i URL-adressen, bruker

funksjonen imgBtnMiddag_Click () funksjonen addRemoveLink2(). Her blir det sjekket i URL-

en hva som er førstkommende QueryString og hvilke andre QueryString-er som følger

deretter. I dette eksempelet valgte brukeren kategorien ”Middag”. I addRemoveLink2() vil

”Middag”-kategorien bli satt som første QueryString enten hvis det ikke er valgt en kategori

fra før, eller i stedet for en valgt kategori, og de følgende QueryString vil bli puttet på riktig

plass bak ”kategori=Middag” i URL-en. For eksempel kan en URL inneholde ”Middag” fra før

av og være bygd opp slik:

’…/Oppskrifter.aspx?kategori=Middag&matintoleranse=egg&underkategori=Sjømat’

Deretter velger bruker en ny kategori ”Tilbehør”, og adresselinjen vil da bli slik:

’…/Oppskrifter.aspx?kategori=Tilbehør&matintoleranse=egg’

ved hjelp av funksjonen imgBtnTilbehør() som bruker funksjonen addRemoveLink2() for å

bygge opp URL-en med riktig rekkefølge av QueryString.

Page 96: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

42

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Når bruker velger en matintoleranse, vil dette valget legges i URL-en og følge med som en

del av adresselinjen uavhengig av andre valg som utføres (for eksempel valg av kategori eller

flere intoleranser). Hvis bruker velger for eksempel matintoleranse ”Egg”, vil det stå i URL-

en at matintoleranse ”Egg” er valgt, selv om brukeren senere velger å endre på kategorivalg

(for eksempel endre kategorivalg fra ”Middag” til ”Tilbehør”). Når en ImageButton benyttes

kjøres funksjonen imgBtnEgg_Click(), som videre benytter seg av funksjonen

addRemoveLink() til å putte ”matintoleranse=egg” i URL-en. Hvis matintoleranse ”Egg”

allerede er valgt og dette valget gjøres på ny, vil kategorien fjernes fra URL-en. Dette skjer

ved bruk av de samme funksjonene som når man legger til en kategori i URL-en.

Valgalternativet ”Folkets oppskrifter” benytter seg også av funksjonen addRemoveLink(). I

addRemoveLink() blir det sjekket om valget allerede ligger URL-en. Hvis den finnes, vil den

bli fjernet. Hvis den ikke finnes i URL-en, vil valget bli lagt til. Valget vil være i URL-en helt til

valget blir valgt bort av brukeren selv.

I Oppskrifter.aspx er det mange Labels som representerer underkategorier på toppen av

midterste område. Underkategoriene genereres automatisk avhengig av kategorivalg.

Underkategoriene til en kategori vil bli satt opp i de nevnte Labels, og dette gjøres av

funksjonen setUnderkategori() i Oppskrifter.aspx.cs. For eksempel hvis kategorien ”Middag”

er valgt, vises dette i URL-en. I setUnderkategori() blir kategori sjekket opp via en

QueryString. Finner den ”kategori = Middag”, vil funksjonen sette opp tilhørende

underkategorier som Label med tilhørende lenker som videre er bygd opp av funksjonen

addRemoveLink3(). I addRemoveLink3() blir det sjekket om det finnes en underkategori i

URL-en fra før. Hvis det finnes, vil denne underkategorien bli erstattet med det nye

underkategorivalget. Hvis det ikke finnes en underkategori fra før av, vil underkategorivalget

bli lagt til i URL-en. Funksjonen vil returnere en ferdiglaget URL med riktig QueryString satt

sammen av brukerens valg, slik som de andre addRemoveLink-funksjonene.

Selve oversikten av oppskrifter består av en DataList (dlOppskrifter) i Oppskrifter.aspx.

Denne er bygget opp og hentet fra bindDataList() i Oppskrifter.aspx.cs. Her blir det først

hentet og bygget en sql-spørring gjennom funksjonen makeSql(), som består av en

QueryString bygd opp av tilgjengelig informasjon med bakgrunn i de menyvalgene brukeren

har utført. En forbindelse til databasen blir opprettet, og sql-spørringen blir sendt for å

innhente tilsvarende informasjon som en DataList. Denne DataList er også tilpasset en

sidetall-viser som er bygget opp gjennom funksjonene CurrentPage(), doPaging(),

dlPaging_ItemCommand(), lnkbtnPrevious_Click(), lnkbtnNext_Click() og

dlPaging_ItemDataBound().

Page 97: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

43

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.4.15 SendNyOppskrift

SendNyOppskrift.aspx og SendNyOppskrift.aspx.cs

Figur 26: SendNyOppskrift.aspx

Funksjonalitet

Gjennom denne siden kan brukeren sende inn nye oppskrifter. Siden oppskriften kommer

fra en bruker, vil den havne i databasen ved navnet ”Folkets oppskrifter”. For å kunne bruke

denne funksjonaliteten må brukeren være er et registrert medlem.

Page 98: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

44

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Klasse og funksjoner

Klasse:

- public partial class SendNyOppskrift : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Autentisering.

- protected void btnSend_Click( object sender, EventArgs e)

o Sjekker om innhold i skjemaet er gyldig før dataene blir sendt til databasen.

- private void buildConnection()

o Sender innhold i skjema og relevant medlemsinformasjon til databasen.

- protected void resetField( object sender, EventArgs e)

- public void resetField()

o Nullstiller skjema.

Hvordan det fungerer

SendNyOppskrift.aspx er formet som et skjema for å fylle inn informasjon om nye

oppskrifter. Dette skjemaet består for det meste av TextBox og DropDownList. I tillegg er

det tatt i bruk funksjonaliteten FileUpload for å laste opp bilde tilhørende oppskriften. Det

finnes to knapper på dette skjemaet: ”Tøm skjema” og ”Send inn”. Når ”Tøm skjema”-

knappen benyttes vil hele skjemaet nullstille seg. Når ”Send inn”-knappen benyttes vil det

som er skrevet i skjemaet bli sendt inn til databasen. Etter at brukeren har sendt inn en ny

oppskrift, vil det bli gitt beskjed om dette i en Label som er på toppen av skjemaet. Dersom

innsendingen ikke var vellykket, vil dette også bli gitt beskjed om i Label på toppen av

skjemaet.

I SendNyOppskrift.aspx.cs er den første funksjon som kjøres Page_Load(). Denne sjekker om

det er et pålogget medlem som prøver å se denne siden. Dersom brukeren ikke er et

innlogget medlem, vil brukeren heller ikke få tilgang.

Når brukeren trykker på ”Send inn”-knappen kjøres funksjonen btnSend_Click(). Her blir det

sjekket hvis det er en fil i FileUpload og om dette er en bildefil. Hvis det ikke er en bildefil, vil

brukeren få beskjed om dette og bli oppfordret til å prøve igjen. Kravene er at det enten skal

være en bildefil eller ingen fil i det hele tatt, og om disse kravene oppfylles, blir neste steg å

opprette en kobling mot databasen gjennom funksjonen buildConnection(). Det vil da

opprettes en forbindelse opp mot databasen, deretter vil innhold fra skjema og

medlemmets id og navn bli samlet og sendt til databasen gjennom en sql-spørring. Deretter

vil databaseforbindelsen blir lukket. Til slutt vil brukeren få beskjed i Label om at oppskriften

er innsendt. Hvis det ikke ble vedlagt noen bildefil, vil bildefil-adressen i databasen bli

automatisk satt til et defaultbilde (Default.jpg).

Page 99: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

45

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Når brukeren trykker på ”Tøm skjema”-knappen kjøres funksjonen resetField(). Da vil alle

feltene i skjemaet nullstille seg.

4.4.16 SjekkOppskrift

SjekkOppskrift.aspx og SjekkOppskrift.aspx.cs

Figur 27: SjekkOppskrift.aspx

Funksjonalitet

Denne siden viser oppskriften når den er blitt valgt i sikkerhetskontrollen. Her blir hver

enkelt oppskrift vurdert for godkjenning. Det er fordelaktig å kunne godkjenne oppskrifter

Page 100: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

46

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

før publisering slik at enkle skrivefeil og dårlig formatering kan rettes opp. Denne

godkjenningen kan kun utføres av en administrator eller moderator.

Klasse og funksjoner

Klasse:

- public partial class SjekkOppskrift : System.Web.UI.Page

Funksjoner

- protected void Page_Load( object sender, EventArgs e)

o Autentisering og initialisering.

- private void buildDataList()

o Bygger opp DataList.

- protected void btnGodkjent_Click( object sender, EventArgs e)

o Godkjenner oppskrift.

- protected void btnSlett_Click( object sender, EventArgs e)

o Sletter oppskrift.

- protected void btnEndre_Click( object sender, EventArgs e)

o Videresender bruker til siden for å endre oppskrift.

- protected void btnTilbake_Click( object sender, EventArgs e)

o Sender bruker tilbake til der bruker kom fra.

Hvordan det fungerer

I SjekkOppskrift.aspx er det en DataList(dlOppskrift) som viser oppskriften som er blitt valgt

fra sikkerhetskontrollen. Denne DataList består av bilde, tekst og Label. Nedenfor DataList er

det knapper hvor bruker kan velge mellom ”Tilbake”, ”Endre”, ”Slett” og ”Godkjenn”.

I SjekkOppskrift.aspx.cs blir det først sjekket om brukeren er en moderator for å få aksess til

denne siden gjennom funksjonen Page_Load(). Hvis ikke blir brukeren nektet tilgang og

sendt tilbake til startsiden.

DataListen blir bygget opp gjennom funksjonen buildDataList(). Her blir det opprettet en

forbindelse mot databasen. En QueryString forteller hvilken oppskrift det gjelder slik at sql-

spørringen kan innhente riktig oppskrift fra databasen, før forbindelsen til slutt blir lukket.

Når en bruker trykker på ”Godkjenn”-knappen kjøres funksjonen btnGodkjent_Click(). Det

blir her opprettet en forbindelse opp mot databasen. QueryString forteller om hvilken

oppskrift det gjelder slik at sql-spørringen kan bygges opp til å godkjenne riktig oppskrift fra

databasen, før databaseforbindelsen blir lukket. Når den aktuelle oppskriften er godkjent, vil

bruker bli sendt til oversikten over oppskrifter som fortsatt ligger til godkjenning i

sikkerhetskontrollen.

Page 101: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

47

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Når en bruker trykker på ”Slett”-knappen kjøres funksjonen btnSlett_Click(). Det blir så

opprettet en forbindelse opp mot databasen. QueryString forteller om hvilken oppskrift det

gjelder, slik at sql-spørringen kan bygges opp til å slette riktig oppskrift og tilhørende data

fra databasen, før forbindelsen blir lukket. Til slutt vil bruker bli sendt til oversikten over

oppskrifter som fortsatt ligger til godkjenning i sikkerhetskontrollen.

Når en bruker trykker på ”Endre”-knappen kjøres funksjonen btnEndre_Click(). Her vil

bruker bli videresendt til siden for å endre oppskriften sammen med en QueryString som

forteller om hvilken oppskrift det gjelder.

Når en bruker trykker på ”Tilbake”-knappen kjøres funksjonen btnTilbake_Click(). Her vil

bruker bli sendt tilbake til der hvor bruker kom fra, som i dette tilfellet er den siden med

oversikt over oppskrifter som fortsatt ligger til godkjenning i sikkerhetskontrollen.

4.4.17 Soek

Soek.aspx og Soek.aspx.cs

Figur 28: Soek.aspx

Funksjonalitet

Denne siden presenterer søkeresultatene når en bruker har benyttet søkefunksjonen øverst

på siden.

Page 102: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

48

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Klasse og funksjoner

Klasse:

- public partial class Soek : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Initialisering.

- private void bindDataList()

o Bygger opp DataList med søkeresultater.

- private void doPaging()

- protected void dlPaging_ItemCommand( object source, DataListCommandEventArgs

e)

- protected void lnkbtnPrevious_Click( object sender, EventArgs e)

- protected void lnkbtnNext_Click( object sender, EventArgs e)

- protected void dlPaging_ItemDataBound( object sender, DataListItemEventArgs e)

- private string getSql()

o Bygger sql-spørring.

Hvordan det fungerer

I Soek.aspx er det en DataList (dlSoek) som viser listen over oppskrifter søket returnerte.

Denne resultatsiden er også knyttet til en sideteller under DataList bestående av to knapper.

Med ”LinkButton”-knappen kan brukeren bla fram og tilbake i listen, mens de andre

knappene består av sidetall som er bygd opp med utgangspunkt i DataList (dlSoek) sin

lengde. dlSoek er en liste med søketreff hvor hvert treff består av bilde, Label og tekst. For å

komme fram til denne siden har bruker søkt med stikkord i søkefunksjonen øverst i

Masterpage-layouten.

I Soek.aspx.cs blir DataList initialisert i funksjonen Page_Load().

DataList blir bygget gjennom funksjonen bindDataList(). Det blir opprettet en forbindelse

opp mot databasen. I QueryString blir det spesifisert hvilke stikkord det er blitt søkt på, slik

at de kan matche og finne riktig søkeresultater fra databasen med en sql-spørring laget med

funksjonen getSql(), før forbindelsen blir lukket. Samtidig er DataList bygget opp mot en

sidetall-funksjon gjennom funksjonene dlPaging_ItemCommand(), lnkbtnPrevious_Click(),

lnkbtnNext_Click() og dlPaging_ItemDataBound(). I getSql() er det tilrettelagt for flere enn

ett søkeord som er vedlagt. Søkeordene kan skilles enten med mellomrom, ”+”-tegn eller ”,”

mellom seg. For eksempel ”kjøttboller + saus” eller ”kjøttboller saus” eller ”kjøttboller,

saus”.

Page 103: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

49

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Fremtidige punkter

Stikkordsøkemotoren er ikke knyttet opp mot valgt matintoleranse, noe som burde

implementeres snarest. Søkeren skal kunne søke på stikkordet sitt først og deretter velge

matintoleranse.

4.4.18 Usett

Usett.aspx og Usett.aspx.cs

Figur 29: Usett.aspx

Page 104: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

50

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

Funksjonalitet

Denne siden viser oversikt over oppskrifter som venter i sikkerhetskontrollen. Disse

oppskriftene er blitt sendt inn og venter på en vurdering for å bli godkjent. Herfra kan

moderator eller administrator velge ut hvilken oppskrift som skal vurderes videre for

godkjenning, endring eller sletting.

Klasse og funksjoner

Klasse:

- public partial class Usett : System.Web.UI.Page

Funksjoner:

- protected void Page_Load( object sender, EventArgs e)

o Autentisering.

- private void buildDataList()

o Bygger opp DataList med en liste over oppskrifter til sikkerhetskontrollen.

- public int CurrentPage()

- private void doPaging()

- protected void dlPaging_ItemCommand( object source, DataListCommandEventArgs

e)

- protected void lnkbtnPrevious_Click( object sender, EventArgs e)

- protected void lnkbtnNext_Click( object sender, EventArgs e)

- protected void dlPaging_ItemDataBound( object sender, DataListItemEventArgs e)

Hvordan det fungerer

I Usett.aspx bygges det opp en DataList (dlOppskrifter) som viser oversikt over oppskrifter

som venter i sikkerhetskontrollen. Denne listen består av bilde, Label og lenke. Nederst på

siden er det en sidetallviser satt sammen av av to LinkButton og en DataList.

Sidetallvisningen er knyttet opp mot følgende funksjoner i Usett.aspx.cs:CurrentPage(),

doPaging(), dlPaging_ItemCommand(), lnkbtnPrevious_Click(), lnkbtnNext_Click() og

dlPaging_ItemDataBound().

I funksjonen Page_Load() i Usett.aspx.cs blir det sjekket om brukeren er moderator. Hvis

dette ikke er tilfelle vil ikke bruker få tilgang til denne siden, og bli returnert til startsiden.

Oversikten over oppskrifter til godkjenning ligger i en DataList, som blir bygget opp gjennom

funksjonen buildDataList(). Først blir det opprettet en forbindelse opp mot databasen.

Videre innhenter sql-spørringen de oppskriftene som er ikke godkjente, før

databaseforbindelsen blir avsluttet.

Page 105: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

51

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.5 Konfigurasjonsfilen web.config

web.config

Funksjonalitet

Web.config er en fil som inneholder sentrale innstillinger og konfigurasjoner som er felles

for hele ASP.NET web-applikasjonen.

Hvordan det fungerer

Web.config filen er et XML dokument som definerer konfigurasjonsinformasjonen til en

web-applikasjon. Web.config-filen inneholder informasjon som kontrollerer modullasting,

sikkerhetskonfigurasjon, sesjontilstander, applikasjonsspråk og kompileringsinnstillinger.

Web.config-filen kan også inneholde applikasjons-spesifikke variabler som for eksempel en

variabel som benyttes ved oppkobling mot en database (connectionstring).

I Matsans sitt tilfelle ble denne filen benyttet til å inneholde globale statiske variabler. For

eksempel forenklet det databaseoppkoblingen ved å legge inn en egen oppkobling i

web.config:

<connectionStrings>

<add name="MatConnectionString" connectionString="Data

Source=(local)\SqlExpress;Initial Catalog=Matos;Integrated

Security=True" providerName="System.Data.SqlClient"/>

</connectionStrings>

Så kan det hentes ut igjen i alle dokumentene med:

string matsansConnectionString = ConfigurationManager.ConnectionStrings[

"MatConnectionString"].ConnectionString;

På samme måte er det enkelt å endre på statiske e-post adresser, SMTP-server og

innstillinger for databaseoppkoblingen.

Den store fordelen er altså at endring i konfigurasjonen kan gjøres i én sentral fil, i stedet for

i hver enkelt fil. Tidsbesparingen kan bli svært stor og det medbringer også bedre oversikt

for utviklerne.

Page 106: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

52

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.6 Mapper og deres filer

I Matsans finnes det både ASP.NET-mapper og egne mapper. Noe struktur er satt på

forhånd for å kompilere koden, mens noe struktur er opp til brukeren. Følgende punkter

forklarer mappene og deres filer.

Figur 30: Matsans sine mapper

4.6.1 App_Code mappen

Funksjonalitet

App_Code er en ASP.NET-mappe som inneholder alle frittstående/hjelpe .cs/.vb filer, og de

blir kompilert automatisk når som helst noe blir forandret i filene. Alle klasser i denne

mappen blir automatisk henvist til resten av applikasjonen.

4.6.2 App_Data mappen

Funksjonalitet

App_Code er en ASP.NET-mappe som lar deg bruke en filbasert database. Mappen kan

inneholde SQL Server, Access, XML, Excel filer og hvilken som helst annen filbasert

datalagringsfil.

4.6.3 App_Themes mappen og stilark

App_Themes mappen, Theme1 mappen og Chocolate.css stilarket

Funksjonalitet

ASP_Themes er en ASP.NET mappe som inneholder filer til å endre utseendet på web-

applikasjonen/siden. Det kan være tema i både Skin (.skin)-filer og stilark (.css).

Hvordan det fungerer

I vår App_Themes mappe har vi laget en Theme1 mappe som inneholder stilarket

Chocolate.css.

Page 107: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

53

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

CSS står for Cascading Style Sheets, som er et stil-språk som definerer layouten for et

tilhørende HTML-dokumentent. For eksempel dekker CSS: font, farge, marginer, linjer,

høyde, bredde, bakgrunnsbilder, avanserte posisjoner og mye mer.

Matsans sin Masterpage er linket til Chocolate.css. Derfra er stilen definert i Masterpage,

som igjen definerer malen på layouten.

4.6.4 Bin mappen

Funksjonalitet

Bin er en ASP.NET-mappe som kan inneholde kompilerte filer (.dll) for egenkomponerte

ASP.NET-kontrollere, -komponenter og annen kode som man ønsker å ha automatisk

henvisning til i din ASP.NET web-applikasjon.

4.6.5 FreeTextBox mappen

Funksjonalitet

FreeTextBox-mappen inneholder filene til ASP.NET sitt tekstredigeringsverktøy ved navnet

FreeTextBox.

4.6.6 Images mappen

Images-mappen, Annet-mappen, Artikler-mappen, Layout-mappen, Oppskrifter-mappen og

Folkets oppskrifter-mappen, samt tilhørende filer (i stort sett .jpg).

Funksjonalitet

Images inneholder bildene tilhørende oppskrifter i databasen og Matsans sin layout.

4.6.7 UserControl mappen

UserControl mappen og Header.ascx

Funksjonalitet

I UserControl-mappen blir det lagret user control-filer (.ascx) som er kun laget for Matsans.

Page 108: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

54

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

4.7 Favicon.ico

Figur 31: Favicon foran URL og på fane.

Funksjonalitet

En favicon (favourites icon), også kjent som webside ikon, snarvei ikon, url ikon og

bokmerke ikon, er et 16x16 pixel firkantet ikon som assosieres med en webside. Ofte står

dette ikonet foran URL-en i adresselinjen til nettleseren. Ikonet vil også stå først i en fane

foran navnet til websiden.

Hvordan det fungerer

Matsans sin favicon.ico ligger i roten av katalogen og er knyttet opp mot MasterPage med

følgende linje i <head> seksjonen:

<link rel="shortcut icon" href="favicon.ico" />

Page 109: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

55

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

5. Oppsummering

De foregående kapitlene har gitt leseren innsikt for prosjektets bakgrunn og teknologiske

valg underveis. Videre får leseren en introduksjon overfor hvordan prosjektet er bygget opp

av de valgte teknologiene. Innholdet er skrevet for å gi de som skal drifte nettstedet videre

(1) en interesse for å bringe ideen om matintoleranse videre og (2) et forenklet syn på

teknologien med bakgrunn i de teknologiske innføringene leseren får gjennom dette

dokumentet.

Page 110: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

56

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

6. Referanseliste

Torvatn, Ann-Mari (2007). Dokumentasjonsstandard. http://www.iu.hio.no/~ulfu/hovedprosjekt/dokumenter/dokumentasjonsstandard.pdf

http://forums.asp.net/t/1026147.aspx [25.05.2009]

http://student.iu.hio.no/hovedprosjekter/2004/data/04/docs/produktrapport.pdf

http://student.iu.hio.no/hovedprosjekter/2006/data/28/linker/produkt.htm [20.03.2009]

http://student.iu.hio.no/hovedprosjekter/2005/data/31/00_www/produktdok.php [21.03.2009]

http://student.iu.hio.no/hovedprosjekter/2008/data/16/dokumenter/Produktdokumentasjon.pdf

Page 111: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

57

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

7. Vedlegg: Eksempel på kildekode i aspx.cs fil

Dette er et eksempel på kildekoden i en aspx.cs fil. Resten av kildekoden finner du på

prosjekthjemmesiden (http://matsansen.moo.no eller http://matsans.wordpress.com).

7.1 Oppskrift.aspx.cs

public partial class Oppskrift : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

setImages();

buildDataList();

buildKommentar();

buildKnapp();

}

private void setImages()

{

// Set imageurl

imgBtnMiddag.Attributes.Add("onmouseover",

"this.src='./Images/Layout/alto_middag.jpg'");

imgBtnMiddag.Attributes.Add("onmouseout",

"this.src='./Images/Layout/bw_middag.jpg'");

imgBtnTilbehør.Attributes.Add("onmouseover",

"this.src='./Images/Layout/alto_tilbehør.jpg'");

imgBtnTilbehør.Attributes.Add("onmouseout",

"this.src='./Images/Layout/bw_tilbehør.jpg'");

imgBtnDessert.Attributes.Add("onmouseover",

"this.src='./Images/Layout/alto_dessert.jpg'");

imgBtnDessert.Attributes.Add("onmouseout",

"this.src='./Images/Layout/bw_dessert.jpg'");

imgBtnDrikke.Attributes.Add("onmouseover",

"this.src='./Images/Layout/alto_drikke.jpg'");

imgBtnDrikke.Attributes.Add("onmouseout",

"this.src='./Images/Layout/bw_drikke.jpg'");

imgBtnBakst.Attributes.Add("onmouseover",

"this.src='./Images/Layout/alto_bakst.jpg'");

imgBtnBakst.Attributes.Add("onmouseout",

"this.src='./Images/Layout/bw_bakst.jpg'");

}

private void buildDataList()

{

// Define connectionstring

string myConnection = ConfigurationManager.ConnectionStrings[

"MatConnectionString"].ConnectionString;

string oppid = Request.QueryString["oppid"];

// Define sql command

string sqlopp1 = "SELECT Oppskrifter.OppskriftID,

Oppskrifter.Tittel, Oppskrifter.Beskrivelse, Oppskrifter.Porsjoner, " +

"Oppskrifter.Enhet, Oppskrifter.Ingredienser,

Oppskrifter.Fremgangsmåte, Oppskrifter.Vanskelighetsgrad, Oppskrifter.Tid,

" +

"Oppskrifter.Sunn, Oppskrifter.Kilde, Bilde.BildeURL FROM

Oppskrifter, Bilde " +

"WHERE Oppskrifter.OppskriftID = '" + oppid + "' " +

Page 112: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

58

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

"AND Oppskrifter.OppskriftID = Bilde.OppskriftID " ;

// Instantiate connection string and command in SqlDataAdapter

myAdapter

SqlDataAdapter myAdapter = new SqlDataAdapter(sqlopp1,

myConnection);

// Create and fill a DataSet

DataSet ds = new DataSet();

myAdapter.Fill(ds);

// Bind the datalist to the dataset

dlOppskrift.DataSource = ds;

dlOppskrift.DataBind();

}

protected void btnSend_Click(object sender, EventArgs e)

{

// Define data objects

SqlConnection conn;

SqlCommand comm;

// Open the connection

string connectionString = ConfigurationManager.ConnectionStrings[

"MatConnectionString"].ConnectionString;

// Initialize connection

conn = new SqlConnection(connectionString);

// Create command

comm = new SqlCommand("INSERT INTO Kommentar ( OppskriftID,

Kommentar, UserID, Username, Dato) " +

"VALUES (@OppskriftID, @Kommentar, @UserID, @Username, @Dato)",

conn);

// Get UserID of current user of ASP.NET membership

MembershipUser member = Membership.GetUser();

string oppid = Request.QueryString["oppid"];

TextBox txtKommentar =

(TextBox)LoginView1.FindControl("txtKommentar");

// Add command parameters

comm.Parameters.Add("@OppskriftID",

System.Data.SqlDbType.NVarChar);

comm.Parameters["@OppskriftID"].Value = oppid;

comm.Parameters.Add("@Kommentar", System.Data.SqlDbType.NVarChar);

comm.Parameters["@Kommentar"].Value = txtKommentar.Text;

comm.Parameters.Add("@UserID", System.Data.SqlDbType.NVarChar);

comm.Parameters["@UserID"].Value =

member.ProviderUserKey.ToString();

comm.Parameters.Add("@Username", System.Data.SqlDbType.NVarChar);

comm.Parameters["@Username"].Value = member.UserName.ToString();

comm.Parameters.Add("@Dato", System.Data.SqlDbType.DateTime);

comm.Parameters["@Dato"].Value = DateTime.Now;

// Open the connection

Page 113: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

59

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

conn.Open();

// Execute the command

comm.ExecuteNonQuery();

// Close the connection

conn.Close();

string url = Request.Url.ToString();

Response.Redirect(url);

}

private void buildKommentar()

{

string connectionString = ConfigurationManager.ConnectionStrings[

"MatConnectionString"].ConnectionString;

SqlConnection myConnection = new SqlConnection(connectionString);

string oppid = Request.QueryString["oppid"];

string sql = "SELECT OppskriftID, KommentarID, Kommentar, UserID,

Username, Dato " +

"FROM Kommentar WHERE OppskriftID = '" + oppid + "' ORDER BY

Dato ASC";

SqlDataAdapter myAdapter = new SqlDataAdapter(sql, myConnection);

// Create and fill a DataSet

DataSet ds = new DataSet();

myAdapter.Fill(ds);

// Bind the datalist to the dataset

dlKommentar.DataSource = ds;

dlKommentar.DataBind();

}

private void buildKnapp()

{

if (User.IsInRole("moderator"))

{

int count = dlKommentar.Items.Count;

for (int i = 0; i < count; i++)

{

LinkButton lbSlett =

(LinkButton)dlKommentar.Controls[i].FindControl("lbSlett");

lbSlett.Text = "Slett kommentar";

}

lbEndre.Text = "Endre oppskrift";

}

}

protected void lbEndre_Click(object sender, EventArgs e)

{

string oppid = Request.QueryString["oppid"];

Response.Redirect("EndreOppskrift2.aspx?oppid=" + oppid);

}

protected void dlKommentar_DeleteCommand(object source,

DataListCommandEventArgs e)

{

Page 114: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

60

PRODUKTDOKUMENTASJON Matsans - matsiden for matintoleranse

int komid =

Convert.ToInt32(dlKommentar.DataKeys[e.Item.ItemIndex]);

// Define data objects

SqlConnection conn;

SqlCommand comm;

// Open the connection

string connectionString = ConfigurationManager.ConnectionStrings[

"MatConnectionString"].ConnectionString;

// Initialize connection

conn = new SqlConnection(connectionString);

// Create command

comm = new SqlCommand("DELETE FROM Kommentar WHERE KommentarID = '"

+ komid + "'", conn);

// Open the connection

conn.Open();

// Execute the command

comm.ExecuteNonQuery();

// Close the connection

conn.Close();

string url = Request.Url.ToString();

Response.Redirect(url);

}

}

Page 115: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 116: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 117: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 118: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 119: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 120: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

2

TESTRAPPORT Matsans - matsiden for matintoleranse

Page 121: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

3

TESTRAPPORT Matsans - matsiden for matintoleranse

Forord

Dette dokumentet er testrapporten til Matsans. Den beskriver hva som er blitt testet og

hvilke resultater det medførte.

Testing ble utført både under utvikling og etter ferdigstilling av produktet. Iterativ testing

med tilbakemeldinger har vært en betydelig del av utviklingsprosessen for å kunne gjøre

stadig forbedringer og styre utviklingen. Testresultatene viser først og fremst hva som kan

forbedres, men det tilfører også utviklingen nye perspektiver. Mange mangler er allerede

fikset av gruppen, men nye dukker opp og det er fortsatt en del som gjenstår grunnet

gruppens begrensede tids- og arbeidsressurser.

Testrapporten beskriver to typer tester som er blitt utført: funksjonstest og brukertest.

Funksjonstest er en systematisk test for å feilteste programkodens funksjonalitet. Mens en

brukertest er en form for brukbarhetstesting utført av frivillige testpersoner.

Figur 1, kilde: thedailygreen.com

Page 122: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

4

TESTRAPPORT Matsans - matsiden for matintoleranse

Innholdsfortegnelse

1. Funksjonstest ................................................................................................................................. 5

1.1 Logg Inn ......................................................................................................................................... 5

1.2 Linker ............................................................................................................................................. 5

1.3 Registrering ................................................................................................................................... 6

1.4 Logg ut ........................................................................................................................................... 6

1.5 Startsiden ...................................................................................................................................... 6

1.6 Stikkord søk ................................................................................................................................... 6

1.7 Navigasjonssystemet .................................................................................................................... 7

1.8 Innsendingsskjemaer .................................................................................................................... 7

1.9 Kommentar ................................................................................................................................... 8

1.10 Endre oppskrift............................................................................................................................ 8

1.11 Sikkerhetskontrollen ................................................................................................................... 9

1.12 Telleren ....................................................................................................................................... 9

1.13 Nettsamfunn ............................................................................................................................... 9

2. Brukertest ..................................................................................................................................... 10

2.1 Testresultater til brukertest av Matsans ..................................................................................... 11

2.2 Vedlegg: Brukertest av Matsans ................................................................................................. 13

3. Referanseliste ............................................................................................................................... 18

Page 123: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

5

TESTRAPPORT Matsans - matsiden for matintoleranse

1. Funksjonstest

Funksjonstesten er blitt utviklet med kjennskap til programmeringskoden for å teste de

forskjellige funksjonene i produktet systematisk. Testen er utført av gruppen selv.

1.1 Logg Inn

Funksjon Formål Kommentar

Logge inn. At logg inn fungerte optimalt. OK.

Logge inn med ugyldig brukernavn/passord.

At det blir foretatt en sjekk på bruker opp mot databasen.

OK. Feilmelding ble vist.

Logge inn som administrator.

At brukerrollen administrator fungerer riktig.

OK. Forhåndsbestemte rettigheter kun for administrator blir vist.

Logge inn som moderator.

At brukerrollen moderator fungerer riktig.

OK. Forhåndsbestemte rettigheter kun for moderator blir vist.

Logge inn som medlem. At brukerrollen medlem fungerer riktig.

OK. Forhåndsbestemte rettigheter kun for medlem blir vist.

1.2 Linker

Funksjon Formål Kommentar

Trykke på logoen ”Matsans” helt øverst.

At linken fører til ”Hjem” OK. ”Hjem” siden ble vist.

Trykke på linken ”Hjem” i menyen.

At linken fører til ”Hjem” OK. ”Hjem” siden ble vist.

Trykke på linken ”Artikler” i menyen.

At linken fører til ”Artikler” OK. ”Artikler” siden ble vist.

Trykke på linken ”Nettsamfunn” i menyen.

At linken fører til ”Nettsamfunn” OK. ”Nettsamfunn” siden ble vist.

Trykke på linken ”Om Matsans” i menyen.

At linken fører til ”Om Matsans” OK. ”Om Matsans” siden ble vist.

Trykke på linken ”Min side” i menyen.

At linken fører til ”Min side” OK. ”Min side” siden ble vist.

Trykke på linken ”Vis mer” på en oppskrift.

At linken fører riktig oppskrift. OK.

Trykke på bildet av en oppskrift.

At linken fører til riktig oppskrift. OK.

Trykke på linken ”her” for å gå til registreringssiden.

At linken fører til registreringssiden.

OK. Registreringssiden ble vist.

Trykke på linker under Min side.

At linkene fører til riktige sider. OK.

Page 124: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

6

TESTRAPPORT Matsans - matsiden for matintoleranse

1.3 Registrering

Funksjon Formål Kommentar

Registrere ny bruker. At bruker blir registrert. OK.

Registrer bruker med brukernavn som er tatt.

At brukerinformasjonen blir sjekket opp mot databasen.

OK. Beskjed ble gitt.

Registrer bruker med to forskjellige passord.

At det blir sjekket om passord samsvarer med hverandre.

OK. Beskjed ble gitt.

Registrer bruker med manglede informasjon.

At det blir sjekket om informasjon mangler.

OK. * ble vist for manglende informasjon.

Registrer bruker med gyldig e-post.

At det blir sjekket om e-posten er gyldig.

Nei, all tekst kan bli registrert. Anbefaler å sjekke e-postens gyldighet i fremtiden.

1.4 Logg ut

Funksjon Formål Kommentar

Logg ut At bruker blir logget helt ut av systemet.

OK.

1.5 Startsiden

Funksjon Formål Kommentar

Oppdatere siden. At tilfeldige oppskrifter blir oppdatert.

OK.

Dagens oppskrift. At dagens oppskrift viser en ny oppskrift hver dag.

Ja, hver dag vil det bli vist en ny oppskrift. Men hvis nye oppskrifter blir lagt inn, vil dagens oppskrift bli endret.

1.6 Stikkord søk

Funksjon Formål Kommentar

Søk med ett stikkord. At stikkordet blir funnet i databasen

OK. Søkte etter sitron og fikk oppskrifter med sitron.

Page 125: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

7

TESTRAPPORT Matsans - matsiden for matintoleranse

Søk med flere stikkord. At flere stikkord blir funnet i databasen.

Ja, søkte etter sitron og mel og fikk oppskrifter med sitron eller mel. Men det var ikke mulig å søke etter oppskrifter som inneholdt både sitron og mel. Søkte både med + tegn og med mellomrom mellom stikkordene og det gikk bra.

Søk med tomt felt. At ingenting blir funnet. Nei, alt blir derimot funnet. Alle oppskrifter som har et mellomrom.

Trykke på søk knappen uten å skrive noe

At ingenting blir funnet. Ja, ingenting blir funnet på setningen ”Søk på oppskrifter og artikler”, som står i søkefeltet fra før av.

1.7 Navigasjonssystemet

Funksjon Formål Kommentar

Trykk på alle kategoriene (Middag, Tilbehør, Dessert, Drikke, Bakst).

At databasen henter frem alle oppskrifter i tilhørende kategori.

OK.

Trykk på alle underkategoriene.

At databasen henter frem alle oppskrifter i tilhørende underkategori.

OK.

Velge en eller flere matintoleranse(r).

At databasen henter frem oppskrifter uten valgt(e) matintoleranse(r).

OK.

Velge ”Folkets oppskrifter” At databasen også henter oppskrifter fra Folkets oppskrifter.

Ja, men i en oppskrift skrevet av folket, blir det ikke vist innsenderens navn i kilde, enda innsenderens navn er lagret i databasen.

1.8 Innsendingsskjemaer

Funksjon Formål Kommentar

Sende inn oppskrifter via skjema til Matsans.

At ny oppskriftinformasjon blir lagret i databasen.

OK.

Sende inn til Folkets oppskrifter via skjema.

At ny oppskriftinformasjon blir lagret i databasen.

OK.

Trykke på Tøm skjema. At skjema blir nullstilt. OK.

Page 126: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

8

TESTRAPPORT Matsans - matsiden for matintoleranse

Laste opp en ikke-bildefil gjennom skjemaet.

At ugyldig bildefil skal gi feilmelding.

OK. Får beskjed om dette.

Ikke opplastet bildefil ved innsending av oppskrift.

At en standard bildefil vil bli brukt i stedet for at bildevinduet skal stå tomt.

OK. En standard bildefil blir brukt i stedet for å stå tomt.

1.9 Kommentar

Funksjon Formål Kommentar

Legge inn en kommentar. At databasen registrer en ny kommentar.

OK.

Slette en kommentar. At databasen sletter valgte kommentar.

OK.

1.10 Endre oppskrift

Funksjon Formål Kommentar

Endre tittel. At tittel blir endret. OK.

Endre beskrivelse. At beskrivelse blir endret. OK.

Endre tid. At tid blir endret. OK.

Endre vanskelighetsgrad. At vanskelighetsgrad blir endret.

OK.

Endre ingredienser. At ingredienser blir endret. OK.

Endre antall porsjoner. At antall porsjoner blir endret.

OK.

Endre enhet. At enhet blir endret. OK.

Endre sunnhet. At sunnhet blir endret. Ja, denne funksjonen er registrert, men er ikke synlig på oppskriften som blir vist til brukere enda.

Endre kategori. At kategori blir endret. Nei, den er foreløpig fastsatt på grunn av en funksjon hvor underkategori er avhengig av kategori.

Endre underkategori. At underkategori blir endret. OK.

Endre matintoleranse. At matintoleranse blir endret.

OK.

Endre bilde At nytt bilde blir lastet opp og tilgjengeliggjort i oppskriften.

Nei. Denne funksjonen er ikke utviklet enda.

Page 127: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

9

TESTRAPPORT Matsans - matsiden for matintoleranse

1.11 Sikkerhetskontrollen

Funksjon Formål Kommentar

Trykke Tilbake knappen. At leseren blir ført tilbake. OK, leseren ble ført tilbake til oversiktssiden i sikkerhetskontrollen.

Trykke på Endre knappen. At leseren blir ført til Endre siden.

OK.

Trykke på Slett knappen. At oppskriften blir slettet fra databasen.

OK.

Trykke på Godkjenn knappen.

At oppskriften blir godkjent i databasen.

OK.

Trykke på linken ”Sjekk oppskrift”.

At linken fører til oppskriften.

OK.

Trykke på bildet av en oppskrift.

At bildelinken fører til valgt oppskrift.

OK.

1.12 Telleren

Funksjon Formål Kommentar

Trykke på et sidetall. At gjeldende side blir vist. OK.

Trykke på Forrige knappen At forrige side blir vist. OK.

Trykke på Neste knappen. At neste siden blir vist. OK.

1.13 Nettsamfunn

Funksjon Formål Kommentar

Trykke på lenker (forum, emne, lenkeliste).

At lenken går til riktig sted. OK.

Skrive nytt emne. At nytt emne blir skrevet uten problemer og lagret i databasen.

OK.

Svare på emne. At svaret blir registrert og ny post dukker opp i emnet.

OK, men emnelisten blir ikke oppdatert. Bør få emnet med sist aktivitet på toppen av emnelisten.

Page 128: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

10

TESTRAPPORT Matsans - matsiden for matintoleranse

2. Brukertest

I en brukertest utfører målgrupper forhåndsskrevne oppgaver relatert med brukbarheten til

nettstedet. Brukerne bringer inn et annerledes perspektiv enn utviklerne og fremstår

dermed som en stor ressurs i utviklingsprosessen. Resultatet kan gi essensiell kunnskap om

målgruppene og brukes til å forbedre nettstedet, som fører til mer fornøyde brukere.

Brukertesting kan være med på å skape ideer tidlig i utviklingsfasen, men kan også være

med på å effektivt avdekke problemområder og andre svakheter i løpet av hele

utviklingssyklusen.

Dette kapittelet inneholder forarbeid og testresultater fra brukertesten som ble

gjennomført. Brukertesten følger som vedlegg.

Figur 2: En brukerstudie hvor testpersonen prater ut sine tanker til testansvarlig. Kilde: iallenkelhet.no

Page 129: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

11

TESTRAPPORT Matsans - matsiden for matintoleranse

2.1 Testresultater til brukertest av Matsans

Spørsmålene til brukertesten ble utviklet med hensyn til å teste ut nettstedets kvalitet,

brukervennlighet og tilgjengelighet.

Brukertesten er tredelt. I den første delen blir vi kjent med testpersonenes bakgrunn og

deres forventninger til en matside for matintoleranse. I den andre delen får testpersonen

utdelt oppgaver som skal gjennomføres på nettstedet. I den tredje og siste delen blir det

gjort en evaluering av brukertesten og det bes om andre inntrykk de fra nettstedet ønsker å

gi uttrykk for, som ikke har blitt belyst andre steder i testen.

2.1.1 Del 1: Målgruppe og forventninger

Målgruppen til Matsans består av mennesker i alle aldre, fortrinnsvis med matintoleranse.

Testpersonene hadde ulike bakgrunner og dataferdighetsnivå. Det ble funnet ut at

gjennomsnittspersonen av de som deltok i testen bruker seks timer per døgn på

datamaskinen, inkludert arbeidstid. Minimumsbruken av datamaskinen består av å bruke

Word eller lignende, mens minimumsbruken av internett består av å bruke Google sin

søkefunksjon.

Innhold som er forventet å finne på en matside for matintoleranse er:

Informasjon, råd og veiledning til de som er matintolerante.

Oppskrifter uten de ingrediensene som vedkommende er allergisk/intolerant for.

2.1.2 Del 2: Testoppgaver og brukervennlighet

Ved å gjøre oppgaver på nettstedet ble testpersonene kjent med Matsans. Samtidig gir

dette et inntrykk av hvordan brukervennligheten er på nettstedet.

Gjennomsnittspersonen fant det lett å bruke stikkordssøkefunksjonen til å finne oppskrifter.

Det er forståelig å velge matintoleranse i venstremenyen, men noen hadde litt problemer

med å forstå hvordan man fjernet en valgt matintoleranse. Det største problemområdet var

riktignok å oppdage underkategori–menyen, da det ikke var alle som fant den.

Det var ingen problemer med å registrere seg som medlem. Kommentarfunksjonen på

oppskrifter gikk også problemfritt. Ellers var det litt småproblemer med å forstå hvordan et

forum fungerte.

Gjennomsnittstiden på utførelsen av oppgavene var 16 minutter.

2.1.3 Del 3: Evaluering og inntrykk

Testpersonene syntes brukertesten var morsom og informativ. En deltaker kom med et tips

til den neste brukertesten om å bruke mindre spørsmål som krever tekst som svar. Det ble

også foreslått å forhåndsdefinere svar som var mulig å skalere fra eksempelvis 1 til 10. Dette

ville være raskere for testdeltakeren å svare på, og det blir enklere å måle resultatene for

Matsans.

Page 130: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

12

TESTRAPPORT Matsans - matsiden for matintoleranse

Noe kritikk er rettet mot manglende forklaring til matintoleransemenyen. At et klikk velger

matintoleranse, mens det neste klikket velger bort matintoleransen. Navigasjonsmenyen må

også ”huske” hvor på siden brukeren befinner seg etter et klikk. Akkurat nå blir brukeren

kastet tilbake til toppen av siden hver gang et valgt blir gjort på navigasjonsmenyen.

Rosen går til ideen bak nettstedet. Det er en nytenkende matside for matintolerante på

internett. Designet er ”rent og pent”. Ingenting å klage på der. Navigasjonsmenyen som

bruker elimineringsmetoden for matintoleranse får også positiv mottagelse.

En av testdeltakerne savner en form for selvtest opp mot sine egne matintoleranser, som en

slags matintoleransesjekk for de besøkende. Mange mennesker som opplever kroppslige

problemer vet ikke klar over at de har en matintoleranse, da de bare har ”vondt i magen”.

Helhetsinntrykket til Matsans er: ”Superfin, fine bilder og lovende ide bak nettstedet”.

2.1.4 Konklusjon

Nettstedet Matsans er basert på en nytenkende, omtenksom og lovende idé Designet og

layout ble veldig godt mottatt. Navigasjonsmenyen er bra.

Likevel er det nok å jobbe videre med. Blant annet de problemområdene som kom fram som

en naturlig følge av brukertesten:

Synliggjør underkategorimenyen.

En matintoleransesjekk for å finne ut om besøkende har matintoleranse eller ei.

En forklaring til navigasjonsmenyen.

Huske brukerens fokus på siden etter at bruker trykker på et ikon i

navigasjonsmenyen.

Page 131: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

13

TESTRAPPORT Matsans - matsiden for matintoleranse

2.2 Vedlegg: Brukertest av Matsans

Velkommen til brukertest.

Denne testen tester nettstedet, ikke deg. Ingenting du gjør er feil. Vi er interessert i å høre

hva du synes, ikke vær redd for å gi verken kritikk eller ros. Det oppfordres til å tenke høylytt

om testen utføres med en observatør tilstede.

Testen består av noen innledende spørsmål. Så vil vi be deg om å utføre en del konkrete

oppgaver. Til slutt ønsker vi å høre litt generelt om hva du synes om nettstedet og testen.

Testresultatene kommer til å bli oppsummert i en kort rapport, hvor du selvfølgelig er

anonym.

Estimert tidsbruk for denne testen er 10-30 minutter, avhengig av dine dataferdigheter.

Lykke til!

Hilsen,

Page 132: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

14

TESTRAPPORT Matsans - matsiden for matintoleranse

Innledende spørsmål

1) Noter starttidspunktet for testen:

2) Hva driver du med til daglig?

[ ] Student – linje/hovedfag:

[ ] Fast arbeid - yrkesposisjon:

[ ] Uten arbeid

3) Alder:

4) Kjønn:

[ ] Mann [ ] Kvinne

5) Hvor mange timer i snitt bruker du foran datamaskinen per døgn?

[ ] 0-2 [ ] 2-4 [ ] 4-6 [ ] 6 og mer

6) Hvilke pleier du å gjøre på datamaskinen?

[ ] Programmering [ ] Hjemmesidebygging [ ] PC bygging [ ] Word eller lignende

[ ] Internett [ ] Design [ ] Spille

[ ] Annet, spesifiser:

7) Hva pleier du å bruke internett til?

[ ] Nyheter [ ] Nedlastninger [ ] Finne opplysninger [ ] MSN eller lignende

[ ] Chat [ ] Nettsurfing [ ] Spille [ ] Handle [ ] Forum [ ] Finne oppskrifter [ ] E-post

[ ] Annet, spesifiser:

8) Hva slags innhold forventer du å finne på en matside for matintoleranse?

Page 133: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

15

TESTRAPPORT Matsans - matsiden for matintoleranse

Testoppgaver

Start datamaskinen.

Åpne en nettleser og gå til http://matsans.moo.no.

9) Noter starttidspunktet for testoppgavene:

Oppskrift

10) Du ønsker å lage deg en frisk smoothie etter en treningsøkt. Finn en

smoothieoppskrift. (Smoothie er en tyktflytende og forfriskende drikk som er laget

av most, hel frukt eller bær, isbiter og eventuelt litt yoghurt.

Hva heter oppskriften du fant?

Hvordan fant du oppskriften?

11) Er Bringerbærfryd en smoothieoppskrift?

Hvordan fant du ut det?

12) Du ønsker å lage en saus, og du har matintoleranse i melk og sitrus. Finn en saus

oppskrift tilpasset dine behov.

Hva heter oppskriften du fant?

13) Du ønsker å lage en ris rett, og du har matintoleranse i egg og sitrus. Finn en ris rett

oppskrift tilpasset dine behov.

Hva heter oppskriften du fant?

14) Hva er den tredje suppe oppskriften du finner når du har matintoleranse i belgfrukt?

15) Finn en oppskrift med kjøttkaker.

Hva heter oppskriften du fant, og hvordan fant du oppskriften?

Page 134: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

16

TESTRAPPORT Matsans - matsiden for matintoleranse

Medlem

16) Registrer deg som ny medlem.

Hvordan gikk det?

17) Kommenter på oppskriften Surkål Du kan skrive det du vil eller si: ”Surkål er surt.”

Hvordan gikk det?

18) Svar på emnet som heter Brukertest som ligger under kategorien Annet i forumet på

nettsamfunnet.

Hvordan gikk det?

19) Noter slutttidspunktet for testoppgavene:

Page 135: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

17

TESTRAPPORT Matsans - matsiden for matintoleranse

Debrief

20) Hvordan synes du brukertesten var?

21) Hva synes du om siden?

22) Er det noe som kunne vært gjort annerledes?

23) Hva er bra?

24) Hva er ikke fullt så bra og hvor betydelig er det?

25) Er det noe du savner?

26) Noe annet du vil si?

27) Noter slutttidspunktet for testen:

Page 136: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

18

TESTRAPPORT Matsans - matsiden for matintoleranse

3. Referanseliste

Torvatn, Ann-Mari (2007). Dokumentasjonsstandard. http://www.iu.hio.no/~ulfu/hovedprosjekt/dokumenter/dokumentasjonsstandard.pdf

http://74.125.77.132/search?q=cache:UNK0kt2rGloJ:student.iu.hio.no/hovedprosjekter/2005/data/31/00_www/testrapport.php+testrapport+hio&cd=2&hl=no&ct=clnk&gl=no&client=firefox-a [02.05.2009]

http://www.digi.no/275406/it-bransjen-roter-med-brukervennlighet [20.05.2009]

Page 137: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 138: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 139: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 140: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 141: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 142: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

2

BRUKERMANUAL Matsans - matsiden for matintoleranse

Page 143: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

3

BRUKERMANUAL Matsans - matsiden for matintoleranse

Forord

Dette dokumentet er brukermanualen for nettstedet Matsans. Den skal gi informasjon om

hva systemet kan gjøre – og hvordan brukeren skal gå frem for å oppnå sine mål.

Brukermanualen er beregnet på brukere av systemet som stiller med minimal IT-

kompetanse eller bedre. Det er forventet at brukeren er allerede kjent med internett som et

medium.

Brukermanualen er skrevet og delt opp etter instruksjoner for de ulike brukerrollene på

nettstedet. De tre forskjellige brukerrollene er bruker, medlem og administrasjon.

Figur 1, kilde: sxc.hu

Page 144: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

4

BRUKERMANUAL Matsans - matsiden for matintoleranse

Innholdsfortegnelse

1. Instruksjoner for bruker ................................................................................................................. 5

1.1 Startsiden ...................................................................................................................................... 5

1.2 Se en oppskrift .............................................................................................................................. 6

1.3 Navigasjonssystemet; Velg kategori, underkategori, matintoleranse og alternativ .................... 7

1.4 Registrering ................................................................................................................................... 9

1.5 Stikkord søk ................................................................................................................................. 10

1.6 Besøke sider på nettstedet ......................................................................................................... 11

2. Instruksjoner for brukerrollen: medlem ....................................................................................... 12

2.1 Logge inn ..................................................................................................................................... 12

2.2 Kommentere oppskrift ................................................................................................................ 13

2.3 Lage nytt forumemne ................................................................................................................. 14

2.4 Sende inn oppskrift til Folkets oppskrifter .................................................................................. 15

2.5 Svare på emne............................................................................................................................. 16

3. Instruksjoner for administrasjon ................................................................................................... 17

3.1 Administrasjonssiden .................................................................................................................. 17

3.2 Sende inn oppskrift til Matsans oppskrifter. ............................................................................... 17

3.3 Sikkerhetskontrollsiden .............................................................................................................. 19

3.4 Godkjenne eller slette oppskrift ................................................................................................. 20

3.5 Endre oppskrift ............................................................................................................................ 21

3.6 Slette kommentar ....................................................................................................................... 23

4. Tilbakemeldinger .......................................................................................................................... 24

Page 145: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

5

BRUKERMANUAL Matsans - matsiden for matintoleranse

1. Instruksjoner for bruker

Dette kapittelet er beregnet for rollen bruker og vil vise hva denne rollen har tilgang til på

Matsans. Brukerens tilgangsnivå gir leserettigheter på hele nettstedet, og alle

brukerroller(bl.a. medlem og administrator) med høyere tilgangsnivå innehar også

brukerens rettigheter.

1.1 Startsiden

Startsiden er det første brukeren ser når nettstedet besøkes. Det er flere valg brukeren kan

gjøre når denne siden besøkes.

Figur 2: Startsiden og valgmuligheter.

Logge inn.

Registrere seg for

å bli medlem.

Velg kategori for å se

utvalgte oppskrifter.

Velge å se mer av en

oppskrift fra startsiden.

Skrive inn

stikkord og søk. Besøk en side fra

menyen.

Page 146: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

6

BRUKERMANUAL Matsans - matsiden for matintoleranse

Bruker kan klikke seg inn på følgende valgmuligheter tilgjengelige fra startsiden:

- Velge å se mer av en oppskrift fra startsiden.

- Velge kategori og se mer av oppskrifter i utvalgt kategori.

- Registrere seg for å bli medlem.

- Logge inn.

- Skrive inn stikkord og søke i søkemotoren.

- Velge å besøke en side fra menyen.

1.2 Se en oppskrift

For å velge en oppskrift må brukeren klikke på bilde eller tekst tilhørende ønsket oppskrift.

Når det er gjort vil brukeren få fram følgende side:

Figur 3: Oppskriftsiden

Se oppskrift.

Logg inn for å

kommentere.

Page 147: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

7

BRUKERMANUAL Matsans - matsiden for matintoleranse

Hovedaktivitetene som bruker kan gjøre på oppskriftsiden er:

- Se oppskrift.

- Logge inn for å kommentere.

1.3 Navigasjonssystemet: Velg kategori, underkategori, matintoleranse og

alternativ

Menyen lar brukeren navigere seg frem til en oversikt med oppskrifter med bakgrunn i

brukerens preferanser. En bruker starter å navigere seg til oversiktssiden ved å først velge

en kategori fra startsiden.

Figur 4: Oversiktssiden med oppskrifter, og navigasjonssystemet.

Velg kategori.

Velg underkategori.

Velg matintoleranse.

Velg alternativ.

Velg en oppskrift.

Page 148: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

8

BRUKERMANUAL Matsans - matsiden for matintoleranse

Deretter kan bruker gjøre følgende hovedvalg på oversiktssiden:

- Legge til eller velge bort flere kategorier.

- Velge underkategori av valgte kategori.

- Legge til eller velge bort matintoleranse.

- Velge alternativet ”Folkets oppskrifter”.

- Velge en oppskrift fra oversikten.

Når et valg er gjort, vil ikonets farge endres fra grått til farget.

Figur 5: Oversiktssiden hvor kategori Middag, underkategori: Annet, matintoleranse: Melk og Nøtter er valgt.

Middag, annet, melk

og nøtter er valgt.

Page 149: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

9

BRUKERMANUAL Matsans - matsiden for matintoleranse

1.4 Registrering

En bruker kan registrere seg som et medlem av nettstedet. Registreringssiden kommer

brukeren til enten via en lenke på toppen av startsiden, eller en lenke på bunnen i menyen

på ”Min side”.

Figur 6: Registreringssiden med eksempel på utfylt skjema.

På registreringssiden må brukeren fylle inn et skjema for å bli medlem. Dersom innfyllingen

er mangelfull eller feil, vil brukeren få beskjed om dette før profilen blir opprettet.

Et sikkerhetsspørsmål er et spørsmål som kan bli stilt til brukeren for å gjenopprette et

glemt eller mistet passord. Svaret er skrevet i feltet ”Sikkerhetssvar”.

Figur 7: Registreringsside med feilmelding.

Fyll inn skjema og trykk

på Opprett bruker for å

bli medlem.

Feilmelding om opptatt

brukernavn, mangelfull

og feil informasjon.

Page 150: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

10

BRUKERMANUAL Matsans - matsiden for matintoleranse

1.5 Stikkord søk

Bruker kan søke etter oppskrifter med stikkord gjennom søkemotoren på toppen av siden.

Når bruker har skrevet inn stikkord og trykket på ”Søk”- knappen, vil det presenteres en

resultatoversikt med treff som matcher søkekriteriene. På resultatsiden kan brukeren klikke

seg videre inn på ønsket oppskrift.

Figur 8: Søkeresultatsiden med stikkordene: gresk honning.

Søk på stikkord er ikke begrenset til kun ett stikkord. Bruker kan søke med flere stikkord om

gangen og få søkeresultater som viser begge stikkordene.

Eksempel på søk med flere stikkord er: gresk honning Eller: gresk + honning.

Figur 8 viser søkeresultatene fra eksempelet hvor det søkes på stikkordene ”gresk” eller

”honning”.

Skriv inn stikkord og trykk på søk for

å få søkeresultater med stikkord.

Page 151: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

11

BRUKERMANUAL Matsans - matsiden for matintoleranse

1.6 Besøke sider på nettstedet

En besøkende kan se alle sider som rollen bruker har tilgang til, som er det laveste

tilgangsnivået man kan tildeles på nettstedet. Denne rollen harkun lesetilgang på utvalgte

områder. Nettstedet er bygget opp med ulike roller, og en besøkende vil bli tildelt denne

rollen.

Følgende valg i menyen kan en bruker besøke:

- Hjem (startsiden).

- Artikler.

- Nettsamfunn.

- Om Matsans.

- Min side (vil kun se innloggingssiden).

På disse sidene kan brukeren klikke seg videre inn for å se nærmere på informasjon.

Figur 9: Nettsamfunnet hvor en bruker kan klikke seg inn for å lese mer, uten å kunne delta i diskusjonen.

Klikk inn for å se på

forumemner.

Besøke sider fra menyen.

Page 152: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

12

BRUKERMANUAL Matsans - matsiden for matintoleranse

2. Instruksjoner for brukerrollen: medlem

Dette kapittelet er beregnet for brukerrollen medlem og vil vise hva medlemmet har aksess

til å gjøre på Matsans. Et medlem har et høyere tilgangsnivå enn en bruker, og derfor tilgang

på mer funksjonalitet. En bruker blir av nettstedet sett på som et medlem etter innlogging

og autentisering.

2.1 Logge inn

For å få tilgang til medlemssidene må brukeren først logge inn. Dette gjøres enten gjennom

innloggingssiden på ”Min side” eller øverst til høyre på siden.

For å logge inn må brukeren ha opprettet en profil på forhånd, noe man gjør ved å registrere

seg på nettstedet. En innlogging skjer når brukeren fyller inn riktig brukernavn og passord.

Figur 10: Innloggingssiden med utfylt informasjon for å logge seg inn.

Figur 11: Brukeren bruker er logget inn på innloggingssiden / Min side.

Fyll inn riktig brukernavn

og passord for å logge inn.

Bruker er logget inn og blir hilst

ved brukernavn. Her heter

brukeren: bruker.

Page 153: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

13

BRUKERMANUAL Matsans - matsiden for matintoleranse

2.2 Kommentere oppskrift

Et medlem kan først kommentere en oppskrift i innlogget tilstand. Kommentarene skrives i

kommentarboksen nederst på selve oppskriftsiden, og sendes ved å trykke på ”Send”-

knappen.

Figur 12: Kommentarboks for å fylle inn kommentar på oppskriftsiden.

Fyll inn kommentarboks med

tekst/kommentar og trykk på

send for å sende inn.

En kommentar.

Page 154: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

14

BRUKERMANUAL Matsans - matsiden for matintoleranse

2.3 Lage nytt forumemne

Et medlem kan kun lage nye forumemner i innlogget tilstand. Dette gjøres ved å velge

forumet hvor medlemmet ønsker å skrive et nytt emne og deretter trykke på ”Nytt Emne”-

knappen.

Figur 13: Forumemnelistesiden med Nytt Emne knapp for innlogget medlem.

Deretter er det bare å skrive tekst og trykke på ”Send”-knappen for å legge til det nye

emnet, eller ”Tilbake”-knappen om man ombestemmer seg.

Figur 14: NyttEmne-siden for medlem å skrive inn ønsket tekst til nytt emne.

Trykk på Nytt Emne

knappen for å skrive nytt

emne i ønsket forum.

Skriv inn tittel.

Skriv inn tekst.

Trykk på Send knappen

for å legge til nytt emne.

Trykk på Tilbake knappen for å

ikke legge til nytt emne alikevel.

Page 155: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

15

BRUKERMANUAL Matsans - matsiden for matintoleranse

2.4 Sende inn oppskrift til Folkets oppskrifter

Et innlogget medlem kan sende inn sin egen oppskrift ved å trykke på lenken ”Send inn

oppskrift til Folkets oppskrifter” under Min side.

Figur 15: Innloggingsside med mulighet til å sende inn Folkets oppskrift.

Her kan medlem fylle inn et skjema med informasjon om oppskriften. For å sende inn

oppskriften trykkes på ”Send”-knappen.

Figur 16: SendNyOppskrift-siden hvor medlem kan fylle inn oppskriften i et skjema.

Trykk på lenke for å sende inn

oppskrift til Folkets oppskrifter.

Fyll inn skjema

med informasjon

om medlemmets

oppskrift.

Trykk Send inn for å

sende inn oppskrift.

Trykk Tøm skjema for

å nullstille skjema.

Page 156: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

16

BRUKERMANUAL Matsans - matsiden for matintoleranse

2.5 Svare på emne

Innlogget medlem kan svare på et emne i forumet ved først å finne frem til det aktuelle emnet, for å

så skrive i tekstboksen nederst på emnesiden.

Figur 17: Emne-siden hvor medlem kan svare på øvrige kommentarer. Svarfeltet ligger nederst på siden.

Skriv kommentar

til emnet.

Trykk Send knapp

når svaret er klart

til å sendes inn.

Page 157: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

17

BRUKERMANUAL Matsans - matsiden for matintoleranse

3. Instruksjoner for administrasjon

Dette kapittelet er beregnet for administrasjonen, det vil si en som er enten rollen

administrator eller moderator, og inneholder informasjon om hva administrasjonen har

tilgang til å utføre på Matsans. Disse brukerrollene er forhåndsvalgt gjennom ASP.NET Web

Site Administration Tool/ ASP.NET Configuration for prosjektet Matsans gjennom

utviklingsverktøyet Visual Studio.

I tillegg til nye rettigheter har administrasjonen også tilgang på det samme som medlem og

bruker har.

3.1 Administrasjonssiden

Administrasjonen ser sine valgmuligheter fra innloggingssiden / Min side i venstre kolonne.

Følgende menyvalg er det kun administrasjonen som har tilgang på:

- Sende inn oppskrift til Matsans oppskrifter.

- Sjekke oppskrifter som venter i sikkerhetskontroll.

Figur 18: Innloggingssiden for administrasjonen.

3.2 Sende inn oppskrift til Matsans oppskrifter.

Administrasjon kan sende inn oppskrifter ved å trykke på lenken ”Send inn oppskrift til

Matsans oppskrifter” under Min side.

Send inn oppskrift til Matsans oppskrifter.

Sjekke oppskrifter som venter i sikkerhetskontroll.

Page 158: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

18

BRUKERMANUAL Matsans - matsiden for matintoleranse

Figur 19: Send inn Matsans oppskrift gjennom skjema.

Deretter kan administrasjonen fylle inn skjemaet med opplysninger om oppskriften og

trykke på ”Send inn”-knappen for å sende oppskriften inn til Matsans oppskrifter. ”Tøm

skjema”-knappen vil nullstille skjemaet.

Fyll inn skjema med

opplysninger til ny

Matsans oppskrift.

Trykk Send inn knappen

når oppskriften er klar til

å sendes inn.

Trykk Tøm skjema

knappen for å

nullstille skjemaet.

Page 159: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

19

BRUKERMANUAL Matsans - matsiden for matintoleranse

3.3 Sikkerhetskontrollsiden

Når administrasjonen trykker på lenken ”Sjekke oppskrifter til godkjenning” fra

innloggingssiden / Min side, kommer administrasjonen til en side som viser en oversikt over

oppskrifter som venter på å bli godkjent. Denne oversiktssiden går under navnet

sikkerhetskontrollen.

Figur 20: Sikkerhetskontrollen med oppskrifter som venter på godkjenning.

Administrasjonen kan fra denne oversiktssiden trykke seg inn på en oppskrift som det

ønskes å se nærmere på. Deretter følger valget om å godkjenne eller slette oppskrift.

Trykk på Sjekk oppskrift for å

se nærmere på en oppskrift i

sikkerhetskontrollen.

Page 160: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

20

BRUKERMANUAL Matsans - matsiden for matintoleranse

3.4 Godkjenne eller slette oppskrift

På godkjenningssiden, når administrasjonen har valgt en oppskrift fra sikkerhetskontrollen,

kan administrasjonen velge å slette eller å godkjenne oppskriften ved å trykke på en knapp.

På denne siden kan administrasjonen også trykke seg videre til å endre oppskrift, eller gå

tilbake til oversikten i sikkerhetskontrollen.

Figur 21: Godkjenningssiden for vurdering av valgt oppskrift fra sikkerhetskontrollen.

Trykk Godkjenn

knappen for å

godkjenne oppskriften.

Trykk Tilbake knappen for

å gå tilbake til oversikten i

sikkerhetskontrollen.

Trykk Slett knappen for

å slette oppskriften.

Trykk Endre knappen

for å gå videre til Endre

oppskrift siden.

Page 161: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

21

BRUKERMANUAL Matsans - matsiden for matintoleranse

3.5 Endre oppskrift

Administrasjonen kan komme til siden for å endre oppskrift enten gjennom ”Endre”-

knappen på godkjenningssiden i sikkerhetskontrollen eller ved å trykke på linken ”Endre

oppskrift” på oppskriftsiden.

Figur 22: Endre oppskrift gjennom oppskriftssiden.

Trykk på Endre oppskrift

for å komme til siden for

å endre oppskrift.

Page 162: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

22

BRUKERMANUAL Matsans - matsiden for matintoleranse

På siden for å endre oppskrift kan administrasjonen forandre teksten som er inne i de fylte

feltene på den utvalgte oppskriften. For å oppdatere med ny tekst, kan administrasjonen

trykke på knappen ”Oppdater”. Hvis det ikke er noe å endre på, velges knappen ”Tilbake”

for å komme tilbake til den siden hvor administrasjonen kom fra.

Figur 23: Endre oppskrift fra denne siden ved å forandre på tekst og trykke på ”Oppdater”-knappen.

Forandre på tekst i feltene

med ny oppskriftinformasjon.

Trykk på Oppdater

knappen for å

oppdatere oppskrift. Trykk på Tilbake

knappen for å gå tilbake

til hvor du kom fra.

Page 163: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

23

BRUKERMANUAL Matsans - matsiden for matintoleranse

3.6 Slette kommentar

I forumet kan administrasjonen slette en kommentar ved å trykke på ”Slett kommentar”-

linken tilhørende den aktuelle kommentaren.

Figur 24: Slett kommentar fra oppskriftssiden.

Trykk på Slett kommentar

for å slette kommentar.

Page 164: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005

24

BRUKERMANUAL Matsans - matsiden for matintoleranse

4. Tilbakemeldinger

Da vi har som intensjon å gjøre vårt nettsted så brukervennlig som mulig er vi takknemlige for

tilbakemeldinger. Så om dere skulle finne noe mangelfullt ved brukerveiledningen så send gjerne en

e-post om dette til [email protected].

Forøvrig ønsker vi dere lykke til med bruk av nettstedet.

Page 165: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 166: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005
Page 167: HOVEDPROSJEKT - WordPress.com · brukere med matintoleranse. Resultatet er ... HTML, CSS og SQL. Visual Studio 2008 ble brukt som utviklingsverktøy, mens Microsoft SQL Server 2005