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

Trung phú NA BÁo cáo đồ án website bán sách minh trang bằng laravel đồ án

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN SÁCH CHO NHÀ SÁCH MINH TRANG
Giảng viên hướng dẫn:
Sinh viên thực hiện:
Lớp:
Mã sinh viên:
Chuyên ngành:

Đặng Thị Kim Anh
Nguyễn Thu Hoa
69DCTT21
69DCTT20059
Công nghệ thông tin

HÀ NỘI – 2022


LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các thầy
cô của trường Đại học Công nghệ Giao thông vận tải và đặc biệt là các
thầy cô khoa Công nghệ thông tin của trường đã tạo điều kiện cho em
hoàn thành đồ án tốt nghiệp này.
Em cũng xin chân thành cảm ơn cơ Đặng Thị Kim Anh đã nhiệt tình
hướng dẫn chỉ bảo em những kiến thưc bài học, cũng như những kiến thức
thực tế trong suốt quá trình thực hiện đề tài.
Mặc dù đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho
phép nhưng chắc chắn sẽ khơng tránh khỏi những thiết sót. Em rất mong


nhận được sự thơng cảm, góp ý và tận tình chỉ bảo của quý thầy cô và các
bạn.
Em xin chân thành cảm ơn!



MỤC LỤC

DANH MỤC HÌNH
Hình 2.1. Mơ hình MVC trong PHP
Hình 2.2. Mơ hình hoạt động của MySQL
Hình 3.1. Các tác nhân của hệ thống
Hình 3.3. Use Case của tác nhân CUSTOMER
Hình 3.4. Use Case của tác nhân MEMBER
Hình 3.5. Use Case Quản lý danh mục
Hình 3.6. Use Case Quản lý sản phẩm
Hình 3.7. Use Case Quản lý đánh giá và bình luận
Hình 3.8. Use Case Quản lý đơn đặt hàng
Hình 3.9. Use Case Quản lý tài khoản admin
Hình 3.10. Use Case Quản lý khách hàng


Hình 3.11. Use Case Quản lý nhà cung cấp
Hình 3.12. Use Case thống kê
Hình 3.13. Biểu đồ hoạt động đăng nhập
Hình 3.14. Biểu đồ hoạt động đăng ký
Hình 3.15. Biểu đồ hoạt động xem danh sách sản phẩm
Hình 3.16. Biểu đồ hoạt động thêm sản phẩm vào giỏ hàng
Hình 3.17. Biểu đồ hoạt động xóa sản phẩm trong giỏ hàng
Hình 3.18. Biểu đồ hoạt động đặt hàng

Hình 3.19. Biểu đồ hoạt động bình luận & đánh giá
Hình 3.20. Biểu đồ hoạt động cập nhật thơng tin cá nhân
Hình 3.21. Biểu đồ tuần tự đăng nhập
Hình 3.22. Biểu đồ tuần tự đăng ký
Hình 3.23. Biểu đồ tuần tự thêm dữ liệu vào hệ thống
Hình 3.24. Biểu đồ tuần tự cập nhật dữ liệu vào hệ thống
Hình 3.25. Biểu đồ tuần tự xóa dữ liệu trong hệ thống
Hình 3.26. Biểu đồ tuần tự tìm kiếm dữ liệu trong hệ thống
Hình 3.27. Biểu đồ tuần tự đặt hàng
Hình 3.28. Biểu đồ lớp
Hình 4.1. Giao diện trang chủ 1
Hình 4.2. Giao diện trang chủ 2
Hình 4.3. Giao diện trang chủ 3
Hình 4.4. Giao diện xem chi tiết sản phẩm
Hình 4.5. Giao diện đăng nhập/đăng ký
Hình 4.6. Giao diện giỏ hàng
Hình 4.7. Giao diện thanh tốn
Hình 4.8. Giao diện quản lý sản phẩm
Hình 4.9. Giao diện thêm sản phẩm
Hình 4.10. Giao diện quản lý đơn hàng
Hình 4.11. Giao diện báo cáo thống kê



Chương 1. Giới thiệu lý do chọn đề tài
Sự ra đời của công nghệ thông tin làm phong phú bộ mặt xã hội, đời
sống con người được nâng cao rõ rệt, đóng góp to lớn cho sự phát triển của
nhân loại. Với xu thế tồn cầu hố nền kinh tế thế giới, đặc biệt là nhu cầu
trao đổi hàng hoá của con người ngày càng tăng cả về số lượng và chất
lượng, nhu cầu sử dụng Internet ngày càng nhiều và các hình thức kinh

doanh trên mạng ngày càng đa dạng và phong phú rất được nhiều người sử
dụng và ưa chuộng.
Sách là một nguồn kiến thức vơ tận, chính vì vậy ai cũng ln mong
muốn sở hữu cho mình những nguồn thơng tin có giá trị một cách nhanh
chóng với mức giá tốt nhất. Đối với một cửa hàng hay shop, việc quảng bá
và giới thiệu đến khách hàng các sản phẩm mới, đáp ứng được nhu cầu của
khách hàng là rất cần thiết. Vấn đề đặt ra là thông tin trên các website bán
sách phải đường xuyên cập nhật, chính xác để rút ngắn được khoảng cách
giữa người mua và người bán, đưa thông tin về các sản phẩm mới nhanh
chóng đến cho khách hàng. Nếu khách hàng muốn tìm một cuốn sách hay,
nhanh chóng tiện lợi phù hợp với sở thích, cách đơn giản nhất là truy cập
vào các website bán sách, chúng ta có thể đọc qua nội dung tóm tắt của
sách, các thơng tin liên quan như: tác giả, năm xuất bản,... hơn thế nữa là
có thể đặt sách và thanh tốn trực tuyến. Những thông tin về sách và về
hiệu sách sẽ được khách hàng biết đến nhiều hơn, nhờ đó mà thương hiệu
sẽ được quảng bá rộng rãi. Đồng thời dễ dàng cho người quản trị trong
việc quản lý sách, cập nhật các loại sách mới, quản lý khách hàng.
Là sinh viên được trang bị những kiến thức của ngành công nghệ
thông tin với những kiến thức đã tiếp thu và vận dụng lý thuyết đó vào
cơng việc thực tế nên em đã chọn đề tài “Thiết kế và xây dựng website
bán sách cho nhà sách Minh Trang” để thực hiện đồ án tốt nghiệp của
7


mình với mục đích nghiên cứu và xây dựng một trang web bán sách, giúp
người dùng có thể dễ dàng mua sắm mà không cần phải đi lại.
1.1. Mục tiêu của đề tài
Việc xây dựng ứng dụng web bán sách nhằm giúp nhà sách có thể giải
quyết những khó khăn hiện tại về nghiệp vụ liên quan một cách nhanh
chóng, hiệu quả và chính xác, ít tốn thời gian hơn. Triển khai bán hàng trên

website trên thực tế, giúp mở rộng thị trường sách online cùng với đà phát
triển của công nghệ thông tin.
1.2. 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 đề:
+ Nghiên cứu và tìm hiểu về cách thức và hoạt động mua bán trên website.
+ Ứng dụng được xây dựng bằng ngơn ngữ lập trình PHP và cơ sở dữ liệu
xây dựng bằng MySQL.
1.3. Kết quả dự kiến đạt được
- Xây dựng được 1 hệ thống để quản lý, giới thiệu và bán sách có giao diện
dễ nhìn, thân thiện và người dùng dễ dàng thao tác. Hoạt động của hệ
thống cần đảm bảo được các yêu cầu sau:
Quản lý danh mục sản phẩm, thông tin chi tiết sản phẩm để có thể
phân loại sao cho khoa học, dễ kiểm sốt về vịng đời sản phẩm.
Cập nhật dữ liệu thông tin khách hàng và đơn đặt hàng của khách.
Sau khi có danh sách đơn hàng, nhân viên phải thực hiện xác nhận và xử lý
đơn hàng.
Cập nhật thông tin nhân viên, dễ dàng theo dõi và phân quyền cho
nhân viên thực hiện các chức năng bán hàng. Chức năng thống kê doanh
thu, thống kê số lượng sách.
Các đầu sách được phân loại theo các danh mục sản phẩm, được hiển
thị một cách rõ ràng với các thơng tin chi tiết, hình ảnh minh họa. Khách
8


hàng có thể duyệt sản phẩm theo phân loại sách được liệt kê sẵn hoặc có
thể sử dụng chức năng tìm kiếm để tìm kiếm bằng cách cung cấp thơng tin
về sản phẩm. Sau khi tìm kiếm, tham khảo các thơng tin về sản phẩm,
khách hàng có thể đi đến quyết định là mua sản phẩm nào đó bằng cách
đưa sản phẩm vào trong giỏ hàng. Khách hàng có thể thay đổi số lượng,
thêm hoặc xóa sản phẩm trong giỏ hàng và thực hiện đặt hàng cũng như

tiến hành thanh tốn.
- Hồn thành báo cáo chi tiết đồ án tốt nghiệp.

9


Chương 2. Kiến thức nền tảng
2.1. Cơ sở lý thuyết
2.1.1. Ngôn ngữ thiết kế website
 HTML:
HTML(Hypertext Markup Language – Ngôn ngữ đánh dấu siêu văn
bản) là một sự định dạng để hiển thị một trang Web. Các trang Web thực ra
khơng có gì khác ngồi văn bản cùng với các tag HTML được sắp xếp
đúng cách hoặc các đoạn mã để trình duyệt Web biết cách thơng dịch và
hiển thị chúng lên màn hình. Hiện nay, phiên bản mới HTML5 có một số
tính năng ưu việt hơn so với phiên bản cũ:


Định nghĩa nhiều ảnh cho thiết kế responsive:
Với HTML 5 có thể dùng thẻ cùng với thuộc tính srcset để
tạo nên ảnh responsive. Thẻ đại diện cho một khung ảnh, cho
phép nhà phát triển khai báo nguồn ảnh khác nhau để thích ứng với kích
thước khung hình, mật độ điểm ảnh màn hình, loại màn hình.... trong thiết
kế responsive.



Hiển thị hoặc ẩn thơng tin thêm:
Với thẻ <details> và <summary> có thể thêm thơng tin cho một đoạn
nội dung, các thông tin thêm mặc định không hiển thị. Trong code, phải đặt

thẻ <summary> trong thẻ <details>, trong thẻ <summary> có thể đặt thơng
tin thêm muốn ẩn.



Thêm chức năng cho menu ngữ cảnh:
Với thẻ <menuitem> và <type=”context”>, có thể thêm chức năng tùy
chỉnh vào menu ngữ cảnh của trình duyệt. Cần gán thẻ <menuitem> là
thành phần của thẻ <menu>. Thẻ <menuitem> có 3 loại thuộc tính khác
nhau là “checkbox”, “command”, “radio”. Nó có khả năng thêm nhiều hơn
một menu.
10




Lồng ghép header và footer:
HTML 5 cho phép lồng ghép header và footer trong nội dung của một
section. Tính năng này có thể hữu ích nếu chúng ta muốn thêm sectioning
element, chẳng hạn như <article>.



Sử dụng mật mã nonce cho style và script:
Với HTML 5 có thể thêm mã cho style và script, có thể sử dụng thuộc
tính nonce cùng với thẻ <script> và thẻ <style>. Mã nonce sẽ khởi tạo
những con số ngẫu nhiên và duy nhất, có thể phục hồi sau mỗi lần request
page, mã nonce có thể sử dụng trong bảo mật website.
 CSS:
CSS – được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn

ngữ HTML và XHTML. CSS là viết tắt của Cascading Style Sheets. CSS
được hiểu một cách đơn giản đó là cách mà chúng ra thêm các kiểu hiển thị
(font chữ, kích thước, màu sắc,…) cho một tài liệu Web. CSS có tác dụng
chính là:



Hạn chế tối thiểu việc làm rối HTML của trang Web bằng các thẻ quy
định kiểu dáng(chữ đậm, in nghiêng,...), giúp mã nguồn của trang Web trở
nên gọn gàng hơn.



Tách biệt nội dung trang Web và định dạng hiển thị, dễ dàng cho việc
thay đổi.



Tạo ra các kiểu dáng áp dụng được cho nhiều trang Web, tránh lặp lại
việc định dạng cho các trang Web giống nhau.

2.1.2. Ngơn ngữ lập trình
 Javascript:
Javascript là một ngơn ngữ lập trình của HTML và ứng dụng Web. Nó
được sử dụng phổ biến nhất, như một phần của các trang web. Chúng cho
phép client-server script tương tác với người sử dụng và tạo các trang web
động. Nó là một ngơn ngữ chương trình thơng dịch với các khả năng
hướng đối tượng.
11



Một số ưu điểm của JavaScript:


Tiêt kiệm băng thơng máy chủ:
Javascript sử dụng trong thiết kế website có thể giúp tiết kiệm băng
thông máy máy chủ vô cùng tốt bởi chúng được chạy trực tiếp trên máy
của người dùng. Gia tăng hiệu suất, kéo dài tuổi thọ máy chủ và tiết kiệm
diện tích băng thơng.



Linh hoạt vận hành, tương thích tốt:
Để thực thi, trình duyệt web chỉ cần tải file JavaScript về máy chủ từ
một tên miền riêng biệt hoặc nhúng thẳng vào file HTML và chạy mà
không cần tải thêm. Javascript có thể chạy được trên hầu hết các trình
duyệt phổ biến hiện nay.
Hầu hết các trình duyệt web đều có tích hợp sẵn trình thơng dịch ngơn
ngữ JavaScript, đảm bảo người dùng có thể sử dụng ngay mà khơng mất
cơng tải về trình duyệt, giảm tỷ lệ thực thi các chức năng của JavaScript.



Dễ dàng xử lý vấn đề:
Với lợi thế có nhiều trình duyệt hỗ trợ nên việc kiểm tra và xử lý vấn
đề dễ dàng hơn. Đa số các trình duyệt web hiện nay đều có cài sẵn các
công cụ xử lý lỗi Javascript trong bảng điều khiển trình duyệt. Javascript
sở hữu cấu trúc dễ đọc với các nguyên tắc rõ ràng nên việc xác định và gỡ
lỗi trở nên đơn giản hơn.




Nâng cao trải nghiệm người dùng:
Website sử dụng ngơn ngữ lập trình giúp thu hút người dùng bởi
những tính năng ưu việt, hình ảnh sinh động hấp dẫn, chức năng lướt và
tương tác nhanh nhạy. Nhờ những tính năng đó, người dùng cảm thấy thoải
mái, thích thú và tin dùng trang web hơn.
 PHP:
PHP là ngôn ngữ script được tạo cho các giao tiếp phía server. Do đó,
nó có thể xử lý các giao tiếp phiá server như thu thập dữ liệu, biểu mẫu,
quản lý file trên server, sửa đổi cơ sở dữ liệu và nhiều hơn.
12


Ngôn ngữ này ban đầu được tạo ra bởi Lerdorf để theo dõi khách truy
cập vào trang chủ cá nhân của anh. Khi trở nên phổ biến, Lerdorf phát
hành nó thành dự án nguồn mở. Quyết định này khuyến khích các nhà phát
triển sử dụng, sửa chữa và cải thiện, biến nó thành ngơn ngữ script sử dụng
ngày nay.
Dù PHP được coi là ngơn ngữ script vì mục đích chung, nhưng nó
được sử dụng rộng rãi nhất để phát triển web. Khả năng nhúng vào file
HTML là một trong những tính năng nổi bật của nó.
Nếu khơng muốn người khác xem mã nguồn, có thể ẩn bằng ngơn
ngữ script này. Đơn giản, chỉ cần viết code vào file PHP và nhúng vào
HTML thì mọi người sẽ khơng biết được nội dung gốc.
2.1.3. Hệ quản trị cơ sở dữ liệu:
Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức,
thường được lưu trữ và truy cập điện tử từ hệ thống máy tính. Khi cơ sở dữ
liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ
thuật thiết kế và mơ hình hóa chính thức.

Hệ quản trị cơ sở dữ liệu (Database Management System) là một
phần mềm để lưu trữ và truy xuất dữ liệu của người dùng trong khi xem
xét các biện pháp bảo mật thích hợp. Nó bao gồm một nhóm các chương
trình thao tác cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu chấp nhận yêu cầu dữ
liệu từ một ứng dụng và hướng dẫn hệ điều hành cung cấp dữ liệu cụ thể.
Trong các hệ thống lớn, nó giúp người dùng và phần mềm bên thứ ba lưu
trữ và truy xuất dữ liệu.
Hệ quản trị cơ sở dữ liệu tạo ra với 3 chức năng chính:


Cung cấp môi trường tạo lập cơ sở dữ liệu: Hệ quản trị CSDL đóng vai
trị cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu để mô tả,
khai báo kiểu dữ liệu, các cấu trúc dữ liệu.



Cung cấp cách cập nhật và khai thác dữ liệu: Hệ quản trị CSDL cung cấp
cho người dùng ngôn ngữ thao tác dữ liệu để diễn tả các yêu cầu, các thao
13


tác cập nhật và khai thác cơ sở dữ liệu: Cập nhật (thêm, sửa, xóa dữ liệu),
Khai thác (tìm kiếm, xuất dữ liệu).


Cung cấp các cơng cụ kiểm sốt, điều khiển các truy cập vào cơ sở dữ
liệu: Nhằm đảm bảo thực hiện một số yêu cầu cơ bản của hệ cơ sở dữ liệu.
Như: Đảm bảo an ninh và ngăn chặn các truy cập bất hợp pháp, duy trì tính
nhất qn của dữ liệu...


2.2. Cơng cụ sử dụng
2.2.1. Thư viện Jquery
JQuery là một thuật ngữ được dùng rất nhiều trong thời đại công nghệ
hiện nay. Kể từ khi phát triển 2.0, cụm từ này đã được dùng khá phổ biến.
JQuery là một thư viện được xây dựng trên Javascript. Chúng được tạo ra
với mục đích hỗ trợ các lập trình viên giải quyết các khó khăn khi sử dụng
Javascript. JQuery được tích hợp từ nhiều module chun biệt.
Có thể hiểu JQuery là thư viện Javascript đa tính năng, nhanh chóng
và tiện lợi. Thư viện này được tạo bởi John Resig với phương châm ưu
việt: “Write less, do more” - Viết ít hơn, năng suất hơn.
Một số tính năng quan trọng được hỗ trợ bởi JQuery:


Thao tác DOM: JQuery giúp dễ dàng lựa chọn các phần tử DOM để
duyệt một cách dễ dàng như sử dụng CSS, và chỉnh sửa nội dung của
chúng sử dụng Selector mã nguồn mở.



Hỗ trợ AJAX: JQuery giúp phát triển một site giàu tính năng và phản hồi
tốt bởi cơng nghệ AJAX.



Xử lý sự kiện: JQuery giúp tương tác người dùng tốt hơn bằng việc xử lý
các sự kiện đa dạng mà không làm cho HTML bị rối.



Cập nhật và hỗ trợ các cơng nghệ mới nhất: JQuery hỗ trợ CSS3 Selector

và cú pháp XPath cơ bản.



Hiệu ứng động: JQuery đi kèm rất nhiều hiệu ứng đẹp có thể sử dụng cho
các website.
14




Hỗ trợ hầu hết các trình duyệt hiện đại: JQuery hỗ trợ hầu hết các trình
duyệt hiện đại, làm việc tốt trên IE 6.0+, Safari 3.0+, Opera 9.0+, FF 2.0+
và Chrome.



Gọn nhẹ: JQuery là thư viện gọn nhẹ, nó có kích cỡ khoảng 19KB.

2.2.2. Mơ hình MVC
Mơ hình MVC là một mơ hình lập trình web được sử dụng rộng rãi
hiện nay, được viết tắt bởi ba từ Model – View – Controller, tương ứng với
ba bộ phận tạo nên cấu trúc của ứng dụng. Mỗi thành phần kiến trúc được
xây dựng để xử lý khía cạnh phát triển cụ thể của một ứng dụng.

Hình 2.1. Mơ hình MVC trong PHP
Chức năng cụ thể của từng bộ phận trong mô hình MVC:


View:

View là một phần của ứng dụng chịu trách nhiệm cho việc trình bày
dữ liệu. Thành phần này được tạo bởi dữ liệu thu thập từ dữ liệu mô hình,

15


và giúp người dùng có cái nhìn trực quan về trang web, cũng như ứng
dụng.


Model:
Model của kiến trúc MVC là thành phần chính đảm nhiệm chức năng
lưu trữ dữ liệu và các bộ phận logic liên quan của toàn bộ ứng dụng. Model
chịu trách nhiệm cho các thao tác dữ liệu giữa Controller hoặc bất kỳ logic
nghiệp vụ liên quan nào khác như cho phép xem, truy xuất dữ liệu...



Controller:
Controller xử lý tương tác người dùng của ứng dụng. Nó xử lý dữ liệu
đầu vào từ bàn phím và chuột của người dùng, sau đó thơng báo tới View
và Model. Controller gửi các lệnh tới Model để thay đổi trạng thái của
Model. Controller cũng gửi các lệnh tương tự tới View để thực hiện các
thay đổi về giao diện.

2.2.3. 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 ngun đó, gắn kết
chúng lại với nhau và hồn chỉnh sản phẩm của mình.

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 mơ
hình 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:


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




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.



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



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



Artisan:
Cơng cụ dịng lệnh của Laravel được gọi là Artisan. Laravel đi kèm
với hàng ngàn lệnh được xây dựng sẵn.

2.2.4. MySQL
17



MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở
(Relational Database Management System, viết tắt là RDBMS) hoạt động
theo mơ hình client-server. MySQL là một trong số các phần mềm của
RDBMS, nhưng thường được cho là một vì độ q phổ biến của nó. Các
ứng dụng web lớn nhất như Facebook, Youtube, Google... đều dùng
MySQL cho mục đích lưu trữ dữ liệu.
Quy trình hoạt động khá đơn giản mỗi Client(máy khách) yêu cầu dữ
liệu từ Server(máy chủ), từ Server sẽ phản hồi lại các dữ liệu đó. Ví dụ khi
người dùng truy cập vào một trang web nào đó các Request sẽ gửi tới
Server, lúc này Server sẽ nhận được Request và bắt đầu gửi dữ liệu quay
lại máy người dùng để hiển thị thông tin trang web đó lên.

Hình 2.2. Mơ hình hoạt động của MySQL
Một số lý do chính khiến MySQL trở nên quan trọng:


Linh hoạt và dễ dùng: Có thể sửa source code để đáp ứng nhu cầu sử
dụng mà không phải thanh tốn thêm chí phí nào, q trình cài đặt cũng
đơn giản.



Hiệu năng cao: Bất kể lưu trữ dữ liệu lớn của các trang thương mại điện
tử hoặc những hoạt động kinh doanh lớn liên quan đến công nghệ thông
tin, MySQL cũng có thể đáp ứng.



An tồn: An tồn dữ liệu luôn là vấn đề quan trọng nhất khi chọn phần
mềm RDBMS. Với hệ thống phân quyền truy cập và quản lý tài khoản,

MySQL đặt tiêu chuẩn bảo mật rất cao.

2.2.5. XAMPP
18


XAMPP là chương trình tạo web server được ứng dụng trên các hệ
điều hành Linux, MacOS, Windows, Cross-platform, Solaris. XAMPP hoạt
động dựa trên sự tích hợp của 5 phần mềm chính là Cross-Platform(X),


Apache(A), MariaDB(M), PHP(P) và Perl(P):
X: Viết tắt của hệ điều hành mà nó hoạt động với: Linux, Windows và Mac



OS X.
Apache: Web Server mã nguồn mở Apache là máy chủ được sử dụng rộng
rãi nhất trên toàn thế giới để phân phối nội dung Web. Ứng dụng được



cung cấp dưới dạng phần mềm miễn phí bởi Apache Software Foundaton.
MySQL/MariaDB: Trong MySQL, XAMPP chứa một trong những hệ quản
trị cơ sở dữ liệu quan hệ phổ biến nhất trên thế giới. Kết hợp với Web
Server Apache và ngôn ngữ lập trình PHP, MySQL cung cấp khả năng lưu



trữ dữ liệu cho các dịch vụ Web.

PHP: Ngơn ngữ lập trình phía máy chủ PHP cho phép người dùng tạo các



trang Web hoặc ứng dụng động.
Perl: Ngôn ngữ kịch bản Perl được sử dụng trong hệ quản trị hệ thống, phát
triển Web và lập trình mạng.

19


Chương 3. Phân tích và thiết kế hệ thống
3.1. Khảo sát hệ thống
3.1.1. Khảo sát thực trạng
Khi tới cửa hàng bán sách Minh Trang, người dùng sẽ phải mua sách
bằng cách đi từng ngăn, từng gian hàng để tìm kiếm cuốn sách mà mình
muốn mua. Việc này làm người mua mất nhiều thời gian và cơng sức, cịn
kể việc khi họ tới nơi mà nhà sách đó khơng có cuốn sách họ muốn đọc.
Họ sẽ cảm thấy hụt hẫng, và phải tốn nhiều thời gian để tìm kiếm một cửa
hàng sách mới.
Vì vậy, việc tạo ra website chuyên cung cấp tất cả các loại sách và
đáp ứng mọi nhu cầu về sách mà khách hàng mong muốn. Website sẽ được
quản lý bởi một đội ngũ quản trị viên chuyên nghiệp của cửa hàng sách
Minh Trang, mọi thắc mắc về thông tin sách, cũng như việc tư vấn về các
loại sách của người dùng sẽ được xử lý nhanh chóng, khi người dùng để lại
liên hệ(tên, số điện thoại...).
Thay vì việc khách hàng phải đến tận cửa hàng, tìm những cuốn sách
muốn mua, thì giờ chỉ cần xem danh sách các đầu sách, xem chi tiết đầu
sách muốn mua, và lựa chọn những cuốn sách mình muốn mua đưa vào giỏ
hàng. Và tiến hành thanh toán khi đã nhập đầy đủ thông tin quan trọng(tên,

số điện thoại, địa chỉ nhận). Quản trị viên sẽ theo dõi các đơn hàng của
khách hàng. Khách hàng có thể ngồi và đợi người giao hàng giao sách tới
tận nơi và thnah toán.
Những đầu sách mới cũng dễ dàng tiếp cận với khách hàng nhờ vào
việc theo dõi những đầu sách nổi bật, sách được đánh giá tốt nhiều nhất…
Khách hàng có thể chọn xem chi tiết thông tin của các đầu sách, và xem
các đánh giá về sản phẩm sách.
Việc cập nhật sách ở các cửa hàng cũng trở nên dễ dàng. Sẽ có hệ
thống quản lý các sản phẩm, thống kê theo ngày việc nhập xuất sách. Các
20


đầu sách sẽ được cập nhật liên tục trên website, những cuốn sách có trong
chương trình khuyến mãi và hỗ trợ tìm kiếm theo các từ khóa khách hàng
cần, và lọc theo tác giả, đánh giá… Các danh mục sách cũng được liệt kê
rõ ràng, giúp khách hàng theo dõi dễ dàng. Quản lý sẽ thực hiện báo cáo
thống kê doanh thu, sách tồn kho… vào định kì cuối tháng, cuối quý, cuối
năm.
3.1.2. Yêu cầu với hệ thống
 Yêu cầu về chức năng:
- Phân quyền hệ thống.
- Khách hàng được xem các danh sách sách, chi tiết sách và tìm kiếm.
- Thành viên đã đăng ký hệ thống có thể tạo giỏ hàng và đặt hàng, đánh
giá các sản phẩm sách và quản lý các thông tin cá nhân của tài khoản.
- Quản trị viên đăng nhập với quyền cao nhất có tồn bộ chức năng quản
lý với hệ thống như quản lý tài khoản, quản lý loại sách, quản lý sách,
quản lý đơn hàng…
 Yêu cầu về giao diện:
- Giao diện thân thiện, dễ thao tác với người dùng.
- Màu sắc hài hòa.


3.2. Use Case của hệ thống
3.2.1. Giới thiệu tác nhân hệ thống

21


Hình 3.1. Các tác nhân của hệ thống
Các tác nhân của hệ thống:
- CUSTOMER: Là khách hàng mới truy cập hệ thống, có thể đăng ký
hệ thống, xem các sản phẩm sách, tìm kiếm sách mong muốn.
- MEMBER: Là thành viên đã đăng ký tài khoản tại website, có các
chức năng của khách hàng mới, và một số chức năng khác như đặt sản
phẩm, đánh giá và bình luận các sản phẩm sách, xem các thông tin của tài
khoản.
- ADMIN: Là quản trị viên của website, có các quyền quản lý cao
nhất như quản lý thuộc tính, quản lý sách, quản lý đánh giá và bình luận,
quản lý khách hàng và nhà cung cấp, quản lý đơn hàng…
3.2.2. UseCase tổng quát

22


Hình 3.2. Use Case tổng quát
3.2.3. UseCase của tác nhân CUSTOMER

23


Hình 3.3. Use Case của tác nhân CUSTOMER

 Ca sử dụng Đăng ký:


Mơ tả: Dành cho các khách hàng vãng lai đăng ký làm thành viên để
có thể mua hàng, và nhận nhiều ưu đãi vào những lần mua hàng sau.



Đầu vào: Người dùng chọn chức năng đăng ký, và nhập đầy đủ các
thơng tin bắt buộc.



Thực hiện: Kiểm tra các trường thông tin nhập vào, nếu đầy đủ và
đúng kiểu dữ liệu, sẽ lưu thông tin vào cơ sở dữ liệu và thêm thông tin
thành viên vào cơ sở dữ liệu.



Đầu ra: Đưa ra thơng báo đăng ký thành cơng, hoặc thất bại.

 Ca sử dụng Tìm kiếm sản phẩm:


Mơ tả: Dành cho các khách hàng tìm kiếm sản phẩm.



Đầu vào: Nhập từ khóa của sản phẩm muốn tìm kiếm, và nhấn chọn
tìm kiếm.




Thực hiện: Tìm kiếm trong CSDL theo từ khóa người dùng nhập vào.



Đầu ra: Hiển thị tất cả những sản phẩm đúng với từ khóa tìm kiếm,
hoặc khơng có sản phẩm nào trong trường hợp khơng có sản phẩm
nào có liên quan đến từ khóa.

 Ca sử dụng Xem chi tiết sản phẩm:


Mơ tả: Dành cho các khách hàng muốn xem chi tiết một sản phẩm.



Đầu vào: Khi người dùng chọn một sản phẩm cần xem.
24




Thực hiện: Tìm kiếm trong CSDL theo từ khóa người dùng nhập vào.



Đầu ra: Hiển thị tất cả những sản phẩm đúng với từ khóa tìm kiếm,
hoặc khơng có sản phẩm nào trong trường hợp khơng có sản phẩm

nào có liên quan đến từ khóa.

3.2.4. UseCase của tác nhân MEMBER

Hình 3.4. Use Case của tác nhân MEMBER
 Ca sử dụng Giỏ hàng:


Mơ tả: Giúp thành viên thêm, sửa, xóa và đặt các sản phẩm.



Đầu vào: Chọn thêm, sửa, xóa hay đặt hàng. Bổ sung thơng tin chính
xác vào các trường với chức năng đặt hàng.



Thực hiện: Kiểm tra thơng tin đã nhập vào của thành viên. Lưu hoặc
cập nhật hoặc xóa giỏ hàng. Lưu thơng tin đơn hàng hàng vào CSDL.
25


×