Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette dokumentet anbefaler vi at man ser på kravspesifikasjonen og prosessdokumentasjonen for å få helheten på prosjektet, og de som skal bruke dette dokumentet bør ha kunnskap om PHP (webprogrammering), systemutvikling og god forståelse i database. Produktdokumentasjon, prosessdokumentasjon, forprosjekt, testdokumentasjon og kravspesifikasjon er de hovedprosjektdokumentasjoner som skal innleveres. 2
Innholdsfortegnelse 1.Kravspesifikasjon og produkt... 4 2.Systemoversikt... 4 3. Beskrivelse av produkt... 4 4.Teknologi... 4 4.1 Utviklingsmiljø... 4 4.2 Verktøy... 5 5.Programmering... 5 6.Brukergrensesnitt, designmodell... 5 7. Use cases og databaser... 10 7.1 Databasestruktur... 10 7.2 Use Cases... 11 7.3 ER-Diagram... 21 7.4 Tabeller... 22 8. Avslutning... 22 8.1 Fremtidige utvidelser... 22 8.2 Konklusjon... 22 Litteraturliste... 222 3
1.Kravspesifikasjon og produkt Kravspesifikasjon er et dokument som var utarbeidet tidligere perioden i prosjektet. Og den følger sammen med dette dokument i hovedprosjektdokumentasjon. Det var tatt hensyn til kravene fra oppdragsgiveren og mulighetene som vi har for å komme til de løsningene som vi synes passer best for dette prosjektet. 2.Systemoversikt Systemet er et databasesystem som gjør det mulig å organisere bedriftens fakturaer, informasjon om leverandører, ansattes arbeid blir enklere osv. Websiden er for å informere kunder og reklamere for bedriftens produkter. 3. Beskrivelse av produkt Websiden for bedriften er en informasjonsside og kommunikasjonsside for kunder, det vil si at når kunden besøker websiden får han oversikt over informasjon om bedriften, om varer og tilbud. Kunden får også muligheter til å skrive til bedriftens ansatte for mer informasjon eller annet. Databasesystemet arbeider mot en database. Systemet har tre roller: administrator, ansatte og brukere. Alle disse rollene har blitt beskrevet detaljert på kravspesifikasjonsdokumentet. 4.Teknologi Denne delen av produktrapporten skal gi en beskrivelse av teknologiene og verktøy som er benyttet i dette systemet. 4.1 Utviklingsmiljø Gruppemedlemmene er kommet til enighet om å bruke UP(Unified Process) for vi synes den vil passe best for prosjektets mål og prosjektets fremgang. Vi vurderte en kombinasjon av UP 4
og XP(Extreme Programming) som vi tenkte ville gi oss en bra modellerings prosess for å bruke i prosjektet. Men vi valgte til slutt å bruke UP-modellen fordi vi ble enige om at denne modellen passer best til prosjektet vårt, prosessen beskriver hvem som gjør hva, hvordan og når. Denne strukturen passer godt for vårt prosjekt. 4.2 Verktøy Verktøy som blitt brukt på utvikling av dette prosjektet er: MySQL, IBM Rational Rose, WAMP Server, PHP Designer 2007, Joomla og Gant. Mer detaljer om verktøy som ble brukt for prosjektet finnes i prosessdokumentasjonen. 5.Programmering Vi har valgt å benytte PHP først og fremst fordi Linux har støtte for PHP og dette er det oppdragsgiveren vår har benyttet seg av. De fleste servere støtter også PHP. I gruppen har vi litt erfaring med PHP fra Bachelorstudiet Anvendt Datateknologi på Høgskolen i Oslo, og vi ønsket å videreutvikle oss selv videre innenfor PHP, HTML og CSS. Vi har også brukt Java-script til å lage side hvor man logger seg inn som admin eller ansatt. 6.Brukergrensesnitt, designmodell Gruppen har brukt klasser og CRC-kort for design av modellen: Klasser og type klasse klassenavn type kunde ansatt admin varer system Bruker entitet entitet entitet entitet entitet entitet 5
CRC kort- viser klassenes ansvar og samarbeid. Vite navn kunde Vite brukernavn Vite passordet ansatt Vite brukernavn Vite passordet admin Klassediagram: (Har kun tatt med klasser relevant for use casene i sekvensdiagrammene.) 6
7
: Admin 1: klik logg inn() : hjemmeside :logginn side : konto Admin klik knappen på hjemmeside 3: 2: display() 4: enter ID og passord() 5: klik ok() 6: valid logg inn(brukerid,passord) 7: logg inn ok 8: display() 9: sekvensdiagram for admin(logginn) 8
:enhetsvare :innbetaling :kuder :display :lager pris vis pris :kvitering OK betal xxx OK print kvitering utført vis godkjent redusere varelager OK Sekvensdiagram "motta betaling" 9
GUI 1 Rama-kontroller kontrollerklassen styrer anropene fra GUI til den klassen som skal gjøre jobben 1 * lager 1 varer kunde * * ansatte 1 innbetaling 1 display enhetsvarer veide varer 1 bankkort kontanter kvitering klassediagram: viser klassene og deres relasjoner 7. Use cases og databaser 7.1 Databasestruktur Databasen er strukturert og normalisert slik at man unngår redundans. Den har entiteter, relasjoner, klasser og tabeller. Her er noen av klassene i systemet: 10
7.2 Use Cases Aktør: Mål: Kunde: Søk varer/sortere varer/sjekk prisene og tilbud/ skriv kommentarer. Ansatte: Prosess salg Administrator: Lagt til brukeren/modifisere brukeren/slett brukeren. Administrere sikkerheten. Salgs aktivitet system: Analyse salg og ytelsesdata. 11
Use case kunde besøker nettside: Kunde kommer inn på hjemmeside, blar gjennom varer, sjekker tilbuds-link og der man lister over alle tilbudene med prisene på. Kunde skriver kommentarer på bloggen i nettside. Nettside gir informasjoner om butikken(stedet) og ansatte. Use case kunde: søk varer sortere varer kunde sjekke priser/tilbud skrive kommentarer Use case skrive kommentarer : Kunde besøker nettside, der får kunden mulighet for å bla gjennom varer, priser, tilbud og skrive sine kommentarer. Systemet sender det og lagrer det i meldinger. 12
Use case Skrive kommentarer Aktør Kunde Trigger Kunde besøker nettside. Pre betingelser Kunde besøker nettside Post betingelser Surfe på nettside. Normal hendelsesfylt 1.kunden fyller ut navn 2.kunden skriver tittel. 3.kunden skriver melding Variasjoner 1. Alle felt er ikke utfylt 1.a Systemet informerer ansatt om hvilke felt som ikke er utfylt, og går ikke videre før dette har blitt utført. Relatert informasjon - Feltene bør være utfylt - System sender melding - Admin får beskjed om det. Use case registrerer ansatt: Ansatt fyller ut feltene for registrering. Systemet sjekker om alle feltene er riktig utfylt. Systemet lagrer informasjoner og oppretter database for Ansatt. Ansatt og admin får beskjed at registrering er utført. 13
Use case Aktør Trigger Pre betingelser Post betingelser Normal hendelsesflyt Registrer ansatt. Ansatt. Admin registrerer ansatt for å kunne logge inn. Admin logg seg inn. Registreringen utføres. 1. Admin fyller ut feltene for registreringen. 2. Systemet sjekker om alle feltene er riktig utfylt. 3. Systemet lagrer informasjonen og oppretter database for kunden. 4. Admin får beskjed at registreringen er utført. Variasjoner 2. Alle felt er ikke tilfredsstillende utfylt 2.a: Systemet informerer ansatt om hvilke felt som ikke er utfylt, og går ikke videre før dette har blitt utført. Relatert informasjon - Feltene må være utfylt med enten tall eller bokstaver. - Registreringens link skal være under logging feltene. 14
Use case ansatt/kasserer: Lese strekkode include Kunde include vise pris Kasserer lese vekt include beregne totalsum visa mottabetaling extend skrive kvittering Use case for admin: Administrator har mange funksjoner innen bedriften. Etter at han har logget seg inn med brukernavn og passord(med de rettighetene som han har som admin), kan han liste opp varer, legge til varer, legge til bilde uten beskrivelse på nettsiden eller bytte prisene på varene(de som er i tilbud). Admin kan behandle fakturer(registrering, liste opp fakturer og søke etter faktura). Admin kan registrere ansatte og liste opp ansatte, admin kan også legge til ny bruker og liste opp alle brukerne. Admin kan behandle leverandør ved å registrere en leverandør, liste opp leverandører og finne informasjoner til en leverandør. Admin kan også kommunisere med leverandører(bruk av e-post) eller kunder (bruk av blogg). Når det gjelder admin og use cases velger vi derfor bare de viktigste av dem. 15
brukernavn og passord er string. logg inn registrering av ansatte,liste opp ansatte. behandle ansatte registrering av faktura, liste opp fakturer.. behandle fakturer registrering av leverandører, liste opp leverandører Admin behandle leverandører behandle brukerne registrering av ny brukeren, loste opp alle brukerne. behandle varer registrering av varer, liste opp alle varer.. spøring mot database her kan han med bare f. eks leverandørsnavn /perioden får han total kjøp fra denne leverandør logg ut 16
Use case registrering av leverandør : Use case Registrering av leverandør Aktør Admin Trigger Pre Betingelser 1. Liste opp leverandører. 2. registrere ny leverandør Admin logg seg inn. Post betingelser Registreringen utføres. Normal hendelsesflyt 1. Admin fyller ut feltene for registreringen. 2. Systemet sjekker om alle feltene er riktig utfylt. 3. Systemet lagrer informasjonen og oppretter database for leverandøren. 4. Admin får beskjed at registreringen er utført. Variasjoner 2. Alle felt er ikke tilfredsstillende utfylt. 2.a: Systemet informerer admin om hvilke felt som ikke er utfylt, og går ikke videre før dette har blitt utført. Relatert informasjon - Feltene må være utfylt med enten tall eller bokstaver. - Registreringens link skal være under logginn- feltene. 17
Use case registrering av ansatte : Use case Registrering av ansatte Aktør Admin Trigger 1. Liste opp ansatte. 2. registrere ny ansatt Pre Betingelser Admin logg seg inn. Post betingelser Registreringen utføres. Normal hendelsesflyt 1. Admin fyller ut feltene for registreringen. 2. Systemet sjekker om alle feltene er riktig utfylt. 3. Systemet lagrer informasjonen og oppretter database for ansatte. 4. Admin får beskjed at registreringen er utført. Variasjoner 2. Alle felt er ikke tilfredsstillende utfylt. 2.a: Systemet informerer admin om hvilke felt som ikke er utfylt, og går ikke videre før dette har blitt utført. Relatert informasjon - Feltene må være utfylt med enten tall eller bokstaver. - Registreringens link skal være under logging feltene. 18
Use case registrering av faktura : Use case Registrering av faktura Aktør Admin Trigger 1. Liste opp fakturer. 2. registrere ny faktura Pre Betingelser Admin logg seg inn. Post betingelser Registreringen utføres. Normal hendelsesflyt 1. Admin fyller ut feltene for registreringen. 2. Systemet sjekker om alle feltene er riktig utfylt. 3. Systemet lagrer informasjonen og oppretter database for faktura. 4. Admin får beskjed at registreringen er utført. Variasjoner 2. Alle felt er ikke tilfredsstillende utfylt. 2.a: Systemet informerer admin om hvilke felt som ikke er utfylt, og går ikke videre før dette har blitt utført. Relatert informasjon - Feltene må være utfylt med enten tall eller bokstaver. - Registreringens link skal være under logging feltene. 19
Use case behandling av varer : logg inn add varer bytte prisene/tilbud legg til bilder uten beskrivelser. Admin sende epost til leverandører svare på blogg fra kunder logg ut 20
7.3 ER-Diagram 21
7.4 Tabeller Databasen består av følgende tabeller med attributter: Admin (id, navn, adresse, tlf, e- mail). Leverandør (id, navn, adresse, tlf, e- mail, type, kontaktperson). Varer (id, varer nr, varer navn, pris, leverandør, antall, expire, beskrivelse). Faktura (id, faktura nr, leverandørnavn, dato, ordre nr, beløp, forfallsdato, antall dager igjen, beskrivelse). Ansatte (id, navn, tlf, e- mail, adresse, beskrivelse, avdeling, fødselsdato, ansatte fra). Bruker (id, navn, passord, e- mail). Her (id, navn, dato, tid). Logg inn/ out (navn, logget inn(tid), logget out(tid)). 8. Avslutning 8.1 Fremtidige utvidelser Systemet som vi har laget er ikke det endelige produktet, men den kan oppdateres og utvikles etter behov. For eksempel kan det ønskes å lage en kundebestilling slik at en kunde kan bestille gjennom bedriftens webside. Ansattes rettighet kan revurderes. 8.2 Konklusjon har produsert et fullt fungerende system for Nor dagligvarer import AS etter gitte kravspesifikasjoner. Vi har jobbet effektivt gjennom hele prosjektets periode, og tilegnet oss mye ny kunnskap. Med dette dokumentet (produktdokumentet) og prosessdokumentet får man et helhetlig inntrykk av utført arbeid og resultatet som er oppnådd. 22
Litteraturliste Christensen, B. (2003). Effektiv anvendelse av IKT. SND/BIT-programmet. Hasle, T. (2007). Prosjektarbeid: arbeid i prosjekt på en global arena. Oslo, Cappelen. Hasle, T. (2008). Systemutvikling:applikasjoner og databaser. Oslo, Cappelen. PHP tutorial. (u.å.). Hentet 21.mai 2011 fra www.w3schools.com/php/default. 23