PROJECT DATABASE 3. SEMESTER 2. PROJECT MULB Gruppe 1. 20. september 2015 Ved at underskrive dette dokument bekræfter vi, at det indsendte materiale alt sammen er vores eget materiale og arbejde. Andreas Baggesgaard: cph-ab202@cphbusiness.dk Mikki Houmand Olsen: cph-mo124@cphbusiness.dk Charlotte Bergstrøm: cph-cb189@cphbusiness.dk Lisbeth Kobberup Milling: cph-lm162@cphbusiness.dk Undervisere: Ivan Rosenvinge Frederiksen & Tue Becher 1
INDHOLDSFORTEGNELSE INTRODUCTION 3 PROBLEM STATEMENT 3 PROJECT PLAN 3 GANTT CHART 3 MODELS 4 EER MODEL 4 TABLE 5 ATTRIBUT TABLE 5 USECASE MODEL 6 USECASE FULLY DRESSED 7 USER/CUSTOMER 7 USECASE FULLY DRESSED 8 USER/ADMIN 1 8 USECASE FULLY DRESSED 9 USER/ADMIN 2 9 CRUD MATRIX 10 SQL - Create tables 11 SQL - Insert statements 14 SQL statements 16 REFERENCER 16 APPENDIX 17 2
INTRODUCTION Database projekt opgaven bestod i at analysere, dokumentere og udvikle en funktionel database, som er i stand til at supportere en virksomhed i fremtiden. Gruppen bestemte sig for at lade sig inspirere af virksomheden Stadium. Stadium sælger blandt andet sportstøj og sko. Vi valgte, at begrænse os til løbesko for ikke at gøre projektet for kompliceret og omfattende. Løbesko for mænd, kvinder og børn. Projektet started med en projekt plan, hvor vi valgte at bruge et Gantt Chart. Skridt nr. 2, var at udarbejde en attribut tabel. PROBLEM STATEMENT Hvordan kan vi dokumentere og udvikle en funktionel database, som i fremtiden skal være i stand til at supportere en virksomhed ude i det virkelige liv og fungere som en funktionel webshop. Hvordan kan vi dokumentere processen og den interaktion der finder sted mellem bruger og databasen. Både bruger som kunde og bruger som administrator. PROJECT PLAN GANTT CHART Opgave Start Slut Dage Ressourse 7. sep 8. sep 9. sep 10. sep 11. sep 12. sep 13. sep 14. sep 15. sep 16. sep 17. sep 18. sep 19. sep 20. sep Man Tir Ons Tors Fre Lør Søn Man Tir Ons Tors Fre Lør Søn Database projekt 3. semester 07.09 20.09 13 AB, CB, MO, LK Opstart/Planlægning 07.09 07.09 1 AB, CB, MO, LK Etablering af gruppe 07.09 07.09 1 AB, CB, MO, LK Brainstorm og valg af virksomhed 07.09 07.09 1 AB, CB, MO, LK Udarbejdelse af attribut tabel 08.09 08.09 1 AB, CB, MO, LK Manuel udarbejdelse af ER-model 08.09 08.09 1 AB, CB, MO, LK ER-model udarbejdes i Mysql workbench 08.09 08.09 1 AB, CB, MO, LK Projekt plan 08.09 10.09 3 AB, CB, MO, LK Use Case Model 08.09 08.09 1 AB, CB, MO, LK 2-3 fully dressed Use Cases 10.09 11.09 2 AB, CB, MO, LK A CRUD matrix 11.09 14.09 4 AB, CB, MO, LK Dokumentation til alle modeller 14.09 16.09 3 AB, CB, MO, LK Funktionsdygtig database 14.09 17.09 4 AB, CB, MO, LK Funktionsdygtig SQL 14.09 17.09 4 AB, CB, MO, LK Rapport 17.09 18.09 2 AB, CB, MO, LK Indhold 17.09 18.09 2 AB, CB, MO, LK Problem statement 17.09 18.09 2 AB, CB, MO, LK Bilag 18.09 18.09 1 AB, CB, MO, LK Dokumentation 17.09 18.09 2 AB, CB, MO, LK Referencer/kildehenvisning/kildefortegnelse 18.09 18.09 1 AB, CB, MO, LK Sidste korrektur/tjek 19.09 19.09 1 AB, CB, MO, LK Aflevering 20.09 20.09 1 AB, CB, MO, LK Aflever på Fronter (pdf + link) 20.09 20.09 1 AB, CB, MO, LK 3
MODELS EER MODEL 4
TABLE ATTRIBUT TABLE Entity Attributes Value Notes Datatype User User_id 1-x Unique no. N Name a-å Max. 45 char A Adress all char Max. 45 char AN Zipcode all char Max. 45 char AN Country a-å Max. 45 char A Phone 1-x Unique no. N Email all char Max. 45 char AN Username all char Max. 45 char AN Password all char Max. 45 char AN Privilliges (CRUD) all char Max. 45 char AN Product Product_id 1-x Unique no. N Category (Men, Women, Children) a-å Max. 45 char A Brand a-å Max. 45 char A Price Currency Currency Size 1-x Number N Product type (pronation, neutral, letvægt, terræn) a-å Max. 45 char A Model all char Max. 45 char AN Number in stock 0-x Number N Min. number in stock 5-x Number N Order/Shopping Cart Order_id 1-x Unique no. N Order_status (Cart, Order) a-å Max. 45 char A Quantity 1-x Number N (Total price ikke med i workbench er en beregnet værdi) 1-x Number N Product _Id (FK) 1-x Unique no. N Attributtabellen er udarbejdet for at give et overblik over det indhold, de værdier og forskellige datatyper vores database skal indeholde. 5
USECASE MODEL Browse chategory & choose Place order Register as customer Customer Log on Adminstrator Maintain product Vi har udarbejdet en use case model baseret på ovenstående processer. For kunden/customer (user i EER diagrammet): - Browse chategory and choose - Place order - Register as customer - Log on For administrator (også refereret til som user i EER diagrammet): - Log on - Maintain product Her har vi valgt at køre med 2 forskellige administratorer, med forskellige rettigheder. Admin 1 og admin 2. 6
USECASE FULLY DRESSED USER/CUSTOMER Identifier: UC1 Description: Denne Use Case beskriver, hvordan en ny bruger opretter sig som kunde Goal: At oprettelsen af en bruger er nemt, for at få så mange kunder til at oprette sig som muligt Preconditions: 1. Der er forbindelse til netværket, som forbinder brugeren med Stadium Online Shop for løbesko Frequency: Flere gange dagligt Basic Course (Describe the normal processing path, aka, the Happy Path) 1. Use Case begynder, når en ny bruger har valgt en eller flere vare(r) 2. Går til kassen 3. Udfylder form 4. Form valideres og godkendes 5. Bruger oprettes i databasen 6. Ordre registreres i databasen 7. Ordrebekræftelse genereres 8. Use case slutter når brugeren har fået en ordrebekræftelse Alternate Course A and B: Description of the alternate course Condition: Form udfyldt forkert 1. Pkt 4 Formen valideres med fejl 2. Bruger får en fejlmeddelelse (A eller B) A: Bruger eksisterer allerede A1: Bruger logger ind med eksisterende login A2: Login valideres uden fejl A3: Pkt 6-8 gennemføres B: Bruger har tastet forkert fx. email adresse B1: Bruger retter email adresse B2: Formen valideres B3: Formen godkendes uden fejl B4: Pkt. 5-8 gennemføres Post conditions: Ny bruger er tilføjet Actors: 1. Ny bruger/kunde 2. Stadium Online Shop for løbesko 7
USECASE FULLY DRESSED USER/ADMIN 1 Identifier: UC2 Description: Denne Use Case beskriver, hvordan en administrator/sælger med rettigheder til at Create, Read and Update (CRU) logger ind med sit username og password. Goal: At få adgang til systemet/databasen (eller et Content Management System) og have rettighederne til at se, vedligeholde og opdatere webshoppen. Preconditions: 1. Der er forbindelse til netværket, administratoren kan logge ind i databasen, og har rettighederne til at udarbejde, læse/se, ændre og opdatere indholdet i Stadium Online Shops database. Frequency: Ubegrænset Basic Course (Describe the normal processing path, aka, the Happy Path) 1. Use Case begynder, når en administrator har valgt at opdatere og ændre i databasen 2. Går til admin delen af webshoppen 3. Udfylder form 4. Form valideres og godkendes 5. Administrator gives adgang til databasen 6. Nyt eller nye produkter registreres i databasen 7. En opdatering genereres 8. Use case slutter når administrator kan se sine ændringer og de er opdateret/synlige på, i dette tilfælde Stadiums webshop Alternate Course A and B: Description of the alternate course Condition: Username og/eller password er udfyldt forkert 1. Pkt 4 Formen valideres med fejl 2. Administrator får en fejlmeddelelse (A eller B) A: Administrator findes ikke A1: Administrator logger ind med forkert login A2: Login valideres uden fejl A3: Pkt 6-8 gennemføres B: Administrator har tastet forkert fx. brugernavn (eller brugernavn og password passer ikke sammen) B1: Administrator retter email adresse eller password B2: Formen valideres B3: Formen godkendes uden fejl B4: Pkt. 5-8 gennemføres Post conditions: Logged ind i databasen Actors: 1. Administrator/sælge for Stadium Online Shop for løbesko 8
USECASE FULLY DRESSED USER/ADMIN 2 Identifier: UC3 Description: Denne Use Case beskriver, hvordan en administrator/sælger med rettigheder til at Create, Read, Update & Delete (CRUD) logger ind med sit username og password. Goal: At få adgang til systemet/databasen (eller et Content Management System) og have rettighederne til at se, vedligeholde, opdatere og slette i webshoppen. Preconditions: 1. Der er forbindelse til netværket, administratoren kan logge ind i databasen, og har rettighederne til at udarbejde, læse/se, ændre, opdatere og slette indholdet i Stadium Online Shops database. Frequency: Ubegrænset Basic Course (Describe the normal processing path, aka, the Happy Path) 1. Use Case begynder, når en administrator har valgt at opdatere og ændre i databasen 2. Går til admin delen af webshoppen 3. Udfylder form 4. Form valideres og godkendes 5. Administrator gives adgang til databasen 6. Nyt eller nye produkter registreres i databasen 7. En opdatering genereres 8. Use case slutter når administrator kan se sine ændringer og de er opdateret/synlige på, i dette tilfælde Stadiums, webshop Alternate Course A and B: Description of the alternate course Condition: Username og/eller password er udfyldt forkert 1. Pkt 4 Formen valideres med fejl 2. Administrator får en fejlmeddelelse (A eller B) A: Administrator findes ikke A1: Administrator logger ind med forkert login A2: Login valideres uden fejl A3: Pkt 6-8 gennemføres B: Administrator har tastet forkert fx. brugernavn (eller brugernavn og password passer ikke sammen) B1: Administrator retter email adresse eller password B2: Formen valideres B3: Formen godkendes uden fejl B4: Pkt. 5-8 gennemføres Post conditions: Logged ind i databasen Actors: 1. Administrator/sælge for Stadium Online Shop for løbesko 9
CRUD MATRIX Entity Process Log in admin 1+2 Users Address Zip Country Order Product Product type C Privileges Brand Category Size R Search product admin 1+2 maintenance of products admin 1+2 Delete product admin 2 Create profile customer Sign in/log in customer Browse product customer Search customer Add to shopping chart customer Order confirmation customer R CRU CRU C CRU CRU CRU CRUD CRUD C R R R R R R R R R R R R C U R R R R R R R R CR En CRUD matrix er en tabel som illustrerer de funktioner der opstår mellem en bruger og databasen. Den process brugeren skal udføre iforhold til de entiteter man har sat ind i sin database. Vi vil i denne CRUD matrix prøve at illustrere den interaktion der sker mellem de brugere der benytter sig af vores webshop. Processen, når en kunde opretter sig og/eller logger sig in på vores webshop. Og den process der sker når en administrator skal vedligeholde webshoppen. Vi har valgt at have to forskellige administratorer. Admin 1 har rettigheder til: Create Read and Update. Admin 2 har rettigheder til at Create, Read Update & Delete. Source:http://www.databaseanswers.org/data_migration/crud_matrix.htm 17-09-2015 10
SQL - Create tables 11
12
13
SQL - Insert statements 14
15
SQL statements REFERENCER Bøger: Sams Teach Yourself SQL in 10 min Websites: http://www.databaseanswers.org/ www.w3school.com 16
APPENDIX 17