Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.
Study: Multimedia Design Project: 3. semester 1. project. Database Period: 08. Sep. 2014-21. Sep. 2014 Project title: Class: Database Mul A Group Number MulA 1 Group member Name: School mail: Sign: Kamilla Klein Maria Korshøj Andersen Pia Ellenton Jensen Kia Dahlen cph-kk154@cphbusiness.dk cph-ma237@cphbusiness.dk cph-pj103@cphbusiness.dk cph-kd51@cphbusiness.dk By signing this document we confirm that the submitted material is all our work. We have not copied another person s work or used material without referencing the source. We have not cheated in any way. Lærere: Portfolioer Ivan Rosevinge Frederiksen Tue Becher Kamilla Klein: www.kleinovich.dk Maria Korshøj Andersen: www.grafreaq.dk Pia Ellenton Jensen: www.piajensen.nu Kia Dahlen: www.kiadahlen.dk
Indholdsfortegnelse Indholdsfortegnelse 3 Indledning 4 Gantt kort 4 ER-diagram 5 Attribut tabel (NY) 6 Use Case model 7 Detaljeret beskrivelse af Use case 8 Navigationsdiagram 10 CRUD matrix (NY) 11 Dokumentation af SQL 11 Bilag 1, Create tables 13 Bilag 2, Insert into 14 Bilag 3, Create view 17 Bilag 4, Insert order 18 Bilag 5, Se kurv 18 Bilag 6, Delete order 18 Side 3
Indledning I dette projekt fik vi udleveret en opgave om database, hvor vi skal demonstrere, at vi kan bygge en database op fra bunden. Hertil skal vi analysere, dokumentere og udvikle en velfungerende database, der kan understøtte en virksomhed i fremtiden. Vi har valgt, at fokusere på sko fra Adidas, da det er et anerkendt brand, som mange kender. Hele databasen skal dokumenteres i form af UML-notation, user stories og ER-diagram. Gantt kort Til projektets begyndelse har vi valgt, at udvikle et GANTT kort, for at få struktur og overblik over forløbet. Vi har i løbet af opgaven valgt, at ændre i GANTT kortet, da vi havde sat for lang tid af til de forskellige opgaver, end hvad vi benyttede. Side 4
ER-diagram Note: Fremmednøglerne er desværre også blever gule, så de ligner primærnøgler. For at bygge en database op fra bunden, skal man udvikle et ER-diagram. Dette diagram skal vise, hvordan databasen hænger sammen. Hver tabel skal have sit eget ID, derudover oplister man de punkter af information, som man skal bruge. Hvis tabellerne skal snakke sammen, bruges ID et fra eksempelvis tabel 1 som fremmednøgle (f_key) i tabel 2. Dette er for eksempel gældende i zipcodes og country. Så slipper man for at indtaste den samme information mange gange og derved undgås tastefejl. Side 5
Attribut tabel (NY) Place in stock = placering på lageret. Entity Attibut Value Notes Data type Customer Customer ID 1-X Unique no. No. No. in stock = antal på hylden. For at udvikle et ER-diagram, kan man udvikle en attribut model, for at finde ud af hvilke informationer, som man har behov for. Dette er med til at skabe struktur og orden i hvad databasen skal indeholde. Cust. name A-Å Max. 50 char. Alfano. Product Product No. 1-X Unique no. No. Gender M/F Alfano. Product name A-Å Max. 30 char. Alfano. Standard price Currency Currency Place in stock 1-100 Number No. No. in stock 1-1500 Number No. Min. no. in stock 1-50 Number No. Size 36-48 Number No. Orders Order no. 1-X Unique no. No. Quantity 1-X Number No. Status C/O Alfano. Address Address ID 1-X Unique no. No. Zipcode 1000-9999 Number No. Address name All char. Max. 50 char. Alfano. Zipcodes Zipcode ID 1-X Unique no. No. City A-Å Max. 50 char. Alfano. Country A-Å Max. 50 char. No. Country Country id 1-X Unique no. No. Country name A-Å Max. 50 char. No. Side 6
Use Case model Use case modellen illustrerer de forskellige handlinger, som vores database skal kunne håndtere. Det ses både fra kundens og administratorens synsvinkel. Modellen kan bruges, som vejledning til at sikre, at databasen kan håndtere de ønskede handlinger. Nedenfor ses forskellige eksempler på use cases, som beskriver forskellige handlinger, som for eksempel at tilføje en sko, søge efter en sko og oprette en ordre. Side 7
Detaljeret beskrivelse af Use case Navn: Tilføj sko. Formål: Formålet er, at tilføje sko til databasen. ID: UC-06. Aktør: Administratoren. Frekvens: Når der skal tilføjes flere sko til lageret. Startbetingelser: Der skal være internetforbindelse, og hjemmesiden skal fungere optimalt og databasen skal være online. Beskrivelse: Først skal der tilføjes nye sko. Administratoren logger ind i databasen, og laver en ny INSERT til products, hvorefter hjemmesiden opdateres. Derefter skal administratoren tilføje de eksisterende sko til lageret. Administratoren logger ind i databasen, og opdaterer sko beholdningen. Undtagelser: Hvis der sker personlige tastefejl. Illustrationer: Der skal også indsættes billede af hver sko. Slutbetingelser: Efter der er tilføjet nye sko, skal der sikres, at de kan bestilles fra hjemmesiden. Navn: Søg sko. Formål: Se om den ønskede sko er i egen størrelse. ID: UC-01. Aktør: Kunden. Frekvens: Når kunden ønsker, at se om skoene findes i den ønskede størrelse. Startbetingelser: Der skal være internetforbindelse, indhold på hjemmesiden og lagerstatus baseret på størrelser på de valgte sko. Beskrivelse: Brugeren kommer ind på websitet og kigger på forskellige sko. Brugeren finder et par sko, som han gerne vil købe og klikker på dem. Brugeren kan herefter se om skoen findes i hans størrelse, og derefter bestille den. Undtagelser: Hvis den ønskede sko ikke er i brugerens størrelse kan han ikke bestille den. Illustrationer: Der er et billede af hver sko, så kunden kan se, at det er den rigtige model. Slutbetingelser: Forhåbentlig var skoen der i den rigtige størrelse, og brugeren kan købe den. Side 8
Navn: Opret ordre. Formål: Formålet er, at man skal kunne oprette en ordre på et par Adidas sneakers. ID: UC-03. Aktør: Kunde. Frekvens: Når kunden har behov for endnu et par sko. Startbetingelser: Der skal være internetforbindelse. Siden skal fungere optimalt. Skoen skal være på lager i rigtig størrelse, og der skal kunne gennemføres betaling. Beskrivelse: Kunden besøger hjemmesiden, og finder det ønskede par sko. Kunden finder den ønskede størrelse og lægger varen i indkøbskurven. Derefter bliver kunden sendt videre til betaling, hvor kunden derefter modtager en ordrebekræftelse. Undtagelser: Hvis systemet viser en fejlinformation, så den bestilte sko, ikke er på lager alligevel, så kan kunden få pengene tilbage. Illustrationer: Der er et billede af hver sko, så kunden kan se hvordan modellen ser ud, inden den bestilles. Slutbetingelser: Der skal komme en ordrebekræftelse, som fortæller, at skoene er blevet købt. Side 9
Navigationsdiagram Model Størrelse FORSIDE Herre Dame FAQ Kurv Model Størrelse Navigationsdiagrammet er en vejledning for, hvordan menuen skal udvikles. Diagrammet kan derfor anses for et skelet for websitet, som skal hjælpe med at give et overblik over hvilke funktioner websitet indeholder. Diagrammet demonstrerer hvilke muligheder man har på websitet, og viser hvilke områder databasen dækker. Bekræftelse Betaling Ordrebekræftelse Side 10
CRUD matrix (NY) Entities/ Usecase Customer Address Zipcoes Country Orders Product Søg Vælg sko R R Opret ordre R R R R CUD R Ordrebekræftelse R R R Betal R R Tilføj sko Se/rediger lagerstatus CRUD CRUD Indkøbskurv R R Godkend ordre R R R Afsend ordre R R R R R R FAQ C = Create, R = Read, U = Update, D = Delete. Når man har udarbejdet CRUD matrix, kan informationerne implementeres i databasen. Modellen bliver udviklet for at hjælpe med at vide hvem der kan udfører de forskellige handlinger, som man kan foretage sig på websitet. CRUD matrix er med til skabe overblik over hvilke udførelser og handlinger en bruger, og administrationen kan foretage. Dokumentation af SQL Se bilag 1. Vi har taget udgangspunkt i tabellen address. Tabellen har et ID, 2 fremmednøgler og et address_name. idaddress er en primær nøgle, som bruges til at identificere address-tabellen. Fremmednøglerne i dette tilfælde refererer til to andre tabeller, og dermed kædes de sammen med customer og zipcodes. Se bilag 2. Her indsætter vi informationer i databasen til de forskellige tabeller. Side 11
Se bilag 3. Vi har oprettet et view, da vi mener denne kode vil blive benyttet ofte, og det gør det derfor lettere for administratoren. SQL-koden viser et eksempel på en der søger efter sko til mænd i en størrelse 40. Vi har valgt, at brugeren kun skal have oplysningerne gender, product_name, price, no_in_stock og size, da vi ikke anser, at det er nødvendigt for brugeren at vide de andre tilgængelige oplysninger, som databasen ligger inde med. Se bilag 4. Vi har oprettet en ordre, for kunden med id nr. 12, han har valgt at bestille produkt med id nr. 18. Denne ordre går fra C (cart) til O (ordre). Dette betyder at det går fra bestilling i kurv til ordre hos Adidas. Se bilag 5. Koden viser en kurv over de produkter kunden har valgt. Se bilag 6 For at slette kurven, bruges SQL funktionen DELETE. Side 12
Bilag 1, Create tables Side 13
Bilag 2, Insert into Side 14
Bilag 2, fortsat Side 15
Bilag 2, fortsat Side 16
Bilag 2, fortsat Bilag 3, Create view Side 17
Bilag 4, Insert order Bilag 5, Se kurv Bilag 6, Delete order Side 18