Projekt database 3 Semester - Mul a Projekt 1 Yaser Osman cph-mo102@cphbusiness.dk Dan Eskildsen cph-de32@cphbusiness.dk Ammar Al-Basri cph-aa140@cphbusiness.dk Emre Kandemir cph-ek68@cphbusiness.dk Lotte Sophie Mikkelsen cph-lh83@cphbusiness.dk
Indholdsfortegnelse Introduktion 3 Planlægning 4 GANTT 4 PBS 5 WBS 5 Analyse 6 Use case model 6 Fully dressed use case 7 Database modellering 9 ER model 9 Navigationsdiagram 10 Attributtabel 11 CRUD 12 Bilag 1 13 2
Introduktion Vi har i vores projekt valg at lave en e-shop løsning af parajumpers.com, som er en kendt forhandler af kvalitets overtøj. Vi vil starte med at danne os overblik over projektets og planlægge perioden ved hjælp af en GANTT chart. Derefter vil vi i vores analyse lave en use case model og efterfølgende tre fully dresses use cases. Til modellering af databasen laves et ER-diagram, navigations diagram, en attributmodel og et CRUD matrix. 3
Planlægning GANTT Til opstart af projektet og tilrettelæggelse at de enkelte opaver, vil vi benytte et Gantt-Chart, som vi løbende vil opdatere og tilpasse gennem hele projekt perioden. Grundet en sideløbende projektforløb har der være en del ændringer til det første chart. Det faktiske GANTT er indsat som bilag. Figur 1 4
PBS Vi har til start lavet en PBS (product breakdown structure) over de enkelte dele i projektet for at skabe overblik over de forskellige opgaver. Derefter har vi inddelt delene i kategorier og lavet en WBS som vi kan bruge til at koordinere strukturen i vores arbejdsgang. WBS Figur 2 5
Analyse Use case model Use case modellen giver en oversigt over, de forskellige aktører og funktioner der findes i systemet (se figur 2). Dette giver et nemmer overblik over de enkelte funktioner der skal implementeres. I dette projekt har vi to aktører, den ene er brugeren af sitet, altså kunden og admin som sidder og modtager ordrerne. Brugeren kan de basale ting, som oprette en konto, søge efter produkter osv, hvor admin kan se de forskellige ordre, tilføje produkter. Figur 3 6
Fully dressed use case Fully dressed beskriver en enkelt use case fra use case modellen. Her beskriver man de enkelte use cases, hvad er handlingen, hvilke aktører er indblandet og de krav, som skal være opfyldt før man kan begynde. Udover det kan man beskrive de alternative fejl der kan forkomme under processen. Eksempel 1 NAME: Søg efter produkt ID: UC03 DESCRIPTION: Søg efter et (ønsket) produkt PRECONDITIONS: Brugeren har tastet noget ind i søgefeltet. BASIC COURSE: Brugeren taster et søgeord Systemet matcher det angivede søgeord med indholdet i databasen. Systemet finder og lister resultatet for brugeren. ALTERNATE COURSE: A. Kunne ikke finde noget på det søgte ord. Brugeren ville få en besked tilbage om der ikke kunne findes noget. POST-CONDITION: Søgning fortaget og er gennemført. ACTORS: Bruger, Admin Eksempel 2 NAME: Tilføje vare til kurv ID: UC04 DESCRIPTION: Tilføje en eller flere produkt(er) til kurven. PRECONDITIONS: Brugeren har fundet et ønsket produkt og vælger antal derefter trykker Tilføj til kurv. BASIC COURSE: Brugeren findet et produkt. Brugeren taster det ønskede antal af produktet. Brugeren trykker Tilføj til kurv knappen. Produktet bliver tilføjet til kurven. Brugeren for tilbagemelding om produktet nu er tilføjet til kurven og brugeren kan nu se antal varer i kurven. ALTERNATE COURSE: Det ønskede antal af produktet er ikke på lager. Brugeren får tilbagemelding af systemet at det ønskede antal ikke findes på lager og bliver bedt om at prøve igen. POST-CONDITION: Produktet er tilføjet til kurven og er opdateret med det rigtige antal. ACTORS: Bruger, Admin 7
Eksempel 3 NAME: Se kundeordre ID: UC11 DESCRIPTION: Admin kan se en eller flere kunders ordre. PRECONDITIONS: Der skal være nogle bestillinger før admin kan se ordre. BASIC COURSE: Admin klikker ind på Se kundeordre fra admin siden. Admin får listet en eller flere kundeordre. Admin kan se detaljer for ordrerne. ALTERNATE COURSE: Der er ingen ordre at vise. Admin får besked på der endnu ikke er nogle kundeordre i systemet. POST-CONDITION: Kundeordre er vist og alle detaljer kan ses. ACTORS: Admin 8
Database modellering ER model ER modellen giver et eksempel på, hvordan et site kan sættes op ud fra de funktioner vi har valgt til netop vores system. I dette tilfælde har vi afgrænset alt ud over de funktioner vi har valgt. Her skal man være logget ind eller oprettet som bruger før man kan checke ud. Figur 3 9
Navigationsdiagram Her ser vi et simpelt eksempel over sidens navigations sti. Der er taget udgangspunkt i webshop delen og hvilke led brugeren skal igennem for at købe et produkt. Et eksempel på, hvordan et site kan sættes op ud fra de funktioner vi har valgt netop på vores system. I dette tilfælde har vi afgrænset alt ud over de funktioner vi har valgt, da det ellers kunne se anderledes ud. I dette tilfælde skal man være logget ind eller oprettet som bruger før man kan checke ud. 10
Attributtabel I attributtabellen danner vi os et overblik over alle de attributter hvert tabel skal indeholde. Tabellen viser hvilke værdier de enkelte kolonner skal indeholde, og hvilken type data der anvendes. Entity Attributes Value Notes Datatype Customers customerid 1-x unique no. N fname a-å max 45 char AN lname a-å max 45 char AN address All char max 45 char AN phone 1-x max 8 number N Zipcode zipcode 1000-9999 max 4 number N city a-å max 45 char AN Order orderid 1-x unique no. N orderdate date date N orderdetails a-å text AN orderstatus a-å max 30 char AN Product productid 1-x unique no N productdesc a-å text AN productcolor a-å max 45 char AN ProductPrice currency number currency Size sizeid 1-x unique no. N sizename a-å max 45 char AN Size has producr sizeid unique no N productid 1-x unique no. N stockquantity 0-100 number N Produch has order productid 1-x unique no. N orderid 1-x unique no. N quantity 1-x number N category categoryid 1-x unique no. N 11 categoryname a-å max 45 char AN categorygender a-å Male/female/kids AN
CRUD CRUD matrix en bruger vi til at identificerer databasens tabeller som bliver brugt i forbindelse med interaktion på websitet af brugeren eller administratoren. CRUD Create, Read, Update, Delete er i SQL forbundet med INSERT, SELECT, UPDATE & DELETE. Vi sammensætter de forskellige tables med en række funktioner på websitet for at afgøre hvilke tables der bliver brugt lidt eller meget. 12
Bilag 1 GANTT - Opdateret 13