Chương 1. Tổng quan đề tài Báo cáo tốt nghiệp Trang 8 Sử dụng các tính năng (feature) mới nhất của PHP Sử dụng mô hình MVC (Model – View – Controller) Hệ thống xác thực (Authentication) và ủy quyền (Authorization) tuyệt vời Có hệ thống tài liệu chi tiết, dễ hiểu Cộng đồng hỗ trợ đông đảo Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh Sử dụng composer để quản lý PHP package Sử dụng npm để quản lý các gói Javascript, giao diện Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade) Hỗ trợ routing mềm dẻo ‒ Mô hình MVC (Model – View – Controller) của Laravel Laravel được phát triển từ Symfony Framework nên nó kế thừa mô hình MVC của Symfony, tương tự như các PHP Framework khác. Dưới đây là luồng hoạt động của Laravel: Tóm tắt lại sơ đồ trên là thế này: Khi người dùng gửi một yêu cầu lên hệ thống, hệ thống sẽ gửi về cho Controller xử lý các yêu cầu của người dùng. Tổng quan đề tài Báo cáo tốt nghiệp Trang 9 Trong quá trình làm việc đó, Controller sẽ phải thông qua lớp Model nếu muốn làm việc với Cơ sở dữ liệu (DataBase).
Sau khi xử lý xong, Model sẽ đưa dữ liệu về cho Controller, Controller tiếp tục đưa sang View và View hiển thị lại cho người dùng kết quả cuối cùng. Giới thiệu về MySQL Hình 1.7: Php MySQL ‒ MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server. Với RDBMS là viết tắt của Relational Database Management System. MySQL được tích hợp apache, PHP.
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s.
‒ Ưu điểm của MySQL Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạ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 khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao. Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp. Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết.
Tổng quan đề tài Báo cáo tốt nghiệp Trang 10 Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi. - Nhược điểm của MySQL Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kè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: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác. Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL.
Tổng quan đề tài Báo cáo tốt nghiệp Trang 11 CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Danh sách các Actor Bảng 2.1: Danh sách các Actor STT Tên Actor Ý nghĩa Người quản lý là người có toàn quyền tương tác với hệ thống, quyền sử dụng tất cả các chức năng 1 Admin mà website xây dựng, điều khiển và kiểm soát mọi hoạt động của website. Người dùng ở đây là những người truy cập vào website, có thể đăng ký làm thành viên hoặc 2 Người dùng không.
Người dùng chỉ có một số quyền nhất định đối với website. Danh sách các chức năng Bảng 2.2: Danh sách các chức năng Tên chức STT Mô tả Actor năng Người dùng sau khi đăng ký trở thành thành viên đăng 1 Đăng nhập Admin, Người dùng nhập tiếp tục sử dụng các chức năng trên website. Người dùng tạo tài khoản để 2 Đăng ký sử dụng thêm các chức năng Admin, Người dùng khác của thành viên. Người dùng và Admin có 3 Đăng xuất thể đăng xuất khi không sử Admin, Người dùng dụng website nữa.
Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 12 Người dùng có thể đặt mua 4 Đặt mua sản phẩm sau khi đăng nhập Người dùng website. Người dùng xem và nhấn vào nút “Thanh toán”. Hệ thống xác nhận thông tin và hiển thị trang thanh toán. 5 Thanh toán Người dùng Người dùng nhập đầy đủ thông tin.
Hệ thống đưa ra thông báo và quay trở lại trang giỏ hàng. Người dùng có thể xem Xem thông 6 thông tin sản phẩm có trên Người dùng tin sản phẩm website. Tìm kiếm Người dùng có thể tìm kiếm 7 Admin, Người dùng sản phẩm các sản phẩm trên website. Quản lý Giỏ Cho phép người dùng có 8 Người dùng hàng thể: thêm, xoá sản phẩm.
Cho phép admin có thể: + Thêm mới Quản lý sản 9 + Chỉnh sửa Admin phẩm + Xem chi tiết (Hiển thị) + Xoá Quản lý tài Cho phép admin có thể: 10 khoản người Admin dùng + Thêm mới Chương 2. Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 13 + Chỉnh sửa + Xem chi tiết (Hiển thị) + Xoá Cho phép admin có thể: + Thêm mới Quản lý đơn 11 + Chỉnh sửa Admin hàng + Xem chi tiết (Hiển thị) + Xoá Cho phép admin có thể: + Thêm mới Quản lý loại 12 Admin sản phẩm + Chỉnh sửa + Xem chi tiết (Hiển thị) + Xoá Cho phép admin có thể: + Thêm mới Quản lý 13 Admin slide + Chỉnh sửa + Xem chi tiết (Hiển thị) + Xoá Cho phép admin có thể: + Thêm mới Quản lý mã 14 Admin giảm giá + Chỉnh sửa + Xem chi tiết (Hiển thị) + Xoá Chương 2. Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 14 Cho phép admin có thể: + Thêm mới Quản lý 15 Admin ngôn ngữ + Chỉnh sửa + Xem chi tiết (Hiển thị) + Xoá 2. Biểu đồ use case 2.
Biểu đồ use case mức tổng quát Hình 2.1: Use case tổng quát 2. Use case quản lý sản phẩm Chương 2. Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 15 Hình 2.2: Use case quản lý sản phẩm 2. Use case quản lý ngôn ngữ Hình 2.3: Use case quản lý ngôn ngữ 2.
Use case quản lý tài khoản Hình 2.4: Use case quản lý tài khoản 2. Use case quản lý mã giảm giá Chương 2. Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 16 2. Use case quản lý slide Hình 2.5: Use case quản lý slide 2.
Use case quản lý thương hiệu Hình 2.6: Use case quản lý thương hiệu 2. Use case quản lý đơn hàng Hình 2.7: Use case quản lý đơn hàng 2. Đặt tả use case Chương 2. Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 17 Khách hàng - Use Case đăng ký Use Case – Đăng ký Tên Đăng ký Định nghĩa Khách hàng muốn đăng ký làm thành viên của hệ thống Actors Khách hàng Điều kiện tiên quyết Khách hàng ghé thăm và chưa là thành viên của hệ thống Dòng sự kiện Dòng sự kiện chính 1.
Từ giao diện chính khách hàng chọn đăng nhập. Sau đó chọn đăng ký. Hệ thống hiển thị giao diện đăng ký, yêu cầu khách hàng nhập thông tin cá nhân vào form đăng ký 3. Khách hàng nhập thông tin cá nhân sau đó nhấn nút đăng ký 4.
Hệ thống kiểm tra thông tin đăng ký đã hợp lệ chưa, nếu chưa A1 5. Hệ thống cập nhật thông tin của khách hàng vào danh sách khách hàng. Dòng sự kiện thay thế A1 Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Khách hàng trở thành thành viên của hệ thống. - Use Case đăng nhập Use Case – Đăng nhập Tên Đăng nhập Định nghĩa Khách hàng muốn đăng nhập vào hệ thống Actors Khách hàng Điều kiện tiên quyết Thành viên chưa đăng nhập vào hệ thống.
Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 18 Dòng sự kiện Dòng sự kiện chính 1. Từ giao diện khách hàng chọn đăng nhập 2. Hệ thống hiển thị giao diện đăng nhập, yêu cầu khách hàng nhập tên tài khoản và mật khẩu 3. Khách hàng nhập tên tài khoản và mật khẩu, chọn đăng nhập 4 Hệ thống kiểm tra thông tin tài khoản và mật khẩu, nếu nhập sai tên tài khoản và mật khẩu A1 Dòng sự kiện thay thế A1 Quay lại màn hình đăng nhập Điều kiện sau Khách hàng đăng nhập thành công và có thể sử dụng các chức năng mà hệ thống cung cấp.
- Use Case tìm kiếm Use Case – Tìm kiếm Tên Tìm kiếm Định nghĩa Cho phép tìm kiếm các sản phẩm Actors Khách hàng Điều kiện tiên quyết Không Dòng sự kiện Dòng sự kiện chính 1. Khách hàng kích vào thanh tìm kiếm 2. Khách hàng nhập tên sản phẩm cần tìm vào thanh tìm kiếm 3. Hệ thống sẽ kiểm tra thông tin tìm kiếm 5.
Nếu sản phẩm tồn tại thì kết quả tìm kiếm sẽ được hiển thị Dòng sự kiện thay thế Không Điều kiện sau Hiển thị danh sách kết quả tìm kiếm - Use Case xem chi tiết sản phẩm Chương 2. Phân tích thiết kế hệ thống Báo cáo tốt nghiệp Trang 19 Use Case – Xem chi tiết sản phẩm Tên Xem chi tiết sản phẩm Định nghĩa Cho phép khách hàng xem chi tiết về các sản phẩm có trong website Actors Khách hàng Điều kiện tiên quyết Dòng sự kiện Dòng sự kiện chính 1. Khách hàng chọn sản phẩm cần xem 2. Hệ thống hiển thị thông tin chi tiết về sản phẩm đã chọn Dòng sự kiện thay thế Không Điều kiện sau Hiển thị thông tin chi tiết sản phẩm - Use Case thêm sản phẩm vào giỏ hàng Use Case – Thêm sản phẩm vào giỏ hàng Tên Thêm sản phẩm vào giỏ hàng Định nghĩa Cho phép khách hàng thêm sản phẩm muốn mua vào giỏ hàng Actors Khách hàng Điều kiện tiên quyết Sản phẩm đã được chọn Dòng sự kiện Dòng sự kiện chính 1.