Các yêu cầu này cũng là 1 van đề cần cải thiện khi xây dựng 1 hệ thống Cu thê hơn khách hang có thé xem chỉ tiết sản phẩm, tìm kiếm sản phẩm, thêm sản pham vào giỏ hàng và thanh toán onl
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN 1
Dài
ĐỎ ÁN
TÓT NGHIỆP ĐẠI HỌC
ĐÈ TÀI:
XÂY DUNG WEBSITE BAN THUC PHAM VA
HANG TIEU DUNG THIET YEU
Giang viên hướng dẫn : TS NGUYEN TAT THANGSinh viên thuc hién =: TRAN NGỌC HUY
Lớp : DI7HTTT6
Khóa : 2017 - 2022
Hệ : ĐẠI HỌC CHÍNH QUY
Trang 3HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
KHOA CÔNG NGHỆ THONG TIN 1
HANG TIEU DUNG THIẾT YEU
Giảng viên hướng dan : TS NGUYEN TAT THANGSinh viên thực hiện : TRAN NGỌC HUY
Lớp : DI7HTTT6
Khóa : 2017-2022
Hệ : ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 1/2022
Trang 4NHẠN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Hà Nội, ngày tháng năm 20
Giảng viên hướng dẫn
Trang 5NHAN XÉT CUA GIANG VIÊN PHAN BIEN
Hà Nội, ngày tháng năm 20
Giảng viên phản biện
Trang 6Đồ án tốt nghiệp đại học
LỜI CẢM ƠN
Lời đầu tiên, em xin được gửi lời cảm ơn chân thành đến Ban giám hiệu nhàtrường cùng toàn thé thầy cô trong Học Viện Công Nghệ Bưu Chính Viễn Thông đãluôn dành tâm huyết, sự quan tâm dạy dỗ, giúp đỡ và đồng hành cùng em trong suốt 4năm học tập tại trường Nhờ được sự diu dat, day dỗ của thầy cô mà em ngày một trưởngthành, tự tin hơn trong học tập cũng như trong cuộc sống Em không chỉ tiếp thu được
kiến thức, kĩ năng của ngành học mình chọn mà còn có thêm kĩ năng sống, sự tự tin và
mong muốn được cống hiến những kiến thức mà thầy cô truyền đạt vào cuộc sống, vì
sự phát triên của đât nước.
Đặc biệt, em xin gửi lời cảm ơn đến thầy Nguyễn Tat Thang thay đã luôn tin
tưởng, giúp đỡ em trong suốt quá trình làm Đồ án tốt nghiệp Nếu không có những lời
động viên, chi dẫn tận tình của thầy thì thực sự khó khăn dé có thể tự mình hoàn thiện
bản đô án này Một lân nữa em xin chân thành cảm ơn thây rât nhiêu.
Em cũng xin chân thành cảm ơn các Thay, Cô trong Ban hội đồng đã dành thờigian quan tâm, lắng nghe, góp ý kiến và nhận xét cho bản đồ án tốt nghiệp của em Cácthầy cô đã trang bị cho em không chỉ những kiến thức chuyên môn mà còn cả những kỹnăng mềm dé em có thé vận dụng vào thực tiễn cuộc sông và tự hoàn thiện bản thânmình hơn Qua đây em cũng mong học hỏi được thêm nhiều điều, khắc phục nhữngthiếu sót, non not của mình dé ngày càng hoàn thiện hơn kiến thức và kĩ năng của bản
thân.
Trong thời gian làm đồ án, em đã dồn hết tâm sức dé xây dựng ban đồ án này.Tuy nhiên do kiến thức còn hạn hẹp, kinh nghiệm thực tế của em chưa nhiều nên trongquá trình làm đồ án tốt nghiệp không thể tránh khỏi những thiếu sót, em rất mong nhậnđược sự thông cảm và góp ý của quý Thay cô dé bản đồ án của em được hoàn thiện hon
Em xin chân thành cảm ơn!
Trần Ngọc Huy — DI7HTTT6 i
Trang 7Đồ án tốt nghiệp đại học
TOM TAT NỘI DUNG DO ÁN
Ngày nay, sự phát triển của công nghệ thông tin cũng như sự phát triển củathương mại điện tử đã giúp mọi người không cần mat thời gian đi ra những cửa hang dé
tự mua cho bản thân những vận dụng cần thiết Bên cạnh đó, dịch CO VID 19 ngày càngchuyền biến phức tạp, nhu cầu về lương thực thực phẩm và hàng tiêu dùng thì chưa bao
giờ là giảm, tuy nhiên việc mua trực tiếp tại cửa hàng có thé gây ra nhiều những nguy
cơ lây nhiễm cũng như mắt khá nhiều thời gian và công sức của người tiêu dùng.
Từ những lý do trên, em quyết định chon đề tài “X4y dung website thực phẩm
và hàng tiêu dùng thiết yếu” dé thực hiện đồ án tốt nghiệp đại học
Việc thiết kế và xây dựng một website kinh doanh thực pham và hàng tiêu dùng
không chỉ thực hiện nhiệm vụ kinh doanh cho chủ doanh nghiệp mà còn giúp còn giúp
việc mua sam các mặt hàng tiêu dùng, thực phẩm của mọi người trở nên dé dàng và an
toàn hơn trong tình cảnh dịch bệnh đang hoành hành.
Nội dung đồ án gồm 3 chương như sau:
Chương 1: Cơ sở lý thuyếtChương 2: Phân tích và thiết kế hệ thống websiteChương 3: Cài đặt và kết quả triển khai hệ thống
Trần Ngọc Huy — DI7HTTT6 ñ
Trang 8Đồ án tốt nghiệp đại học
MỤC LUC
LOT CẢM ƠNN s<< 42 4E 97130070134 E77234 97244 0774492341 029410244 popvseei
TOM TAT NỘI DUNG DOAN -°-s° 2< ©cscssrseEeseEsserseersersserssrrssrsssree ii
DANH MỤC CAC BANG ucccssssesssessssssssssessssssnscssssscsssessssssssssesasecsssssesssesasesosssseeaseeaseess vi DANH MỤC HÌNH VE wesscsssssssssssssssssscsssessssssesssessssssssssessscssssssssssesssessssssssssesssesssseses vii DANH MỤC CÁC TỪ VÀ THUẬT NGỮ VIET TẮTT s-sss<ssesss ix CHƯƠNG 1 CƠ SO LY THUY ÊTT 2< s°°°EE©+xseeeoervvxeseeroorrree 1
1.1 NGÔN NGỮ LẬP TRINH PHP - 22 2s SEEEEECEEEEEEEEEEEEkerrkrrrreee |
1⁄2 CƠ SỞ DU LIEU MYSQL 2 5° CS SE E 2112121111111 1111 cty 2
13 MÔ HÌNH MVC 5cctnnhhttrrhrrrrrrrrriirrrre 2
1.4 LARAVEL FRAMEWORK ccc ssessesseeseceeceeceeceeeeeseaeeeesaeeeeaeeaees 4
1.5 KẾT LUẬN CHUONG I 2-5222 E2EEEEEEEEEEEEEEEEEEEEEEEErrrrrkerkee 5
CHUONG 2 PHAN TÍCH THIET KE HỆ THONG . - 5° -s-css©s<¿ 6
2.1 PHÁT BIEU BÀI TOAN 00 csssssesssssssssnessscssssneesseesssneeceesssneesecessniesseeesanees 6 2.2 CÁC YEU CAU PHI CHỨC NANG uo cccssssssessssessssnesseessssneeseeeesnnneesseeeennees 6 2.3 LAY YEU CAU Loi cccseeeccsssssessssssnsesssnneceessnnesecssnsececssnnsecssnisesessnneseesnnneseesnneetees 6
2.3.1 Mục đích, phạm V1 ccccecccsssesesseesseceseecsseeeseeeeaeceeeeceeeeseeceaeeeseeenees 6
2.3.2 Xác định ai dùng hệ thống và sẽ làm gì ? ¿- ¿5c cscccccszecez 7 2.3.3 Quan hệ giữa các đối tượng :- cSc2Et 2 2E 22EEEEEEEEkerrrres 7 2.4 BIEU DO USECASE VÀ KỊCH BẢN -2 522 2E eEEkerkrrkerrkee 8
2.4.1 Biểu đồ usecase tổng Quan cc.ccesssesssessesssesssesssesssesseessecssessseesecaseesseens 8
2.4.2 Usecase và kịch ban module đăng ki/ đăng nhập - ‹ 9
2.4.3 Usecase và kịch bản module khách hàng xem sản phâm 11
2.4.4 Usecase và kịch ban module khách hang đặt hang va thanh toan 12
2.4.5 Usecase và kịch ban module khách hàng thêm vào giỏ hàng 14
2.4.6 Usecase và kịch bản module khách hàng bình luận sản pham 14
2.4.7 Usecase và kịch bản module quản lý danh mục sản phẩm 15
2.4.8 Usecase và kịch bản module quản lý sản phẩm - . 19
2.4.9 Usecase và kịch ban module quản lý người dùng 23
2.4.10 Usecase và kịch ban module quản lý đơn hàng - - 25
2.4.11 Usecase và kịch ban module quản lý bình luận - -27
2.5 BIÊU DO TRẠNG THÁI -2- 2£ ©+2+2E££SEECSEEEEEEECEEEESEEErrrrrrrkrees 28 2.5.1 Biểu đồ trạng thai module đăng nhập/ đăng ký . - 29 Trần Ngọc Huy — DI7HTTT6 iii
Trang 9Đồ án tốt nghiệp đại học
2.5.2 Biểu đồ trạng thái module khách hàng đặt hàng và thanh toán 29
2.5.3 Biểu đồ trạng thái module admin quản lý người dùng 30
2.5.4 Biểu đồ trạng thái module admin quản lý sản phẩm - 30
2.5.5 Biểu đồ trạng thái module admin quản lý danh mục sản phẩm 31
2.5.6 Biểu đồ trạng thái module admin quản lý bình luận - 31
2.5.7 Biểu đồ trạng thái module admin quản lý đơn hàng - 31
2.6 BIẾU DO TUẦN TỰ 5-52 52 2k 2E 2 2221221717112 211121 cre 32 2.6.1 Biểu đồ tuần tự module đăng ký / đăng nhập - 5-52 32 2.6.2 Biểu đồ tuần tự module quản lý sản phẩm 5-2552 52 33 2.6.3 Biểu đồ tuần tự module đặt hàng và thanh toán -¿ 34
2.6.4 Biểu đồ tuần tự module quản lý đanh mục -:-2 5¿- 52 35 2.6.5 Biểu đồ tuần tự module quản lý bình luận - -: s- 36 2.6.6 Biểu đồ tuần tự module quan lý đơn hàng -. -: 5- 37 2.6.7 Biểu đồ tuần tự module thêm vào giỏ hàng -. : 37
2.7 PHAN TÍCH HE THÓNG -¿©22+2+++2EESEEEEEEECEEEEEEkrrrkrrrrreee 38 2.7.1 Mô tả hệ thong trong một đoạn VAN -. + + ss+sssrssereeres 38 2.7.2 Đánh gia va lựa chọn các danh từ làm lớp thực thé hoặc thuộc tính 38 2.7.3 Xác định quan hệ giữa các thực thỂ 2 s+c++cxz+z+rxerxersee 38 2.7.4 Biểu đồ trích lớp thực thỂ -¿ ¿- + ©x+2+++x++zxvrxerxzrxerxerkerxee 39 2.8 THIẾT KE LỚP THỰC THẺ 2- 2© s++EE+EEt£EEtEEerrxerrkrrrkeee 39 2.9 THIET KE CƠ SỞ DU LIỆU -2- 2 ©5c2S222£+EEtEEtzEereerxerxrres 40 2.10 KET LUẬN CHƯNG 2 2-5222 2EE2E122112711221221711221 21121 cre 42 CHUONG 3 CÀI ĐẶT VÀ KET QUÁ TRIEN KHAI HỆ THÓNG 43
3.1 YÊU CAU HE THÓNG s sss©css©sseEsserseerserssersserssrrssre 43 3.2 MỘT SÓ CÔNG CU, THU VIEN HỖ TRỢ -. -s sccs<©ss©ss 43
3.3 THIẾT KE GIAO DIỆỆN -©2-©5222<2EEEEEEEEEEEEEEEEEEErrrrrrkerkerre 43
3.3.1 Giao diện trang Chủ -.- 5 + kg HH rưệt 43
3.3.2 Giao diện trang sản phẩm - 2 + x+2E£+E++EEtEEtrErrkerkerkeres 44 3.3.3 Giao diện trang chi tiết sản phẩm -¿©22+c++cxczxzxezrxerxeres 45
3.3.4 Giao diện trang gid hàng - - s11 ng ng g 46 3.3.5 Giao diện trang thanh tOáT - 5 + 1x ng re 46
3.3.6 Giao diện quản lý sản phẩm - 2c +22+E+EE+EEerEzExrrxerkerree 47
3.3.7 Giao diện quản lý danh mục sản phẩm ¿- ¿5 scs+zs2 +2 47 3.3.8 Giao diện quản lý hãng sản phẩm - 2 2 2+s+x+£xezzrsxe2 47 Trần Ngọc Huy — DI7HTTT6 iv
Trang 10Đồ án tốt nghiệp đại học
3.3.0 Giao diện quản lý đơn hàng - 5 5 1+ + ki eekerikt 48
3.3.10 Giao diện thống kê ¿-©2¿©2+2E+22E+2EE2EE221E22122EEEE.crkrcrkee 49
3.3.11 Giao diện quản lý bình luận 56 25 *xS*sskEseerseeeseree 49
4/000) 096:(0009) e5 50
KET LUẬN VÀ HƯỚNG PHAT TRIEN << se se©s<essesseeseessese 51
I _ Đánh giá kết quả của đỗ ấn -:- 2525222 2E2EEEEEEEEEEEEEE1121121121 2111111 crxe, 51
2 Hướng phát triễn - ¿- ¿+ £+k‡SkÉEEEEEEEEEE1211217121112111111 111111 1xeU 51
Trần Ngọc Huy — DI7HTTT6 v
Trang 11Đồ án tốt nghiệp đại học
DANH MỤC CÁC BÁNG
Bang 2.1 Bảng mô tả tóm tắt Các USCCASE s-s-s se s2 s2 se sEEsESsESsES9E59 E52 52392555255 9
Bảng 2.2 Kịch bản đăng Ky oœ- <5 << << 9 9 0 0.00091000091009 0084006894608896 10
Bảng 2.3 Kịch bản chuẩn đăng nhập e s s- se se se se ssssesseEseEssvssessessersersssss 10
Bang 2.4 Kịch bản chuẩn xem sản phẩm s s- << s2 se se sessessessessesseseesessesse 11
Bang 2.5 Kịch bản chuẩn xem đặt hàng và thanh toán -.s s s-sssssessesessesse 12Bảng 2.6 Kịch bản chuẩn thêm vào giỏ hàng s s-s<ssssessesssessessessesssrssrssess 14Bảng 2.7 Kịch bản chuẩn bình luận sản phẩm s s- se ssssessessessessesseessessess 15Bảng 2.8 Kịch bản chuẩn thêm danh mục sản phẩm -. -s ssssssssessssssessess 16
Bang 2.9 Kịch bản chuẩn sửa danh mục sản phẩm -se s- sssessessessessesessesse 17
Bang 2.10 Kịch bản chuẩn xóa danh mục sản phẩm s-s- se sessessesseseesesses 18Bảng 2.11 Kịch bản chuẩn thêm sản phẩm e- se se se sssse+ssevsesseeseevseessees 19Bang 2.12 Kịch bản chuẩn sửa sản phẩm s sesss se se se Ssessessessessesseseeseesesse 20Bảng 2.13 Kịch bản chuẩn xóa sản phẩm e- se se se+se+sse+seevseevetxeerseevsees 22
Bang 2.14 Kịch bản chuẩn xóa tài khoản người dùng s-.s-sescsscseessssessesse 23
Bang 2.15 Kịch bản chuẩn tìm kiếm tài khoản người dùng .s sss se se <se<se 24Bảng 2.16 Kịch bản chuẩn xem chỉ tiết đơn hàng se sesseseessessesssevseessees 25Bang 2.17 Kịch bản chuẩn cập nhật trạng thái đơn hàng -.s s ssssessesssesse 26Bảng 2.18 Kịch bản chuẩn quản lý bình luận «se sesssseessesseeseesseessees 27
Trần Ngọc Huy — DI7HTTT6 vi
Trang 12Hình 2.6 Biểu đồ usecase thêm vào giỏ hàng - 2-2552 2+EE+EEeEEeEEzEkerxerreres 14
Hình 2.7 Biểu đồ usecase bình luận - - : SStSx+E#EEEEEE+EEEEEESEEEEEkrErrrkrkrrerrree 15Hình 2.8 Biểu đồ usecase quản lý danh mục sản phẩm - 2-2 5z: 16Hình 2.9 Biểu đồ usecase quản lý sản pham sc.cccessesssessesseesseessecsesstesseessecseeeseessecs 19
Hình 2.10 Biểu đồ usecase quản lý người dùng -2-©2-©52©cz+ExczEczEzrerrxerrrres 23
Hình 2.11 Biểu đồ usecase quản lý đơn hàng 2 2- 2 2+5++E2+Ec£EerEerxersereee 25Hình 2.12 Biểu đồ usecase quản lý bình luận 2- 2 5¿22+2++zx++zxzzxees 27Hình 2.13 Biéu đồ trạng thái đăng ký tài khoản -2- 22 5¿+c+ccx+vzxesrxrrreees 29Hình 2.14 Biểu đồ trạng thái đăng nhập tài khoản - 2-2 2 2s£+£e+zx+rxczes 29Hình 2.15 Biểu đồ trạng thái đặt hàng và thanh toán -2¿ 5+ ©5¿+cs+cx+zxcres 29Hình 2.16 Biểu đồ trạng thái quan lý tài khoản người dùng -2- 5 5+: 30Hình 2.17 Biểu đồ trạng thái quản lý sản phẩm -2¿ 222 +£xtzx2zzzxerxcres 30Hình 2.18 Biểu đồ trạng thái quan lý danh mục sản phẩm -:- 5: 31Hình 2.19 Biéu đồ trạng thái quản lý bình luận - 2 2 + x2s+2ze+zxerxczss 31
Hình 2.20 Biểu đồ trạng thái quản lý đơn hàng - 2-2 2+52+E+£Ee£xerxerssreee 31
Hình 2.21 Biểu đồ tuần tự đăng nhập - 2-2 2 £+SeSEeEEEEEEEEEEE2E2E2121 11t, 32Hình 2.22 Biểu đồ tuần tự đăng ký - ¿22 SE E22 E2 EEE121121122171211211 11c 32Hình 2.23 Biểu đồ tuần tự thêm sản phẩm -¿- 2 ¿5£ ESE+EE+EE2EE2E£EeEEerkerxrreee 33Hình 2.24 Biểu đồ tuần tự sửa sản phâm - 2-2-2252 E‡EE2E2EE2EEEEEEEEEEEkerkerrrres 33Hình 2.25 Biểu đồ tuần tự xóa sản phẩm -2- 22 +¿©++2+++x++Exttx+vrxezrxezrxees 34Hình 2.26 Biểu đồ tuần tự đặt hàng thanh toán - ¿+5 ++c + + +sEsserrerseerrrerres 34Hình 2.27 Biểu đồ tuần tự thêm danh mục sản phẩm ¬— 35
Hình 2.27 Biểu đồ tuần tự sửa danh mục sản phẩm ¬—— 35
Hình 2.28 Biểu đồ tuần tự xóa danh mục sản phẩm ¬— 36Hình 2.29 Biểu đồ tuần tự quản lý bình luận -2¿ 2 5¿22++2x++zxe+zxezrsees 36Hình 2.30 Biểu đồ tuần tự quản lý đơn hàng - ¿555 SESE+EE2E2Ec£EeEEerxerxereee 37Hình 2.31 Biểu đồ tuần tự thêm vào giỏ hàng 2-2 5+ 2+£E+EE+£EtzEzEerxerxeres 37Hình 2.32 Biểu đồ trích lớp thực thỂ - 2:2 5+2++2++2E++EE++EE+2Extzxeerxesrxrrrrees 39Hình 2.33 Biểu đồ thiết kế lớp thực thê 2-© ¿52 E+EE£2E£2EE+EEtEEEEEzEkrrxrrrrres 40Trần Ngọc Huy — DI7HTTT6 vii
Trang 13Đồ án tốt nghiệp đại học
Hình 2.34 Thiết kế cơ sở dữ liệu -.-¿ c5ccc+vttcEEkrrrtrkrtttrrrrrrirrrrrirrrrirrii 4I
Hình 3.1 Giao diện trang CHỦ - <1 1112111911191 1g HH He 44
Hình 3.2 Giao diện trang sản phẩm - - 2-2 2 2 £+E£EE£EE£EEEEEEEEEEEEEEEEEEEErkrrkrrkee 45Hình 3.3 Giao diện trang chi tiết sản phâm - 2-22 5+ ©5+©S£2£x+2EEt£Evrxesrxesrxees 45
Hình 3.4 Giao diện trang g1ỏ hàng - c 3 1n v1 HH TH ng ng vt 46 Hình 3.5 Giao diện trang thanh toán - 5 <1 1x11 1 HH ng re 46
Hình 3.6 Giao diện trang quản lý sản phẩm ¿2£ + SE£+EE2E£+E£Ee£Eerxerxsrxee 47Hình 3.7 Giao diện trang quản lý danh mục sản phâm -¿ 2 z5: 47Hình 3.8 Giao diện trang quản lý hãng sản phâm 2 2 + +2+2££+zx+zxczxs 48
Hình 3.9 Giao diện trang quản lý đơn hang - - 5 +5 + * + EskEeeerrerserrreerres 48
Hình 3.10 Giao điện trang thống kê 2-2 ¿+ £+SE+EE#EEtEEEEEEEEEEErEerrkrrkerkrree 49
Hình 3.11 Giao diện trang quản lý bình luận - 55c + ++kEseexeerssereeerees 49
Trần Ngọc Huy — DI7HTTT6 viii
Trang 14Đồ án tốt nghiệp đại học
DANH MỤC CÁC TỪ VÀ THUẬT NGỮ VIET TAT
STT | Từ viết tắt Từ đầy du Ý nghĩa
1 CSDL Database Cơ sở dữ liệu
Integrated Development ; "
Môi trường phát triên tích
2 IDE Environment
hop
HyperText Markup La ngôn ngữ đánh dau được
3 HTML Language thiét ké ra dé tao nén
các trang web
La mô hình thiết kế sử dụng
4 MVC Model — View — Controller ` `
trong kỹ thuật phân mêm
Trang 15Đồ án tốt nghiệp đại học Chương 1 Mở đầu
CHƯƠNG 1 CƠ SỞ LÝ THUYET
Trong chương 1, đồ án sẽ trình bày lý thuyết cơ bản về các công nghệ sẽ được
sử dụng dé thực hiện xây dựng website bán thực phẩm va hàng tiêu dùng thiết yếu
1.1 NGÔN NGỮ LẬP TRÌNH PHP
PHP là một trong những ngôn ngữ lập trình web phổ biến được sử dụng rộng rãitrong ngành công nghệ thông tin Thuật ngữ PHP là tên viết tắt của PHP: Hypertext
Preprocessor.
PHP là một ngôn ngữ lập trình web chuyên về mang back-end Thực chat PHP
là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là 1 trang HTML
có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML Các website có nền tảng
là ngôn ngữ PHP chiếm hơn 70 % tổng các website trên toàn thế giới Hơn nữa hiện nay
có rất nhiều bộ mã nguồn mở hoàn toàn miễn phi được lập trình bằng PHP như :WordPress, Joomala, Drupal Các bạn có thé download các bộ mã nguồn mở này và
xây dựng website một cách nhanh chóng.
Có rất nhiều lý do khiến cho PHP trở thành 1 trong những ngôn ngữ lập trình phố
biến :
e Dễ học, dễ dùng, cú pháp của PHP khá giống với ngôn ngữ C/C++ ( một
ngôn ngữ pho biến tai các trường đại học )
e Có thư viễn hỗ trợ miễn phí, phong phú và dé đọc
e Cộng đồng sử dụng rộng rãi : Khi gặp khó khăn có thé dén dàng nhận
được sự hỗ trợ từ các lập trình viên khác
e Cơ hội nghề nghiệp, nhu cầu tuyển dụng cao : tìm kiếm topcv.vn ,
itviec.com có hơn 100 vi trí việc làm về PHP đang tuyên dụngPHP 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étao, mở, đọc, ghi và đóng chúng PHP cũng có thé xử lý các form, ví dụ: thu thập dữliệu từ file, lưu dit liệu vào một file, thông qua email có thé gửi dit liệu, trả về dit liệu
tới người dùng Chúng ta có thé thêm, xóa, sửa đối các phan tử bên trong Database thôngqua PHP cũng như đồng thời truy cập các biến Cookie và thiết lập Cookie Tuy nhiên
sử dung PHP trong một số trường hợp, có thé hạn chế số lượng người dùng truy cập vào
trang web.
Trần Ngọc Huy — DI7HTTT6 1
Trang 16Đồ án tốt nghiệp đại học Chương 1 Mở đầu
1.2 CƠ SỞ DU LIEU MYSQL
MySQL là hệ quan trị co sở dit liệu mã nguồn mở phổ biến được rất nhiều nhàphát triển ứng dụng sử dung dé xây dựng ứng dụng MySQL là một trong những ví dụrất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc(SQL) Đây cũng là một hệ thống cơ sở dữ liệu được sử dụng phô biến với ngôn ngữ lập
trình PHP.
Đối với những ứng dụng nhỏ và vừa thì MySQL rất lý tưởng dé áp dụng Đây làmột sản phẩm được phát triển, phân phối và hỗ trợ bởi Oracle Corporation (một tập đoàn
công nghệ máy tính đa quốc gia của Mỹ ) Việc sử dụng SQL chuẩn cộng thêm có thể
miễn phí tải xuống và sử dụng giúp cho việc học và xây dựng một ứng dụng có cơ sở
dữ liệu của những người mới học lập trình trở nên dễ dàng và thuận lợi hơn.
Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ dưới dạng bảng Bảng tượng
trưng cho một tập hợp dữ liệu có liên quan bao gồm cột và hang Chang hạn như bảnghọc sinh sẽ gồm các dữ liệu: họ và tên, ngày/ tháng/ năm sinh, mã sinh viên, chia đều
vào các cột và hàng sẽ là dữ liệu của từng sinh viên Với một công ty hay trường học sẽ
có nhiều bảng (bảng học sinh, giáo viên, lương, ) trong một cơ sở dữ liệu rất hữu ích
cho việc lưu trữ thông tin một cách phân loại.
Tuy nhiên, MySQL lại ton tại một số nhược điểm:
e_ Độ tin cậy: những hệ thống lớn như giao dịch, kiểm toán, chứng khoán
thì MySQL không được tin dùng do độ tin cậy kém hơn so với mốt số hệ
quản tri cớ sở dữ liệu khác như
e Dung lượng hạn chế: khi số bản ghi của người dùng lớn, sẽ gây khó khăn
và làm giảm tôc độc cho việc truy xuât dữ liệu
1.3 MO HÌNH MVC
MVC là từ viết tắt bởi 3 từ Model — View — Controller Day là mô hình thiết kế
sử dụng trong kỹ thuật phần mềm Mô hình source code được chia thành 3 phần, tương
ứng mỗi từ Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình.
Trần Ngọc Huy — DI7HTTT6 2
Trang 17Đồ án tốt nghiệp đại học Chương 1 Mở đầu
“* Model (M):
La bộ phận có chức năng lưu trữ toàn bộ đữ liệu của ứng dụng Bộ phan
này là một cầu nối giữa 2 thành phần bên dưới là View va Controller Model thé hiện
dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình
thường Model thé hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất,
xử lý dữ liệu,
s* View (V):
Đây là phần giao diện (theme) dành cho người sử dụng Nơi mà ngườidùng có thé lay được thông tin dữ liệu của MVC thông qua các thao tác truy vấn nhưtìm kiếm hoặc sử dụng thông qua các website
View cũng có chức năng ghi nhận hoạt động của người dùng dé tương tác
với Controller Tuy nhiên, View không có mối quan hệ trực tiếp với Controller, cũngkhông được lấy dữ liệu từ Controller mà chỉ hién thị yêu cầu chuyên cho Controller
¢* Controller (C):
Bộ phận này có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông
qua View 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.
Ví du: Chức năng thêm sản phẩm trong trang quản trị website Nơi đây cócác trường nhập về tên, hình ảnh và mô tả sản phẩm thì trong đó : View sẽ hiển thị raphần nhập form tên, hình anh và mô tả sản pham Controller lay dữ liệu từ các trường
Trần Ngọc Huy — DI7HTTT6 3
Trang 18Đồ án tốt nghiệp đại học Chương 1 Mở đầu
và gửi tới Model Còn Model lúc này sẽ nhận dữ liệu từ Controller đê lưu trữ trong cơ
Ngay từ khi ra mắt, Laravel đã thu hút sự chú ý của các lập trình viên bởi những
ưu điểm nổi trội như: cú pháp dễ hiểu — rõ ràng, nhiều tiện ích khác nhau hỗ trợ việctriển khai và bảo trì ứng dụng, Ngoài ra, việc tích hợp nhiều hàm có sẵn cũng thích
hợp cho việc bắt đầu học và làm của lập trình viên trở nên thuận tiện hơn
Mỗi một project Laravel di lớn hay nhỏ đều được cung cấp một cấu trúc thư mục
cơ bản dé từ đó chúng ta có thé tổ chức ứng dụng theo cách riêng của mỗi bài toán, dướiđây là một vài thành phần cơ bản và mô tả của nó:
© app: Thư mục này chứa những code cốt lõi (core code) của ứng dụng Hau
như tat cả các lớp (class) tạo cho project sẽ nằm ở thư mục con models
Hoặc thư mục http: thư mục này chứa thư mục con controller chứa các phương thức xử ly request của người dùng.
e boostrap: Thư mục nay cũng chứa một thư mục bộ đệm chứa các tệp được
tạo khung để tối ưu hóa hiệu suất
e public: Thư mục này cũng chứa các nội dung như hình ảnh, JavaScript và
CSS.
e resources: Thư mục này chứa các view, cũng như các template CSS hoặc
JavaScript
e routes: Gồm các tuyến đường (route) đã định nghĩa của ứng dụng Trong
đó file web.php nó sẽ chứa các request từ trình duyệt.
e storage: sẽ lưu trữ các file do người dùng (user) đăng tải, chăng hạn như
ảnh sản phẩm có thê truy cập công khai
e tests: hiéu đơn giản dùng để test các class trong quá trình thử nghiệm
e vendor: chứa các thư việc tích hợp va mã nguôn sâu của Laravel
Trần Ngọc Huy — DI7HTTT6 4
Trang 19Đồ án tốt nghiệp đại học Chương 1 Mở đầu
1.5 KET LUẬN CHUONG 1
Với chương 1, đồ án đã trình bay tong quan các lý thuyết sẽ áp dung cho hệ thống
về cơ sở dữ liệu MySQL, framework Laravel, mô hình MVC
Kết quả của chương | sẽ được sử dụng dé xây dựng website bán thực pham vàhàng tiêu dùng thiết yếu trong các chương tiếp theo của dé án
Trần Ngọc Huy — DI7HTTT6 5
Trang 20Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
CHUONG 2 PHAN TÍCH THIET KE HE THONG
2.1 PHAT BIEU BÀI TOÁN
Một người quan lý dé có thé vận hành hệ thong website bán hang 1 cách dé dangthì hệ thống phải đáp ứng được những chức năng đặc thù như quản ly user, quan lý sảnphẩm, quản lý đơn hàng, thong kê Website bán thực pham và hàng tiêu dùng cần ít nhấtcung cap được những chức năng đã kể trên
Với mỗi khách hàng hoặc người dùng phô thông việc cung cấp những chức năng
cơ bản như xem sản phẩm, thanh toán, đăng ký tài khoản, đăng nhập/đăng xuất, đặt hàng
phải là ưu tiên hàng đầu cho bất cứ 1 website bán hàng nào
Không những vậy, việc có 1 phần giao diện đẹp mắt, phù hợp với xu hướng thời
đại cũng là 1 yêu tố không nhỏ giúp website trở lên bắt mắt và thu hút người dùng
2.2 CÁC YÊU CÂU PHI CHỨC NANG
Đây là những yêu cầu không đề cập trực tiếp đến những chức năng của hệ thống
nó thường được hiểu như những thuộc tính : giao điện, độ tin cậy, tốc độ xử lý hay độ
tương thích, Các yêu cầu này cũng là 1 van đề cần cải thiện khi xây dựng 1 hệ thống
Cu thê hơn khách hang có thé xem chỉ tiết sản phẩm, tìm kiếm sản phẩm, thêm sản pham
vào giỏ hàng và thanh toán online 1 cách dễ dàng Bên cạnh đó, người quản lý cũng có
thê thêm/ sửa/ xóa các mặt hàng, quản lý tài khoản của khách hàng cũng như quản lýđơn hàng có trên hệ thống và xem thống kê doanh thu
Phạm vi hệ thống:
+ Hệ thống tập chung chủ yếu vào các chức năng:
e Khách hàng đặt mua hàng
Trần Ngọc Huy — DI7HTTT6 6
Trang 21Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
Admin ( Nhân viên quản lý) :
Xem thống kê: Thống kê doanh số bán hàng theo ngày/ tháng/
Quản lý tài khoản người dùng: Cho phép xem danh sách danh
mục sản phẩm hiện có, thêm- sửa- xóa danh mục sản phẩm
Quản lý đơn hàng : Cho phép xem danh sách đơn hàng hiện có, cập nhật trạng thái đơn hàng
2.3.3 Quan hệ giữa các đối tượng
e_ Một khách hàng có thé chọn mua nhiều sản pham
Trần Ngọc Huy — DI7HTTT6 7
Trang 22Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
e Một sản phẩm có thé chon mua bởi nhiều khách hàng
e Một khách hàng có thể không có hoặc có một hoặc nhiều đơn
hàng
e_ Một giỏ hàng có thé chứa nhiều sản phẩm
e Một sản phẩm có thé thuộc nhiều giỏ hàng
e©_ Một người quản lý có thé quản lý nhiều tài khoản người dùng
e©_ Một người quản lý có thé quản lý nhiều sản phẩm
e©_ Một người quản lý có thé quản lý nhiều don hang
2.4 BIEU DO USECASE VÀ KỊCH BAN
2.4.1 Biểu đồ usecase tống quan
Trang 23Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
Đăng kí Cho phép người dùng đăng kí tài khoản tại website
Thanh toán Cho phép khách hàng thanh toán online khi đặt hàng
Xem chỉ tiết sản phẩm Cho phép khách hang xem được mô tả chỉ tiết về sản phẩm
Tìm kiếm sản phẩm Cho phép khách hàng tìm được sản phẩm mình cần mua
Bình luận đánh giá Cho phép khách hang đưa ra những nhận xét về sản phẩm
Thêm vào giỏ hàng Cho phép khách hàng thêm sản phẩm cần mua vào giỏ hàng
Quản lí người dùng Cho phép quản trị viên quản lí, cấp hoạt động cho tài khoản người
dùng Quản lí sản phâm Cho phép quản tri viên xem danh sách sản phâm, tạo sản phâm mới,
chỉnh sửa sản phâm hoặc xóa sản phâm
Quản lí danh mục sản
phẩm
Cho phép quản trị viên xem danh sách danh mục sản phẩm, tạo
danh mục sản phâm mới, chỉnh sửa danh mục hoặc xóa danh mục
Quản lí đơn hàng Cho phép quản trị viên xem danh sách đơn hàng, xóa đơn hàng, hủy
năm)
Bang 2.1 Bảng mô tả tóm tắt cdc usecase
2.4.2 Usecase và kịch ban module đăng kí/ đăng nhập
* Biểu đồ Usecase đăng ký
Người dùng
Hình 2.2 Biểu đồ usecase đăng ký
Trần Ngọc Huy — DI7HTTTó6 9
Trang 24Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
* Kịch bản chuan và ngoại lệ của usecase đăng ký
Bảng 2.2 Kịch bản đăng ký
Tên Use case Dang ky tai khoan
Actor Nguoi dung ( Khach hang )
Tién diéu kién Chưa có tài khoản trên hệ thống
Hậu điêu kiện Người dùng đăng ký tài khoản thành công, thông tin tài khoản được
lưu vào cơ sở dữ liệu hệ thong
Chuỗi sự kiện
1.Người dùng truy cập vào trang web.
2.Ngườidùng chọn nút đăng ky3.Giao diện hiên thị form đăng kýchính 4.Người dùng nhập thông tin tài khoản
5 Hệ thống kiểm tra thông tin tài khoản
6 Hệ thống thông báo đăng ký thành công và trở lại trang chủ
Ngoại lệ Đăng ký không thành công do nhập sai thông tin tài khoản, mật khẩu,
email người dùng quay trở lại bước thứ nhất dé thực hiện
* Biêu đồ Usecase đăng nhập
Người dùng
Hình 2.3 Biểu đồ usecase đăng nhập
* Kịch bản chuân và ngoại lệ của usecase đăng nhập
Bang 2.3 Kịch bản chuẩn đăng nhập
Tên Use case Đăng nhập
Actor Người dùng ( Khách hang hoặc admin )
Tiền điều kiện Đã có tài khoản trên hệ thống
Trần Ngọc Huy — DI7HTTT6 10
Trang 25Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
Hậu điêu kiện Người dùng đăng nhập tài khoản thành công, hệ thống hién thị giao
diện trang chủ
Chuỗi sự kiện chính
1.Người dùng truy cập vào trang web.
2 Người dùng chọn nút đăng nhập
3 Giao diện hiển thị form đăng nhập
4 Người dùng nhập thông tin tài khoản và click nút đăng nhập
5 Hệ thống kiểm tra thông tin tài khoản
6 Hệ thống thông báo nhập thành công và trở lại trang chủ
Ngoại lệ 6 Thông báo đăng nhập thất bại
6.1 Người dùng nhập lại thông tin va chon nút đăng nhập
2.4.3 Usecase và kịch bản module khách hàng xem sản phẩm
* Biéu do usecase chỉ tiêt
<<extends>> _ " men tế san ph
Tiên điêu kiện Không
Hậu điêu kiện Người dùng xem được những sản phâm mình muôn
Trần Ngọc Huy — DI7HTTT6 11
Trang 26Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
1 Người dùng truy cập vao trang web.
Chuỗi sự kiện 2 Người dùng có thê click chọn xem chi tiệt sản phâm, lọc sản phâm
chính theo nhu cầu hoặc tìm kiếm sản phẩm
3 Hệ thống hién thị thông tin sản phâm như yêu cầu của khách hang
2 Hệ thống không hiền thị được sản phẩm khách hàng yêu cầu
Ngoại lệ 2.1 Người dùng quay trở lại trang chủ để xem sản phẩm
2.4.4 Usecase và kịch ban module khách hàng đặt hàng và thanh toán
* Biêu đô usecase chỉ tiêt
Khách hàng
<<Include>> ~“
-<<Include>> *s =
Hình 2.5 Biểu đồ usecase đặt hang
*Kich bản chuẩn và ngoại lệ
Bảng 2.5 Kịch bản chuẩn xem đặt hàng và thanh toán
Tên Use case Đặt hàng và thanh toán
Actor Khách hàng
Tiên điêu kiện Khách hàng đã có tài khoản và đã đăng nhập vào hệ thống, có sản
phẩm được chọn trong giỏ hàngHậu điêu kiện Khách hàng đặt hàng và thanh toán thành công
Trần Ngọc Huy — DI7HTTT6 12
Trang 27Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
Chuỗi sự kiện
chính
1 Khách hàng truy cập vào trang web.
2 Giao diện hiển thị sản phẩm cho khách hàng lựa chọn
3 Khách hàng có thé click chon xem chỉ tiết sản phẩm hoặc nhắn nút
thêm vào giỏ hang ngay trên trang chủ
4 Hệ thống hiển thị thêm vào giỏ hàng thành công
5 Khách hang click chọn biểu tượng giỏ hàng
6 Hệ thống hiển thị giao điện giỏ hàng :
Sản pham Đơn giá Số lượng Tổng tiền
9 Khách hàng nhập các thông tin vào các trường và click nút đặt hang
10 Hệ thống thông báo đặt hàng thành công
Trần Ngọc Huy — DI7HTTT6 13
Trang 28Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
2.4.5 Usecase và kịch ban module khách hàng thêm vào giỏ hàng
* Biêu đồ usecase chỉ tiêt
<<include>> ;
h
Hình 2.6 Biểu đồ usecase thêm vào giỏ hàng
*Kich bản chuân và ngoại lệ
Bảng 2.6 Kịch bản chuẩn thêm vào giỏ hàng
Tên Use case Thém vao gio hang
Actor Khách hàng
Tiên điêu kiện Không
Hậu điêu kiện Khách hàng thêm sản phẩm vào giỏ hàng thành công
3 Khách hàng click vào xem chỉ tiết sản phẩm
3.1 Hệ thống hiển thị trang chỉ tiết sản phâm3.2 Khách hàng click vào ô thêm giỏ hàng
2.4.6 Usecase và kịch bản module khách hàng bình luận sản phẩm
* Biéu đô usecase chỉ tiêt
Trần Ngọc Huy — DI7HTTT6 14
Trang 29Đồ án tốt nghiệp đại hoc Chuong 2 Phan tich thiét ké hé thong
Tiên điêu kiện Khách hàng có tài khoản đăng nhập và đã đăng nhập vào hệ thống
Hậu điêu kiện Hiển thị bình luận của khách hàng thành công
Chuỗi sự kiện
chính
1 Khách hàng click vào xem chi tiết sản phẩm
2 Hệ thống hiển thi chi tiết sản phẩm và các bình luận bên dưới nếu
2.4.7 Usecase và kịch bản module quản lý danh mục sản phẩm
*Biéu đồ usecase chỉ tiét :
Trần Ngọc Huy — DI7HTTT6 15
Trang 30Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
<<extends>> „~““
Ầ <<extends>>
Admin NR es
<<extendsz==
Hình 2.8 Biểu đô usecase quản lý danh mục sản phẩm
*Kich bản chuan và ngoại lệ:
Bảng 2.8 Kịch bản chuẩn thêm danh mục sản phẩm
Tên Use case Thêm danh mục sản pham
Actor Admin
Tiền điều kiện Admin đăng nhập thành công vào hệ thống quản lý
Hậu điều kiện Admin quản lý thêm danh mục sản phẩm thành công
1 Admin truy cập vào hệ thống và chọn mục quản lý danh mục sảnphẩm
2 Hệ thống hiển thị giao diện quản lý danh mục sản phâm bao gồm :STT Ảnh danh mục | Tên danh mục | Chức năng
Chuỗi sự kiện 1 Rau, củ, quả Xóa/ Sửa
chính 2 Gia vi Xóa/ Sửa
e Nút thêm danh mục sản phẩm
3 Admin nhân nút thêm danh mục sản phẩm
4 Hệ thống hiển thi giao diện thêm danh mục sản phẩm bao gồm :
Tên danh mục | Chọn hình ảnh
Trần Ngọc Huy — DI7HTTT6 16
Trang 31Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
Nút thêm
5 Admin nhập thông tin đầy đủ thông tin danh mục và tải ảnh lên hệ
thống rồi click nút thêm
6 Giao diện thông báo thành công và quay lại danh sách danh mục
sản phâm
Ngoại lệ Không
Bảng 2.9 Kịch bản chuẩn sửa danh mục sản phẩm
Tên Use case Sửa danh mục sản phâm
Tiên điêu kiện Admin đăng nhập thành công vào hệ thống quản lý
Hậu điêu kiện Admin quản lý sửa danh mục sản phẩm thành công
1 Rau, củ, quả Xóa/ Sửa
2 Gia VỊ Xóa/ Sửa
e Nút thêm danh mục sản phẩm
3 Admin nhắn nút sửa danh mục sản pham
4 Hệ thống hiển thị giao điện sửa danh mục sản phâm bao gồm :Tên danh mục | Chọn hình ảnh
Sửa
Trần Ngọc Huy — DI7HTTT6 17
Trang 32Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
5 Admin nhập thông tin đầy đủ thông tin danh mục và tải ảnh lên hệthống rồi click nút sửa
6 Giao diện thông báo thành công và quay trở lại trang danh mục sản
phẩm
Ngoại lệ Không
Bảng 2.10 Kịch bản chuẩn xóa danh mục sản phẩm
Tên Use case Xóa danh mục sản phâm
Tién diéu kién Admin đăng nhập thành công vào hệ thống quan lý
Hậu điêu kiện Admm quản lý sửa danh mục sản phẩm thành công
1 Rau, củ, quả Xóa/ Sửa
2 Gia VỊ Xóa/ Sửa
e Nút thêm danh mục sản phẩm
3 Admin nhân nút xóa danh mục sản phẩm
4 Hệ thống hiển thị cửa số thông báo :
Bán có chắc chăn muôn xóa Xóa Hủy
5 Admin click vào xóa
Trần Ngọc Huy — DI7HTTT6 18
Trang 33Đồ án tốt nghiệp đại học Chương 2 Phân tích thiết kế hệ thống
6 Giao diện thông báo xóa thành công và quay trở lại trang danh mục
sản phâm
5 Admin click vào hủy
Ngoại lệ
5.1 Giao hiện ân cửa sô thông báo đã hiện
2.4.8 Usecase và kịch bản module quản lý sản phẩm
*Biéu đồ usecase chỉ tiêt :
<<extends>> sat - Cranage)