Group4 CoffeeChain Report
Group4 CoffeeChain Report
Group4 CoffeeChain Report
FPT UNIVERSITY
SEP490_G3
Nguyen Tuan Duong - Leader - HE150423
Le Nguyen Anh Tuan - Member - HE150485
Group Members Pham Duc Anh - Member - HE 150529
Phuong Thanh Huyen - Member - HE150576
Phan Duc Manh - Member - HE151290
1
Table of Contents
Definition and Acronyms ....................................................................................................................... 12
CHAPTER 1: ............................................................................................................................................ 13
PROJECT INTRODUCTION....................................................................................................................... 13
1.1. Overview ..................................................................................................................................... 13
1.1.1. Project Information ................................................................................................................. 13
1.1.2 Project Team ............................................................................................................................. 13
1.2. Product Background ................................................................................................................... 13
1.3. Existing Systems .......................................................................................................................... 14
1.3.1 Chuk Tea and Coffee ................................................................................................................. 14
1.3.1.1. Description ............................................................................................................................ 14
1.3.1.2. Functions............................................................................................................................... 14
1.3.1.3. Pros & cons ........................................................................................................................... 14
1.3.2 Twitter Beans Coffee ................................................................................................................ 15
1.3.2.1. Description ............................................................................................................................ 15
1.3.2.2. Functions............................................................................................................................... 15
1.3.2.3. Pros & cons ........................................................................................................................... 15
1.4. Business Opportunity.................................................................................................................. 15
1.5. Software Product Vision ............................................................................................................. 16
1.6. Project Scope & Limitations........................................................................................................ 16
1.6.2. Out of scope ............................................................................................................................. 16
1.6.3. Limitations & Exclusions .......................................................................................................... 16
CHAPTER 2: ............................................................................................................................................ 17
PROJECT MANAGEMENT PLAN .............................................................................................................. 17
2.1. Overview ..................................................................................................................................... 17
2.1.1. Scope & Estimation .................................................................................................................. 17
2.1.2. Project Objectives .................................................................................................................... 17
2.1.3. Project Risks ............................................................................................................................. 18
2.2. Management Approach .............................................................................................................. 19
2.2.1. Project Process......................................................................................................................... 19
2.2.2. Quality Management ............................................................................................................... 19
2.2.2.1. Document ............................................................................................................................. 19
2.2.2.2. Coding ................................................................................................................................... 19
2.2.2.3. Testing................................................................................................................................... 19
2
2.2.3. Training Plan ............................................................................................................................ 20
2.3. Project Deliverables .................................................................................................................... 20
2.4. Responsibility Assignments ........................................................................................................ 21
2.4.1 Role ........................................................................................................................................... 21
2.4.2. Responsibility Assignments ..................................................................................................... 22
2.5. Project Communications............................................................................................................. 22
2.6. Configuration Management ....................................................................................................... 23
2.6.1. Document Management .......................................................................................................... 23
2.6.1.1. Convention............................................................................................................................ 23
2.6.1.2. Management ........................................................................................................................ 23
2.6.2. Source Code Management ...................................................................................................... 23
2.6.2.1. Convention............................................................................................................................ 23
2.6.2.2. Management ........................................................................................................................ 23
2.6.3. Tools & Infrastructures ............................................................................................................ 23
CHAPTER 3: ............................................................................................................................................ 25
SOFTWARE REQUIREMENT SPECIFICATION .......................................................................................... 25
3.1. Product Overview ....................................................................................................................... 25
3.2. User Requirements ..................................................................................................................... 25
3.2.1. Actors ....................................................................................................................................... 25
3.2.2. Major Features......................................................................................................................... 26
3.2.2.1. Guest ..................................................................................................................................... 26
3.2.2.2. Customer .............................................................................................................................. 26
3.2.2.3. Administrator ........................................................................................................................ 27
3.2.2.4. Branch Manager ................................................................................................................... 28
3.2.2. Use Cases ................................................................................................................................. 29
3.2.2.1. Diagram(s) ............................................................................................................................. 29
3.2.2.2. Descriptions .......................................................................................................................... 33
3.3. Functional Requirements............................................................................................................ 38
3.3.1. System Functional Overview ................................................................................................... 38
3.3.1.1. Screens Flow ......................................................................................................................... 38
3.3.1.2. Screen Descriptions .............................................................................................................. 38
3.3.1.3. Screen Authorization ............................................................................................................ 40
3.3.1.4. Entity Relationship Diagram ................................................................................................. 42
3.3.2. Feature Description ................................................................................................................. 43
3.2.1. Register .................................................................................................................................... 43
3.2.2. View the menu ......................................................................................................................... 44
3
3.2.3. View information of Coffee Chain ........................................................................................... 45
3.2.4. View all posts from Coffee Chain ............................................................................................. 46
3.2.5. View information (location, phone number) of each branch.................................................. 47
3.2.6. Login ......................................................................................................................................... 48
3.2.7. Logout ...................................................................................................................................... 50
3.2.8. Forget Password ...................................................................................................................... 51
3.2.9. Change Password ..................................................................................................................... 52
3.2.10. Profile Management: View personal information ................................................................. 53
3.2.11. Profile Management: Update personal information ............................................................. 54
3.2.12. Place an order: Add products to your cart ............................................................................ 56
3.2.13. Place an order: Delete the product in your cart .................................................................... 57
3.2.14. Place an order: Change quantity ........................................................................................... 58
3.2.15. Place an order: Apply voucher ............................................................................................... 59
3.2.16. Place an order: Checkout ....................................................................................................... 60
3.2.17. Cancel order ........................................................................................................................... 62
3.2.18. View all orders ....................................................................................................................... 63
3.2.19. View order details .................................................................................................................. 64
3.2.20. User Management: View all user .......................................................................................... 65
3.2.21. User Management: Enable/disable user account ................................................................. 67
3.2.22. Order Management: View order detail ................................................................................. 68
3.2.23. Branch Management: View all branch .................................................................................. 69
3.2.24. Branch Management: Add branch ........................................................................................ 70
3.2.25. Branch Management: Update Branch ................................................................................... 72
3.2.26. Branch Management: Enable/Disable branch ....................................................................... 73
3.2.27. Product Management: View product .................................................................................... 74
3.2.28. Product Management: Add product...................................................................................... 75
3.2.29. Product Management: Edit product ...................................................................................... 77
3.2.30. Product Management: Enable/Disable product .................................................................... 78
3.2.31. Category Management: View all category ............................................................................ 79
3.2.32. Category Management: Add category .................................................................................. 80
3.2.33. Category Management: Edit category ................................................................................... 82
3.2.34. Category Management: Enable/Disable category................................................................. 83
3.2.35. Post Management: View post ............................................................................................... 84
3.2.36. Post Management: Edit post ................................................................................................. 85
3.2.37. Post Management: Upload post ............................................................................................ 86
3.2.38. Post Management: Delete post ............................................................................................. 87
4
3.2.41. User Management: Add branch manager ............................................................................. 89
3.2.42. Request Management: View request .................................................................................... 90
3.2.43. Request Management: Accept/decline request.................................................................... 91
3.2.44. View orders of their branch ................................................................................................... 92
3.2.45. Receive orders from customers that ordered to their branch .............................................. 94
3.2.46. Approve an order ................................................................................................................... 95
3.2.47. Cancel an order ...................................................................................................................... 96
3.2.48. View information of customers ordering (phone number, name, address) ......................... 97
3.2.49. Branch-self Management: View information of their branch ............................................... 99
3.2.50 Branch product management: Enable/Disable product in the menu of their branch ......... 100
3.2.51. Branch Request Management: Create request ................................................................... 101
3.2.52. Branch Request Management: Edit request ....................................................................... 102
3.2.53. Branch Request Management: Send request ...................................................................... 104
3.2.54. Branch Request Management: Cancel request ................................................................... 105
3.2.55. Branch Request Management: View request detail............................................................ 107
3.2.56. Branch Request Management: Completed request ............................................................ 108
3.2.57. Completed an order ............................................................................................................. 109
3.4. Non-Functional Requirements.................................................................................................. 110
3.4.1 External Interfaces .................................................................................................................. 110
3.4.1.1. User Interfaces .................................................................................................................... 110
3.4.1.2. External Interfaces .............................................................................................................. 111
3.4.2. Quality Attributes .................................................................................................................. 111
3.4.2.1. Usability .............................................................................................................................. 111
3.4.2.2. Reliability ............................................................................................................................ 111
3.4.2.4. Security ............................................................................................................................... 111
3.5. Requirement Appendix ............................................................................................................. 111
3.5.1. Business Rules ........................................................................................................................ 111
3.5.2. Common Requirements ......................................................................................................... 112
3.5.3. Application Messages List ...................................................................................................... 112
CHAPTER 4: .......................................................................................................................................... 114
SOFTWARE DESIGN DESCRIPTION ....................................................................................................... 114
4.1. System Design ........................................................................................................................... 114
4.1.1. System Architecture .............................................................................................................. 114
4.1.2. Component Architecture ....................................................................................................... 115
4.1.2. Package Diagram ................................................................................................................... 117
4.1.3.1. Back-end Package Diagram................................................................................................. 117
5
4.1.2.2. Front-end Package Diagram ............................................................................................... 118
4.2. Database Design ....................................................................................................................... 120
4.2.1. Table Descriptions ................................................................................................................. 120
4.2.1.1. Entity ................................................................................................................................... 120
4.2.1.2. Attribute ............................................................................................................................. 121
4.2.1.2.1. Table Branch .................................................................................................................... 121
4.2.1.2.2. News Branch .................................................................................................................... 122
4.2.1.2.3. Image Info Storage........................................................................................................... 122
4.2.1.2.4. Table Internal User .......................................................................................................... 123
4.2.1.2.5. Table Orders .................................................................................................................... 123
4.2.1.2.6. Table Order Detail............................................................................................................ 124
4.2.1.2.7. Table App Param.............................................................................................................. 124
4.2.1.2.8. Table Category ................................................................................................................. 125
4.2.1.2.9. Table Goods ..................................................................................................................... 125
4.2.1.2.10. Table Coupon ................................................................................................................. 126
4.2.1.2.11. Table Request ................................................................................................................ 126
4.2.1.2.12. Table Request Detail ...................................................................................................... 127
4.2.1.2.13. Table Branch goods disable ........................................................................................... 128
4.3. Detailed Design ......................................................................................................................... 128
4.3.1. Class Diagram ......................................................................................................................... 128
4.3.2. Sequence Diagram ................................................................................................................. 129
4.3.2.1. Login.................................................................................................................................... 129
4.3.2.2. Logout ................................................................................................................................. 130
4.3.2.3. Update personal information ............................................................................................. 130
4.3.2.4. View personal information ................................................................................................. 131
4.3.2.5. Register ............................................................................................................................... 131
4.3.2.6. Add Product ........................................................................................................................ 131
4.3.2.7. Edit Product ........................................................................................................................ 132
4.3.2.8. View Product....................................................................................................................... 132
4.3.2.9. Enable/Disable Product ...................................................................................................... 132
4.3.2.10. Add Category .................................................................................................................... 133
4.3.2.11. Edit Category .................................................................................................................... 133
4.3.2.12. View Category ................................................................................................................... 133
4.3.2.13. Enable/Disable Category .................................................................................................. 134
4.3.2.14. Upload Post....................................................................................................................... 134
4.3.2.15. View Post .......................................................................................................................... 134
6
4.3.2.16. Edit Post ............................................................................................................................ 135
4.3.2.17. Delete Post ........................................................................................................................ 135
4.3.2.18. View Branch ...................................................................................................................... 135
4.3.2.19. Add Branch ....................................................................................................................... 136
4.3.2.20. Enable/Disable Branch...................................................................................................... 136
4.3.2.21. Update Branch .................................................................................................................. 136
4.3.2.22. View Request .................................................................................................................... 137
4.3.2.23. Accept/Decline Request ................................................................................................... 137
4.3.2.24. Completed Request .......................................................................................................... 137
4.3.2.25. Create Request ................................................................................................................. 138
4.3.2.26. Edit Request ...................................................................................................................... 138
4.3.2.27. Send Request .................................................................................................................... 138
4.3.2.28. View information of their branch ..................................................................................... 139
4.3.2.29. Checkout (Create Order) .................................................................................................. 139
4.3.2.30. Cancel an order ................................................................................................................. 139
4.3.2.31. Order management: View order detail ............................................................................ 140
4.3.2.32. Approve an order .............................................................................................................. 140
4.3.2.33. Completed an order.......................................................................................................... 140
4.3.2.34. Receive orders from customers that ordered to their branch ......................................... 141
4.3.2.35. Branch Product management: Enable product in the menu of their branch .................. 141
4.3.2.36. Branch Product management: Disable product in the menu of their branch ................. 141
4.3.2.37. View all orders .................................................................................................................. 142
4.3.2.38. View all orders of their branch ......................................................................................... 142
4.3.2.39. View the menu .................................................................................................................. 142
4.3.2.40. View all posts from Coffee Chain...................................................................................... 143
4.3.2.41. View information (location, phone number) of each branch .......................................... 143
4.3.2.42. Forget Password ............................................................................................................... 143
4.3.2.43. Change Password .............................................................................................................. 144
4.3.2.44. Customer management: View customer .......................................................................... 144
4.3.2.45. Customer management: Enable customer account ......................................................... 145
4.3.2.46. Customer management: Disable customer account ........................................................ 145
CHAPTER 5: .......................................................................................................................................... 146
SOFTWARE TESTING DOCUMENTATION ............................................................................................. 146
5.1. Scope of Testing ........................................................................................................................ 146
5.1.1. Testing Targets ....................................................................................................................... 146
5.1.1.1. Feature, Functional ............................................................................................................. 146
7
5.1.1.2. Non - Functional ................................................................................................................. 146
5.1.1.2.1. User Interface .................................................................................................................. 146
5.1.1.2.2. Security Requirements .................................................................................................... 146
5.1.1.2.3. Usability Requirements ................................................................................................... 146
5.1.1.2.4. Maintainability Requirements ......................................................................................... 146
5.1.2. Testing Levels ......................................................................................................................... 146
5.2. Test Strategy ............................................................................................................................. 147
5.2.1. Testing Types ......................................................................................................................... 149
5.2.2. Test Levels.............................................................................................................................. 151
5.2.3. Supporting Tools .................................................................................................................... 151
5.3. Test Plan .................................................................................................................................... 152
5.3.1. Human Resources .................................................................................................................. 152
5.3.2. Test Environment................................................................................................................... 152
5.3.3. Test Milestones ...................................................................................................................... 152
5.4. Test Cases ................................................................................................................................. 153
5.4.1. Unit Test ................................................................................................................................. 153
5.4.2. Integration Test ..................................................................................................................... 189
5.4.3. System Test ............................................................................................................................ 190
5.5. Test Reports .............................................................................................................................. 201
5.5.1. Unit Test Report ..................................................................................................................... 201
5.5.2. Integration Test Report ......................................................................................................... 202
5.5.3. System Test Report ................................................................................................................ 202
5.5.4. Acceptance Test Report ......................................................................................................... 203
CHAPTER 6: .......................................................................................................................................... 204
RELEASE PACKAGE & USER GUIDES ..................................................................................................... 204
6.1. Deliverable Package .................................................................................................................. 204
6.2. Installation Guides .................................................................................................................... 205
6.2.1. System Requirements ............................................................................................................ 205
6.2.2. Installation Instruction ........................................................................................................... 205
6.2.2.1. Install MySQL ...................................................................................................................... 205
6.2.2.2. Install Coffee Chain Front-end ............................................................................................ 205
6.2.2.2.1. For Development ............................................................................................................. 205
6.2.2.2.2. For Production ................................................................................................................. 206
6.2.2.3. Install Coffee Chain Backend .............................................................................................. 206
6.2.2.3.1. For Development ............................................................................................................. 206
6.2.2.3.2. For Production ................................................................................................................. 208
8
6.3. User Manual .............................................................................................................................. 208
6.3.1. Guest guideline ...................................................................................................................... 208
6.3.1.1. Register ............................................................................................................................... 208
6.3.1.2. View the menu .................................................................................................................... 210
6.3.1.3. About us (View information of Coffee Chain) .................................................................... 211
6.3.1.4. View all posts from Coffee Chain........................................................................................ 212
6.3.1.5. View information (location, phone number) of each branch ............................................ 214
6.3.1.6. Shopping Now ..................................................................................................................... 216
6.3.1.7. Check out ............................................................................................................................ 217
6.3.2. Customer guideline ................................................................................................................ 221
6.3.2.1. Log in ................................................................................................................................... 221
6.3.2.2. Log out ................................................................................................................................ 222
6.3.2.3. Forgot password ................................................................................................................. 223
6.3.2.4. Change Password ................................................................................................................ 225
6.3.2.5. Profile Management ........................................................................................................... 226
6.3.2.5.1. View personal information .............................................................................................. 226
6.3.2.5.2. Update personal information .......................................................................................... 227
6.3.2.6. View the menu .................................................................................................................... 229
6.3.2.7. About us (View information of Coffee Chain) .................................................................... 231
6.3.2.8. View all posts from Coffee Chain........................................................................................ 232
6.3.2.9. View information (location, phone number) of each branch ............................................ 233
6.3.2.11. Check out .......................................................................................................................... 237
6.3.1.12. Order ................................................................................................................................. 240
6.3.3. Administrator guideline ......................................................................................................... 241
6.3.3.1. Log in ................................................................................................................................... 241
6.3.3.2. Log out ................................................................................................................................ 242
6.3.3.3. Forget password ................................................................................................................. 243
6.3.3.4. Change Password ................................................................................................................ 244
6.3.3.5. Profile Management ........................................................................................................... 246
6.3.3.5.1. View personal information .............................................................................................. 246
6.3.3.6. Order Management ............................................................................................................ 247
6.3.3.6.1. View list of orders ............................................................................................................ 247
6.3.3.7. Customer Management ...................................................................................................... 248
6.3.3.7.1. View list of customers...................................................................................................... 248
6.3.3.7.2. View detail information customer account ..................................................................... 248
6.3.3.8. Branch Management .......................................................................................................... 250
9
6.3.3.8.1. View list of branches........................................................................................................ 250
6.3.3.8.2. Add branch....................................................................................................................... 251
6.3.3.8.3.Enable/Disable branch...................................................................................................... 252
6.3.3.8.4. Update Branch ................................................................................................................. 253
6.3.3.9. Product Management: ....................................................................................................... 255
6.3.3.9.1. View list of products ........................................................................................................ 255
6.3.3.9.2. Add product ..................................................................................................................... 256
6.3.3.9.3.Enable/Disable product .................................................................................................... 257
6.3.3.9.4. Edit product ..................................................................................................................... 258
6.3.3.10. Category Management: ................................................................................................... 260
6.3.3.10.1. View list of a category ................................................................................................... 260
6.3.3.10.2. Add category .................................................................................................................. 261
6.3.3.10.3. Enable/Disable category ................................................................................................ 262
6.3.3.10.4. Edit category .................................................................................................................. 263
6.3.3.11. Post Management: .......................................................................................................... 265
6.3.3.11.1. View list of posts ............................................................................................................ 265
6.3.3.11.2. Add post ......................................................................................................................... 266
6.3.3.11.3. Edit post ......................................................................................................................... 267
6.3.3.12. Branch Manager Management: ....................................................................................... 270
6.3.3.12.1. View list of branch managers ........................................................................................ 270
6.3.3.12.2. Add a branch manager .................................................................................................. 270
6.3.3.12.3. Enable/disable branch manager .................................................................................... 272
6.3.3.13 Request Management ....................................................................................................... 273
6.3.3.13.1. View list of requests ...................................................................................................... 273
6.3.3.13.2 Approve request ............................................................................................................. 274
6.3.3.13.3 Cancel request ................................................................................................................ 276
6.3.4. Branch Manager guideline ..................................................................................................... 278
6.3.4.1 Login..................................................................................................................................... 278
6.3.4.2. Log out ................................................................................................................................ 279
6.3.4.3. Forget password ................................................................................................................. 280
6.3.3.4. Change Password ................................................................................................................ 282
6.3.4.5. Profile Management ........................................................................................................... 283
6.3.4.5.1. View personal information .............................................................................................. 283
6.3.4.6. Orders Management .......................................................................................................... 284
6.3.4.6.1 View orders of their branch .............................................................................................. 284
6.3.4.6.2. Approve an order ............................................................................................................. 285
10
6.3.4.6.3. Completed an order......................................................................................................... 287
6.3.4.6.4. Cancel an order ................................................................................................................ 289
6.3.4.7. Branch-self Management ................................................................................................... 291
6.3.4.7.1 View information of their branch ..................................................................................... 291
6.3.4.8. Branch product management ............................................................................................. 292
6.3.4.8.1. Enable/Disable product in the menu of their branch ..................................................... 292
6.3.4.9. Branch Request Management ............................................................................................ 293
6.3.4.9.1. Create request ................................................................................................................. 293
6.3.4.9.2. Edit request...................................................................................................................... 295
6.3.4.9.3. Send request .................................................................................................................... 297
6.3.4.9.4. Cancel request ................................................................................................................. 299
6.3.4.9.5. View request detail .......................................................................................................... 302
6.3.4.9.6. Completed request .......................................................................................................... 303
11
Definition and Acronyms
Acronym Definition
CC Coffee Chain
BA Business Analysis
BR Business Rule
PM Project Manager
UC Use Case
12
CHAPTER 1:
PROJECT INTRODUCTION
1.1. Overview
1.1.1. Project Information
• Project name: Coffee chain
• Project code: CC
• Group name: SEP490-G3
• Software type: Website
13
1.3. Existing Systems
1.3.1 Chuk Tea and Coffee
1.3.1.1. Description
1.3.1.2. Functions
• Homepage
• Product List, product details
• Order Product
• Shop news, event
• Discount detail
• List Shop detail
• Contact Info page
• Membership
• User Management
14
1.3.2 Twitter Beans Coffee
1.3.2.1. Description
1.3.2.2. Functions
• Homepage
• Product List, product details
• Order Product
• Shop news, event
• Discount detail
• List Shop detail
• Contact Info page
• Membership
• Franchise offer
15
1.5. Software Product Vision
Instead of searching each branch of a coffee chain in google and comparing which branch is
the nearest branch by their place and searching the opening hours of this branch, now the Coffee
Chain will help them to find the nearest branch, check if the branch is opening or not and give the
phone number of the branch easily. This website accepts buying long life-shelf products and shipping
to their place or the location that they want so that they don’t need to go out to buy just a cup of
drink. Moreover, customers can also check the menu for new updates, or find the information about
the coffee chain they need without contacting the brand or branches. For branch managers, Coffee
Chain provides a streamlined system for ordering and importing goods from the chain's storage.
Branch managers can easily send a request for goods through the platform, which is then reviewed
and approved by the administrator. This ensures that all branches have the necessary supplies
After researching and discussing, we decided that there are four groups of users in the
system: guest, customer, administrator, branch manager. Each role has a different level of
access to the system.
• Guest role: allowed to register, view information of Coffee Chain, view the menu and post of
Coffee Chain, add goods to the cart.
• Customer role: allowed to log in/log out, view information of Coffee Chain, view the menu
and post of Coffee Chain, add goods to the cart and checkout, view their orders and order
detail.
• Administrator role: allowed to log in/log out, manage user, manage product, manage
category, manage branch, manage order, approve/decline request, manage news.
• Branch manager role: allowed to login/log out, receive order from the customer, manage
their branch product, create request.
• Manage storage
• Translate website into English
LI-1: The price for each size is fixed and increases in percentages
LI-2: Choose the branch to order only can choose the branch in the same district
LI-3: Products have only two types which are having size and not having size
LI-4: Customers cannot make notes for each product or order
16
CHAPTER 2:
PROJECT MANAGEMENT PLAN
2.1. Overview
2.1.1. Scope & Estimation
• Project management
17
# Objectives
• Allocated Effort
18
2.2. Management Approach
2.2.1. Project Process
In this project, we apply Iterative and Incremental model as development process model. Iterative
and Incremental model is a process where creating requirements, designing, building and testing a
system in small parts. This help to make modules very easily. In this model, the module passes
through some phases like planning, requirements, analysis and design, coding, testing and
evaluation.
2.2.2.2. Coding
1. All members must code according to standard Coding conventions to make the code easy to
read and understand, thus easier to manage and maintain.
2. Use Java8 and ReactJS programming languages for best coding practice.
2.2.2.3. Testing
1. Integration testing and System testing after implementing key functions.
2. The person in charge has to prepare test cases suitable for the system, design the
architecture and cover all those cases.
19
3. After completing each iteration, the customer will conduct an inspection and evaluation.
Planning Phase
Iteration 1
Iteration 2
20
12. Report of test result We 4/5/2023 Instructor
Organization structure above includes 4 sub-teams: Documentation sub-team, Analysis & Design
sub-team, Coding sub-team and Testing sub-team. Each sub-team has a sub-team leader and team
members.
This is the detail description about role and responsibility of each role in the organization structure:
21
Documentation Sub-team Responsible for the progress of the
Nguyen Tuan Duong
Leader document
Analysis and Design Sub-team Responsible for create/design
Phan Duc Manh
Leader database design
Decide technique and tools to be used
Train other members about web
Coding Sub-team Leader Le Nguyen Anh Tuan development
Keeping track of development work
done by other members
Create test plan
Testing Sub-team Leader Phuong Thanh Huyen
Responsible for test plan
Table 2.7. Role and Responsibility
22
All team 10:00 am
Weekly meeting with Review report and Offline - At
members every
Supervisor document school
Supervisor Friday
8:00 pm on
every Online -
Review and create a
All team Tuesday, Google
Daily team meeting work plan for the next
members Thursday meet
day
and
Saturday
Online -
All team When
Discuss and solve Google
members anyone has
Unscheduled meeting important problems or meet
Supervisor important
new requirement Offline - At
problems
school
Table 2.9. Project Communications
2.6.1.2. Management
5. Tools: OneDrive, Google Drive, Jira Software
6. Documents and reports sent to the supervisor via email and link drive.
2.6.2.2. Management
1. Deployment management on Netlify Platform
2. Only team members have the permission to deploy code
23
Database MySQL
Documentation Ms Office
24
CHAPTER 3:
SOFTWARE REQUIREMENT SPECIFICATION
3.1. Product Overview
The Coffee Chain (CC) is a website that helps customers easily find information about the
coffee chain as well as order online. The context diagram below illustrates the external entities and
system interfaces for release 1.0. The system is expected to fully support the customer to place an
order online and find information about the coffee chain
3 Administrator User login system by an account who manage all the system
4 Branch Manager User login system by an account who manage a branch of coffee chain
25
3.2.2. Major Features
3.2.2.1. Guest
FE-1: Register
3.2.2.2. Customer
FE-10: Log in
FE-24: Checkout
26
3.2.2.3. Administrator
FE-28: Log in
27
3.2.2.4. Branch Manager
FE-55: Log in
FE-67: Branch product management: Enable/Disable product in the menu of their branch
28
3.2.2. Use Cases
3.2.2.1. Diagram(s)
29
Figure 3.3. Use Cases Diagram – Guest Use Case
30
Figure 3.4. Use Cases Diagram – Customer Use Case
31
Figure 3.5. Use Cases Diagram – Administrator Use Case
32
Figure 3.6. Use Cases Diagram – Branch Manager Use Case
3.2.2.2. Descriptions
ID Use Case Actors Use Case Description
2 View the menu Guest, Customer User can view the menu of Coffee
Chain
3 View information of the Coffee Guest, Customer User can view the information of
Chain Coffee Chain
4 View all posts from Coffee Guest, Customer User can view all posts from Coffee
Chain Chain
33
5 View information (location, Guest, Customer User can view all information of each
phone number) of each branch branch of Coffee Chain
Branch Manager
Branch Manager
12 Place an order: Add products Guest, Customer User can add products to their cart
to your cart
13 Place an order: Delete the Guest, Customer User can delete products in their cart
product in your cart
14 Place an order: Change Guest, Customer User can change the quantity of each
quantity product in their cart
15 Place an order: Apply voucher Guest, Customer User can apply voucher
16 Place an order: Checkout Customer Customer can check out the products
they chose after filling all the needed
information
34
17 Cancel order Customer, Branch Customer can cancel orders within 2
Manager hours after payment
18 View all orders Customer Customer can view all of their orders
19 View order details Customer Customers can view the order details
of each order
22 Branch management: View all Administrator Administrator can view all branch of
branch Coffee Chain
23 Post management: View all Administrator Administrator can view all post of
post Coffee Chain
25 User management: View all Administrator Administrator can view all users of
user Coffee Chain
35
32 Category Management: Add Administrator Administrator can add a new category
category
38 User Management: Add branch Administrator Administrator can add a new branch
manager manager
41 View orders of their branch Branch Manager Branch Manager can view order of
their Coffee Chain branch
42 Receive orders from customers Branch Manager Branch Manager can receive orders
that ordered to their branch from customers that ordered to their
branch
43 View information of customers Branch Manager Branch Manager can view information
ordering (phone number, of customers ordering of their Coffee
name, address) Chain branch
45 Branch-self management: view Branch Manager Branch Manager can view information
information of their branch of their Coffee Chain branch
36
46 Branch Product management: Branch Manager Branch Manager can enable or disable
Enable/Disable product in the product in the menu their Coffee
menu of their branch Chain branch
47 Branch Request Management: Branch Manager Branch Manager can create export
Create request request
48 Branch Request Management: Branch Manager Branch Manager can edit their
Edit request request before sent it
49 Branch Request Management: Branch Manager Branch Manager can send their export
Send request request
50 Branch Request Management: Branch Manager Branch Manager can cancel their
Cancel request request
51 Branch Request Management: Branch Manager Branch Manager confirm that they
Completed request received the goods
37
3.3. Functional Requirements
3.3.1. System Functional Overview
3.3.1.1. Screens Flow
8 All Branch Screen view information of each branch and find the branch
nearby
38
12 Orders View list of your orders
39 View information of View information of the customer who placed that order
order
40 Branch Profile Information of your branch
39
41 Edit branch Edit any branch information
5 Menu x x
6 Post x x
7 About Us x x
8 All Branch x x
9 Profile x x x
10 Change Password x x x
11 Update personal
information x x x
12 Orders x
13 Order Details x
40
14 Checkout x
15 Admin Dashboard x
16 Branch Manager
Dashboard x
17 Order Management x
19 User Management x
20 View user x
21 Branch Management x
22 Add branch x
23 View branch x
24 Product Management x
25 View product x
26 Edit product x
27 Add product x
28 Category
Management x
29 View category x
30 Edit category x
31 Add category x
32 Post Management x
33 View post x
34 Edit post x
35 Upload post x
36 Branch order
management x
37 Receive order x
39 View information of
orderer x
40 Branch Profile x
41 Edit branch x
41
42 Branch’s product
Management x
44 Branch Request
Management x
47 Edit request x
48 Request Management x
50 View detail of a
request x x
Entities Description
# Entity Description
01 branch Description branch
02 internal_user Description internal user account’s information
03 orders Description of the customer's order
04 order_detail Description order detail of order
42
05 app_param Description configuration
06 category Description categories
07 goods Description goods
08 coupon Description coupon
09 request Description requests from branch
10 request_detail Description request detail of request
11 news Description news
12 image_info Description image info
13 branch_goods_disable Description branch goods disable
Table 3.5. Entities Description
Author DuongNT
Actor Guest
Post Conditions User registers successfully to the website and go to log in screen
43
3 Click “Register” button
Alternative Scenario
N/A
BR-1 The email used for register must match the email format
Author HuyenPT
44
Main Success Scenario
Alternative Scenario
N/A
N/A
Author DuongNT
45
1 Click “About Us” button on
the header
Alternative Scenario
N/A
N/A
Author DuongNT
Description User can view all posts from the Coffee Chain
46
2 Redirect to “News” page
Alternative Scenario
N/A
N/A
Author DuongNT
Click the branch in the branch list that they want to see the information
Post Conditions User can view all the information of the branch
47
1 Click “Branch List” tab on the
header
Alternative Scenario
N/A
N/A
3.2.6. Login
USE CASE-06
Author DuongNT
48
Description User logs in to system
Post Conditions User logs in successfully and go to homepage screen or dashboard (base on
actor)
Main Success Scenario
Alternative Scenario
N/A
49
3.2.7. Logout
USE CASE-07
Author DuongNT
2 Select "Logout"
Alternative Scenario
N/A
N/A
50
Table 3.12. Logout
Author DuongNT
Actor Customer
51
9 User enter “new password”
and “re-enter password”
then click “change
password”
Alternative Scenario
N/A
BR-5 Users need to verify the owner of the mail that they have
registered
Author DuongNT
52
Main Success Scenario
Alternative Scenario
N/A
53
Author DuongNT
Alternative Scenario
N/A
Author HuyenPT
54
Date 8/2/2023 Priority High
Alternative Scenario
N/A
55
3.2.12. Place an order: Add products to your cart
USE CASE-12
Author HuyenPT
Alternative Scenario
N/A
40 Bad request
56
BR-8 Products are added to cart must be available and enabled
Author DuongNT
Alternative Scenario
N/A
57
401 Unauthorized Invalid token
Author DuongNT
Triggers Click “+”, “-” or enter the number in the quantity box
Post Conditions The quantity of products in the cart has been changed
58
Alternative Scenario
N/A
Author DuongNT
59
Step Actor Event System response
Alternative Scenario
N/A
403
N/A
Author DuongNT
Actor Customer
60
Preconditions User accesses to the website
Alternative Scenario
N/A
61
3.2.17. Cancel order
USE CASE-17
Author DuongNT
Actor Customer
62
Alternative Scenario
N/A
Author DuongNT
Actor Customer
63
1 Click “Order Management”
tab on “My Personal
Information” tab on header
Alternative Scenario
N/A
Author DuongNT
Actor Customer
64
Preconditions User accesses to the website
Alternative Scenario
N/A
Author HuyenPT
Actor Administrator
65
Click on the row corresponding to each customer
Alternative Scenario
N/A
66
3.2.21. User Management: Enable/disable user account
USE CASE-21
Author HuyenPT
Actor Administrator
5 Choose account to
enable/disable
6 Click “Enable/Disable”
button
7 Enabled/Disabled user detail account saved in
the database
Alternative Scenario
67
# Action Use case
N/A
Author HuyenPT
Actor Administrator
68
1 Click “Order” tab on the
header
Alternative Scenario
N/A
401
403
Author HuyenPT
Actor Administrator
69
Triggers Click “Branch” tab on header
Alternative Scenario
N/A
N/A
70
Use-case Name Branch Management: Add branch
Author HuyenPT
Actor Administrator
Alternative Scenario
N/A
71
403 Forbidden Users do not have permission on this page
Author HuyenPT
Actor Administrator
Alternative Scenario
72
N/A
N/A
Author HuyenPT
Actor Administrator
73
3 Click “Enable/Disable”
button
4 Enabled/Disabled branch saved in the database
Alternative Scenario
N/A
Author HuyenPT
Actor Administrator
74
Post Conditions Administrator views product
Alternative Scenario
N/A
N/A
Author HuyenPT
Actor Administrator
75
Click “Add” button
Alternative Scenario
N/A
BR-17 The chain manager has to fill in the information of the newly
added product
76
3.2.29. Product Management: Edit product
USE CASE-29
Author HuyenPT
Actor Administrator
Alternative Scenario
N/A
77
400 Bad request Can't connect to database
Author HuyenPT
Actor Administrator
3 Click “Enable/Disable”
button
78
4 Enabled/Disabled product saved in the
database
Alternative Scenario
N/A
Author HuyenPT
Actor Administrator
79
Post Conditions Administrator views all categories
Alternative Scenario
N/A
N/A
Author HuyenPT
Actor Administrator
80
Triggers Click “Category” icon
Alternative Scenario
N/A
N/A
81
3.2.33. Category Management: Edit category
USE CASE-33
Author HuyenPT
Actor Administrator
Alternative Scenario
N/A
82
Exceptions Exception Message Caught
code
N/A
Author HuyenPT
Actor Administrator
3 Click “Enable/Disable”
button
83
6 Enabled/Disabled category saved in the
database
Alternative Scenario
N/A
N/A
Author HuyenPT
Actor Administrator
84
Step Actor Event System response
Alternative Scenario
N/A
N/A
Author HuyenPT
Actor Administrator
85
Post Conditions Post is changed and updated
Alternative Scenario
N/A
Author HuyenPT
Actor Administrator
86
Description Administrator uploads posts
Alternative Scenario
N/A
87
Use-case No. <UC38> Use-case Version <1.1>
Author HuyenPT
Actor Administrator
Alternative Scenario
N/A
88
BR-19 Check the full information of the posts
Author HuyenPT
Actor Administrator
Alternative Scenario
89
# Action Use case
N/A
Author HuyenPT
Actor Administrator
90
2 Redirect to “Request” page and list all
information of requests
Alternative Scenario
N/A
Author HuyenPT
Actor Administrator
91
Click “Accept/decline” button
3 Click “Accept/Decline”
button
4 Accepted/Declined request saved in the
database
Alternative Scenario
N/A
92
Use-case Name View orders of their branch
Author HuyenPT
Alternative Scenario
N/A
N/A
93
Table 3.47. View orders of their branch
Use-case Name Receive orders from customers that ordered to their branch
Author HuyenPT
Description Branch manager receives orders from customers that ordered to their branch
Post Conditions Show all receive orders from customers that ordered to their branch
Alternative Scenario
N/A
94
BR-21 Check the customer's order information before further
processing
Table 3.48. Receive orders from customers that ordered to their branch
Author HuyenPT
Description Branch manager approves an order when branch has full ingredients for the
order to make
95
7 Redirect to “Order Detail” page
Alternative Scenario
N/A
Author HuyenPT
Description Branch manager cancels an order when branch doesn’t have full ingredients
for the order to make
Triggers Click on the row corresponding to each order
96
1 Click “Order” tab on the
header
Alternative Scenario
N/A
Use-case Name View information of customers ordering (phone number, name, address)
97
Author HuyenPT
Post Conditions Show all information about customers ordering (phone number, name,
address) at the branch
5 Click “Customer
Information” button
Alternative Scenario
N/A
98
401 Unauthorize User has not logged in yet
d
Table 3.51. View information of customers ordering (phone number, name, address)
Author HuyenPT
Alternative Scenario
N/A
99
Exceptions Exception Message Caught
code
N/A
Use-case Name Branch product management: Enable/Disable product in the menu of their
branch
Author HuyenPT
100
4 Product was updated to be
enabled/disabled in database
Alternative Scenario
N/A
401
403
Table 3.53. Branch product management: Enable/Disable product in the menu of their branch
Author HuyenPT
101
Post Conditions Request was created
Alternative Scenario
N/A
N/A
102
Use-case Name Branch Request Management: Edit request
Author HuyenPT
Alternative Scenario
103
N/A
N/A
Author HuyenPT
104
3 Click on the row
corresponding to each
request
Alternative Scenario
N/A
N/A
Author HuyenPT
105
Click “Cancel” button
Alternative Scenario
N/A
N/A
106
3.2.55. Branch Request Management: View request detail
USE CASE-55
Author HuyenPT
Alternative Scenario
N/A
107
403 Forbidden Users do not have permission on this page
N/A
Author HuyenPT
108
7 Redirect to “Request Detail” page
Alternative Scenario
N/A
N/A
Author HuyenPT
109
2 Redirect to “Order” page and list all information
of orders
Alternative Scenario
N/A
110
3.4.1.2. External Interfaces
• EI-01: System will support most web browsers with responsive design.
• EI-02: All data must be integrated via API.
• EI-03: Response API uses JSON format.
3.4.2.2. Reliability
• RE-01: Before being sent to the server, every information submitted by the user is verified.
• RE-02: The system complies with business rules.
3.4.2.3 Performance
• PE-01: Data will be stored on a good-performance server.
• PE-02: Optimize query statements.
• PE-03: The response time of the functions in the system is less than 4 seconds.
3.4.2.4. Security
• SE-01: Depending on the role of the user, the corresponding screen will be displayed.
• SE-02: The database will be safely kept on the server.
BR-3 User can view the nearest facilities in his current location and can choose one of them
BR-5 Users need to verify the owner of the mail that they have registered
111
BR-11 Customers can see the orders they have ordered
-If the information is not in the correct format or has an error, the system will notify
you
- If the information is not in the correct format or has an error, the system will notify
you
BR-16 When a new branch is created it needs to be confirmed by the system's management
BR-16 When a new branch is edited needs to be confirmed by the system's management
BR-17 The branch manager has to fill in the information of the newly added product
-If the information is not in the correct format or has an error, the system will notify
you
BR-20 Only Manager and Administrator have the right to manage system branches
- If the information is not in the correct format or has an error, the system will notify
you
112
3 MSG03 Toast Updating asset(s) information Update asset(s)
message successfully successfully.
4 MSG04 Toast Adding new asset successfully Add asset successfully.
message
5 MSG05 Toast Confirming email of asset A confirmation email has
message hand-over is sent successfully been sent to
{email_address}.
6 MSG06 Toast Resetting asset information Return asset(s) successfully.
message successfully
7 MSG07 Toast Deleting asset information Delete asset(s) successfully.
message successfully
8 MSG08 In red, under Input value length > max length Exceed max length of
the text box {max_length}.
9 MSG09 In line Username or password is not Incorrect username or
correct when clicking sign-in password. Please check
again.
113