đồ án 2 xây dựng website bán hàng và áp dụng thuật toán hamming distance để gợi ý sản phẩm

84 2 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 2 xây dựng website bán hàng và áp dụng thuật toán hamming distance để gợi ý sản phẩm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

• Tìm hiểu và vận dụng thuật toán Hamming Distance để gợi ý, lựa chọn các sản phẩm theo nhu cầu của khách hàng • Khảo sát thực trạng quản lý bán hàng của các cửa hàng hiện nay • Phân

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình hoàn thành đồ án.

Thành phố Hồ Chí Minh, ngày 27 tháng 12 năm 2023

Trang 3

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu của đề tài 2

1.3 Giới hạn và phạm vi của đề tài 2

1.4 Kết quả dự kiến đạt được 2

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 3

2.1 Kiến thức về Hamming Distance 3

2.1.1 Giới thiệu về thuật toán Hamming Distance 3

2.1.2 Hamming Distance trong Laravel 6

2.2 Ngôn ngữ lập trình PHP và Framework Laravel 7

2.2.1 Ngôn ngữ PHP 7

2.2.2 Framework Laravel 8

2.3 Mô hình MVC 11

2.4 Hệ quản trị cơ sở dữ liệu MySQL 12

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 13

CHƯƠNG 4: GIAO DIỆN PHẦN MỀM 67

4.1 Giao diện quản trị 67

4.1.1 Giao diện đăng nhập 67

4.1.2 Giao diện quản lý danh mục sản phẩm 67

Trang 4

4.1.3 Giao diện quản lý sản phẩm 68

4.1.4 Giao diện thêm sản phẩm 68

4.1.5 Giao diện cập nhật sản phẩm 69

4.1.6 Giao diện quản lý đơn hàng 69

4.1.7 Giao diện quản lý khách hàng 70

4.1.8 Giao diện quản lý bài viết 70

4.2 Giao diện người dùng 71

4.2.1 Giao diện đăng nhập 71

4.2.2 Giao diện đăng ký 71

4.2.3 Giao diện trang chủ 72

4.2.4 Giao diện xem chi tiết sản phẩm 72

4.2.5 Giao diện giỏ hàng 73

4.2.6 Giao diện đặt hàng 73

4.2.7 Giao diện xem chi tiết đơn hàng 74

4.2.8 Giao diện đánh giá sản phẩm 74

Trang 5

Hình 3.4 Use Case của tác nhân KHACHHANG 16

Hình 3.5 Use Case Quản lý danh mục sản phẩm 19

Hình 3.6 Use Case Quản lý sản phẩm 22

Hình 3.7 Use Case Quản lý đơn hàng 24

Hình 3.8 Use Case Quản lý bài viết 27

Hình 3.9 Use Case Quản lý khách hàng 29

Hình 3.10 Use Case Quản lý tài khoản 31

Hình 3.11 Use Case Quản lý kho 33

Hình 3.12 Biểu đồ hoạt động đăng nhập 36

Hình 3.13 Biểu đồ hoạt động đăng ký 37

Hình 3.14 Biểu đồ hoạt động xem danh sách sản phẩm 38

Hình 3.15 Biểu đồ hoạt động thêm sản phẩm 39

Hình 3.16 Biểu đồ hoạt động cập nhật sản phẩm 40

Hình 3.17 Biểu đồ hoạt động xóa sản phẩm 41

Hình 3.18 Biểu đồ hoạt động gợi ý sản phẩm 42

Hình 3.19 Biểu đồ hoạt động thêm sản phẩm vào giỏ hàng 43

Hình 3.20 Biểu đồ hoạt động cập nhật sản phẩm vào giỏ hàng 44

Hình 3.21 Biểu đồ hoạt động xóa sản phẩm trong giỏ hàng 45

Hình 3.24 Biểu đồ hoạt động thêm khách hàng 46

Trang 6

Hình 3.25 Biểu đồ hoạt động cập nhật khách hàng 47

Hình 3 26 Biểu đồ hoạt động xóa khách hàng 48

Hình 3.27 Biểu đồ hoạt động cập nhật trạng thái đơn hàng 49

Hình 3.28 Biểu đồ tuần tự đăng nhập 50

Hình 3.29 Biểu đồ tuần tự đăng ký 51

Hình 3.30 Biểu đồ tuần tự xem danh sách sản phẩm 51

Hình 3.31 Biểu đồ tuần tự thêm sản phẩm 52

Hình 3.32 Biểu đồ tuần tự cập nhật sản phẩm 53

Hình 3.33 Biểu đồ tuần tự xóa sản phẩm 54

Hình 3.34 Biểu đồ tuần tự tìm kiếm sản phẩm 55

Hình 4.1 Giao diện đăng nhập (quản trị) 67

Hình 4.2 Giao diện quản lý danh mục sản phẩm 67

Hình 4.3 Giao diện quản lý sản phẩm 68

Hình 4.4 Giao diện thêm sản phẩm 68

Hình 4.5 Giao diện cập nhật sản phẩm 69

Hình 4.6 Giao diện quản lý đơn hàng 69

Hình 4.7 Giao diện quản lý khách hàng 70

Hình 4.8 Giao diện quản lý bài viết 70

Hình 4.9 Giao diện đăng nhập (người dùng) 71

Hình 4.10 Giao diện đăng ký 71

Hình 4 11 Giao diện trang chủ 72

Hình 4.12 Giao diện xem chi tiết sản phẩm 72

Trang 7

Hình 4.13 Giao diện giỏ hàng 73

Hình 4.14 Giao diện đặt hàng 73

Hình 4.15 Giao diện xem chi tiết đơn hàng 74

Hình 4.16 Giao diện đánh giá sản phẩm 74

Trang 9

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Lý do chọn đề tài

Một trong những lý do quan trọng nhất là xu hướng ngày càng gia tăng của thị trường thương mại điện tử Với sự phát triển mạnh mẽ của công nghệ, người tiêu dùng ngày càng chuyển sang mua sắm trực tuyến để tiết kiệm thời gian và có trải nghiệm mua sắm thuận tiện hơn Do đó, xây dựng một website bán hàng đáp ứng được nhu cầu ngày càng cao của khách hàng là một ưu tiên quan trọng

Trong bối cảnh này, việc áp dụng thuật toán Hamming distance để gợi ý sản phẩm trở nên hết sức quan trọng và có ý nghĩa Thuật toán này, ban đầu được phát triển trong lĩnh vực toán học và khoa học máy tính, nay được chú ý vì khả năng tìm kiếm dựa trên đặc tính tương đồng Việc áp dụng Hamming distance vào hệ thống gợi ý sản phẩm giúp tối ưu hóa trải nghiệm người dùng bằng cách đề xuất những sản phẩm có đặc điểm tương tự với những sản phẩm mà khách hàng quan tâm

Bên cạnh đó, sự cạnh tranh cao trong thị trường thương mại điện tử đặt ra thách thức về việc phải cung cấp trải nghiệm mua sắm cá nhân hóa và khác biệt Việc sử dụng Hamming distance không chỉ là một cách tiếp cận tiên tiến mà còn mang lại lợi ích lớn về khả năng tùy chỉnh và hiệu suất gợi ý

Cuối cùng, dự án này không chỉ là một cơ hội để áp dụng kiến thức chuyên sâu về lập trình và thuật toán mà còn mang lại giá trị thực tế cao, cung cấp một hệ thống mua sắm trực tuyến hiện đại và thông minh Sự kết hợp giữa xây dựng website bán hàng và áp dụng thuật toán Hamming distance hứa hẹn mang lại sự đổi mới và nâng cao chất lượng trong lĩnh vực thương mại điện tử ngày nay

Tóm lại, em chọn đề tài "Xây dựng website bán hàng và áp dụng thuật toán Hamming distance để gợi ý sản phẩm" ở đây là xây dựng website bán mỹ phẩm không chỉ mang lại nhiều lợi ích thực tế trong lĩnh vực quản lý bán hàng và tìm kiếm sản phẩm mà còn mở ra cơ hội để em có thể học hỏi và sáng tạo

Trang 10

1.2 Mục tiêu của đề tài

• Trình bày được các vấn đề liên quan đến ngôn ngữ PHP, cơ sở dữ liệu

MySQL, mô hình MVC

• Tìm hiểu và vận dụng thuật toán Hamming Distance để gợi ý, lựa chọn các

sản phẩm theo nhu cầu của khách hàng

Khảo sát thực trạng quản lý bán hàng của các cửa hàng hiện nay

• Phân tích hệ thống chương trình bao gồm các giao diện, các chức năng

nhằm đáp ứng nhu cầu người dùng

Triển khai và cài đặt chương trình

1.3 Giới hạn và phạm vi của đề tài

• Xây dựng chương trình dựa vào ngôn ngữ lập trình PHP với Framework Laravel và cơ sở dữ liệu MySQL

• Chương trình tập chung chức năng nghiệp vụ từ khảo sát thực trạng

1.4 Kết quả dự kiến đạt được

• Tìm hiểu nhu cầu, nghiệp vụ của quản trị

• Hiểu về ngôn ngữ lập trình PHP và áp dụng cho xây dựng website

• Hoàn thành website bán hàng áp dụng thuật toán Hamming Distance để gợi ý với các tính năng như:

• Admin: thực hiện các chức năng như quản trị hệ thống, quản lý người dùng, quản lý sản phẩm, quản lý danh mục, quản lý kho, quản lý đơn hàng

• Nhân viên: có thể thực hiện các chức năng như cập nhật thông tin cá nhân, đăng ký, đăng nhập, và thực hiện một số chức năng theo dõi và cập nhật kho

• Hoàn thành báo cáo chi tiết đồ án tốt nghiệp

Trang 11

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 2.1 Kiến thức về Hamming Distance

2.1.1 Giới thiệu về thuật toán Hamming Distance

❖ Nguồn gốc Hamming Distance:

Trong những năm của thập niên kỷ 1940, Hamming làm việc tại Bell Labs trên máy tính Bell Model V, một máy điện cơ (electromechanical) dùng rơ-le (relay-based), với tốc độ rất chậm, mấy giây đồng hồ một chu kỳ máy Nhập liệu được cho vào máy bằng những cái thẻ đục lỗ (punch cards), và hầu như máy luôn luôn gây lỗi trong khi đọc Trong những ngày làm việc trong tuần, những mã đặc biệt được dùng để tìm ra lỗi và mỗi khi tìm được, nó nhấp nháy đèn báo hiệu, báo cho người điều khiển biết để họ sửa, điều chỉnh máy lại Trong thời gian ngoài giờ làm việc hoặc trong những ngày cuối tuần, khi người điều khiển máy không có mặt, mỗi khi có lỗi xảy ra, máy tính tự động bỏ qua chương trình đang chạy và chuyển sang công việc khác

Hamming thường làm việc trong những ngày cuối tuần và ông càng ngày càng trở nên bực tức mỗi khi ông phải khởi động lại các chương trình ứng dụng từ đầu, do chất lượng kém, không đáng tin cậy (unreliability) của bộ máy đọc các thẻ đục lỗ Mấy năm tiếp theo đó, ông dồn tâm lực vào việc xây dựng hằng loạt các thuật toán có hiệu quả cao để giải quyết vấn đề sửa lỗi Năm 1950, ông đã công bố một phương pháp mà hiện nay được biết là Mã Hamming Một số chương trình ứng dụng hiện thời vẫn còn sử dụng mã này của ông

Hamming Distance là cái tên được đặt theo tên của Richard Hamming

❖ Hamming Distance là gì?

Hamming Distance là thước đo để so sánh hai chuỗi dữ liệu nhị phân Khi so

sánh hai chuỗi nhị phân có độ dài bằng nhau, khoảng cách Hamming là số vị trí bit trong đó hai bit khác nhau

Trang 12

❖ Ví dụ về thuật toán: Giả sử có hai chuỗi bit:

• Chuỗi A: 0 1 1 1 1

• Chuỗi B: 0 0 1 1 0 Ta thấy:

• Tại vị trí 1: Bit của A là 0, Bit của B là 0 (giống nhau)

• Tại vị trí 2: Bit của A là 1, Bit của B là 0 (khác nhau)

• Tại vị trí 3: Bit của A là 1, Bit của B là 1 (giống nhau)

• Tại vị trí 4: Bit của A là 1, Bit của B là 1 (giống nhau)

• Tại vị trí 5: Bit của A là 1, Bit của B là 0 (khác nhau)

 Số bit khác nhau là 2, kết luận Hamming Distance giữa chuỗi A và B là 2 ❖ Mục đích của Hamming Distance:

Hamming Distance được sử dụng trong kỹ thuật viễn thông để tính số lượng các bit trong một từ nhị phân (binary word) bị đổi ngược, như một hình thức để ước tính số lỗi xảy ra trong quá trình truyền thông, và vì thế, đôi khi, nó còn được gọi là khoảng cách tín hiệu (signal distance) Việc phân tích trọng số Hamming của các bit còn được sử dụng trong một số ngành, bao gồm lý thuyết tin học, lý thuyết mã hóa, và mật mã học

Tuy vậy, khi so sánh các dãy ký tự có chiều dài khác nhau, hay các dãy ký tự có xu hướng không chỉ bị thay thế không thôi, mà còn bị ảnh hưởng bởi dữ liệu bị lồng thêm vào, hoặc bị xóa đi, phương pháp đo lường phức tạp hơn, như khoảng cách Levenshtein (Levenshtein distance) là phương pháp có tác dụng và thích hợp

❖ Kiểm soát lỗi hiệu quả với Hamming Distance:

Hamming Distance trong kiểm soát lỗi:

Các khái niệm trung tâm trong mã hóa để kiểm soát lỗi là ý tưởng về Hamming Distance Hamming Distance giữa hai từ (có cùng kích thước) là số lượng khác biệt

Trang 13

giữa các bit tương ứng Chúng ta biểu thị khoảng cách Hamming giữa hai từ x và y là d(x, y)

Hamming Distance có thể dễ dàng tìm được nếu chúng ta áp dụng phép toán XOR trên hai từ và đếm số 1 trong kết quả Lưu ý khoảng cách Hamming là giá trị lớn hơn 0 Khoảng cách Hamming d(000, 011) là 2 vì 000 ⊕ 011 là 011 (hai số 1) Khoảng cách Hamming d(10101, 11110) là 3 vì 10101 ⊕ 11110 là 01011 (ba số 1)

Hamming Distance tối thiểu:

Hamming Distance tối thiểu là khoảng cách Hamming nhỏ nhất giữa tất cả các cặp có thể Chúng tôi sử dụng "dmin" để xác định khoảng cách Hamming tối thiểu trong sơ đồ mã hóa Để tìm giá trị này, chúng tôi tìm khoảng cách Hamming giữa tất cả các từ và chọn giá trị nhỏ nhất

Khoảng cách và lỗi Hamming:

Khi một từ mã bị hỏng trong quá trình truyền, khoảng cách Hamming giữa các từ mã được gửi và nhận là số bit bị ảnh hưởng bởi lỗi Nói cách khác, khoảng cách Hamming giữa từ mã nhận được và từ mã gửi đi là số bit bị hỏng trong quá trình truyền

Ví dụ: nếu từ mã 00000 được gửi và 01101 được nhận thì có 3 bit bị lỗi và khoảng cách Hamming giữa hai bit là d(00000, 01101) =3

Khoảng cách tối thiểu để phát hiện lỗi:

Để tìm khoảng cách Hamming tối thiểu trong một mã nếu chúng ta muốn có thể phát hiện tối đa S lỗi Nếu S lỗi xảy ra trong quá trình truyền, khoảng cách Hamming giữa từ mã đã gửi và từ mã nhận được là S Nếu mã phát hiện tối đa S lỗi, khoảng cách tối thiểu giữa các mã hợp lệ phải là s + 1, sao cho mã nhận được từ mã không khớp với từ mã hợp lệ

Khoảng cách tối thiểu để sửa lỗi:

Việc sửa lỗi phức tạp hơn việc phát hiện lỗi và cần có một quyết định Khi từ mã nhận được không phải là từ mã hợp lệ, người nhận cần quyết

Trang 14

định từ mã hợp lệ nào thực sự được gửi Quyết định này dựa trên khái niệm lãnh thổ, một khu vực độc quyền bao quanh từ mã Mỗi từ mã hợp lệ có lãnh thổ riêng Sử dụng phương pháp hình học để xác định từng lãnh thổ Chúng ta giả định rằng mỗi từ mã hợp lệ có một lãnh thổ hình tròn có bán kính t và từ mã hợp lệ nằm ở trung tâm

Ví dụ: giả sử một từ mã x bị hỏng t bit hoặc ít hơn Khi đó từ mã bị hỏng này nằm ở bên trong hoặc trên chu vi của vòng tròn này Nếu người nhận nhận được một từ mã thuộc lãnh thổ này, nó sẽ quyết định rằng từ mã ban đầu là từ mã ở giữa Lưu ý rằng chúng tôi giả định rằng chỉ có tối đa t lỗi xảy ra; nếu không thì quyết định đó là sai Hình dưới đây cho thấy cách giải thích hình học này Một số văn bản sử dụng hình cầu để hiển thị khoảng cách giữa tất cả các mã khối hợp lệ

Hình 2.1 Ví dụ trong Hamming Distance

2.1.2 Hamming Distance trong Laravel

❖ Hàm Hamming Distance trong PHP

gmp_hamdist(GMP|int|string $num1, GMP|int|string $num2): int

Trong đó:

$num1, $num2: thuộc kiểu dữ liệu: đối tượng GMP (GMP – GNU

Multiple Precision object), số nguyên (Int), chuỗi số (Numeric String)

Trang 15

Kết quả trả về Hamming Distance giữa 2 phần tử $num1 và $num2 (là

một số nguyên không âm)

❖ Tại sao và lúc nào cần Hamming Distance trong dự án Laravel

Trong ngữ cảnh xây dựng website Laravel, việc sử dụng phân tích các chuỗi bit có thể được áp dụng trong một số tình huống:

• Quản lý quyền và phân quyền: Sử dụng các chuỗi bit để biểu diễn quyền và phân quyền người dùng Mỗi bit có thể đại diện cho một quyền cụ thể (ví dụ: quyền xem, quyền chỉnh sửa, quyền xóa, quyền tạo…)

• Xử lý dữ liệu nhị phân: Có thể sử dụng các chuỗi bit để biểu diễn trạng thái hoặc thuộc tính của một đối tượng

• Tùy chỉnh cấu hình hệ thống: Sử dụng chuỗi bit để tùy chọn cấu hình hệ thống, chẳng hạn như kích hoạt hay tắt tính năng Mỗi bit đại diện cho một tùy chọn cụ thể

• Tìm kiếm và phân loại dữ liệu: Sử dụng Hamming Distance để đo lường sự tương đồng giữa các mẫu dữ liệu, bổ trợ cho các chức năng tìm kiếm và phân loại

• Kiểm tra và bảo mật: Sử dụng thuật toán này để kiểm tra sự tương đồng giữa các chuỗi bit, như trong quá trình xác thực người dùng hoặc kiểm tra tính toàn vẹn của dữ liệu

2.2 Ngôn ngữ lập trình PHP và Framework Laravel

2.2.1 Ngôn ngữ PHP

PHP(viết tắt là Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho các mục đích tổng quát Nó rất thích hợp với web và có thể nhúng vào trang HTML.

Trang 16

Do được tối ưu hóa cho các ứng dụng web, cú pháp giống C và Java và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP có rất nhiều các CMS mã nguồn mở như: WordPress, OpenCart… cùng với đó là các framework như: Laravel, CodeIgniter

PHP không phải là ngôn ngữ script phía server duy nhất có sẵn - vẫn còn nhiều ngôn ngữ khác nữa Tuy nhiên, nó lợi thế hơn các đối thủ cạnh tranh nếu chạy trang web WordPress WordPress được xây dựng dựa trên việc sử dụng PHP Vì vậy, sử dụng ngôn ngữ này giúp cải thiện đáng kể số lượng tùy chỉnh trên trang web, như có thể sử dụng nó để sửa đổi plugins hay theme có sẵn Ngoài ra, còn một số lý do khác khiến PHP là ngôn ngữ script tuyệt vời để sử dụng:

• Dễ học: Có thể học dễ dàng vì có tài liệu tuyệt vời về các chức năng ví dụ

• Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại nền tảng như thương mại điện tử, blogs, phương tiện truyền thông xã

• Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí

• Cộng đồng lớn: Nếu gặp phải những khó khăn nào đó, sẽ không phải là điều lo lắng vì có rất nhiều blog PHP trên Internet

• Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle

2.2.2 Framework Laravel

Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế Với Framework, lập trình viên chỉ cần tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình.

Trang 17

Hình 2.2 Một số loại framework

PHP Framework là một bộ mã nguồn mở được xây dựng, phát triển và đóng

gói bởi các chuyên gia lập trình PHP, sử dụng ngôn ngữ PHP xây dựng các lớp nghiệp vụ chuyên biệt.

Laravel là một PHP framework mã nguồn mở miễn phí, phát triển bởi Taylor

Otwell và có mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc view-controller (MVC) Những tính năng nổi bật của Laravel làm cho Laravel Framework khác biệt so với các Web Framework khác:

model-• Tính mô đun:

Tính mô đun là khả năng một thành phần ứng dụng web có thể tách rời và kết hợp lại Có thể phân chia logic nghiệp vụ thành các mo-đun khác nhau, tất cả đều hoạt động cùng nhau để làm cho ứng dụng web hoạt động.

Sử dụng cấu trúc mô-đun có thể thiết kế và phát triển ứng dụng doanh nghiệp quy mô lớn một cách dễ dàng Laravel cung cấp các hướng dẫn rất đơn giản để tạo các mô-đun hoặc package trong Laravel.

• Tính năng xác thực:

Xác thực là một phần không thể thiếu của bất kỳ website hiện đại nào Viết các thực trong các Framework khác có thể mất rất nhiều thời gian Nhưng với Laravel thì ngược lại, chỉ cần chạy một lệnh đơn giản, đã có thể tạo một hệ thống xác thực đầy đủ chức năng.

Trang 18

• Tính năng Caching:

Caching(bộ nhớ đệm) là một kỹ thuật để lưu trữ dữ liệu trong một vị trí lưu trữ tạm thời có thể lấy ra nhanh chóng khi cần, chủ yếu được sử dụng để làm tăng hiệu suất của website.

Laravel gần nhưng lưu tất cả dữ liệu từ View đến routes Điều này giúp Laravel giảm thời gian xử lý và tăng hiệu suất rất nhiều.

• Tính năng Routing:

Định tuyến(Routing) trong Laravel rất dễ hiểu, có thể sử dụng để tạo một ứng dụng tĩnh dễ dàng Có thể nhóm các routes, đặt tên cho chúng, áp dụng các bộ lọc cho chúng và liên kết mô hình dữ liệu với chúng Các routes có thể sử dụng để tạo các URL thân thiện với công cụ tìm kiếm.

• Restful Controllers:

Restful Controllers của Laravel cho phép tách logic nghiệp vụ sau khi phục vụ các request GET hoặc POST Có thể tạo resource controller có thể được sử dụng để tạo CRUD đơn giản Sau đó, có thể liên kết resource controller để định tuyến phục vụ tất cả các routes CRUD tự động

• Database Query Builder:

Database Query Builder của Laravel cung cấp một cách thuận tiện để tạo các truy cấp cơ sở dữ liệu Nó đi kèm với vô số chức năng của trình trợ giúp có thể để lọc dữ liệu.

Có thể thực hiện các truy vấn phức tạp một cách dễ dàng bằng join trong Laravel Cú pháp Query Builder rất dễ hiểu và làm cho việc viết các truy vấn cơ sở dữ liệu trở nên nhẹ nhàng hơn rất nhiều.

• Tính năng bảo mật rất tốt:

Laravel cung cấp cách tạo các ứng dụng web an toàn Lưu trữ tất cả các mật khẩu dưới dạng hash, thay vì mật khẩu text đơn giản(sử dụng BCrytp để băm(hash) mật khẩu).

Trang 19

Laravel cung cấp bảo mật để chống lại các cuộc tấn công truy vấn cơ sở dữ liệu An toàn khi xử lý với dữ liệu mà người dùng cung cấp.

• Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng

• Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…

• View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images…

Mô hình MVC có một số các ưu điểm như:

Trang 20

• Mô hình này quy hoạch các class/function vào các thành phần riêng biệt Controller – Model – View, việc đó làm quá trình phát triển - quản lý - vận hành - bảo trì web diễn ra thuận lợi hơn, tạo ra được các chức năng chuyên biệt hóa đồng thời kiểm soát được luồng xử lý

2.4 Hệ quản trị cơ sở dữ liệu MySQL

MySQL là hệ quản trị cơ sở dữ liệu sử dụng mã nguồn mở phổ biến nhất thế giới và được các chuyên gia lập trình rất ưa chuộng trong quá trình phát triển web, phát triển ứng dụng của mình Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet MySQL có một số đặc điểm:

• Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL dạng server based, hệ gần giống với SQL server

• MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều có bảng quan hệ chứa dữ liệu riêng biệt

• MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản lý cùng lúc một hay nhiều CSDL khác nhau Và mỗi người dùng đều có 1 username và password để truy nhập và truy xuất đến CSDL

• MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ

Trang 21

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 Phân tích hệ thống

- QUANLY: Là người quản trị hệ thống, đăng nhập hệ thống với tất cả các

quyền quản lý danh mục sản phẩm, quản lý sản phẩm, quản lý đơn hàng, quản lý tài khoản, quản lý kho, quản lý bài viết

-KHACHHANG: Là người mua hàng của cửa hàng, có thể thực hiện các chức năng đăng ký, đăng nhập, mua hàng, đánh giá sản phẩm,…

Trang 22

• Use Case tổng quát

Hình 3.2 Use Case tổng quát

Trang 23

• Use Case hệ thống

Hình 3.3 Use Case hệ thống

✓ Đăng nhập:

- Mô tả: Cho phép nhân viên và quản lý truy cập phần mềm

- Đầu vào: Người dùng nhập vào thông tin tên tài khoản và mật khẩu, sau

đó chọn đăng nhập

- Thực hiện: Kiểm tra tên đăng nhập và mật khẩu có trùng khớp với thông

tin trong cơ sở dữ liệu Kiểm tra quyền người dùng

- Đầu ra: Nếu không đúng thông tin thì thông báo tài khoản không hợp lệ Ngược lại, tùy theo quyền người dùng, hiển thị danh sách chức năng theo quyền người dùng trên hệ thống

✓ Đăng xuất:

- Mô tả: Cho phép người dùng thoát khỏi hệ thống - Đầu vào: Người dùng chọn đăng xuất

- Thực hiện: Hủy lưu thông tin đăng nhập

- Đầu ra: Hiển thị trang chủ.

Trang 24

✓ Đăng ký:

- Mô tả: Khách hàng truy cập website có thể đăng ký thành viên, xem các

sản phẩm và chi tiết sản phẩm, tìm kiếm các sản phẩm mong muốn

- Đầu vào: Khi khách hàng truy cập, nhập các thông tin để tạo tài khoản và

chọn đăng ký

- Thực hiện: Hệ thống kiểm tra các trường thông tin bắt buộc

- Đầu ra: Nếu thiếu trường thông tin bắt buộc thì yêu cầu khách hàng bổ sung, ngược lại lưu tài khoản khách hàng đã đăng ký và hiển thị giao diện đăng nhập

• Use Case của tác nhân KHACHHANG:

Hình 3.4 Use Case của tác nhân KHACHHANG

Trang 25

✓ Xem chi tiết sản phẩm:

- Mô tả: Khách hàng muốn xem chi tiết một sản phẩm

- Đầu vào: UseCase sử dụng khi khách hàng chọn một sản phẩm - Thực hiện: hệ thống lấy thông tin chi tiết của sản phẩm theo mã - Đầu ra: Hiển thị form chi tiết sản phẩm

✓ Xem chi tiết bài viết:

- Mô tả: Khách hàng muốn xem chi tiết một bài viết

- Đầu vào: UseCase sử dụng khi khách hàng chọn một bài viết - Thực hiện: hệ thống lấy thông tin chi tiết của bài viết theo mã - Đầu ra: Hiển thị form chi tiết bài viết

✓ Thêm sản phẩm vào giỏ hàng:

- Mô tả: Các khách hàng muốn thêm sản phẩm vào giỏ hàng

- Đầu vào: UseCase sử dụng khi khách hàng chọn thêm một sản phẩm vào giỏ hàng

-Thực hiện:

• Ca sử dụng bắt đầu khi khách hàng chọn thêm sản phẩm

• Hệ thống kiểm tra số lượng sản phẩm: Nếu còn hàng sẽ thêm sản phẩm vào giỏ hàng Ngược lại, hệ thống thông báo không đủ số lượng sản phẩm và hủy thao tác

- Đầu ra: Cập nhật giỏ hàng của khách hàng ✓ Cập nhật số lượng sản phẩm trong giỏ:

- Mô tả: Các khách hàng muốn cập nhật sản phẩm vào giỏ hàng

- Đầu vào: UseCase sử dụng khi khách hàng nhập tăng/giảm số lượng sản phẩm trong giỏ

- Thực hiện:

• Ca sử dụng bắt đầu khi khách hàng nhập tăng/giảm số lượng sản phẩm trong giỏ hàng

Trang 26

• Hệ thống kiểm tra số lượng sản phẩm: Nếu còn hàng sẽ cập nhật số lượng sản phẩm vào giỏ hàng Ngược lại, hệ thống thông báo không đủ số lượng sản phẩm và hủy thao tác

- Đầu ra: Cập nhật giỏ hàng của khách hàng ✓ Xóa sản phẩm trong giỏ hàng:

- Mô tả: Các khách hàng muốn xóa sản phẩm khỏi giỏ hàng

- Đầu vào: UseCase sử dụng khi khách hàng chọn xóa sản phẩm trong giỏ hàng

- Thực hiện: Hệ thống xóa sản phẩm khỏi giỏ hàng - Đầu ra: Cập nhật giỏ hàng của khách hàng

✓ Đặt hàng:

- Mô tả: Các khách hàng muốn đặt mua sản phẩm của cửa hàng - Đầu vào: UseCase sử dụng khi khách hàng chọn đặt hàng - Thực hiện:

• Khách hàng chọn thanh toán các sản phẩm trong giỏ hàng

• Hệ thống hiển thị form thanh toán

• Khách hàng nhập các thông tin cần thiết, và chọn đặt hàng

• Hệ thống kiểm tra các trường thông tin: Nếu đầy đủ, thực hiện lưu thông tin đơn hàng và chi tiết giao dịch Ngược lại, yêu cầu khách hàng bổ sung thông tin

- Đầu ra: Lưu thông tin đơn hàng của khách hàng và trả ra giao diện chi tiết đơn hàng

✓ Xem chi tiết đơn hàng:

- Mô tả: Khách hàng muốn xem chi tiết một đơn hàng

- Đầu vào: UseCase sử dụng khi khách hàng chọn một đơn hàng - Thực hiện: hệ thống lấy thông tin chi tiết của đơn hàng theo mã - Đầu ra: Hiển thị form chi tiết đơn hàng

Trang 27

✓ Đánh giá sản phẩm:

- Mô tả: Khách hàng đánh giá sản phẩm sau khi mua hàng

- Đầu vào: Khi khách hàng đăng nhập hệ thống thành công và chọn đánh giá sản phẩm

- Thực hiện:

• Khách hàng chọn đơn hàng muốn đánh giá

• Khách hàng đánh giá sản phẩm có trong đơn hàng, và chọn lưu

• Hệ thống kiểm tra các trường dữ liệu: Nếu đầy đủ và đúng định dạng thì lưu đánh giá vào cơ sở dữ liệu và thông báo cập nhật đánh giá của khách hàng thành công Nếu không thì yêu cầu khách hàng bổ sung thông tin

- Đầu ra: Các đánh giá về sản phẩm được cập nhật vào cơ sở dữ liệu

• Use Case Quản lý danh mục sản phẩm

Hình 3.5 Use Case Quản lý danh mục sản phẩm

- Mô tả: Quản lý và nhân viên thực hiện quản lý danh mục sản phẩm của hệ thống

Trang 28

- Đầu vào: Use Case sử dụng bắt đầu khi người dùng đăng nhập thành công hệ thống

- Thực hiện:

• Người dùng truy cập vào hệ thống và chọn Quản lý danh mục sản phẩm

• Kiểm tra quyền truy cập

• Hệ thống lấy dữ liệu danh sách, hiển thị giao diện danh sách Danh mục sản phẩm

• Hệ thống hiển thị chức năng người dùng có thể thực hiện: thêm, sửa, xóa danh mục:

o Nếu chọn “Thêm” thì sự kiện con “Thêm thông tin danh mục” được thực hiện

o Nếu chọn “Sửa” thì sự kiện con “Sửa thông tin danh mục” được thực hiện

o Nếu chọn “Xóa” thì sự kiện con “Xóa thông tin danh mục” được thực hiện

- Dòng sự kiện phụ:

• Thêm thông tin danh mục:

o Hệ thống hiển thị form thêm thông tin Danh mục

o Người dùng nhập thông tin

o Nhấn nút thêm thông tin: Nếu thêm mới thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo thêm thành công

o Hệ thống lưu thông tin danh mục vào cơ sở dữ liệu

• Sửa thông tin danh mục:

o Hệ thống hiển thị form sửa thông tin Danh mục

o Người dùng nhập thông tin muốn sửa

Trang 29

o Nhấn nút sửa thông tin: Nếu cập nhật thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo cập nhật thành công

o Hệ thống cập nhật thông tin danh mục vào cơ sở dữ liệu

• Xóa thông tin danh mục:

o Người dùng chọn danh mục muốn xóa

o Chọn xóa danh mục

o Hệ thống kiểm tra ràng buộc:

o Nếu thỏa mãn thực hiện xóa danh mục

o Nếu không thông báo vi phạm ràng buộc

o Hệ thống cập nhật danh mục nếu xóa thành công - Ca sử dụng kết thúc

- Dòng sự kiện rẽ nhánh A1:

• Hệ thống thông báo việc nhập dữ liệu không hợp lệ

• Người dùng nhập lại thông tin

• Quay lại bước 3 của dòng sự kiện chính, hoặc hủy bỏ thao tác, khi đó ca sử dụng kết thúc

- Đầu ra: Các thông tin danh mục hợp lệ được cập nhật trong cơ sở dữ liệu, hiển thị các thông báo phù hợp

Trang 30

• Use Case Quản lý sản phẩm

Hình 3.6 Use Case Quản lý sản phẩm

- Mô tả: Quản lý và nhân viên quản lý các sản phẩm còn lại trong kho

- Đầu vào: Use Case sử dụng bắt đầu khi người dùng đăng nhập thành công hệ thống

- Thực hiện:

• Người dùng truy cập vào hệ thống và chọn Quản lý sản phẩm

• Kiểm tra quyền truy cập

• Hệ thống lấy dữ liệu danh sách, hiển thị giao diện danh sách Sản phẩm

• Hệ thống hiển thị chức năng người dùng có thể thực hiện: thêm, sửa, xóa, tìm kiếm sản phẩm:

o Nếu chọn “Thêm” thì sự kiện con “Thêm thông tin sản phẩm” được thực hiện

o Nếu chọn “Sửa” thì sự kiện con “Sửa thông tin sản phẩm” được thực hiện

Trang 31

o Nếu chọn “Xóa” thì sự kiện con “Xóa thông tin sản phẩm” được thực hiện

o Nếu chọn “Tìm kiếm” thì sự kiện con “Tìm kiếm sản phẩm” được thực hiện

- Dòng sự kiện phụ:

• Thêm thông tin sản phẩm:

o Hệ thống hiển thị form thêm thông tin sản phẩm

o Người dùng nhập thông tin

o Nhấn nút thêm thông tin: Nếu thêm mới thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo thêm thành công

o Hệ thống lưu thông tin sản phẩm vào cơ sở dữ liệu

• Sửa thông tin sản phẩm:

o Hệ thống hiển thị form sửa thông tin sản phẩm

o Người dùng nhập thông tin muốn sửa

o Nhấn nút sửa thông tin: Nếu cập nhật thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo cập nhật thành công

o Hệ thống cập nhật thông tin sản phẩm vào cơ sở dữ liệu

• Xóa thông tin sản phẩm:

o Người dùng chọn sản phẩm muốn xóa

Trang 32

• Hệ thống thông báo việc nhập dữ liệu không hợp lệ

• Người dùng nhập lại thông tin

• Quay lại bước 3 của dòng sự kiện chính, hoặc hủy bỏ thao tác, khi đó ca sử dụng kết thúc

- Đầu ra: Các thông tin sản phẩm hợp lệ được cập nhật trong cơ sở dữ liệu, hiển thị các thông báo phù hợp

• Use Case Quản lý đơn hàng

Hình 3.7 Use Case Quản lý đơn hàng

Trang 33

- Mô tả: Quản lý và nhân viên thực hiện quản lý đơn hàng của các sản phẩm trong kho

- Đầu vào: Use Case sử dụng bắt đầu khi người dùng đăng nhập thành công hệ thống

- Thực hiện:

• Người dùng truy cập vào hệ thống và chọn Quản lý đơn hàng

• Kiểm tra quyền truy cập

• Hệ thống lấy dữ liệu danh sách, hiển thị giao diện danh sách Đơn hàng

• Hệ thống hiển thị chức năng quản lý có thể thực hiện: tạo, tìm kiếm và xem chi tiết đơn hàng:

o Nếu chọn “Tạo” thì sự kiện con “Thêm đơn hàng” được thực hiện

o Nếu chọn “Tìm kiếm” thì sự kiện con “Tìm kiếm đơn hàng” được thực hiện

o Nếu chọn “Xem chi tiết” thì sự kiện con “Xem chi tiết đơn hàng” được thực hiện

- Dòng sự kiện phụ:

• Thêm đơn hàng:

o Hệ thống hiển thị form thêm thông tin Đơn hàng

o Người dùng nhập thông tin

o Nhấn nút thêm thông tin: Nếu thêm mới thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo thêm thành công

o Hệ thống lưu thông tin đơn hàng vào cơ sở dữ liệu

• Tìm kiếm đơn hàng:

o Nhập thông tin hoặc mã đơn muốn tìm kiếm

o Nhấn nút tìm kiếm

Trang 34

o Hệ thống lấy dữ liệu từ khóa nhập trùng với cơ sở dữ liệu, hiển thị trên màn hình

• Xem chi tiết đơn hàng:

o Người dùng chọn đơn hàng muốn xem

o Chọn xem chi tiết

o Hệ thống lấy thông tin chi tiết của đơn hàng hiển thị - Ca sử dụng kết thúc

- Dòng sự kiện rẽ nhánh A1:

• Hệ thống thông báo việc nhập dữ liệu không hợp lệ

• Quản lý nhập lại thông tin

• Quay lại bước 3 của dòng sự kiện chính, hoặc hủy bỏ thao tác, khi đó ca sử dụng kết thúc

- Đầu ra: Các thông tin đơn hàng hợp lệ được cập nhật trong cơ sở dữ liệu, hiển thị các thông báo phù hợp

Trang 35

• Use Case Quản lý bài viết

Hình 3.8 Use Case Quản lý bài viết

- Mô tả: Quản lý thực hiện quản lý các bài viết trên hệ thống như bài viết quảng cáo về sản phẩm, các ưu đãi của cửa hàng…

- Đầu vào: Use Case sử dụng bắt đầu khi quản lý đăng nhập thành công hệ thống

- Thực hiện:

• Người dùng truy cập vào hệ thống và chọn Quản lý bài viết

• Kiểm tra quyền truy cập

• Hệ thống lấy dữ liệu danh sách, hiển thị giao diện danh sách Bài viết

• Hệ thống hiển thị chức năng người dùng có thể thực hiện: thêm, sửa, xóa, tìm kiếm bài viết:

o Nếu chọn “Thêm” thì sự kiện con “Thêm thông tin bài viết” được thực hiện

o Nếu chọn “Sửa” thì sự kiện con “Sửa thông tin bài viết” thực hiện

o Nếu chọn “Xóa” thì sự kiện con “Xóa thông tin bài viết” thực hiện

Trang 36

o Nếu chọn “Tìm kiếm” thì sự kiện con “Tìm kiếm bài viết” thực hiện - Dòng sự kiện phụ:

• Thêm thông tin bài viết:

o Hệ thống hiển thị form thêm thông tin Bài viết

o Người dùng nhập thông tin

o Nhấn nút thêm thông tin: Nếu thêm mới thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo thêm thành công

o Hệ thống lưu thông tin bài viết vào cơ sở dữ liệu

• Sửa thông tin bài viết:

o Hệ thống hiển thị form sửa thông tin Bài viết

o Người dùng nhập thông tin muốn sửa

o Nhấn nút sửa thông tin: Nếu cập nhật thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo cập nhật thành công

o Hệ thống cập nhật thông tin bài viết vào cơ sở dữ liệu

• Xóa thông tin bài viết:

o Người dùng chọn bài viết muốn xóa

o Chọn xóa bài viết

o Hệ thống kiểm tra ràng buộc:

o Nếu thỏa mãn thực hiện xóa bài viết

o Nếu không thông báo vi phạm ràng buộc

o Hệ thống cập nhật bài viết nếu xóa thành công

• Tìm kiếm bài viết:

o Người dùng nhập từ khóa muốn tìm kiếm

o Chọn xóa tìm kiếm

Trang 37

o Hệ thống lấy dữ liệu từ khóa nhập trùng với cơ sở dữ liệu, hiển thị trên màn hình

- Ca sử dụng kết thúc

- Dòng sự kiện rẽ nhánh A1:

• Hệ thống thông báo việc nhập dữ liệu không hợp lệ

• Người dùng nhập lại thông tin

• Quay lại bước 3 của dòng sự kiện chính, hoặc hủy bỏ thao tác, khi đó ca sử dụng kết thúc

- Đầu ra: Các thông tin bài viết hợp lệ được cập nhật trong cơ sở dữ liệu, hiển thị các thông báo phù hợp

• Use Case Quản lý khách hàng

Hình 3.9 Use Case Quản lý khách hàng

- Mô tả: Quản lý thông tin các khách hàng mua hàng

- Đầu vào: Use Case sử dụng bắt đầu khi quản lý đăng nhập thành công hệ thống

- Thực hiện:

Trang 38

• Người dùng truy cập vào hệ thống và chọn Quản lý khách hàng

• Kiểm tra quyền truy cập

• Hệ thống lấy dữ liệu danh sách, hiển thị giao diện danh sách Nhân viên sản phẩm

• Hệ thống hiển thị chức năng người dùng có thể thực hiện: tìm kiếm, sửa, xóa khách hàng:

o Nếu chọn “Tìm kiếm” thì sự kiện con “Tìm kiếm khách hàng” được thực hiện

o Nếu chọn “Sửa” thì sự kiện con “Sửa thông tin khách hàng” được thực hiện

o Nếu chọn “Xóa” thì sự kiện con “Xóa thông tin khách hàng” được thực hiện

• Sửa thông tin khách hàng:

o Hệ thống hiển thị form sửa thông tin khách hàng

o Người dùng nhập thông tin muốn sửa

o Nhấn nút sửa thông tin: Nếu cập nhật thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo cập nhật thành công

o Hệ thống cập nhật thông tin khách hàng vào cơ sở dữ liệu

• Xóa thông tin khách hàng:

o Người dùng chọn khách hàng muốn xóa

Trang 39

o Chọn xóa khách hàng

o Hệ thống kiểm tra ràng buộc:

o Nếu thỏa mãn thực hiện xóa khách hàng

o Nếu không thông báo vi phạm ràng buộc

o Hệ thống cập nhật khách hàng nếu xóa thành công - Ca sử dụng kết thúc

- Dòng sự kiện rẽ nhánh A1:

• Hệ thống thông báo việc nhập dữ liệu không hợp lệ

• Người dùng nhập lại thông tin

• Quay lại bước 3 của dòng sự kiện chính, hoặc hủy bỏ thao tác, khi đó ca sử dụng kết thúc

- Đầu ra: Các thông tin khách hàng hợp lệ được cập nhật trong cơ sở dữ liệu, hiển thị các thông báo phù hợp

• Use Case Quản lý tài khoản

Hình 3.10 Use Case Quản lý tài khoản

- Mô tả: Quản lý thực hiện quản lý thông tin các tài khoản đăng nhập hệ thống

Trang 40

- Đầu vào: Use Case sử dụng bắt đầu khi quản lý đăng nhập thành công hệ thống

- Thực hiện:

• Người dùng truy cập vào hệ thống và chọn Quản lý tài khoản

• Kiểm tra quyền truy cập

• Hệ thống lấy dữ liệu danh sách, hiển thị giao diện danh sách Tài khoản

• Hệ thống hiển thị chức năng người dùng có thể thực hiện: thêm, sửa, xóa, tìm kiếm tài khoản:

o Nếu chọn “Thêm” thì sự kiện con “Thêm tài khoản” được thực hiện

o Nếu chọn “Sửa” thì sự kiện con “Sửa tài khoản” được thực hiện

o Nếu chọn “Xóa” thì sự kiện con “Xóa tài khoản” được thực hiện - Dòng sự kiện phụ:

• Thêm thông tin tài khoản:

o Hệ thống hiển thị form thêm thông tin tài khoản

o Người dùng nhập thông tin

o Nhấn nút thêm thông tin: Nếu thêm mới thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo thêm thành công

o Hệ thống lưu thông tin tài khoản vào cơ sở dữ liệu

• Sửa thông tin tài khoản:

o Hệ thống hiển thị form sửa thông tin tài khoản

o Người dùng nhập thông tin muốn sửa

o Nhấn nút sửa thông tin: Nếu cập nhật thành công thì thực hiện bước tiếp theo Nếu sai thực hiện dòng sự kiện rẽ nhánh A1

o Hiển thị thông báo cập nhật thành công

o Hệ thống cập nhật thông tin tài khoản vào cơ sở dữ liệu

• Xóa thông tin tài khoản:

Ngày đăng: 15/05/2024, 09:29

Tài liệu cùng người dùng

Tài liệu liên quan