Tải bản đầy đủ (.docx) (102 trang)

đồ án 2 xây dựng website quản lý cửa hàng nước hoa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.98 MB, 102 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN</b>

<b>MSSV: 20520311Mã lớp: SE122.O11</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI CẢM ƠN</b>

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.

Để hồ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 q báu khơng chỉ trong qtrì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àhồ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

<b>Huỳnh Tiến Thịnh</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

3.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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

4.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 tố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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Bả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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Hì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 tố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

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hì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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>TÓM TẮT ĐỒ ÁN</b>

<b>Đặt vấn đề:</b>

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.

<b>Mục tiêu nghiên cứu:</b>

 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.

<b>Đối tượng sử dụng:</b>

 Người dùng khách. Người dùng có tài khoản. Quản trị viên.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Phạm vi nghiên cứu:</b>

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: <b>Chương 1: Giới thiệu đề tài: trình bày lý do chọn đề tài, mục đích, đối</b>

tượng, phạm vi nghiên cứu của đề tài.

 <b>Chương 2: Nghiên cứu lý thuyết: trình bày cơ sở lý thuyết và phương pháp</b>

nghiên cứu lý thuyết.

 <b>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ã</b>

chức năng, phân tích thiết kế hệ thống.

 <b>Chương 4: Xây dựng website và kiểm thử: trình bày cách cài đặt, kết quả</b>

chương trình, kiểm thử chương trình.

 <b>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.</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>Chương 1. GIỚI THIỆU ĐỀ TÀI</b>

<b>1.1. Lý do chọn đề tài</b>

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 tồ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

<b>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</b>

<b>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</b>

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.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>1.2. Mục đích</b>

 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.

<b>1.3. Đối tượng</b>

 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,…

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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.

<b>Tính năng nâng cao</b>

 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 tố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).

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>Chương 2. NGHIÊN CỨU LÝ THUYẾT</b>

<b>2.1.2. Công nghệ sử dụng</b>

<b>2.1.2.1. HTMLKhái niệm</b>

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].

<b>Ưu điểm:</b>

 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ở, hồn tồn miễn phí. HTML là chuẩn web được vận hành bởi W3C.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

 Dễ dàng để tích hợp với các loại ngơn ngữ backend (ví dụ như: PHP,Node.js, …).

<b>Nhược điểm:</b>

 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 số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

<b>2.1.2.2. CSS</b>

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

<b>nhỏ. Trong khi HTML là cấu trúc cơ bản của trang web. CSS mang lại cho</b>

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].

<b>2.1.2.3. Javascript</b>

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 sốt chương trình đối

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

JavaScript 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

tồ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 tồn bộtrang được reload lại.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Nhược điểm</b>

 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.

<b>2.1.2.5. PHP</b>

<b>Giới thiệu về PHP</b>

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.

<b>Ưu điểm</b>

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:

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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ườihồn tồ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 chun 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.

<b>Nhược điểm</b>

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].

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>2.1.2.6. MySQL</b>

<b>Giới thiệu về MySQL</b>

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].

<b>Cơ chế hoạt động của MySQL</b>

 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.

<b>Ưu điểm</b>

 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.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>Nhược điểm</b>

 Giới hạn: Theo thiết kế, MySQL khơng có ý định làm tồ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 tố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 đó q 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].

<b>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 </b>

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.

<b>Vai trò của lọc cộng tác trong website bán hàng</b>

Đầ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

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

có 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ự đố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 ý.

<b>Áp dụng độ tương đồng Cosin trong lọc cộng tác</b>

Độ 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 tố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 tố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 tố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ị

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

1 tương ứng với độ tương đồng hoàn toàn và giá trị -1 tương ứng với độ khácbiệt hồn tồn.

Cơng thức tính tố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ể.

<b>Tích hợp lọc cộng tác vào hệ thống </b>

Các bước tính tố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 tốn độ tương đồng cosin:

 Với mỗi cặp người dùng, tính tố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 q 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:

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="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ẽ.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>Lý do nên dùng visual studio code</b>

 IntelliSense: đây là một tính năng nhắc lệnh và hồ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.

 Ngồi ra cịn có các tính năng khác như: Exploder, Search, Run anddebug, Extensions,…

<b>2.1.3.2. XAMPP</b>

<b>Giới thiệu về Xampp</b>

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).

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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.

<b>Lý do nên dùng Xampp</b>

 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).

<b>2.2. Phương pháp nghiên cứu</b>

 Người dùng không cần phải đi ra ngồi mua, thuận tiện, tiết kiệm thời gian,chi phí.

<b>2.2.2. Phương pháp thực hiện</b>

 Phân tích nhu cầu sử dụng của đối tượng người dùng.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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.

<b>2.2.3. Phương pháp tài liệu</b>

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.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG</b>

<i><b>đó 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</b></i>

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ể

<i><b>chọn nút “Đặt Hàng”. Ở đây để mua hàng khách hàng buộc phải đăng nhập.</b></i>

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).

<i><b>Sau khi khách hàng đã điền đầy đủ thơng tin thì chọn nút “Tiến hành đặt</b></i>

<i><b>hàng” để hồn tất q trình mua hàng.</b></i>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>3.1.2. Dành cho quản trị viên</b>

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.

<b>3.2. Phân tích yêu cầu hệ thống</b>

<b>3.2.1. Yêu cầu chức năng</b>

<b>Danh sách các Actor</b>

<i>Bảng 3.1. Danh sách các Actor</i>

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.

<b>Danh sách các Use-case</b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<i>Bảng 3.2. Danh sách các Use-case</i>

1 Use – Case tổng qt Tổng qt hóa tồn bộ q trình của hệ thống.2 Use – Case đăng

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<i>Hình 3.1. Use-case Tổng quát</i>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<b>Use-case Đăng nhập, đăng ký</b>

<i>Hình 3.2. Use-case Đăng nhập, đăng ký</i>

<b>Use-case Mua sản phẩm</b>

<i>Hình 3.3. Use-case Mua sản phẩm</i>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<b>Use-case Quản lý sản phẩm</b>

<i>Hình 3.4. Use-case Quản lý sản phẩm</i>

<b>Use-case Quản lý đơn hàng</b>

<i>Hình 3.5. Use-case Quản lý đơn hàng</i>

<b>Mô tả Use-case</b>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<i>Bảng 3.3. Mô tả use case</i>

<b>1</b> 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.

<b>2</b> 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ủ.

<b>5</b> 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 thanhtốn.

<b>7</b> UC7 Thanh tốn Người dùng sau khi nhập thơng tin thanhtốn, thì có thể lựa chọn được hình thứcthanh toán mỗi đơn hàng thanh toán.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>12</b> 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.

<b>13</b> 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ọ.

<b>15</b> 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.

<b>16</b> 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.

<b>17</b> 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.

<b>18</b> 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.

<b>19</b> 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ọ.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

<i> Bảng 3.5. Use-case Xem trang chủ</i>

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ủ.

<b>Pre-Condition </b> Người dùng không cần đăng nhập vào website.

<b>Post-Condition</b> <sup>Thực hiện thành công người dùng sẽ vào được trang chủ</sup>

của website.

<i> </i>

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<i>Bảng 3.6. Use-case Tìm sản phẩm theo danh mục</i>

<b>Pre-Condition </b> <sup>Người dùng không cần đăng nhập vào website.</sup>

<b>Post-Condition</b> Thực hiện thành cơng người dùng sẽ tìm được sản phẩm.

<b>Extension Points </b> Không.

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<i> Bảng 3.7. Use-case Đăng ký khách hàng thành viên</i>

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ả q 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.

<b>Alternative Flow </b> Không.

<b>Requirement </b>

<b>Pre-Condition </b> Khách hàng không cần đăng nhập vào website.

<b>Post-Condition</b> <sup>Thực hiện thành công khách hàng sẽ trở thành viên của hệ</sup>

<b>Extension Points </b> Không.

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

2. 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ả q 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.

<b>Alternative Flow Không.Special</b>

<b>Requirement </b>

<b>Pre-Condition </b> Người dùng không cần đăng nhập vào website.

<b>Post-Condition</b> <sup>Thực hiện thành công người dùng đăng nhập thành công</sup>

vào hệ thống.

<b>Extension Points Không.</b>

</div>

×