Hovedprosjekt våren 2011 gruppe 10 Endre Gulbrandsen s150690
PROSJEKT NR. 2011 10 Studieprogram: Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET Åpen Telefon: 22 45 32 00 Telefaks: 22 45 32 05 HOVEDPROSJEKT HOVEDPROSJEKTETS TITTEL Bestillingssystem for frisørsalong DATO 31. mai 2011 ANTALL SIDER / BILAG 65 PROSJEKTDELTAKERE Endre Gulbrandsen (s150690) INTERN VEILEDER Tor Krattebøl OPPDRAGSGIVER Linda Sjåstad v / Hårgalleriet Hønefoss KONTAKTPERSON Linda Sjåstad lindasj7@hotmail.com SAMMENDRAG Dette er sluttdokumentasjonen til hovedprosjektet for gruppe 10 ved Høgskolen i Oslo 2011. Rapporten inneholder to dokumenter, en prosessrapport og en produktrapport. 3 STIKKORD Timebestilling Frisør Online
PROSESSDOKUMENTASJON
INNHOLD Innhold 1 Innledning... 4 2 BESKRIVELSE AV INNVOLVERTE PARTER... 5 2.1 Prosjektgruppen... 5 2.2 Hårgalleriet... 5 2.3 Intern veileder... 5 3 Metodikk... 6 3.1 Smidig utviklingsmetodikk... 6 4 Oppstartsfasen... 7 4.1 Kravspesifikasjon... 7 4.2 Use Case... 7 4.3 Prosjektplan... 8 4.4 Risikoanalyse... 9 4.5 Prosjektnettsted og prosjektdagbok... 13 5 Beskrivelse av arbeidsflyten... 14 5.1 Månedlig fremdrift... 14 5.2 Kontakt med involverte parter... 15 5.2.1 Intern veileder... 15 5.2.2 Kontakt med oppdragsgiver... 15 8 Utviklingsarbeidet... Feil! Bokmerke er ikke definert. 8.1 Kodestandard... Feil! Bokmerke er ikke definert. 8.2 Prototyping av brukergrensesnittet... Feil! Bokmerke er ikke definert. 9 Testing... Feil! Bokmerke er ikke definert. 10 Avslutningsfase... 16 11 Konklusjon... Feil! Bokmerke er ikke definert. 12 Kilder... 16
Vedlegg... 17
1 Innledning Denne rapporten inneholder prosessdokumentasjon for mitt hovedprosjekt ved Høgskolen i Oslo, våren 2011. Mitt oppdrag har vært å lage et system for frisørsalong, primært for en frisør som ikke er helt fornøyd med dagens system. Dette systemet kan også vurderes å tas i bruk av hele firmaet dersom det blir en suksess. Til å veilede meg har jeg hatt god hjelp fra min interne veileder fra HiO, Tor Krattebøl. Applikasjonen er utviklet ved hjelp av PHP og MySQL. Jeg vil rette en takk til Linda Sjåstad som har vært essensiell i prosessen med å utvikle kravspesifikasjonen, og en stor takk til Tor Krattebøl for veldig bra veiledning underveis.
2 BESKRIVELSE AV INNVOLVERTE PARTER 2.1 Prosjektgruppen Prosjektgruppen har bestått av følgende medlem: - Endre Gulbrandsen (s150690) 2.2 Hårgalleriet Hårgalleriet er en populær frisørsalong med to avdelinger i Hønefoss. Disse ligger på Kuben kjøpesenter og sentrumskvartalet. Bedriften har 7 ansatte som har en hektisk hverdag med stor tilstrømning av kunder. Linda Sjåstad er frisør i Hårgalleriet og dette systemet er designet etter hennes ønsker og behov. Hun tilbyr alt innen hårpleie. Min kontaktperson har vært Linda Sjåstad. 2.3 Intern veileder Min interne veileder fra HIO har vært Tor Krattebøl
3 Metodikk Jeg ble tipset fra intern veileder om at jeg kunne bruke testdrevet utvikling på dette prosjektet. Jeg valgte å ikke gjøre dette fordi jeg var alene og var nødt til å prioritere. Som metode valgte jeg å bruke smidig utviklingsmetodikk. Etter å ha lest en av fjorårets prosessdokumentasjoner så fant jeg det slik at den metoden de hadde brukt ville passe bra på dette prosjektet også. 3.1 Smidig utviklingsmetodikk Smidig utviklingsmetodikk bygger i hovedsak på fire utviklingsprinsipper(beedle, et al.,2011): - Individer og samspill fremfor prosesser og verktøy - Fungerende programvare fremfor omfattende dokumentasjon - Kundesamarbeid fremfor kontraktforhandlinger - Respondere på endringer fremfor å følge en plan Når man jobber smidig, er det viktig å levere del leveranser underveis slik at kunden kan ytre ønske om endringer. Jeg har hatt kontinuerlig kontakt med oppdragsgiver under hele prosjektet, hvor hun har fått prøve systemet og komme med innspill.
4 Oppstartsfasen Da prosjektet satt i gang for fullt etter jul så hadde jeg egentlig vurdert å bruke.net rammeverket til dette prosjektet. Men ved litt prøvelse fant jeg ut at jeg er mye bedre i PHP programmering og at resultatet ville bli bedre dersom jeg valgte denne teknologien. 4.1 Kravspesifikasjon Jeg visste på forhånd at kravspesifikasjonen ville bli ekstra viktig for min del i og med at jeg jobbet alene på dette prosjektet. Jeg måtte skape klarhet med oppdragsgiver i forhold til hva som skulle leveres og hva som ikke kunne leveres i forhold til tidsrammen. Vi var enige om at den funksjonaliteten som jeg ikke rakk under prosjektperioden kunne legges til senere om ønskelig. Kravspesifikasjonen beskriver hvilke krav som settes til systemet. Disse kravene kan beskrives som funksjonelle krav og ikke-funksjonelle krav. De funksjonelle kravene beskriver en handling som systemet skal utføre, mens de ikke funksjonelle kravene beskriver egenskaper systemet skal ha. Siden jeg brukte smidig utvikling så lagde jeg en kravspesifikasjon med funksjonelle krav som stod i tråd med hva oppdragsgiver hadde tenkt seg. Disse kravene reforhandlet vi underveis da jeg så mer tydelig hva som var realistisk å rekke innenfor prosjektperioden. Jeg hadde hele tiden fokus på at oppdragsgiver skulle være fornøyd. 4.2 Use Case Jeg utarbeidet Use Case basert på de funksjonelle kravene som ble spesifisert i kravspesifikasjonen. Jeg valgte å lage et overordnet og et detaljert Use Case. I tillegg lagde jeg beskrivelser for hvert tilfelle. Eksempel på oppsett av Use Case beskrivelse: 1.1.1 Legg til bestilling Use Case Aktør Trigger Pre-betingelser Legg til bestilling Ansatt Ansatt ønsker å legge til ny bestilling En kunde vil bestille time
Post-betingelser Ny time blir lagt til ellers må det oppstå feilmelding Normal hendelsesflyt 1. Ansatt søker opp ledig tid * 2. Det sjekkes om kunden er registrert fra før ** 3. Kunden registreres på ledig time 4. Systemet lagrer informasjon i database 5. Det gis melding om prosessen var suksessfull eller om det oppstod feil Variasjoner * Ansatt kan velge å søke etter ledig tid ** Dersom kunde ikke finnes fra før må det registreres ny kunde Relatert informasjon Oversikt over eksisterende kunder kan finnes via en rullgardinmeny 4.3 Prosjektplan Jeg lagde en prosjektplan i MS Project som lå tilgjengelig på nettsiden under hele prosjektet. MS Project er laget spesielt for det formålet å holde styr på hva som skal gjøres, hvem som har ansvaret og når fristen for leveranse er.
Den tidsmessige planleggingen av dette prosjektet var viktig. Fremdriftsplanen var veldig god å ha underveis for å holde fremdriften oppe og se det hele i perspektiv. Noen av tidsfristene var satt av HiO: - Forprosjekt leveransen - Leveranse av sluttrapporten - Presentasjonen Milepælene og leveransen av de andre artifaktene bestemte jeg selv tidlig i prosjektet. 4.4 Risikoanalyse En risikoanalyse utformes tidlig i et prosjekt for å luke ut potensielle trusler som kan føre til at prosjektet i blir en fiasko. En stor risiko i dette prosjektet var tid. Det var mye å gjøre og kun meg selv til å gjøre det. Det at jeg hadde kontinuerlig kontakt med kunden gjorde at vi kommuniserte underveis og jeg fikk ført prosjektet i havn i tide. Og det gikk så vidt!
Punkt: Risiko: 1 Uenighet om hva skal lages Grad av risiko: Middels Dersom uenighet oppstår vil det være viktig å kommunisere med kunde slik at det ikke oppstår misforståelser. Use Case og low fidelity prototyper vil være viktige elementer for å synliggjøre for kunden hvordan system vil fungere og se ut. Dette vil være med på å minske risiko for uenighet om hva som skal lages. 2 Dersom det som er realistisk å oppnå i løpet av prosjektperioden ikke tilfredsstiller de krav som kunden stiller. Middels Dersom kundens krav til funksjonalitet er større enn hva prosjektets tidsperiode tillater vil det være viktig å kunne komme til en enighet om hvilke funksjoner som er essensielle for at systemet skal være interessant for kunden å ta i bruk. Det er viktig at dette blir kartlagt på et tidlig stadium ved hjelp av å utforme en nøye gjennomtenkt kravspesifikasjon. 3 Feilberegning av tid i forhold fremdriftsplanen Høy
Den største risikoen for dette prosjektet er at tiden ikke strekker til. Det er vanskelig å beregne nøyaktig i forkant hvor lang tid utformingen av nettstedet vil ta. Det er kritisk for prosjektet at det ikke blir tatt vann over hodet og at det samtales med veileder fra høyskolen i Oslo om hva som er realistisk å gjennomføre på den avsatte prosjektperioden. 4 Langvarig sykdom i prosjektperioden Liten Dersom det skulle oppstå langvarig sykdom fra prosjektgruppen så vil dette påvirke prosjektet i den grad at man havner på etterskudd i forhold til fremdriftsplanen. Men det er lite sannsynlig at noe slikt inntreffer. Skulle kunden bli syk slik at det blir vanskelig å møtes finnes det muligheter å kommunisere via for eksempel e-post. 5 Arbeidet hoper seg opp og blir lite oversiktelig Middels Et annet aspekt å tenke over er at det er mye dokumentasjon som skal produseres ved siden av selve implementeringen av systemet. For at det ikke skal
oppstå kaos er det viktig av fremdriftsplanen holdes og at man støtter seg til rammeverket UML. 6 Forstå kundens behov Middels Det å forstå kundens behov vil være viktig for å oppnå suksess. Dette kan gjøres ved å oppsøke salongen, være med og observere hvilke prosesser som foregår samt være i tett dialog med kunden. 7 Liten grad av universell utforming Middels Hentet fra lovdata.no står det i 11. Plikt til universell utforming av informasjons- og kommunikasjonsteknologi (IKT) Nye IKT-løsninger som underbygger virksomhetens alminnelige funksjoner, og som er hovedløsninger rettet mot eller stillet til rådighet for allmennheten, skal være universelt utformet fra og med 1. juli 2011, men likevel tidligst tolv måneder etter at det foreligger standarder eller retningslinjer for innholdet i plikten. For eksisterende IKTløsninger gjelder plikten fra 1.
januar 2021. Plikten omfatter ikke IKT-løsninger der utformingen reguleres av annen lovgivning. Dette betyr at det må tas hensyn til at systemet skal brukes av alle og må derfor være universelt utformet. Det er viktig at man ikke overser dette i løpet av den travle prosjektperioden som ligger foran oss. 8 Kompleks funksjonalitet Middels - Høy Det kan være at deler av funksjonaliteten er kompleks å implementere. Det vil være lurt på et tidlig stadium å kartlegge disse og ha alternative løsninger i bakhånd. 4.5 Prosjektnettsted og prosjektdagbok Jeg opprettet en nettside hvor alle dokumentene ble publisert underveis slik at intern veileder og andre studenter fikk tilgang til disse.
5 Beskrivelse av arbeidsflyten 5.1 Månedlig fremdrift Prosessen med å utvikle systemet startet i januar 2011. Jeg bestemte meg for å fokusere på god planlegging slik at jeg skulle få en god flyt i prosjektet. Januar Januar måned gikk med til å utarbeide en fremdriftsplan, gjøre analyse, utarbeide kravspesifikasjon og Use Case. Jeg hadde god kommunikasjon med intern veileder og oppdragsgiver. Leveranse for denne måneden var forprosjektrapport. Februar I februar utarbeidet jeg low fidelity prototype sammen med oppdragsgiver slik at de designmessige ønskene ble ivaretatt. Første milepæl var enighet om hva som skulle lages. Denne ble satt etter planen 8. februar 2011. Deretter startet jeg jobben med å utforme klassediagram og sette opp databasen. Mot slutten av februar startet jeg med å programmere. Jeg visste at dette ville bli den mest tidkrevende delen av prosjektet og ville komme i gang så tidlig som mulig med dette. Mars Hele måneden gikk med til hovedsakelig programmering og testing opp mot kunden. April Store deler av april gikk med på å teste og utbedre system på en iterativ måte. Mai 4 mai hadde jeg satt som milepæl å være ferdig med produktet slik at resten av måneden kunne gå med til å skrive sluttrapporten. Jeg fikk senere vite at jeg kunne utbedre produktet frem til presentasjonen den 16. juni. På bakgrunn av dette så fortsatte jeg å forbedre produktet etter den 4. mai.
Hovedfokus denne måneden var å skrive ferdig denne rapporten for å rekke leveranse den 31. mai. 5.2 Kontakt med involverte parter 5.2.1 Intern veileder Jeg hadde ukentlige samtaler med intern veileder hovedsakelig via telefon. Jeg fikk hjelp til problemer tilknyttet utvikling av systemet, programmering relaterte spørsmål og svar på hvordan jeg skulle utforme dokumentasjonen. 5.2.2 Kontakt med oppdragsgiver Kontakt med oppdragsgiver var gjennom møter og e-post. Dette fungerte utmerket og uten godt samarbeid og forståelse fra oppdragsgiver så ville det vært vanskelig for meg å gjennomføre prosjektet.
6 Avslutningsfase 6.1 Ferdigstillelse av prosjektet Når sluttrapporten ble levert den 31. mai 2011 var systemet grovt sett ferdig. Jeg gjorde kun små oppdateringer frem til presentasjonen den 16. juni. 7 Konklusjon Dette prosjektet har vært en stor jobb med mye frustrasjon, følelse av vann over hodet og store utfordringer. Alt i alt har det vært veldig lærerikt. I og med at jeg har jobbet alene så har jeg lært mye om meg selv, press, arbeidsrutiner og PHP syntaks. Jeg har vært veldig heldig med veileder og oppdragsgiver. God kommunikasjon har gjort at jeg har kunnet prestere godt og gitt meg tro på at dette skulle gå(selv om det til tider så mørkt ut). Målene jeg satt meg var at oppdragsgiver skulle bli fornøyd, å lære meg smidig utviklingsmetode samt å utvikle et onlinebasert system. Oppdragsgiver er fornøyd med resultatet så jeg kan si at jeg har oppfylt disse målene. 8 Kilder Wikipedia. (2011, 5. mai) PHP Hypertext Preprocessor. Hentet fra http://no.wikipedia.org/wiki/php Horgen, S.A. (2007). Webprogrammering i PHP (2. utg., 3. oppl.). Gyldendal Norsk Forlag
Vedlegg 1 Risikoanalyse Punkt: Risiko: 1 Uenighet om hva skal lages Grad av risiko: Middels Dersom uenighet oppstår vil det være viktig å kommunisere med kunde slik at det ikke oppstår misforståelser. Use Case og low fidelity prototyper vil være viktige elementer for å synliggjøre for kunden hvordan system vil fungere og se ut. Dette vil være med på å minske risiko for uenighet om hva som skal lages. 2 Dersom det som er realistisk å oppnå i løpet av prosjektperioden ikke tilfredsstiller de krav som kunden stiller. Middels Dersom kundens krav til funksjonalitet er større enn hva prosjektets tidsperiode tillater vil det være viktig å kunne komme til en enighet om hvilke funksjoner som er essensielle for at systemet skal være interessant for kunden å ta i bruk. Det er viktig at dette blir kartlagt på et tidlig stadium ved hjelp av å utforme en nøye gjennomtenkt kravspesifikasjon. 3 Feilberegning av tid i forhold fremdriftsplanen Høy
Den største risikoen for dette prosjektet er at tiden ikke strekker til. Det er vanskelig å beregne nøyaktig i forkant hvor lang tid utformingen av nettstedet vil ta. Det er kritisk for prosjektet at det ikke blir tatt vann over hodet og at det samtales med veileder fra høyskolen i Oslo om hva som er realistisk å gjennomføre på den avsatte prosjektperioden. 4 Langvarig sykdom i prosjektperioden Liten Dersom det skulle oppstå langvarig sykdom fra prosjektgruppen så vil dette påvirke prosjektet i den grad at man havner på etterskudd i forhold til fremdriftsplanen. Men det er lite sannsynlig at noe slikt inntreffer. Skulle kunden bli syk slik at det blir vanskelig å møtes finnes det muligheter å kommunisere via for eksempel e-post. 5 Arbeidet hoper seg opp og blir lite oversiktelig Middels Et annet aspekt å tenke over er at det er mye dokumentasjon som skal produseres ved siden av selve implementeringen av
systemet. For at det ikke skal oppstå kaos er det viktig av fremdriftsplanen holdes og at man støtter seg til rammeverket UML. 6 Forstå kundens behov Middels Det å forstå kundens behov vil være viktig for å oppnå suksess. Dette kan gjøres ved å oppsøke salongen, være med og observere hvilke prosesser som foregår samt være i tett dialog med kunden. 7 Liten grad av universell utforming Middels Hentet fra lovdata.no står det i 11. Plikt til universell utforming av informasjons- og kommunikasjonsteknologi (IKT) Nye IKT-løsninger som underbygger virksomhetens alminnelige funksjoner, og som er hovedløsninger rettet mot eller stillet til rådighet for allmennheten, skal være universelt utformet fra og med 1. juli 2011, men likevel tidligst tolv måneder etter at det foreligger standarder eller retningslinjer for innholdet i plikten. For eksisterende IKT-
løsninger gjelder plikten fra 1. januar 2021. Plikten omfatter ikke IKT-løsninger der utformingen reguleres av annen lovgivning. Dette betyr at det må tas hensyn til at systemet skal brukes av alle og må derfor være universelt utformet. Det er viktig at man ikke overser dette i løpet av den travle prosjektperioden som ligger foran oss. 8 Kompleks funksjonalitet Middels - Høy Det kan være at deler av funksjonaliteten er kompleks å implementere. Det vil være lurt på et tidlig stadium å kartlegge disse og ha alternative løsninger i bakhånd.
Produktdokumentasjon 1
Innhold 1 Innledning... 5 2 Beskrivelse av produktet... 6 Timebok... 6 Kunderegister... 6 Ny time... 7 Kasse... 8 Dagens oppgjør... 8 Andre funksjoner... 8 2.1 Brukergrensesnitt og design... 9 2.1.1 Mål... 9 2.1.2 Designvalg... 9 2.1.3 Meny... 9 2.1.4 Fonter og farger... 10 3 Applikasjonsarkitektur... 11 3.1 Domene / klassediagram... 11 3.2 Sikkerhet... 11 3.2.1 Feilsider... 12 4 Planlegging og forberedelser... 12 4.1 Valg av oppgave... 12 4.2 Dagens situasjon for oppdragsgiver... 12 4.3 Analyse... 12 4.4 Mål og rammebetingelser... 12 4.4.1 Tid... 13 4.4.2 Ressurser... 13 4.4.3 Kunnskap... 13 5 Teknologier... 13 5.1 Utviklingsteknologier... 13 5.1.1 Valg av utviklingsverktøy... 13 5.1.2 PHP (Hypertext Preprocessor)... 14 5.1.3 MySQL... 14 5.2 Andre tekniske hjelpemidler... 14 5.2.1 Microsoft Paint... 14 5.2.2 MS Project... 14 2
6 Teknisk arkitektur... 15 6.1 Applikasjonen... 15 6.2 MySQL... 15 6.3 Fastname Webhotell... 15 7 Testing... 16 Vedlegg 1 Kravspesifikasjon... 17 Vedlegg 2 Use Case beskrivelser... 25 Vedlegg 3 Akseptansetester... 31 Vedlegg 4 Brukerdokumentasjon... 34 Brukerveiledning Fame IT... 34 1 Timebok... 34 1.1 Velg dato for timebok... 34 2 Time bestillinger... 34 2.1 Ny time... 34 2.1.1 Allerede registret kunde... 34 2.1.2 Ny kunde... 35 Og følg veiledningen i punkt 2.1.1 Allerede registret kunde... 35 2.2 Endre time... 35 2.3 Avbestill time... 36 3 Kasse... 36 3.1 Ta i mot betaling... 36 4 Oppgjør... 36 4.1 Dagens oppgjør... 36 4.2 Rapporter... 37 4.3 Budsjett... 37 5 Register... 37 5.1 Kunde register... 37 5.2 Produkter... 37 5.3 Ansatte... 38 5.3.1 registrer ny ansatt... 38 5.3.2 Se på info om ansatt... 38 5.3.3 Endre opplysninger på ansatt... 38 5.3.4 Slett ansatt... 38 5.4 Gavekort... 39 3
5.4.1 Registrer nytt gave kort på allerede registrert kunde... 39 5.4.2 Registrer nytt gavekort på ny kunde... 39 Følg først punktene i 2.1.2 Ny kunde... 39 Der etter punktene i 5.4.1 Registrer nytt gave kort på allerede registrert kunde... 39 5.4.3 register for solgte gavekort... 39 6 kunde... 40 6.1 registrer ny kunde... 40 6.2 slett kunde... 40 6.3 Endre kunde... 40 6.4 Se bestilte behandlinger... 41 6.5 Se tidligere behandlinger... 41 6.6 Send e-post til kunde... 41 6.7 Se ubetalte faktura... 42 7 Notat... 42 7.1 Legg inn nytt notat... 42 7.2 Kalender... 42 7.3 Dagens gjøremål... 43 7.4 Modell liste... 43 7.5 Linker... 43 4
1 Innledning Denne rapporten inneholder produktdokumentasjon for mitt hovedprosjekt ved Høgskolen i Oslo, våren 2011. Rapporten beskriver hvordan produktet er bygd opp og hvilke tekniske komponenter som er brukt i utviklingen. I tillegg inneholder rapporten testdokumentasjon, samt installasjonsveiledning og brukerdokumentasjon. 5
2 Beskrivelse av produktet Dette systemet er et timebestillingssystem for frisørsalong laget spesielt for frisør Linda Sjåstad ved Hårgalleriet i Hønefoss. Systemet er en webapplikasjon som er utviklet i PHP med MySQL database. Timebok Timeboken lagrer timebestillinger som er lagt inn av frisør, og lister disse basert på valg av dato. Det er mulig å legge til, endre og slette timebestillinger. Kunderegister Systemet inneholder et kunderegister med informasjon om kundene. Det er mulig å legge til, endre og slette kunde. I tillegg kan man se tidligere behandlinger og fremtidige behandlinger, samt sende e- post til kunden. 6
Ny time En sentral funksjonalitet er å legge til ny time. Dersom kunden eksisterer kan det legges in timebestilling med ønsket behandling, dato, tid, frisør og ønsket påminnelse. 7
Kasse Kassen er betalingsbilde hvor frisøren registrerer om kunden har betalt eller ikke. Her listes behandlinger som ikke er betalt sortert på valgt kunde. Dagens oppgjør Dersom kunden har betalt for dagens behandling så vil dette listes under dagens oppgjør. Her vises totalt inntak for dagen, med og uten moms. Andre funksjoner Systemet inneholder tilsvarende skjermbilder for følgende funksjonalitet: - Produkter - Ansatte - Gavekort - Notat - Modell liste 8
- Linker - Dagens gjøremål 2.1 Brukergrensesnitt og design 2.1.1 Mål Oppdragsgiver var klar på at design var en viktig faktor ved utforming av nettsidene. Hun ønsket seg et 50 talls inspirert utseende med pastellfarger. Applikasjonen måtte kjøre online slik at den var tilgjengelig overalt. Videre ønsket oppdragsgiver knapper for å navigere seg rundt i systemet. Både knapper og sider skulle stå i stil gjennom hele applikasjonen. 2.1.2 Designvalg Ved innlogging vises FameIT logoen og man tas direkte til timebok siden. Her listes dagens kunder basert på hvilken frisør som er innlogget. Selv om dette systemet skal brukes foreløpig av kun èn frisør, så er det lagt opp på denne måten slik at flere kan bruke systemet etter hvert. 2.1.3 Meny Menyen er konsistent gjennom sidene i systemet. Den er lagt slik at den lister hovedfunksjonene, men videre menyer til under-funksjoner. 9
2.1.4 Fonter og farger Oppdragsgiver ønsket seg pastellfarger og den rosa fargen preger systemet på slik måte at det blir et slags kjennemerke. Fargen er litt sjokkerende ved første øyekast, men man venner seg faktisk til den etter hvert (jeg burde vite det). Font typen som går igjen på knappene og menyen er av typen Rockwell. 10
3 Applikasjonsarkitektur 3.1 Domene / klassediagram Jeg designet et klassediagram som senere ble implementert i MySQL via phpmyadmin. 3.2 Sikkerhet Sikkerhetsmekanismen i systemet er begrenset til en innloggingsfunksjon. Kun brukere av systemet har tilgang via brukernavn og passord. I tillegg så er det egen lenke til innloggingssiden som kun 11
bruker vet om. Dette er for å skjerme systemet for eventuelle hackere som prøver å knekke koden for å logge seg inn. 3.2.1 Feilsider Dersom bruker taster feil informasjon ved innlogging eller dersom andre unntakstilfeller oppstår så blir han sendt til en side med feilmelding. Dette er viktig for at systemet skal virke på en hensiktsmessig måte. 4 Planlegging og forberedelser 4.1 Valg av oppgave Jeg bestemte meg for å søke Høgskolen i Oslo om å gjennomføre dette prosjektet høsten 2010. Etter samtale med Linda Sjåstad i Hårgalleriet, satt hun meg på ideen til å lage et system som er skreddersydd for hennes behov. Det finnes allerede gode systemer på markedet, slik at min tanke var aldri å prøve å konkurrere med disse. De systemene som finnes er altfor avanserte og velutviklede for det. Jeg har derimot forsøkt å lage et system som kan være et alternativ til allerede eksiterende systemer. Det enkle er ofte det beste. 4.2 Dagens situasjon for oppdragsgiver Det finnes allerede lignende programmer på markedet i dag, men disse inneholder på hver sin måte mangler som gjør at de ikke blir tilstrekkelige. Dette skyldes at de er tilrettelagt for forskjellige bransjer. Det er derfor ønskelig å utforme ett system som tar det beste fra hver verden og smelter det sammen til et optimalt system som er skreddersydd for frisørbransjen 4.3 Analyse 4.4 Mål og rammebetingelser Målet med prosjektet er å utvikle et online bestillingssystem for frisørsalong som fungerer optimalt i henhold til bransjens krav til funksjonalitet. Oppdragsgiver hadde ingen krav til utviklingsmetodikk, programmeringsspråk eller lignende, men løsningen måtte være online basert. I tillegg bestemte jeg meg for følgende rammebetingelser: - Bruke en smidig utviklingsmetodikk til utvikling - Utvikle applikasjonen til å kjøres på internett Oppdragsgiver så først for seg en timebok som var organisert som en tidslinje hvor man kan redigere opplysninger direkte i tabellen. Dette var en veldig avansert funksjonalitet som jeg ble enig med 12
oppdragsgiver om å eventuelt implementere senere for å ikke sette meg selv i fare for å ikke komme i mål. Målet for prosjektet var følgende: - Lage et produkt som kunden ble fornøyd med - Nyskapende design - Tilpasset funksjonalitet 4.4.1 Tid Tiden jeg hadde til rådighet var fra 03.01.2011 til 31.05.2011. På denne tiden skulle jeg utvikle et system til oppdragsgiver og skrive sluttrapport. I og med at jeg har vært alene på dette prosjektet så har tid vært et kritisk moment. Jeg har hele veien vært i fare for å ikke komme i mål, og det har vært nødvendig å avgrense nøye underveis. 4.4.2 Ressurser Tilgjengelige ressurser underveise har vært intern veileder, kontaktperson, litteratur og internett. Min interne veileder sørget for at alt gikk i henhold til prosjektplanen etter hvert som prosjektet gikk sin gang. Han kom med innspill som at jeg kunne foreta testdrevet utvikling og bidro med mye faglig innspill når det gjaldt dokumentasjon og systemutvikling. 4.4.3 Kunnskap Jeg hadde gode kunnskaper i PHP programmering fra tidligere kurs med Tor Krattebøl. I tillegg har jeg studert Webapplikasjoner høsten 2010, slik at programmeringen gikk forholdsvis greit hele veien. 5 Teknologier Skriv om hvilke teknologier du har brukt - PHP - MySQL - HTML - Photoshop - Paint - Unix server - m. m 5.1 Utviklingsteknologier 5.1.1 Valg av utviklingsverktøy Jeg valgte å bruke Adobe Dreamweaver som verktøy for å skrive PHP, CSS og HTML kode. Her finnes en del ferdiglagde komponenter som enkelt kan settes inn og det finnes også en slags intellisense 13
som gjør det litt raskere å skrive kode. I tillegg så har jeg brukt dette en del før, og det var greit å slippe å sette seg inn i et nytt verktøy. 5.1.2 PHP (Hypertext Preprocessor) Jeg hadde solid kunnskap i PHP fra tidligere kurs ved HIO så denne teknologien ble et naturlig valg å velge for å programmere nettsidene. PHP er et dynamisk, tolket og løst typet programmeringsspråk hovedsakelig brukt for å utvikle dynamiske nettsider. PHPs syntaks ligner C og Perl. Den vanligste implementasjonen av PHP er en fri og åpen versjon skrevet i C og distribuert av The PHP Group via php.net og SourceForge. (wikipedia.no, 2011) 5.1.3 MySQL Jeg har valgt å bruke MySQL som databasesystem for prosjektet. Grunnen til dette er at jeg har lært meg dette gjennom programmering i PHP. Det var uaktuelt å vurdere andre systemer fordi MySQL fungerer så bra sammen med PHP. 5.2 Andre tekniske hjelpemidler 5.2.1 Microsoft Paint Jeg trengte et program som var enkelt og raskt å bruke for å tegne skjermbilder til prototypen. Jeg testet Adobe Photoshop og MS Paint. Photoshop er et mye mer avansert program som krever forkunnskaper. MS Paint er enkelt og holdt til dette formålet. 5.2.2 MS Project Jeg brukte Ms Project for å lage fremdriftsplan for prosjektet. 14
6 Teknisk arkitektur 6.1 Applikasjonen Applikasjonen er utviklet ved hjelp av Adobe Dreamweaver og programmeringsspråket PHP. 6.2 MySQL MySQL er et relasjonsbasert databasesystem som er lisensiert under GPL (GNU General Public Licence). Dette er gratis, men er veldig populært og fungerer utmerket sammen med PHP. 6.3 Fastname Webhotell Jeg leier webhotell hos fastname.no. Jeg har registrert domenenavnet slagverker.no, og systemet kan for øyeblikket nås fra www.slagverker.no/fameit 15
7 Testing Systemet er testet kontinuerlig gjennom hele utviklingsprosessen: - Kode er testet av prosjektgruppen - Funksjonalitet er testet av oppdragsgiver - Kontinuerlige tilbakemeldinger - Iterativ utvikling 16
Vedlegg 1 Kravspesifikasjon Kravspesifikasjon HOVEDPROSJEKTETS TITTEL Bestillingssystem for frisørsalong PROSJEKTDELTAKERE Endre Gulbrandsen (s150690) DATO 08. februar 2011 ANTALL SIDER 8 INTERN VEILEDER Tor Krattebøl OPPDRAGSGIVER Frisør for Hårgalleriet, Linda Sjåstad KONTAKTPERSON Linda Sjåstad 17
1 Innledning 1.1 Innledning Prosjektet skal gjennomføres som hovedprosjekt ved HIO avdeling for ingeniørutdanning i samarbeid med frisør Linda Sjåstad i Hårgalleriet. Oppgaven består i å utvikle et bestillingssystem for frisørsalong som er optimalt tilpasset bransjen, og som kan administreres av de ansatte. Systemet vil utvikles ved bruk av PHP og MYSQL. 1.2 Om bedriften Hårgalleriet holder til på Hønefoss kjøpesenter (Kuben) og har også en avdeling i sentrumskvartalet på Hønefoss. Bedriften består av 7 ansatte som til daglige er spredd mellom de to avdelingene. Salongen tilbyr behandling innen alle områder av faget. Systemet leveres primært til frisør Linda Sjåstad, men dersom det er interesse blant de andre så kan det være aktuelt at salongen tar i bruk systemet. 1.3 Bakgrunn for prosjektet Det har vært uttrykt frustrasjon av de ansatte over eksisterende systemer på markedet i dag. Det eksisterer to store leverandører av systemer for frisørbransjen. Det er ønskelig å lage et system som tar det beste fra hvert av disse eksisterende systemer og tilpasser det til de krav og forventninger som frisørbransjen har til et IKT system. 18
2 Forord Denne kravspesifikasjon beskriver betingelsene for prosjektet Bestillingssystem for frisørsalong. Det beskrives hva slags funksjonalitet systemet skal inneholde og hva slags teknologi som vil bli benyttet. I tillegg beskrives krav til utseende. Det er også ytret ønske fra oppdragsgiver om hvordan layouten på systemet skal være. Krav til den tekniske løsningen vil bestemmes av prosjektgruppen. 19
3 Innholdsfortegnelse 1 Innledning... 2 1.1 Innledning... 2 1.2 Om bedriften... 2 1.3 Bakgrunn for prosjektet... 2 2 Forord...3 3 Innholdsfortegnelse...4 4 Systemkrav...5 4.1 Funksjonskrav... 5 4.2 Tilleggsfunksjoner... 6 4.3 Tekniske krav... 7 4.4 Data lagring... 7 5 Krav til Design...7 6 Krav til kode...8 7 Krav til dokumentasjon...8 8 Utvidelser...8 8.1 Eventuelle utvidelser... 8 20
4 Systemkrav 4.1 Funksjonskrav - Timebok: o Bestille ny time o Oversikt over bestilte timer o Inneholder dag, dato og kalender o Mulighet for å avbestille / endre time o Tilgang til venteliste o Liste ukentlig oversikt o Mulighet for å liste hver enkelt kunde: Se tidligere behandlinger / produktkjøp Se bestilte behandlinger fremover Sende e-post / sms til kunden Se ubetalte faktura Meldinger som er sendt ut Skrive ut rapporter over behandling i en bestemt periode Endre opplysninger om kunde Endre / avbestille time Oversikt over kunder som har møtt opp eller ikke Delavtale: utvide behandling Skrive ut skjermbildet - Finn time: o Mulighet til å søke opp tilgjengelig tid for behandling innenfor en bestemt periode - Kunderegister: o Lete opp hver enkelt kunde o Se mulighet for å liste hver enkelt kunde ovenfor - Betalinger: o Gavekort: Liste benyttede / ubenyttede / utløpte gavekort Legge til nytt gavekort o Produkter: Produktregister Produktgruppe Produktsalg for en bestemt periode / frisør 21
Registrere / liste produktleveranse Liste leverandører / produsenter Generere rapport over produktsalg Varetelling Varetelling som er gjort Ny varetelling Varelager: Liste varelager Skrive ut Detaljer pr. produktgruppe Sum varelager o Rapporter: Generere ulike rapporter for betaling - Verktøy: o Generere ulike rapporter (avtaler, avbestillinger osv.) - Betalingsbilde: o Velg frisør o Vis betalingsbilde Lister behandling Kjøp produkter 4.2 Tilleggsfunksjoner - Lage rapport over ønsket varelager (antall produkter som må være i hyllene) o Ut fra denne rapporten skal det kunne genereres en ny rapport som kan brukes for å bestille nye varer etter aktuelt behov - Returknapper - Notat: skrive melding til kollega - Behandle drop-in kunder uten å måtte registrere kunden - Modell liste: register over modeller som salongen bruker - Dagens gjøremål - Mål: resultat i forhold til tall / omsetning - Lenker: spotify, inspirasjonssider, facebook osv. 22
4.3 Tekniske krav 1. Utvikles i PHP. 2. Implementeres i Adobe Dreamweaver CS 4. 3. Lagring av data vil skje MYSQL. 4.4 Datalagring 1. Data om bestillinger, produkter osv lagres i en MYSQL database hos en serverplass tilbyder (for eksempel Fastname). 2. Data skal valideres før de settes inn i databasen for å unngå feil og det skal følges retningslinjer for god sikkerhet med tanke på sql-injections. 3. MYSQL databasen skal være bygget opp med krav om normalisering. 5 Krav til design 1. Systemet skal ha en "retro-look" med sterk inspirasjon fra 50-tallet. 2. Knappene skal være lett tilgjengelig. 3. Navigasjon på sidene skal være enkel og effektiv. 23
6 Krav til kode 1. Koden skal skrives i PHP. 2. Kontrollere, variabler og metoder skal ha logiske navn. 3. Koden skal være strukturert, ryddig og inneholde kommentarer slik at den kan videreutvikles av andre senere 4. Det skal kjøres enhetstester på koden gjennomgående i hele prosjektet. 7 Krav til dokumentasjon 1. Det skal føres dagbok under hele prosjektperioden. 2. Det skal leveres følgende sluttdokumentasjon: a. Kravspesifikasjon b. Prosessdokumentasjon c. Produktdokumentasjon d. Testdokumentasjon e. Brukerdokumentasjon 8 Utvidelser 8.1 Eventuelle utvidelser - SMS / E-post bekreftelse og påminnelse - Fakturaprogram - Inntak med og uten moms (i rapport) 24
Vedlegg 2 Use Case beskrivelser Use Case beskrivelse 1. Bestilling 1.1 Finn time Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Finn time Ansatt Ansatt ønsker å legge til ny bestilling En kunde vil bestille time Ledig tid søkes opp ellers må det oppstå feilmelding a) Ansatt søker opp ledig tid b) Det gis melding om prosessen var suksessfull eller om det oppstod feil 1.1.1 Legg til bestilling Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Relatert informasjon Legg til bestilling Ansatt Ansatt ønsker å legge til ny bestilling En kunde vil bestille time Ny time blir lagt til ellers må det oppstå feilmelding a) Det sjekkes om kunden er registrert fra før * b) Kunden registreres på ledig time c) Systemet lagrer informasjon i database d) Det gis melding om prosessen var suksessfull eller om det oppstod feil * Dersom kunde ikke finnes fra før må det registreres ny kunde Oversikt over eksisterende kunder kan finnes via en rullgardinmeny 25
1.2 Se oversikt over bestillinger Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Se oversikt over bestillinger Ansatt Ansatt ønsker å se oversikt over timer Ansatt er logget inn i systemet En oversikt over bestilte timer vises, ellers vises en feilmelding 1. Ansatt velger å vise timebok 2. Data hentes fra databasen 3. Resultatene vises til skjerm 4. Det gis melding om prosessen var suksessfull eller om det oppstod feil 1.3 Endre / Slette bestilling Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Endre / slette bestilling Ansatt Ansatt ønsker å endre eller slette en time En kunde har ytret ønske om endring av time eller avbestilling (evt. frisør er syk eller må bytte om på timen av en eller annen grunn ) Timen blir endret eller slettet, ellers må det oppstå feilmelding 1. Ansatt søker opp aktuell time 2. Timen slettes 3. Ansatt søker opp ledig tid 4. Kunden registreres på ledig time 5. Systemet lagrer informasjon i database e) Det gis melding om prosessen var suksessfull eller om det oppstod feil 26
2. Kunder 2.1 Legg til kunde Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Relatert informasjon Legg til kunde Ansatt Ansatt ønsker å legge til ny kunde Kunden ønsker å bli registrert Ny kunde blir lagt til ellers må det oppstå feilmelding 1. Ansatt sjekker om kunden eksisterer fra før * 2. Kunden registreres 3. Systemet lagrer informasjon i database 4. Det gis melding om prosessen var suksessfull eller om det oppstod feil *Kunde eksisterer fra før Oversikt over eksisterende kunder kan finnes via en rullgardinmeny 2.2 Endre / slette kunde Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Endre / slette kunde Ansatt Ansatt ønsker å endre eller slette en kunde En kunde har fått f. eks ny adresse eller ønsker ikke å være kunde lenger Kundeinfo blir endret eller slettet, ellers må det oppstå feilmelding 1. Ansatt søker opp aktuell kunde 2. Info endres eller slettes 3. Systemet lagrer informasjon i database 4. Det gis melding om prosessen var suksessfull eller om det oppstod feil 27
2.3 List kunder Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner List kunder Ansatt Ansatt ønsker å se oversikt over kunder Ansatt er logget inn i systemet En oversikt over kunder vises, ellers vises en feilmelding 1. Ansatt velger å vise kundeoversikt 2. Data hentes fra databasen 3. Resultatene vises til skjerm 4. Det gis melding om prosessen var suksessfull eller om det oppstod feil MERKNAD: Jeg har valgt å forkorte de neste brukerhistoriene med kun overskrift da de er lik de forrige. Dette gjør jeg for å korte ned litt på dokumentasjonen. Det essensielle er å teste disse opp mot akseptansetesten senere i dokumentet. 3. Produkter 3.1 Legg til produkt 3.2 Endre / slett produkt 3.3 List produkter Use Case List varelager Aktør Ansatt Trigger Ansatt ønsker å se oversikt over varelager Pre-betingelser Ansatt er logget inn i systemet Post-betingelser En oversikt over varelageret vises, ellers vises en feilmelding Normal hendelsesflyt 1. Ansatt velger å vise varelager * 2. Data hentes fra databasen 3. Resultatene vises til skjerm 4. Det gis melding om prosessen var Variasjoner suksessfull eller om det oppstod feil *Ansatt kan velge å utføre varetelling 28
4. Gavekort 4.1 Legg til gavekort 4.2 Endre / slett gavekort 4.3 List gavekort Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt List gavekort Ansatt Ansatt ønsker å se oversikt over gavekort Ansatt er logget inn i systemet En oversikt over gavekort vises, ellers vises en feilmelding 1. Ansatt velger å vise gavekort 2. Data hentes fra databasen 3. Resultatene vises til skjerm 4. Det gis melding om prosessen var suksessfull eller om det oppstod feil 5. Betaling 5.1 Vis betaling Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt Variasjoner Vis betaling Ansatt Ansatt har utført behandling En kunde har mottatt behandling / ønsker å kjøpe et produkt En regning med totalsum vises, ellers vises en feilmelding 1. Ansatt velger å vise betalingsbilde 2. Totalpris beregnes 3. Resultatene vises til skjerm (rapport) 4. Det gis melding om prosessen var suksessfull eller om det oppstod feil 29
6. Ansatte 6.1 Legg til ansatt 6.2 Endre / slett ansatt 6.3 List ansatte Use Case Aktør Trigger Pre-betingelser Post-betingelser Normal hendelsesflyt List ansatte Daglig leder Daglig leder ønsker å legge til / endre ansatt Daglig leder er logget inn med administrator privilegier Administrative operasjoner utføres eller det vises feilmelding 1. Daglig leder velger å vise liste ansatte 2. Det velges å legge til eller endre / slette ansatt 3. Databasen oppdateres 4. Resultatene vises til skjerm (rapport) 5. Det gis melding om prosessen var suksessfull eller om det oppstod feil 30
Vedlegg 3 Akseptansetester Brukerhistorie 1 Akseptansekriteriet Verifisert Kommentar 1.1 OK Feilmelding hvis det allerede finnes time på ønsket tidspunkt 1.1.1 OK 1.2 OK 1.3 OK Brukerhistorie 2 Akseptansekriteriet Verifisert Kommentar 2.1 OK 2.2 OK 2.3 OK Brukerhistorie 3 Akseptansekriteriet Verifisert Kommentar 3.1 OK 3.2 OK 3.3 OK Brukerhistorie 4 Akseptansekriteriet Verifisert Kommentar 4.1 OK 4.2 OK 4.3 OK Brukerhistorie 5 Akseptansekriteriet Verifisert Kommentar 5.1 OK 5.2 OK 5.3 OK 31
Brukerhistorie 6 Akseptansekriteriet Verifisert Kommentar 6.1 OK 6.2 OK 6.3 OK 32
33
Vedlegg 4 Brukerdokumentasjon Brukerveiledning Fame IT 1 Timebok Vi har lagt opp Dagens Timebok som forsiden til Fame IT, det er denne siden du alltid kommer tilbake til ved bruk av tilbake knappen. 1.1 Velg dato for timebok Øverst på skjermbilde timebok velger du: 1. Dag 2. Måned 3. År Trykk så oppdater. Timeboken for den innloggede frisør og valgte datoen vil nå vises på skjermbilde. 2 Time bestillinger 2.1 Ny time 2.1.1 Allerede registret kunde Trykk på knappen ny time på skjermbildet timebok. Allerede registrerte kunder er listet øverst i velg kunde. 1. Velg kunde ut fra registeret. 2. Velg type behandling 3. velg frisør 4. Dato 5. tidspunkt (til - fra) 6. Påminnelse 7. evn. Notat til frisør 8. Trykk på knappen til høyre Lagre time Timen er nå lagret i timeboken på den bestemte behandlings dato og frisør. 34
Trykk på knappen tilbake for å komme tilbake til skjermbildet dagens dato timebok. 2.1.2 Ny kunde Trykk på knappen ny time på skjermbildet timebok. Velg ny kunde øverst på siden. Skriv inn: 1. navn på kunden 2. Adresse 3. Postnr 4. Post sted 5. E-post 6. Tlf 7. Bursdag Trykk så på legg til Kunden er nå lagt til! Trykk tilbake Og følg veiledningen i punkt 2.1.1 Allerede registret kunde 2.2 Endre time Velg dato for timen som skal endres i skjermbilde timebok: Følg veiledningen i punktene 1.1 velg dato for timebok. Trykk så på knappen Endre bak den riktige bestillingen. Fyll ut endringene i feltene. Trykk så på knappen oppdater Timen er nå oppdatert. Trykk på knappen tilbake for å komme tilbake til skjermbildet dagens dato timebok. 35
2.3 Avbestill time Velg dato for timen som skal avbestilles i skjermbilde timebok: Følg veiledningen i punktene 1.1 velg dato for timebok. Trykk så på knappen avbestill bak den riktige bestillingen. Timen er nå slettet. Trykk på knappen tilbake for å komme tilbake til skjermbildet dagens dato timebok. 3 Kasse 3.1 Ta i mot betaling Trykk på knappen kasse til venstre av skjermbildet. Velg kunde betalingen gjelder for og trykk knappen videre Sjekk at pris, kunde og behandling er riktig, trykk så på betal. Behandlinger er nå betalt og vil bli synlig i dagens oppgjør. Trykk på knappen tilbake for å komme tilbake til skjermbildet dagens dato timebok. 4 Oppgjør 4.1 Dagens oppgjør Trykk på oppgjør på venstre side av skjermbildet. Trykk så på Dagens oppgjør. Her har du oversikt over dagens betalte behandlinger med og uten moms. 36
4.2 Rapporter Trykk på oppgjør på venstre side i skjermbildet. Trykk så på Rapporter. Her kommer Fremtidig funksjon!! 4.3 Budsjett Trykk på oppgjør på venstre side av skjermbildet. Trykk så på Budsjett. Her kommer Fremtidig funksjon!! 5 Register 5.1 Kunde register Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. Her finner du alle opplysninger som er lagt inn på kunden. Trykk tilbake for å komme tilbake til registeret. 5.2 Produkter Trykk på Register på venstre side av skjermbildet. Trykk så på Produkter. Her finner du en liste over allerede registrerte produsenter og antall produkter. Velg Produsent ut fra listen. 37
5.3 Ansatte 5.3.1 registrer ny ansatt Trykk på Register på venstre side av skjermbildet. Trykk så på Ansatte. Trykk legg til ny Fyll inn opplysningsfeltene og trykk Legg til. Ansatt er nå lagret! Trykk tilbake 5.3.2 Se på info om ansatt Trykk på Register på venstre side av skjermbildet. Trykk så på Ansatte. Trykk les mer bak ønsket ansatt. 5.3.3 Endre opplysninger på ansatt Trykk på Register på venstre side av skjermbildet. Trykk så på Ansatte. Trykk les mer bak ønsket ansatt. Fyll inn endret opplysninger og trykk oppdater. Endringene er nå lagret! 5.3.4 Slett ansatt 38
Trykk på Register på venstre side av skjermbildet. Trykk så på Ansatte. Trykk les mer bak ønsket ansatt. Trykk slett ansatt. Hvis du er sikker på at du ønsker å slette ansatt, velg ja. Ansatt er nå slettet! 5.4 Gavekort 5.4.1 Registrer nytt gave kort på allerede registrert kunde Trykk på Register på venstre side av skjermbildet. Trykk så på Gavekort. Trykk legg til nytt gavekort 5.4.2 Registrer nytt gavekort på ny kunde Følg først punktene i 2.1.2 Ny kunde Der etter punktene i 5.4.1 Registrer nytt gave kort på allerede registrert kunde 5.4.3 register for solgte gavekort Trykk på Register på venstre side av skjermbildet. Trykk så på Gavekort. Trykk list gavekort Her finner du registrerte gavekort. 39
6 kunde 6.1 registrer ny kunde Trykk på knappen ny time på skjermbildet timebok. Velg ny kunde øverst på siden. Skriv inn: 1. navn på kunden 2. Adresse 3. Postnr 4. Post sted 5. E-post 6. Tlf 7. Bursdag Trykk så på legg til Kunden er nå lagt til! Trykk tilbake 6.2 slett kunde Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. Velg slett kunde til høyre i skjermbildet. Hvis du er sikker på at det er riktig kunde du er i ferd med å slette, trykk ja. Kunden er nå slettet fra registeret! Trykk tilbake for å komme tilbake til kunde registeret. 6.3 Endre kunde Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. 40
Velg Endre kunde til høyre i skjermbildet. Endre opplysningene i feltene og trykk oppdater. Kunden er nå endret i registeret! Trykk tilbake for å komme tilbake til kunde registeret. 6.4 Se bestilte behandlinger Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. Velg bestilte behandlinger til høyre i skjermbildet. Her vises kundens bestilte behandlinger frem i tid. 6.5 Se tidligere behandlinger Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. Velg tidligere behandlinger til høyre i skjermbildet. Her vises kundens tidligere behandlinger. 6.6 Send e-post til kunde Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. Velg Send e-post til kunde til høyre i skjermbildet. Skriv inn emne, melding og hvem e-posten er fra. 41
Trykk så på send. Du har nå sendt e-post til kunden. 6.7 Se ubetalte faktura Trykk på Register på venstre side av skjermbildet. Trykk så på Kunde register. Velg kunde øverst til venstre og trykk list kunde. Velg Se ubetalte faktura til høyre i skjermbildet. Her vises ubetalte behandlinger til valgt kunde. 7 Notat 7.1 Legg inn nytt notat Trykk på notat på venstre side av skjermbildet. Trykk så på notat igjen. Trykk på legg til nytt notat Skriv inn ønsket tekst, dato og velg frisør. Trykk Legg til. Notatet er nå lagret og blir vist ved valgt dato, til høyre på skjermbildet. 7.2 Kalender Trykk på notat på venstre side av skjermbildet. Trykk så på kalender. Her kommer Fremtidig funksjon!! 42
7.3 Dagens gjøremål Trykk på notat på venstre side av skjermbildet. Trykk så på Dagens gjøremål. Her kommer Fremtidig funksjon!! 7.4 Modell liste Trykk på notat på venstre side av skjermbildet. Trykk så på modell liste. Her kommer Fremtidig funksjon!! 7.5 Linker Trykk på notat på venstre side av skjermbildet. Trykk så på Linker. Her kommer Fremtidig funksjon!! 43