Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine

Tài liệu thiết kế chi tiết cho nhà hàng HCR Hola Cuisine, cung cấp thông tin cần thiết về kiến trúc, thực đơn và trải nghiệm khách hàng.

Trường đại học

Trường Đại Học Kinh Tế

Chuyên ngành

Quản Trị Nhà Hàng

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2023

231
1
0

Phí lưu trữ

55 Point

Mục lục chi tiết

1. DETAILED DESIGN

1.1. Screen Design

1.2. UC03 - Forgot Password

1.3. UC04 - Add Dish

1.4. UC05 - Update Dish

1.5. UC06 - Create table

1.6. UC07 - Update table

1.7. UC08 - Change table’s status

1.8. UC09 - Calculate expenses

1.9. UC10 - Add Warehouse

1.10. UC11 - Update Warehouse

1.11. UC12 - View Waitlist

1.12. UC13 - Add Waitlist

1.13. UC14 - Cancel Waitlist

1.14. UC15 - Waitlist Details

1.15. UC16 - View Employees

1.16. UC17 - Add Employees

1.17. UC18 - Update Employees

1.18. UC19 - Change Employees Status

1.19. UC20 - View Cart

1.20. UC21 - Add To Cart

1.21. UC22 - Update Cart

1.22. UC23 - Delete Product In Cart

1.23. UC25 - Add Feedback

1.24. UC26 - Edit Feedback

1.25. UC27 - Delete Feedback

1.26. UC29 - View My Order

1.27. QUC30 Home page (customer)

1.3. Class Description

1.4. Sequence Diagram

2. DATABASE DESIGN

2.1. Entity Relationship Diagram

2.12. Waitlist

Tóm tắt

I. Hướng Dẫn Đọc Tài Liệu Thiết Kế Nhà Hàng Hola Cuisine

Một hồ sơ thiết kế thi công nhà hàng hiện đại không chỉ dừng lại ở bản vẽ kiến trúc hay nội thất. Nó còn bao gồm toàn bộ hệ thống vận hành kỹ thuật số, xương sống cho mọi hoạt động kinh doanh. Bài viết này sẽ phân tích chi tiết Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine, một dự án của sinh viên Đại học FPT. Tài liệu này không tập trung vào không gian vật lý mà đi sâu vào việc xây dựng nền tảng phần mềm quản lý, từ giao diện người dùng, logic nghiệp vụ đến kiến trúc cơ sở dữ liệu. Việc hiểu rõ tài liệu này cung cấp một cái nhìn toàn diện về cách công nghệ định hình trải nghiệm khách hàng và tối ưu hóa quy trình nội bộ. Đây là một case study điển hình cho thấy tầm quan trọng của thiết kế hệ thống trong ngành F&B, nơi hiệu quả vận hành và sự hài lòng của khách hàng là yếu tố sống còn. Phân tích này sẽ đi qua các cấu phần chính, từ các ca sử dụng (Use Cases), thiết kế màn hình (Screen Design), cho đến sơ đồ lớp (Class Diagram) và thiết kế cơ sở dữ liệu (Database Design), làm rõ mối liên kết giữa yêu cầu nghiệp vụ và giải pháp kỹ thuật.

1.1. Mục tiêu của bộ tài liệu thiết kế chi tiết này

Mục tiêu chính của bộ Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine là định hình một hệ thống phần mềm quản lý toàn diện. Tài liệu này mô tả chi tiết các chức năng, từ quản lý đơn hàng, nhân viên, kho, đến tương tác với khách hàng qua các tính năng như giỏ hàng và phản hồi. Theo tài liệu gốc, dự án được mã hóa là HCR, bao gồm nhiều Use Case (UC) được đánh số thứ tự, ví dụ UC04 - Add Dish (Thêm món ăn) hay UC17 - Add Employees (Thêm nhân viên). Mỗi UC đều được mô tả chi tiết về thiết kế màn hình, các lớp (Class) xử lý và sơ đồ tuần tự (Sequence Diagram), đảm bảo các lập trình viên có thể triển khai một cách chính xác. Mục tiêu không chỉ là tạo ra một phần mềm, mà là một giải pháp công nghệ đáp ứng đúng các tiêu chuẩn thiết kế nhà hàng trong kỷ nguyên số, giúp Hola Cuisine vận hành trơn tru và hiệu quả.

1.2. Tổng quan các thành phần trong hồ sơ thiết kế

Hồ sơ thiết kế được chia thành hai phần chính: DETAILED DESIGN (Thiết kế chi tiết) và DATABASE DESIGN (Thiết kế cơ sở dữ liệu). Phần DETAILED DESIGN tập trung vào logic ứng dụng và giao diện người dùng, bao gồm: Screen Design (thiết kế giao diện cho từng chức năng như đăng nhập, đăng ký, xem giỏ hàng), Class Description (mô tả chi tiết các lớp Java như JwtAuthenticationController, PersonRepository, EmployeeDTO), và Sequence Diagram (sơ đồ tuần tự mô tả luồng tương tác giữa các đối tượng). Phần DATABASE DESIGN trình bày Entity Relationship Diagram (ERD) - sơ đồ quan hệ thực thể, và mô tả chi tiết các bảng dữ liệu như Person, Employee, Receipt, Feedback. Cấu trúc này đảm bảo một cái nhìn từ tổng quan đến chi tiết, liên kết chặt chẽ giữa giao diện, logic xử lý và nơi lưu trữ dữ liệu.

II. Thách Thức Vận Hành Giải Pháp Từ Thiết Kế Hệ Thống

Quản lý một nhà hàng hiện đại đối mặt với vô số thách thức: xử lý đơn hàng thiếu chính xác, quản lý nhân sự phức tạp, kiểm soát kho hàng không hiệu quả, và duy trì tương tác tốt với khách hàng. Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine ra đời để giải quyết trực tiếp những vấn đề này bằng một hệ thống số hóa đồng bộ. Thay vì các quy trình thủ công rời rạc, tài liệu đề xuất một nền tảng hợp nhất nơi mọi dữ liệu được liên kết. Ví dụ, việc quản lý nhân viên không chỉ là lưu thông tin cá nhân mà còn liên quan đến trạng thái làm việc (UC19 - Change Employees Status). Tương tự, quản lý bàn ăn (UC06 - Create table, UC08 - Change table’s status) được tự động hóa để tối ưu hóa chỗ ngồi. Tài liệu này chứng minh rằng một thiết kế hệ thống M&E nhà hàng (ở đây M&E được hiểu là Management & E-commerce) được xây dựng bài bản là chìa khóa để vượt qua các thách thức vận hành, nâng cao năng suất và tạo ra lợi thế cạnh tranh bền vững trên thị trường.

2.1. Vấn đề đồng bộ dữ liệu giữa các bộ phận

Một trong những thách thức lớn nhất là sự thiếu đồng bộ thông tin giữa bếp, phục vụ, thu ngân và quản lý. Hệ thống được thiết kế trong tài liệu này giải quyết vấn đề bằng một cơ sở dữ liệu tập trung. Khi một khách hàng đặt món qua giao diện (UC21 - Add To Cart), thông tin sẽ được ghi vào bảng ReceiptReceiptDetail. Bộ phận bếp nhận được yêu cầu chính xác, quản lý thấy được doanh thu cập nhật, và khách hàng có thể xem lại lịch sử đơn hàng (UC 29 - View My Order). Sơ đồ ERD trong tài liệu cho thấy mối quan hệ chặt chẽ giữa các thực thể như Customer, Receipt, Menu, và Employee, đảm bảo tính nhất quán và toàn vẹn dữ liệu trên toàn hệ thống, loại bỏ sai sót do giao tiếp thủ công.

2.2. Nâng cao trải nghiệm khách hàng qua các tính năng số

Trải nghiệm khách hàng không chỉ nằm ở chất lượng món ăn mà còn ở sự tiện lợi trong quá trình tương tác. Tài liệu thiết kế của Hola Cuisine tập trung mạnh vào các tính năng hướng đến khách hàng. Các chức năng như UC13 - Add Waitlist (Thêm vào danh sách chờ) hay UC25 - Add Feedback (Thêm phản hồi) cho phép nhà hàng tương tác với khách hàng một cách chủ động và chuyên nghiệp. Đặc biệt, hệ thống giỏ hàng (UC20 - View Cart, UC22 - Update Cart) được mô tả chi tiết trong tài liệu, mang lại trải nghiệm đặt hàng online mượt mà. Việc này không chỉ tăng sự hài lòng mà còn là một phần quan trọng trong thiết kế nhận diện thương hiệu nhà hàng trên không gian số.

III. Phương Pháp Thiết Kế Giao Diện và Luồng Người Dùng

Phần Screen Design trong Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine là một cấu phần quan trọng, định hình cách người dùng (cả nhân viên và khách hàng) tương tác với hệ thống. Mỗi màn hình chức năng, từ Login page (Trang đăng nhập) đến Cart page (Trang giỏ hàng), đều được phân tích chi tiết thành các đối tượng/điều khiển (Object/Control). Ví dụ, màn hình đăng nhập bao gồm các input cho Username, Password, và button Login. Cách tiếp cận này đảm bảo rằng giao diện không chỉ thẩm mỹ mà còn phải tường minh, dễ sử dụng và đáp ứng đúng mục tiêu của từng tác vụ. Luồng người dùng được thể hiện gián tiếp qua các siêu liên kết (hyperlink) được mô tả, chẳng hạn như từ trang đăng nhập có thể chuyển đến trang đăng ký (Register) hoặc quên mật khẩu (Forgot password). Đây là nền tảng để xây dựng phối cảnh 3D nhà hàng trên môi trường số, tạo ra một hành trình khách hàng liền mạch và trực quan.

3.1. Phân tích Screen Design cho các chức năng cốt lõi

Tài liệu đi sâu vào thiết kế của các màn hình trọng yếu. Chẳng hạn, UC17 - Add Employees mô tả một form bao gồm các trường Name, Phone, Date Of Birth, Email và nút Add. Mỗi trường đều được quy định về kiểu (input), yêu cầu (Required), và độ dài (Length). Tương tự, UC22 - Update Cart mô tả một giao diện giỏ hàng phức tạp hơn với hình ảnh sản phẩm, tên, số lượng có thể tăng giảm, giá và tổng tiền. Sự chi tiết này giúp đội ngũ phát triển front-end có một bản thiết kế rõ ràng để hiện thực hóa, đồng thời đảm bảo tính nhất quán trong trải nghiệm người dùng trên toàn bộ ứng dụng.

3.2. Cấu trúc các lớp Class điều khiển giao diện

Đằng sau mỗi giao diện là các lớp logic điều khiển. Tài liệu mô tả rõ các Controller Class trong Java, ví dụ JwtAuthenticationController chịu trách nhiệm xử lý logic cho trang đăng nhập. Lớp này có các phương thức (Methods) như authenticate để xác thực người dùng và sendEmail để gửi email lấy lại mật khẩu. Một ví dụ khác là CartController với các phương thức ViewCart, AddToCart, UpdateCart, tương ứng với các hành động của người dùng trên trang giỏ hàng. Việc định nghĩa rõ ràng các lớp này trong hồ sơ thiết kế thi công nhà hàng (phần mềm) giúp phân tách rõ ràng giữa giao diện (View) và logic xử lý (Controller), tuân thủ các mô hình kiến trúc phần mềm hiện đại.

IV. Bí Quyết Xây Dựng Kiến Trúc Cơ Sở Dữ Liệu Tối Ưu

Nền tảng của một hệ thống quản lý nhà hàng hiệu quả nằm ở cơ sở dữ liệu có cấu trúc tốt. Phần DATABASE DESIGN của Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine trình bày một kiến trúc dữ liệu chặt chẽ thông qua Sơ đồ Quan hệ Thực thể (ERD) và mô tả chi tiết từng bảng. Sơ đồ ERD là bản vẽ mặt bằng công năng nhà hàng trong thế giới dữ liệu, cho thấy cách các thực thể chính như Person, Employee, Customer, Receipt, Menu, Table... liên kết với nhau. Việc thiết kế các mối quan hệ (ví dụ: một Customer có thể có nhiều Receipt) và các ràng buộc (Constraints) như khóa chính (PK), khóa ngoại (FK), và các quy tắc Not Null, Unique là cực kỳ quan trọng. Một cơ sở dữ liệu được thiết kế tốt không chỉ đảm bảo tính toàn vẹn dữ liệu mà còn giúp tối ưu hóa tốc độ truy vấn, một yếu tố then chốt trong môi trường đòi hỏi tốc độ xử lý nhanh như nhà hàng.

4.1. Phân tích Sơ đồ Quan hệ Thực thể ERD

Sơ đồ ERD trực quan hóa toàn bộ cấu trúc dữ liệu của Hola Cuisine. Nó cho thấy EmployeeCustomer là các trường hợp đặc biệt của Person. Bảng Receipt đóng vai trò trung tâm, kết nối Customer, Employee (người tạo hóa đơn) và Table (bàn khách ngồi). Trong khi đó, ReceiptDetail là bảng chi tiết hóa đơn, liên kết Receipt với Menu để ghi lại món ăn nào đã được đặt với số lượng bao nhiêu. Thiết kế này tuân thủ các quy tắc chuẩn hóa cơ sở dữ liệu, giúp tránh dư thừa thông tin và đảm bảo dữ liệu luôn nhất quán. Ví dụ, thông tin của một món ăn chỉ được lưu một lần trong bảng Menu và được tham chiếu trong nhiều hóa đơn khác nhau.

4.2. Thiết kế chi tiết các bảng dữ liệu quan trọng

Tài liệu cung cấp mô tả chi tiết cho từng bảng. Bảng Person chứa các thông tin chung như first_name, last_name, email, phone, password. Bảng Employee kế thừa từ Person và có thêm các thuộc tính đặc thù như contract, hired_date, salary. Bảng Table có các thuộc tính quan trọng như chair_number, floor_no, và status (trạng thái: trống, đang sử dụng, đã đặt). Các ràng buộc được định nghĩa rõ ràng, ví dụ trường phone trong bảng Person có độ dài là 10, hay trường status của bảng Table chỉ nhận các giá trị 0, 1, 2. Những chi tiết này là bản vẽ kỹ thuật cho việc xây dựng và duy trì cơ sở dữ liệu một cách bền vững.

V. Ứng Dụng Thực Tiễn Từ Thiết Kế Nội Thất Nhà Hàng Số

Việc phân tích Tài Liệu Thiết Kế Chi Tiết Nhà Hàng Hola Cuisine không chỉ là một bài tập học thuật. Nó mang lại những bài học thực tiễn quý giá cho bất kỳ ai muốn xây dựng hoặc nâng cấp hệ thống quản lý cho nhà hàng. Tài liệu này là minh chứng cho việc thiết kế nội thất nhà hàng Hola Cuisine trên môi trường số cần sự tỉ mỉ không kém gì thiết kế không gian vật lý. Từ việc bố trí các nút bấm trên giao diện sao cho thuận tiện, đến việc lựa chọn vật liệu hoàn thiện nội thất (ở đây là các công nghệ và thư viện lập trình) để xây dựng hệ thống, tất cả đều ảnh hưởng đến hiệu quả cuối cùng. Các quy trình được định nghĩa như UC09- Calculate expenses (Tính toán chi phí) hay UC10- Add Warehouse (Thêm kho) là những ứng dụng trực tiếp giúp nhà quản lý kiểm soát tài chính và chuỗi cung ứng. Việc áp dụng một thiết kế chi tiết như vậy giúp giảm thiểu rủi ro trong quá trình phát triển và đảm bảo sản phẩm cuối cùng đáp ứng đúng nhu cầu thực tế.

5.1. Quy trình quản lý nhân viên và bàn ăn tự động

Hệ thống cho phép quản lý nhân viên một cách hiệu quả thông qua các chức năng View Employees, Add Employees, Update Employees. Trạng thái của nhân viên (Status) có thể được thay đổi, giúp dễ dàng quản lý nhân sự đang hoạt động hay đã nghỉ việc. Tương tự, việc quản lý bàn ăn được số hóa hoàn toàn. Nhân viên có thể xem trạng thái bàn, tạo bàn mới, cập nhật thông tin bàn. Chức năng Waitlist (danh sách chờ) giúp tối ưu hóa việc sắp xếp khách hàng trong những giờ cao điểm, giảm thời gian chờ đợi và tăng số lượt khách phục vụ. Đây là những ứng dụng thực tiễn trực tiếp nâng cao hiệu suất hoạt động hàng ngày.

5.2. Tối ưu hóa quy trình từ đặt hàng đến thanh toán

Tài liệu mô tả một luồng xử lý đơn hàng khép kín. Khách hàng hoặc nhân viên thêm món vào giỏ hàng (Add To Cart). Hệ thống tự động tạo ra một Receipt (hóa đơn) với trạng thái pending. Các thông tin chi tiết về món ăn, số lượng, giá tiền được lưu trong ReceiptDetail. Khi khách hàng thanh toán, trạng thái của Receipt được cập nhật. Toàn bộ quy trình này được ghi nhận trong cơ sở dữ liệu, giúp việc dự toán chi phí thiết kế thi công và theo dõi doanh thu trở nên chính xác và tức thời. Hệ thống này loại bỏ các bước ghi chép thủ công, giảm sai sót và tăng tốc độ phục vụ đáng kể.

10/07/2025

Trích đoạn nội dung tài liệu

MINISTRY OF EDUCATION AND TRAINING FPT UNIVERSITY DETAILED DESIGN DOCUMENT HCR- Hola Cuisine Restaurant Group3 HE163299- Vũ Trường Vũ HE163051 - Lê Nam Tuấn Group Member HS160723 - Kim Thị Hồng Quyên HE163515 - Nguyễn Đình Mạnh HE161926 - Chu Hữu Long Supervisor Nguyễn Văn Sang Ext. Supervisor Project Code HCR - Hanoi, 10/2023 - HCR | Detailed Design FPT University | School of Engineering Table of Contents 1 DETAILED DESIGN 6 1.2 UC03 - Forgot Password 22 1.2 UC04 - Add Dish 24 1.3 UC05 - Update Dish 32 1.4 UC06- Create table 34 1.5 UC07- Update table 43 1.6 UC08- Change table’s status 52 1.7 UC09- Calculate expenses 62 1.8 UC10- Add Warehouse 72 1.9 UC11 - Update Warehouse 80 Oct -2023- SE Intake #2 HCR | Detailed Design FPT University | School of Engineering 1.10 UC12 - View Waitlist 88 1.11 UC13- Add Waitlist 96 1.12 UC14 - Cancel Waitlist 104 1.13 UC15 - Waitlist Details 112 1.14 UC16 - View Employees 120 1.15 UC17 - Add Employees 130 1.16 UC18 - Update Employees 139 1.17 UC19 - Change Employees Status 148 1.1 Screen Design 148 Oct -2023- SE Intake #3 HCR | Detailed Design FPT University | School of Engineering 1.18 UC20 - View Cart 158 1.19 UC21 - Add To Cart 164 1.20 UC22 - Update Cart 169 1.21 UC23 - Delete Product In Cart 174 1.23 UC25 - Add Feedback 190 1.24 UC26 - Edit Feedback 196 1.25 UC27 - Delete Feedback 203 1.3 Class Description 204 Oct -2023- SE Intake #4 HCR | Detailed Design FPT University | School of Engineering 1.26 UC 29 - View My Order 209 1.27 QUC30 Home page (customer) 215 1.4 Sequence Diagram 219 2 DATABASE DESIGN 220 2.1 Entity Relationship Diagram 220 2.12 Waitlist 227 Oct -2023- SE Intake #5 HCR | Detailed Design FPT University | School of Engineering 1 DETAILED DESIGN 1.2 Screen Design Figure 1.1: Login page # Object/Control Type Required Length Description Name 1 Username <input>Username </input> Y N/A Account’s username 2 Password <input>Password </input> Y N/A Account’s password 3 Login <button>Login </button> N/A N/A Confirm login 4 N/A <a href="/service/security">I N/A N/A This hyperlink links to forgot my password. Click Forgot password screen here to start</a> 5 LoginEmail <button>Login with email N/A N/A Confirm login with email </button> 6 Register <a href="/register">Register N/A N/A This hyperlink links to new account</a> register screen Oct -2023- SE Intake #6 HCR | Detailed Design FPT University | School of Engineering 7 Home <a href="/home">Home</a> N/A N/A This hyperlink links to home page screen Table 1.1 JwtAuthenticationController Class JwtAuthenticationController Description Responsible for controlling the way that a user interacts with the login page Base Class N/A Constructor N/A Prototype N/A Oct -2023- SE Intake #7 HCR | Detailed Design FPT University | School of Engineering /project/src/main/java/com/hcr/swd392g3/project/jwt/jwtAuthenticationController.jav Source File a Namespace jwt Name Type Description JavaMailSend Deals with managing and handling mailSender er operations related to send email in google PasswordEnc bcryptEncoder Deals with encoding the password oder authenticationMana Authenticatio Deals with identifying the user ger nManager Attributes Responsible for performing JWT operations jwtTokenUtil JwtTokenUtil like creation and validation JwtUserDetail Deals with managing and handling userDetailsService sService operations related to user in spring security PersonConver Deals with converting person from entity to personConverter ter dto Crucial component of the Person’s data PersonReposi personRepo access or persistence layer in a software tory application Name Input Output Description name: String RespondEntity< Using to receive the user’s authenticate password: Methods PersonDTO> account by logging String RespondEntity< using to send email to get sendEmail email: String ?> the password Oct -2023- SE Intake #8 HCR | Detailed Design FPT University | School of Engineering 1.2 JwtUserDetailsService Class JwtUserDetailsService Responsible for dealing with managing and handling operations related to Description individuals or persons Base Class IPersonService Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/jwt/JwtUserDetailsService.java Namespace jwt Name Type Description Crucial component of the Person’s data PersonReposit personRepo access or persistence layer in a software Attributes ory application PasswordEnco bcryptEncoder Deals with encoding the password der Name Input Output Description Using to set role and loadUserByUserna username: UserDetails receive the user’s account me String Methods by username GenderatingRando Using to generate random mAlphanumericStri N/A String string ng 1.3 PersonRepository Class PersonRepository Oct -2023- SE Intake #9 HCR | Detailed Design FPT University | School of Engineering Crucial component of the Person’s data access or persistence layer in a software Description application Base Class N/A Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/repository/PersonRepository.java Namespace repository Name Type Description Attributes N/A N/A N/A Name Input Output Description UserName: Using to find the user’s findUserByName String Person account by username and AndPassword Password: password String Using to find the user’s Methods findByEmail Email: String Person account by email Store or update an person save person: Person N/A object in a data store using normal method username: Using to find the user’s findByUserName Person String account by username 1.4 JwtTokenUtil Class JwtTokenUtil Description Responsible for performing JWT operations like creation and validation Base Class N/A Oct -2023- SE Intake #10 HCR | Detailed Design FPT University | School of Engineering Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/jwt/JwtTokenUtil.java Namespace jwt Name Type Description Attributes JWT_TOKEN_VA long Using to set expiration of token LIDITY Name Input Output Description user: generateToken() int generate token for user UserDetails claims: Methods Map<String Define claims of the token, doGenerateToken() , Object> String like Issuer, Expiration, subject: Subject, and the ID String 1.5 Person Class Person Description Define attributes for Person entity and set/get method for these attributes Base Class N/A Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/entity/Person.java Namespace entity Attributes Name Type Description Oct -2023- SE Intake #11 HCR | Detailed Design FPT University | School of Engineering PersonID int Id of user FisrtName String User’s first name LastName String User’s last name Email String User’s email PhoneNumber String User’s phone number Address String User’s address Role int User’s role Status boolean User’s status (ban or publish) Username String User’s username Password String User’s password Gender int User’s gender Name Input Output Description Using to get person’s ID of a getPersonID() N/A int instance Using to get person’s first getFirstName() N/A String name of a instance Using to get person’s last getLastName() N/A String name of a instance Methods getEmail() N/A String Using to get person’s email Using to get person’s phone getPhoneNumber() N/A String number getAddress() N/A String Using to get person’s address getRole() N/A int Using to get person’s role Using to get person’s getStatus() N/A boolean status(ban or publish) Oct -2023- SE Intake #12 HCR | Detailed Design FPT University | School of Engineering Using to get person’s getUsername() N/A String username Using to get person’s getPassword() N/A String password getGender() N/A int Using to get person’s gender 1.3 Sequence Diagram Oct -2023- SE Intake #13 HCR | Detailed Design FPT University | School of Engineering 1.1 Screen Design Figure 1.2: Register page # Object/Control Type Require Length Description Name d 1 FirstName <input>FirstName Y N/A Account’s first name </input> 2 LastName <input>LastName Y N/A Account’s last name </input> 3 Email <input>Email </input> Y N/A Account’s email 4 Address <input>Address </input> N/A Account’s address 5 Phone <input>Phone </input> Y 10 Account’s phone number 6 Password <input>Password </input> Y N/A Account’s password 7 Username <input>Re-Password Y N/A Account’s re-password </input> 8 Create <button>Create account N/A N/A Confirm create </button> 9 N/A <a N/A N/A This hyperlink links to href="/service/login">Alre login screen ady have an account? Login</a> Oct -2023- SE Intake #14 HCR | Detailed Design FPT University | School of Engineering 10 Home <a N/A N/A This hyperlink links to href="/home">Home</a> home page screen Table 1.1 AuthenticationController Class AuthenticationController Description Responsible for controlling the way that a user interacts with the login page Base Class N/A Oct -2023- SE Intake #15 HCR | Detailed Design FPT University | School of Engineering Constructor N/A Prototype N/A /project/src/main/java/com/hcr/swd392g3/project/controller/AuthenticationControll Source File er.java Namespace jwt Name Type Description Crucial component of the Person’s data Attributes PersonService personServiceImpl access or persistence layer in a software Impl application Name Input Output Description Person: RespondEntity< Using to register new userRegister PersonDTO PersonDTO> account into database Methods Using to get the user’s userForgotPassword email: String N/A password back to the user 1.2 PersonServiceImpl Class PersonServiceImpl Description Deals with managing and handling operations related to Person Base Class N/A Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/service/PersonServiceImpl.java Namespace service Attributes Name Type Description Oct -2023- SE Intake #16 HCR | Detailed Design FPT University | School of Engineering Crucial component of the Person’s data PersonReposi personRepo access or persistence layer in a software tory application Name Input Output Description Person: RespondEntity< Using to register new save Methods PersonDTO PersonDTO> account into database Using to get the user’s forgotPassword email: String N/A password back to the user 1.3 PersonRepository Class PersonRepository Crucial component of the Person’s data access or persistence layer in a software Description application Base Class N/A Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/repository/PersonRepository.java Namespace repository Name Type Description Attributes N/A N/A N/A Name Input Output Description UserName: Using to find the user’s Methods findUserByName String Person account by username and AndPassword Password: password String Oct -2023- SE Intake #17 HCR | Detailed Design FPT University | School of Engineering Using to find the user’s findByEmail Email: String Person account by email Store or update an person save person: Person N/A object in a data store using normal method username: Using to find the user’s findByUserName Person String account by username 1.4 Person Class Person Description Define attributes for Person entity and set/get method for these attributes Base Class N/A Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/entity/Person.java Namespace entity Name Type Description PersonID int Id of user FisrtName String User’s first name LastName String User’s last name Attributes Email String User’s email PhoneNumber String User’s phone number Address String User’s address Role int User’s role Status boolean User’s status (ban or publish) Oct -2023- SE Intake #18 HCR | Detailed Design FPT University | School of Engineering Username String User’s username Password String User’s password Gender int User’s gender Name Input Output Description Using to get person’s ID of a getPersonID() N/A int instance Using to get person’s first getFirstName() N/A String name of a instance Using to get person’s last getLastName() N/A String name of a instance getEmail() N/A String Using to get person’s email Using to get person’s phone getPhoneNumber() N/A String Methods number getAddress() N/A String Using to get person’s address getRole() N/A int Using to get person’s role Using to get person’s getStatus() N/A boolean status(ban or publish) Using to get person’s getUsername() N/A String username Using to get person’s getPassword() N/A String password getGender() N/A int Using to get person’s gender 1.5 PersonDTO Class PersonDTO Description Define attributes for PersonDTO entity and set/get method for these attributes Oct -2023- SE Intake #19 HCR | Detailed Design FPT University | School of Engineering Base Class N/A Constructor N/A Prototype N/A Source File /project/src/main/java/com/hcr/swd392g3/project/dto/PersonDTO.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ