1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo phân tích và thiết kế xây dựng ứng dụng chốt đơn cho cộng tác viên bằng php mysql laravel

91 4 0

Đ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

Thông tin cơ bản

Tiêu đề Phân Tích Thiết Kế Và Xây Dựng Website Chốt Hàng Cho Cộng Tác Viên Bán Hàng
Tác giả Tạ Anh Dũng
Người hướng dẫn Lê Thị Hường
Trường học Trường Đại Học Công Nghệ Giao Thông Vận Tải
Chuyên ngành Hệ Thống Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Vĩnh Phúc
Định dạng
Số trang 91
Dung lượng 2,76 MB
File đính kèm ung-dung-quan-ly-chot-don.zip (3 MB)

Cấu trúc

  • CHƯƠNG 1: PHẦN MỞ ĐẦU (12)
    • 1. Lý do chọn đề tài (12)
    • 2. Mục tiêu đề tài (12)
    • 3. Giới hạn và phạm vi của đề tài (12)
    • 4. Kết quả đạt được (12)
    • 5. Kết cấu của đề tài (13)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (14)
    • 1.1. Cơ sở lý thuyết về cơ sở dữ liệu (14)
    • 1.2. Ngôn ngữ lập trình (16)
      • 1.2.1. Ngôn ngữ HTML (16)
      • 1.2.2. Ngôn ngữ CSS (18)
      • 1.2.3. Ngôn ngữ PHP (19)
    • 1.3. Mô hình MVC (20)
    • 1.4. Laravel framework (21)
    • 1.5. Kết chương 2 (23)
  • CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (24)
    • 3.1. Mô tả bài toán (24)
    • 3.2. Đối tượng sử dụng hệ thống (25)
    • 3.3. Khảo sát (25)
      • 3.3.1. Xác định yêu cầu của hệ thống (26)
      • 3.2.2. Yêu cầu chức năng và phi chức năng (30)
      • 3.3.3. Phân tích thiết kế hệ thống (31)
    • 3.4 Phân tích và thiết kế hệ thống (33)
    • 3.5. Biểu đồ use case (34)
      • 3.5.1 Biểu đồ Use-case tổng quát (34)
      • 3.5.2 Use case đăng nhập (35)
      • 3.5.3. Use case quản lí doanh thu (35)
      • 3.5.4. Use case quản lý giao dịch (37)
      • 3.5.5. Use case quản lý thuộc tính (38)
      • 3.5.6. Use case quản lý danh mục (39)
      • 3.5.7. Use case quản lý nhà cung cấp (40)
      • 3.5.8 Use case quản lý sản phẩm (41)
      • 3.5.9. Use case quản lý vai trò (42)
      • 3.5.10. Use case quản lý giá trị (43)
      • 3.5.11. Use case quản lý người dùng (44)
      • 3.5.12. Use case ctv (45)
    • 3.6 Biểu đồ hoạt động (46)
      • 3.6.1 Biểu đồ hoạt động chức năng đăng ký (46)
      • 3.6.2 Biểu đồ hoạt động chức năng đăng nhập (46)
      • 3.6.3 Biểu đồ hoạt động chức năng chỉnh sửa thông tin cá nhân (47)
      • 3.6.4 Biểu đồ hoạt động chức năng quản lý danh sách thành viên (47)
      • 3.6.5 Biểu đồ hoạt động chức năng quản lý danh mục, dịch vụ, bài viết (48)
      • 3.6.6 Biểu đồ hoạt động chức năng xử lý đơn hàng (49)
      • 3.6.7 Biểu đồ hoạt động chức năng thêm mới bài viết (50)
      • 3.6.8 Biểu đồ hoạt động chức năng sửa bài viết (51)
      • 3.6.9 Biểu đồ hoạt động chức năng xóa bài viết (51)
      • 3.6.10 Biểu đồ hoạt động chức năng thêm mới sản phẩm (52)
      • 3.6.11 Biểu đồ hoạt động chức năng sửa sản phẩm (53)
      • 3.6.12 Biểu đồ hoạt động chức năng xóa sản phẩm (54)
      • 3.6.13 Biểu đồ hoạt động chức năng xóa người dùng (56)
      • 3.6.14 Biểu đồ hoạt động chức năng đặt hàng (56)
    • 3.7 Biểu đồ tuần tự (58)
      • 3.7.1 Biểu đồ tuần tự đăng nhập/đăng ký (58)
      • 3.7.2 Biểu đồ tuần tự quản lý sản phẩm (59)
      • 3.7.3 Biểu đồ tuần tự quản lý bài viết (60)
      • 3.7.4 Biểu đồ tuần tự quản lý slide (61)
      • 3.7.5 Biểu đồ tuần tự quản lý sự kiện (61)
      • 3.7.6 Biểu đồ tuần tự quản lý đơn hàng (62)
    • 3.8. Biểu đồ trạng thái (63)
      • 3.8.1 Biểu đồ trạng thái chức năng đăng nhập (63)
    • 3.9. Biểu đồ lớp (63)
      • 3.9.1 Danh sách các đối tượng (63)
      • 3.9.2 Mô hình hóa các lớp đối tượng (66)
    • 3.10 Thiết kế cơ sở dữ liệu (67)
      • 3.10.1 Bảng Admins (67)
      • 3.10.2 Bảng Attributes (68)
      • 3.10.3 Bảng Categories (69)
      • 3.10.4 Bảng Comments (70)
      • 3.10.5 Bảng Contacts (70)
      • 3.10.6 Bảng Keywords (71)
      • 3.10.7 Bảng Menus (72)
      • 3.10.8 Bảng Orders (73)
      • 3.10.9 Bảng Producer (73)
      • 3.10.10 Bảng Products (74)
      • 3.10.11 Bảng products_attributes (76)
      • 3.10.12 Bảng products_keywords (76)
      • 3.10.13 Bảng Products_imges (77)
      • 3.10.14 Bảng Ratings (77)
      • 3.10.15 Bảng Statics (78)
      • 3.10.16 Bảng Transactions (78)
      • 3.10.17 Bảng Types (79)
      • 3.10.18 Bảng Users (80)
      • 3.10.19 Bảng User_favourite (81)
    • 3.11 Kiểm thử (81)
      • 3.11.1. Chức năng đăng ký (81)
      • 3.11.2. Chức năng đăng nhập (81)
      • 3.11.3. Chức năng cập nhật thông tin (82)
      • 3.11.4. Chức năng quên mật khẩu (82)
    • 3.12 Bảo trì (82)
    • 3.13 Kết chương 3 (82)
  • CHƯƠNG 4: XÂY DỰNG HỆ THỐNG (83)
    • 4.1. Giao diện quản trị (83)
    • 4.2 Giao diện danh mục giao dịch (83)
    • 4.3 Giao diện quản lý danh mục (84)
    • 4.4 Giao diện quản lý nhà cung cấp (84)
    • 4.5 Giao diện quản lý thuộc tính (85)
    • 4.6 Giao diện quản lý giá trị (85)
    • 4.7 Giao diện quản lý sản phẩm (86)
    • 4.8 Giao diện quản lý người dùng (86)
    • 4.9 Giao diện quản lý vai trò (87)
    • 4.10. Kết chương 4 (87)
  • KẾT LUẬN (88)
    • 1. Đánh giá kết quả của đề tài (88)
    • 2. Hướng phát triển tiếp theo của đề tài (89)
  • TÀI LIỆU THAM KHẢO (90)
  • PHỤ LỤC (91)

Nội dung

Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều chú tâm đến việc làm thỏa mãm khách hàng một cách tốt nhất. So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, đạt hiệu quả cao hơn. Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyền tải thông tin về sản phẩm nhanh chóng, thuận tiện. Kết hợp với bộ phận giao hàng tận nơi, là thông qua bưu điện hay ngân hàng để thanh toán tiền, càng tăng thêm thuận lợi để loại Biết được những nhu cầu đó chương trình “ Xây dựng website chốt hàng cho cộng tác viên bán hàng ” được xây dựng trên nền tảng PHP nhằm để đáp ứng cho cộng tác viên có thể thông qua Website này mà chốt đơn hàng cho khách một cách nhanh chóng và thuận tiện đáp ứng được nhu cầu khách hàng . Trước thực tế đó em đã chọn đề tài:” Phân tích thiết kế và xây dựng website chốt hàng cho cộng tác viên bán hàng” cho đề tài khóa luận tốt nghiệp của mình.

PHẦN MỞ ĐẦU

Lý do chọn đề tài

Trong bối cảnh thị trường ngày nay, cạnh tranh kinh doanh ngày càng gay gắt, buộc các doanh nghiệp và công ty lớn phải chú trọng hơn đến việc đáp ứng nhu cầu và sự hài lòng của khách hàng một cách tối ưu.

Thương mại điện tử mang lại chi phí thấp và hiệu quả cao hơn so với kinh doanh truyền thống Nhờ vào công nghệ Internet, việc truyền tải thông tin sản phẩm trở nên nhanh chóng và thuận tiện Kết hợp với dịch vụ giao hàng tận nơi và các phương thức thanh toán qua bưu điện hoặc ngân hàng, thương mại điện tử ngày càng trở nên thuận lợi cho người tiêu dùng.

Chương trình “Xây dựng website chốt hàng cho cộng tác viên bán hàng” được phát triển trên nền tảng PHP, nhằm hỗ trợ cộng tác viên trong việc chốt đơn hàng nhanh chóng và thuận tiện Website này giúp đáp ứng nhu cầu của khách hàng một cách hiệu quả, mang lại trải nghiệm mua sắm tốt nhất.

Trước tình hình hiện tại, em đã quyết định chọn đề tài "Phân tích thiết kế và xây dựng website chốt hàng cho cộng tác viên bán hàng" cho khóa luận tốt nghiệp của mình.

Mục tiêu đề tài

− Trình bày được các vấn đề liên quan đến PHP ,MySQL

− Phân tích hệ thống chương trình bao gồm giao diện, các activity nhằm đáp ứng nhu cầu người dùng

− Triển khai và cài đặt chương trình trong môi trường internet

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

Trong phạm vi đề tài này em sẽ nghiên cứu các vấn đề sau:

- Nghiên cứu về quy trình quản lý cộng tác viên chốt đơn

- Website được xây dựng bằng ngôn ngữ PHP, cơ sở dữ liệu xây dựng bằng phpMyAdmin

Kết quả đạt được

Website quản lý chốt đơn sau khi hoàn thành dự kiến đạt được các kết quả sau:

- Giao diện thân thiện, dễ nhìn thích hợp với người dùng

- Cập nhật thông tin dữ liệu cho hệ thống.

- Hoàn thành trang quản lý admin website với các chức năng chính sau:

+ Quản lý bảng điều khiển

+ Quản lý danh sách giao dịch

+ Quản lý sản phẩm: danh mục, nhà cung cấp, thuộc tính, giá trị, sản phẩm+ Quản lý vai trò

Kết cấu của đề tài

Nội dung đề tài gồm các chương:

Chương 1: Cơ sở lý thuyết

Chương 2: Khảo sát nghiệp vụ

Chương 3: Phân tích thiết kế hệ thống

Chương 4: Xây dựng hệ thống

CƠ SỞ LÝ THUYẾT

Cơ sở lý thuyết về cơ sở dữ liệu

Hệ thống sử dụng hệ cơ sở dữ liệu MySQL.

MySQL là một hệ quản lý cơ sở dữ liệu quan hệ nhanh chóng và dễ sử dụng, được áp dụng rộng rãi trong các doanh nghiệp từ nhỏ đến lớn Hệ thống này được phát triển và hỗ trợ bởi MySQL AB, một công ty có trụ sở tại Thụy Điển.

Hệ cơ sở dữ liệu này đã trở thành khá phổ biến vì nhiều lý do:

 MySQL là mã nguồn mở

 MySQL là một chương trình rất mạnh mẽ.

 MySQL sử dụng một Form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL.

 MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như PHP, PERL, C, C++, Java, …

 MySQL làm việc nhanh và khỏe ngay cả với các tập dữ liệu lớn.

 MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá để tìm hiểu để phát triển Web.

MySQL có khả năng quản lý các cơ sở dữ liệu lớn với số lượng hàng lên tới 50 triệu hoặc hơn trong một bảng Mặc dù kích thước tệp mặc định cho một bảng được giới hạn ở 4 GB, nhưng có thể mở rộng kích thước này (nếu hệ điều hành hỗ trợ) để đạt tới giới hạn lý thuyết là 8 TB.

MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, cho phép lập trình viên tùy chỉnh và điều chỉnh phần mềm theo nhu cầu của họ nhờ vào giấy phép GPL.

MySQL sử dụng nhiều kiểu dữ liệu, được chia thành 3 loại: kiểu số, kiểu date và time, và kiểu chuỗi.

Kiểu dữ liệu số trong MySQL

MySQL sử dụng tất cả các kiểu dữ liệu số theo chuẩn ANSI SQL Các kiểu dữ liệu số phổ biến gồm:

 INT : Một số nguyên với kích cỡ thông thường, có thể là signed hoặc unsigned.

Dãy giá trị của số nguyên có dấu nằm trong khoảng từ -2147483648 đến 2147483647, trong khi dãy giá trị của số nguyên không dấu là từ 0 đến 4294967295 Độ rộng tối đa của các số này có thể lên tới 11 chữ số.

 TINYINT : Một số nguyên với kích cỡ rất nhỏ, có thể là signed hoặc unsigned.

Nếu có dấu, dãy giá trị có thể nằm trong khoảng từ -128 đến 127; còn nếu không có dấu, dãy giá trị sẽ từ 0 đến 255 Chúng ta có thể xác định độ rộng lên tới 4 chữ số.

 SMALLINT : Một số nguyên với kích cỡ nhỏ, có thể là signed hoặc unsigned.

Dãy giá trị của số nguyên có dấu nằm trong khoảng từ -32768 đến 32767, trong khi dãy giá trị của số nguyên không dấu là từ 0 đến 65535 Độ rộng của số nguyên có thể đạt tới 5 chữ số.

MEDIUMINT là một kiểu dữ liệu số có kích thước trung bình, có thể là signed hoặc unsigned Đối với kiểu signed, giá trị nằm trong khoảng từ -8388608 đến 8388607, trong khi với kiểu unsigned, giá trị nằm trong khoảng từ 0 đến 16777215 Độ rộng tối đa của MEDIUMINT có thể lên tới 9 chữ số.

 BIGINT : Một số nguyên với kích cỡ lớn, có thể là signed hoặc unsigned Nếu có dấu,thì dãy giá trị có thể là từ -9223372036854775808 tới

9223372036854775807, nếu không dấu thì dãy giá trị là từ 0 tới

18446744073709551615 Chúng ta có thể xác định một độ rộng lên tới 20 chữ số.

FLOAT(M,D) là kiểu dữ liệu cho số thực dấu chấm động không dấu, cho phép định nghĩa độ dài hiển thị (M) và số vị trí sau dấu phẩy (D) Mặc dù việc định nghĩa này là không bắt buộc, giá trị mặc định sẽ là 10,2, trong đó 10 là tổng số chữ số (bao gồm cả phần thập phân) và 2 là số vị trí sau dấu phẩy Đặc biệt, phần thập phân của kiểu FLOAT có thể lên tới 24 vị trí sau dấu phẩy.

DOUBLE(M,D) là kiểu dữ liệu số thực dấu chấm động không dấu, trong đó M xác định độ dài hiển thị và D xác định số vị trí sau dấu phẩy Mặc dù việc định nghĩa M và D là không bắt buộc, giá trị mặc định sẽ là 16 cho M và 4 cho D, với 4 là số vị trí thập phân và 16 là tổng số chữ số, bao gồm cả phần thập phân Đối với kiểu DOUBLE, phần thập phân có thể lên tới 53 vị trí REAL có nghĩa tương đương với DOUBLE.

DECIMAL(M,D) là một kiểu dấu chấm động không dấu khác, trong đó mỗi chữ số thập phân chiếm 1 byte Khi sử dụng kiểu dữ liệu này, việc định nghĩa độ dài hiển thị (M) và số vị trí sau dấu phẩy (D) là bắt buộc Điều này giúp đảm bảo rằng dữ liệu được lưu trữ và hiển thị chính xác Ngoài ra, NUMERIC cũng là một từ đồng nghĩa cho DECIMAL, giúp tăng tính linh hoạt khi làm việc với dữ liệu.

Ngôn ngữ lập trình

Ngôn ngữ HTML (HyperText Markup Language) là một trong những ngôn ngữ chính trong lập trình web Khi người dùng nhấp vào các liên kết trên một trang web, họ sẽ được chuyển đến nhiều trang khác nhau, và những trang này được gọi là tài liệu HTML.

Một trang HTML bao gồm nhiều phần tử nhỏ được quy định bằng các thẻ tag Để phân biệt giữa trang web sử dụng ngôn ngữ HTML và PHP, chúng ta có thể dựa vào đường link của trang Thông thường, các trang HTML sẽ có đuôi là HTML hoặc HTM.

HTML là ngôn ngữ lập trình web đơn giản, được hỗ trợ hiển thị trên mọi trang web và trình duyệt Phiên bản mới nhất hiện nay là HTML 5, mang đến nhiều tính năng ưu việt và chất lượng vượt trội so với các phiên bản trước.

Vai trò của HTML trong lập trình web:

HTML là ngôn ngữ đánh dấu siêu văn bản, đóng vai trò quan trọng trong việc cấu trúc và bố cục các thành phần trên website Nó hỗ trợ khai báo các tập tin kỹ thuật số như video, nhạc và hình ảnh Điểm mạnh của HTML là khả năng xây dựng hệ thống cấu trúc hoàn chỉnh cho trang web, đảm bảo rằng mọi loại website đều cần sử dụng HTML để hiển thị nội dung cho người truy cập Đối với lập trình viên và nhà phát triển web, việc học HTML là bước khởi đầu thiết yếu trước khi thiết kế bất kỳ trang web nào.

Các trang HTML được cấu trúc bằng các thẻ tag, được biểu diễn trong dấu ngoặc đơn như Hầu hết các thẻ cơ bản đều có thẻ đóng tương ứng, ví dụ như thẻ với và thẻ với Bảng 1.1 liệt kê các mẫu thẻ tag phổ biến trong HTML.

Bảng 1.1 Các mẫu thẻ thường gặp trong HTML

Còn gọi là thẻ khai báo một tài liệu HTML Thẻ này xác định loại tài liệu và phiên bản HTML.

Thẻ này chứa đựng các tài liệu HTML đầy đủ Ở đầu trang sẽ xuất hiện các thẻ , và thân tài liệu là các thẻ ,

Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ

Thẻ được sử dụng trong thẻ chỉ tiêu đề tài liệu.

Thẻ này đại diện cho thân tài liệu và giữ các thẻ như , ,

Thẻ tag này đại diện cho các tiêu đề trang.

Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web.

1.2.2 Ngôn ngữ CSS Định nghĩa

CSS, viết tắt của Cascading Style Sheets, là ngôn ngữ dùng để mô tả giao diện và định dạng của tài liệu viết bằng ngôn ngữ đánh dấu Nó bổ sung cho HTML, cho phép thay đổi phong cách và giao diện người dùng của trang web Ngoài HTML, CSS còn có thể áp dụng cho các loại tài liệu XML khác như XML đơn giản, SVG và XUL.

CSS là một phần không thể thiếu trong việc xây dựng giao diện người dùng cho các trang web và ứng dụng di động, thường được sử dụng kết hợp với HTML và JavaScript.

Ba lợi ích chính của CSS

 Giải quyết một vấn đề lớn:

Trước khi CSS ra đời, việc thiết lập phông chữ, màu sắc, kiểu nền, sắp xếp phần tử, đường viền và kích thước phải được thực hiện lặp đi lặp lại trên từng trang web, gây tốn thời gian và công sức.

Sử dụng tệp CSS bên ngoài giúp tiết kiệm thời gian đáng kể, vì bạn có thể thay đổi toàn bộ giao diện trang web chỉ bằng cách chỉnh sửa một tệp duy nhất.

 Cung cấp thêm các thuộc tính:

CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang web.

PHP bắt đầu như một dự án mã nguồn mở nhỏ, nhưng nhanh chóng trở nên hữu ích và phổ biến Được phát triển từ sản phẩm PHP/FI do Rasmus Lerdorf tạo ra vào năm 1994, PHP/FI ban đầu chỉ là một tập con đơn giản của mã kịch bản Perl để theo dõi truy cập vào bản sơ yếu lý lịch của ông Tên gọi "Personal Home Page Tools" phản ánh mục đích ban đầu của nó Khi nhu cầu về các chức năng mở rộng gia tăng, Rasmus đã phát triển một bộ thực thi bằng C lớn hơn để hỗ trợ truy vấn cơ sở dữ liệu và phát triển các ứng dụng web đơn giản Ông đã quyết định công khai mã nguồn của PHP/FI, cho phép mọi người xem, sử dụng và sửa lỗi, từ đó cải tiến mã nguồn.

PHP viết hồi qui của "PHP: Hypertext Preprocessor".

PHP là ngôn ngữ lập trình kịch bản phía máy chủ, được nhúng trong HTML, giúp quản lý nội dung động, cơ sở dữ liệu và theo dõi phiên làm việc.

PHP được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server.

PHP hoạt động hiệu quả, đặc biệt khi được biên dịch dưới dạng mô-đun Apache trên hệ điều hành Unix MySQL Server, khi khởi động, có khả năng thực thi các truy vấn phức tạp với các tập hợp kết quả lớn trong thời gian kỷ lục.

PHP hỗ trợ nhiều giao thức quan trọng như POP3, IMAP và LDAP Phiên bản PHP4 đã mở rộng khả năng bằng cách bổ sung hỗ trợ cho Java cùng với các cấu trúc đối tượng phân phối như COM và CORBA.

Cú pháp PHP là giống C.

PHP thực hiện các hàm hệ thống, ví dụ: từ các file trên một hệ thống, nó có thể tạo, mở, đọc, ghi và đóng chúng.

PHP có khả năng xử lý các biểu mẫu, cho phép thu thập dữ liệu từ tệp, lưu trữ dữ liệu vào tệp, gửi dữ liệu qua email và trả về thông tin cho người dùng.

Chúng ta có thể thêm, xóa, sửa đổi các phần tử bên trong Database thông qua PHP. Truy cập các biến Cookie và thiết lập Cookie.

Sử dụng PHP, có thể hạn chế người dùng truy cập vào một số trang trong Website.

Nó có thể mật mã hóa dữ liệu.

Các đặc trưng quan trọng làm PHP trở thành ngôn ngữ khá tiện lợi:

Mô hình MVC

MVC, viết tắt của Model – View – Controller, là một kiến trúc phần mềm quan trọng trong kỹ thuật phần mềm Mô hình này phân chia mã nguồn thành ba phần riêng biệt: Model, View và Controller, mỗi phần đảm nhận một nhiệm vụ độc lập, giúp tăng cường tính tổ chức và khả năng bảo trì của ứng dụng.

Các thành phần trong MVC

Nhiệm vụ chính của thành phần này là tiếp nhận và điều hướng các yêu cầu từ người dùng, đồng thời gọi đúng các phương thức để xử lý chúng Cụ thể, nó nhận request từ URL và form để thực hiện các thao tác trực tiếp với Model.

Mô hình là thành phần chính chứa tất cả các nghiệp vụ logic và phương thức xử lý, bao gồm việc truy xuất cơ sở dữ liệu và các đối tượng mô tả dữ liệu như Class và hàm xử lý.

View đóng vai trò quan trọng trong việc hiển thị thông tin và tương tác với người dùng, bao gồm tất cả các thành phần giao diện người dùng như textbox, hình ảnh và được tổ chức thông qua các form hoặc file HTML Trong kiến trúc MVC, View mang lại nhiều lợi ích nhưng cũng tồn tại một số nhược điểm cần lưu ý.

Thể hiện sự chuyên nghiệp trong lập trình và phân tích thiết kế, việc chia ứng dụng thành các thành phần độc lập giúp tăng tốc độ phát triển, đồng thời đơn giản hóa quá trình nâng cấp và bảo trì.

Mô hình MC có thể gây cồng kềnh và tốn thời gian trong quá trình phát triển đối với các dự án nhỏ, do đó việc trung chuyển dữ liệu giữa các thành phần trở nên mất nhiều thời gian hơn.

Laravel framework

Framework là thư viện các hàm lập trình sẵn, giúp tăng tốc độ phát triển ứng dụng PHP Việc áp dụng framework không chỉ tiết kiệm thời gian mà còn nâng cao tính bảo mật cho hệ thống Thông thường, một PHP Framework được thiết kế dựa trên mô hình MVC.

Tính đến năm 2015, Framework Laravel đã chiếm vị trí hàng đầu thế giới về độ phổ biến và được ưa chuộng, nhờ vào sự hỗ trợ phát triển mạnh mẽ từ cộng đồng.

2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github.

Sau nhiều lần được cộng đồng Laravel thế giới hỗ trợ phát triển thì phiên bản mới nhất hiện nay là Laravel 5.2 và sắp tới là phiên bản 5.3.

Các tính năng cơ bản của Laravel Framework

 Bundles: Ở laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các module, với rất nhiều tính năng đi kèm.

Composer trong Laravel phiên bản 4.x là một công cụ quản lý mạnh mẽ, cho phép người dùng thêm các gói cài đặt và các chức năng PHP hỗ trợ từ kho Packagist, giúp tối ưu hóa quá trình phát triển ứng dụng.

Eloquent ORM (Object Relation Mapping) là một công cụ mạnh mẽ giúp ánh xạ các đối tượng với quan hệ cơ sở dữ liệu, cung cấp các phương thức nội bộ để thực thi truy vấn hiệu quả Nó bổ sung các tính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu, cho phép người dùng quản lý dữ liệu một cách trực quan Eloquent ORM trình bày các bảng trong cơ sở dữ liệu dưới dạng các lớp, mang đến lựa chọn truy cập cơ sở dữ liệu mới mẻ và chuyên nghiệp hơn.

 Application logic: Là một phần của phát triển ứng dụng, được sử dụng bởi bộ điều khiển controllers.

 Routes: Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link)

Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì một định danh liên kết thống nhất sẽ được tạo ra bởi laravel.

 Restful Controller: cung cấp các tùy chọn để tách các logic phía sau các request HTTP POST, GET.

Class auto loading trong PHP cho phép tự động nạp các class mà không cần phải sử dụng lệnh include Điều này giúp tối ưu hóa quá trình nạp class, chỉ tải những class cần thiết theo yêu cầu, từ đó giảm thiểu việc nạp các class không cần thiết.

 View: chứa các mã html, hiển thị dữ liệu được chỉ định bởi controller

Migrations cung cấp một hệ thống kiểm soát phiên bản cho lược đồ cơ sở dữ liệu, giúp ứng dụng web tương tác linh hoạt với các thay đổi logic, mã code và cấu trúc cơ sở dữ liệu Điều này cho phép triển khai dễ dàng và cập nhật ứng dụng một cách hiệu quả.

Unit Testing đóng vai trò quan trọng trong Laravel, cung cấp nhiều hệ thống kiểm thử đơn vị giúp phát hiện và ngăn chặn lỗi hiệu quả Việc thực hiện Unit Testing có thể được thực hiện dễ dàng thông qua tiện ích command-line.

Tính năng phân trang tự động trong Laravel giúp đơn giản hóa quy trình phân trang, mang lại hiệu quả cao hơn so với các phương pháp truyền thống.

Kết chương 2

Dựa trên các phân tích lý thuyết về công nghệ, tôi đã chọn sử dụng framework Laravel để phát triển các chức năng cho website quản lý chốt đơn, kết hợp với cơ sở dữ liệu MySQL để lưu trữ và quản lý dữ liệu hệ thống Mặc dù vẫn tồn tại một số nhược điểm, tôi sẽ khai thác tối đa những ưu điểm của các công nghệ này nhằm xây dựng một website quản lý chốt đơn với hiệu suất hoạt động tốt nhất.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Mô tả bài toán

Website quản lý chốt đơn giúp kết nối với khách hàng tiềm năng, mời gọi họ trở thành cộng tác viên và cung cấp thông tin đầy đủ về các dịch vụ của cửa hàng qua nền tảng trực tuyến.

Khách hàng có thể truy cập trang web để được tư vấn về cách chốt đơn, tham khảo sản phẩm và giá cả Khi cần sản phẩm, khách hàng chỉ cần nhấp vào xem chi tiết Nếu hài lòng, khách hàng chọn đăng ký và số lượng dịch vụ Để đăng ký, thông thường khách hàng cần đăng nhập, nhưng với khách vãng lai, không cần tài khoản vẫn có thể mua hàng Khách hàng chỉ cần điền thông tin cá nhân và chọn đăng ký làm cộng tác viên Nếu thông tin hợp lệ, hệ thống sẽ gửi thông báo đặt lịch thành công.

Các câu hỏi cần phải đặt ra khi xây dựng bài toán khi xây dựng trang web:

• Trang web có chức năng làm gì?

• Trang web sẽ có những chức năng nào?

• Trang web sẽ giải quyết được bài toán gì?

• Trang web sẽ hoạt động ra sao?

• Hướng tới đối tượng nào?

• Sử dụng ngôn ngữ hay nền tảng nào để phát triển?

• Sử dụng cơ sở dữ liệu và lưu trữ dữ liệu ra sao?

• Làm sao để xây dựng nhanh chóng mà hiệu quả, hiệu năng tốt

• Cơ chế nâng cấp, kiểm thử và bảo trì.

Website của chúng tôi cung cấp danh mục sản phẩm đa dạng, thông tin về nhà cung cấp, thuộc tính và giá trị sản phẩm, phục vụ cho những ai có nhu cầu làm cộng tác viên Chúng tôi cam kết đáp ứng đầy đủ các dịch vụ và hỗ trợ chăm sóc khách hàng trực tuyến một cách hiệu quả.

+ Xây dựng các chức năng cho khách hàng.

+ Xây dựng các chức năng cho nhân viên quản trị.

Đối tượng sử dụng hệ thống

Khảo sát

Website là công cụ tiếp thị mạnh mẽ nhất cho doanh nghiệp, đóng vai trò là kênh bán hàng hiệu quả, cung cấp thông tin về dịch vụ và tuyển dụng Với sự đa dạng trong sản phẩm, website trở thành kênh quảng cáo dịch vụ mang lại doanh thu tối ưu.

Xác định rõ ràng mục đích thiết kế giúp người thiết kế nhanh chóng tạo ra giao diện phù hợp với yêu cầu doanh nghiệp Các mục đích này có thể bao gồm việc nâng cao trải nghiệm người dùng, tăng cường nhận diện thương hiệu và tối ưu hóa hiệu quả chuyển đổi.

 Giới thiệu tổ chức: lịch sử hình thành, đội ngũ, thương hiệu…

 Quảng cáo các dịch vụ: chăm sóc da, tư vấn làm đẹ…

 Thu hút khách hàng truy cập website tìm hiểu dịch vụ, đăng ký sử dụng

 Cung cấp chỉ dẫn, thông tin liên hệ cho các khách hàng tiềm năng

Các yếu tố cần xem xét bao gồm:

 Những thông tin mà đối tượng thường quan tâm: những nhà bán hàng tham khảo giá cả, bạn trẻ chưa có vốn muốn đăng kí làm cộng tác viên

 Thói quen của đối tượng khi sử dụng trang web: tìm kiếm phương pháp chốt đơn, thông tin sản phẩm,

 Màu sắc, hình ảnh nào dễ thu hút đối tượng nhất?

Xây dựng hệ thống điều hướng trang là yếu tố quan trọng trong thiết kế website spa, nhằm thu hút khách hàng mục tiêu Các thanh điều hướng và menu ngang dọc hoạt động như các liên kết nội bộ, giúp người dùng dễ dàng di chuyển giữa các nội dung trên trang.

Quy tắc 3 Click là một nguyên tắc quan trọng trong việc điều hướng website, cho phép người dùng tìm thấy thông tin chỉ sau ba lần click chuột Để thiết kế một hệ thống điều hướng hiệu quả, cần tuân thủ các nguyên tắc thiết kế hợp lý và dễ sử dụng, giúp cải thiện trải nghiệm người dùng và tăng khả năng truy cập thông tin trên website.

 Sự thống nhất: màu sắc, kích thước, font chữ, …

 Tập trung vào các yếu tố chính

 Sử dụng các biểu tượng thông dụng

Thiết lập các yêu cầu thiết kế website :

Thiết kế chuẩn UI/UX là yếu tố quan trọng để đánh giá khả năng tối ưu trải nghiệm người dùng của một website Trải nghiệm người dùng tốt sẽ gia tăng mức độ hài lòng với dịch vụ, điều này rất cần thiết cho các đơn vị cung cấp dịch vụ Khi khách hàng hài lòng, họ sẽ để lại nhiều đánh giá tích cực, từ đó nâng cao giá trị thương hiệu và thúc đẩy doanh số của doanh nghiệp.

Thiết kế website chuẩn UI/UX cho cửa hàng mang lại trải nghiệm tốt cho người dùng, đặc biệt là với khách hàng mục tiêu Giao diện hấp dẫn và mới lạ không chỉ thu hút sự chú ý mà còn khuyến khích người dùng tìm hiểu về doanh nghiệp và đăng ký dịch vụ.

Không chỉ các nhà thiết kế web mà cả những người lập kế hoạch thiết kế website cho cửa hàng cũng cần hiểu rõ các nguyên tắc cơ bản của thiết kế UI/UX Điều này giúp họ phối hợp hiệu quả hơn với các designer, đảm bảo rằng sản phẩm cuối cùng đáp ứng được nhu cầu và mong đợi của người dùng.

3.3.1 Xác định yêu cầu của hệ thống:

Tên miền là địa chỉ nhà của một trang web trên Internet, giúp người dùng dễ dàng truy cập vào trang của bạn Nó hoạt động như một liên kết ngắn, dẫn dắt người dùng đến địa chỉ thực của trang web Giống như mã bưu điện, tên miền là cần thiết để bộ định tuyến vệ tinh hướng người dùng đến đúng trang web, và trình duyệt web cần tên miền để thực hiện việc này.

Cấu trúc của tên miền

Tên miền là một chuỗi các phần tử được phân tách bằng dấu chấm, ví dụ như carly.com.vn, đại diện cho máy chủ web của công ty chúng tôi.

Phần tử đầu tiên “carly” là tên của máy chủ

Thành phần "com" trong tên miền được gọi là cấp miền thứ hai, trong khi phần tử cuối cùng "vn" đại diện cho miền cấp cao nhất, hay còn gọi là miền chủ đề.

Hoạt động của tên miền

Khi bạn nhập một tên miền vào trình duyệt, hệ thống DNS sẽ được kích hoạt để truy cập mạng lưới chủ toàn cầu Các máy chủ tìm kiếm sẽ xác định máy chủ liên kết với tên miền và chuyển tiếp yêu cầu đến máy chủ đó.

Máy chủ tên miền là thiết bị lưu trữ cơ sở dữ liệu, giúp chuyển đổi giữa địa chỉ IP và tên miền Tất cả các hoạt động này được quản lý bởi công ty cung cấp tên miền, chịu trách nhiệm chuyển tiếp các yêu cầu của người dùng đến máy chủ lưu trữ trang web (server).

Web server là phần cứng lưu trữ tất cả các thành phần cần thiết để tạo nên trang web, bao gồm HTML, CSS và hình ảnh Nhiệm vụ của server là phân phối thông tin của website đến thiết bị của người dùng.

Web server là phần mềm quản lý truy cập của người dùng tới các tệp lưu trữ trên máy chủ HTTP Khi trình duyệt cần dữ liệu từ web server, nó sẽ gửi yêu cầu tới phần cứng qua giao thức HTTP Ngược lại, khi phần mềm gửi tài liệu yêu cầu, thông tin cũng được truyền tải qua HTTP.

Cách đăng ký tên miền cho website:

Bước 1: Kiểm tra tên miền mà bạn muốn đăng ký

– Tên miền quốc tế như com; edu và net

– Tên miền mã quốc gia như vn; com.vn; edu.vn

Bước 2: Hoàn thành mọi thủ tục đăng ký

Khi chọn tên miền, hãy kiểm tra xem tên miền đó có còn trống không Nếu có, bạn có thể đăng ký tên miền với thời gian tối thiểu là 12 tháng Sau 12 tháng, bạn cần đăng nhập để gia hạn tên miền nhằm duy trì hoạt động của website Bước tiếp theo là quản lý tên miền của bạn.

Phân tích và thiết kế hệ thống

- Các chức năng chính của hệ thống

Chức năng của hệ thống có thể chia làm các nhóm chức năng chính như sau:

Nhóm chức năng đăng ký, đăng nhập thành viên

Nhóm chức năng xem thông tin bao gồm các tính năng như xem thông tin sản phẩm, thông tin chốt đơn, bài viết, giới thiệu, thông tin liên hệ và thông tin cá nhân.

Nhóm chức năng quản lý thông tin cá nhân bao gồm các nhiệm vụ quan trọng như quản lý thông tin cá nhân, danh sách thành viên, danh mục sản phẩm, chốt đơn và người dùng Những chức năng này giúp tối ưu hóa quy trình quản lý, nâng cao trải nghiệm người dùng và đảm bảo tính hiệu quả trong việc xử lý thông tin.

Nhóm chức năng tiếp nhận và xử lý dịch vụ: đăng ký dịch vụ, tiếp nhận và xử lý

- Các chức năng của các tác nhân

Cộng tác viên Đăng nhập, có một số quyền nhất định phải đăng nhập mới sửa dụng được:

Xem danh sách đơn hàng Cập nhật thông tin đơn hàng Cập nhật thông tin khách hàng, nhân viên Cập nhật bài viết

Cập nhật thông tin liên hệ Người quản lý Có tất cả các quyền trong hệ thống

Quản lý thành viên một số chức năng khác và yêu cầu Đăng Nhập mới được sử dụng:

Xem danh sách đơn hàng Cập nhật thông tin đơn hàng Cập nhật thông tin khách hàng, nhân viên, phân quyền Cập nhật bài viết

Cập nhật thông tin liên hệ

Biểu đồ use case

Sơ đồ UserCase (uc tổng quát, phân rã UC, mô tả rõ các chức năng)

3.5.1 Biểu đồ Use-case tổng quát

Hình 2.1: Biểu đồ Use case tổng quát

Phân tích các use case của từng tác nhân cho phép chúng ta xây dựng các gói use case một cách hiệu quả Việc phân rã các use case giúp làm rõ các yêu cầu và chức năng cần thiết, từ đó tạo nền tảng vững chắc cho quá trình phát triển hệ thống.

Hình 2.2: Biểu đồ Use case đăng nhập

 Mô tả: UC cho phép admin đăng nhập vào hệ thống

 Tiền điều kiện: thành viên chưa đăng nhập vào hệ thống

 Thành viên chọn chức năng đăng nhập

 Form đăng nhập hiển thị

 Nhập tên tài khoản và mật khẩu vào form đăng nhập

 Hệ thống kiểm tra tên, mật khẩu của thành viên

Khi đăng nhập thành công, thành viên sẽ có quyền truy cập vào các chức năng đã được phân quyền Ngược lại, nếu thông tin tài khoản hoặc mật khẩu không chính xác, hệ thống sẽ chuyển thành viên sang nhánh A1.

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Thành viên đăng nhập không thành công

 Hệ thống thông báo đăng nhập không thành công

Hệ thống cung cấp cho thành viên hai lựa chọn: đăng ký và nhập lại thông tin Nếu chọn trở thành khách viếng thăm, người dùng cần đăng ký để trở thành thành viên nhằm có thể đăng nhập vào hệ thống.

 Hệ thống yêu cầu nhập lại tên đăng nhập và mật khẩu

 Nếu thành viên đồng ý thì quay về bước 2 của luồng sự kiện chính Nếu không đồng ý thì UC kết thúc.

 Hậu điều kiện: Thành viên đăng nhập thành công và có thể sửa dụng các chức n ăng mà hệ thống cung cấp

 Tác nhân: khách hàng viếng thăm

 Mô tả: cho khách xem đăng ký làm thành viên của hệ thống

3.5.3 Use case quản lí doanh thu

Hình 2 3 Biểu đồ Usecase quản lí doanh thu

 Mô tả: Quản trị viên kiểm tra doanh thu

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng kiểm tra doanh thu.

 Hệ thống hiển thị form kiểm tra doanh thu với các thông tin doanh thu hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin doanh thu được lưu vào hệ thống

3.5.4 Use case quản lý giao dịch

Hình 2 4 Biểu đồ usecase quản lý giao dịch

 Mô tả: Quản trị viên quản lí các giao dịch

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa giao dịch.

 Hệ thống hiển thị form sửa giao dịch với các thuộc tính hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin giao dịch được lưu vào hệ thống

3.5.5 Use case quản lý thuộc tính

Hình 2 5 Biểu đồ usecase quản lý thuộc tính

 Mô tả: Quản trị viên quản lí các thuộc tính

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa thuộc tính.

 Hệ thống hiển thị form sửa thuộc tính với các thuộc tính hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin thuộc tính được lưu vào hệ thống

3.5.6 Use case quản lý danh mục

Hình 2 6, Biểu đồ usecase quản lý danh mục

 Mô tả: Quản trị viên quản lí các danh mục

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa danh mục.

 Hệ thống hiển thị form sửa danh mục với các danh mục hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin danh mục được lưu vào hệ thống

3.5.7 Use case quản lý nhà cung cấp

Hình 2 7 Biểu đồ usecase quản lý nhà cung cấp

 Mô tả: Quản trị viên quản lí các nhà cũng cấp

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa nhà cung cấp.

 Hệ thống hiển thị form sửa nhà cung cấp với các nhà cung cấp hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin nhà cung cấp được lưu vào hệ thống

3.5.8 Use case quản lý sản phẩm

Hình 2.8: Biểu đồ UC quản lý sản phẩm

 Tác nhân: người quản lý

 Mô tả: UC cho phép người quản lý thêm, xoá, thay đổi thông tin của sản phẩm

 Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống

Người quản lý có khả năng tác động đến danh mục, dịch vụ và bài viết bằng cách thêm hoặc loại bỏ các mục, cũng như thay đổi thông tin liên quan đến chúng.

 Hệ thống hiển thị form nhập thông tin danh mục, dịch vụ , bài viết mới

 Người quản lý nhập thông tin danh mục, dịch vụ, bài viết mới

 Nhấn nút thêm danh mục, dịch vụ, bài viết

 Nếu nhập thành công thì thực hiện bước cuối Nếu sai thực hiện luồng sự kiện r ẽ nhánh A1.

 Lưu thông tin danh mục, dịch vụ, bài viết.

 Thay đổi thông tin danh mục, dịch vụ, bài viết

 Hệ thống hiển thị form sửa thông tin của danh mục, dịch vụ, bài viết

 Người quản lý nhập các thông tin cần thay đổi.

 Nhấn nút lưu thông tin

 Nếu việc thay đổi thành công thì thực hiện bước cuối Nếu sai thực hiện luồng s ự kiện rẽ nhánh A1.

1.1 Người quản lý chọn danh mục, dịch vụ, bài viết cần xoá

1.3 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý đồng ý thì thực hiện bước 1.4 Nếu không đồng ý thì thực hiện bước 1.5

1.4 Thông báo danh mục, dịch vụ, bài viết đã được xoá

1.5 Hệ thống hiển thị lại danh sách danh mục, dịch vụ, bài viết.

 Luồng sự kiện rẽ nhánh

 Luồ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 quản lý nhập lại thông tin

 Nhấn nút lưu thông tin

 Hậu điều kiện: các thông tin về danh mục, dịch vụ, bài viết được cập nhật vào cơ sở dữ liệu

3.5.9 Use case quản lý vai trò

Hình 2 9 Biểu đồ usecase quản lý vai trò

 Mô tả: Quản trị viên quản lí các vai trò

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa vai trò.

 Hệ thống hiển thị form sửa vai trò với các vai trò hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin vai trò được lưu vào hệ thống

3.5.10 Use case quản lý giá trị

Hình 2 10Biểu đồ usecase quản lý giá trị

 Mô tả: Quản trị viên quản lí các gia trị

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa giá trị.

 Hệ thống hiển thị form sửa giá trị với các giá trị hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin giá trị được lưu vào hệ thống

3.5.11 Use case quản lý người dùng

Hình 2.11: Biểu đồ use case quản lý người dùng

 Mô tả: Quản trị viên quản lí các tài khoản người dùng đăng nhập vào hệ thống

 Tiền điều kiện: Quản trị viên phải đăng nhập vào hệ thống

 Thành viên chọn chức năng sửa thông tin cá nhân.

 Hệ thống hiển thị form sửa thông tin với các thông tin cũ của thành viên hiện tại

 Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7

 Nhấn nút lưu thông tin

 Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

 Hậu sự kiện: Thông tin của thành viên được lưu vào hệ thống

Hình 2.12: Biểu đồ use caseCtv

 Mô tả: Cộng tác viên đặt hàng các sản phẩm

 Tiền điều kiện: UseCase sử dụng khi người dùng truy cập trang chủ website

 Thành viên chọn chức năng đặt mua sản phẩm

 Hệ thống hiển thị form danh sách đơn hàng với các thông tin của đơn hàng

 Ctv xem và đặt mua đơn hàng Nếu mua thì chuyển sang bước 7

 Đặt hàng thành công thì thực hiện bước 6 Nếu không thì thực hiện luồng sự kiệ n rẽ nhánh A1

 Luồng sự kiện rẽ nhánh:

 Luồng nhánh A1: Nhập thông tin không hợp lệ

 Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ

 Thành viên nhập lại thông tin

 Quay lại bước 4 của luồng sự kiện chính

Biểu đồ hoạt động

3.6.1 Biểu đồ hoạt động chức năng đăng ký

Hình 3.1: Biểu đồ hoạt động của chức năng đăng ký

3.6.2 Biểu đồ hoạt động chức năng đăng nhập

Hình 3.2: Biểu đồ hoạt động của chức năng đăng nhập

3.6.3 Biểu đồ hoạt động chức năng chỉnh sửa thông tin cá nhân

Hình 3.3: Biểu đồ hoạt động chức năng chỉnh sửa thông tin cá nhân

3.6.4 Biểu đồ hoạt động chức năng quản lý danh sách thành viên

Hình 3.4: Biểu đồ hoạt động chức năng quản lý danh sách thành viên

3.6.5 Biểu đồ hoạt động chức năng quản lý danh mục, dịch vụ, bài viết

Hình 3.5: biểu đồ hoạt động của chức năng quản lý danh mục, dịch vụ, bài viết

3.6.6 Biểu đồ hoạt động chức năng xử lý đơn hàng

Hình 3.6: Biểu đồ hoạt động của chức năng xử lý đơn hàng

3.6.7 Biểu đồ hoạt động chức năng thêm mới bài viết

Hình 3.7: Biểu đồ hoạt động của chức năng thêm mới bài viết

3.6.8 Biểu đồ hoạt động chức năng sửa bài viết

Hình 3.8: Biểu đồ hoạt động của chức năng sửa bài viết 3.6.9 Biểu đồ hoạt động chức năng xóa bài viết

3.6.10 Biểu đồ hoạt động chức năng thêm mới sản phẩm

Hình 3.10: Biểu đồ hoạt động của chức năng thêm mới sản phẩm

3.6.11 Biểu đồ hoạt động chức năng sửa sản phẩm

Hình 3.11: Biểu đồ hoạt động của chức năng sửa sản phẩm

3.6.12 Biểu đồ hoạt động chức năng xóa sản phẩm

Hình 3.12: Biểu đồ hoạt động của chức năng xóa sản phẩm

3.6.13 Biểu đồ hoạt động chức năng xóa người dùng

Hình 3.13: Biểu đồ hoạt động của chức năng xóa người dùng 3.6.14 Biểu đồ hoạt động chức năng đặt hàng

Hình 3.14: Biểu đồ hoạt động của chức năng đặt hàng

Biểu đồ tuần tự

3.7.1 Biểu đồ tuần tự đăng nhập/đăng ký

Biểu đồ tuần tự chỉnh sửa thông tin cá nhân

3.7.2 Biểu đồ tuần tự quản lý sản phẩm

Hình 3.23: Biều đồ tuần tự quản lý sản phẩm

3.7.3 Biểu đồ tuần tự quản lý bài viết

Hình 3.24: Biều đồ tuần tự quản lý bài viết

3.7.4 Biểu đồ tuần tự quản lý slide

Hình 3.26: Biều đồ tuần tự quản lý slide 3.7.5 Biểu đồ tuần tự quản lý sự kiện

Hình 3.27: Biều đồ tuần tự quản lý sự kiện 3.7.6 Biểu đồ tuần tự quản lý đơn hàng

Hình 3.28: Biều đồ tuần tự quản lý đơn hàng

3.7.7 Biểu đồ tuần tự quản lý nhà sản xuất

Hình 3.29: Biểu đồ tuần tự quản lý nhà sản xuất

Biểu đồ trạng thái

3.8.1 Biểu đồ trạng thái chức năng đăng nhập

Biểu đồ lớp

3.9.1 Danh sách các đối tượng

Bảng 3.2: Danh sách các đối tượng

T Tên thực thể Mô tả

1 Admins Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý tài khoản admin

2 Articles Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý bài viết

3 Attributes Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý thuộc tính

T Tên thực thể Mô tả nghiệp vụ quản lý danh mục sản phẩm

5 Comments Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý bình luận

6 Contacts Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý liên hệ

7 Events Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý sự kiện

8 Keywords Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý từ khóa

9 Menus Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý danh mục bài viết

10 Orders Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý đơn hàng

11 Producer Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý nhà sản xuất

12 Products Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý sản phẩm

13 Products_attributes Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý thuộc tính của sản phẩm

14 Product_images Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý ảnh của sản phẩm

15 Ratings Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý đánh giá

16 Slides Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý slide

17 Statics Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý trang tĩnh

18 Transactions Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý giao dịch

19 Types Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý kiểu

20 Users Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý người dùng

21 User_favourite Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý sản phẩm yêu thích

T Tên thực thể Mô tả

22 Product_keywords Mô tả các thuộc tính và các phương thức liên quan tới nghiệp vụ quản lý từ khóa của sản phẩm

3.9.2 Mô hình hóa các lớp đối tượng

Hình 3.8: Biểu đồ lớp của Website

Thiết kế cơ sở dữ liệu

Bảng 2.3: Bảng Admins STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 Id bigint (20) Khóa chính Khóa chính của bảng

2 Name Varchar(255) Not null Tên

3 Email Varchar(255) Not null Email

4 Phone Varchar(255) Not null Số điện thoại

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

6 Log_login Text Null Lịch sử đăng nhập

7 Created_at Timestamp Null Ngày tạo

8 Updated_at Timestamp Null Ngày cập nhật

9 Class Varchar(255) Null Lớp người dùng

10 Address Varchar(255) Null Địa chỉ

11 Avatar Varchar(255) Null Ảnh đại diện

Bảng 2.5: Bảng Attributes STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 Id bigint (20) Khóa chính Khóa chính của bảng

2 Atb_name Varchar(255) Not null Tên thuộc tính

3 Atb_slug Varchar (255) Not null

4 Atb_type_id Int(11) Khóa ngoại ID kiểu

5 Created_at Timestamp Null Ngày tạo

6 Updated_at Timestamp Null Ngày sửa

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

Bảng 2.6: Bảng Categories STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int(10) Khóa chính Khóa chính của bảng

2 C_name Varchar(255) Not null Tên

3 C_parent_id Int(11) Not null ID danh mục cha

4 C_slug Varchar(255) Not null slug

7 C_description Varchar(255) Null Mô tả

8 C_hot Tinyint(4) Not null hot

9 C_Status Tinyint(4) Not null Trạng thái

10 Created_at Timestamp Null Ngày tạo

11 Updated_at Timestamp Null Ngày sửa

Bảng 2.7: Bảng Comments STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Cmt_name Varchar(255) Null Tên

3 Cmt_email Varchar(255) Null Email

4 Cmt_content Text Null Nội dung

5 Cmt_parent_id Int(11) Not null ID cha

6 Cmt_product_id Int(11) Khóa ngoại ID sản phẩm

7 Cmt_admin_id Int(11) ID khóa ngoại ID admin

8 Cmt_user_id Int(11) Khóa ngoại ID người dùng

9 Cmt_like Int(11) Not null Thích

10 Cmt_disk_like Int(11) Not null Không thích

11 Updated_at Timestamp Null Ngày cập nhật

12 Created_at Timestamp Null Ngày tạo

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID bigint(20) Khóa chính Khóa chính của bảng

2 C_title varchar(255) Null Tiêu đề

3 C_phone Char(11) Null Số điện thoại

5 C_Content Text Null Nội dung

6 Created_at Timestamp Null Ngày tạo

7 Updated_at Timestamp Null Ngày sửa

Bảng 2.10: Bảng Keywords STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 K_slug Varchar(255) Not null Slug

3 K_description Varchar(255) Null Mô tả

4 K_name Varchar(255) Not null Tên

5 K_hot Tinyint(4) Not null Hot

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

7 Updated_at Timestamp Null Ngày sửa

Bảng 2.11: Bảng Menus STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Mn_name Varchar(255) Not null Tên

3 Mn_Slug varchar(255) Not null Slug

4 Mn_avatar Varchar(255) Null Ảnh

5 Mn_banner Varchar(255) Null Banner

6 Mn_Description Varchar(255) Null Mô tả

7 Mn_hot Tinyint(4) Not null Hot

8 Mn_Status Tinyint(4) Not null Trạng thái

9 Created_at Timestamp Null Ngày tạo

10 Updated_at Timestamp Null Ngày sửa

T Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Od_transaction_i d int(11) Khóa ngoại ID giao dịch

3 Od_Product_id int(11) Khóa ngoại ID sản phẩm

4 Od_Sale Int(11) Not null Khuyến mại

5 Od_qty Tinyint(4) Not null Số lượng

6 Od_price Int(11) Not null Giá

7 Created_at Timestamp Null Ngày tạo

8 Updated_at Timestamp Null Ngày cập nhật

Bảng 2.13: Bảng Producer STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Pdr_name Varchar(255) Not null Tên nhà sản xuất

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

4 Pdr_email Varchar(100) Not null Email

5 Pdr_phone Varchar(20) Not null Số điện thoại

6 Created_at Timestamp Null Ngày tạo

7 Updated_at Timestamp Null Ngày cập nhật

Bảng 2.14: Bảng Products STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Pro_name Varchar(255) Null Tên

3 Pro_slug Varchar(255) Not null Slug

4 Pro_price Int(11) Not null Giá

5 Pro_price_entry Int(11) Not null Giá nhập vào

6 Pro_category_id Int(11) Khóa ngoại ID danh mục

7 Created_at Timestamp Null Ngày tạo

8 Updated_at Timestamp Null Ngày cập nhật

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

9 Pro_admin_id Int(11) Khóa ngoại ID admin

10 Pro_sale Tinyint(4) Not null Giảm giá

11 Pro_avatar Varchar(255) Null Ảnh

12 Pro_view Int(11) Not null Xem

13 Pro_hot Tinyint(4) Not null Hot

14 Pro_active Tinyint(4) Not null Hoạt động

15 Pro_pay Int(11) Not null Thanh toán

16 Pro_description Mediumtext Null Mô tả

17 Pro_content Text Null Nội dung

18 Pro_specifications Text Null Đặc tả

19 Pro_review_total Int(11) Not null Đánh giá chung

20 Pro_review star Int(11) Not null Số sao đánh giá

21 Pro_age_review Int(11) Not null Độ tuổi đánh giá

22 Pro_number Int(11) Not null Số thứ tự

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

23 Pro_resistant Varchar(255) Null Độ bền

24 Pro_energy Varchar(255) Null Năng lượng

25 Pro_country Tinyint(4) Not null Xuất sứ

Bảng 2.15: Bảng Products_attributes STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Pa_attributes_i d int(11) Khóa ngoại ID thuộc tính

3 Pa_Product_id int(11) Khóa ngoại ID sản phẩm

Bảng 2.16: Bảng Products_keywords STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Pk_keyword_i d int(11) Khóa ngoại ID từ khóa

3 Pk_Product_id int(11) Khóa ngoại ID sản phẩm

T Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Pi_name Varchar(255) Khóa ngoại Tên

3 Pi_Product_id int(11) Khóa ngoại ID sản phẩm

4 Pi_Slug Varchar(255) Null Slug

5 Created_at Timestamp Null Ngày tạo

6 Updated_at Timestamp Null Ngày sửa

Bảng 2.18: Bảng Ratings STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 R_user_id int(11) Khóa ngoại ID người dùng

3 R_Product_id int(11) Khóa ngoại ID sản phẩm

4 R_number Tinyint(4) Not null Số thứ tự

5 R_status Tinyint(4) Not null Trạng thái

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

6 R_content Text Null Nội dung

7 Created_at Timestamp Null Ngày tạo

8 Updated_at Timestamp Null Ngày cập nhật

Bảng 2.20: Bảng Statics STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 S_title Varchar(255) Null Tiêu đề

4 S_type Tinyint(4) Not null Loại

5 S_md5 Varchar(255) Null Mã hóa

6 S_content Text Null Nội dung

7 Created_at Timestamp Null Ngày tạo

8 Updated_at Timestamp Null Ngày cập nhật

T Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Tst_user_id int(11) Khóa ngoại ID người dùng

3 Tst_total_money int(11) Not null Tổng tiền

4 Tst_name Varchar(255) Null Tên

5 Tst_email Varchar(255) Null Email

6 Tst_phone Varchar(255) Null Số điện thoại

7 Tst_address Varchar(255) Null Địa chỉ

8 Tst_note Varchar(255) Null Ghi chú

9 Tst_status Tinyint(4) Not null Trạng thái

Bảng 2.22: Bảng Types STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

Int(11) Khóa ngoại ID danh mục

5 Created_at Timestamp Null Ngày tạo

6 Updated_at Timestamp Null Ngày cập nhật

Bảng 2.23: Bảng Users STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Name Varchar(255) Not null Tên

3 Email Varchar(255) Not null Email

4 Email_verified_at Timestamp Null Kiểm tra email

5 Password Varchar(255) Not null Mật khẩu

6 Log_login Text Null Lịch sử đăng nhập

7 Created_at Timestamp Null Ngày tạo

8 Updated_at Timestamp Null Ngày cập nhật

9 Address Varchar(255) Null Địa chỉ

STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

10 Count_comment Tinyint(4) Not null Số lần bình luận

13 Phone Varchar(255) Not null Số điện thoại

Bảng 2.24: Bảng User_favourite STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả

1 ID Bigint(20) Khóa chính Khóa chính của bảng

2 Uf_user_id int(11) Khóa ngoại ID người dùng

3 Uf_Product_id int(11) Khóa ngoại ID sản phẩm

Kiểm thử

Kịch bản kiểm thử: Người dùng đăng ký tài khoản nhập vào các thông tin, ứng dụng cần phải kiểm tra xem tài khoản đó tồn tại hay chưa

Kịch bản kiểm thử yêu cầu người dùng nhập thông tin đăng nhập Nếu thông tin không chính xác, hệ thống sẽ hiển thị cảnh báo Ngược lại, nếu thông tin đăng nhập đúng, người dùng sẽ được truy cập vào ứng dụng.

3.11.3 Chức năng cập nhật thông tin

Kịch bản kiểm thử: Người dùng chọn chức năng cập nhật thông tin, sẽ hiện ra thông tin cho phép người dùng thay đổi, cập nhật thông tin

3.11.4 Chức năng quên mật khẩu

Kịch bản kiểm thử cho chức năng quên mật khẩu yêu cầu người dùng nhập địa chỉ email Hệ thống sẽ kiểm tra xem email đó có tồn tại hay không; nếu tồn tại, một mật khẩu mới sẽ được gửi đến email, ngược lại, hệ thống sẽ hiển thị cảnh báo rằng email không tồn tại.

Bảo trì

Trong quá trình sử dụng và kiểm thử ứng dụng, tôi đã phát hiện một số lỗi nhỏ liên quan đến thư viện Để khắc phục, tôi đã nâng cấp lên phiên bản cao hơn của thư viện Ngoài ra, các lỗi giao diện người dùng cũng đã được cập nhật và chỉnh sửa.

Kết chương 3

Trong chương 3 của báo cáo, tôi đã trình bày các yêu cầu chi tiết cho hệ thống, bao gồm yêu cầu phi chức năng và thiết kế các chức năng cụ thể Trong quá trình phát triển, tôi đã thực hiện đồng thời việc xây dựng, kiểm thử và bảo trì ứng dụng Dựa trên cơ sở lý thuyết, tôi sẽ tiếp tục xây dựng hệ thống và trình bày kết quả trong chương 4 của báo cáo.

XÂY DỰNG HỆ THỐNG

Ngày đăng: 19/08/2022, 15:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w