Website cần có các chức năng cơ bản của các trang thương mại điệ ử như: n tNgười mua có thể đăng k và đăng nhập vào hệ thống để quản lý tài khoản, giỏ hàng, đơn hàng, tương tác với hệ t
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA KỸ THU ẬT - CÔNG NGHỆ
BÁO CÁO MÔN HỌC
ĐỒ ÁN CHUYÊN NGÀNH
XÂY D NG WEBSITE Ự
BÁN ĐIỆN THOẠI MOBILE SHOP PHP
GVHD: Th S NGUY N HỄ ỮU VĨNH SVTH: NGUYỄN THÀNH TRUNG MSSV: 17248010301 64
L P: D17PM03 Ớ
BNH DƯƠNG – 11/2020
Trang 2TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA K THUỸ ẬT – CÔNG NGHỆ
BÁO CÁO MÔN HỌC
ĐỒ ÁN CHUYÊN NGÀNH
XÂY D NG WEBSITE Ự
BÁN ĐIỆN THOẠI MOBILE SHOP PHP
GVHD: Th S NGUY N HỄ ỮU VĨNH SVTH: NGUYỄN THÀNH TRUNG MSSV: 1724801030164
L P: D17PM03 Ớ
BNH DƯƠNG – 11/2020
Trang 3tr trợ ực tuyến m b o h để đả ả ệ ống thân thi n nhth ệ ất với người dùng
Trên đây là các yêu cầu của hệ thống trong khuôn kh cổ ủa đồ án này Tuy h ệthống ch ỉ đáp ứng được các chức năng của một website thương mại điện tử c nh ỡ ỏ
- thích h p cho kinh doanh bán l theo cá nhân ho c hợ ẻ ặ ộ gia đình, nhưng trong tương lai em sẽ tiếp tục phát triển hệ thống thành một chuỗi các cửa hàng, xây dựng app mobile cho h ệ thống và đặc biệt phát tri n các dể ịch vụ logistics
Bình Dương ngày 20 tháng 11
năm 2020
Sinh viên thực hiện
Trang 4MỤC LỤC
CHƯƠNG 1 KHẢO SÁT HIỆN TRẠNG 1
1.1 Đặt vấn đề 1
1.2 Thương mại điện tử Việt Nam 1
1.3 Mục tiêu và chức năng chnh của hệ thống 1
1.4 Định hướng giải quyết vấn đề 2
1.5 Tóm tắt cơ sở lý thuyết 2
Ngôn ngữ l p trình PHP 2ậ HTML, CSS và JavaScript 4
Môi trường phát triển ứng d ng 6ụ CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6
2.1 Các yêu cầu đặt ra cho h ệ thống 6
2.2 Các tác nhân của hệ thống 7
2.3 Biểu đồ UseCase của hệ thống 7
Biểu đồ UseCase tổng quát 8
2.4 Các chức năng chnh của hệ thống 9
Chức năng đăng ký 9
Chức năng đăng nhập 11
Chức năng đánh giá và bình luận 15
Chức năng giỏ hàng 17
Chức năng mua hàng và thanh toán 21
Chức năng quản lý sản ph m 24ẩ Chức năng quản lý đơn hàng 27
2.5 Thiết kế cơ sở ữ liệu 29 d Các bảng trong cơ sở ữ liệ d u 29
Lược đồ quan hệ c a các bảng 33ủ CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRNH 34
3.1 Giao diện ng d ng 34ứ ụ Giao diện một số trang chính 34
Giao diện một số chức năng 37
3.2 Kết luận 43
CHƯƠNG 4 KẾT LUẬN 44
4.1 Những kết quả đạt được 44
Trang 54.2 Kết quả chưa đạt được 44 4.3 Định hướng phát triển trong tương lai 44
TÀI LIỆU THAM KH O 45Ả
Trang 6DANH MỤC HÌNH V Ẽ Hình 2.1 Biều đồ UseCase t ng quát 8ổ
Hình 2.2 Biểu đồ UseCase đăng ký 10
Hình 2.3 Biểu đồ hoạt động chức năng đăng ký 11
Hình 2.4 Biểu đồ UseCase đăng nhập 13
Hình 2.5 Biểu đồ hoạt động chức năng đăng nhập 14
Hình 2.6 Biểu đồ UseCase đánh giá và bình luận 15
Hình 2.7 Biểu đồ hoạt động chức năng đánh giá và bình luận 17
Hình 2.8 Biểu đồ UseCase gi hàng 17ỏ Hình 2.9 Biểu đồ hoạt động chức năng giỏ hàng 19
Hình 2.10 Biểu đồ UseCase mua hàng và thanh toán 22
Hình 2.11 Biểu đồ hoạt động chức năng mua hàng và thanh toán 23
Hình 2.12 Biểu đồ UseCase qu n lý s n ph m 25ả ả ẩ Hình 2.13 Biểu đồ hoạt động chức năng quản lý s n ph m 26ả ẩ Hình 2.14 Biểu đồ UseCase quản lý đơn hàng 28
Hình 2.15 Biểu đồ hoạt động chức năng quản lý đơn hàng 29
Hình 2.16 Biểu đồ quan h ệ các bảng trong cơ sở ữ liệ d u 33
Hình 3 Giao di1 ện trang ch Mobile Shop 34ủ Hình 3 Giao di2 ện trang qu n tr Mobile Shop 35ả ị Hình 3.4 Giao diện trang s n ph m 35ả ẩ Hình 3 Giao di3 ện trang chi ti t s n ph m 36ế ả ẩ Hình 3 Giao di4 ện trang đăng nhập hệ thống 37
Hình 3 Giao di5 ện chức năng đánh giá và bình lu n 38ậ Hình 3 Giao di6 ện trang gi hàng 39ỏ Hình 3 Giao di7 ện trang mua hàng 39
Hình 3 Giao di8 ện trang ch nh s a bài vi t 40ỉ ử ế Hình 3 Giao di9 ện chức năng thêm sản phẩm mới 40
Hình 3.10 Giao diện trang qu n lý s n ph m 40ả ả ẩ Hình 3.11 Giao diện chức năng quản lý đơn hàng 41
Trang 7DANH M C BỤ ẢNG BI U Ể
Bảng 2.1 Bảng đặ ả UseCase đăng kýc t 10
Bảng 2.2 Bảng đặ ả UseCase đăng nhậc t p 13
Bảng 2.3 Bảng đặ ả UseCase đánh giá và bình luậc t n 15
Bảng 2.4 Bảng đặ ả UseCase giỏc t hàng 18
Bảng 2.5 Bảng đặ ả UseCase mua hàng và thanh toánc t 22
Bảng 2.6 Bảng đặ ả UseCase quảc t n lý s n ph m 25ả ẩ Bảng 2.7 bảng đặ ảc t UseCase quản lý đơn hàng 28 Bảng 2.8 C u trúc d ấ ữ liệu b ng users 29ả Bảng 2.9 C u trúc d ấ ữ liệu b ng San pham 30ả Bảng 2.10 C u trúc dấ ữ liệu b ng nha san xuat 30ả Bảng 2.11 C u trúc dấ ữ liệu b ng chi tiet hoa don 30ả Bảng 2.12 C u trúc dấ ữ liệu b ng hoadon 31ả Bảng 2.13 C u trúc dấ ữ liệu b ng dichvu 32ả Bảng 2.14 C u trúc dấ ữ liệu b ng admin 32ả
Trang 81
CHƯƠNG 1. KHẢO SÁT HIỆN TRẠNG Nội dung: Trong chương 1, em sẽ tìm hi u v nhu c u, th c tr ng cể ề ầ ự ạ ủa thương mại điện t ử cũng như xây dựng các kênh giao ti p, bán hàng, quế ản lý… Từ đó đưa
ra m c tiêu và chụ ức năng chnh của hệ thống, đưa ra hướng gi i quy t vả ế ấn đề đặt
ra, định hướng các giải pháp công nghệ và tóm tắt cơ sở lý thuyết
Với việc thương mại điệ ửn t hóa, m i rào c n vọ ả ề không gian địa lý hay thời gian làm việc đều được xoá b Các s n phỏ ả ẩm được gi i thi u rõ dàng d nh cho ớ ệ àkhông chỉ những người mua hàng khu vở ực đó mà trên cả đất nước Vi t Nam, ệthậm ch là người dân trên toàn thế giới Người bán giờ đây không chỉ còn ngồi một chỗ chờ khách hàng tìm đến mà đã tch cực chủ động đứng lên và tìm đến khách hàng Và khi số lượng khách hàng tăng lên thì nó cũng tỉ ệ l thu n vậ ới việc doanh thu s ẽ tăng, đó chnh là điều mà m i doanh nghiọ ệp đều hướng tới
Bằng việc thương mại điện t hóa, t t c các doanh nghi p t l n, v a và nh ử ấ ả ệ ừ ớ ừ ỏđều có thể tho sức sáng tạo, cạnh tranh công bằng Nhả ững ý tưởng kinh doanh mới táo bạo, nh ng chi n lữ ế ược tiếp thị, khuy n mế ại… đều có th ể được áp dụng và hướng tr c tiự ếp đến khách hàng nhanh nh t mà không t n quá nhi u chi phí b i tấ ố ề ở ất
cả vẫn được gói g n trong mọ ột trang thương mại điệ ửn t (website)
Trên những cơ sở đó, đồ án chuyên ngành c a em th c hiủ ự ện đề tài “Xây dng
website bán điện tho i Mobile Shopạ ” nhằm gi i quy t c c nhu c u qu ng b và ả ế á ầ ả ákinh doanh s n ph m ả ẩ
1.2 Thương mại điện tử Việt Nam
Thương mại điện tử (E-Commerce) là hình th c kinh doanh trực tuyến sử ứdụng n n t ng công ề ả nghệ thông tin v i s h ớ ự ỗ trợ của Internet để thực hi n các giao ệdịch mua bán, trao đổi, thanh toán tr c tuy n ự ế Thương mại điện t ử là xu hướng của thời đại toàn cầu hóa, đây là lĩnh vực tiềm năng để các doanh nghiệp vừa và nhỏ sinh l i và phát triợ ển, cơ hội cho nh ng ai mu n kh i nghi p kinh doanh theo mô ữ ố ở ệhình mới Mô hình kinh doanh Thương mại điện t ử được xem như một trong nh ng ữgiải pháp thúc đ y s phát tri n c a n n kinh t quẩ ự ể ủ ề ế ốc gia
1.3 Mc tiêu v chc năng chnh ca h ệ thng
Để có một website bán hàng online ch c h n giao di n c a trang web là mắ ẳ ệ ủ ột điều vô cùng quan trọng, giao diện cần phải thân thiện v i cả máy tnh cũng như ớthiết b ị di động, d s d ng, b t mễ ử ụ ắ ắt và hướng đến th hiị ếu cũng như cảm nhận của khách hàng Bên cạnh đó, website cần ph i có tả ốc độ ử lý nhanh, chính xác, hiệ x u quả và ti n lệ ợi cho c ả người mua cũng như ngư i bán - chủ website ờ
Trang 9Website cần có các chức năng cơ bản của các trang thương mại điệ ử như: n tNgười mua có thể đăng k và đăng nhập vào hệ thống để quản lý tài khoản, giỏ hàng, đơn hàng, tương tác với hệ thống như đánh giá, bình luận hay gửi tin nhắn, tạo bài vi t thu hút khách hàng, qu n lý s n ph m trong kho, quế ả ả ẩ ản lý đơn hàng, thông kê doanh số bán hàng
Với vi c s d ng các ngôn ng l p trình ph ệ ử ụ ữ ậ ổ biến và các ti n ích m ng xã hệ ạ ội kèm theo đã được ch ng minh tính hi u qu qua các website l n, em t tin kh ng ứ ệ ả ớ ự ảđịnh hệ thống có thể đáp ứng hoàn toàn các yêu cầu đặt ra
ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java,
dễ h c và th i gian xây d ng s n phọ ờ ự ả ẩm tương đối ngắn hơn so với các ngôn ng ữkhác nên PHP đã nhanh chóng trở thành m t ngôn ng l p trình web ph bi n nhộ ữ ậ ổ ế ất
thế giớ i
1.5.1.2 Lịch sử hình thành và phát tri n ể
PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là mộ ập con đơn giảt t n của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Vào tháng 11 năm 1997, PHP/FI 2.0 được chính thức công bố, sau một thời gian khá dài chỉ được công bố dướ ại d ng các bản beta Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 – phiên bản đầu tiên cho chúng ta thấy m t hình nh gộ ả ần gũi với các phiên bản PHP mà chúng ta được biết ngày nay
PHP 3.0 đã chnh thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm PHP 3.0 đã được Andi Gutmans và Zeev
Trang 103
Suraski t o ra sau khi vi t l i hoàn toàn b ạ ế ạ ộ mã nguồn trước đó Lý do chính mà h ọ
đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát tri n các ng dể ứ ụng thương mại điệ ửn t mà họ đang xúc tiến trong m t dộ ự án của trường đại học Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tnh năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới
Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bản PHP 4.0 chính thức được công b Ngoài tố ốc độ x ử lý được c i thi n r t nhi u, PHP 4.0 ả ệ ấ ềđem đến các tnh năng chủ yếu khác g m có s h ồ ự ỗ trợ nhiều máy ch ủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới Với PHP 4, s nhà phát triố ển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chi m kho ng 20% s tên mi n trên m ng ế ả ố ề ạInternet
Sau s thành công cự ủa PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chnh thức ra m t sau m t th i gian khá dài tung ra các b n ki m tra th bao g m Beta, ắ ộ ờ ả ể ử ồ
RC Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một sốlỗi trong đó đáng kể là lỗi xác thực HTTP Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt c a PDO, m t n l c trong vi c t o ra m t h ủ ộ ỗ ự ệ ạ ộ ệ thống API nh t quán trong viấ ệc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà phát tri n PHP ti p tể ế ục có những cải tiến trong nhân Zend Engine 2, nâng c p ấ
mô đun PCRE lên bản PCRE 5.0 cùng những tnh năng và cải tiến mới trong SOAP, streams và SPL
Hiện nay phiên b n ti p theo cả ế ủa PHP đang được phát tri n, Phiên b n PHP ể ả
6 được k v ng s lỳ ọ ẽ ấp đầy nh ng khi m khuy t c a PHP ữ ế ế ủ ở phiên b n hi n tả ệ ại, như là: hỗ trợ namespace, hỗ trợ Unicode, s d ng PDO làm API chu n cho vi c truy ử ụ ẩ ệcập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL Phiên bản 6 này chỉ dùng việc nghiên cứu và thử nghiệm PHP 7 v i việc sử dụng b nhân Zend ở ớ ộEngine m i PHPNG cho tớ ốc độ nhanh g p 2 l n Ngoài ra phiên b n này còn ấ ầ ở ảthêm vào r t nhi u ấ ề cú pháp, tnh năng mới giúp cho PHP tr nên m nh mở ạ ẽ hơn Những tnh năng mới quan tr ng có th k ọ ể ể đến như: khai báo kiểu d u cho bi n, ữ liệ ếxác định kiểu dữ liệu sẽ trả về cho 1 hàm, thêm các toán tử mới
1.5.1.3 Ưu điểm của PHP
PHP là ngôn ng mã ngu n m , có thữ ồ ỡ ể chạy được trên c Apache và IIS do ả
đó so với ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng bằng số lượng các website được thiết kế bằng ngôn ngữ PHP hiện nay Cấu trúc PHP cực
kỳ đơn giản, vậy nên bạn sẽ không mất nhiều thời gian để có thể học được Một khi đã làm chủ được HTML và C, bạn hoàn toàn có thể làm chủ được ngôn ngữ lập trình này
Trang 11Thư viện của PHP vô cùng phong phú, hệ thống CMS miễn ph dùng tương
đối nhiều, cũng như được cộng đồng hỗ tr một cách vô cùng mạnh mẽ Vậy nên ợbạn có th d dàng tìm ngu n tài li u mình cể ễ ồ ệ ần cũng như có thể nhận được s h ự ỗ
trợ một cách nhanh nhấ t
Do chạy được trên máy ch ủ Apache và thường đi cặp cùng với hệ qu n tr ả ị cơ
sở dữ liệ MySQLu nên việc cài đ t môi trường phát triặ ển vô cùng đơn giản, thông qua m t bộ ộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS
1.5.1.4 PHP Framework
Framework là m t b mã nguộ ộ ồn được xây d ng, phát triự ển và đóng gói –phân ph i b i các chuyên gia l p trình ho c b i các công ty l p trình Nó số ở ậ ặ ở ậ ẽ cung cấp m t c u trúc phát tri n chuộ ấ ể ẩn để các developer dựa vào đó xây dựng và phát triển các d ự án Đi kèm theo nó là một kho thư viện g m nhi u l p/hàm x ồ ề ớ ử lý được
đặt trong các packages hoặc namespace riêng Các chuyên gia lập trình sử d ng ụnhiều k ỹ thuật l p trình và gi i thuậ ả ật/thuật toán để xây d ng các l p x lý m t cách ự ớ ử ộtối ưu nhất, giải quyết các bài toán lập trình nhanh chóng và chính xác Các lớp trong m t framework s làm vi c t t nh t v i c u trúc chuộ ẽ ệ ố ấ ớ ấ ẩn mà framework đó cung cấp
Nhắc đến sự hỗ trợ mạnh mẽ của cộng đồng cho ngôn ngữ lập trình PHP thì chắc ch n ph i k t i sắ ả ể ớ ự đa dạng c a các PHP Framework: Laravel, Symfonyủ , Codeigniter, CakePHP Các PHP Framework đều được xây d ng theo chu n mô ự ẩhình MVC (Model – View – Controller) và cung cấp r t nhi u l p hấ ề ớ ỗ trợ ử x lý v ềbảo m t, phân quyậ ền, captcha, view helper, module manager, database, service… khi đó các lập trình viên s xây d ng, phát tri n website m t cách d dàng và nhanh ẽ ự ể ộ ễchóng
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 1 cấ ấu trúc cơ bản để xây dựng nh ng ng dữ ứ ụng đó Hay nói cách khác, PHP framework giúp đỡ các b n ạthúc đẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên Ngoài ra Framework còn giúp những người m i bớ ắt đầu có th xây d ng ể ựcác ứng d ng ụ ổn định hơn nhờ việc tương tác chnh xác giữa các Database, mã (PHP) và giao di n (HTML) m t cách riêng biệ ộ ệt Điều này cho phép b n dành ạnhiều thời gian để ạ t o ra các ng dứ ụng web, hơn là ph thời gian để viết các đoạn
Trang 125
dụng trong các t ổ chức cần đến các yêu c u xu t b n ph c tầ ấ ả ứ ạp HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm nghiên c u CERN ứ ở Thụy Sĩ Anh ta đã nghĩ ra được ý tưởng cho hệ thống hypertext trên n n Internet Anh xu t b n phiên bề ấ ả ản đầu tiên của HTML trong năm
1991 bao g m 18 tag HTML Tồ ừ đó, mỗi phiên b n m i cả ớ ủa HTML đều có thêm tag mới và attributes m i Nâng c p m i nh t gớ ấ ớ ấ ần đây là vào năm 2014, khi ra mắt chuẩn HTML5
1.5.2.2 CSS
CSS là ch vi t tữ ế ắt cho “Cascading Style Sheets”, được s dử ụng để mô t ảgiao diện và định d ng c a m t tài li u vi t b ng ngôn ng ạ ủ ộ ệ ế ằ ữ đánh dấu (markup) Nó cung cấp một tnh năng bổ sung cho HTML Nó thường được sử d ng v i HTML ụ ớ
để thay đổi style của trang web và giao diện người dùng Nó cũng có thểđược s ửdụng với bất kỳ loại tài li u XML nào bao gệ ồm cả XML đơn giản, SVG và XUL CSS được phát tri n bể ởi W3C (World Wide Web Consortium) vào năm 1996, nhằm mục đch: Hạn ch t i thi u vi c làm r i mã HTML c a trang Web b ng các ế ố ể ệ ố ủ ằthẻ quy định kiểu dáng khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web và định dạng hi n th , d dàng cho vi c c p nh t n i dung; ể ị ễ ệ ậ ậ ộTạo ra các ki u dáng có th áp dể ể ụng cho nhi u trang Web, giúp tránh ph i l p lề ả ặ ại việc định d ng cho các trang Web gi ng nhau ạ ố
Giống như HTML, CSS không thực sự là một ngôn ngữ lập trình mà là một ngôn ng nh ki u ữ đị ể – style Điều này có nghĩa là nó cho phép bạn áp d ng ki u có ụ ểchọn l c cho các ph n tọ ầ ử trong tài liệu HTML
1.5.2.3 JavaScript
JavaScript là một ngôn ng l p trình k ch bữ ậ ị ản đa nề ản t ng (cross-platform), hướng đối tượng Nó chủ yếu được sử dụng để tăng cường cung cấp trải nghiệm thân thiện hơn với người dùng website như là bao g m các trang web c p nh t t ồ ậ ậ ựđộng, cải tiến giao diện người dùng như menu và hộp thoại, hình động, đồ h a 2D ọ
và 3D, bản đồ tương tác, trình phát video JavaScript là một ngôn ng nh và nh , ữ ỏ ẹchạy trong môi trường máy chủ lưu trữ (trình duyệt web) Nó có thể được kết nối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối với chúng
JavaScript được phát triển b i Brendan Eich t i Hãng truy n thông Netscape ở ạ ềvới cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cu i cùng thành ốJavaScript Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java Hiện nay phiên b n m i nh t c a JavaScript là ECMAScript 7 v i nhiả ớ ấ ủ ớ ều cải tiến vượ ậc so với phiên b n ti n nhit b ả ề ệm
JavaScript là ngôn ngữ k ch b n phía máy khách (client-side) duy nh t Do ị ả ấ
đó, nó được s d ng trên h u h t các trang web mà b n nhìn th y trên internet Tuy ử ụ ầ ế ạ ấnhiên cú pháp c a nó vô cùng l n x n và khó làm chủ ộ ộ ủ, do đó Jquery – một thư viện của JavaScript ra đời nhằm giúp lập trình viên xây dựng những chức năng có sửdụng Javascript trở nên dễ dàng hơn như: đơn giản hóa vi c duy t tài li u HTML, ệ ệ ệ
Trang 13xử lý s ki n, hoự ệ ạt ảnh và tương tác Ajax để phát triển web nhanh chóng jQuery
là m t bộ ộ công cụ JavaScript g n nh ọ ẹ nhưng đầy m nh mạ ẽ, được chứng minh qua hơn 90% các website trên thế giới sử dụng (trừ các website chạy bằng JavaScript Framework)
Môi trường phát triển ng dng
1.5.3.1 MySQL
MySQL là h qu n trệ ả ị cơ sở ữ liệ ự d u t do ngu n m ph bi n nh t th giồ ở ổ ế ấ ế ới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng, đặc biệt l cà ác ứng d ng website v nụ à ó thường đi kế ợp với ngôn ng l p trt h ữ ậ ình PHP
để xây dựng các ứng dụng website MySQL được các hệ thống web ưa chuộng là
vì tốc độ x l cao, d s d ng, ử ý ễ ử ụ ổn định, v à tương thch v i c c h ớ á ệ điều hành thông dụng hiện nay như Linux, Window, Mac OS X, Unix, FreeBSD…
1.5.3.2 XAMPP
Apache và MySQL là hai y u t c n thi t cế ố ầ ế ấu thành nên môi trường phát triển ứng dụng web b ng ngôn ng ằ ữ PHP Do đó XAMPP ra đời nhằm mục đch kết h p ợtất cả các yếu t c u thành WebServer trong mố ấ ột chương trình
XAMPP là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin XAMPP có chương trình quản lý khá tiện lợi, cho phép chủ động bật t t ho c khắ ặ ởi động l i các d ch v máy ch b t k lúc nào Nhìn chung XAMPP ạ ị ụ ủ ấ ỳđược xem là một bộ công cụ hoàn chỉnh dành cho lập trình viên PHP trong việc thiết lập và phát tri n các website ể
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Nội dung: Chương 2 trình bày các yêu cầu đặt ra cho hệ thống, các tác nhân
của hệ thống Đồng thời đưa ra các chức năng, ểu đồ bi UseCase và biểu đồ hoạt động cho từng tác nhân đó Trên cơ sở phân tích trên em s ẽ thiế ết k các b ng trong ả
cơ sở dữ liệu và quan hệ của chúng
2.1 Các yêu cầu đặt ra cho h ệ thng
Hệ thống là một website thương m i điạ ệ ửn t nên mọi doanh thu và l i nhuợ ận đều đến từ pha khách hàng Do đó các yêu cầu đặt ra cho hệ thống cũng phải phù hợp với nhu c u cầ ủa khách hàng
Yêu c u v giao di n wầ ề ệ ebsite: phải có giao di n thân thi n, b t m t, d s ệ ệ ắ ắ ễ ửdụng, phù hợp v i thớ ị yếu và nhu c u cầ ủa người dùng Trang ch phủ ải hiển th bao ịquát toàn b hộ ệ thống và ph i làm n i b t nh ng s n ph m m i, s n phả ổ ậ ữ ả ẩ ớ ả ẩm ưa chuộng Hệ thống ph i có các trang gi i thiả ớ ệu, trang hướng d n, trang chính sách ẫ
để người dùng có thể tìm được thông tin và tạo sự tin tư ng cho khách hàng ở
Về hiệu năng của hệ thống: hệ thống ph i có hiả ệu năng xử lý yêu c u cầ ủa khách hàng nhanh nh t có th , ngay l p t c ph i h i lấ ể ậ ứ ả ồ ại khi người dùng click vào một chức năng cụ thể Bên cạnh hiêu năng nhanh còn phải xử lý chính xác yêu cầu của khách hàng và đảm b o an toàn b o m t cho khách hàng ả ả ậ
Trang 147
Về các chức năng của hệ thống: đảm bảo hệ thống có đầy đủ chức năng cần thiết c a mủ ột trang thương mại điệ ửn t Khách hàng có th t o tài khoể ạ ản và đăng nhập, tìm ki m, thêm s n ph m vào giế ả ẩ ỏ hàng, mua hàng và thanh toán Người quản trị có th qu n lý t t cể ả ấ ả các người dùng trong hệ thống, qu n lý s n phả ả ẩm, quản lý đơn hàng, thống kê doanh số
2.2 Các tác nhân ca h ệ thng
User: là những người dùng đã đăng nhập vào hệ thống Nh ng tác nhân này ữ
là mục đch chnh mà hệ thống hướng tới do đó ngoài các chức năng cơ bản và sử
sử d ng thêm nhi u chụ ề ức năng nâng cao khác, như là: quản trị tài kho n, mua s n ả ảphẩm, đánh giá – bình luận về 1 bài viết hay sản phẩm
Admin: là tác nhân gi vai trò chính trong hữ ệ thống website Là người điều hành, qu n lý và theo dõi m i hoả ọ ạt động c a hủ ệ thống Tác nhân có thể thực hi n ệđược tất cả chức năng quản trị trong hệ thống như là: quản lý kho hàng, quản lý bài vi t, qu n lý các tài kho n thành viên khác, xế ả ả ử lý đơn hàng, thống kê doanh thu, hỗ trợ và ph n h i cho khách hàng ả ồ
2.3 Biểu đồ UseCase ca h ệ thng
Trang 15Biểu đồ UseCase t ng quát ổ
Hình 2.1 Biều đồ UseCase t ng quátổ
Trang 172.4.1.2 UseCase đăng ký
B ảng 2.1 Bảng đặ ả UseCase đăng kýc t
Tên UseCase Đăng ký
Mô Tả Cho phép khách hàng đăng ký tài khoản
Tác Nhân Người dùng chưa đăng nhập (Guest)
Điều kiện đầu vào Khi người dùng chưa có tài khoản chọn chức năng đăng ký
Điều kiện đầu ra Người dùng đăng ký thành công hoặc hủy đăng ký
- Người dùng chọn đăng ký bằng form đăng ký: sau khi điền đầy đủ thông tin và ấn nút gửi, h ệ thống s gẽ ửi email xác nhân đăng ký
Người dùng ấn vào link trong email và đợi thông báo k t quế ả t h ừ ệ thống
Dòng sự ki n ph ệ ụ
- Khi tài kho n facebook ho c google không ả ặchính xác hoặc đã đăng ký, hệ thống s hiẽ ển thị thông báo và quay lại trang đăng ký
- Khi người dùng nh p thông tin tài khoậ ản vào form đăng ký không chnh xác hoặc đã tồn t i, hạ ệ thống s hi n thẽ ể ị thông báo và quay lại trang đăng ký
Hình 2.2 Biểu đồ UseCase đăng ký
Trang 18Hình 2.3 Biểu đồ hoạt động chức năng đăng ký
Trang 19khoản khách hàng ho c trang qu n trặ ả ị n u là tài kho n qu n trế ả ả ị Hệ thống cũng cung cấp cho người dùng kh ả năng đăng nhập b ng tài kho n m ng xã h i Google+ ằ ả ạ ộ
và facebook Chức năng này áp dụng cho tác nhân khách hàng đã có tài khoản nhưng chưa đăng nhập (Guest)
Trang 2013
2.4.2.2 UseCase đăng nhập
B ảng 2.2 B ảng đặ ả UseCase đăng nhập c t
Tên UseCase Đăng nhập
Mô Tả Cho phép khách hàng đăng nhập tài khoản
Tác Nhân Người dùng chưa đăng nhập (Guest)
Điều kiện đầu vào Khi người dùng đã có tài khoản và chưa đăng nhập chọn chức năng đăng nhập
Điều kiện đầu ra Người dùng đăng nhập thành công ho c hđăng nhập ặ ủy
- Người dùng chọn đăng nhập b ng form ằđăng nhập: sau khi điền đầy đủ thông tin và
ấn nút đăng nhập, hệ thống sẽ kiểm tra, nếu thành công sẽ chuyển hướng đến trang ch ủhoặc trang qu n trả ị tùy thu c vào lo i tài ộ ạkhoản
Dòng sự ki n ph ệ ụ
- Khi tài kho n facebook hoả ặc google chưa đăng ký, hệ thống sẽ tự động đăng ký và chuyển hướng đến trang chủ
- Khi người dùng nh p thông tin tài khoậ ản vào form đăng nhập không chính xác, hệ thống s hi n th thông báo và quay l i trang ẽ ể ị ạđăng nhập
Hình 2.4 Bi ểu đồ UseCase đăng nhập
Trang 212.4.2.3 Biểu đồ hoạ ộ t đ ng chức năng đăng nhập
Trang 2215
bằng form đăng nhập bằng cách điền đầy đủ thông tin trên form hiển thị và ấn nút đăng nhập Hệ thống sẽ kiểm tra thông tin đăng nhập, nếu sai hệ thống sẽ hiển thị lại trang đăng nhập cùng thông báo lỗi, nếu thành công hệ thống sẽ lưu dữ liệu đăng nhập vào session và chuyển hướng đến trang chủ nếu người dùng đăng nhập bằng thông tin tài khoản thường ho c trang qu n tr nặ ả ị ếu người dùng điền thông tin tài khoản qu n tr ả ị
Người dùng cũng có thể chọn đăng nhập bằng tài khoản mạng xã hội như Facebook ho c Google nặ ếu click vào nút đăng nhập b ng tài kho n m ng xã hằ ả ạ ội Khi đó hệ thống sẽ chuyển hướng đến trang xác thực tương ứng với mạng xã hội
đó Nếu xác thực thành công, hệ thống sẽ lấy thông tin người dùng để đối chiếu với database, nếu người dùng chưa đăng ký bằng tài khoản đó thì hệ thống s t ẽ ựđộng đăng ký, lưu dữ liệu vào database và session sau đó chuyển hướng đến trang chủ và k t thúc chế ức năng đăng nhập
Chc năng đánh giá v bình luận
2.4.3.1 Mô tả chức năng
Chức năng cho phép người dùng có thể gửi bình luận và đánh giá của mình
về m t s n ph m Mộ ả ẩ ọi bình luận và đánh giá đều được hi n thể ị công khai và mỗi tài kho n ch ả ỉ được đánh giá và bình luận một l n, nh ng l n ti p theo s ầ ữ ầ ế ẽ ghi đè lên lần trước để đảm bảo kết quả là chính xác và công bằng nhất Chức năng này hiện tại chỉ áp dụng cho người dùng đã đăng nhập (User)
2.4.3.2 UseCase đánh giá và bình luận
B ảng 2.3 Bảng đặ ả UseCase đánh giá và bình luậc t n
Tên UseCase Đánh giá và bình luận
Mô Tả Cho phép khách hàng đã đăng nhập đánh giá
và bình lu n v s n phậ ề ả ẩm
Hình 2.6 Bi ểu đồ UseCase đánh giá và bình luận
Trang 23Tác Nhân Người dùng đã đăng nhập (User)
Điều kiện đầu vào
Khi người dùng đã đăng nhập truy cập vào trang chi ti t s n phế ả ẩm và điền n i dung ộđánh giá và bình luận
Điều kiện đầu ra Kết đánh giá và bình luận về sản phẩm đó
được hiển th trên trang chi tiếị t s n phẩm ả
Dòng sự ki n ph ệ ụ Không có
Trang 24sẽ tìm ki m bế ản ghi đánh giá trước và c p nhậ ật ại theo dl ữ liệu mới Sau khi lưu
dữ liệu vào database h ệ thống s hi n th nẽ ể ị ội dung đánh giá và bình luận với thông báo gửi đánh giá và bình luận thành công, k t thúc hoế ạt động chức năng đánh giá
sẽ xóa Chức năng này áp dụng cho tác nhân người dùng(Guest và User)
2.4.4.2 UseCase giỏ hàng
Hình 2.7 Biểu đồ hoạt động ch ức năng đánh giá và bình luận
Hình 2.1 Biểu đồ UseCase gi hàngỏ
Trang 25B ảng 2.4 Bảng đặ ảc t UseCase gi ỏ hàng
Tên UseCase Giỏ hàng
Mô Tả Cho phép khách hàng qu n lý gi hàng cả ỏ ủa
mình
Tác Nhân Tất c ả tác nhân người dùng (Guest và User)
Điều kiện đầu vào Khi người dùng chọn các chức năng giỏ
Người dùng có thể truy cập vào trang giỏ hàng ho c di chu t vào biặ ộ ểu tượng giỏ hàng luôn hi n th góc phể ị ải bên dưới c a màn ủhình để thao tác với các chức năng của giỏ hàng Tại đây người dùng có th ể thay đổi số lượng sản phẩm, xóa sản phẩm trong giỏ hàng ho c ti n hành mua các s n phặ ế ả ẩm trong giỏ, khi đó hệ thống s chuyẽ ển hướng đến trang mua hàng v i các s n phớ ả ẩm tương ứng trong giỏ
Bên cạnh đó mỗi khi khách hàng tương tác với website, các s n ph m trong giả ẩ ỏ luôn được cập nh t thông tin giá, giá khuy n mậ ế ại
và s ố lượng s n phả ẩm trong kho để đảm bảo giỏ hàng luôn luôn hi n thể ị thông tin chính xác s n phả ẩm
Dòng sự ki n ph ệ ụ
Khách hàng không th thêm s n ph m nể ả ẩ ếu
số lượng s n phả ẩm vượt quá số lượng trong kho hàng
Khi số lượng m t s n ph m trong gi hàng ộ ả ẩ ỏvượt quá số lư ng sản phẩm đó trong kho, ợ
hệ thống s hi n th thông báo lẽ ể ị ỗi và không cho phép người dùng mua hàng trong giỏ cho đến khi người dùng cập nhật lại số lượng sản phẩm cho phù h p ợ
Trang 26Khi người dùng truy cập vào trang chi tiết sản phẩm và click vào nút thêm sản ph m vào gi hàng, h ẩ ỏ ệ thống s g i m t yêu cẽ ử ộ ầu ajax đến máy ch yêu c u c p ủ ầ ậnhật l i session gi hàng và tr v dạ ỏ ả ề ữ liệu s n ph m trong giả ẩ ỏ để ajax c p nh t l i ậ ậ ạgiỏ hàng mini hi n thể ị ở góc dưới bên phải của màn hình trình duyệt.
Giỏ hàng mini cũng có đầy đủ các chức năng thao tác với gi hàng Các chỏ ức năng này đều gửi một yêu cầu ajax đến máy chủ tương ứng chức năng bạn chọn
để cập nhật lại session và trả về dữ liệu giỏ hàng để hiện th lại ở giỏ hàng mini ịNgười dùng cũng có thể truy cập trực tiếp vào trang giỏ hàng để quản lý và mỗi request gửi đến khách hàng đều cập nh t l i thông tin các s n ph m trong gi hàng ậ ạ ả ẩ ỏ
để đảm bảo thông tin hiển th trong gi luôn luôn chính xác ị ỏ
Khi người dùng ti n hành mua hàng trong gi , h ế ỏ ệ thống s ki m tra thông tin ẽ ểsản ph m trong gi và thông tin s n ph m trong kho, n u sẩ ỏ ả ẩ ế ố lượng vượt quá s ốlượng sản phẩm trong kho thì hệ thống sẽ hiển th thông báo và không cho phép ịmua hàng cho đến khi người dùng s a l i sử ạ ố lượng s n ph m trong gi cho phù ả ẩ ỏhợp N u hế ệ thống xác nh n các s n ph m trong giậ ả ẩ ỏ hàng đã phù hợp, h ệ thống s ẽ
Hình 2.9 Biểu đồ hoạt động chức năng giỏ hàng