Hỗ trợ khách hàng 24/7, giải đáp mọithắc mắc của khách hàng một cách nhanh chóng và hiệu quả.Ngoài phần mở đầu, kết luận và tài liệu tham khảo, báo cáo được chia làm3 chương, vớ
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP CƠ SỞ
ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO
Cán bộ hướng dẫn:
ThS Nguyễn Văn Phác
Sinh viên thực hiện:
- Lê Văn Trọng AT180046
- Bùi Đức Trung AT180447
- Phạm Minh Đức AT180411
Lớp: L02
Hà Nội, 2024
Trang 2HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP CƠ SỞ
ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO
Nhận xét của cán bộ hướng dẫn:
Điểm chuyên cần:
Điểm báo cáo:
Xác nhận của cán bộ hướng dẫn
Trang 3MỤC LỤC
Xác nhận của cán bộ hướng dẫn 2
BẢNG KÝ HIỆU 5
DANH MỤC BẢNG BIỂU 5
DANH MỤC HÌNH VẼ 5
LỜI CẢM ƠN 6
LỜI NÓI ĐẦU 6
CHƯƠNG 1 PHÂN TÍCH YÊU CẦU HỆ THỐNG 8
1.1 Tổng quan hệ thống Website bán hàng quần áo 8
1.2 Yêu cầu hệ thống 8
1.2.1 Yêu cầu chức năng 8
1.2.2 Yêu cầu phi chức năng 8
1.3 Các công nghệ được sử dụng 9
1.3.1 Ngôn ngữ lập trình (PHP) 9
1.3.4 Môi trường phát triển (VSCode) 12
CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 14
2.1 Phân tích các chức năng, tác nhân trong hệ thống 14
2.1.1 Các chức năng chính trong hệ thống 14
2.1.2 Các tác nhân chính trong hệ thống 14
2.2 Xây dựng biểu đồ Use case 14
2.2.1 Xác định các Use case 14
2.2.2 Biểu đồ usecase tổng quát 15
2.2.3 Phân rã Use case Đăng ký 15
2.2.4 Phân rã Use case Đăng nhập 16
2.2.5 Phân rã Use case Quản lí danh mục sản phẩm 16
2.2.6 Phân rã Use case Quản lí thành viên 16
2.2.7 Phân rã Use case Tiếp nhận và xử lý đơn đặt hàng 17
2.2.8 Phân rã Use case Quản lí giỏ hàng 17
Trang 42.2.9 Phân rã Use case Quản lí thông tin cá nhân 18
2.3 Đặc tả Use case 18
2.3.1 Đặc tả Use case đăng ký 18
2.3.2 Đặc tả Use case đăng nhập 19
2.3.3 Đặc tả Use case hệ thống xem thông tin 20
2.3.4 Đặc tả Use case hệ thống quản lý thông tin 21
2.3.5 Đặc tả Use case hệ thống mua hàng 24
2.3.6 Đặc tả Use case thanh toán 25
2.3.7 Đặc tả Use case hệ thống tiếp nhận và xử lý đơn đặt hàng .27
2.4 Các biểu đồ tuần tự 28
2.4.1 Biểu đồ tuần tự của Usecase Đăng ký 28
2.4.2 Biểu đồ tuần tự của Usecase Đăng nhập 28
2.4.3 Biểu đồ tuần tự của Usecase Quản lý danh mục sản phẩm .29
2.4.4 Biểu đồ tuần tự của Usecase Quản lý thành viên 29
2.4.5 Biểu đồ tuần tự của Usecase Quản lý thông tin cá nhân 30
2.4.6 Biểu đồ tuần tự của Usecase Quản lý đơn hàng 30
2.4.7 Biểu đồ tuần tự của Usecase Quản lý giỏ hàng 31
2.5 Thiết kế cơ sở dữ liệu 31
2.5.1 Sơ đồ kết nối các bảng 31
2.5.2 Cấu trúc các bảng 32
CHƯƠNG 3 TRIỂN KHAI HỆ THỐNG 37
3 Quá trình triển khai hệ thống 37
Trang 5BẢNG KÝ HIỆU
DANH MỤC HÌNH VẼ
Hình 2.1: Biểu đồ use case tổng quát của hệ thống
Hình 2.2: Phân rã Use case đăng ký
Hình 2.3: Phân rã Use case đăng nhập
Hình 2.4: Phân rã Use case quản lý danh mục sản phẩm
Hình 2.5: Phân rã Use case quản lý thành viên
Hình 2.7: Phân rã Use case tiếp nhận và xử lý đơn hàng
Hình 2.8: Phân rã Use case giỏ hàng
Hình 2.9: Phân rã Use case quản lý thông tin cá nhân
Hình 2.10: Biểu đồ tuần tự của Usecase Đăng ký
Hình 2.11: Biểu đồ tuần tự của Usecase Đăng nhập
Hình 2.12: Biểu đồ tuần tự của Usecase Quản lý danh mục sản phẩm Hình 2.13: Biểu đồ tuần tự của Usecase Quản lý thành viên
Hình 2.14: Biểu đồ tuần tự của Usecase Quản lý thông tin cá nhân Hình 2.15: Biểu đồ tuần tự của Usecase Quản lý đơn hàng
Hình 2.16: Biểu đồ tuần tự của Usecase Quản lý giỏ hàng
Trang 6Hình 2.17: Biểu đồ quan hệ CSDL
LỜI CẢM ƠN
LỜI NÓI ĐẦU
Trong thời đại bùng nổ thông tin, mạng Internet đã trở thành một phần củacuộc sống hiện đại và ngày càng đóng vai trò quan trọng đối với con người,chúng ta có thể thấy được Internet đã và đang chi phối hầu như mọi lĩnh vực củacuộc sống từ kinh tế, giải trí đến giáo dục và trong lĩnh vực y tế, v.v
Cùng với sự phát triển nhanh chóng của xã hội thì nhu cầu mua sắm trựctuyến ngày càng gia tăng, do sự tiện lợi, nhanh chóng và đa dạng về mẫu mã, giá
cả Tuy nhiên, nhiều website bán hàng quần áo hiện nay vẫn còn gặp nhiều bấtcập, khiến khách hàng không hài lòng như: Khó khăn trong việc tìm kiếm sảnphẩm: Việc phân loại sản phẩm chưa khoa học, chức năng tìm kiếm chưa hiệuquả khiến khách hàng tốn nhiều thời gian để tìm kiếm sản phẩm ưng ý Hình ảnhsản phẩm chưa chân thực: Hình ảnh sản phẩm không được đầu tư, thiếu chi tiết,hoặc do chụp qua camera thường nên không thể hiện đầy đủ chất lượng sảnphẩm, khiến khách hàng hoang mang, lo lắng khi mua hàng Chính sách muahàng, đổi trả phức tạp: Quy trình mua hàng, đổi trả sản phẩm rườm rà, thủ tụcphức tạp khiến khách hàng nản lòng Hỗ trợ khách hàng chưa chu đáo: Nhânviên tư vấn thiếu chuyên nghiệp, trả lời tin nhắn chậm, không giải đáp được thắcmắc của khách hàng
Nhằm giải quyết những vấn đề trên, nhóm chúng em đã quyết định lựa
chọn đề tài “xây dựng website bán hàng quần áo” với mục đích: Mang đến
cho khách hàng trải nghiệm mua sắm trực tuyến tiện lợi, nhanh chóng và antoàn Cung cấp đa dạng các mẫu mã quần áo thời trang, chất lượng cao với giá
cả cạnh tranh Đảm bảo hình ảnh sản phẩm chân thực, rõ nét, kèm theo mô tả chitiết để khách hàng dễ dàng lựa chọn Có chính sách mua hàng, đổi trả rõ ràng,minh bạch, thuận tiện cho khách hàng Hỗ trợ khách hàng 24/7, giải đáp mọithắc mắc của khách hàng một cách nhanh chóng và hiệu quả
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, báo cáo được chia làm
3 chương, với các nội dung sau:
Chương 1: Phân tích yêu cầu hệ thống xây dựng website bán hàng quần áo:
Giới thiệu tổng quan về hệ thống ứng dụng quản lý phòng khám nhi trên nềntảng di động Xác định các yêu cầu chức năng và phi chức năng của hệ thống.Liệt kê các công nghệ được sử dụng để xây dựng ứng dụng
Chương 2: Phân tích và thiết kế hệ thống xây dựng website bán hàng quần áo: Trình bày các bước chính trong quá trình phân tích và thiết kế hệ thống, bao
gồm: Biểu đồ use case tổng quát Phân rã các biểu đồ use case Các biểu đồ tuần
tự tương ứng Thiết kế cơ sở dữ liệu cho hệ thống
Trang 7Chương 3: Triển khai hệ thống xây dựng website bán hàng quần áo: Giới
thiệu tổng quan về các bước triển khai hệ thống Giới thiệu một số giao diện của
hệ thống
Mặc dù đã hoàn thành các mục tiêu cơ bản đề ra, nhưng do thời gian thực hiệnngắn nên không thể tránh khỏi những thiếu sót Nhóm chúng tôi rất mong nhậnđược sự góp ý quý báu từ thầy cô để hoàn thiện đề tài này một cách tốt nhất
NHÓM THỰC HIỆN ĐỀ TÀI
Lê Văn Trọng Bùi Đức Trung Phạm Minh Đức
CHƯƠNG 1 PHÂN TÍCH YÊU CẦU HỆ THỐNG XÂY DỰNG
WEBSITE BÁN HÀNG QUẦN ÁO 1.1 Tổng quan hệ thống Website bán hàng quần áo
Trang 8Hệ thống website bán hàng quần áo là hệ thống cho phép người sử dụng truy cập vào website để xem thông tin về quần áo và cho phép đặt hàng Ở đây
hệ thống sẽ lưu trữ thông tin cơ bản của người dùng, các loại quần áo, thông tin của mỗi loại quần áo
Hệ thống có 2 lớp người sử dụng là khách hàng và người quản lý Khách hàng có thể sử dụng các chức năng của hệ thống như xem thông tin sản phẩm, đặt sản phẩm, thanh toán, từ đó giúp khách hàng có thể dễ dàng tiếp cận với các sản phẩm, đáp ứng nhu cầu của khách hàng một cách nhanh chóng, tiết kiệmcông sức mà khách hàng phải bỏ ra
Hệ thống còn giúp người chủ cửa hàng dễ dàng nắm bắt, quản lí sản phẩm của mình và truyền thông quảng cáo được rộng hơn, đồng thời cạnh tranh cao với các thương hiệu khác ngay trên chính website giới thiệu quần áo chung.Các hoạt động nghiệp vụ cơ bản của hệ thống gồm:
Người dùng có thể đăng ký và đăng nhập tài khoản ở bất cứ nơi đâu, bất
1.2.1 Yêu cầu chức năng
Cho phép người dùng duyệt qua các danh mục quần áo và lựa chọn sản phẩm theo nhu cầu
Cung cấp công cụ tìm kiểm để người dùng có thể tìm kiếm sản phẩm theo
từ khóa hoặc mục đích sử dụng
Hiển thị thông tin chi tiết, hình ảnh và giá của sản phẩm
Cho phép người dùng tạo tài khoản mới hoặc đăng nhập vào tài khoản hiện có để theo dõi đơn hàng, quản lý thông tin cá nhân và lịch sử mua hàng
Cho phép người quản lý thêm, sửa, xóa các sản phẩm
Cho phép người quản lý xem danh sách cá hóa đơn đã thanh toán, hóa đơn chưa thanh toán
1.2.2 Yêu cầu phi chức năng
Giao diện thân thiện và dễ sử dụng: Giao diện của hệ thống website phải được thiết kế thân thiện, dễ sử dụng để đảm bảo khách hàng, người quản
lý có thể sử dụng và truy cập dễ dàng
Giao diện thiết kế hấp dẫn
Trang 9 Tốc độ tải trang nhanh: Đảm bảo trang web được tối ưu hóa để tải nhanh, giúp người dùng truy cập và duyệt sản phẩm một cách thuận tiện và
Ngôn ngữ PHP thường được dùng trong việc xây dựng và phát triểnwebsite bởi nó có thể kết nối dễ dàng với các website khác có sử dụng HTML.PHP cũng là ngôn ngữ lập trình có mã nguồn mở, tương thích với nhiều nềntảng khác nhau như MacOS, Linux, Windows,… PHP được nhiều người dùngđánh giá là dễ đọc nên đa số các lập trình viên sẽ lựa chọn học PHP trước khibắt đầu vào nghề
1.3.1.2 Ứng dụng của ngôn ngữ PHP trong lập trình
Ngôn ngữ lập trình PHP thường tập trung vào việc thiết lập chương trình cho máy chủ, tạo các cơ sở dữ liệu, xây dựng nội dung website, nhận dữ liệu cookie Chưa hết, bạn còn có thể thực hiện được nhiều thao tác, công năng khác khi sử dụng ngôn ngữ này
Một số ứng dụng phổ biến của PHP trong ngành IT:
Thiết lập chương trình cho hệ thống máy chủ: Đây là một ứng dụng chủ
yếu nhất của PHP Các PHP Developer sẽ phải thực hiện các thao tác như phân tích ngôn ngữ lập trình PHP, xây dựng máy chủ web và trình duyệt web
Tạo các dòng tập lệnh: Các lập trình viên sẽ tạo ra một dòng tập lệnh để
vận hành chương trình PHP mà không cần đến máy chủ Kiểu lập trình này được
sử dụng trên các hệ điều hành phổ biến như Linux hay Windows
Xây dựng các ứng dụng làm việc: Bạn có thể ứng dụng những điểm mạnh
vốn có của PHP để xây dựng ứng dụng phần mềm Các lập trình viên thường dùng PHP – GTK làm nền tảng xây dựng phần mềm vì đây là nhánh mở rộng của ngôn ngữ lập trình này và không có sẵn trong các bản phân phối chính thức hiện nay
Trang 10Hỗ trợ cho mọi loại cơ sở dữ liệu khác nhau: Khi một website có hỗ trợ
cơ sở dữ liệu tốt sẽ giúp ích cho việc vận hành, sao lưu và đặc biệt là backup dữ liệu đề phòng trường hợp xảy ra an ninh mạng
1.3.2 Cơ sở dữ liệu (mySQL)
1.3.2.1 mySQL là gì ?
MySQL là một hệ thống quản trị cơ sở dữ liệu (Relational Database
Management System - RDBMS) mã nguồn mở hoạt động theo mô hình client - server MySQL được phát triển bởi Oracle Corporation và được phát hành miễn phí cho cộng đồng người dùng
Đến nay, MySQL đã được sử dụng rộng rãi trên toàn thế giới với tính năng tối ưu hóa hiệu suất cao, hỗ trợ nhiều ngôn ngữ lập trình và các tính năng quan trọng khác như ACID (Atomicity, Consistency, Isolation, Durability) để đảm bảo tính toàn vẹn của dữ liệu, hỗ trợ khóa ngoại để kết nối dữ liệu giữa các bảng, sao lưu và phục hồi dữ liệu,…
1.3.2.2 Những điểm nổi bật của mySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu phổ biến nhất trên thế giới với nhiều tính năng hữu ích Sau đây là một số tính năng quan trọng của
MySQL:
Hỗ trợ đa ngôn ngữ lập trình: MySQL hỗ trợ nhiều ngôn ngữ lập trình
khác nhau, bao gồm: C, C++, Python, Perl, Java và PHP,… cho phép các nhà phát triển sử dụng MySQL để phát triển ứng dụng trên nhiều nền tảng khác nhau
Tính năng ACID: Tính năng ACID (Atomicity, Consistency, Isolation,
Durability) trên MySQL đảm bảo được tính toàn vẹn của dữ liệu trong quá trình thao tác, tất cả các thao tác trên cơ sở dữ liệu được thực hiện đồng thời và an toàn
Tính năng sao lưu và phục hồi: Người quản trị website có thể dễ dàng sao
lưu và khôi phục dữ liệu trong trường hợp xảy ra sự cố, để đảm bảo an toàn và tin cậy cho dữ liệu của người dùng, khách hàng của mình
Hỗ trợ khóa ngoại: MySQL hỗ trợ khóa ngoại để kết nối dữ liệu giữa các
bảng trong cùng một cơ sở dữ liệu, cho phép nhà phát triển dễ dàng truy xuất thông tin từ các bảng khác nhau trong cơ sở dữ liệu
Trang 11Tối ưu hóa hiệu suất: MySQL có thể xử lý dữ liệu một cách nhanh chóng
và hiệu quả, cung cấp các công cụ tối ưu hóa hiệu suất để giúp nhà phát triển tăng tốc độ xử lý dữ liệu của mình
1.3.3 Các thư viện và framework (Lavarel)
1.3.3.1 Lavarel Framwork là gì?
Framework Laravel là một framework phát triển ứng dụng web mã nguồn
mở được viết bằng ngôn ngữ lập trình PHP Được phát triển bởi Taylor Otwell, Laravel cung cấp khả năng hoạt động hiệu quả và linh hoạt để xây dựng các ứngdụng web Dưới đây là một số đặc điểm nổi bật của Framework Laravel:
Cú pháp rõ ràng: Laravel sử dụng cú pháp rõ ràng và dễ đọc, giúp người phát triển dễ dàng tương tác và hiểu mã nguồn
Mô hình MVC: Laravel theo mô hình MVC (Model-View-Controller), giúpphân tách logic ứng dụng, dữ liệu và giao diện người dùng
Hệ thống routing mạnh mẽ: Framework cung cấp hệ thống routing linh hoạt, cho phép người phát triển định nghĩa các tuyến đường URL dễ dàng
Eloquent ORM: Laravel cung cấp Eloquent ORM, phương thức tương tác với cơ sở dữ liệu thông qua các mô hình và query builder
Hệ thống template Blade: Blade là một hệ thống template mạnh mẽ cho phép người phát triển xây dựng giao diện người dùng một cách dễ dàng
Hệ thống quản lý giao tác: Laravel tích hợp thêm hệ thống quản lý giao tác mạnh mẽ và linh hoạt
Bảo mật: Laravel sở hữu nhiều tính năng bảo mật như hệ thống xác thực, bảo vệ CSRF, mã hóa dữ liệu, xác thực người dùng và nhiều tính năng bảo mật khác
1.3.3.2 Những ưu điểm nổi bật của Lavarel Framework:
Cú pháp rõ ràng và dễ đọc: Laravel sử dụng cú pháp rõ ràng và dễ đọc, giúp người phát triển tương tác và hiểu mã nguồn dễ dàng
Mô hình MVC: Sử dụng mô hình MVC giúp tách biệt code logic, dữ liệu
và giao diện người dùng, từ đó dễ dàng bảo trì và mở rộng ứng dụng
Hệ thống routing mạnh mẽ: Laravel cung cấp hệ thống định tuyến linh hoạt, cho phép người phát triển định nghĩa các tuyến đường URL dễ dàng
Trang 12Eloquent ORM: Laravel cung cấp Eloquent ORM để tương tác với cơ sở
dữ liệu thông qua mô hình và query builder, giúp việc làm việc với cơ sở dữ liệutrở nên dễ dàng và linh hoạt
Hệ thống template Blade: Blade là một hệ thống template mạnh mẽ cho phép người phát triển xây dựng giao diện người dùng một cách đơn giản, linh hoạt và mạnh mẽ
Hệ thống quản lý giao tác mạnh mẽ: Laravel cung cấp hệ thống quản lý giao tác mạnh mẽ và linh hoạt, giúp xử lý các yêu cầu web một cách hiệu quả.Bảo mật: Laravel cung cấp nhiều tính năng bảo mật như hệ thống xác thực,bảo vệ CSRF, mã hóa dữ liệu, xác thực người dùng, giúp bảo vệ ứng dụng khỏi các lỗ hổng bảo mật
Hiệu suất cao: Mặc dù cung cấp nhiều tính năng, Laravel vẫn giữ được hiệu suất cao, giúp ứng dụng phát triển bằng Laravel hoạt động mượt mà và nhanh chóng
Tài liệu và cộng đồng phong phú: Laravel cung cấp tài liệu hướng dẫn đầy
đủ và có cộng đồng phong phú, giúp người phát triển dễ dàng tìm kiếm sự trợ giúp và hỗ trợ khi cần thiết
1.3.4 Môi trường phát triển (VSCode)
1.3.4.1 Giới thiệu VScode:
Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các
đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website mộtcách nhanh chóng Visual Studio Code hay còn được viết tắt là VS Code Trìnhsoạn thảo này vận hành mượt mà trên các nền tảng như Windows, macOS,Linux Hơn thế nữa, VS Code còn cho khả năng tương thích với những thiết
bị máy tính có cấu hình tầm trung vẫn có thể sử dụng dễ dàng
Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git,
có Syntax Highlighting Đặc biệt là tự hoàn thành mã thông minh, Snippets, vàkhả năng cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũngcho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọnkhác Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại bao gồm cáctính năng mạnh mẽ
Dù mới được phát hành nhưng VSCode là một trong những CodeEditor mạnh mẽ và phổ biến nhất dành cho lập trình viên Nhờ hỗ trợ nhiềungôn ngữ lập trình phổ biến, tích hợp đầy đủ các tính năng và khả năng mởrộng, nên VSCode trở nên cực kì thân thuộc với bất kì lập trình viên nào
1.3.4.2 Những ưu điểm nổi bật của Visual Studio Code
Trang 13Visual Studio Code là gì được rất nhiều người tìm hiểu Đây cũng là mộttrong các ứng dụng được dân IT “săn đón” và tải về và sử dụng rất nhiều VisualStudio Code cũng luôn có những cải tiến và tạo ra đa dạng các tiện ích đi kèm từ
đó giúp cho các lập trình viên sử dụng dễ dàng hơn Trong đó có thể kể đếnnhững ưu điểm sau:
Ngôn ngữ, giao diện tối giản, thân thiện, giúp các lập trình viên dễ dàngđịnh hình nội dung
Các tiện ích mở rộng rất đa dạng và phong phú
Tích hợp các tính năng quan trọng như tính năng bảo mật (Git), khả năngtăng tốc xử lý vòng lặp (Debug),…
Đơn giản hóa việc tìm quản lý hết tất cả các Code có trên hệ thống
Visual Studio Code là một trong những trình biên tập Code rất phổ biếnnhất hiện nay Ứng dụng này cũng ngày càng chứng tỏ ưu thế vượt trội của mìnhkhi so sánh với những phần mềm khác Tuy bản miễn phí không có nhiều cáctính năng nâng cao nhưng Visual Studio Code thực sự có thể đáp ứng được hầuhết nhu cầu cơ bản của lập trình viên