CHƯƠNG 1. Lý do chọn đề tài Hiện nay, rất nhiều người có sở thích đọc tiểu thuyết cũng như tìm hiểu về những cuốn tiểu thuyết nước ngoài nhưng lại không biết bắt đầu từ đâu. Họ cần một nơi để tìm kiếm những cuốn tiểu thuyết phù hợp với bản thân. Đồng thời, công việc quản lý ở các cửa hàng đã và đang được dần được chuyển từ giấy tờ sang các cơ sở dữ liệu để cắt giảm chi phí cũng như tránh xảy ra những sai sót không đáng có.
Việc quản lý sản phẩm thông qua văn bản cũng sẽ gây ra rất nhiều khó khăn trong việc tìm kiếm thông tin về một mặt hàng hay thay đổi thông tin của mặt hàng đó. Vì vậy, các phần mềm quản lý đã và đang được phát triển và cải tiến để hỗ trợ cho công tác quản lý. Việc sử dụng công nghệ thông tin trong công tác quản lý không chỉ giảm đi những bất cập trong công tác quản lý mà còn nâng cao hiệu xuất công việc cũng như giảm đi khối lượng công việc khi quản lý. Từ những lý do trên, em đã chọn đề tài: “Xây dựng website bán sách sử dụng laravel” nhằm muc đích giúp cho người quản lý có thể cập nhật thông tin chính xác về sản phẩm, giá cả, v.v cùng với những chức năng quản lý dễ sử dụng cũng như một giao diện web thân thiện với khách hàng.
Mục tiêu thực hiện đề tài 1. Mục tiêu tổng quát - Phát triển website thương mại điện tử - Thiết kế giao diện quản lý - Tăng doanh thu bán hàng và giảm chi phí trong công tác quản lý 1. Mục tiêu cụ thể - Trang web, trang quản lý giao diện đơn giản, ưa nhìn. - Người sử dụng dễ dàng dùng các chức năng của trang web.
- Người quản lý cần phải đăng nhập để sử dụng các chức năng quản lý. Nội dung thực hiện Vì là một website bán sách, việc giới thiệu các sản phẩm của cửa hàng đến với người dùng cần phải có thông về sản phẩm cũng như giá cả chính xác. Nên các chức năng cần thiết gồm: 7|Page - Các chức năng quản lý đơn hàng, danh mục sản phẩm, nhà xuất bản, sản phẩm - Hiển thị những sản phẩm đang được bày bán 1. Phương pháp thực hiện Chia hệ thống thành hai phần: Phần user: là những người có nhu cầu mua sách, họ sẽ tìm kiếm những cuốn sách hợp thị hiếu và đặt mua các chúng.
Vì vậy phần mềm cần phải có các chức năng như: - Chức năng tìm kiếm, lọc sản phẩm. Phần admin: là người có quyền kiểm soát mọi hoạt động của hệ thống. Người này được cấp username và password để đăng nhập vào hệ thống và bắt đầu phiên làm việc của mình, các chức năng bao gồm: - Chức năng cập nhật, thêm, sửa, xóa các danh mục, ngôn ngữ, sản phẩm. - Kiểm tra đơn đặt hàng và thay đổi tình trạng đơn đặt hàng.
Công nghệ sử dụng 1. Ngôn ngữ PHP Là ngôn ngữ kịch bản phổ biến nhất của thế giới vì nhiều lý do khác nhau - tính linh hoạt, dễ dàng sử dụng, v.v nhưng đôi khi viết mã PHP có thể trở nên đơn điệu và rác rối. Đó là lúc PHP Framework trở thành một công cụ đáng tin cậy. PHP framework làm cho sự phất triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp một cấu trúc cơ bản để viết những ứng dụng đó.
Nói cách khác, PHP framework giúp đỡ thúc đẩy phát triển các ứng dụng nhanh chóng, giúp tiết kiệm thời gian, giúp xây dựng các ứng dụng ổn định hơn, và làm giảm số lượng mã hóa lặp đi lặp lại cho lập trình viên. Framework còn giúp người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn bằng cách đảm bảo tương tác cơ sở dữ liệu phù hợp, mã (PHP) và giao diện (HTML) một cách riêng biệt. Điều này cho phép một người dành nhiều thời gian tạo ra các ứng dụng web thực tế, thay vì dành thời gian viết các đoạn mã lặp đi lặp lại trong một project. Laravel Framework Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC.
PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn bằng cách cung cấp một cấu trúc cơ bản để 8|Page xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp thúc đẩy nhanh chóng quá trình phát triển ứng dụng, tiết kiệm thời gian, tăng sự ổn định cho ứng dụng, giảm thiểu số lần phải viết lại code cho lập trình viên. MVC là mẫu kiến trúc phần mềm trên máy tính nhằm mục đích tạo lập giao diện cho người dùng. Theo đó, hệ thống MVC được chia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao diện người dùng.
Ba thành phần ấy bao gồm: - 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… Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tin xuất hiện trong giao diện người dùng, bảo đảm các nguyên tắc nghề nghiệp của lập trình viên. MySQL MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System - RDBMS) hoạt động theo mô hình client-server được phát hành vào những thập niên 90. 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. Ưu điểm của MySQL - MySQL là một cơ sở dữ liệu đa nền tảng tốc độ cao, ổn định, dễ sử dụng, cung cấp một tập hợp lớn các chức năng tiện ích rất mạnh mẽ.
- Do MySQL có nhiều tính năng bảo mật, tất cả đều mức cao nên nó rất lý tưởng cho các ứng dụng truy cập cơ sở dữ liệu trên Internet. - MySQL hỗ trợ nhiều hàm SQL được mong đợi của một hệ quản trị cơ sở dữ liệu quan hệ, cả trực tiếp và gián tiếp. - MySQL có thể xử lý một lượng lớn dữ liệu và nếu cần và nó có thể mở rộng nhanh chóng. 9|Page - Việc áp dụng một số tiêu chuẩn cho phép MySQL hoạt động rất hiệu quả và tiết kiệm chi phí, tăng tốc độ thực thi.
Nhược điểm của MySQL: - Theo thiết kế, MySQL không được tạo ra để 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. - Cách các chức năng cụ thể được xử lý với MySQL 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. - Nếu số bản ghi lớn dần lên thì việc truy xuất dữ liệu sẽ trở lên 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. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.
Phân tích hệ thống 2. Các Actor sử dụng phần mềm STT Tên Actor Ý nghĩa Admin có toàn quyền điều hành, quản lý, theo dõi 1 Admin mọi hoạt động của hệ thống. Có thể thực hiện mọi chức năng có trong hệ thống quản trị Customer có thể truy cập vào website, tìm kiếm, đặt 2 Customer mua, đăng ký, đăng nhập, v. Các Actor sử dụng phần mềm 2.
Các chức năng của hệ thống i) Các chức năng trên website STT Tên chức năng Mô tả Actor Người dùng có thể đặt mua sản phẩm 1 Đặt hàng Customer trên website. Người dùng nhấn vào nút “Thêm vào giỏ hàng”. Sau đó chọn giỏ hàng và nhấn vào nút 2 Thanh toán “Thanh toán” Customer Hệ thống kiểm tra thông tin và hiển thị trang thanh toán (cần phải đăng nhập). Hệ thống đưa ra thông báo.
Xem thông tin Người dùng có thể xem thông tin sản 3 Customer sản phẩm phẩm có trên website. Tìm kiếm sản Người dùng có thể tìm kiếm các sản 4 Customer phẩm phẩm trên website. Quản lý giỏ Cho phép người dùng có thể: xóa sản 5 Customer hàng phẩm trong giỏ hàng. Các chức năng trên website 11 | P a g e ii) Các chức năng quản trị STT Tên chức năng Mô tả Actor Admin đăng nhập để sử dụng các 1 Đăng nhập chức năng trong phần quản trị Admin website.
Admin có thể đăng xuất khi không sử 2 Đăng xuất dụng các chức năng trong phần quản Admin trị nữa hoặc kết thúc phiên làm việc. Cho phép admin có thể: + Thêm mới Quản lý danh 3 + Chỉnh sửa Admin mục sản phẩm + Ẩn/Hiển thị + Xóa Cho phép admin có thể: + Thêm mới Quản lý ngôn 4 + Chỉnh sửa Admin ngữ + Ẩn/Hiển thị + Xóa Cho phép admin có thể: + Thêm mới Quản lý sản 5 + Chỉnh sửa Admin phẩm + Ẩn/Hiển thị + Xóa Cho phép admin có thể: + Xem đơn hàng Quản lý đơn 6 Admin hàng + Ẩn/Hiển thị + Thay đổi trạng thái Bảng 3. Các chức năng quản trị 12 | P a g e 2. Biểu đồ Usecase tổng quát Hình 1.
Biểu đồ Usecase tổng quát 2. Usecase login Hình 2. Biểu đồ Usecase login 13 | P a g e Use Case – Login Tên Login Định nghĩa Admin muốn vào đăng nhập vào hệ thống Actor Admin Độ ưu tiên Bắt buộc Điều kiện tiên quết Tài khoản đã được tạo sẵn Luồng tương tác chính 1. Hệ thống hiển thị giao diện đăng nhập, yêu cầu admin nhập email và mật khẩu 2.
Admin nhập email và mật khẩu, chọn đăng nhập 3. Hệ thống xác thực địa chỉ email và mật khẩu thành công Luồng tương tác ngoại lệ 3a. Hệ thống xác thực địa chỉ email và mật khẩu không thành công và hiển thị thông báo 3a1. Admin chọn lệnh “quên mật khẩu” để lấy một mật khẩu mới Hậu điều kiện Admin đăng nhập thành công và có thể sử dụng các chức năng trong hệ thống Bảng 4.
Mô tả usecase login 2. Usecase quản lý danh mục Hình 3.