PHẦN MỞ ĐẦU
Lí do chọn đề tài
Trong bối cảnh phát triển mạnh mẽ của mạng máy tính hiện nay, con người có thể dễ dàng và hiệu quả trong việc trao đổi và tìm kiếm thông tin trực tuyến Điều này đã dẫn đến sự ra đời của các trang web thương mại điện tử, nhằm đáp ứng nhu cầu mua sắm trực tuyến của người tiêu dùng.
Chất lượng cuộc sống ngày càng tăng đã dẫn đến nhu cầu sử dụng thiết bị điện tử thông minh Do đó, người tiêu dùng thường truy cập các trang web thương mại điện tử để tìm kiếm thông tin và tham khảo giá cả của sản phẩm mong muốn.
Laravel là một framework phổ biến hiện nay vì vậy em muốn đi sâu tìm hiểu về nó để làm đềtài báo cáo khóa luận.
Vậy nên, em quyết định chọn đề tài “Xây dựng trang web bán điện thoại di động online” để đáp ứng các nhu cầu trên.
Mục đích và nhiệm vụ nghiên cứu
Việc nghiên cứu các cơ sở lí thuyết nhằm mục đích cuối cùng là xây dựng được một website bán điện thoại di động online.
- Tìm hiểu một trang web bán hàng thường gồm có những gì?
- Nghiên cứu tài liệu vềngôn ngữlập trình PHP
- Nghiên cứu tài liệu vềLaravel framework
- Phân tích, thiết kếbài toán
- Mô hình hóa cơ sởdữliệu
- Tiến hành xây dựng website.
Đối tượng, phạm vi nghiên cứu
-Sơ đồ ngữcảnh, sơ đồ chức năngkinh doanh, sơ đồluồng dữliệu các mức
Trường Đại học Kinh tế Huế
- Trình viết code Visual Studio Code.
Công ty tư vấn công nghệvà sản xuất PKH (Trung tâm công nghệthông tin Thừa
Thiên Huế-HUECIT, số6, Lê Lợi, tỉnh Thừa Thiên Huế).
Phương pháp nghiên cứu
Các giai đoạn quan trọng trong việc hoàn thành đề án bao gồm: thu thập và phân tích yêu cầu, phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và bảo trì Mỗi giai đoạn này yêu cầu áp dụng các phương pháp khác nhau để đảm bảo hiệu quả và chất lượng của dự án.
- Giai đoạn thu thập và phân tích yêu cầu: Cần xác định hướng đi đề tài để xác định phạm vi thông tin cần tìm kiếm.
Phương pháp nghiên cứu tài liệu là cách thức phân tích các trang web bán hàng tương tự nhằm xác định hướng đi cho việc xây dựng trang web Bên cạnh đó, phương pháp này còn giúp tìm kiếm các bài viết hướng dẫn hữu ích để phát triển trang web bán hàng hiệu quả.
Phương pháp quan sát: Dựa vào những quan sát người dùng, thị hiếu của người dùng trong việc chọn lựa sản phẩm điện thoại thông minh.
Giai đoạn phân tích và thiết kếhệthống:
Phân tích hướng chức năng:
Sơ đồchức năng kinh doanhBFD
Sơ đồluồng dữliệu các mức DFD
Thiết kế: Từbài toán, những thực thể, các sơ đồ đã phân tích tiến hành thiết kế các bảng cơ sởdữliệu và giao diện trang website.
- Sau khi phân tích, thiết kế website quyết định lựa chọn ngôn ngữ lập trình
PHP, Laravel framework, PhpMyAdmin, Visual Studio Code, AdminLTE Template đểxây dựng và quản lý website.
Cấu trúc của khóa luận
Cấu trúc của khóa luận ngoài phần mở đầu và phần kết thúc thì nội dung đề tài
Trường Đại học Kinh tế Huế
Trình bày tổng quan lí thuyết về ngôn ngữ lập trình PHP, Laravel Framework,
HTML, CSS, mô hình MVC, Template, PhpMyAdmin, Xampp, Composer.
Chương 2 : Phân tích, thiết kế website bán điện thoại di động online.
Chương này trình bày bài toán xây dựng website bán điện thoại trực tuyến, từ việc phân tích và thiết kế cơ sở dữ liệu, giao diện, cho đến việc áp dụng Laravel để phát triển trang web.
- Chương 3 : Cài đặt, đánh giá website bán điện thoại di động online.
Sau khi lập trình website thì chương này tiến hành triển khai trang website và đánh giá hiệu quảban đầu mà website mang lại.
Trường Đại học Kinh tế Huế
PHẦN NỘI DUNG
1 Giới thiệu đơn vịthực tập
Công ty cổphần tư vấn công nghệvà sản xuất PKH technologies
Chủsởhữu: Nguyễn Đình Hoàng Phương
Ngày hoạt động: 14/7/2017 Địa chỉ đăng kí: 6 Lê Lợi, phường Vĩnh Ninh, thành phốHuế, tỉnh Thừa Thiên Huế Điện thoại: (+84) 093314799
Ngành nghềchính: Sản xuất thiết bịvà phần mềm
2.1 Khái ni ệ m và l ị ch s ử hình thành c ủ a PHP
PHP, viết tắt của "Hypertext Preprocessor", là ngôn ngữ lập trình kịch bản phía server, giúp tạo ra mã HTML cho client Qua nhiều phiên bản và tối ưu hóa cho ứng dụng web, PHP nổi bật với cú pháp rõ ràng, tốc độ nhanh và tính dễ học, trở thành một trong những ngôn ngữ lập trình web phổ biến và được ưa chuộng nhất.
PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus
PHP được Rasmus Lerdorf phát triển vào năm 1995 như một tập con đơn giản của mã kịch bản Perl để theo dõi truy cập đến bản sơ yếu lý lịch của ông Ông đặt tên cho nó là 'Personal Home Page Tools' Khi cần các chức năng mở rộng hơn, Rasmus đã viết một bộ thực thi bằng C lớn hơn để truy vấn cơ sở dữ liệu và hỗ trợ người dùng phát triển ứng dụng web đơn giản Cuối cùng, ông quyết định công bố mã nguồn của PHP/FI để mọi người có thể xem, sử dụng, sửa lỗi và cải tiến.
Trường Đại học Kinh tế Huế
CƠ SỞ LÝ THUYẾT
Giới thiệu đơn vị thực tập
Công ty cổphần tư vấn công nghệvà sản xuất PKH technologies
Chủsởhữu: Nguyễn Đình Hoàng Phương
Ngày hoạt động: 14/7/2017 Địa chỉ đăng kí: 6 Lê Lợi, phường Vĩnh Ninh, thành phốHuế, tỉnh Thừa Thiên Huế Điện thoại: (+84) 093314799
Ngành nghềchính: Sản xuất thiết bịvà phần mềm
Ngôn ngữ lập trình PHP
2.1 Khái ni ệ m và l ị ch s ử hình thành c ủ a PHP
PHP, viết tắt của "Hypertext Preprocessor", là ngôn ngữ lập trình kịch bản phía server, tạo ra mã HTML cho client Với nhiều phiên bản cải tiến, PHP tối ưu hóa cho ứng dụng web nhờ vào cú pháp rõ ràng, tốc độ nhanh và dễ học, đã trở thành ngôn ngữ lập trình web phổ biến và được ưa chuộng.
PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus
PHP được Rasmus Lerdorf tạo ra vào năm 1995 như một tập con đơn giản của mã kịch bản Perl để theo dõi truy cập đến bản sơ yếu lý lịch của ông Ông gọi bộ mã này là 'Personal Home Page Tools' Khi cần các chức năng phức tạp hơn, Rasmus đã phát triển một bộ thực thi bằng C để hỗ trợ truy vấn cơ sở dữ liệu và phát triển ứng dụng web đơn giản Cuối cùng, ông đã quyết định công bố mã nguồn của PHP/FI để mọi người có thể xem, sử dụng, sửa lỗi và cải tiến.
Trường Đại học Kinh tế Huế
PHP/FI, viết tắt của "Personal Home Page/Forms Interpreter", là phiên bản đầu tiên của PHP và cung cấp một số chức năng cơ bản cho ngôn ngữ lập trình này Nó bao gồm các biến kiểu mà chúng ta đã quen thuộc trong các phiên bản PHP hiện đại.
Perl là một ngôn ngữ lập trình hỗ trợ thông dịch tự động các biến trong form và cú pháp HTML nhúng Cú pháp của Perl có sự tương đồng với cú pháp HTML, nhưng nó có hạn chế hơn, đơn giản hơn và đôi khi thiếu tính nhất quán.
Vào năm 1997, PHP/FI 2.0, phiên bản viết lại thứ hai của PHP, đã thu hút hàng ngàn người dùng toàn cầu với khoảng 50.000 tên miền cài đặt, chiếm 1% tổng số tên miền trên Internet Mặc dù có hàng nghìn người tham gia đóng góp vào việc cải tiến mã nguồn, dự án này vẫn chủ yếu là nỗ lực của một cá nhân.
PHP/FI 2.0 được công bố chính thức vào tháng 11 năm 1997, sau một thời gian dài chỉ phát hành dưới dạng beta Tuy nhiên, không lâu sau, nó đã bị thay thế bởi các bản alpha đầu tiên của PHP 3.0.
PHP 3.0 là 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 Nó đã được Andi Gutmans và Zeev
PHP được Suraski phát triển vào năm 1997 sau khi viết lại hoàn toàn mã nguồn trước đó, nhằm khắc phục những hạn chế của phiên bản PHP/FI 2.0 trong việc phát triển ứng dụng thương mại điện tử Nhận thấy sự yếu kém của phiên bản cũ trong một dự án đại học, Andi, Rasmus và Zeev đã hợp tác để xây dựng và công bố phiên bản PHP mới, dựa trên cơ sở người dùng đã có.
3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. Điểm mạnh lớn nhất PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó Ngoài việc 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 tính 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 Đây chính là điểm mấu chốt giúp phiên bản PHP 3.0 thành công Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác.
Trường Đại học Kinh tế Huế
Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới ngắn gọn là
'PHP' là viết tắt của "PHP: Hypertext Preprocessor", giúp loại bỏ mối liên hệ với việc sử dụng cá nhân hạn hẹp của phiên bản trước đó là PHP/FI 2.0.
Cuối năm 1998, PHP đã thu hút hàng chục ngàn người sử dụng để xây dựng website Đến thời điểm đỉnh cao, PHP 3.0 được cài đặt trên khoảng 10% máy chủ Web trên Internet.
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.
Năm 1998, sau khi phiên bản PHP 3.0 được công bố chính thức, Andi Gutmans và
Zeev Suraski đã tiến hành viết lại phần lõi của PHP với mục tiêu cải thiện tốc độ xử lý cho các ứng dụng phức tạp và nâng cao tính mô-đun của mã nguồn PHP.
PHP 3.0 đã cho phép chạy các ứng dụng dựa trên tính năng mới và hỗ trợ nhiều cơ sở dữ liệu cùng API của bên thứ ba Tuy nhiên, phiên bản này không được thiết kế để xử lý hiệu quả các ứng dụng phức tạp.
Một động cơ mới, có tên 'Zend Engine' đãđáp ứng được các nhu cầu thiết kế này một cách thành công,đượcgiới thiệu lần đần tiên vào giữa năm.
Tháng 5 năm 2000, PHP 4.0 dựa trên động cơ ‘Zend Engine’ này, đi kèm thêm nhiều tính năng mới được bổ sung đã chính thức công bố.
PHP 4.0 không chỉ cải thiện đáng kể tốc độ xử lý mà còn mang đến nhiều tính năng quan trọng khác, bao gồm 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, và bảo mật thông tin người dùng thông qua nhiều phương pháp xử lý khác nhau Thêm vào đó, phiên bản này còn cung cấp nhiều cấu trúc ngôn ngữ mới.
Phiên bản này đã thu hút hàng trăm nghìn nhà phát triển sử dụng PHP, với hàng triệu website cài đặt PHP, chiếm tới 20% tổng số tên miền trên internet.
Laravel framework
Framework là khung sườn cho các công trình, và trong lập trình ứng dụng, nó cung cấp các mẫu thiết kế, thư viện, API, và trình biên dịch cần thiết để tối ưu hóa quá trình phát triển phần mềm Việc lựa chọn framework phù hợp cho từng dự án là một kỹ năng quan trọng mà mọi nhà phát triển cần có.
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗtrợphát triển cácứng dụng web theo kiến trúc
Model-View-Controller (MVC) dựa trên Symfony
Laravel là một framework PHP mới, được giới thiệu vào tháng 04/2011 Ngay từ khi ra mắt, nó đã thu hút sự chú ý của cộng đồng nhờ vào nhiều tính năng nổi bật như Eloquent ORM và RESTful Controllers.
Laravel nổi bật với cú pháp dễ hiểu và rõ ràng, cùng với hệ thống đóng gói modular và quản lý gói phụ thuộc hiệu quả Nó cung cấp nhiều phương thức truy cập vào các cơ sở dữ liệu quan hệ và hỗ trợ đa dạng các tiện ích cho việc triển khai và bảo trì ứng dụng.
Vào khoảng tdễháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn
The most popular PHP framework, Laravel, secured the top position in 2015, followed by Symfony2, Nette, CodeIgniter, and Yii2 In August 2014, Laravel was recognized as the most popular and most-watched PHP project on GitHub.
Trường Đại học Kinh tế Huế
Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tạiGithub.
Trường Đại học Kinh tế Huế
3.2.2 Các đặc điể m c ủ a Laravel framework
Laravel rất dễ bắt đầu, vì mã nguồn của nó dễ đọc và dễ hiểu Chỉ cần có kiến thức cơ bản về PHP, bạn có thể nhanh chóng phát triển một website.
Laravel là một framework mã nguồn mở, giúp bạn dễ dàng xây dựng các trang web lớn chỉ với một trình soạn thảo văn bản và cài đặt đơn giản.
- Laravel là framework có thểxửlí những dựán lớn một cách dễdàng.
Laravel dựa trên kiến trúc MVC, giúp mã nguồn được tổ chức một cách hợp lý và dễ hiểu Nhờ vào tính năng này, người dùng có thể dễ dàng phát triển dự án của mình.
Hỗ trợ cộng đồng là một trong những lựa chọn phổ biến nhất hiện nay, theo báo cáo xu hướng của Google Điều này giúp người dùng dễ dàng trao đổi và nhận được sự hỗ trợ khi gặp khó khăn trong quá trình làm việc.
Laravel cung cấp các tính năng bảo mật quan trọng cho ứng dụng của bạn, bao gồm việc sử dụng ORM với PDO để ngăn chặn tấn công chèn SQL Tính năng bảo vệ CSRF giúp ngăn chặn các yêu cầu giả mạo, trong khi cú pháp tự động thoát các thực thể HTML được truyền qua tham số xem, bảo vệ ứng dụng khỏi các kịch bản chéo trang web.
Laravel sử dụng Blade templating để quản lý các assets và mã HTML một cách hiệu quả Việc chia nhỏ mã thành nhiều thành phần giúp đơn giản hóa quá trình thiết kế và quản lý assets.
Laravel, được phát triển bởi Taylor Otwell, là một giải pháp thay thế cho CodeIgniter, mang lại nhiều tính năng quan trọng như xác thực và phân quyền Trước khi tạo ra Laravel, Taylor là một lập trình viên NET và đã có nhu cầu làm việc với PHP vào những năm gần đây.
Vào năm 2010-2011, CodeIgniter đã trở thành một ngôi sao mới nổi, vượt trội hơn cả Symfony Taylor nhanh chóng nhận ra những điểm yếu của nó.
CodeIgniter là một framework được tạo ra bởi Taylor, người sở hữu tài năng và kiến thức xuất sắc về design-pattern Mục tiêu của ông là phát triển một framework đơn giản, dễ hiểu và hỗ trợ cho việc lập trình.
Trường Đại học Kinh tế Huế cung cấp nhiều tính năng hỗ trợ như Eloquent ORM mạnh mẽ, xác thực đơn giản và phân trang hiệu quả, giúp hiện thực hóa ý tưởng một cách nhanh chóng.
Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là Laravel
Laravel 1 được phát hành trong cùng tháng và bao gồm các tính năng như xác thực, bản địa hóa, model, view, session và định tuyến Tuy nhiên, nó vẫn còn thiếu controller, khiến cho Laravel 1 chưa thực sự trở thành một framework MVC đúng nghĩa.
HTML ( HyperText Markup Language)
HTML, hay ngôn ngữ đánh dấu siêu văn bản, được phát triển để cấu trúc và trình bày thông tin trên các trang web trong môi trường World Wide Web.
Để bắt đầu một trang web, bạn cần sử dụng thẻ để mở đầu và thẻ để kết thúc Phần thông tin header được khai báo trong cặp thẻ và , trong khi nội dung chính được đặt trong cặp thẻ và .
Thường thì nội dung khai báo trong cặp thẻ là: Tiêu đề, phần mô tảtrang web, tên tác giả, từ khóa liên quan,…
Còn trong cặp thẻ thường là những nội dung được hiển thị ra trang web Các cặp thẻ nằm trong và là:
, ,CSS (Cascading Style Sheets)
Một trang web được xây dựng từ các thẻ HTML, nhưng để thu hút người dùng, cần sử dụng ngôn ngữ CSS HTML và CSS thường đi đôi trong quá trình phát triển website Có ba cách để chèn CSS vào trang HTML.
Trường Đại học Kinh tế Huế
- Cách 1: Chèn vào trong cặp thẻ trong cặp thẻ của HTML.
- Cách 2: Chèn trực tiếp bên trong thẻHTML
- Cách 3: Liên kết với một file.css bên ngoài
Trong cách 3 cách vừa nêu trên thì các lập trình viên thường lựa chọn cách thứ3 bởi tính thuận lợi cũng như linh hoạt của nó.
PHPMyAdmin
PhpMyAdmin là công cụ mã nguồn mở miễn phí, được phát triển bằng PHP, giúp quản lý MySQL thông qua trình duyệt web Công cụ này cho phép người dùng thực hiện nhiều tác vụ, bao gồm tạo, sửa đổi và xóa cơ sở dữ liệu, bảng, trường và bản ghi; thực hiện các báo cáo SQL; cũng như quản lý người dùng và quyền truy cập.
Các thao tác quản lý cơ sở dữ liệu như bảng, cột, mối quan hệ, chỉ số, người sử dụng và phân quyền có thể được thực hiện dễ dàng thông qua giao diện người dùng, đồng thời cho phép thực hiện trực tiếp bất kỳ câu lệnh nào.
Hiện nay phần mềm này có sẵn trong 64 ngôn ngữ lập trình khác nhau, được duy trì bởi The phpMyAdmin Project.
- Những tính năng chính của phpmyadmin
Tạo và xóa người dùng, quảnlý quyền người dùng
Tạo, thay đổi và xóa cơ sở dữ liệu, bảng, trường và hàng
Tìm kiếm đối tượng trong toàn bộ cơ sở dữ liệu hoặc trong bảng
Nhập và xuất dữ liệu theo các định dạng khác nhau, bao gồm SQL, XML và
Giám sát quá trình và theo dõi hiệu suấtcủa các truy vấn khác nhau
Thực hiệncác truy vấn SQL tùy chỉnh
Sao lưu cơ sở dữ liệu MySQL của bạn ở chế độ thủ công
Công cụ này rất dễ sử dụng và thiết lập, với cơ sở dữ liệu MySQL được cài đặt trên cùng một máy tính, giúp các lệnh được thực thi nhanh chóng mà không phụ thuộc vào kết nối mạng.
Trường Đại học Kinh tế Huế
Mô hình MVC (Model-View-Controller)
MVC, viết tắt của Model-View-Controller, là một mô hình thiết kế phần mềm trong kỹ thuật phần mềm Kiến trúc này phân chia mã nguồn thành ba phần: View, Model và Controller, mỗi phần đảm nhiệm một nhiệm vụ riêng biệt và độc lập Việc áp dụng mô hình MVC giúp xây dựng trang web một cách hợp lý và đơn giản hơn.
Controller là phần quan trọng nhất của một phần mềm, giữ vai trò điều hướng các yêu cầu từ người dùng và gọi đúng phương thức để xử lý những yêu cầu đó.
M (Model) là thành phần chứa các nghiệp vụ logic, phương thức xử lý, truy xuất dữ liệu từ cơ sở dữ liệu và các hàm xử lý Khi Controller nhận yêu cầu và gọi đến Model, Model sẽ truy xuất dữ liệu và trả lại cho Controller để thực hiện.
- V (View): View giữ nhiệm vụ hiển thị thông tin và tương tác với người dùng.
Hay nói cách khác View là nơi hiển thị thông tin, kết quảdo Controller truyền qua sau khi thực hiện.
Ngoài 3 thành phần Controller, Model, View thì khi xây dựng một trang web cần chú ý đến Route Routeở đây đóng vai trò là chức năng định tuyến, dẫn đường cho các
HTTP request được gửi đến địa chỉ mong muốn, và route chính là liên kết dẫn đến mã lập trình mà lập trình viên đã viết để thực hiện nhiệm vụ cụ thể đó.
Trường Đại học Kinh tế Huế
Template
Template là các mẫu layout đã được thiết kế sẵn, cho phép người dùng dễ dàng tải về và chỉnh sửa theo nhu cầu sử dụng.
Template giúp người lập trình tiết kiệm được thời gian thiết kếrất nhiều.
Mặc dù việc sử dụng Template mang lại nhiều lợi ích, nhưng nó cũng có những hạn chế nhất định Template là một bố cục thiết kế sẵn, do đó khi người dùng thực hiện một dự án cụ thể, nó có thể không đáp ứng đầy đủ các chức năng cần thiết hoặc có những chức năng thừa thãi Điều này dẫn đến việc người dùng phải tốn thời gian để chỉnh sửa và điều chỉnh Template cho phù hợp với yêu cầu của dự án.
Tùy thuộc vào mục đích của trang website của bạn có những chức năng như thế nào đểchọn kiểu Template có sẵn phù hợp.
Trường Đại học Kinh tế Huế
PHÂN TÍCH THIẾT KẾ WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG ONLINE
Bổ sung, sửa đổi mẫu sản phẩm mới và những thông sốcủa sản phẩm vào cơ sở dữliệu.
Quản lí thông tin chuyên mục, mức giá, trong website gồm các thao tác thêm, sửa, xóa.
Quản lí bán hàng như tìm kiếm, xem thông tin, đặt hàng, thanh toán, thêm vào giỏhàng, sửa giỏhàng, bình luận, nhắn tin.
Quản lí thông tin khách hàng mua sản phẩm
Quản líhóa đơn bán hàng
Quản lí bình luận của khách hàng
Trang web cần có bốn bộ phận chính, mỗi bộ phận đảm nhiệm một nhiệm vụ riêng, nhưng lại có mối quan hệ chặt chẽ với nhau.
Bộphận quản lí bán hàng
Bộphận báo cáo thống kê
Bộphận quản lí người dùng.
1.2.1 B ộ ph ậ n qu ả n lí h ệ th ố ng
Thêm, xóa, sửa thông tin hàng hóa trong bảng sản phẩm.
Thêm, sửa, xóa thông tin chuyên mục
Quản lí hóa đơncủa khách hàng
Quản lí thông tinngười dùng
Quản lí các mức giá của hệthống sản phẩm.
Trường Đại học Kinh tế Huế
1.2.2 B ộ ph ậ n qu ả n lí bán hàng
Khách hàng có thể dễ dàng tìm kiếm thông tin về sản phẩm điện thoại trên trang web bằng cách nhập tên sản phẩm vào ô tìm kiếm Nếu hệ thống có sản phẩm phù hợp, kết quả sẽ được hiển thị ngay lập tức cho khách hàng.
Khách hàng chỉ cần nhấp vào sản phẩm để xem thêm thông tin chi tiết, giúp họ tham khảo và đưa ra quyết định mua hàng.
Khi khách hàng mua sản phẩm, họ sẽ chọn sản phẩm và số lượng trước khi thêm vào giỏ hàng, nơi hiển thị các sản phẩm đã chọn Nếu cần, khách hàng có thể sửa đổi giỏ hàng trước khi đặt hàng Để mua điện thoại, khách hàng cần đăng nhập thông tin vào form có sẵn Sau khi tạo tài khoản, họ có thể mua bất kỳ sản phẩm nào trên website.
Thanh toán: Khi khách hàng quyết định mua sản phẩm thì chọn thanh toán khi nhận hàng.
Sau khi khách hàng hoàn tất việc đặt hàng, hệ thống sẽ kiểm tra đơn hàng và gửi email xác nhận thông tin cho khách Sau khi khách hàng xác nhận, quá trình giao hàng sẽ được tiến hành.
Khi khách hàng muốn đánh giá sản phẩm nào đó thì khách hàng có thểvào phần đánh giá của sản phẩm đăng nhập và bình luận.
Khách hàng muốn tìm hiểu một thông tin nào đó chỉ cần nhắn tin vào hộp thư quản trịviên sẽ đọc và trảlời
1.2.3 B ộ ph ậ n báo cáo th ố ng kê
Sau khi hoàn tất quá trình bán hàng, hệ thống sẽ tổng hợp và thống kê các đơn đặt hàng, bao gồm các trạng thái như đã đặt hàng, đã giao hàng, đã hủy, cùng với tổng tiền và số lượng sản phẩm được bán ra trong một ngày, một tháng, hoặc một năm cụ thể.
Thống kê số lượng sản phẩm hiện tại của website
Thống kê số lượng chuyên mục hiện tại của website
Trường Đại học Kinh tế Huế
1.2.4 B ộ ph ậ n qu ả n lí tài kho ả n Đăng nhập: Khi khách hàng muốn mua sản phẩm tại trang web thì bướcđầu tiên phải đăng kí. Để đăng kí được tài khoản khách hàng cần điền vào form đăng kí mà hệ thống đưa ra Sau khi nhập đúng tất cả thông tin thì hệ thống thông báo thành công cho khách hàng.
2 Xây dựng mô hình chức năngkinh doanh
Xây dựng mô hình phân rã chức năng giúp mô tả và khái quát chức năng của hệ thống cần phân tích, từ đó hỗ trợ lập trình viên thiết kế hệ thống một cách dễ dàng hơn.
Sau khi phân tích phần mô tảbài toán có thểliệt kê ra được những chức năng chi tiết của trang web từ đó có sơ đồsau.
WEBSITE QUẢN LÍ BÁN ĐIỆN THOẠI DI ĐỘNG ONLINE
Trường Đại học Kinh tế Huế
Thống kê số lượng sản phẩm Thống kê báo cáo
Thống kê số lượng chuyên mục
Thống kê người dùng Đăng nhập Quản lí tài khoản Đăng kí
Bảng 1: Bảng phân tích chức năng chi tiết của website
Từ sơ đồ các chức năng chi tiết, ta có thể xây dựng được sơ đồ chức năng kinh doanh.
Trường Đại học Kinh tế Huế
Hìnhảnh 19: Sơ đồchức năng kinh doanh(BFD)
Trường Đại học Kinh tế Huế
Trường Đại học Kinh tế Huế
4.1 Sơ đồ lu ồ ng d ữ li ệ u m ứ c 0
Hìnhảnh 21: Sơ đồluồng dữliệu mức 0
Trường Đại học Kinh tế Huế
4.2.Sơ đồ luồng dữ liệu mức 1
4.2.1 Lu ồ ng d ữ li ệ u qu ả n lí h ệ th ố ng
Hìnhảnh 22: Sơ đồluồng dữliệu mức 1 (chứcnăngquản lí hệthống)
Trường Đại học Kinh tế Huế
4.2.2 Lu ồ ng d ữ li ệ u qu ả n lí bán hàng
Hìnhảnh 23: Sơ đồluồng dữliệu mức 1 (quản lí bán hàng)
Trường Đại học Kinh tế Huế
4.2.3 Lu ồ ng d ữ li ệ u qu ả n lí th ố ng kê báo cáo
Hìnhảnh 24: Sơ đồluồng dữliệu mức 1 (thống kê báo cáo)
Trường Đại học Kinh tế Huế
4.2.4 Lu ồ ng d ữ li ệ u qu ả n lí tài kho ả n
Hìnhảnh 25: Sơ đồluồng dữliệu mức 1 (Quản lí tài khoản)
Trường Đại học Kinh tế Huế
5.Sơ đồthực thểmối quan hệ
Từ bài toán được mô tảcó thểliệt kê ra những thực thểsau:
Quản lí đăng nhập của người dùng
Thuộc tính: Mã người dùng (khóa chính), tên người dùng, email, số điện thoại, quyền đăng nhập, mật khẩu, địa chỉ.
Quản lí các hãng hàng
Thuộc tính: Mã chuyên mục (khóa chính), tên chuyên mục, mô tả.
Quản lí tất cảsản phẩm của trang web
Thuộc tính: Mã sản phẩm (khóa chính), tên sản phẩm, mô tảsản phẩm, giá, số lượng, mã chuyên mục,ảnh của sản phẩm, trạng thái,lượt xem.
Quản líhóa đơn bán hàng
Thuộc tính: Mã đơn hàng (khóa chính), tổng tiền, ngày đặt hàng, ngày nhận hàng, mã người dùng, trạng thái đơn hàng, mã phương thức thanh toán
Quản lí các mặt hàng đã chọn.
Thuộc tính: Mã giỏ hàng (khóa chính), mã sản phẩm (khóa ngoại), mã người dùng (khóa ngoại), số lượng sản phẩm
Quản lí những bình luận củangười dùng
Thuộc tính: Mã bình luận (khóa chính), mã sản phẩm (khóa ngoại), mã người dùng (khóa ngoại), nội dung, ngày tạo bình luận
Từnhững thực thểkể trên ta có các sơ đồthực thểmối quan hệsau:
- Mối quan hệgiữa “người dùng” và “giỏ hàng”
Mỗi khách hàng có 1 giỏhàng và một giỏhàng chỉ của một khách hàng.
Trường Đại học Kinh tế Huế
- Mối quan hệgiữa “sản phẩm” và “chuyên mục”
Mỗi sản phẩm thuộc một chuyên mục, một chuyên mục gồm nhiều sản phẩm n 1
- Mối quan hệgiữa “giỏhàng” và “sản phẩm”
Mỗi giỏ hàng có thể chọn nhiều sản phẩm, một sản phẩm có thể được chọn bởi nhiều giỏhàng n n
- Mối quan hệgiữa “hóa đơn” và “sản phẩm”
Mỗi hóa đơn có nhiều sản phẩm, một sản phẩm nằm trên nhiều hóa đơn n n
- Mối liên hệgiữa “người dùng” và “bình luận”
Mỗi người dùng có nhiều bình luận, mỗi bình luận của 1 người dùng
- Mối liên hệgiữa “bình luận” và “sản phẩm”
Mỗi sản phẩm có nhiều bình luận, mỗi bình luận chỉ được bình luận 1 sản phẩm.
Sản phẩm có chuyên mục
Giỏ hàng có Sản phẩm hóa đơn có Sản phẩm
Người dùng Bình luận có
Sản phẩm Bình luận có
Trường Đại học Kinh tế Huế
Sau khi có các mối các mối quan hệgiữa các thực thểta xây dựng mô hình thực thểmối quan hệ.
Hìnhảnh 26: Sơ đồthực thểmối quan hệ
Trường Đại học Kinh tế Huế
6 Mô hình thực thểmối quan hệ
Hìnhảnh 27: Mô hình thực thểmối quan hệ
Thuộc tính Kiểu dữliệu Kích thước Ràng buộc Diễn giải id Int 11 Khóa chính Mã chuyên mục ten Varchar 150 Tên chuyên mục mo_ta text Mô tả
Bảng 2: Cơ sởdữliệu chuyên mục
Trường Đại học Kinh tế Huế
Thuộc tính của bảng bao gồm: id (int 11, khóa chính), id_san_pham (int 11, khóa ngoại), id_nguoi_dung (int 11, khóa ngoại) và so_luong (int 11, số lượng).
Bảng 3: Cơ sở dữliệu giỏhàng
Thuộc tính Kiểu dữ liệu
Diễn giải id int 11 Khóa chính
Mã hóađơn tong_tien decimal 12,3 Tổng tiền ngay_dat_hang datetime Ngày đặt hàng ngay_nhan_hang datetime Ngày nhận hàng id_nguoi_dung int 11 Khóa ngoại
Mã người dùng trang_thai int 11 Trạng thái phuong_thuc_thanh_toan int 11 phương thức thanh toán
Bảng 4: Cơ sởdữliệu hóa đơn
Trường Đại học Kinh tế Huế
Bảng dữ liệu người dùng bao gồm các thuộc tính sau: id (kiểu Smallint, kích thước 6, khóa chính), ten (kiểu Varchar, kích thước 150, tên người dùng), email (kiểu Varchar, kích thước 150, địa chỉ email), so_dien_thoai (kiểu Varchar, kích thước 15, số điện thoại), quyen (kiểu Int, kích thước 2, phân quyền) và mat_khau (kiểu Varchar, kích thước 150, mật khẩu).
Dia_chi Varchar 150 Địa chỉ
Bảng 5: Cơ sởdữliệu người dùng 7.5 Chi ti ết đơn hàng (b ả ng trung gian)
Bảng dữ liệu bao gồm các thuộc tính sau: id (int 11) là khóa chính, đại diện cho mã hóa đơn sản phẩm; id_don_hang (int 11) là khóa ngoại, liên kết với mã hóa đơn; id_san_pham (int 11) là khóa ngoại, đại diện cho mã sản phẩm; so_luong (int) thể hiện số lượng; và gia (decimal 12,3) đại diện cho giá sản phẩm.
Bảng 6: Cơ sởdữliệu chi tiết đơn hàng
Trường Đại học Kinh tế Huế
7.6 Gi ỏ hàng-s ả n ph ẩ m(b ả ng trung gian)
Bảng Tthuthu có các thuộc tính như sau: id (int, 10, khóa chính), id_gio_hang (int, 10, khóa ngoại), id_san_pham (int, 10, khóa ngoại), và so_luong (int, 11, số lượng).
Bảng 7: Cơ sởdữliệu chuyên mục thanh toán
Bài viết này mô tả cấu trúc của một bảng dữ liệu với các thuộc tính như sau: id là kiểu Int với kích thước 11 và là khóa chính; mã sản phẩm là kiểu Varchar 150, đại diện cho tên sản phẩm; mo_ta là kiểu Text, dùng để mô tả sản phẩm; gia là kiểu Decimal 12,3, thể hiện giá; so_luong là kiểu Int 11, chỉ số lượng sản phẩm; id_chuyen_muc là kiểu Int 11, là khóa ngoại cho mã chuyên mục; anh là kiểu Varchar 195, lưu trữ ảnh sản phẩm; trang_thai là kiểu Int 11, thể hiện trạng thái sản phẩm; và luot_xem là kiểu Int 11, ghi nhận lượt xem sản phẩm.
Bảng 8: Cơ sở dữliệu sản phẩm
Trường Đại học Kinh tế Huế
Bài viết mô tả các thuộc tính của một bảng dữ liệu với các trường như sau: "id" là kiểu dữ liệu Int với kích thước 11 và là khóa chính; "gia_bat_dau" là kiểu decimal với kích thước 12,3, thể hiện giá khởi điểm; "gia_ket_thuc" cũng là kiểu decimal với kích thước 12,3, đại diện cho giá thấp nhất; và "giá cao nhất" là trường không được định nghĩa rõ ràng trong nội dung.
Bảng 9: Cơ sở dữliệu mức giá 7.9 Bình lu ậ n
Bảng chứa các thuộc tính như sau: id (int 11) là khóa chính, id_san_pham (int 11) là khóa ngoại liên kết với mã sản phẩm, noi_dung (text) lưu trữ nội dung bình luận, id_nguoi_dung (int 11) là khóa ngoại liên kết với mã người dùng, và ngay_tao (datetime) ghi lại ngày tạo bình luận.
Bảng 10: Cơ sởdữliệu bình luận
Trường Đại học Kinh tế Huế
CÀI ĐẶT, ĐÁNH GIÁ WEBSITE BÁN ĐIỆN THOẠI ONLINE 46 1 Môi trường cài đặt
Sau khi tiến hành phân tích, thiết kếhệthống cũng như xây dựng hệ cơ sởdữliệu của trang web, em xây dựng trang web như sau
Website bán điện thoại online được xây dựng sửdụng các công cụsau:
Công cụlập trình: Visual Studio Code
Hệquản trị cơ sởdữliệu PhpMyAdmin
Tải xuống các Templates AdminLTE, OneTech.
Bước 1: Cài đặt Visual Studio Code
Bước 5: Tại Visual Studio Code thêm các thư viện AdminLTE, Onetech để xây dựng giao diện trang web đẹp hơn.
Bước 6: Tiến hành xây dựng website.
2.1 Giao di ện ngườ i s ử d ụ ng
Chuyên mục: Giúp người dùng có thể lọc ra tất cảcác sản phẩm hãng sản phẩm mà mình muốn tìm hiểu, lọc những sản phẩm của một hãng nàođó.
- Tìm kiếm: Người dùng có thểtìm kiếm những từ khóa liên quan đến sản phẩm của mình đểtìm xem có sản phẩm mình cần cóởtrên trang web hay không.
- Tất cả sản phẩm: Nếu click chọn thì sẽ hiển thị ra tất cả những sản phẩm của trang web
- Giỏhàng: Nơi mà người dùng chứa những sản phẩm mà họquan tâm.
Trường Đại học Kinh tế Huế
- Tài khoản: Đây là giao diện khi khách hàng ghé thăm trang web mà chưa đăng nhập.
- Trang fanpage facebook kết nối với website.
- Chatbox hỗtrợ: Hộp thư để người dùng nhắn tin nếu có thắc mắc
2.1.2 Giao di ệ n trang ch ủ ngườ i dùng
Hìnhảnh 28: Giao diện trang chủ người dùng
Trang chủsẽbao gồm tất cảcác sản phẩm website đang có.
- Trang chủ hiện lên những sản phẩm mà web vừa mới cập nhật, những sản phẩm được xem nhiều nhất, những sản phẩm được bán nhiều nhất.
2.1.3 Giao di ện đăng nhậ p
Trường Đại học Kinh tế Huế
Hìnhảnh 29: Giao diện trang đăng nhập
Người dùng đã có tài khoản sẵn có thì nhập vào địa chỉemail và mật khẩu
Nếu đăng nhập thành công thì cho phép người dùng thực hiện các hoạt động mua hàng qua website.
Nếu đăng nhập không thành công sẽcó thông báo lỗi như sau:
- Email đúng nhưng mật khẩu sai hệthống sẽ hiển thi thống báo lỗi “mật khẩu không đúng”.
- Email sai, mật khẩu sai hệthống thông báo lỗi “tài khoản không tồn tại”
2.1.4 Giao di ện đăng kí
Hìnhảnh 30: Giao diện đăng kí tài khoản
Trường Đại học Kinh tế Huế
Khi người dùng muốn mua sản phẩm trên website nhưng chưa có tài khoản, họ cần phải đăng ký Để hoàn tất việc đăng ký, khách hàng phải cung cấp đầy đủ thông tin, bao gồm họ và tên, email, số điện thoại, mật khẩu, xác nhận mật khẩu và địa chỉ Sau khi nhấn “gửi”, nếu đăng ký thành công, hệ thống sẽ thông báo “Đã đăng ký thành công Bây giờ bạn có thể đăng nhập”.
Khi người dùng bấm chọn các chuyên mục muốn mua, hệ thống sẽtrảvề những sản phẩmứng với chuyên mục đó.
Người dùng có thể dễ dàng tìm kiếm tất cả sản phẩm của Samsung bằng cách nhấp vào chuyên mục Samsung, hệ thống sẽ hiển thị toàn bộ sản phẩm Samsung hiện có trên website.
Khi người dùng có một khoản tiền nhất định, họ chỉ cần truy cập trang web và chọn mức giá phù hợp với ngân sách của mình Hệ thống sẽ tự động cung cấp danh sách tất cả các sản phẩm có mức giá tương ứng.
Ví dụ: Người dùng có khoản tiền dưới 4 triệu thì chỉ việc click vào mức giá
“dưới 4,000,000” hệthống sẽtrảvềtất cảnhững sản phẩm có giá trị dưới 4 triệu (xem hình 31).
2.1.7 Giao di ệ n l ọ c giá tr ị s ả n ph ẩ m
Khách hàng có thể dễ dàng so sánh giá cả của các sản phẩm bằng cách chọn sắp xếp theo mức giá tăng dần, giảm dần hoặc theo sản phẩm mới nhất Hệ thống sẽ trả về danh sách sản phẩm được sắp xếp tương ứng.
Ngoài ra việc lọc theo chuyên mục, mức giá và sắp xếp giá trị sản phẩm để chọn ra sản phẩm mà khách hàng ưngý nhất.
Trường Đại học Kinh tế Huế
Hìnhảnh 31: Giao diện lọc các sản phẩm Samsung giá trịsản phẩm dưới 15 triệu từ thấp đến cao 2.1.8 Giao di ệ n thông tin s ả n ph ẩ m
Người dùng chỉ cần nhấp vào tên sản phẩm để hệ thống cung cấp thông tin chi tiết bao gồm tên, hình ảnh, giá cả, số lượng, thông số kỹ thuật và các sản phẩm cùng chuyên mục Điều này giúp khách hàng dễ dàng so sánh, đánh giá và xem các đánh giá về sản phẩm một cách thuận tiện.
Trường Đại học Kinh tế Huế
Hìnhảnh 32: Giao diện thông tin của sản phẩm Samsung galaxy A20
2.1.9 Giao di ện đơn hàng
Hìnhảnh 33: Giao diện đơn hàng của người dùng
Khi khách hàng thực hiện việc mua sắm và thanh toán, hệ thống sẽ tự động ghi nhận các thông tin trong đơn hàng, bao gồm tên sản phẩm, giá cả, số lượng, tổng tiền và trạng thái đơn hàng.
Trường Đại học Kinh tế Huế
Một giỏ hàng có thểcó nhiều sản phẩm, hệthống sẽtổng cộng số tiền tất cảsản phẩm khách mua.
Khách hàng click vào botton tiến hành thanh toán đểthanh toán.
2.1.10 Giao di ệ n tài kho ả n c ủ a tôi
Hìnhảnh 34: Giao diện tài khoản của người dùng
Sau khi đăng nhập vào tài khoản, khách hàng có thể dễ dàng xem và chỉnh sửa thông tin cá nhân bằng cách nhấp vào mục "Tài khoản của tôi" Sau khi thực hiện các thay đổi cần thiết, hãy nhấn nút "Lưu" để cập nhật thông tin mới.
2.1.11 Giao di ệ n liên h ệ Ở trang này bao gồm tất cả những thông tin liên hệ của website, người dùng có thể đọc và kiểm chứng.
Trường Đại học Kinh tế Huế
Giao diện giỏ hàng của người dùng hiển thị các sản phẩm đã được thêm vào, bao gồm tên sản phẩm, số lượng và giá thành.
Icon xóa: Khi người dùng muốn thay đổi giỏ hàng chỉ cần xóa sản phẩm mình đã chọn.
Khi khách hàng quyết định mua sản phẩm đã thêm vào giỏ hàng, chỉ cần nhấn vào nút "mua hàng" Hệ thống sẽ chuyển hướng đến giao diện thanh toán, giúp người dùng thực hiện quy trình đặt hàng một cách thuận tiện.
2.2.1 Giao di ệ n qu ả n lí th ố ng kê
Bài viết này đề cập đến các loại thống kê quan trọng trong kinh doanh, bao gồm thống kê chuyên mục, sản phẩm, số đơn hàng đã đặt, đơn đã giao và đơn bị hủy Nó cung cấp cái nhìn tổng quan về số lượng hàng bán, cũng như doanh thu trong một khoảng thời gian nhất định.
Hệ thống thống kê cho phép quản trị viên xem số lượng chuyên mục của các hãng điện thoại đang được bán Để biết chi tiết về từng chuyên mục, người quản trị chỉ cần click vào “xem chi tiết”, và hệ thống sẽ cung cấp toàn bộ thông tin liên quan.
- Hệthống thống kê có tất cảbao nhiêu sản phẩm trong hệthống, click “xem chi tiết” đểxem tất cảnhững sản phẩm đó.
Trường Đại học Kinh tế Huế
- Hóa đơn: Hệthống sẽthống kê những đơn hàng trong một thời gian cụthể.
Click “xem chi tiết” đểxem thông tin những đơn hàng đó
- Khách hàng: Hệthống sẽthống kê số lượng khách hàng mua trong thời gian cụthể
Hìnhảnh 37: Giao diện báo cáo, thống kê 2.2.2 Giao di ệ n qu ả n lí chuyên m ụ c
Bao gồm danh sách các chuyên mục mà website đang bán.
Người quản trịcó thểthực hiện các thao tác sau đối với chuyên mục:
Khi bạn muốn mở rộng website bán hàng bằng cách thêm một chuyên mục mới, hãy chọn chuyên mục và điền tên cùng mô tả cho chuyên mục đó (mô tả có thể có hoặc không) Sau đó, chỉ cần nhấn “thêm” để hoàn tất quá trình.
- Sửa: Để sửa chuyên mục, người quản trị chọn botton “sửa” tại chuyên mục cần sửa rồi tiến hành sửa thông tin sau đó “cập nhật” thông tin.
Khi không còn kinh doanh sản phẩm thuộc một chuyên mục nào, bạn chỉ cần nhấp vào nút xóa chuyên mục Hành động này sẽ dẫn đến việc xóa toàn bộ chuyên mục cùng với các sản phẩm liên quan.
Khi người quản trị cần chỉnh sửa thông tin một chuyên mục, họ chỉ cần nhập tên chuyên mục vào ô tìm kiếm, hệ thống sẽ nhanh chóng trả về kết quả theo yêu cầu.
Trường Đại học Kinh tế Huế
Hìnhảnh 38: Giao diện trang quản lí chuyên mục sản phẩm 2.2.3 Giao di ệ n qu ả n lí s ả n ph ẩ m
Bao gồm danh sách các sản phẩm có trong website Người quản trị có thể thực hiện các thao tác sau đối với chuyên mục
Khi thêm sản phẩm mới vào website, bạn cần chọn sản phẩm, điền tên, chọn chuyên mục, tải lên file ảnh, và nhập thông số kỹ thuật vào bảng mô tả Sau đó, cập nhật giá và số lượng sản phẩm, cuối cùng nhấn “thêm” để hệ thống cập nhật sản phẩm mới trên website.
- Sửa: Đểsửa sản phẩm, người quản trị chọn botton “sửa” tại sản phẩm cần sửa rồi tiến hành sửa thông tin sau đó “cập nhật” thông tin.
- Xóa: Khi không còn bán sản phẩm của một chuyên mục nào đó chỉcần click xóa sản phẩm thì sản phẩm đó sẽbị xóa theo.