Báo cáo đồ án tốt nghiệp đề tài Website bán diện thoại di động năm 2022Ai có nhu cầu mua source code của đồ án trên thì liên hệ zalo số điện thoại này để được trao đổi nhé: 0365312742BỘ GIÁO DỤC VÀ ĐÀO TẠOBỘ NÔNG NGHIỆP VÀ PTNTPHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢILƯƠNG BỈNH KHANGXÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNGBKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNGNgành: Công nghệ thông tinMã số: TLS106NGƯỜI HƯỚNG DẪN: TS. Lê Trần Hữu PhúcHỒ CHÍ MINH, NĂM 2022 CỘNG HOÀ Xà HỘI CHỦ NGHĨA VIỆT NAMĐộc lập Tự do Hạnh phúcNHIỆM VỤ ĐỒ ÁN TỐT NGHIỆPHọ tên sinh viên: LƯƠNG BỈNH KHANG Hệ đào tạo: Đại học chính quyLớp: S2059TH01Ngành: Công nghệ thông tinKhoa: Công nghệ thông tinMã sinh viên: 17510614131. TÊN ĐỀ TÀI:XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG2. CÁC TÀI LIỆU CƠ BẢN:1 https:www.thegioididong.com 2 https:news.appotapay.comthitruongthuongmaidientuvietnam2020tangtruong18808 3 https:www.nganluong.vnvnintegrateoverview.html 4 https:cellphones.com.vn 5 https:viblo.asiapxaydungapivoilaraveldjeZ1RjGlWz 6 https:osd.vnhuongdantichhopfacebookchatboxvaowebsite.html 7 https:hocwebchuan.comtutoriallaravellaravel_project_structure.php 8 https:trungtamwto.vnfile20756baocaoebi2021v3.0.pdf 9 https:drive.google.comfiled1kQGoZGRWg4GRd75CYTxKTNP3iaJBDTZview 3. NỘI DUNG CÁC PHẦN THUYẾT MINH VÀ TÍNH TOÁN: Nội dung cần thuyết minhTỷ lệ %Chương 1: Khảo sát hiện trang10%Chương 2: Phân tích và thiết hệ thống20%Chương 3: Xây dựng chương trình55%Chương 4: Kết luận15%4. BẢNG BIỂU VÀ SƠ ĐỒĐồ án tốt nghiệp bao gồm 27 bảng và 81 hình.5. GIẢNG VIÊN HƯỚNG DẪNGiảng viên hướng dẫn toàn bộ đồ án: TS. Lê Trần Hữu Phúc 6. NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆPNgày ...... tháng ..... năm 2021 Trưởng Bộ môn (Ký và ghi rõ Họ tên) Giáo viên hướng dẫn chính (Ký và ghi rõ Họ tên) TS Lê Trần Hữu Phúc TS. Lê Trần Hữu PhúcNhiệm vụ Đồ án tốt nghiệp đã được Hội đồng thi tốt nghiệp của Khoa thông qua Ngày … tháng … năm 2022 Chủ tịch Hội đồng (Ký và ghi rõ Họ tên) PGS. TS Nguyễn Thanh TùngSinh viên đã hoàn thành và nộp Đồ án tốt nghiệp cho Hội đồng thi ngày ... tháng ... năm 2021 Sinh viên làm Đồ án tốt nghiệp (Ký và ghi rõ Họ tên) (Đã ký) Lương Bỉnh KhangLỜI CAM ĐOANEm xin cam đoan đây là Đồ án tốt nghiệp của bản thân em. Các kết quả trong Đồ án tốt nghiệp này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào.Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng quy định. Tác giả ĐATNKLTN (Đã ký) Lương Bỉnh Khang LỜI CẢM ƠNĐể có thể hoàn thành đồ án tốt nghiệp, trước hết em xin chân thành cảm ơn quý thầy, cô giáo trong khoa Công Nghệ Thông Tin của Phân hiệu Trường đại học Thủy lợi lời cảm ơn chân thành nhất.Đồ án tốt nghiệp được hoàn thành dưới sự hướng dẫn tận tình của TS. Lê Trần Hữu Phúc. Nhân dịp này, em xin đặc biết gửi lời cảm ơn sâu sắc đến thầy Lê Trần Hữu Phúc đã tận tâm hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.Cuối cùng, đồ án tốt nghiệp chắc chắn sẽ không tránh khỏi những khiếm khuyết. Vì vậy, em kính mong nhận được sự đóng góp ý kiến của các thầy cô và các bạn sinh viên để đồ án này được hoàn chỉnh hơn.Vì kiến thức bản thân còn hạn chế, trong quá trình thực tập, hoàn thiện báo cáo này không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ quý thầy cô để bài báo cáo này được hoàn thiện hơn. TÓM TẮT NỘI DUNG ĐỒ ÁNNội dung chính của đồ án là xây dựng website bán điện thoại di động có các chức năng cần thiết như khách hàng có thể tạo tài khoản và đăng nhập vào website, có thể tìm kiếm và xem tin tức – bài viết. Đối với khách hàng đã đăng nhập thì có thể quản lý tài khoản, mua hàng, bình luận và đánh giá. Người quản trị, thông qua website có thể quản lý tình hình của cửa hàng như: tình trạng kho hàng, doanh thu cửa hàng... qua đó có thể đưa ra những chiến lược kinh doanh trong tương lai.Một yêu cầu quan trọng về website bán điện thoại đi động là không những hệ thống phải xử lý nhanh và chính xác mà còn phải có giao diện bắt mắt thu hút khách hàng. Do đó em đã quyết định sử dụng Laravel – một framework của PHP làm ngôn ngữ xử lý logic; HTML, CSS và JavaScript là những ngôn ngữ dùng để thiết kế giao diện. Thêm nữa em sử dụng kênh thanh toán Ngân Lượng làm kênh thanh toán trực tuyến và tiện ích mạng xã hội Facebook messenger làm kênh hỗ trợ trực tuyến để đảm bảo hệ thống thân thiện nhấ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. Mục LụcLỜI CẢM ƠN1TÓM TẮT NỘI DUNG ĐỒ ÁN1BẢNG DANH MỤC CÁC TỪ VIẾT TẮT3DANH MỤC HÌNH ẢNH1DANH MỤC BẢNG BIỂU1CHƯƠNG I. KHẢO SÁT HIỆN TRẠNG11.1.Đặt vấn đề11.2.Thương mại điện tử Việt Nam21.3.Mục tiêu và chức năng chính của hệ thống31.4.Định hướng giải quyết vấn đề41.5. Cơ sở lý thuyết41.5.1. Ngôn ngữ lập trình PHP41.5.2. Laravel Framework91.5.3. HTML, CSS và JavaScript111.5.4. Môi trường phát triển ứng dụng121.5.5. Thanh toán ví điện tử Ngân Lượng131.5.6. Kết luận16CHƯƠNG II. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG172.1. Các yêu cầu đặt ra cho hệ thống172.2. Các tác nhân của hệ thống172.3. Biểu đồ Use case của hệ thống192.3.1. Biểu đồ Use case tổng quát192.3.2. Biểu đồ Use case chi tiết với từng tác nhân202.4. Các chức năng chính của hệ thống232.4.1. Chức năng “Đăng ký”232.4.2. Chức năng “Đăng nhập”262.4.3. Chức năng “Quên mật khẩu”292.4.4. Chức năng “Thay đổi thông tin tài khoản”312.4.5. Chức năng “Tìm kiếm”332.4.6. Chức năng “Sắp xếp và lọc”342.4.7. Chức năng “Đánh giá và bình luận”362.4.8. Chức năng “Giỏ hàng”372.4.9. Chức năng “Mua hàng và thanh toán”402.4.10. Chức năng “Quản lý tài khoản”432.4.11. Chức năng “Quản lý bài viết”452.4.12. Chức năng “Quản lý sản phẩm”462.4.13. Chức năng “Quản lý đơn hàng”492.4.14. Chức năng “Thống kê”512.4.15. Một số chức năng khác532.5. Thiết kế cơ sở dữ liệu542.5.1. Các bảng trong cơ sở dữ liệu542.5.2. Lược đồ quan hệ của các bảng (ERD)602.6. Kết luận61CHƯƠNG III. XÂY DỰNG CHƯƠNG TRÌNH623.1. Môi trường triển khai ứng dụng623.2. Giao diện ứng dụng633.2.1. Giao diện một số trang chính633.2.2. Giao diện một số chức năng683.3. Kết luận85CHƯƠNG IV. KẾT LUẬN864.1. Những kết quả đạt được864.2. Kết quả chưa đạt được864.3. Định hướng phát triển trong tương lai87TÀI LIỆU THAM KHẢO88 BẢNG DANH MỤC CÁC TỪ VIẾT TẮTThuật ngữ viết tắtÝ nghĩaMô tảHTMLHypertext Markup LanguageNgôn ngữ đánh dấu siêu văn bảnCSSCascading Style SheetsNgôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML)PHPHypertext PreprocessorNgôn ngữ lập trình đa mục đích, ngôn ngữ kịch bản mã nguồn mở, chạy ở phía server và được dùng để tạo ra các ứng dụng webCMSContent Management SystemHệ quản trị nội dungERDEntity Relationship DiagramMô hình quan hệ các thực thể DANH MỤC HÌNH ẢNHHình 1.1 Top 4 website thương mại điện tử ở Việt Nam2Hình 1.2 Doanh thu TMĐT bán lẻ Việt Nam từ 2016 – 20202Hình 1.3 Tỷ lệ người dùng tham gia mua sắm trực tuyến so với năm 20193Hình 1.4 Top các ngôn ngữ phổ biến 022021 – chỉ số PYPL6Hình 1.5 Top các PHP Framework phổ biến năm 20218Hình 1.6 Quy trình Checkout tiêu chuẩn14Hình 1.7 Quy trình Checkout nâng cao15Hình 1.8 Quy trình Seamless Checkout15Hình 2.1 Các tác nhân của hệ thống18Hình 2.2 Các tác nhân của hệ thống19Hình 2.3 Biểu đồ Use case với tác nhân Guest20Hình 2.4 Biểu đồ Use case với tác nhân User và Online Payment21Hình 2.5 Biểu đồ Use case với tác nhân Admin22Hình 2.6 Biểu đồ Use case đăng ký23Hình 2.7 Biểu đồ hoạt động chức năng đăng ký25Hình 2.9 Biểu đồ hoạt động chức năng đăng nhập28Hình 2.10 Biểu đồ Use case chức năng quên mật khẩu29Hình 2.11 Biểu đồ hoạt động chức năng quên mật khẩu30Hình 2.12 Biểu đồ Use case thay đổi thông tin tài khoản31Hình 2.13 Biểu đồ hoạt động chức năng thay đổi thông tin tài khoản32Hình 2.14 Biểu đồ Use case tìm kiếm33Hình 2.15 Biểu đồ hoạt động chức năng thay tìm kiếm34Hình 2.16 Biểu đồ Use case sắp xếp và lọc35Hình 2.17 Biểu đồ hoạt động chức năng sắp xếp và lọc35Hình 2.18 Biểu đồ Use case đánh giá và bình luận36Hình 2.19 Biểu đồ hoạt động chức năng đánh giá và bình luận37Hình 2.20 Biểu đồ Use case giỏ hàng38Hình 2.21 Biểu đồ hoạt động chức năng giỏ hàng39Hình 2.22 Biểu đồ Use case mua hàng và thanh toán41Hình 2.23 Biểu đồ hoạt động chức năng mua hàng và thanh toán42Hình 2.24 Biểu đồ Use case quản lý tài khoản43Hình 2.25 Biểu đồ hoạt động chức năng quản lý tài khoản44Hình 2.26 Biểu đồ Use case quản lý bài viết45Hình 2.27 Biểu đồ hoạt động chức năng quản lý bài viết46Hình 2.28 Biểu đồ Use case quản lý sản phẩm47Hình 2.29 Biểu đồ hoạt động chức năng quản lý sản phẩm48Hình 2.30 Biểu đồ Use case quản lý đơn hàng49Hình 2.31 Biểu đồ hoạt động chức năng quản lý đơn hàng50Hình 2.32 Biểu đồ Use case thống kê51Hình 2.33 Biểu đồ hoạt động chức năng thống kê53Hình 2.34 Biểu đồ quan hệ (ERD) các bảng trong cơ sở dữ liệu60Hình 3.1 iNET cung cấp hosting và tên miền62Hình 3.2 Môi trường thực tế triển khai ứng dụng62Hình 3.3 Giao diện trang chủ BKPhone63Hình 3.4 Giao diện trang quản trị BKPhone64Hình 3.5 Giao diện trang sản phẩm64Hình 3.6 Giao diện trang chi tiết sản phẩm65Hình 3.7 Giao diện trang tin tức66Hình 3.8 Giao diện trang chi tiết tin tức67Hình 3.9 Giao diện trang đăng nhập hệ thống68Hình 3.10 Thông báo đăng nhập thành công cho tài khoản người dùng68Hình 3.11 Thông báo đăng nhập thành công cho tài khoản quản trị69Hình 3.12 Giao diện trang đăng ký tài khoản69Hình 3.13 Giao diện đăng ký tài khoản thành công (chưa xác thực tài khoản)70Hình 3.14 Email kích hoạt tài khoản71Hình 3.15 Thông báo kích hoạt tài khoản thành công71Hình 3.16 Giao diện trang quên mật khẩu72Hình 3.17 Email chức năng quên mật khẩu72Hình 3.18 Giao diện trang đặt lại mật khẩu73Hình 3.19 Giao diện chức năng tìm kiếm73Hình 3.20 Giao diện chức năng sắp xếp và lọc74Hình 3.21 Giao diện chức năng đánh giá và bình luận75Hình 3.22 Giao diện trang giỏ hàng76Hình 3.23 Giao diện giỏ hàng mini76Hình 3.24 Giao diện trang mua hàng77Hình 3.25 Giao diện trang thanh toán online78Hình 3.26 Thông báo mua hàng thành công78Hình 3.28 Giao diện trang quản lý tài khoản79Hình 3.29 Giao diện trang chi tiết tài khoản79Hình 3.30 Giao diện trang quản lý bài viết79Hình 3.31 Giao diện trang chỉnh sửa bài viết80Hình 3.32 Giao diện trang quản lý sản phẩm80Hình 3.33 Giao diện chức năng thêm sản phẩm mới81Hình 3.34 Giao diện chức năng quản lý đơn hàng của người tiêu dùng81Hình 3.35 Giao diện trang quản lý chi tiết đơn hàng82Hình 3.36 Giao diện chức năng in hóa đơn82Hình 3.37 Giao diện chức năng thông kê doanh thu theo các ngày trong một tháng83Hình 3.38 Giao diện chức năng thống kê doanh thu theo các tháng trong một năm83Hình 3.39 Giao diện chức năng in báo cáo84Hình 3.40 Giao diện chức năng tư vấn trả lời khách hàng tự động84 DANH MỤC BẢNG BIỂUBảng 2.1 Bảng đặc tả Use case đăng ký23Bảng 2.2 Bảng đặc tả Use case đăng nhập27Bảng 2.3 Bảng đặc tả Use case quên mật khẩu30Bảng 2.4 Bảng đặc tả Use case thay đổi thông tin tài khoản32Bảng 2.5 Bảng đặc tả Use case tìm kiếm34Bảng 2.6 Bảng đặc tả Use case sắp xếp và lọc35Bảng 2.7 Bảng đặc tả Use case đánh giá và bình luận36Bảng 2.8 Bảng đặc tả Use case giỏ hàng38Bảng 2.9 Bảng đặc tả Use case mua hàng và thanh toán41Bảng 2.10 Bảng đặc tả Use case quản lý tài khoản43Bảng 2.11 Bảng đặc tả Use case quản lý bài viết45Bảng 2.12 Bảng đặc tả Use quản lý sản phẩm47Bảng 2.13 Bảng đặc tả Use case quản lý đơn hàng50Bảng 2.14 Bảng đặc tả Use case thống kê52Bảng 2.15 Cấu trúc dữ liệu bảng users54Bảng 2.16 Cấu trúc dữ liệu bảng products55Bảng 2.17 Cấu trúc dữ liệu bảng producers55Bảng 2.18 Cấu trúc dữ liệu bảng product_details56Bảng 2.19 Cấu trúc dữ liệu bảng porduct_images56Bảng 2.20 Cấu trúc dữ liệu bảng product_votes57Bảng 2.21 Cấu trúc dữ liệu bảng comments57Bảng 2.22 Cấu trúc dữ liệu bảng notices57Bảng 2.23 Cấu trúc dữ liệu bảng orders58Bảng 2.24 Cấu trúc dữ liệu bảng order_details58Bảng 2.25 Cấu trúc dữ liệu bảng payment_methods58Bảng 2.26 Cấu trúc dữ liệu bảng posts59Bảng 2.27 Cấu trúc dữ liệu bảng advertises59 CHƯƠNG I. KHẢO SÁT HIỆN TRẠNGNộ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 chính 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.1.1.Đặt vấn đềXã hội ngày nay đang không ngừng phát triển, song song với đó xu hướng thương mại điện tử ngày càng phát triển. Mọi việc giờ đây thật đơn giản, chỉ cần có một chiếc máy tính hay thậm chí chỉ với một chiếc điện thoại thông minh có kết nối với internet, việc mua bán, trao đổi thương mại trở nên thật dễ dàng hơn bao giờ hết với tất cả mọi người chỉ với một vài cái click chuộ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à đã tích 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, đó chính là điều mà mọi doanh nghiệp đều hướng tới.Không chỉ dừng lại vậy, thương mại điện tử còn tạo ra những cơ hội làm ăn cho những ai không đủ vốn bởi: bạn không phải mất tiền thuê mặt bằng ở những nơi đắt đỏ, thuê nhân viên, đầu tư nhiều cho việc chạy quảng cáo… mà chỉ cần đầu tư, chăm chút kỹ lưỡng cho một trang web thương mại điện tử với đầy đủ thông tin về doanh nghiệp của bạn cũng như các tính năng hỗ trợ tìm kiếm mua hàng, đưa hình ảnh, thông tin về sản phẩm. Từ đó, khách hàng sẽ có thể tiếp cận thông tin chủ động hơn, nhờ tư vấn và mua bán dễ dàng, chính xác và nhanh gọn hơn. Với tình hình cạnh tranh cực kỳ “khốc liệt” như hiện nay giữa các doanh nghiệp thì rất khó để có thể độc quyền một sản phẩm nào, bởi vậy nơi chinh phục được khách hàng chính là nơi làm họ cảm thấy thoải mái nhất, hài lòng nhất.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 tốt nghiệp của em thực hiện đề tài “Xây dựng website thương mại điện tử BKPhone” nhằm giải quyết các nhu cầu quảng bá và kinh doanh sản phẩm hướng trực tiếp đến khách hàng trên mọi miền đất nước, thậm chí là quốc tế.1.2.Thương mại điện tử Việt NamThương mại điện tử (ECommerce) 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. Hình 1.1 Top 4 website thương mại điện tử ở Việt NamTheo báo cáo chỉ số Thương mại điện tử Việt Nam (EBI) 2020: “Quy mô thị trường thương mại điện tử Việt Nam năm 2020 đạt 11,8 tỷ USD. So với năm 2019 (10,08 tỷ USD), tốc độ tăng trưởng đạt 18%, thấp nhất từ năm 2016 đến nay. Dịch bệnh được cho là nguyên nhân khiến tốc độ tăng trưởng về quy mô thị trường không cao như các năm 2019 (tăng trưởng 25%), 2018 (30%), 2017 (24%), 2016 (23%)”.Việt Nam là thị trường thương mại điện tử năng động nhất ở Đông Nam Á. Báo cáo cho biết tỷ lệ người mua sắm trực tuyến mới tại Việt Nam lên tới 41%, đứng số 1 khu vực, cao hơn mức của Indonesia, Philippines (cùng 37%) và mức trung bình của các quốc gia Đông Nam Á (36%). Hình 1.2 Doanh thu TMĐT bán lẻ Việt Nam từ 2016 – 2020Tỷ lệ người sử dụng Internet tham gia mua sắm trực tuyến cũng tăng từ 77% năm 2019 lên con số 88% vào năm 2020.Theo Sách trắng thương mại điện tử Việt Nam: “Một điểm thay đổi trong hành vi mua sắm của người tiêu dùng năm qua là sự chuyển dịch kênh mua sắm trực tuyến. Theo đó, thống kê của Cục Thương mại điện tử và Kinh tế số cho thấy khách hàng tại Việt Nam chuyển dịch sang mua sắm chủ yếu trên các website, sàn giao dịch thương mại điện tử. Cụ thể, năm 2020 có tới 74% người mua sắm trên kênh website, sàn giao dịch thương mại điện tử trong khi mua trên diễn đàn và các mạng xã hội đạt 33%”. Hình 1.3 Tỷ lệ người dùng tham gia mua sắm trực tuyến so với năm 2019Tỷ lệ này chênh lệch đáng kể so với con số năm 2019 là 52% trên kênh thương mại điện tử và 57% trên mạng xã hội. Như vậy chỉ sau 1 năm, thói quen shopping của người Việt thay đổi chóng mặt với sự tin tưởng đặt vào các website thương mại điện tử (tỷ lệ người mua tăng từ 52% lên 74%).Dự đoán trong 10 năm sắp tới xu hướng mua sắm trên các nền tảng Thương mại điện tử sẽ phát triển mạnh mẽ thay thế dần các mô hình kinh doanh truyền thống.1.3.Mục tiêu và chức năng chính của hệ thốngĐể 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 tính 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 độ xử lý nhanh, chính xác, hiệu quả và tiện lợi cho cả người mua cũng như người bán chủ website.Website cần có các chức năng cơ bản của các trang thương mại điện tử như: Ngườ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. Bên cạnh sử phát triển của mạng xã hội như Google+ hay Facebook thì việc tích hợp vào hệ thống là một lợi thế của website. Việc tích hợp thanh toán điện tử là một chức năng không thể thiếu đối với các trang web thương mại điện tử. Về phía của hàng, người quản trị website có thể quản lý tất cả nội dung của trang web như là tạo các áp phích quảng cáo cho từng sản phẩm, 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...Một website thương mại điện tử luôn luôn phải hướng đến khách hàng, do vậy sử dụng các yếu tố tương tác trong trang web là một điều quan trọng, cần sử dụng các hình ảnh mô phỏng sản phẩm đẹp và chất lượng hay những đoạn video hoặc các phương tiện truyền thông xã hội là một trong những yếu tố tương tác phổ biến nhất cần phải nghĩ đến khi thiết kế website bán hàng.Trên đây là các vấn đề đặt ra để xây dựng một hệ thống bán hàng trực tuyến trên Internet trong khuôn khổ của đồ án tốt nghiệp.1.4.Định hướng giải quyết vấn đềDựa trên cơ sở mục tiêu và chức năng chính của hệ thống, cùng với thời gian làm việc trực tiếp cũng ngôn ngữ PHP và sự đồng ý của thầy TS. Lê Trần Hữu Phúc, em đã quyết định sử dụng ngôn ngữ PHP là ngôn ngữ chính sử lý logic của hệ thống. Kết hợp với một số ngôn ngữ như HTML, CSS, Javascript... để thiết kế giao diện. Về thanh toán điện tử, em sử dụng API thanh toán điện tử của ví Ngân Lượng – một kênh thanh toán online phổ biến nhất nước ta với khả năng bảo mật và nhiều phương thúc thanh toán tiện lợi cho người dùng. Kết hợp với một số tiện ích của mạng xã hôi như Google+ và Facebook hứa hẹn sẽ đem đến cho khách hàng sự tiện lợi và thoải mãi khi sử dụng hệ thố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.1.5. Cơ sở lý thuyết1.5.1. Ngôn ngữ lập trình PHP1.5.1.1. Giới thiệuPHP là viết tắt của từ “PHP: Hypertext Preprocessor”, đây là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, mục tiêu chính của ngôn ngữ là cho phép các nhà phát triển viết ra các trang web động một cách nhanh chóng. Nó rất phù hợp để phát triển web và có thể dễ dàng nhúng vào các trang HTML. Do được tối ư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.
Trang 1PHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢI
LƯƠNG BỈNH KHANG
XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG
ĐỒ ÁN TỐT NGHIỆP
HỒ CHÍ MINH, NĂM 2022
Trang 2PHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢI
- -LƯƠNG BỈNH KHANG
XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG
Ngành: Công nghệ thông tinMã số: TLS106
NGƯỜI HƯỚNG DẪN: TS Lê Trần Hữu Phúc
HỒ CHÍ MINH, NĂM 2022
Trang 3Độc lập - Tự do - Hạnh phúc
- -NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: LƯƠNG BỈNH KHANG Hệ đào tạo: Đại học chính quy
Khoa: Công nghệ thông tinMã sinh viên: 1751061413
1 TÊN ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG2 CÁC TÀI LIỆU CƠ BẢN:
[1] https://www.thegioididong.com/ [2]
18-808/
[3] https://www.nganluong.vn/vn/integrate/overview.html [4] https://cellphones.com.vn/
[5] https://viblo.asia/p/xay-dung-api-voi-laravel-djeZ1RjGlWz
[6] https://osd.vn/huong-dan-tich-hop-facebook-chatbox-vao-website.html [7] https://hocwebchuan.com/tutorial/laravel/laravel_project_structure.php [8] https://trungtamwto.vn/file/20756/bao-cao-ebi-2021-v3.0.pdf
Trang 5
https://drive.google.com/file/d/1kQGoZGRWg4GRd75CY-Nội dung cần thuyết minhTỷ lệ %
4 BẢNG BIỂU VÀ SƠ ĐỒ
Đồ án tốt nghiệp bao gồm 27 bảng và 81 hình.
5 GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn toàn bộ đồ án: TS Lê Trần Hữu Phúc
Trang 6TS Lê Trần Hữu Phúc TS Lê Trần Hữu Phúc
Nhiệm vụ Đồ án tốt nghiệp đã được Hội đồng thi tốt nghiệp của Khoa thông qua Ngày … tháng … năm 2022
Trang 7Em xin cam đoan đây là Đồ án tốt nghiệp của bản thân em Các kết quả trong Đồ ántốt nghiệp này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bấtkỳ hình thức nào.Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện tríchdẫn và ghi nguồn tài liệu tham khảo đúng quy định.
Tác giả ĐATN/KLTN
(Đã ký)
Lương Bỉnh Khang
Trang 8Để có thể hoàn thành đồ án tốt nghiệp, trước hết em xin chân thành cảm ơn quýthầy, cô giáo trong khoa Công Nghệ Thông Tin của Phân hiệu Trường đại học Thủylợi lời cảm ơn chân thành nhất.
Đồ án tốt nghiệp được hoàn thành dưới sự hướng dẫn tận tình của TS Lê TrầnHữu Phúc Nhân dịp này, em xin đặc biết gửi lời cảm ơn sâu sắc đến thầy Lê Trần HữuPhúc đã tận tâm hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.
Cuối cùng, đồ án tốt nghiệp chắc chắn sẽ không tránh khỏi những khiếm khuyết.Vì vậy, em kính mong nhận được sự đóng góp ý kiến của các thầy cô và các bạn sinhviên để đồ án này được hoàn chỉnh hơn.
Vì kiến thức bản thân còn hạn chế, trong quá trình thực tập, hoàn thiện báo cáonày không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từquý thầy cô để bài báo cáo này được hoàn thiện hơn.
Hồ Chí Minh, ngày tháng 12 năm 2021
Sinh viên thực hiện
Lương Bỉnh Khang
Trang 9Nội dung chính của đồ án là xây dựng website bán điện thoại di động có các chứcnăng cần thiết như khách hàng có thể tạo tài khoản và đăng nhập vào website, có thểtìm kiếm và xem tin tức – bài viết Đối với khách hàng đã đăng nhập thì có thể quản lýtài khoản, mua hàng, bình luận và đánh giá Người quản trị, thông qua website có thểquản lý tình hình của cửa hàng như: tình trạng kho hàng, doanh thu cửa hàng qua đócó thể đưa ra những chiến lược kinh doanh trong tương lai.
Một yêu cầu quan trọng về website bán điện thoại đi động là không những hệthống phải xử lý nhanh và chính xác mà còn phải có giao diện bắt mắt thu hút kháchhàng Do đó em đã quyết định sử dụng Laravel – một framework của PHP làm ngônngữ xử lý logic; HTML, CSS và JavaScript là những ngôn ngữ dùng để thiết kế giaodiện Thêm nữa em sử dụng kênh thanh toán Ngân Lượng làm kênh thanh toán trựctuyến và tiện ích mạng xã hội Facebook messenger làm kênh hỗ trợ trực tuyến để đảmbảo hệ thống thân thiện nhấ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 laiem 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 mobilecho hệ thống và đặc biệt phát triển các dịch vụ logistics.
Hồ Chí Minh, ngày tháng 12 năm 2021
Sinh viên thực hiện
Lương Bỉnh Khang
Trang 101.2 Thương mại điện tử Việt Nam 2
1.3 Mục tiêu và chức năng chính của hệ thống 3
1.4 Định hướng giải quyết vấn đề 4
1.5 Cơ sở lý thuyết 4
1.5.1 Ngôn ngữ lập trình PHP 4
1.5.2 Laravel Framework 9
1.5.3 HTML, CSS và JavaScript 11
1.5.4 Môi trường phát triển ứng dụng 12
1.5.5 Thanh toán ví điện tử Ngân Lượng 13
1.5.6 Kết luận 16
CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 17
2.1 Các yêu cầu đặt ra cho hệ thống 17
2.2 Các tác nhân của hệ thống 17
2.3 Biểu đồ Use case của hệ thống 19
2.3.1 Biểu đồ Use case tổng quát 19
2.3.2 Biểu đồ Use case chi tiết với từng tác nhân 20
2.4 Các chức năng chính của hệ thống 23
2.4.1 Chức năng “Đăng ký” 23
2.4.2 Chức năng “Đăng nhập” 26
2.4.3 Chức năng “Quên mật khẩu” 29
2.4.4 Chức năng “Thay đổi thông tin tài khoản” 31
2.4.5 Chức năng “Tìm kiếm” 33
Trang 112.4.7 Chức năng “Đánh giá và bình luận” 36
2.4.8 Chức năng “Giỏ hàng” 37
2.4.9 Chức năng “Mua hàng và thanh toán” 40
2.4.10 Chức năng “Quản lý tài khoản” 43
2.4.11 Chức năng “Quản lý bài viết” 45
2.4.12 Chức năng “Quản lý sản phẩm” 46
2.4.13 Chức năng “Quản lý đơn hàng” 49
2.4.14 Chức năng “Thống kê” 51
2.4.15 Một số chức năng khác 53
2.5 Thiết kế cơ sở dữ liệu 54
2.5.1 Các bảng trong cơ sở dữ liệu 54
2.5.2 Lược đồ quan hệ của các bảng (ERD) 60
2.6 Kết luận 61
CHƯƠNG III XÂY DỰNG CHƯƠNG TRÌNH 62
3.1 Môi trường triển khai ứng dụng 62
3.2 Giao diện ứng dụng 63
3.2.1 Giao diện một số trang chính 63
3.2.2 Giao diện một số chức năng 68
3.3 Kết luận 85
CHƯƠNG IV KẾT LUẬN 86
4.1 Những kết quả đạt được 86
4.2 Kết quả chưa đạt được 86
4.3 Định hướng phát triển trong tương lai 87
TÀI LIỆU THAM KHẢO 88
Trang 12Thuật ngữ viết tắtÝ nghĩaMô tả
HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn bảnCSS Cascading Style Sheets
Ngôn ngữ được sử dụng để tìmvà định dạng lại các phần tửđược tạo ra bởi các ngôn ngữđánh dấu (HTML)
PHP Hypertext Preprocessor
Ngôn ngữ lập trình đa mục đích,ngôn ngữ kịch bản mã nguồnmở, chạy ở phía server và đượcdùng để tạo ra các ứng dụng webCMS Content Management System Hệ quản trị nội dung
ERD Entity Relationship Diagram Mô hình quan hệ các thực thể
Trang 15CHƯƠNG I 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ụctiêu và chức năng chính của hệ thống, đưa ra hướng giải quyết vấn đề đặt ra, địnhhướng các giải pháp công nghệ và tóm tắt cơ sở lý thuyết.
1.1 Đặt vấn đề
Xã hội ngày nay đang không ngừng phát triển, song song với đó xu hướngthương mại điện tử ngày càng phát triển Mọi việc giờ đây thật đơn giản, chỉ cần cómột chiếc máy tính hay thậm chí chỉ với một chiếc điện thoại thông minh có kết nốivới internet, việc mua bán, trao đổi thương mại trở nên thật dễ dàng hơn bao giờ hếtvới tất cả mọi người chỉ với một vài cái click chuộ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 gianlà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ườidâ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àngtìm đến mà đã tích cực chủ động đứng lên và tìm đến khách hàng Và khi số lượngkhách hàng tăng lên thì nó cũng tỉ lệ thuận với việc doanh thu sẽ tăng, đó chính là điềumà mọi doanh nghiệp đều hướng tới.
Không chỉ dừng lại vậy, thương mại điện tử còn tạo ra những cơ hội làm ăn chonhững ai không đủ vốn bởi: bạn không phải mất tiền thuê mặt bằng ở những nơi đắtđỏ, thuê nhân viên, đầu tư nhiều cho việc chạy quảng cáo… mà chỉ cần đầu tư, chămchút kỹ lưỡng cho một trang web thương mại điện tử với đầy đủ thông tin về doanhnghiệp của bạn cũng như các tính năng hỗ trợ tìm kiếm mua hàng, đưa hình ảnh, thôngtin về sản phẩm Từ đó, khách hàng sẽ có thể tiếp cận thông tin chủ động hơn, nhờ tưvấn và mua bán dễ dàng, chính xác và nhanh gọn hơn Với tình hình cạnh tranh cực kỳ“khốc liệt” như hiện nay giữa các doanh nghiệp thì rất khó để có thể độc quyền mộtsản phẩm nào, bởi vậy nơi chinh phục được khách hàng chính là nơi làm họ cảm thấythoải mái nhất, hài lòng nhất.
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ớitá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ướngtrự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 tốt nghiệp của em thực hiện đề tài “Xây dựng
website thương mại điện tử BKPhone” nhằm giải quyết các nhu cầu quảng bá và kinh
doanh sản phẩm hướng trực tiếp đến khách hàng trên mọi miền đất nước, thậm chí làquốc tế.
Trang 161.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ụngnề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 muabá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àncầ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áttriển, cơ hội cho những ai muốn khởi nghiệp kinh doanh theo mô hình mới Mô hìnhkinh 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.
Hình 1.1 Top 4 website thương mại điện tử ở Việt Nam
Theo báo cáo chỉ số Thương mại điện tử Việt Nam (EBI) 2020: “Quy mô thịtrường thương mại điện tử Việt Nam năm 2020 đạt 11,8 tỷ USD So với năm 2019(10,08 tỷ USD), tốc độ tăng trưởng đạt 18%, thấp nhất từ năm 2016 đến nay Dịchbệnh được cho là nguyên nhân khiến tốc độ tăng trưởng về quy mô thị trường khôngcao như các năm 2019 (tăng trưởng 25%), 2018 (30%), 2017 (24%), 2016 (23%)”.
Việt Nam là thị trường thương mại điện tử năng động nhất ở Đông Nam Á Báocáo cho biết tỷ lệ người mua sắm trực tuyến mới tại Việt Nam lên tới 41%, đứng số 1khu vực, cao hơn mức của Indonesia, Philippines (cùng 37%) và mức trung bình củacác quốc gia Đông Nam Á (36%).
Hình 1.2 Doanh thu TMĐT bán lẻ Việt Nam từ 2016 – 2020
Trang 17Tỷ lệ người sử dụng Internet tham gia mua sắm trực tuyến cũng tăng từ 77% năm2019 lên con số 88% vào năm 2020.
Theo Sách trắng thương mại điện tử Việt Nam: “Một điểm thay đổi trong hành vimua sắm của người tiêu dùng năm qua là sự chuyển dịch kênh mua sắm trực tuyến.Theo đó, thống kê của Cục Thương mại điện tử và Kinh tế số cho thấy khách hàng tạiViệt Nam chuyển dịch sang mua sắm chủ yếu trên các website, sàn giao dịch thươngmại điện tử Cụ thể, năm 2020 có tới 74% người mua sắm trên kênh website, sàn giaodịch thương mại điện tử trong khi mua trên diễn đàn và các mạng xã hội đạt 33%”.
Hình 1.3 Tỷ lệ người dùng tham gia mua sắm trực tuyến so với năm 2019
Tỷ lệ này chênh lệch đáng kể so với con số năm 2019 là 52% trên kênh thươngmại điện tử và 57% trên mạng xã hội Như vậy chỉ sau 1 năm, thói quen shopping củangười Việt thay đổi chóng mặt với sự tin tưởng đặt vào các website thương mại điện tử(tỷ lệ người mua tăng từ 52% lên 74%).
Dự đoán trong 10 năm sắp tới xu hướng mua sắm trên các nền tảng Thương mạiđiện tử sẽ phát triển mạnh mẽ thay thế dần các mô hình kinh doanh truyền thống.
1.3 Mục tiêu và chức năng chính của hệ thống
Để có một website bán hàng online chắc hẳn giao diện của trang web là một điềuvô cùng quan trọng, giao diện cần phải thân thiện với cả máy tính 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 độ xử lý nhanh, chính xác, hiệu quả và tiện lợicho cả người mua cũng như người bán - chủ website.
Website cần có các chức năng cơ bản của các trang thương mại điện tử như:Ngườ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 Bên cạnhsử phát triển của mạng xã hội như Google+ hay Facebook thì việc tích hợp vào hệthống là một lợi thế của website Việc tích hợp thanh toán điện tử là một chức năngkhông thể thiếu đối với các trang web thương mại điện tử Về phía của hàng, ngườiquản trị website có thể quản lý tất cả nội dung của trang web như là tạo các áp phích
Trang 18quảng cáo cho từng sản phẩm, tạo bài viết thu hút khách hàng, quản lý sản phẩm trongkho, quản lý đơn hàng, thông kê doanh số bán hàng
Một website thương mại điện tử luôn luôn phải hướng đến khách hàng, do vậy sửdụng các yếu tố tương tác trong trang web là một điều quan trọng, cần sử dụng cáchình ảnh mô phỏng sản phẩm đẹp và chất lượng hay những đoạn video hoặc cácphương tiện truyền thông xã hội là một trong những yếu tố tương tác phổ biến nhất cầnphải nghĩ đến khi thiết kế website bán hàng.
Trên đây là các vấn đề đặt ra để xây dựng một hệ thống bán hàng trực tuyến trênInternet trong khuôn khổ của đồ án tốt nghiệp.
1.4 Định hướng giải quyết vấn đề
Dựa trên cơ sở mục tiêu và chức năng chính của hệ thống, cùng với thời gian làmviệc trực tiếp cũng ngôn ngữ PHP và sự đồng ý của thầy TS Lê Trần Hữu Phúc, em đãquyết định sử dụng ngôn ngữ PHP là ngôn ngữ chính sử lý logic của hệ thống Kết hợpvới một số ngôn ngữ như HTML, CSS, Javascript để thiết kế giao diện Về thanhtoán điện tử, em sử dụng API thanh toán điện tử của ví Ngân Lượng – một kênh thanhtoán online phổ biến nhất nước ta với khả năng bảo mật và nhiều phương thúc thanhtoán tiện lợi cho người dùng Kết hợp với một số tiện ích của mạng xã hôi nhưGoogle+ và Facebook hứa hẹn sẽ đem đến cho khách hàng sự tiện lợi và thoải mãi khisử dụng hệ thố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ộikèm theo đã được chứng minh tính hiệu quả qua các website lớn, em tự tin khảng địnhhệ thống có thể đáp ứng hoàn toàn các yêu cầu đặt ra.
Trang 191.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 ranăm 1994, ban đầu được xem như là một tập con đơn giả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 11năm 1997, PHP/FI 2.0 được chính thức công bố, sau một thời gian khá dài chỉ đượccô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ácbả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 ảnhgầ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 đã chính 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 Suraski tạo rasau 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ênbả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 ứngdụ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ộttrong 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ủanó 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ùngcho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP3.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.0chí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 tính 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 PHP4, 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 chính thứcra 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ặcdù 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 PHPTeam 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.0cùng những tính 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
Trang 20PHPNG 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ềucú pháp, tính năng mới giúp cho PHP trở nên mạnh mẽ hơn Những tính năng mớiquan trọng có thể kể đến như: khai báo kiểu dữ liệu cho biến, 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 đó sovới ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng bằng số lượng cácwebsite đượ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.
Thư viện của PHP vô cùng phong phú, hệ thống CMS miễn phí dùng tương đốinhiề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áchnhanh 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ệu MySQL nên việc cài đặt môi trường phát triển vô cùng đơn giản, thông quamột bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS
Hình 1.4 Top các ngôn ngữ phổ biến 02/2021 – chỉ số PYPL
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ânphố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ộtcấ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
Trang 21packages hoặc namespace riêng Các chuyên gia lập trình sử dụng nhiều kỹ thuật lậptrì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ếtcá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àmviệ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ắcchắ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ânquyền, captcha, view helper, module manager, database, service… khi đó các lập trìnhviê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ônngữ 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ựngnhững ứng dụng đó Hay nói cách khác, PHP framework giúp đỡ các bạn thúc đẩynhanh 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àira 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 chính 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 racác ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong một project.
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được kểđến là Model View Controller (MVC) MVC là 1 mô hình (kiến trúc) trong lập trình,cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phầnriêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ.Trong cụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ(business logic), View (V) được hiểu là phần xử lý lớp giao diện (presentation layer),và Controller (C) làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như 1route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp Về cơbản, MVC chia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trêntừng thành phần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới.Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn.
Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn bờihầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, dẫn đếncác cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì thực tế khôngphải tất cả các framework đều được xây dựng trên khuôn khổ dành cho nhiều người sửdụng Dưới đây là 3 framework được đánh giá là tốt và phổ biến nhất hiện nay:
Trang 22Hình 1.5 Top các PHP Framework phổ biến năm 2021
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối vớicộng đồng PHP framework Laravel được tạo ra bởi Taylor Otwell Nó là 1 frameworkkhá mới mẻ nhưng bù lại nó có “hướng dẫn sử dụng” (Document) khá đầy đủ, rõ ràngvà dễ hiểu và nhiều ưu điểm hấp dẫn Chính vì nó ra đời sau, khắc phục được nhữngthiếu xót của các framework đàn anh, nên nó đang nắm giữ vị trí số một về độ phổbiến hiện nay với nhiều tính năng mạnh mẽ:
- Route trong Laravel thật sự khác biệt, mới mẻ và đầy mạnh mẻ Mọi url đều cóthể quản lý trong file route.
- Master layout được tích hợp sẵn cùng Blade template giúp code của chúng tatrên nên gọn gàng và tiện dụng Các file layout có thể dẽ dàng extend của nhau giúpcode ngắn gọn, dễ quản lý.
- Migration quản lý database thật dễ dàng khi làm việc đội nhóm.
- Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1–N và N–N, tối ưu tất cả các câu truy vấn.
- Composer quản lý và tích hợp các thư viện khác thật hay và không lo lắng khithư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện mọi yêucầu của chúng ta.
- Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ Tuy ra đời muộn hơn cácframework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại trangchủ, các ví vụ để đọc đễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn được updatekịp thời
- Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và làmviệc tốt với MySQL, Postgres, SQL Server và SQLite, MongoDB Các câu truy vấndatabase dễ hiểu, nhanh chóng.
- Package-libery phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu cơ bảncủa chúng ta.
Trang 23- User authentication được tích hợp sẵn, lập trình viên chỉ cần gọi class là có thểsử dụng theo ý muốn.
1.5.2 Laravel Framework
1.5.2.1 Giới thiệu
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối vớicộng đồng PHP framework Laravel được tạo ra bởi Taylor Otwell Nó là 1 frameworkkhá mới mẻ nhưng bù lại nó có “hướng dẫn sử dụng” ( Document ) khá đầy đủ, rõràng và dễ hiểu và nhiều ưu điểm hấp dẫn Nếu bạn đã từng làm việc với cácframework khác hoặc chỉ là người mới bắt đầu tìm hiểu php framework thì việc tiếpcận laravel framework không phải là vấn đề khó khăn gì Laravel Framework vẫn sửdụng cấu trúc MVC và trên nền tảng lập trình hướng đối tượng OOP đồng thời kế thừađược sức mạnh của các đàn anh và đem đến những tính năng mới của PHP 5.3 trở lên.
Nhưng cũng chính vì ra đời muộn màng như thế đã buộc nó phải học hỏi cái haytừ các PHP Framework đàn anh đi trước, khắc phục những thiếu xót của cácframework khác như symfony (laravel dùng thư viện của symfony) và đặc biệt là CI.Không những học hỏi từ các PHP Framework, nó còn học cái hay từ Ruby on Rails,ASP.NET MVC, và Sinatra.
Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHPframework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổbiến nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào mộtsố khác Trước đó, Tháng 8 năm 2014, Laravel đã trở thành project PHP phổ biến nhấtvà được theo dõi nhiều nhất trên Github Laravel được phát hành theo giấy phép MIT,với source code được lưu trữ tại Github.
1.5.2.2 Lịch sử hình thành và phát triển
Bản phát hành beta đầu tiên của Laravel được phát hành vào ngày 9 tháng 6 năm2011, tiếp theo là bản phát hành Laravel 1 sau đó trong cùng một tháng Laravel 1 baogồm hỗ trợ tích hợp cho xác thực, bản địa hóa (localisation), models, views, sessions,định tuyến (routing) và các cơ chế khác, nhưng thiếu hỗ trợ cho các bộ điều khiển(controller) ngăn cản nó trở thành một MVC framework thực sự.
Laravel 2 được phát hành vào tháng 9 năm 2011, mang lại nhiều cải tiến khácnhau từ tác giả và cộng đồng Các tính năng chính mới bao gồm sự hỗ trợ cho các bộđiều khiển (controller), nó đã làm cho Laravel 2 trở thành một framework tuân thủ đầyđủ MVC, hỗ trợ sẵn cho nguyên lý điều khiển (IoC) và một hệ thống templating gọi làBlade Hỗ trợ cho các gói của bên thứ ba (third-party packages) đã được gỡ bỏ trongLaravel 2.
Laravel 3 được phát hành vào tháng 2 năm 2012 với một loạt các tính năng mớibao gồm giao diện dòng lệnh – command-line interface (CLI) có tên Artisan, hỗ trợ
Trang 24sẵn cho nhiều hệ thống quản lý cơ sở dữ liệu, database migrations, hỗ trợ xử lý eventsvà hệ thống đóng gói được gọi là Bundles Kể từ bước nhảy vọt ở phiên bản này, tachứng kiến sự gia tăng người dùng (developer) và mức độ phổ biến của Laravel tăngchóng mặt.
Laravel 4, được đặt tên là Illuminate , được phát hành vào tháng 5 năm 2013 Nóđược viết thành một khung hoàn chỉnh của Laravel framework, di chuyển bố cục củanó thành một tập các gói riêng biệt được phân phối thông qua Composer, phục vụ nhưmột trình quản lý gói ứng dụng Cách bố trí như vậy đã cải thiện khả năng mở rộngcủa Laravel 4 Các tính năng mới khác trong bản phát hành Laravel 4 bao gồmdatabase seeding, hỗ trợ hàng đợi (queue) tin nhắn, hỗ trợ cho việc gửi các loại emailkhác nhau và hỗ trợ xóa các bản ghi cơ sở dữ liệu dạng SoftDelete (không xóa hẳnkhỏi database).
Laravel 5 được phát hành vào tháng 2 năm 2015 là kết quả của những thay đổi nội bộđã kết thúc trong việc thay đổi bản phát hành Laravel 4.3 trong tương lai Các tínhnăng mới trong bản phát hành Laravel 5 bao gồm hỗ trợ lập kế hoạch (scheduling) cáctác vụ được thực hiện định kỳ thông qua gói có tên Scheduler, một lớp trừu tượng(abstraction layer) có tên Flysystem cho phép lưu trữ từ xa cách dùng tương tự nhưtrên local, cải thiện việc xử lý tài sản gói thông qua Elixir (giờ đổi tên thành LaravelMix), hỗ trợ xác thực bên thứ 3 đơn giản thông qua gói Laravel 5 cũng giới thiệu cấutrúc cây thư mục mới cho các ứng dụng đã phát triển Vừa qua, ngày 3 tháng 9 năm2019 Laravel đã phát hành chính thức phiên bản 6 với nhiều tính năng cải tiến so vớiphiên bản 5.
1.5.2.3 Ưu điểm của Laravel
Tốc độ xử lý nhanh: Sự ra đời của Laravel như một luồng gió mới thổi vào cộngđồng framework PHP Nền tảng này có thể hỗ trợ tạo nên các trang web lớn, dự ánlớn Rất nhiều công ty công nghệ đã sử dụng nền tảng để phát triển các sản phẩm chocông ty của họ.
Dễ dàng sử dụng: Một trong những lý do khiến Laravel nhanh chóng được cộngđồng người dùng đón nhận và sử dụng nhiều là do nó rất dễ để có thể sử dụng Ngaycả khi bạn chỉ mới chỉ có những kiến thức cơ bản nhất về lập trình web với PHP, thìchỉ mất vài giờ là bạn có thể bắt tay vào việc làm một project nhỏ với Laravel.
Mã nguồn mở: Laravel framework được xây dựng với mã nguồn mỡ và hoàntoàn miễn phí Do đó, bạn không cần phải quan tâm đến việc trả thêm phí khi mở rộngứng dụng hay trang web của mình Mỗi lần nền tảng này được cập nhật, bạn lại có cơhội khám phá thêm nhiều tính năng độc đáo và ứng dụng vào các sản phẩm công nghệmà mình đang triển khai.
Trang 25Được xây dựng theo đúng chuẩn WVC: WVC là tiêu chuẩn thiết kế web, bất kìwebsite nào được đánh giá theo đúng chuẩn này thì đều sẽ hoạt động tốt và ít nhiềumang lại những hiệu quả thực sự dành cho công ty, đơn vị sở hữu nó.
Mô hình MVC: là một kiến trúc phần mềm hay mô hình thiết kế được sử dụngtrong kỹ thuật phần mềm Nó giúp cho các developer tách ứng dụng của họ ra 3 thànhphần khác nhau Model, View và Controller Mỗi thành phần có một nhiệm vụ riêngbiệt và độc lập với các thành phần khác Với tiêu chuẩn này, các cấu trúc và cách tổchức code trong dự án của bạn sẽ được sắp xếp một cách hợp lý dễ dàng cho việc duytrì cũng như phát triển về lâu dài.
Tích hợp sẵn nhiều tính năng: Bản thân Laravel đã cung cấp cho người dùng rấtnhiều các nhóm tính năng giúp quá trình phát triển trở nên nhanh chóng hơn rất nhiềulần.
Module đa dạng: Laravel được xây dựng dựa trên hơn 20 thư viện khác nhau.Hiểu được cách thiết kế framework khiến các lập trình hoàn toàn có thể đóng góp choframework cũng như mở rộng chúng một cách dễ dàng.
Tính bảo mật cao: Để giúp lập trình viên có thể tối đa thời gian tập trung vào việcphát triển các tính năng mình cần, Laravel đã cung cấp sẵn cho người dùng các tínhnăng bảo mật cơ bản như: ORM của Laravel sử dụng PDO thay vì mysqli để chống lạitấn công SQL Injection, Laravel sử dụng một field token ẩn để chống lại tấn công kiểuCSRF, Các biến được đưa ra view mặc định đều được Laravel escape để tránh tấncông XSS Do đó, khi thiết kế web với Laravel, bạn không cần quá lo lắng về khả năngbảo mật hay mất nhiều thời gian để cài đặt hay tối ưu thêm cho tính năng này Tất cảđã có sẵn với Laravel.
Cộng đồng người dùng rộng lớn: Như nhiều nền tảng mã nguồn mở khác,Laravel Framwork cũng có cộng đồng người dùng rộng rãi và sẵn sàng hỗ trợ bạntrong quá trình thiết lập và vận hành dự án Đặc biệt việc fix bug hay tìm lỗi trở nênnhanh chóng, dễ dàng và tiết kiệm thời gian hơn rất nhiều.
1.5.3 HTML, CSS và JavaScript
1.5.3.1 HTML
HTML là chữ viết tắt cho “HyperText Markup Language”, hay là "Ngôn ngữĐánh dấu Siêu văn bản" là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên cáctrang web với các mẩu thông tin được trình bày trên World Wide Web Cùng với CSSvà JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web HTMLđược định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong cáctổ 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 Internetdo tổ chức World Wide Web Consortium (W3C) duy trì.
Trang 26HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm nghiêncứu CERN ở Thụy Sĩ Anh ta đã nghĩ ra được ý tưởng cho hệ thống hypertext trên nềnInternet Anh xuất bản phiên bản đầu tiên của HTML trong năm 1991 bao gồm 18 tagHTML 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.3.2 CSS
CSS là chữ viết tắt cho “Cascading Style Sheets”, được sử dụng để mô tả giaodiệ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ó cungcấp một tính 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ấtkỳ 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 dungcủ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áckiể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ạngcho 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ônngữ đị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ọccho các phần tử trong tài liệu HTML.
1.5.3.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ânthiệ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ảitiế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ôitrườ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ượngcủ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ớicái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thànhJavaScript Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơnJava Hiện nay phiên bản mới nhất của JavaScript là ECMAScript 7 với nhiều cải tiếnvượt bậc so với phiên bản tiền nhiệ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ủaJavaScript 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ụngJavascript trở nên dễ dàng hơn như: đơn giản hóa việc duyệt tài liệu HTML, xử lý sự
Trang 27kiệ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ácwebsite trên thế giới sử dụng (trừ các website chạy bằng JavaScript Framework).
1.5.4 Môi trường phát triển ứng dụng
1.5.4.1 Apache WebServer
Apache là một phần mềm mã nguồn mở miễn phí được cài đặt trên các máy chủweb server (phần cứng) xử lý các yêu cầu gửi tới máy chủ dưới giao thức HTTP Tênchính thức là Apache HTTP Server, được điều hành và phát triển bởi Apache SoftwareFoundation Apache là một trong số những web server lâu đời và đáng tin cậy nhất,phiên bản đầu tiên được ra mắt từ hơn 20 năm trước, tận những năm 1995.
Apache WebServer phân tích các yêu cầu từ trình duyệt, sau đó xử lý yêu cầu vớicác file ngôn ngữ lập trình như là PHP, Python, Java, thành file HTML và trả về chongười dùng web trên trình duyệt để hiển thị.
1.5.4.2 MySQL
MySQL là hệ quản trị cơ sở dữ liệ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ết hợp với ngôn ngữ lập trình PHP để xâydự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 thích với các hệ điều hành thông dụng hiện naynhư Linux, Window, Mac OS X, Unix, FreeBSD…
1.5.4.3 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ấtcả 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ẵnApache, 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ácwebsite.
1.5.5 Thanh toán ví điện tử Ngân Lượng
NgânLượng.vn là Cổng Thanh toán Trực tuyến (TTTT) tiên phong và uy tín hàngđầu tại Việt Nam, cả về sản phẩm dịch vụ, độ phủ thị trường và lưu lượng thanh toán.Được phát triển bởi Nexttech Group (tiền thân là PeaceSoft Group) từ năm 2009 NgânLượng cho phép các cá nhân và doanh nghiệp gửi và nhận tiền thanh toán trên Internetmột cách nhanh chóng, an toàn và tiện lợi.
Trang 28Giải pháp tích hợp dùng cho các website bán hàng online, sàn thương mại điện tử(Wordpress, Joomla, Magento, ) cần tích hợp chức năng thanh toán trực tuyến, chophép người mua thanh toán trên các kênh Online như ATM, Internet Banking, ThẻQuốc tế (visa, maste, JCB, Amex), QRCode, Chuyển khoản ngân hàng Các phươngthức thanh toán hỗ trợ bao gồm:
- Thẻ quốc tế( VISA, Master, JCB, Amex )- Thẻ ATM nội địa
- Internet Banking
- QR-Code Mobile Banking- Ví điện tử trong và ngoài nước- Chuyển khoản ngân hàng- Tiền mặt tại quầy
Trang 29- Checkout Nâng cao: Hình thức thanh toán hiển thị ngay trên website người bán.
Hình 1.7 Quy trình Checkout nâng cao
- Seamless Checkout: là các hình thức thanh toán được hiển thị ngay trên websitengười bán và người mua thực hiện xác thực giao dịch trên hệ thống (web/app) củamerchant hoặc ngân hàng.
Hình 1.8 Quy trình Seamless Checkout
Trang 301.5.6 Kết luận
Qua nội dung của chương 1, em đã trình bày hiểu biết về nhu cầu, thực trạng củathương mại điện tử cũng như xây dựng các kênh giao tiếp, bán hàng… và cũng đã lựachọn được giải pháp công nghệ để phát triển website trên nền tảng Laravel, hệ quản trịcơ sở dữ liệu MySQL, kết hợp cùng với HTML, CSS, JavaScript Từ cơ sở này, ởchương 2 em sẽ tiếp tục đi tìm hiểu khảo sát thực tế các nghiệp vụ, chức năng cần thiếtcho hệ thống website bán điện thoại.
Trang 31CHƯƠNG II 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, biểu đồ Use case và biểu đồ hoạt động chotừ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ệuvà quan hệ của chúng.
2.1 Các yêu cầu đặt ra cho hệ thống
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ừ phía 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ớinhu cầu của khách hàng.
Yêu cầu về giao diện website: 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 Không nên có quá nhiều hiệu ứng, hoamỹ, lòe loẹt, nhiều chi tiết không cần thiết gây mỏi mắt Trang chủ phải hiển thị baoquat 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ườidù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áchhà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ứcnă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áchhàng và đảm bảo an toàn bảo mật cho khách hàng.
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ếtcủ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ìmkiế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ố
Trên đây là các yêu cầu cơ bản của một trang thương mại điện tử trong khuônkhổ của đồ án tốt nghiệp này.
2.2 Các tác nhân của hệ thống
Tác nhân của hệ thống là các tác nhân bên ngoài tương tác với hệ thống Tácnhân này có thể là người, hoặc 1 đối tượng cụ thể nào khác như thiết bị ngoại vi, 1 hệthống khác
Trên cơ sở định nghĩa trên, ta có thể dễ dàng xác định được hệ thống có 3 tácnhân chính là: Người dùng chưa đăng nhập (Guest), Người dùng đã đăng nhập (User)và Người quản trị (Admin) Bên cạnh đó hệ thống còn có tác nhân phụ là hệ thốngthanh toán điện tử (Online Payment) do tích hợp thanh toán bên thứ ba.
Trang 32Guest: là những người truy cập vào website nhưng chưa đăng nhập Mục đích
của hệ thống hướng tới những tác nhân này chỉ nhằm quảng bá cho website, do đónhững tác nhân này chỉ được sử dụng các chức năng cơ bản như: tìm kiếm, xem sảnphẩm, bài viết, chính sách, đánh giá – bình luận của những người dùng đăng nhập,khuyến mại của cửa hàng và được hỗ trợ trực tuyến từ cửa hàng thông qua messenger.
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 chính mà hệ thống hướng tới do đó ngoài các chức năng cơ bản mà Guestđược sử dụng thì còn được sử dụng thêm nhiều chức năng nâng cao khác, như là: quảntrị 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 Hơn nữanhững tác nhân này còn có thể nhận được thông báo từ hệ thống về tình trạng đơnhàng, chương trình khuyến mại mới nhất, tri ân khách hàng
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ồicho khách hàng.
Online Payment: là kênh thanh toán điện tử được hệ thống tin tưởng và tích hợp vào
nhằm mục đích giúp cho người dùng tiện lợi hơn trong việc thanh toán khi mua hàng,người quản trị cũng dễ kiểm soát được doanh số cũng như tài chính của cửa hàng Tácnhân này chỉ tác động đến hệ thống khi người dùng tiến hành thanh toán khi mua sảnphẩm bằng phương thức thanh toán online Mọi xác thực tài khoản và tiến hành thanhtoán đều được hệ thống ủy quyền cho tác nhân này Sau khi thanh toán, tác nhân nàysẽ trả lại cho hệ thống một mã thông báo trạng thái thanh toán có thể là thành cônghoặc thất bại, hệ thống sẽ dựa hoàn toàn vào mã trạng thái này để quyết định tác vụnào sẽ được thực hiện tiếp theo.
Hình 2.1 Các tác nhân của hệ thống
Trang 332.3 Biểu đồ Use case của hệ thống
2.3.1 Biểu đồ Use case tổng quát
Hình 2.2 Các tác nhân của hệ thống
Trang 342.3.2 Biểu đồ Use case chi tiết với từng tác nhân
2.3.2.1 Biểu đồ Use case với tác nhân Guest
Hình 2.3 Biểu đồ Use case với tác nhân Guest
Trang 352.3.2.2 Biểu đồ Use case với tác nhân User và Online Payment
Hình 2.4 Biểu đồ Use case với tác nhân User và Online Payment
Trang 362.3.2.3 Biểu đồ Use case với tác nhân Admin
Hình 2.5 Biểu đồ Use case với tác nhân Admin
Trang 372.4 Các chức năng chính của hệ thống
Dựa trên văn bản mô tả các yêu cầu đặt ra cho hệ thống, việc phân tích các tácnhân ảnh hướng đến hệ thống và biểu đồ Use case tổng quát của từng tác nhân, ta xácđịnh được các chức năng của hệ thống tương ứng với từng tác nhân như sau:
2.4.1 Chức năng “Đăng ký”
2.4.1.1 Mô tả chức năng
Chức năng này cho phép người dùng có thể tự do đăng ký tài khoản để đăngnhập vào hệ thống Khi khách hàng điền đầy đủ thông tin đăng ký, hệ thống sẽ gửi mộtemail về tài khoải email đăng ký để người dùng có thể kích hoạt tài khoản Trongtrường hợp khách hàng không muốn điền thông tin đăng ký, hệ thống sẽ cung cấp giảipháp đăng ký bằng tài khoản xã hội Google+ và Facebook giúp người dùng có thểnhanh chóng đăng ký một tài khoản Chức năng này chỉ áp dụng cho tác nhân kháchhàng chưa có tài khoản (Guest).
2.4.1.2 Use case đăng ký
Hình 2.6 Biểu đồ Use case đăng kýBảng 2.1 Bảng đặc tả Use case đă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ý.
Trang 38- 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 emailxá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 đăngký không chính 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ý.
Trang 392.4.1.1 Biểu đồ hoạt động chức năng đăng ký
Trang 40Hình 2.7 Biểu đồ hoạt động chức năng đăng ký