TỔNG QUAN VỀ HỆ THỐNG
Khảo sát hệ thống
1 Tổng quan ngôn ngữ PHP.
PHP, viết tắt của Personal Home Page, là một ngôn ngữ kịch bản chủ yếu được phát triển cho các ứng dụng máy chủ Khi lập trình viên viết chương trình bằng PHP, các lệnh sẽ được thực thi trên server, tạo ra mã HTML, giúp các ứng dụng web hoạt động mượt mà PHP rất phù hợp cho lập trình website nhờ khả năng kết nối dễ dàng với các trang sử dụng HTML trên trình duyệt Do đó, ngôn ngữ này được đánh giá là dễ đọc và trở thành một trong những ngôn ngữ phổ biến mà các lập trình viên cần nắm vững khi bắt đầu sự nghiệp.
Một số ứng dụng của PHP:
PHP chủ yếu được sử dụng để phát triển các chương trình cho hệ thống máy chủ, giúp tối ưu hóa hiệu suất và khả năng xử lý của server Việc thiết lập các chương trình này không chỉ nâng cao trải nghiệm người dùng mà còn đảm bảo tính ổn định và bảo mật cho các ứng dụng web.
Ngôn ngữ lập trình PHP cho phép phát triển các dòng tập lệnh có khả năng chạy các chương trình mà không cần phụ thuộc vào máy chủ, mang lại sự linh hoạt và tiện lợi cho các lập trình viên.
Xây dựng ứng dụng phần mềm với PHP có thể không phải là phương thức tối ưu nhất, nhưng nếu bạn muốn khai thác sâu hơn về khả năng của ngôn ngữ này, PHP – GTK là một lựa chọn tuyệt vời để phát triển phần mềm riêng của bạn.
2 Ưu và nhược điểm của PHP.
- Sử dụng mã nguồn mở: Việc cài đặt cũng như sử dụng ngôn ngữ lập trình
PHP là một ngôn ngữ lập trình dễ sử dụng và hoàn toàn miễn phí, phù hợp cho mọi người Chính vì thế, PHP thường được cài đặt rộng rãi trên các máy chủ web như IIS, Apache và Nginx.
PHP là một ngôn ngữ lập trình mã nguồn mở, dễ sử dụng và được ưa chuộng trong cộng đồng lập trình viên Tính cộng đồng cao của PHP đảm bảo chất lượng và sự hỗ trợ từ nhiều diễn đàn, blog và website trong và ngoài nước, giúp người dùng dễ dàng tiếp cận và nắm bắt kiến thức về ngôn ngữ này.
Hệ thống thư viện phong phú của ngôn ngữ PHP ngày càng phát triển nhờ vào lượng người dùng đông đảo, giúp việc học tập và viết ứng dụng trở nên dễ dàng và nhanh chóng Đặc điểm nổi bật này của PHP không chỉ thu hút lập trình viên mà còn cho phép ngôn ngữ này kết hợp hiệu quả với các cơ sở dữ liệu lớn như Oracle, MySQL và Cassandra.
Ngôn ngữ lập trình PHP, với tính chất mã nguồn mở và sự hỗ trợ từ cộng đồng lập trình viên, mang lại mức độ bảo mật cao khi sử dụng Khi kết hợp với các kỹ thuật bảo mật ở nhiều tầng khác nhau, PHP đảm bảo an toàn và ổn định cho hoạt động của website.
Cấu trúc ngữ pháp là yếu tố quan trọng mà người dùng cần chú ý khi làm việc với ngôn ngữ lập trình PHP Mặc dù PHP không có vẻ ngoài đẹp mắt và gọn gàng như nhiều ngôn ngữ lập trình khác, nhưng nó vẫn có khả năng hoạt động hiệu quả trên các ứng dụng web.
Khảo sát hiện trạng
1 Mục đích yêu cầu của đề tài.
Sau khi nghiên cứu ngôn ngữ PHP và cơ sở dữ liệu MySQL, nhóm chúng tôi đã áp dụng kiến thức thực tế để phát triển một hệ thống quản lý bán hàng điện thoại hiệu quả.
- Đặc điểm của hệ thống như sau:
- + Đối với các tài khoản phân quyền ADMIN: có thể quản lý các danh mục sản phẩm, hóa đơn, tài khoản người dùng.
+ Có chức năng đặt hàng và giỏ hàng.
+ Màu sắc hài hòa, các chức năng rõ ràng, dễ sử dụng.
+ Có tài khoản phân quyền riêng biệt cho từng đối tượng VD: admin, khách hàng, nhân viên,
2 Yêu cầu của hệ thống.
- Thông tin sản phẩm chi tiết, đầy đủ.
- Hệ thống đặt hàng nhanh gọn.
- Giao diện trang web thân thiện, dễ nhìn, dễ sử dụng, màu sắc hài hòa.
- Thông tin được cập nhật và sửa đổi thường xuyên.
- Cho phép tìm kiếm một cách nhanh chóng.
- An toàn bảo mật dữ liệu.
Tổng kết
Từ yêu cầu của hệ thống, nhóm em đưa ra một số yêu cầu chi tiết về hệ thống quản lý bán hàng điện thoại như sau:
- Hiện thị các danh mục quản lý VD: sản phẩm, hóa đơn, tài khoản,…
- Hiển thị chi tiết về thông tin trong danh mục.
- Hiển thị kết quả của việc tìm kiếm, đăng ký, đăng nhập, đặt hàng,…
- Hiển thị các sản phẩm mới cập nhật diễn ra hằng ngày.
- Cho phép đăng ký làm thành viên.
- Cho phép xe, chi tiết sản phẩm
- Cho phép thêm, sửa, xóa, tìm kiếm sản phẩm trong giỏ hàng.
- Cho phép khách hàng thanh toán.
- Quản lý các đơn hàng, người dùng, danh mục sản phẩm, các vấn đề có liên quan đến sản phẩm như: Giá, kiểu dáng,…
- Cập nhật mới các thông tin liên quan thêm sửa xóa sản phẩm.
Yêu cầu của hệ thống mới:
- Hình thức thông tin đa dang và sống động.
- Giao diện thân thiện, dễ nhìn, dễ sử dụng.
- Có khả năng cập nhật, xóa, tìm kiếm một cách nhanh chóng.
Phân tích hệ thống
1 Biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu.
1.1 Mô tả các chức năng.
Danh sách các chức năng yêu cầu của hệ thống quản lý bán hàng điện thoại:
Chức năng tương tác với người dùng:
- Hiển thị tất cả sản phẩm.
- Hiển thị thông tin chi tiết sản phẩm.
- Chức năng đặt hàng: Thêm sửa xóa sản phẩm trong giỏ hàng.
- Hiển thị thông tin tìm kiếm.
Hiển thị chi tiết thông tin sản phẩm:
- Mã sản phẩm: Là khóa chính Đảm bảo tính duy nhât của thông tin.
- Tên sản phẩm: Hiển thị tên sản phẩm.
- Giá sản phẩm: Hiển thị giá của sản phẩm lên bảng sản phẩm.
- Trường ảnh (image): Có thể để là Null Thể hiện hình ảnh minh họa của sản phẩm ( nếu có ).
- Trường mô tả ( description): Hiển thị thông tin mô tả sản phẩm lên trang chi tiết sản phẩm.
Hiển thị thông tin các sản phẩm.
- Email đăng ký: Tên email.
- Họ tên: Họ tên người dùng.
- Mật khẩu: Mật khẩu đăng nhập vào website.
- Địa chỉ: Địa chỉ người nhận hàng.
- Số điện thoại: Số điện thoại liên lạc với khách hàng.
- Trường email: Là email ( tên tài khoản người dùng).
- Họ tên: Họ và tên người dùng.
- Ngày đặt hàng: Là ngày người dùng đặt mua sản phẩm.
- Ngày giao: Là ngày mà bạn nhận được hàng.
- Điah chỉ: Địa chỉ nơi nhận hàng.
- Danh sách sản phẩm đã đặt.
Hiển thị thông tin tìm kiếm: Hiển thị các thông tin theo thông tin tìm kiếm.
Chức năng tương tác với ADMIN:
- Xem thông tin chi tiết đơn đặt hàng.
1.2 Biểu đồ phân rã chức năng hệ thống quản lý bán hàng điện thoại.
Hình 1.2 Biểu đồ phân rã chức năng hệ thống quản lý bán hàng điện thoại.
1.3 Biểu đồ luồng dữ liệu của hệ thống 1.3.a Biểu đồ luồng dữ liệu mức khung cảnh.
Hình 1.3.a Biểu đồ luồng dữ liệu mức khung cảnh.
1.3.b Biểu đồ luồng dữ liệu mức đỉnh của hệ thống (Level 1).
Hình 1.3.b Biểu đồ luồng dữ liệu mức đỉnh Level 1.
1.3.c Biểu đồ luồng dữ liệu mức dưới đỉnh (Level 2).
Hình 1.3.c Biểu đồ luồng dữ liệu mức dưới đỉnh (Level 2)
Hình 1.4 Sơ đồ Use Case
2 Phân tích các chức năng của Khách hàng.
2.1 Chức năng XEM THÔNG TIN SẢN PHẨM.
- Cho phép xem các thông tin liên quan đến sản phẩm.
- Các quá trình xử lý:
+ Module nhập thông tin (Tên hàng, nhóm hàng) của mặt hàng cần xem.
+ Module hiển thị danh mục mặt hàng theo yêu cầu.
- Đầu ra: Danh mục mặt hàng theo yêu cầu.
Danh mục sản phẩm được phân loại theo nhóm và chủng loại, giúp khách hàng dễ dàng lựa chọn và bổ sung mặt hàng vào giỏ hàng (Shopping Cart).
- Đầu vào (Input): Các thông tin liên quan đến sản phẩm ( tên mặt hàng ).
- Các quá trình cần thực hiện ( Processes ):
+ Module liệt kê, hiển thị danh mục mặt hàng theo nhóm, loại, chi tiết.
+ Module thêm mặt hàng vào giỏ hàng.
+ Module loại bỏ mặt hàng trong giỏ hàng.
+ Module hiển thị danh mục mặt hàng hiện có trong giỏ hàng.
- Đầu ra (Output): Danh mục mặt hàng định đặt mua.
2.3 Chức năng ĐĂNG KÝ THÀNH VIÊN.
Khách hàng có thể đăng ký trở thành thành viên thường xuyên của công ty, từ đó được cấp tài khoản người dùng để dễ dàng đăng nhập khi cần thực hiện đặt hàng, thanh toán hoặc nhận hỗ trợ kỹ thuật.
Các thông tin cá nhân của khách hàng.
Username ( tài khoản người dùng )
Họ tên đầy đủ ( full name )
Địa chỉ liên lạc ( address )
Số ĐT ( tel ) và một số thông tin khác
Module nhập thông tin cá nhân của khách hàng.
Module xác nhận thông tin vừa nhập.
Module thông báo cho khách hàng và yêu cầu nhập lại tài khoản người dùng nếu tài khoản đó đã có người đăng ký.
Module lưu thông tin khách hàng vừa đăng ký vào CSDL.
Module thông báo và gửi Email đến khách hàng kết quả đã đăng ký.
Thông báo cho khách hàng và yêu cầu nhập lại tài khoản hoặc Email nếu tài khoản hoặc Email đó đã tồn tại trong CSDL.
Thông báo và yêu cầu nhập lại thông tin trong trường hợp thông tin nhập vào không chính xác, không phù hợp.
Thông báo kết quả đăng ký, mã khách hàng được cấp.
- Tìm kiếm thông tin về bản thân khách hàng.
- Tìm kiếm thông tin về đơn hàng khách hàng đó đã đặt ( theo mã khách hàng ).
- Tìm kiếm thông tin về sản phẩm ( theo loại, nhóm sản phẩm ).
Từ hoặc cụm từ cần tìm kiếm
Dạng tìm kiếm ( tìm kiếm khách hàng, đơn hàng hay sản phẩm ).
Module tìm kiếm trong CSDL.
Module hiển thị kết quả tìm kiếm
- Đầu ra: Kết quả tìm kiếm.
- Sau khi khách hàng chọn những sản phẩm cần mua đặt vào giỏ hàng, khách hàng có thể đặt mua hàng chính thức thông qua Website.
Danh mục mặt hàng trong giỏ hàng.
Thông tin cá nhân khách hàng ( Mã KH, Họ tên, mật khẩu, …)
Thông tin liên quan đến việc mua hàng bao gồm ngày mua, thời điểm giao hàng, số lượng từng mặt hàng đặt, hình thức thanh toán, địa điểm nhận hàng, tên người nhận, tổng số tiền và tỷ giá USD/VND.
- Các quá trình thực hiện:
Module hiển thị đầy đủ thông tin liên quan đến sản phẩm khách hàng đã chọn.
Module tính tổng tiền hàng theo đơn giá và tỷ giá của ngày đặt mua.
Module nhập thông tin đơn hàng vào CSDL.
Module kiểm tra xem khách hàng đã đăng ký là khách hàng thường xuyên của công ty chưa.
Module cập nhật đơn hàng vào CSDL.
Module thông báo cho khách hàng về việc đặt hàng thành công, hướng dẫn các thủ tục thanh toán và nhận hàng, cũng như cung cấp thông tin về cách đặt hàng Ngoài ra, module còn thông báo trường hợp đặt hàng không thành công để khách hàng nắm rõ.
Thông báo tình trạng đặt hàng sẽ được gửi đến khách hàng, bao gồm thông tin về việc đặt hàng thành công hoặc không thành công Bên cạnh đó, các thủ tục thanh toán và nhận hàng sẽ được hướng dẫn chi tiết Trong trường hợp thông tin đặt hàng không chính xác, khách hàng sẽ nhận được hướng dẫn để thực hiện việc đặt hàng lại.
2.6 Chức năng PHẢN HỒI – LIÊN HỆ.
- Cho phép người dùng góp ý, khiếu nại, phản hồi… một số thông tin liên quan đến sản phẩm.
- Đầu vào: Các thông tin góp ý, phản hồi dưới dạng Email.
Module nhập thông tin góp ý, phản hồi.
Module lưu thông tin góp ý và CSDL.
- Đầu ra: Thông tin chi tiết về góp ý, phản hồi chờ nhà quản trị trả lời.
Phân tích cơ sở dữ liệu
1 Mô hình thực thể quan hệ.
2 Một số bảng thể hiện các thành phần dữ liệu.
Tên cơ sở dữ liệu: mobile_store 2.1 Bảng categories
# Tên Kiểu dữ liệu Mô tả
2 name varchar(255) Tên danh mục
3 slug varchar(255) Tên danh mục(không dấu)
4 type varchar(50) Loại sản phẩm
# Tên Kiểu dữ liệu Mô tả
2 user_id int(11) Mã người dùng
3 total_money float Tổng tiền
4 created_at varchar Được tạo bởi
8 phone varchar(255) Số điện thoại
2 order_id int(11) Mã yêu cầu
3 product_id int(11) Mã sản phẩm
4 price_buy float Giá tiền
6 created_at varchar(255) Được tạo bởi
2 name varchar(255) Tên sản phẩm
3 slug varchar(255) Tên rút gọn
4 description text Mô tả sản phẩm
6 images text Ảnh sản phẩm
8 price_sale decimal(10,2) Giá khuyến mại
9 category_id int(11) Mã danh mục
2 name varchar(255) Tên người dùng
6 phone varchar(255) Số điện thoại
7 supperAdmin tinyint(1) Phân quyền quản trị viên
8 staff tinyint(1) Phân quyền nhân viên
THIẾT KẾ GIAO DIỆN VÀ THUẬT TOÁN
Một số hình ảnh giao diện
1 Giao diện trang index.php ( trang chủ ).
2 Giao diện trang login.php.
4 Giao diện cho phép khách hàng chọn hàng.
5 Giao diện trang xuất Hóa đơn.
6 Giao diện trang Liên hệ.
Thiết kế mã ( Code Design )
1 Sơ đồ khối chức năng chọn và đặt hàng.
Xem danh mục mặt hàng
Liệt kê danh mục mặt hàng
SP đã tồn tại chưa ?
Thêm hàng vào giỏ hàng DM
2 Sơ đồ khối chức năng Thanh toán
Xem giỏ hàng Đăng nhập
Lưu đơn hàng vào CSDL hàngĐơn ĐK thành viên
3 Chức năng ĐĂNG KÝ THÀNH VIÊN.
Nhập thông tin cá nhân
Lưu thành viên vào Khách
Xác nhận thanh toán và lưu vào CSDL
Gửi mail thông báo thanh toán Đơn hàng
4 Sơ đồ khối chức năng LIÊN HỆ.
Nhập thông tin phản hồi
CSDLLưu thông tin vào CSDL
5 Sơ đồ chức năng TÌM KIẾM.
Nhập thông tin cần tìm
Chọn đối tượng cần tìm
Chủng loại Đơn hàng Khách hàng Tin tức
Những điểm chương trình làm được
1 Đối với người sử dụng, chương trình đã đưa ra được:
- Các cách tìm kiếm, tra cứu theo các chủ đề khác nhau, kết hợp nhiều chủ đề theo ý khách hàng.
- Xem chi tiết thông tin sản phẩm thương mại và đầy đủ các thông tin về hệ thống Quản lý bán hàng điện thoại.
- Cho phép khách hàng đăng ký thông tin để thực hiện việc mua sản phẩm.
- Kiểm tra tính hợp lệ của khách hàng đăng nhập hệ thống.
- Có thể chạy trên nhiều hệ điều hành.
2 Đối với người quản trị, chương trình đã đưa ra được:
- Xem thông tin của các đề mục cần quản lý như: Khách hàng, sản phẩm, đơn đặt hàng…
- Đưa ra các form để nhập dữ liệu mới của các loại tư liệu.
- Có thể sửa đổi, cập nhật các dữ liệu trên.
- Trong việc thêm mới sản phẩm chương trình tự động sinh mã sản phẩm, điều này tiện lợi cho người quản trị và dữ liệu luôn đồng nhất.
- Các chức năng này được thực hiện thông qua giao diện web.
- Có thể chạy trên nhiều hệ điều hành.
Những điểm chưa làm được và hướng giải quyết
- Việc kết nối giữa server và cơ sở dữ liệu còn chậm.
- Chưa có tính tăng bình luận, tương tác giữa người dùng với nhau.
- Chưa có chức năng thanh toán bằng hình thức online.
- Chưa có chức năng kiểm kê số lượng của từng danh mục.