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 AT180401
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 MỤC LỤC MỤC LỤC 3
BẢNG KÝ HIỆU 6
DANH MỤC BẢNG BIỂU 7
DANH MỤC HÌNH VẼ 8
Trang 3LỜI CẢM ƠN 10
LỜI NÓI ĐẦU 11
CHƯƠNG 1 PHÂN TÍCH YÊU CẦU HỆ THỐNG XÂY DỰNG WEB SITE BÁN HÀNG QUẦN ÁO 13
1.1 Tổng quan hệ thống Website bán quần áo 13
1.2 Yêu cầu hệ thống 13
1.2.1 Yêu cầu chức năng 13
1.2.2 Yêu cầu phi chức năng 14
1.3 Các công nghệ được sử dụng 14
1.3.1 Ngôn ngữ lập trình (PHP) 14
1.3.1.1 PHP là gì ? 14
1.3.1.2 Ứng dụng của ngôn ngữ PHP trong lập trình 15
1.3.2 Cơ sở dữ liệu (mySQL) 15
1.3.2.1 mySQL là gì ? 15
1.3.2.2 Những điểm nổi bật của mySQL 16
1.3.3 Các thư viện và framework (Lavarel) 16
1.3.3.1 Lavarel Framwork là gì? 16
1.3.3.2 Những ưu điểm nổi bật của Lavarel Framework: 17
1.3.4 Môi trường phát triển (VSCode) 18
1.3.4.1 Giới thiệu VScode: 18
1.3.4.2 Những ưu điểm nổi bật của Visual Studio Code 18
CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG XÂY DỰNG WEB SITE BÁN HÀNG QUẦN ÁO 20
2.1 Phân tích các chức năng, tác nhân trong hệ thống 20
2.1.1 Các chức năng chính trong hệ thống 20
2.1.2 Các tác nhân chính trong hệ thống 20
2.2 Xây dựng biểu đồ Use case 20
2.2.1 Xác định các Use case 20
2.2.2 Biểu đồ usecase tổng quát 21
Trang 42.2.3 Phân rã Use case Quản lí danh mục sản phẩm 22
2.2.4 Phân rã Use case Quản lí sản phẩm 22
2.2.5 Phân rã Use case Quản lí khách hàng 23
2.2.6 Phân rã Use case Quản lí giỏ hàng 23
2.2.7 Phân rã Use case Quản lí thông tin cá nhân 24
2.3 Đặc tả Use case 24
2.3.1 Đặc tả Use case đăng ký 24
2.3.2 Đặc tả Use case đăng nhập 25
2.3.3 Đặc tả Use case hệ thống xem thông tin 25
2.3.4 Đặc tả Use case hệ thống quản lý thông tin 27
2.3.5 Đặc tả Use case hệ thống mua hàng 31
2.3.6 Đặc tả Use case thanh toán 33
2.4 Các biểu đồ tuần tự 34
2.4.1 Biểu đồ tuần tự Xóa danh mục sản phẩm 34
2.4.2 Biểu đồ tuần tự Thêm danh mục sản phẩm 35
2.4.3 Biểu đồ tuần tự Sửa danh mục sản phẩm 35
2.4.4 Biểu đồ tuần tự Thêm sản phẩm 36
2.4.5 Biểu đồ tuần tự Sửa sản phẩm 36
2.4.6 Biểu đồ tuần tự Xóa sản phẩm 37
2.4.7 Biểu đồ tuần tự Xóa khách hàng 37
2.4.8 Biểu đồ tuần tự Thêm khách hàng 38
2.4.9 Biểu đồ tuần tự Sửa khách hàng 38
2.4.10.Biểu đồ tuần tự Sửa thông tin khách hàng 38
2.4.11 Biểu đồ tuần tự Loại sản phẩm khỏi giỏ hàng 39
2.4.12 Biểu đồ tuần tự Thêm sản phẩm vào giỏ hàng 40
2.4.13 Biểu đồ tuần tự Đặt hàng 40
2.5 Thiết kế cơ sở dữ liệu 41
2.5.1 Sơ đồ kết nối các bảng 41
Trang 52.5.2 Cấu trúc các bảng 42
CHƯƠNG 3 TRIỂN KHAI HỆ THỐNG XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO 46
3 Quá trình triển khai hệ thống 46
3.1 Giao diện Trang chủ 46
3.2 Giao diện Đăng nhập 46
3.3 Giao diện Đăng ký 46
3.4 Giao diện Trang quản lý sản phẩm 47
3.5 Giao diện Trang Quản lý danh mục sản phẩm 48
3.6 Giao diện Trang giỏ hàng 48
3.7 Giao diện Trang quản lý khách hàng 49
3.8 Giao diện Trang quản lý đơn hàng 49
3.9 Giao diện Trang quản lý liên hệ 50
3.10 Giao diện Đặt mua hàng 50
Kết luận 51
Tài liệu tham khảo 53
BẢNG KÝ HIỆU
PHP Hypertext Preprocessor
HTML HyperText Markup Language
Trang 6FK Foreign key
VSCODE Visual Studio Code
MVC Model-View-Controler
CSRF Cross-site Request Forgery
DANH MỤC BẢNG BIỂU
Bảng 2.1 : User 42
Bảng 2.2 : Customer 42
Bảng 2.3 : Contact 43
Bảng 2.4 : Category product 43
Bảng 2.5 ; Product 44
Bảng 2.6 : Order 45
Bảng 2.7 : Category new product 45
Trang 7Bảng 2.8 : New product 45
DANH MỤC HÌNH VẼ Hình 2.1 : Biểu đồ use case tổng quát của hệ thống 22
Hình 2.2 : Phân rã Use case Quản lí danh mục sản phẩm 22
Hình 2.3 : Phân rã Use case Quản lí sản phẩm 22
Hình 2.4 : Phân rã Use case Quản lí khách hàng 23
Hình 2.5 : Phân rã Use case Quản lí giỏ hàng 23
Hình 2.6 : Phân rã Use case Quản lí thông tin cá nhân 24
Hình 2.7 : Biểu đồ tuần tự Xóa danh mục sản phẩm 34
Hình 2.8 : Biểu đồ tuần tự Thêm danh mục sản phẩm 35
Trang 8Hình 2.9 : Biểu đồ tuần tự Sửa danh mục sản phẩm 35
Hình 2.10 : Biểu đồ tuần tự Thêm sản phẩm 36
Hình 2.11 : Biểu đồ tuần tự Sửa sản phẩm 36
Hình 2.12 : Biểu đồ tuần tự Xóa sản phẩm 37
Hình 2.13 : Biểu đồ tuần tự Xóa khách hàng 37
Hình 2.14 : Biểu đồ tuần tự Thêm khách hàng 38
Hình 2.15 : Biểu đồ tuần tự Sửa khách hàng 38
Hình 2.16 : Biểu đồ tuần tự Sửa thông tin cá nhân 39
Hình 2.17: Loại sản phẩm khỏi giỏ hàng 39
Hình 2.18 : Biểu đồ tuần tự Thêm sản phẩm vào giỏ hàng 40
Hình 2.19 : Biểu đồ tuần tự đặt hàng
Hình 2.20: Sơ đồ kết nối các bảng 40
Hình 3.1 : Giao diện trang chủ 46
Hình 3.2 : Giao diện Đăng nhập 46
Hình 3.3 : Giao diện Đăng ký 47
Hình 3.4 : Giao diện Trang quản lý sản phẩm 47
Hình 3.5 : Giao diện Trang Quản lý danh mục sản phẩm 48
Hình 3.6 : Giao diện Trang giỏ hàng 48
Hình 3.7 : Giao diện Trang quản lý khách hàng 49
Hình 3.8 : Giao diện Trang quản lý đơn hàng 49
Hình 3.9 : Giao diện Trang quản lý liên hệ 50
Hình 3.10 : Giao diện Đặt mua hàng 50
Trang 9LỜI CẢM ƠN
Trong quá trình thực hiện thực tập cơ sở này, nhóm chúng em nhận được
sự giúp đỡ tận tình của giảng viên hướng dẫn là Th.S Nguyễn Văn Phác –
Khoa Công nghệ thông tin, Học viện Kỹ thuật Mật mã,…
Xin cảm ơn các thầy cô khoa Công nghệ thông tin đã tạo những điều kiện tốt nhất để nhóm em hoàn thành thực tập cơ sở này!
Xin chân thành cảm ơn!
Trang 10LỜ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ân
Trang 11viê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ền tả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ácbiểu đồ tuần tự tương ứng Thiết kế cơ sở dữ liệu cho hệ thống
Chươ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ố giaodiệ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ựchiện ngắn nên không thể tránh khỏi những thiếu sót Nhóm chúng tôi rất mongnhậ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ốtnhất
NHÓM THỰC HIỆN ĐỀ TÀI
Lê Văn Trọng Bùi Đức Trung Phạm Minh Đức
Trang 12CHƯƠNG 1 PHÂN TÍCH YÊU CẦU HỆ THỐNG XÂY DỰNG WEB
SITE BÁN HÀNG QUẦN ÁO
1.1 Tổng quan hệ thống Website bán quần áo
Hệ thống website bán hàng quần áo là hệ thống cho phép người sử dụngtruy 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 tincủ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áchhà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ớicá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ẩmcủa mình và truyền thông quảng cáo được rộng hơn, đồng thời cạnh tranh caovớ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
cứ khi nào
Trang 13 Người quản lý có thể đăng thông tin lên website, thêm, sửa, xóa các sảnphẩm, thêm các chương trình ưu đãi.
Người dùng có thể mua hàng và thanh toán bất cứ lúc nào
1.2 Yêu cầu hệ thống
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ảnphẩ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ảnhiện có để theo dõi đơn hàng, quản lý thông tin cá nhân và lịch sử muahà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
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àkhông gặp trở ngại
Bảo mật thông tin, đảm bảo được độ tin cậy với khách hàng
1.3 Các công nghệ được sử dụng
1.3.1 Ngôn ngữ lập trình (PHP)
Trang 141.3.1.1 PHP là gì ?
Ngôn ngữ PHP là từ viết tắt của Personal Home Page nay đã chuyển thànhHypertext Preprocessor Thuật ngữ này là một dạng mã lệnh hoặc một chuỗingôn ngữ kịch bản được dùng để phát triển các ứng dụng web chạy trên máychủ.Khi các lập trình viên PHP viết chương trình, chuỗi lệnh sẽ được xử lý trênserver sau đó sinh ra mã HTML trên client Dựa vào đó, các ứng dụng trênwebsite sẽ hoạt động một cách dễ dàng
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ìnhcho máy chủ, tạo các cơ sở dữ liệu, xây dựng nội dung website, nhận dữ liệucookie 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áckhi 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ácnhư phân tích ngôn ngữ lập trình PHP, xây dựng máy chủ web và trìnhduyệ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ìnhnày được sử dụng trên các hệ điều hành phổ biến như Linux hayWindows
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ìnhviê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ảnphân phối chính thức hiện nay
Trang 15 Hỗ 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 DatabaseManagement 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ễnphí 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ăngtố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 quantrọng khác như ACID (Atomicity, Consistency, Isolation, Durability) để đảmbả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ácbả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ớivới nhiều tính năng hữu ích Sau đây là một số tính năng quan trọng củaMySQL:
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ácnhà phát triển sử dụng MySQL để phát triển ứng dụng trên nhiều nền tảngkhá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 trongquá 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 truyxuất thông tin từ các bảng khác nhau trong cơ sở dữ liệu
Trang 16 Tố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ườiphá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úp phâ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 linhhoạ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ácvớ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ẽ chophé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ý giaotá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ăngbả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
Trang 17 Hệ thống routing mạnh mẽ: Laravel cung cấp hệ thống định tuyến linhhoạ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 để 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ệu trở 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ẽ chophé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ệuquả
Bảo mật: Laravel cung cấp nhiều tính năng bảo mật như hệ thống xácthực, bảo vệ CSRF, mã hóa dữ liệu, xác thực người dùng, giúp bảo vệ ứngdụ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ữ đượchiệ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ìmkiế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ọn
Trang 18khá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
Visual 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
Trang 19CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG XÂY DỰNG
WEB SITE BÁN HÀNG QUẦN ÁO 2.1 Phân tích các chức năng, tác nhân trong hệ thống
2.1.1 Các chức năng chính trong hệ thống
Chức năng của hệ thống có thể chia làm các nhóm chức năng chính nhưsau:
1 Nhóm chức năng đăng ký, đăng nhập khách hàng
2 Nhóm chức năng xem thông tin, bao gồm xem thông tin giỏ hàng,xem thông tin đơn hàng, xem thông tin sản phẩm, xem thông tin cánhân
3 Nhóm chức năng quản lý thông tin, bao gồm quản lý thông tin cánhân, quản lý danh sách khách hàng, quản lý danh mục sản phẩm
4 Nhóm chức năng thanh toán, quản lí đơn đặt hàng
2.1.2 Các tác nhân chính trong hệ thống
Dựa vào mô tả bài toán, ta có thể xác định được các tác nhân chính của hệthống như sau:
Trang 201 KHÁCH HÀNG: là người giao dịch với hệ thống thông qua các đơnđặt hàng, khách hàng có thể chọn các loại sản phẩm, chọn địa điểm vàthời gian giao hàng Khách hàng có thể đăng ký làm khách hàng của
Xem thông tin cá nhân
Sửa đổi thông tin cá nhân
Xem thông tin sản phẩm
Xem thông tin giỏ hàng
Chọn sản phẩm cần mua
Thêm, bớt sản phẩm trong giỏ hàng
Thực hiện việc mua hàng
Xem thông tin cá nhân
Sửa đổi thông tin cá nhân
2.2.2 Biểu đồ usecase tổng quát
Trang 21Hình 2.1: Biểu đồ use case tổng quát của hệ thống
2.2.3 Phân rã Use case Quản lí danh mục sản phẩm
Hình 2.2: Phân rã Use case Quản lí danh mục sản phẩm
2.2.4 Phân rã Use case Quản lí sản phẩm
Trang 22Hình 2.3: Phân rã Use case Quản lí sản phẩm
2.2.5 Phân rã Use case Quản lí khách hàng
Hình 2.4: Phân rã Use case Quản lí khách hàng
2.2.6 Phân rã Use case Quản lí giỏ hàng
Trang 23Hình 2.5: Phân rã Use case Quản lí giỏ hàng
2.2.7 Phân rã Use case Quản lí thông tin cá nhân
Hình 2.6: Phân rã Use case Quản lí thông tin cá nhân
Trang 242.3 Đặc tả Use case
2.3.1 Đặc tả Use case đăng ký
Tác nhân: khách xem
Mô tả: cho phép khách xem đăng ký làm khách hàng của hệ thống
Tiền điều kiện:
Luồng sự kiện chính:
1 Khách xem chọn mục đăng kí khách hàng
2 Form đăng kí khách hàng hiển thị
3 Khách xem nhập thông tin cá nhân cần thiết vào form đăng kí
4 Nhấn nút Đăng ký
5 Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân Nếu thôngtin nhập không chính xác thì thực hiện luồng nhánh A1 Nếu nhập chínhxác thì thực hiện bước 6
6 Hệ thống cập nhật thông tin của khách xem vào danh sách khách hàng
7 UC kết thúc
Luồng sự kiện rẽ nhánh: Quá trình nhập thông tin không chính xác
1 Hệ thống thông báo thông tin nhập không chính xác
2 Hệ thống yêu cầu khách xem nhập thông tin lại
3 Nếu khách xem đồng ý thì quay về bước 2 của luồng sự kiện chính, nếukhông đồng ý thì UC kết thúc
Hậu điều kiện: Khách hàng trở thành khách hàng của hệ thống
2.3.2 Đặc tả Use case đăng nhập
Tác nhân: khách hàng
Mô tả: UC cho phép khách hàng đăng nhập vào hệ thống
Tiền điều kiện: khách hàng chưa đăng nhập vào hệ thống
Luồng sự kiện chính:
1 khách hàng chọn chức năng đăng nhập
Trang 252 Form đăng nhập hiển thị.
3 Nhập tên, mật khẩu vào form đăng nhập
4 Hệ thống kiểm tra tên, mật khẩu của khách hàng
5 Nếu việc đăng nhập thành công thi Nếu khách hàng nhập sai tên, mậtkhẩu thì chuyển sang luồng nhánh A1
6 UC kết thúc
Luồng sự kiện rẽ nhánh A1: khách hàng đăng nhập không thành công
1 Hệ thống thông báo quá trình đăng nhập không thành công
2 Chon: dang ky hay nhap lai Neu chon dang ky thi A2
3 Hệ thống yêu cầu khách hàng nhập lại tên và mật khẩu
4 Nếu khách xem đồng ý thì quay về bước 2 của luồng sự kiện chính, nếukhông đồng ý thì UC kết thúc
Hậu điều kiện: khách hàng đã đăng nhập thành công và có thể sử dụngcác chức năng mà hệ thống cung cấp
2.3.3 Đặc tả Use case hệ thống xem thông tin
2.3.3.1 Đặc tả Use case xem thông tin giỏ hàng
Tác nhân: khách hàng
Mô tả: cho phép khách hàng xem thông tin về giỏ hàng của mình
Tiền điều kiện:
Luồng sự kiện chính:
1 Khách hàng chọn chức năng xem giỏ hàng
2 Form xem thông tin giỏ hàng xuất hiện, hệ thống hiển thị thông tin vềgiỏ hàng của khách hàng hiện tại
3 Khách hàng xem thông tin chi tiết về giỏ hàng được hiển thị
4 UC kết thúc
2.3.3.2 Đặc tả Use case xem thông tin đơn hàng
Tác nhân: người quản lý
Trang 26 Mô tả: cho phép người quản lý xem thông tin về đơn hàng được lưu trữtrong hệ thống.
Tiền điều kiện:
Luồng sự kiện chính:
1 Người quản lý, nhân viên chọn đơn hàng cần xem
2 Form xem thông tin đơn hàng xuất hiện, hệ thống hiển thị thông tin vềđơn hàng mà người quản lý, nhân viên đã chọn
3 Người quản lý, nhân viên xem thông tin chi tiết về đơn hàng được hiểnthị
4 UC kết thúc
2.3.3.3 Đặc tả Use case xem thông tin sản phẩm
Tác nhân: khách hàng, khách xem
Mô tả: cho phép người quản lý, khách hàng xem thông tin về các sảnphẩm có trong cửa hàng
Tiền điều kiện:
Luồng sự kiện chính:
1 Người quản lý, nhân viên, khách hàng chọn sản phẩm cần xem
2 Form xem thông tin sản phẩm xuất hiện, hệ thống hiển thị thông tin vềsản phẩm đã chọn
3 Người quản lý, nhân viên, khách hàng xem thông tin chi tiết về sản
phẩm được hiển thị
4 UC kết thúc
2.3.3.4 Đặc tả Use case xem thông tin cá nhân
Tác nhân: khách hàng của hệ thống, bao gồm: người quản lý, khách hàng
Trang 27 Luồng sự kiện chính:
1 khách hàng chọn mục Xem thông tin cá nhân
2 Form xem thông tin khách hàng xuất hiện, hệ thống hiển thị thông tin cánhân của khách hàng
3 Hệ thống cung cấp liên kết để khách hàng có thể sửa đổi thông tin cánhân
4 UC kết thúc
2.3.4 Đặc tả Use case hệ thống quản lý thông tin
2.3.4.1 Đặc tả Use case chỉnh sửa thông tin cá nhân
Tác nhân: khách hàng của hệ thống
Mô tả: UC cho phép khách hàng thay đổi các thông tin đăng ký
Tiền điều kiện: khách hàng phải đăng nhập vào hệ thống
Luồng sự kiện chính:
1 khách hàng chọn chức năng sửa thông tin cá nhân
2 Hệ thống hiển thị form sửa thông tin với các thông tin cũ của khách hànghiện tại
3 khách hàng nhập các thông tin mới
4 Nhấn nút lưu thông tin
5 Nếu việc cập nhật thành công thì thực hiện bước 6 Nếu sai thực hiệnluồng sự kiện rẽ nhánh A1
6 Lưu thông tin
7 UC kết thúc
Luồng sự kiện rẽ nhánh A1: thông tin nhập không hợp lệ
1 Hệ thống thông báo việc nhập dữ liệu không hợp lệ
2 khách hàng nhập lại thông tin
3 Quay lại bước 4 của luồng sự kiện chính
Hậu điều kiện: thông tin khách hàng được lưu vào hệ thống