TÓM TẮT ĐỒ ÁNĐặt vấn đề:Hiện nay, hầu hết tại các cửa hàng nước hoa đã sử dụng rộng rãi ứng dụngcông nghệ thông tin, giúp người dùng dễ dàng mua hàng, dễ dàng quản lý thông tincá nhân,…
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
MSSV: 20520311Mã lớp: SE122.O11
Trang 2LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đạihọc Công nghệ thông tin - ĐHQG TP.HCM em đã được trang bị các kiến thức cơbản, các kỹ năng thực tế để có thể thực hiện Đồ án 2 của mình.
Để hoàn thành Đồ án này, em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Công nghệ thông tin – ĐHQG TP.HCM vì đãtạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách,tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin Em xin gửi lời cảm ơnchân thành đến cô Trần Thị Hồng Yến đã tận tình giúp đỡ, định hướng cách tư duyvà cách làm việc khoa học Đó là những góp ý hết sức quý báu không chỉ trong quátrình thực hiện đề tài mà còn là hành trang tiếp bước cho em trong quá trình học tậpvà lập nghiệp sau này.
Và cuối cùng, em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa,bạn bè là những người luôn sẵn sàng sẻ chia và giúp đỡ trong học tập và cuộc sống Tuy nhiên trong quá trình nghiên cứu đề tài, do kiến thức chuyên ngành cònhạn chế nên em vẫn còn nhiều thiếu sót khi tìm hiểu, đánh giá, trình bày về đề tài.Rất mong nhận được sự quan tâm, góp ý của cô để đề tài của em được đầy đủ vàhoàn chỉnh hơn.
Em xin chân thành cảm ơn.
TP Hồ Chí Minh, ngày 31 tháng 12 năm 2023Sinh viên thực hiện
Huỳnh Tiến Thịnh
Trang 43.1.2 Dành cho quản trị viên 22
3.2 Phân tích yêu cầu hệ thống 22
3.2.1 Yêu cầu chức năng 22
3.2.2 Yêu cầu phi chức năng 47
3.3 Biểu đồ phân cấp chức năng 47
3.3.1 Các chức năng chính của website 47
4.1.1 Giao diện phía khách hàng 62
4.1.1.1 Giao diện đăng nhập, đăng ký 62
4.1.1.2 Giao diện trang chủ 63
Trang 54.1.1.3 Giao diện sản phẩm của cửa hàng 65
4.1.1.4 Giao diện trang giỏ hàng 66
4.1.1.5 Giao diện thanh toán 67
4.1.1.6 Giao diện đặt hàng thành công 68
4.1.1.7 Giao diện trang tài khoản 69
4.1.2 Giao diện phía người quản lý 70
4.1.2.1 Giao diện đăng nhập 70
4.1.2.2 Giao diện chính 70
4.1.2.3 Giao diện quản lý đơn hàng 71
4.1.2.4 Giao diện quản lý sản phẩm 75
4.1.2.5 Giao diện quản lý danh mục sản phẩm 77
4.1.2.6 Giao diện quản lý thương hiệu 78
4.1.2.7 Giao diện quản lý hàng tồn kho và phiếu nhập kho 80
4.1.2.8 Giao diện quản lý khách hàng 81
4.1.2.9 Giao diện quản lý tài khoản 83
4.1.2.10 Giao diện quản lý bài viết 84
4.1.2.11 Giao diện quản lý thống kê 87
Trang 6Bảng 3.5 Use-case Xem trang chủ 30
Bảng 3.6 Use-case Tìm sản phẩm theo danh mục 31
Bảng 3.7 Use-case Đăng ký khách hàng thành viên 32
Bảng 3.8 Use-case Đăng nhập 33
Bảng 3.9 Use-case Thêm và xem giỏ hàng 34
Bảng 3.10 Use-case Thanh toán 35
Bảng 3.11 Use case Đánh giá sản phẩm 36
Bảng 3.12 Use-case Xóa thành viên 37
Bảng 3.13 Use-case Xem sản phẩm 38
Bảng 3.14 Use case Xem đơn hàng 39
Bảng 3.15 Use-case Xem báo cáo 40
Bảng 3.16 Use-case Tạo vận đơn 41
Bảng 3.17 Use-case Thay đổi trạng thái đơn hàng 42
Trang 8Hình 3.5 Use-case Quản lý đơn hàng 26
Hình 3.6 Biểu đồ phân cấp chức năng 49
Hình 3.7 Sơ đồ tuần tự Đăng nhập 50
Hình 3.8 Sơ đồ tuần tự Tìm kiếm sản phẩm 50
Hình 3.9 Sơ đồ tuần tự Thêm sản phẩm 51
Hình 3.10 Sơ đồ tuần tự Thống kê bán hàng 51
Hình 3.11 Sơ đồ tuần tự Quản lý mua hàng 52
Hình 3.12 Sơ đồ lớp ở mức thiết kế 52
Hình 4.1 Giao diện đăng nhập khách hàng 62
Hình 4.2 Giao diện đăng ký khách hàng 63
Hình 4.3 Giao diện trang chủ cửa hàng 64
Hình 4.4 Giao diện sản phẩm của cửa hàng 65
Hình 4.5 Giao diện trang giỏ hàng 66
Hình 4.6 Giao diện thanh toán 67
Hình 4.7 Giao diện đặt hàng thành công 68
Hình 4.8 Giao diện trang tài khoản 69
Hình 4.9 Giao diện đăng nhập quản lý 70
Hình 4.10 Giao diện chính trang quản lý 70
Hình 4.11 Giao diện đơn hàng tại quầy 71
Hình 4.12 Giao diện tạo đơn hàng tại quầy 71
Hình 4.13 Giao diện xem chi tiết đơn hàng 72
Hình 4.14 Giao diện hóa đơn bán hàng 72
Hình 4.15 Giao diện đơn hàng trực tuyến 73
Hình 4.16 Giao diện lịch sử thanh toán 74
Trang 9Hình 4.17 Giao diện danh sách sản phẩm 75
Hình 4.18 Giao diện thêm sản phẩm mới 75
Hình 4.19 Giao diện sửa sản phẩm 76
Hình 4.20 Giao diện danh mục sản phẩm 77
Hình 4.21 Giao diện thêm danh mục sản phẩm 77
Hình 4.22 Giao diện sửa danh mục sản phẩm 78
Hình 4.23 Giao diện danh sách thương hiệu 78
Hình 4.24 Giao diện thêm thương hiệu 79
Hình 4.25 Giao diện sửa thương hiệu 79
Hình 4.26 Giao diện danh sách sản phẩm tồn kho 80
Hình 4.27 Giao diện lịch sử phiếu nhập kho 80
Hình 4.28 Giao diện thông tin nhập kho 81
Hình 4.29 Giao diện danh sách khách hàng 81
Hình 4.30 Giao diện file excel xuất danh sách khách hàng 82
Hình 4.31 Giao diện danh sách tài khoản 83
Hình 4.32 Giao diện sửa đổi thông tin tài khoản 84
Hình 4.33 Giao diện danh sách bài viết 84
Hình 4.34 Giao diện thêm bài viết mới 85
Hình 4.35 Giao diện sửa bài viết 86
Hình 4.36 Giao diện quản lý thống kê 87
Trang 10TÓM TẮT ĐỒ ÁN
Đặt vấn đề:
Hiện nay, hầu hết tại các cửa hàng nước hoa đã sử dụng rộng rãi ứng dụngcông nghệ thông tin, giúp người dùng dễ dàng mua hàng, dễ dàng quản lý thông tincá nhân,… Bên cạnh đó, sự hỗ trợ mạnh mẽ của các ngôn ngữ lập trình, cùng với sựra đời của các framework đã thúc đẩy em chọn đề tài “Xây dựng website quản lýcửa hàng nước hoa” Với đề tài này, website sẽ cho phép người sử dụng thực hiệnmột cách nhanh chóng, chính xác việc tìm kiếm thông tin, loại nước hoa, giá cả vàtiến hành việc đặt hàng,… với giao diện làm việc thân thiện, tiện dụng với người sửdụng hệ thống, người tiêu dùng Sử dụng ngôn ngữ Javascript, PHP với hệ quản trịcơ sở dữ liệu MySQL làm đề tài cho môn này.
Mục tiêu nghiên cứu:
Xây dựng một website hỗ trợ mua bán nước hoa với nội dung phong phú,giao diện trực quan, thân thiện, màu sắc hài hòa, đáp ứng các chức năng cầnthiết của một website bán hàng trực tuyến
Xây dựng một website dành cho quản trị viên với các chức năng quản lýthông tin đa dạng, tiện dụng
Xây dựng báo cáo kinh doanh thông minh với bố cục rõ ràng, thông tin cụthể cho chủ cửa hàng.
Đối tượng sử dụng:
Người dùng khách. Người dùng có tài khoản. Quản trị viên.
Trang 11Phạm vi nghiên cứu:
Tập trung xây dựng hệ thống giúp người dùng đặt hàng trực tuyến và quản lýthông tin của các nước hoa Đề tài được xây dựng bởi các ngôn ngữ lập trình như:Javascript, HTML, CSS và sử dụng hệ quản trị cơ sở dữ liệu MySQL.
Sau đây, nhóm sẽ trình bày về phần mềm, quy trình thiết kế và cài đặt qua 5 phần: Chương 1: Giới thiệu đề tài: trình bày lý do chọn đề tài, mục đích, đối
tượng, phạm vi nghiên cứu của đề tài.
Chương 2: Nghiên cứu lý thuyết: trình bày cơ sở lý thuyết và phương pháp
nghiên cứu lý thuyết.
Chương 3: Phân tích hệ thống: phân tích yêu cầu hệ thống, sơ đồ phân rã
chức năng, phân tích thiết kế hệ thống.
Chương 4: Xây dựng website và kiểm thử: trình bày cách cài đặt, kết quả
chương trình, kiểm thử chương trình.
Kết luận: trình bày ưu điểm, hạn chế và hướng phát triển của ứng dụng.
Trang 12Chương 1 GIỚI THIỆU ĐỀ TÀI
1.1 Lý do chọn đề tài
Nước hoa là một sản phẩm chăm sóc cá nhân phổ biến và được sử dụng rộngrãi trên toàn thế giới Ngày nay, nước hoa không chỉ là một phụ kiện thời trang, màcòn là biểu tượng cá nhân, thể hiện cá tính và phong cách của mỗi người Nhưngviệc chọn cho mình lọ nước hoa ưng ý cả về bề ngoài cũng như chất lượng thườngtốn rất nhiều thời gian khi phải đến trực tiếp các cửa hàng mỹ phẩm truyền thống.Trong khi đó cuộc sống chúng ta ngày càng trở nên bận rộn và hình thức mua hàngonline đang dần trở thành xu hướng và đang dần thay thế kiểu mua hàng trực tiếp.Đây chính là cơ hội để đưa công nghệ thông tin vào lĩnh vực kinh doanh nói chungvà bán nước hoa nói riêng.
Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngàycàng trở nên một công cụ không thể thiếu, là nền tảng để truyền tải, trao đổi thôngtin trên toàn cầu Bằng Internet, chúng ta đã thực hiện được những công việc với tốcđộ nhanh hơn, chi phí thấp hơn so với cách thức truyền thống Trong hoạt động sảnxuất, kinh doanh, thương mại điện tử đã được khẳng định được xúc tiến và thúc đẩysự phát triển của doanh nghiệp Đối với một cửa hàng, việc quảng bá và giới thiệusản phẩm đến khách hàng đáp ứng nhu cầu mua sắm ngày càng cao của khách hànglà rất cần thiết.
Chính vì những ưu điểm trên của Internet là tốc độ, chi phí thấp kết hợp với
nhu cầu mua hàng online của thị trường, em quyết định chọn thực hiện đề tài Xây
dựng website quản lý cửa hàng nước hoa Cửa hàng có thể đưa các sản phẩm lên
website của mình và quản lý website đó, khách hàng có thể thỏa thích chọn lựa mẫumã, đặt mua hàng mà không cần đến cửa hàng, cửa hàng sẽ gửi sản phẩm đến tậntay khách hàng, đồng thời website là nơi giúp cửa hàng quảng bá tốt nhất các sảnphẩm mà mình bán ra.
Trang 131.2 Mục đích
Xây dựng một website hỗ trợ mua bán nước hoa với nội dung phong phú, giaodiện trực quan, thân thiện, màu sắc hài hòa, đáp ứng các chức năng cần thiết củamột website bán hàng trực tuyến.
Xây dựng một website dành cho quản trị viên với các chức năng quản lý thôngtin đa dạng, tiện dụng.
Xây dựng báo cáo kinh doanh thông minh với bố cục rõ ràng, thông tin cụ thểcho chủ cửa hàng.
1.3 Đối tượng
Người dùng khách. Người dùng có tài khoản. Quản trị viên (Admin).
Chức năng giỏ hàng, mua hàng, đơn hàng.
Chức năng đăng sản phẩm, xem đánh giá, cập nhật giao diện cửa hàng chongười bán hàng…
Chức năng quản lý đơn hàng: đơn hàng tại quầy, đơn hàng trực tuyến, lịch sửthanh toán,…
Chức năng quản lý sản phẩm: danh sách sản phẩm, danh mục sản phẩm,danh sách thương hiệu, hàng tồn kho, thẻ quà tặng,…
Trang 14 Chức năng quản lý tài khoản: quản trị viên, nhân viên, khách hàng. Chức năng quản lý bài viết.
Chức năng quản lý phiếu nhập kho.
Chức năng thông kê doanh thu: theo tuần, theo tháng, theo năm.
Tính năng nâng cao
Tìm kiếm sản phẩm hỗ trợ nhập liệu bằng giọng nói Đặt hàng tích hợp các cổng thanh toán MoMo và Vnpay. Hỗ trợ chatbox tư vấn
Gợi ý mua hàng bằng kỹ thuật lọc cộng tác (Collaborative Filtering).
Trang 15Chương 2 NGHIÊN CỨU LÝ THUYẾT
2.1.2 Công nghệ sử dụng
2.1.2.1 HTMLKhái niệm
HTML là từ viết tắt của Hypertext Markup Language (ngôn ngữ đánhdấu siêu văn bản) là đoạn code được dùng để tạo nên cấu trúc và nội dungcủa trang web.
HTML là cốt lõi của mọi trang web Mỗi trang web được tạo thành từmột loạt các thẻ HTML mà chúng biểu thị từng loại nội dung trên trang Mỗiloại nội dung trên trang được “bọc”, tức là được bao quanh bởi các thẻHTML HTML bao gồm một loạt các thẻ (elements) bọc nhau hoặc không đểnhằm mục đích xây dựng kết cấu trang web [1].
Ưu điểm:
Có nhiều tài nguyên hỗ trợ với cộng đồng người dùng vô cùng lớn. Có thể hoạt động mượt mà trên hầu hết mọi trình duyệt hiện nay. Học HTML khá đơn giản.
Sử dụng mã nguồn mở, hoàn toàn miễn phí. HTML là chuẩn web được vận hành bởi W3C.
Trang 16 Dễ dàng để tích hợp với các loại ngôn ngữ backend (ví dụ như: PHP,Node.js, …).
Nhược điểm:
Chỉ được áp dụng chủ yếu cho web tĩnh Nếu muốn tạo các tính năngđộng, lập trình viên phải dùng thêm JavaScript hoặc ngôn ngữ backendcủa bên thứ 3 (ví dụ như: PHP).
Mỗi trang HTML cần được tạo riêng biệt, ngay có khi có nhiều yếu tốtrùng lặp như header, footer.
Khó để kiểm soát cách đọc và hiển thị file HTML của trình duyệt (ví dụ,một số trình duyệt cũ không render được tag mới Do đó, dù trong HTMLdocument có sử dụng các tag này thì trình duyệt cũng không đọc được). Một vài trình duyệt còn chậm cập nhật để hỗ trợ tính năng mới của
2.1.2.2 CSS
Cũng giống như HTML, CSS không phải là một ngôn ngữ lập trình.CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ định dạng được sửdụng để mô tả trình bày các trang Web, bao gồm màu sắc, cách bố trí vàphông chữ Nó cho phép hiển thị nội dung tương thích trên các loại thiết bị cókích thước màn hình khác nhau, chẳng hạn như màn hình lớn hoặc màn hình
nhỏ Trong khi HTML là cấu trúc cơ bản của trang web CSS mang lại cho
trang web của bạn phong cách mà bạn muốn CSS gần như tạo nên bộ mặt củamột website[1].
2.1.2.3 Javascript
Javascript là một nền tảng (cross-platform), ngôn ngữ kịch bản hướngđối tượng (object-oriented) Nó là một ngôn ngữ nhỏ và nhẹ Chạy trong môitrường máy chủ lưu trữ (ví dụ: Trình duyệt web), JavaScript có thể được kếtnối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối
Trang 17JavaScript là ngôn ngữ lập trình dựa trên logic Nó có thể được sử dụngđể sửa đổi nội dung trang web Và khiến nó hoạt động theo nhiều cách khácnhau để đáp ứng với hành động của người dùng Các cách sử dụng phổ biếncho JavaScript bao gồm các hộp xác nhận, kêu gọi hành động và thêm cácdanh tính mới vào thông tin hiện có [5].
Là một thư viện lớn của javascript: Thực thi được nhiều chức năng hơnso với các thư viện javascript khác.
Cộng đồng mã nguồn mở mạnh mẽ (một số plugin jquery có sẵn): JQueryđang còn tương đối mới, có một cộng đồng dành thời gian của họ để pháttriển các plugin của JQuery Như vậy có hàng trăm plugin được viết trướcđó có sẵn để tải về ngay lập tức để đẩy nhanh quá trình viết code của bạn.Một lợi thế khác đằng sau này là hiệu quả và an toàn của các script. Có nhiều tài liệu và hướng dẫn chi tiết: Các trang web JQuery có một
toàn bộ tài liệu và hướng dẫn để ngay cả một người mới bắt đầu lập trìnhcũng có thể làm được quả bóng lăn với thư viện jquery này.
Hỗ trợ ajax: JQuery cho phép bạn phát triển các template Ajax một cáchdễ dàng Ajax cho phép một giao diện kiểu dáng đẹp trên website, cácchức năng có thể được thực hiện trên các trang mà không đòi hỏi toàn bộtrang được reload lại.
Trang 18Nhược điểm
Làm client trở nên chậm chạp: Client không những phải chỉ mình hiển thịnữa mà còn phải xử lý nhiều chức năng được tạo thành từ jquery Nếulạm dụng quá nhiều jquery sẽ làm cho client trở nên chậm chạp, đặc biệtnhững client yếu Chính vì vậy mà lập trình viên phải dùng thêm cache. Chức năng có thể không có: JQuery đã có rất nhiều chức năng, tùy thuộc
vào yêu cầu trên trang web của bạn Nhưng nhiều chức năng vẫn chưađược phát triển, do đó bạn vẫn phải sử dụng javascript thuần để xây dựngchức năng này.
2.1.2.5 PHP
Giới thiệu về PHP
PHP là từ viết tắt của thuật ngữ Personal Home Page Đây là mộtdạng mã lệnh hoặc một chuỗi ngôn ngữ kịch bản Trong đó, ngôn ngữ PHPchủ yếu được phát triển để dành cho những ứng dụng nằm trên máy chủ Mỗikhi các lập trình viên PHP viết các chương trình thì các chuỗi lệnh sẽ đượcchạy ở trên server, từ đó sinh ra mã HTML Nhờ vậy mà những ứng dụngtrên các website có thể chạy được một cách dễ dàng [3].
PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứngdụng Web, với cách viết mã rõ ràng, tốc độ nhanh, dễ học nên PHP đã trởthành một ngôn ngữ lập trình Web rất phổ biến và được ưa chuộng
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộngđồng và có sự đóng góp rất lớn của Zend Inc nên đã tạo ra một môi trườngchuyên nghiệp cho phép phát triển ứng dụng ở quy mô lớn.
Ưu điểm
PHP là một trong những ngôn ngữ lập trình phổ biến nhất vì nhữnglợi ích mà nó đem lại Về cơ bản, có 4 ưu điểm chính:
Trang 19 Tính đơn giản và linh động: PHP sử dụng mã nguồn mở nên việc cài đặtvà sử dụng nó rất dễ dàng Ngôn ngữ này phù hợp với cả những ngườihoàn toàn mới với nghề lập trình viên Bạn chỉ cần học chăm chỉ trong 3– 6 tháng để thuần thục nó.
Cộng đồng hỗ trợ lớn: PHP là một ngôn ngữ phổ biến nên các diễn đàn,đội nhóm chuyên sâu của PHP thuộc hàng ngũ đầu của ngành Bên cạnhđó, thị trường tuyển dụng cho công việc này cũng chưa bao giờ giảmnhiệt.
CSDL đa dạng: PHP cho phép kết nối với hầu hết các loại CSDL nhưMySQL, MS-SQL, SQLite, PostgreSQL,v.v Nhờ vậy, bạn sẽ không bịgiới hạn và có thể chọn CSDL tối ưu nhất cho ứng dụng của mình.
Thư viện phong phú: Nhiều sách hướng dẫn và các tài liệu tham khảo cósẵn, cung cấp các kiến thức hữu ích cho các lập trình viên mới làm quendần.
Nhược điểm
Mặc dù ngôn ngữ lập trình PHP hữu ích cho việc phát triển web,nhưng nó cũng có một số nhược điểm nhất định Trong đó, hạn chế lớn nhấtcó thể kể đến chính là lỗi bảo mật đến từ hai nguyên do chính:
Bản chất mã nguồn PHP: Ngôn ngữ PHP có mã nguồn mở Điều này cónghĩa là các lỗ hổng của mã nguồn sẽ bị công khai ngay sau khi chúngđược tìm thấy Do đó, trước khi kịp sửa chữa, các lỗ hổng có thể bị khaithác cho các mục đích xấu.
Một số ứng dụng bằng ngôn ngữ PHP được thiết kế bởi người thiếu kinhnghiệm: Bởi PHP phù hợp với lập trình viên mới vào nghề Cho nên mộtsố trang web và ứng dụng được phát triển bởi những người còn thiếu kinhnghiệm cũng sẽ đem đến hiệu suất và bảo mật kém hơn [3].
Trang 202.1.2.6 MySQL
Giới thiệu về MySQL
MySQL chính là hệ quản trị cơ sở dữ liệu mã nguồn mở RelationalDatabase Management System – RDBMS vào thời điểm hiện tại được dùngphổ biến trên phạm vi toàn cầu Hệ quản trị cơ sở dữ liệu này hoạt động dựatrên mô hình chuẩn mực là Client (Máy khách) – Server (Máy chủ) [4]
Cơ chế hoạt động của MySQL
MySQL tạo ra bảng dữ liệu để có thể lưu trữ dữ liệu và định nghĩa về sựliên quan giữa những bảng đó.
Client sẽ trực tiếp gửi yêu cầu SQL bằng 1 lệnh đặc biệt có trên MySQL. Ứng dụng tại server sẽ tiến hành phản hồi thông tin cũng như trả về
những kết quả trên máy client.
Ưu điểm
Dễ dàng sử dụng: MySQL đang là CSDL dễ sử dụng, ổn định, tốc độ caovà hoạt động trên rất nhiều những hệ điều hành đang cung cấp 1 hệ thốnglớn những hàm tiện ích rất mạnh.
Nhanh chóng: Việc công bố một vài chuẩn mực cho phép MySQL để làmviệc rất chi là hiệu quả & tiết kiệm khoản chi, vì lẽ đó nó làm tăng tốc độthực thi.
Khả năng mở rộng và mãnh liệt: MySQL có thể xử lý rất nhiều dữ liệu vàđặc biệt nó có thể được mở rộng nếu quan trọng.
Đa tính năng: Ưu điểm MySQL là gì? MySQL hiện đang hỗ trợ nhiềunhững chức năng SQL rất được mong chờ từ 1 hệ quản trị CSDL quan hệcả gián tiếp cũng như trực tiếp.
Độ bảo mật cao: MySQL rất thích hợp cho các phần mềm có truy cậpCSDL trên Internet khi sở hữu nhiều nhiều chức năng bảo mật thậm chílà ở cấp cao.
Trang 21Nhược điểm
Giới hạn: Theo thiết kế, MySQL không có ý định làm toàn bộ & nó đikèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần. Độ tin cậy: Nhược điểm MySQL là gì? Theo đó cách thức nhận chức
năng cụ thể đang được xử lý cùng với MySQL (ví dụ như kiểm toán,những giao dịch, tài liệu tham khảo, …) khiến cho nó trở nên kém tin cậyhơn một số những hệ quản trị về CSDL có quan hệ khác
Dung lượng hạn chế: Trong trường hợp nếu như số lượng bản ghi của bạnđang lớn dần lên thì khi đó quá trình truy xuất dữ liệu sẽ diễn ra vô cùngkhó khăn Như vậy cần phải áp dụng rất nhiều những biện pháp khácnhau để có thể gia tăng được tốc độ truy xuất những dữ liệu ví dụ như tạocache MySQL hoặc chia tải database ra nhiều server [4]
2.1.2.7 Gợi ý sản phẩm liên quan sử dụng kỹ thuật lọc cộng tác Khái niệm lọc cộng tác
Lọc cộng tác (Collaborative Filtering) là một phương pháp trong lĩnhvực web bán hàng nhằm gợi ý sản phẩm cho người dùng dựa trên thông tinvà hành vi của những người dùng khác Phương pháp này đánh giá sự tươngđồng hoặc sự khác biệt giữa các người dùng hoặc sản phẩm để xác định cácgợi ý phù hợp
Vai trò của lọc cộng tác trong website bán hàng
Đầu tiên, lọc cộng tác giúp cải thiện trải nghiệm mua hàng của ngườidùng bằng cách cung cấp gợi ý sản phẩm cá nhân hóa dựa trên sở thích vàhành vi của họ
Thứ hai, lọc cộng tác tăng cơ hội khám phá sản phẩm cho người dùng.Bằng cách gợi ý các sản phẩm tương tự hoặc được mua bởi người dùng khác
Trang 22có sở thích tương đồng, lọc cộng tác mở rộng tầm nhìn mua sắm của ngườidùng và giúp họ khám phá những sản phẩm mới mà họ có thể chưa biết.
Cuối cùng, lọc cộng tác tăng độ chính xác của gợi ý sản phẩm Bằngcách đánh giá độ tương đồng giữa các người dùng hoặc sản phẩm, lọc cộngtác có khả năng dự đoán sở thích của người dùng và cung cấp những gợi ýphù hợp Điều này giúp giảm thiểu các gợi ý không phù hợp và tăng khảnăng người dùng sẽ quan tâm và mua sản phẩm được gợi ý.
Áp dụng độ tương đồng Cosin trong lọc cộng tác
Độ tương đồng cosin là một phép đo độ tương đồng được sử dụng phổbiến trong lọc cộng tác Nó đo lường sự tương đồng giữa hai vector trongkhông gian nhiều chiều, được áp dụng để đo độ tương đồng giữa các ngườidùng hoặc các sản phẩm trong lọc cộng tác website bán hàng.
Để tính toán độ tương đồng cosin, ta sử dụng vector biểu diễn sở thíchhoặc đánh giá của người dùng Mỗi người dùng được biểu diễn bằng mộtvector số, trong đó mỗi thành phần của vector tương ứng với sở thích hoặcđánh giá của người dùng đối với một thuộc tính hay một sản phẩm cụ thể.
Cách tính toán độ tương đồng cosin được thực hiện bằng cách đo độgóc giữa hai vector sở thích hoặc đánh giá của các người dùng Công thứctính toán độ tương đồng cosin giữa hai vector A và B được biểu diễn nhưsau:
Trong đó (A • B) đại diện cho tích vô hướng của hai vector A và B và(||A|| * ||B||) đại diện cho tích của độ dài Euclide của hai vector A và B Kếtquả của công thức này là một giá trị trong khoảng từ -1 đến 1, trong đó giá trị
Trang 231 tương ứng với độ tương đồng hoàn toàn và giá trị -1 tương ứng với độ khácbiệt hoàn toàn.
Công thức tính toán độ tương đồng cosin được áp dụng để đo độtương đồng giữa các người dùng hoặc các sản phẩm Các người dùng hoặccác sản phẩm có độ tương đồng cosin cao sẽ được coi là có sự tương đồngtrong sở thích hoặc đặc điểm, và có thể được sử dụng để gợi ý các sản phẩmtương tự cho người dùng hoặc tìm kiếm các người dùng có sở thích tương tựcho một sản phẩm cụ thể.
Tích hợp lọc cộng tác vào hệ thống
Các bước tính toán độ tương đồng cosin áp dụng cho chức năng gợi ý sảnphẩm yêu thích cho hệ thống bán nước hoa:
Bước 1: Thu thập dữ liệu sở thích:
Thu thập thông tin về sở thích của người dùng dựa vào lịch sử mua hàngcủa người dùng.
Bước 2: Xây dựng vector biểu diễn người dùng:
Mỗi người dùng được biểu diễn bằng một vector số, trong đó mỗithành phần của vector tương ứng với sở thích của người dùng đối vớimột thuộc tính hoặc một sản phẩm cụ thể.
Ví dụ, nếu có một danh sách các thuộc tính như giá, thương hiệu, loạisản phẩm, người dùng A có thể có vector biểu diễn là [3, 4, 2], trongđó 3 là sở thích về giá, 4 là sở thích về thương hiệu và 2 là sở thích vềloại sản phẩm.
Bước 3: Tính toán độ tương đồng cosin:
Với mỗi cặp người dùng, tính toán độ tương đồng cosin bằng cách sửdụng công thức như đã trình bày ở phần trước.
Kết quả của quá trình tính toán là một giá trị độ tương đồng cosin từ 1 đến 1, đại diện cho mức độ tương đồng giữa các người dùng.
- Bước 4: Gợi ý sản phẩm cho người dùng:
Trang 24 Dựa trên độ tương đồng cosin, chọn ra các người dùng có độ tươngđồng cao nhất với người dùng hiện tại.
Xem xét sản phẩm mà các người dùng tương đồng đã mua hoặc đánhgiá cao.
Gợi ý những sản phẩm tương tự cho người dùng hiện tại dựa trên sựtương đồng với những người dùng khác đối với những sản phẩm đó.
Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảocác đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế websitemột cách nhanh chóng Visual Studio Code hay còn được viết tắt là VSCode Trình soạ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ươngthí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ụngdễ dàng.
Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm vớiGit, 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, VisualStudio Code cũng cho 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 khá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ác tính năng mạnh mẽ.
Trang 25Lý do nên dùng visual studio code
IntelliSense: đây là một tính năng nhắc lệnh và hoàn thành đoạn code cựckì hay và hữu ích Nó giúp người code tiết kiệm được thời gian và giảmthiểu việc sai chính tả Điều này giúp việc code trở nên nhanh hơn cho cảngười mới học và cả những lập trình viên lâu năm.
Cho phép sử dụng plug – in hoặc thư viện bên thứ ba.
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.
Ngoài ra còn có các tính năng khác như: Exploder, Search, Run anddebug, Extensions,…
2.1.3.2 XAMPP
Giới thiệu về Xampp
XamPP hoạt động dựa trên sự tích hợp của 5 phần mềm chính là Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P) , nên tên gọiXamPP là viết tắt của 5 phần mềm này:
Cross- Chữ X đầu tiên là viết tắt của hệ điều hành mà nó hoạt động với Linux,Windows và Mac OS X.
Apache: Web Server mã nguồn mở Apache là máy chủ được sử dụngrộng rãi nhất trên toàn thế giới để phân phối nội dung Web Ứng dụngđược cung cấp dưới dạng phần mềm miễn phí bởi Apache SoftwareFoundation.
MySQL / MariaDB: Trong MySQL, XAMPP chứa một trong những hệquản trị cơ sở dữ liệu quan hệ phổ biến nhất trên thế giới Kết hợp vớiWeb Server Apache và ngôn ngữ lập trình PHP, MySQL cung cấp khảnăng lưu trữ dữ liệu cho các dịch vụ Web Các phiên bản XAMPP hiệntại đã thay thế MySQL bằng MariaDB (một nhánh của dự án MySQL docộng đồng phát triển, được thực hiện bởi các nhà phát triển ban đầu).
Trang 26 PHP: Ngôn ngữ lập trình phía máy chủ PHP cho phép người dùng tạo cáctrang Web hoặc ứng dụng động PHP có thể được cài đặt trên tất cả cácnền tảng và hỗ trợ một số hệ thống cơ sở dữ liệu đa dạng.
Perl: Ngôn ngữ kịch bản Perl được sử dụng trong quản trị hệ thống, pháttriển Web và lập trình mạng Giống như PHP, Perl cũng cho phép ngườidùng lập trình các ứng dụng Web động.
XamPP được sử dụng cho mục đích nghiên cứu, phát triển website quaLocalhost của máy tính cá nhân.
Lý do nên dùng Xampp
XamPP có thể chạy được trên tất cả các hệ điều hành.
XamPP có cấu hình đơn giản cũng như nhiều chức năng hữu ích chongười dùng.
XamPP tích hợp nhiều thành phần với các tính năng: Apache.
PHP (tạo môi trường chạy các tập tin script *.php). MySql (hệ quản trị cơ sở dữ liệu mysql).
2.2 Phương pháp nghiên cứu
Người dùng không cần phải đi ra ngoài mua, thuận tiện, tiết kiệm thời gian,chi phí.
2.2.2 Phương pháp thực hiện
Phân tích nhu cầu sử dụng của đối tượng người dùng.
Trang 27 Tiến hành nghiên cứu thiết kế giao diện cho ứng dụng trên 2 nền tảng là webvà mobile
Tiến hành triển khai và kiểm thử ứng dụng
2.2.3 Phương pháp tài liệu
Nghiên cứu các tài liệu liên quan đến các nội dung nghiên cứu: Tài liệu về cácngôn ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu, các nhu cầu của người dùng,tài liệu về thông tin các nước hoa.
Trang 28Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
đó khách hàng có thể chọn nút “Thêm vào giỏ hàng” để đưa sản phẩm vào giỏhàng của mình hoặc khách hàng có thể chọn nút “Mua ngay” để tới luôn trang
giỏ hàng, giỏ hàng chỉ đơn giản là danh sách các sản phẩm bao gồm những thôngtin như mã sản phẩm, tên sản phẩm, đơn giá, số lượng, thành tiền.
Các giỏ hàng thường cung cấp các tùy chọn số lượng sản phẩm hoặc xóa mộtsản phẩm khỏi giỏ hàng.
Ngay sau khi khách hàng có tất cả các sản phẩm cần mua, khách hàng có thể
chọn nút “Đặt Hàng” Ở đây để mua hàng khách hàng buộc phải đăng nhập.
Trang đơn hàng này gồm có thông tin về khách hàng (họ tên, email, số điệnthoại, địa chỉ giao hàng…), phương thức thanh toán (chuyển khoản, thanh toántiền trực tuyến) hoặc thanh toán khi giao hàng, sau cùng là thông tin về giỏ hàng(tên sản phẩm, hình ảnh, đơn giá, số lượng, thành tiền).
Sau khi khách hàng đã điền đầy đủ thông tin thì chọn nút “Tiến hành đặt
hàng” để hoàn tất quá trình mua hàng.
Trang 293.1.2 Dành cho quản trị viên
Website cung cấp cho nhân viên hệ thống giao diện dùng để quản trị cácthông tin như sản phẩm, đơn hàng, khách hàng, thương hiệu, tài khoản, tin tức,góp ý, thống kê…
Tùy vào quyền hạn của mỗi nhân viên mà chức năng của mỗi người khácnhau Chỉ có thể cập nhật (phân quyền) được các tài khoản khi tài khoản ở mứcquyền cao nhất.
3.2 Phân tích yêu cầu hệ thống
3.2.1 Yêu cầu chức năng
Danh sách các Actor
Bảng 3.1 Danh sách các Actor
1 Khách hàng tiềm năng
Là những người truy cập vào website mà chưa có tài khoản.
2 Khách hàng Là những người truy cập vào website mà đã có tài khoản, có thể đặt mua sản phẩm.
3 Nhân viên Là những nhân viên quản lý của cửa hàng.4 Quản trị viên Chủ cửa hàng, quản lý toàn bộ hệ thống website.
Danh sách các Use-case
Trang 30Bảng 3.2 Danh sách các Use-case
1 Use – Case tổng quát Tổng quát hóa toàn bộ quá trình của hệ thống.2 Use – Case đăng
Trang 31Hình 3.1 Use-case Tổng quát
Trang 32Use-case Đăng nhập, đăng ký
Hình 3.2 Use-case Đăng nhập, đăng ký
Use-case Mua sản phẩm
Hình 3.3 Use-case Mua sản phẩm
Trang 33Use-case Quản lý sản phẩm
Hình 3.4 Use-case Quản lý sản phẩm
Use-case Quản lý đơn hàng
Hình 3.5 Use-case Quản lý đơn hàng
Mô tả Use-case
Trang 34Bảng 3.3 Mô tả use case
1 UC1 Xem sản phẩm Cho phép khách hàng, khách hàng thànhviên và quản trị viên đều được phép xemthông tin sản phẩm.
2 UC2 Xem trang chủ Cho phép khách hàng, khách hàng thànhviên và quản trị viên đều được phép xemgiao diện của trang chủ.
5 UC5 Đăng nhập Để khách hàng, quản trị viên có thể đăngnhập vào trang quản trị riêng của mình(mỗi actor sẽ có 1 giao diện quản trị riêngvà quyền hạn khác nhau).
giỏ hàng
Người dùng có thể thêm vào giỏ hàng vàxem được giỏ hàng mình đã chọn muađược những gì trước khi tiến hành thanhtoán.
7 UC7 Thanh toán Người dùng sau khi nhập thông tin thanhtoán, thì có thể lựa chọn được hình thứcthanh toán mỗi đơn hàng thanh toán.
Trang 3512 UC12 Xem báo cáo Quản trị viên có thể xem báo cáo doanhthu theo khoảng thời gian nhất định.
13 UC13 Tạo vận đơn Với mỗi đơn hàng trên hệ thống, quản trịviên có thể tạo liên kết với 1 kênh vậnchuyển và tạo đơn hàng.
thái đơn hàng
Quản trị viên có thể cập nhật trang tháicủa đơn hàng (đã xử lý, đang xử lý, chờvận chuyển,…) với mỗi đơn hàng thuộc hệthống của họ.
15 UC15 Tạo sản phẩm Quản trị viên có thể thêm sản phẩm trêngian hàng của mình.
16 UC16 Sửa sản phẩm Quản trị viên có thể sửa sản phẩm trêngian hàng của mình.
17 UC17 Xóa sản phẩm Quản trị viên có thể xóa sản phẩm trêngian hàng của mình.
18 UC18 Lọc đơn hàng Merchant có thể lọc các đơn hàng theongày, theo tuần,… trên gian hàng củamình.
19 UC19 Xem đánh giá Merchant có thể xem các đánh giá củakhách hàng về các sản phẩm trên trangquản trị của họ.
Trang 37Bảng 3.5 Use-case Xem trang chủ
3 Truyền vào dữ liệu trang chủ cần lấy.4 Hệ thống trả về giao diện trang chủ.
Pre-Condition Người dùng không cần đăng nhập vào website.
Post-Condition Thực hiện thành công người dùng sẽ vào được trang chủ
của website.
Trang 38
Bảng 3.6 Use-case Tìm sản phẩm theo danh mục
Pre-Condition Người dùng không cần đăng nhập vào website.
Post-Condition Thực hiện thành công người dùng sẽ tìm được sản phẩm.
Extension Points Không.
Trang 39Bảng 3.7 Use-case Đăng ký khách hàng thành viên
3 Khách hàng nhập thông tin vào form đăng ký.4 Nhấn nút đăng ký.
5 Hệ thống báo kết quả quá trình nhập thông tin cá nhân.Nếu thông tin đăng nhập không chính xác thì thực hiệnluồng rẽ nhánh A1 Nếu nhập chính xác thì tiếp tục.6 Hệ thống cập nhật thông tin cá nhân khách hàng vào
danh sách thành viên.7 UC kết thúc.
Alternative Flow Không.
Requirement
Pre-Condition Khách hàng không cần đăng nhập vào website.
Post-Condition Thực hiện thành công khách hàng sẽ trở thành viên của hệ
Extension Points Không.
Trang 402 Form đăng nhập hiển thị.
3 Khách hàng nhập thông tin vào form đăng nhập.4 Nhấn nút đăng nhập.
5 Hệ thống báo kết quả quá trình nhập thông tin cá nhân.Nếu thông tin đăng nhập không chính xác thì thực hiệnluồng rẽ nhánh A1 Nếu nhập chính xác thì tiếp tục.6 Hệ thống cập nhật thông tin cá nhân khách hàng vào
danh sách thành viên.7 UC kết thúc.
Alternative Flow Không.Special
Requirement
Pre-Condition Người dùng không cần đăng nhập vào website.
Post-Condition Thực hiện thành công người dùng đăng nhập thành công
vào hệ thống.
Extension Points Không.