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

Trung phú NA báo cáo đồ án website bán hoa quả đức anh bằng php thuầ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 (6.91 MB, 81 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 HOA QUẢ SẠCH
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:

Nguyễn Đình Nga
Phạm Tiến Dn
68DCTM22
68DCTM20013
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ơ Nguyễn Đình Nga đã 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
LỜI CẢM ƠN
Chương 1. Giới thiệu lý do chọn đề tài................................................................1
1.1.

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

1.2.

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

1.3.

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

Chương 2. Kiến thức nền tảng..............................................................................3
2.1.

Cơ sở lý thuyết.......................................................................................3

2.1.1.

Phân tích và thiết kế hướng đối tượng............................................3


2.1.2.

Ngôn ngữ thiết kế web HTML và CSS.............................................4

2.1.3.

Ngôn ngữ kịch bản JavaScript........................................................6

2.1.4.

Mơ hình MVC..................................................................................7

2.1.5.

Ngơn ngữ lập trình PHP:................................................................8

2.1.6.

Hệ quản trị cơ sở dữ liệu:...............................................................9

2.2.

Công cụ sử dụng..................................................................................10

2.2.1.

Phần mềm trực tuyến Draw.io.......................................................10

2.2.2.


Thư viện Jquery.............................................................................10

2.2.3.

MySQL...........................................................................................11

2.2.5. Phần mềm PhpMyAdmin...................................................................12
Chương 3. Phân tích và thiết kế hệ thống...........................................................14
3.1.

Khảo sát hệ thống................................................................................14

3.1.1.

Khảo sát thực trạng.......................................................................14

3.1.2.

Yêu cầu với hệ thống triển khai.....................................................15

3.2.

Use Case của hệ thống.........................................................................16

3.2.1.

Use Case tổng quát........................................................................16

3.2.2.


Use Case hệ thống.........................................................................17

3.2.3.

Use Case của tác nhân khách hàng...............................................19

3.2.4.

Use Case quản lý danh mục..........................................................23

3.2.5.

Use Case quản lý sản phẩm..........................................................26


3.2.6.

Use Case quản lý thành viên.........................................................29

3.2.7.

Use Case quản lý bài viết..............................................................31

3.2.8.

Use Case quản lý đơn hàng...........................................................34

3.2.9.

Use Case quản lý kho....................................................................37


3.3.

Biểu đồ hoạt động của hệ thống..........................................................39

3.4.

Biểu đồ tuần tự của hệ thống...............................................................49

3.5.

Biểu đồ lớp..........................................................................................56

3.6.

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

Chương 4. Xây dựng chương trình.....................................................................61
4.1.

Giao diện trang người dùng.................................................................61

4.1.1.

Giao diện trang chủ.......................................................................61

4.1.2.

Giao diện đăng nhập khách hàng..................................................61


4.1.3.

Giao diện trang hoa quả sạch.......................................................61

4.1.4.

Giao diện trang lương thực thực phẩm.........................................62

4.1.5.

Giao diện trang chi tiết sản phẩm.................................................63

4.1.6.

Giao diện trang tin tức..................................................................64

4.1.7.

Giao diện trang giỏ hàng..............................................................65

4.1.8.

Giao diện trang thanh tốn hóa đơn.............................................66

4.1.9.

Giao diện trang chi tiết hóa đơn...................................................67

4.2.


Giao diện trang quản trị.......................................................................67

4.2.1.

Giao diện trang chủ.......................................................................67

4.2.2.

Giao diện đăng nhập quản trị.......................................................68

4.2.3.

Giao diện trang quản lý danh mục................................................68

4.2.4.

Giao diện trang quản lý kho..........................................................69

4.2.5.

Giao diện trang quản lý người dùng.............................................69

4.2.6.

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

4.2.7.

Giao diện trang quản lý đơn hàng................................................70


4.2.8.

Giao diện trang quản lý sản phẩm................................................71

Kết luận và hướng phát triển..............................................................................72
Tài liệu tham khảo..............................................................................................73


DANH MỤC HÌNH
Hình 2.1 Sự khác nhau của HTML và CSS
Hình 2.2 Mơ hình MVC
Hình 2.3 Giao diện phần mềm trực tuyết Draw.io
Hình 2.5. Giao diện phần mềm PhpMyAdmin
Hình 3.1. Use Case tổng quát
Hình 3.2. Use Case hệ thống
Hình 3.3. Use Case của tác nhân khách hàng
Hình 3.4. Use Case quản lý danh mục
Hình 3.5. Use Case quản lý sản phẩm
Hình 3.6. Use Case quản lý thành viên
Hình 3.7. Use Case quản lý bài viết
Hình 3.8. Use Case quản lý đơn hàng
Hình 3.9. Use Case quản lý kho
Hình 3.10. Biểu đồ hoạt động đăng ký
Hình 3.11. Biểu đồ hoạt động đăng nhập
Hình 3.13. Biểu đồ hoạt động tìm kiếm sản phẩm
Hình 3.14. Biểu đồ hoạt động thêm sản phẩm vào giỏ hàng
Hình 3.15. Biểu đồ hoạt động cập nhật sản phẩm trong giỏ hàng
Hình 3.16. Biểu đồ hoạt động xóa sản phẩm
Hình 3.17. Biểu đồ hoạt động xem chi tiết đơn hàng
Hình 3.18. Biểu đồ hoạt động thêm sản phẩm vào giỏ hàng

Hình 3.19. Biểu đồ hoạt động cập nhật sản phẩm trong giỏ hàng
Hình 3.20. Biểu đồ hoạt động xóa sản phẩm trong giỏ hàng
Hình 3.21. Biểu đồ hoạt động đặt hàng
Hình 3.22. Biểu đồ tuần tự đăng ký
Hình 3.23. Biểu đồ tuần tự xem đăng nhập
Hình 3.24. Biểu đồ tuần tự xem chi tiết sản phẩm


Hình 3.25. Biểu đồ tuần tự thêm sản phẩm
Hình 3.26. Biểu đồ tuần tự cập nhật sản phẩm
Hình 3.27. Biểu đồ tuần tự xóa sản phẩm
Hình 3.28. Biểu đồ tuần tự tìm kiếm sản phẩm
Hình 3.29. Biểu đồ tuần tự xem chi tiết đơn hàng
Hình 3.30. Biểu đồ tuần tự đặt hàng
Hình 3.31. Biểu đồ lớp
Hình 4.1. Giao diện trang chủ
Hình 4.2. Giao diện trang đăng nhập khách hàng
Hình 4.3. Giao diện trang hoa quả sạch
Hình 4.4. Giao diện trang lương thực thực phẩm
Hình 4.5. Giao diện trang chi tiết sản phẩm
Hình 4.6. Giao diện trang tin tức
Hình 4.7. Giao diện trang giỏ hàng
Hình 4.8. Giao diện trang thanh tốn hóa đơn
Hình 4.9. Giao diện trang chi tiết hóa đơn
Hình 4.10. Giao diện trang chủ
Hình 4.11. Giao diện trang đăng nhập quản trị
Hình 4.12. Giao diện trang quản lý danh mục
Hình 4.13. Giao diện trang quản lý kho
Hình 4.14. Giao diện trang quản lý người dùng
Hình 4.15. Giao diện trang quản lý bài viết

Hình 4.16. Giao diện trang quản lý đơn hàng
Hình 4.17. Giao diện trang quản lý sản phẩm


DANH MỤC BẢNG
Bảng 3.1. Bảng Admin
Bảng 3.2. Bảng User
Bảng 3.3. Bảng Product
Bảng 3.4. Bảng Categories
Bảng 3.5. BảngPosts
Bảng 4.6. Bảng Order
Bảng 4.7. Bảng Transaction


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.
Trong thời đại mà thực phẩm bẩn, thực phẩm ngâm tẩm hố chất
đang trong tình trạng “báo động đỏ” đã dấy lên hồi chng cảnh báo về
tình trạng sức khoẻ con người. Với thủ đoạn ngày càng tinh vi thì người
tiêu dùng rất khó phân biệt được các loại thực phẩm chất lượng với thực
phẩm bẩn. Chính vì vậy mà xu hướng dùng hoa quả tươi nhập khẩu hiện
nay đang rất được ưa chuộng bởi “ngon-sạch-thật”.
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 “Xây dựng website bán hoa quả
sạch” để thực hiện đồ án tốt nghiệp của mình với mục đích nghiên cứu và
xây dựng một trang web bán hoa quả, giúp người dùng có thể dễ dàng tiếp
cận và mua sắm hoa quả rõ ràng nguồn gốc xuất sứ, an toàn thực phẩm.
1.1.

Mục tiêu của đề tài
- Xây dựng, thiết kế một website giới thiệu và bán hoa quả sạch
- Thực hiện các chức năng ban đầu đã đề ra
- Triển khai và cài đặt chương trình trong thực tế.

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.

Page 1 of 73


+ Ứ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 hoa quả 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 soát. 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 hoa quả.
Các loại hoa quả đượ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 hàng có thể duyệt sản phẩm theo phân loại hoa quả đượ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.

Page 2 of 73


Chương 2. Kiến thức nền tảng
2.1.

Cơ sở lý thuyết

2.1.1. Phân tích và thiết kế hướng đối tượng
 Phân tích và thiết kế hướng đối tượng là gì?
Phân tích thiết kế hướng đối tượng(OOAD) là giai đoạn phát triển một
mơ hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng
và khái niệm đời thực, dễ hiểu đối với người sử dụng. Năm nguyên tắc
trong thiết kế hướng đối tượng:
 Một lớp chỉ nên có một lý do để thay đổi, tức một lớp chỉ nên xử lý
một chức năng đơn lẻ, duy nhất. Nếu đặt nhiều chức năng vào một lớp sẽ

dẫn đến sự phụ thuộc giữa các chức năng với nhau và mặc dù sau đó thay
đổi một chức năng cũng phá vỡ các chức năng còn lại.
 Các lớp, module, chức năng nên dễ dàng Mở(Open) cho việc thêm
chức năng mới, và Đóng(Close) cho việc thay đổi.
 Lớp dẫn xuất phải có khả năng thay thế được lớp cha.
 Chương trình khơng nên buộc phải cài đặt một Interface mà nó
khơng sử dụng đến.
 Các module cấp cao không nên phụ thuộc vào các module cấp
thấp. Cả hai nên phụ thuộc thông qua lớp trừu tượng. Lớp trừu tượng
không nên phụ thuộc vào chi tiết. Chi tiết nên phụ thuộc vào trừu tượng.
 UML là gì?
UML(viết tắt của Unified Modeling Language) là ngơn ngữ mơ hình
hố hợp nhất dùng để đặc tả, trực quan hóa và tư liệu hóa phần mềm hướng
đối tượng, có phần chính bao gồm những ký hiệu hình học, được các
phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế
của một hệ thống.
Một số dạng biểu đồ cơ bản của UML:

 Biểu đồ lớp(Class Diagram):
Page 3 of 73


Class Diagram là xương sống của hầu hết các phương pháp hướng đối
tượng, bao gồm cả UML. Chúng mô tả cấu trúc tĩnh của hệ thống.

 Biểu đồ gói(Package Diagram):
Package Diagram là tập hợp các Class Diagram. Các package diagram
thiết lập mối quan hệ giữa các package, trong đó package là những nhóm
phần tử của hệ thống có mối quan hệ liên quan đến nhau.


 Biểu đồ chức năng(Use Case Diagram):
UseCase Diagram đưa ra cách nhìn bao quát(từ trên xuống) cách sử
dụng của hệ thống cũng như cách nhìn hệ thống từ bên ngoài. Hiển thị
những chức năng của hệ thống hoặc các lớp và tương tác của hệ thống với
các tác nhân ngoài. UseCase Diagram được dùng trong quá trình phân tích
hệ thống để nắm bắt các u cầu của hệ thống và hiểu sự vận hành của hệ
thống.

 Biểu đồ hoạt động(Activity Diagram):
Activity Diagram mơ tả tiến trình xử lý và trình tự những hành động
trong tiến trình xử lý. Activity Diagram giúp hiểu được toàn bộ tiến trình
hoạt động, hữu ích khi chúng ta mơ tả những tiến trình song song hoặc mơ
tả một vài tương tác trong use case.

 Biểu đồ triển khai(Deployment Diagram):
Deployment Diagram mô tả các tài nguyên vật lý trong hệ thống,
gồm các node, thành phần và kết nối.
2.1.2. Ngôn ngữ thiết kế web HTML và CSS
 HTML:
HTML(Hypertext Markup Language) là mã được dùng để xây dựng
nên cấu trúc và nội dung của trang web. Ví dụ, nội dung có thể được cấu
thành bởi một loạt các đoạn văn, một danh sách liệt kê, hoặc sử dụng
những hình ảnh và bảng biểu...
 CSS:

Page 4 of 73


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.
 Khác nhau cơ bản giữa HTML và CSS:

Hình 2.1 Sự khác nhau của HTML và CSS
“HTML là một ngôn ngữ đánh dấu để mô tả các tài liệu web (trang
web)” - W3Schools
HTML được tạo ra để giúp các lập trình viên mơ tả nội dung trên một
trang web. HTML sử dụng các thẻ để gúp bạn thêm đoạn văn, tiêu đề, hình
ảnh, dấu đầu dịng và các phần cấu trúc khác. Giống như việc viết một cái
gì đó trên một tài liệu word, HTML giúp bạn viết một cái gì đó trên một
trang web.
“CSS mơ tả cách các phần tử HTML được hiển thị trên màn hình,
giấy hoặc các phương tiện khác” - W3Schools
CSS là thứ làm cho một trang web trong tuyệt vời. Trình bày và tính
dễ sử dụng là một số phẩm chất mà CSS mang lại cho việc phát triển web.
Nó liên quan nhiều hơn đến việc thay đổi phong cách trang web, hơn là nội
dung của nó. Giống như thay đổi kích thước phông chữ, màu phông chữ và
Page 5 of 73


định vị trên một tài liệu word. CSS chịu trách nhiệm về giao diện của nội
dung trên một trang web và những nội dung khác trên đó.

2.1.3. Ngơn ngữ kịch bản JavaScript
 JavaScript là gì?
JavaScript là một ngơn ngữ lập trình của HTML và ứng dụng Web. Nó
là nhẹ và được sử dụng phổ biến nhất như là một phần của các trang web,
mà sự thi hành của chúng cho phép Client-Side 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.
 Ứng dụng nổi bật của JavaScript:
Với sự cải thiện và nâng cấp khơng ngừng, giờ đây Javascript có thể
làm được các hoạt động tinh vi, phức tạp hơn, giúp tăng tương tác và trải
nghiệm người dùng:
 Sửa lỗi bố cục, cải thiện phần nhìn:
Javascript có khả năng nhận diện thiết bị người dùng và các chi tiết như
ứng dụng trình duyệt, độ phân giải màn hình... Những thơng tin này
góp phần cải thiện phần nhìn, thay đổi bố cục website hợp lý hơn, nhằm
phục vụ tốt cho việc thiết kế đáp ứng (responsive design).


Tạo hiệu ứng sinh động bắt mắt:
Với một website hiện đại thì hiệu ứng chuyển động là một phần không
thể thiếu như hiệu ứng mỗi bài viết, nội dung trang, hoạt cảnh chuyển
kênh giữa các menu... Những hiệu ứng và hoạt cảnh này đem tới những
tương tác mới mẻ và thú vị.



Cải thiện tính năng tương tác người dùng:
Ngồi thay đổi hiệu ứng, cịn rất nhiều tính năng hấp dẫn như:
Page 6 of 73


-Tính năng giỏ hàng: Nhanh chóng biết được mình phải trả bao nhiêu
tiền cũng như tồn bộ thơng tin đơn hàng trước khi thanh tốn.
-Tính năng kiểm tra người dùng: Khi nhập tên người dùng mong muốn,
Javascript có thể lập tức dò cơ sở dữ liệu xem lịch sử đặt trước của
người dùng. Tính năng này hồn tồn tự động, khơng cần tải lại trang.

-Tính năng cập nhật liên tục: Khơng tốn thời gian tải lại, trang có thể tự
động cập nhật.
-Tính năng gợi ý từ khóa trên khung tìm kiếm: Tự động nhận diện, tính
tốn xem bạn đang muốn gì và hiện ra list gợi ý liên quan nhất.


Tự động hóa:
Mọi ứng dụng đều trở nên hữu ích và thú vị hơn khi chúng được kích
hoạt tự động. Javascript cho phép thực hiện chuỗi hành động đã được
lên kịch bản sẵn ngay khi người dùng mới truy cập vào trang.

2.1.4. Mơ hình MVC
 Khái niệm:
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.2 Mơ hình MVC
Page 7 of 73


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,
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.
 Ưu điểm của mơ hình MVC:
Một số ưu điểm của mơ hình MVC:
 Trình xử lý rõ ràng.
 Mơ hình MVC quy hoạch các class/function vào các thành phần riêng
biệt, việc đó làm q trình phát triển - quản lý - vận hành - bảo trì web
diễn ra thuận lợi hơn.
 Tạo ra được các chức năng chuyên biệt hóa, đồng thời kiểm sốt được
luồng xử lý.
 Tạo mơ hình chuẩn cho dự án, người chun mơn ngồi dễ tiếp cận
hơn.
 Xử lý nghiệp đơn giản và dễ dàng triển khai với các dự án nhỏ.
2.1.5. Ngơn ngữ lập trình PHP:
Page 8 of 73



 Giới thiệu:
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 phái 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.
Ngôn ngữ này ban đầu được tạo ra bởi Rasmus 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ó.

 Lý do nên sử dụng ngơn ngữ lập trình PHP:
 Cộng đồng lớn: Nếu gặp phải những khó khăn nào đó, sẽ khơng phải là
điều lo lắng vì có rất nhiều blog PHP trên Internet.
 Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí.
 Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại
nền tảng như thương mại điện tử, blogs, phương tiện truyền thơng...
 Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle...
2.1.6. Hệ quản trị cơ sở dữ liệu:
 Các khái niệm:
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
Page 9 of 73


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.
 Chức năng của hệ quản trị cơ sở dữ liệu:

 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 tác cập nhật và khai thác cơ sở dữ liệu: Cập nhật (nhập, sửa,
xóa dữ liệu), Khai thác (tìm kiếm, kết xuất dữ liệu).

 Cung cấp các công cụ kiểm soá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. Bao gồm: Đả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. Phần mềm trực tuyến Draw.io

Hình 2.3 Giao diện phần mềm trực tuyết Draw.io
Draw.io là một công cụ vẽ sơ đồ rất mạnh mẽ, hỗ trợ nhiều hình khối,
chạy online khơng cần cài đặt mà lại miễn phí và không bị giới hạn số biểu

đồ như nhiều tool vẽ web khác.

Page 10 of 73


Draw.io cho phép vẽ hàng nghìn sơ đồ thiết kế phần mềm, phần cứng
và hệ thống. Nó có thư viện template rất phong phú để bạn có thể bắt đầu
nhanh hơn, khơng phải tự mình vẽ từ đầu.
2.2.2. Thư viện Jquery
 Giới thiệu thư viện Jquery:
JQuery là một thư viện kiểu mới của JavaScript, hệ thống lại các hàm
của JavaScript một cách ngắn gọn, dễ dùng, được tạo vào năm 2006.
JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện và tương tác
với Ajax, tích hợp nhiều module khác nhau từ module hiệu ứng cho đến
module truy vấn selector.

 Ưu điểm của Jquery:
 Là thư viện lớn của javascript: Thực hiện được nhiều chức năng hơn so
với các thư viện JavaScript khác.
 Dễ sử dụng: Đây là lợi thế chính khi sử dụng Jquery, nó dễ dàng sử
dụng hơn so với nhiều thư viện JavaScript chuẩn khác bởi cú pháp đơn
giản và bạn chỉ phải viết ít dòng lệnh để tạo ra các chức năng tương tự.
Chỉ với 10 dịng lệnh JQuery bạn có thể thay thế cả 20 chục dòng lệnh
DOM JavaScript, tiết kiệm thời gian của lập trình viên.
 Cộng đồng mã nguồn mở lớn mạnh: Jquery cịn tương đối mới, có một
cộng đồng dành thời gian của họ để phát triển các plugin của Jquery.
Như vậy, có hàng trăm plugin được viết trước đó có sẵn để tải về ngay
lập tức để đẩy nhanh quá trình viết code của người lập trình. Một lợi
thế khác đằng sau là hiệu quả và an toàn của các script.
 Có nhiều tài liệu và hướng dẫn: Các trang web JQuery có tồn bộ tài

liệu và hướng dẫn để ngay cả một người mới bắt đầu lập trình cũng có
thể làm việc dễ dàng với thư viện Jquery này.
 Hỗ trợ AJAX: JQuery cho phép bạn phát triển các template AJAX một
cách dễ dàng. AJAX cho phép một giao diện kiểu dáng đẹp trên
website, các chức năng có thể được thực hiện trên các trang mà khơng
địi hỏi toàn bộ trang reload lại.
2.2.3. MySQL
 Giới thiệu MySQL:
Page 11 of 73


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

 Ưu điểm của MySQL:
 Dễ sử dụng: MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định, dễ
sử dụng và có thể 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.
 Đa tính năng: MySQL hỗ trợ rất nhiều chức năng đượ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.
 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.
 Độ 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, ngay cả
ở cấp cao.
2.2.5. Phần mềm PhpMyAdmin


 PhpMyAdmin là gì?
PhpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ
PHP giúp quản trị cơ sở dữ liệu MySQL thông qua giao diện web. Đây là
công cụ quản trị MySQL phổ biến nhất được sử dụng bởi hàng triệu người
dùng trên toàn thế giới, đặc biệt là các nhà quản trị cơ sở dữ liệu hay
database administrator.

Page 12 of 73


Hình 2.5. Giao diện phần mềm PhpMyAdmin

 Các tính năng chung của PhpMyAdmin:
 Quản lý cơ sở dữ liệu: Tạo mới, sửa, xóa; thêm bảng, hàng, trường; tìm
kiếm các đối tượng.
 Quản lý người dùng(user): Thêm, sửa, xóa(phân quyền).
 Nhập xuất dữ liệu(Import/Export): Hỗ trợ các định dạng SQL, XML
và CSV.
 Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công.
 Tạo đồ họa của bố cục cơ sở dữ liệu ở các định dạng khác nhau.
 Tạo truy vấn phức tạp bằng cách sử dụng Query-by-example(QBE).

Page 13 of 73


3.1.

Chương 3. Phân tích và thiết kế hệ thống
Khảo sát hệ thống


3.1.1. Khảo sát thực trạng
Cửa hàng chuyên cung cấp các loại hoa quả, bên cạnh việc bán các
sản phẩm ra thị trường, cũng cần phải lưu tâm đến các vấn đề khác như
kiểm tra số lượng hàng tồn, phân loại sản phẩm, lưu các hóa đơn.... Với
mỗi danh mục sản phẩm thì bao gồm nhiều sản phẩm khác nhau và mỗi
một sản phẩm chỉ thuộc một danh mục sản phẩm duy nhất. Đơn hàng có
thể có nhiều sản phẩm và sản phẩm có thể có trong nhiều đơn hàng. Khách
hàng đến mua tại cửa hàng có thể chọn lựa nhiều mặt hàng, nhân viên tư
vấn khi khách hàng có nhu cầu tìm kiếm theo u cầu nào đó(như loại hoa
quả, giá thành, nguồn gốc xuất xứ...) hay một sản phẩm cụ thể nào đó.
Dựa vào đó, mỗi lần khách hàng thanh tốn hóa đơn mua hàng, căn
cứ vào các mặt hàng hiện đang kinh doanh tại cửa hàng, chủ cửa hàng tiến
hành kiểm tra số lượng hàng tồn, thanh tốn hóa đơn và lưu lại những đơn
mua hàng bao gồm: Số hóa đơn, ngày nhập, tên khách hàng, tổng tiền hóa
đơn. Những thơng tin chi tiết hóa đơn như: Số hóa đơn, tên sản phẩm, số
lượng và tiền phải trả để lưu trữ lại khi cần.
Cửa hàng phải liên tục cập nhật các thông tin của sản phẩm để kiểm
sốt số lượng sản phẩm cịn lại hoặc sản phẩm mới nhập thêm. Chủ cửa
hàng sẽ dựa vào mã sản phẩm, tên sản phẩm để tìm kiếm thơng tin sản
phẩm lúc cập nhật, nếu là sản phẩm mới thì sẽ tạo mới loại sản phẩm này.
Các danh mục sản phẩm gồm có: Số danh mục sản phẩm, tên danh mục sản
phẩm, mô tả.
Bên cạnh việc lưu lại thông tin sản phẩm và đơn hàng của cửa hàng.
Ta cũng cần lưu lại một số thông tin cần thiết của khách hàng và nhà cung
cấp của cửa hàng như: Họ tên khách hàng/nhà cung cấp, số điện thoại, địa
chỉ,... để tiện cho việc quản lý cửa hàng hiệu quả hơn. Với khách hàng mua
hàng thường xuyên có thể có các ưu đãi hoặc được tặng thẻ vip, nên có thể
Page 14 of 73



lưu thêm các thơng tin khác như ngày sinh,... Ngồi ra, cửa hàng cần thống
kê doanh thu và các mặt hàng hoa quả bán chạy trong cửa hàng định kỳ
theo ngày, tháng, năm.
3.1.2. Yêu cầu với hệ thống triển khai
Từ những khảo sát ở trên, có thể rút ra các yêu cầu mà hệ thống mới
xây dựng cần đáp ứng:
 Hệ thống phân quyền với 3 nhóm người: người quản lý, nhân viên và
khách hàng.
 Có các chức năng đăng ký, xem sản phẩm, xem chi tiết các sản phẩm,
đặt hàng, quản lý đơn hàng của mình với khách hàng.
 Nhân viên thực hiện các chức năng liên quan đến nghiệp vụ bán hàng.
 Đặc quyền quản lý tất cả chức năng: quản lý khách hàng, nhà cung cấp,
danh mục, sản phẩm, đơn hàng, thống kê… với các người quản lý của
hệ thống.
 Giao diện dễ nhìn, thân thiện và người dùng dễ dàng thao tác.
 Cập nhật thông tin thường xun và tính tốn nhanh chóng, chính xác.
 Đáp ứng tính tương thích đa thiết bị.

Page 15 of 73


3.2.

Use Case của hệ thống

3.2.1. Use Case tổng quát

Hình 3.1. Use Case tổng quát
Hệ thống gồm hai tác nhân chính:

 QUANTRIVIEN: Là người quản trị hệ thống, có các quyền và chức
năng cao nhất với hệ thống: đăng nhập, quản lý sản phẩm, quản lý bài
viết, quản lý đơn hàng... với các chức năng như thêm, sửa, xóa, tìm
kiếm, xem chi tiết.
 KHACHHANG: Là thành viên của hệ thống thực hiện đăng kí, đăng
nhập có các chức năng như xem chi tiết sản phẩm, đặt hàng,...

Page 16 of 73


3.2.2. Use Case hệ thống

Hình 3.2. Use Case hệ thống

 UseCase Đăng ký:
Use Case
Tác nhân
Mô tả ngắn gọn

Đăng ký
Khách hàng
Khách hàng truy cập website có thể đăng ký thành
viên, xem các sản phẩm và chi tiết sản phẩm, tìm kiếm

các sản phẩm mong muốn
Tiền điều kiện
Khi khách hàng truy cập và chọn đăng ký
Chuỗi sự kiện 1. Khách hàng chọn đăng ký
2. Hệ thống hiển thị trang đăng ký
chính

3. Khách hàng nhập các trường thông tin và tài
khoản – mật khẩu, chọn đăng ký
4. Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực
hiện bước tiếp theo. Ngược lại, thông báo lỗi và
quay lại bước 3
5. Hệ thống thông báo đăng ký tài khoản thành công,
và cập nhật tài khoản vào cơ sở dữ liệu
6. Hiển thị giao diện trang chủ với tài khoản đã đăng
Ngoại lệ
Điều kiện đầu ra


3. Khách hàng chọn Hủy
4. Hệ thống hủy thao tác, và trả về trang chủ
Lưu tài khoản khách hàng đã đăng ký vào cơ sở dữ
liệu
Page 17 of 73


 UseCase Đăng nhập:
Use Case
Tác nhân
Mô tả ngắn gọn

Đăng nhập
Khách hàng và quản trị viên
Người dùng đăng nhập vào hệ thống, truy cập hệ

Tiền điều kiện


thống với đúng quyền của tài khoản
UseCase sử dụng khi người dùng muốn đăng nhập vào

Chuỗi
chính

sự

hệ thống
kiện 1. Người dùng chọn đăng nhập
2. Hệ thống yêu cầu nhập tài khoản và mật khẩu
3. Người dùng nhập tài khoản và mật khẩu
4. Hệ thống kiểm tra tên và mật khẩu vừa nhập: Nếu
thỏa mãn thực hiện bước tiếp theo. Ngược lại,
thông báo lỗi và quay lại bước 3
5. Lấy quyền truy cập tài khoản
6. Hiển thị giao diện tương ứng với quyền của tài

Ngoại lệ
Điều kiện đầu ra

khoản
3. Người dùng chọn Hủy
4. Hệ thống hủy thao tác, và trả về trang chủ
Người dùng truy cập hệ thống với đúng quyền của tài
khoản đã đăng nhập

 UseCase Đăng xuất:
Use Case
Tác nhân

Mô tả ngắn gọn
Tiền điều kiện

Đăng xuất
Khách hàng và quản trị viên
Người dùng muốn đăng xuất khỏi hệ thống
UseCase sử dụng khi người dùng muốn đăng xuất hệ

thống
Chuỗi sự kiện 1. Người dùng chọn đăng xuất
2. Hệ thống hủy lưu tài khoản
chính
3. Hệ thống hiển thị giao diện trang đăng nhập
Ngoại lệ
Khơng có
Điều kiện đầu ra Hủy lưu tài khoản người dùng, hiển thị trang đăng
nhập
3.2.3. Use Case của tác nhân khách hàng
Page 18 of 73


×