Bối cảnh và vấn đề nghiên cứu
Đề tài khóa luận tốt nghiệp "Xây dựng website bán sách" do sinh viên khoa Công nghệ, Trường Đại học Công nghệ Đồng Nai thực hiện vào tháng 08 năm 2020 dưới sự hướng dẫn của ThS. Lê Thị Trang. Nghiên cứu thuộc lĩnh vực Công nghệ thông tin và Kỹ thuật phần mềm, tập trung vào việc thiết kế và xây dựng một hệ thống thương mại điện tử phục vụ hoạt động kinh doanh trực tuyến.
Lý do chọn đề tài
Trong bối cảnh khoa học kỹ thuật và Internet phát triển mạnh mẽ, việc ứng dụng công nghệ thông tin vào công tác quản lý và giao dịch thay thế các phương thức thủ công trở thành nhu cầu cấp thiết đối với các doanh nghiệp và cửa hàng vừa và nhỏ. So với kinh doanh truyền thống, thương mại điện tử giúp tối ưu hóa chi phí và đạt hiệu quả vận hành cao hơn. Lợi thế từ mạng Internet cho phép truyền tải thông tin sản phẩm nhanh chóng, kết hợp với các khâu thanh toán qua ngân hàng, bưu điện và mạng lưới chuyển phát tận nơi. Mặc dù trên thế giới đã có nhiều hệ thống bán sách trực tuyến, nhưng tại thời điểm nghiên cứu, mô hình này vẫn chưa thực sự phổ biến rộng rãi và khái niệm thương mại điện tử vẫn còn tương đối mới mẻ đối với nhiều đối tượng người dùng trong nước. Do đó, việc xây dựng một website bán sách trực tuyến dựa trên mô hình kiến trúc phân lớp là giải pháp được lựa chọn nhằm đáp ứng nhu cầu thực tiễn.
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu cốt lõi của khóa luận là xây dựng một trang web động bán sách trực tuyến hoàn chỉnh nhằm kết nối người tiêu dùng và nhà quản trị. Các nhiệm vụ nghiên cứu được phân định thành ba nội dung:
- Nghiên cứu lý thuyết về thương mại điện tử, cách thức vận hành của mô hình kiến trúc MVC (Model - View - Controller), giao thức Client - Server và cơ chế lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu MySQL Server.
- Ứng dụng ngôn ngữ lập trình PHP kết hợp cơ sở dữ liệu MySQL Server để thiết kế và lập trình giao diện, xử lý nghiệp vụ cho trang web.
- Phân tích thiết kế hệ thống bằng ngôn ngữ mô hình hóa hợp nhất (UML), xây dựng các biểu đồ ca sử dụng, biểu đồ hoạt động, biểu đồ tuần tự, biểu đồ trạng thái và cơ sở dữ liệu logic phục vụ toàn bộ chu trình mua bán và quản lý hàng hóa.
Đối tượng và phạm vi nghiên cứu
- Đối tượng sử dụng hệ thống: Được phân định thành hai nhóm chính:
- Phía khách hàng: Bất kỳ người dùng nào có nhu cầu mua sắm trực tuyến, bao gồm người làm việc trong lĩnh vực công nghệ thông tin, thương nhân, phóng viên, kỹ sư, nhân viên tiếp thị, cán bộ công nhân viên chức, sinh viên và học sinh.
- Phía quản trị: Nhà quản lý hệ thống, được cung cấp giao diện quản trị trực quan, đơn giản, không đòi hỏi phải có trình độ chuyên sâu về công nghệ thông tin.
- Phạm vi không gian và giới hạn dịch vụ:
- Về chức năng bán hàng và giao nhận: Chương trình chỉ thực hiện đầy đủ các chức năng vận hành trong phạm vi cùng một thành phố. Do hạn chế về khoảng cách địa lý, việc cung ứng sản phẩm được giới hạn trong một quốc gia/lãnh thổ thông qua đại lý hoặc chi nhánh gần nhất để giao hàng.
- Về chức năng tin tức: Cung cấp thông tin trực tuyến 24/24 giờ về công nghệ thông tin trong nước và quốc tế trên phạm vi toàn cầu.
- Về dịch vụ tư vấn, hỗ trợ khách hàng: Triển khai trực tuyến trên phạm vi toàn cầu nhằm giải đáp thắc mắc và định hướng xu hướng tiêu dùng sách.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và công nghệ nền tảng
- Thương mại điện tử: Khóa luận viện dẫn định nghĩa thương mại điện tử theo nghĩa rộng trong Luật mẫu về Thương mại điện tử của Ủy ban Liên Hợp Quốc về Luật Thương mại Quốc tế (UNCITRAL), bao quát toàn bộ các quan hệ phát sinh từ hoạt động thương mại bất kể có hợp đồng hay không (mua bán hàng hóa, thỏa thuận phân phối, đại diện thương mại, ủy thác, cho thuê, đầu tư, cấp vốn, ngân hàng, vận chuyển đường biển, đường hàng không, đường bộ...). Theo nghĩa hẹp, thương mại điện tử là các hoạt động thương mại được tiến hành trên mạng máy tính mở như Internet (chuyển tiền điện tử, mua bán cổ phiếu, đấu giá thương mại, giao nhận nội dung số, tiếp thị trực tuyến). Tác giả phân tích lợi ích của thương mại điện tử đối với ba chủ thể: doanh nghiệp (tiết kiệm chi phí thuê cửa hàng và nhân sự, sau khi xây dựng chỉ tốn khoảng 10% chi phí duy trì vận hành mỗi tháng, hỗ trợ marketing toàn cầu), người tiêu dùng (vượt qua rào cản không gian và thời gian, tiếp cận nhiều nhà cung cấp) và xã hội (tạo môi trường làm việc mới, thúc đẩy đổi mới kinh tế).
- Ngôn ngữ lập trình PHP: PHP (Hypertext Preprocessor) là ngôn ngữ lập trình kịch bản chạy ở phía máy chủ (server-side) nhằm tạo ra mã HTML trả về cho máy khách (client). Khi có yêu cầu gửi tới Web Server, máy chủ sẽ triệu gọi PHP Engine để thông dịch mã nguồn PHP và phản hồi kết quả hiển thị cho trình duyệt.
- Hệ quản trị cơ sở dữ liệu MySQL: Là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ SQL, hỗ trợ kết nối ODBC. MySQL có khả năng chạy trên nhiều nền tảng hệ điều hành khác nhau như Windows (Win32), Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris. Các đặc tính kỹ thuật bao gồm: tốc độ truy vấn cao, dễ cấu hình và quản trị, miễn phí sử dụng, hỗ trợ đa người dùng truy cập đồng thời, phân quyền bảo mật chặt chẽ và có cộng đồng hỗ trợ kỹ thuật rộng lớn.
- Mô hình kiến trúc MVC: Được Trygve Reenskaug giới thiệu vào cuối thập niên 80, phân chia ứng dụng thành 3 thành phần chính:
- Model: Quản lý dữ liệu, quy tắc logic và các tương tác trực tiếp với cơ sở dữ liệu, đồng thời đảm nhiệm xử lý UI logic.
- View: Đảm nhận nhiệm vụ trình diễn dữ liệu thành các định dạng giao diện người dùng có thể đọc được (như HTML, XML, JSON).
- Controller: Tiếp nhận yêu cầu từ người dùng (user request), quyết định phương thức xử lý và điều phối dữ liệu qua lại giữa Model và View.
| Thành phần |
Vai trò chính trong hệ thống |
Ưu điểm theo phân tích của tác giả |
Nhược điểm theo phân tích của tác giả |
| Model |
Quản lý cơ sở dữ liệu, quy tắc nghiệp vụ và UI logic |
Độc lập với giao diện, dễ bảo trì logic dữ liệu |
Gánh vác quá nhiều tác vụ khiến cấu trúc dễ phát sinh lỗi |
| View |
Trình diễn dữ liệu ra giao diện hiển thị cho người dùng |
Hỗ trợ tạo nhiều kiểu hiển thị khác nhau, tránh lặp mã |
Phụ thuộc hoàn toàn vào Model và Controller, khó kiểm thử độc lập |
| Controller |
Tiếp nhận yêu cầu người dùng và điều phối luồng xử lý |
Giúp hệ thống tuân thủ nguyên lý tách biệt mối quan tâm (SoC) |
Phải duy trì khối lượng mã lớn để tiếp nhận và phân loại request |
Phương pháp nghiên cứu
- Phương pháp lý thuyết: Thu thập, tổng hợp tài liệu về kiến trúc MVC, mô hình Client - Server và cơ chế lưu trữ của hệ quản trị cơ sở dữ liệu MySQL.
- Phương pháp phân tích và thiết kế: Ứng dụng ngôn ngữ mô hình hóa hợp nhất UML (chuẩn của tổ chức OMG) để mô hình hóa toàn bộ cấu trúc tĩnh và hành vi động của hệ thống.
- Phương pháp lập trình thực nghiệm: Sử dụng PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL Server để xây dựng trang web động và cơ sở dữ liệu quan hệ hoàn chỉnh.
Thiết kế và triển khai
Kiến trúc và công nghệ hệ thống
Hệ thống được thiết kế theo mô hình 3 lớp của MVC, hoạt động trên nền tảng máy khách - máy chủ (Client - Server). Ngôn ngữ lập trình chính là PHP xử lý ở phía server, kết nối tới hệ quản trị cơ sở dữ liệu MySQL Server. Về khâu bảo mật người dùng, thông tin mật khẩu của tài khoản được mã hóa bằng thuật toán băm MD5 trước khi lưu trữ vào bảng cơ sở dữ liệu.
Mô hình hóa hướng đối tượng bằng UML
Hệ thống xác định 4 nhóm đối tượng bài toán hướng tới (khách vãng lai, thành viên, manager, admin) và chi tiết hóa thành 7 tác nhân (Actors) tham gia vào chu trình vận hành:
- Khách thăm: Người xem ghé thăm website, tra cứu và xem chi tiết sản phẩm, thực hiện đăng ký tài khoản.
- Khách hàng: Thành viên đã đăng ký, thực hiện đăng nhập, đăng xuất, tìm kiếm, bình luận, thêm vào giỏ hàng và đặt mua hàng.
- Người quản trị: Điều hành, theo dõi hoạt động chung của hệ thống, quản lý tài khoản nhân viên và danh mục sản phẩm.
- Bộ phận kinh doanh: Tiếp nhận đơn đặt hàng từ khách, kiểm tra thông tin và liên hệ với khách hàng để xác nhận đơn.
- Bộ phận kho: Kiểm tra lượng hàng tồn kho, tiếp nhận sách mới nhập và xuất hàng theo đơn.
- Bộ phận nhập hàng: Thực hiện thủ tục và quy trình nhập hàng mới khi kho có nhu cầu bổ sung.
- Bộ phận chuyển phát hàng: Tiếp nhận hàng hóa từ bộ phận kho và thực hiện vận chuyển giao sách đến địa chỉ của khách hàng.
Khóa luận triển khai hệ thống biểu đồ UML hoàn chỉnh:
- Biểu đồ Use Case: Phân rã Use Case người dùng (Hình 3) và người quản trị (Hình 4); biểu đồ Use Case chi tiết đăng ký - đăng nhập (Hình 5), tìm kiếm (Hình 6 với các quan hệ
<<extend>> tìm theo đơn giá, tên, loại sách), nhập hàng (Hình 7), xuất hàng (Hình 8), mua hàng (Hình 9 với các quan hệ thêm sản phẩm, xóa sản phẩm, số lượng, tổng tiền).
- Biểu đồ hoạt động (Activity Diagrams): 7 biểu đồ cho các tiến trình: Đăng ký thành viên (Hình 10), Đăng nhập hệ thống (Hình 11), Tìm kiếm sản phẩm (Hình 12), Xem sản phẩm (Hình 13), Xem giỏ hàng (Hình 14), Nhập hàng vào kho (Hình 15), Nhận hóa đơn và giao hàng (Hình 16).
- Biểu đồ tuần tự (Sequence Diagrams): 5 biểu đồ mô tả tương tác theo thời gian: Đăng ký thành viên (Hình 17), Đăng nhập (Hình 18), Tìm kiếm sản phẩm (Hình 19), Nhập hàng (Hình 20), Giao hàng (Hình 21).
- Biểu đồ trạng thái (State Machine Diagrams): 5 biểu đồ trạng thái: Đăng ký thành viên (Hình 22), Đăng nhập (Hình 23), Tìm kiếm sản phẩm (Hình 24), Nhập hàng (Hình 25), Giao hàng (Hình 26).
Thiết kế cơ sở dữ liệu logic
Cơ sở dữ liệu của hệ thống bao gồm 10 bảng thực thể chính với cấu trúc trường, kiểu dữ liệu và ràng buộc toàn vẹn được thiết kế chi tiết:
| Tên bảng CSDL |
Tên trường |
Diễn giải |
Kiểu dữ liệu |
Ràng buộc |
| Chi tiết đơn hàng |
Id |
Số thứ tự dòng |
int |
Khóa chính |
|
Id_don_hang |
Số thứ tự đơn hàng |
int |
Khóa ngoại |
|
Id_sach |
Số thứ tự của sách |
varchar |
- |
|
so_luong |
Số lượng mua |
varchar |
- |
|
Don_gia |
Giá tiền từng cuốn |
varchar |
- |
|
Thanh_tien |
Thành tiền |
varchar |
- |
| Đánh giá |
id |
Số thứ tự dòng |
int |
Khóa ngoại |
|
id_sach |
Mã định danh sách |
int |
Khóa chính |
|
Tai_khoan |
Tên tài khoản bình luận |
varchar |
- |
|
Noi_dung |
Nội dung nhận xét |
text |
- |
|
Binh_chon_sao |
Số sao bình chọn |
int |
- |
|
Ngay_binh_luan |
Thời gian gửi bình luận |
datetime |
- |
| Đơn hàng |
Id_don_hang |
Mã đơn hàng |
int |
Khóa chính |
|
Tong_tien |
Tổng giá trị đơn hàng |
int |
- |
|
Ngay_dat |
Ngày đặt hàng |
datetime |
- |
|
Tai_khoan |
Tài khoản đặt hàng |
varchar |
- |
|
Ho_ten_nguoi_nhan |
Họ tên người nhận hàng |
varchar |
- |
|
So_dien_thoai_nguoi_nhan |
Số điện thoại liên hệ |
varchar |
- |
|
Dia_chi_nguoi_nhan |
Địa chỉ giao nhận sách |
varchar |
- |
|
Trang_thai |
Trạng thái xử lý đơn hàng |
tinyint |
- |
| Liên hệ |
Id_lien_he |
Mã liên hệ góp ý |
int |
Khóa chính |
|
Ho_ten |
Họ tên người gửi |
varchar |
- |
|
Email |
Thư điện tử liên lạc |
varchar |
- |
|
Noi_dung |
Nội dung phản hồi |
text |
- |
| Loại sách |
id_loai_sach |
Mã thể loại sách |
int |
Khóa chính |
|
Ten_loai_sach |
Tên danh mục thể loại |
varchar |
- |
| Tài khoản người dùng |
Id |
Thứ tự tài khoản |
int |
Khóa chính |
|
Ho_ten |
Họ tên người dùng |
varchar |
- |
|
Tai_khoan |
Tên đăng nhập |
varchar |
- |
|
email |
Địa chỉ email |
varchar |
- |
|
Mat_khau |
Mật khẩu (bảo mật MD5) |
varchar |
- |
|
Cap_do |
Cấp độ phân quyền hệ thống |
int |
- |
| Nhà sản xuất |
id_nha_san_xuat |
Mã nhà xuất bản/sản xuất |
int |
Khóa chính |
|
Ten_nha_san_xuat |
Tên nhà xuất bản/sản xuất |
varchar |
- |
|
Dia_chi |
Địa chỉ liên lạc |
varchar |
- |
|
Dien_thoai |
Số điện thoại liên hệ |
varchar |
- |
|
email |
Thư điện tử |
varchar |
- |
| Thông tin sách |
id_sach |
Mã định danh cuốn sách |
int |
Khóa chính |
|
Ten_sach |
Nhan đề sách |
varchar |
- |
|
Id_tac_gia |
Mã tác giả viết sách |
int |
Khóa ngoại |
|
Id_loai_sach |
Mã thể loại sách |
int |
Khóa ngoại |
|
Id_nha_san_xuat |
Mã nhà xuất bản/sản xuất |
int |
Khóa ngoại |
|
Don_gia |
Giá bán thực tế |
int |
- |
|
Gia_bia |
Giá gốc niêm yết |
int |
- |
|
Gioi_thieu_sach |
Nội dung tóm tắt/giới thiệu |
text |
- |
|
Hinh |
Đường dẫn ảnh bìa sách |
varchar |
- |
|
Noi_bat |
Đánh dấu sách nổi bật |
tinyint |
- |
|
So_sao |
Điểm xếp hạng sao |
tinyint |
- |
|
So_trang |
Tổng số trang sách |
int |
- |
|
Ngay_xuat_ban |
Ngày phát hành xuất bản |
varchar |
- |
|
Kich_thuoc |
Quy cách kích thước |
varchar |
- |
|
Sku |
Mã đơn vị lưu kho (SKU) |
varchar |
- |
|
Trong_luong |
Trọng lượng sản phẩm |
varchar |
- |
| Sách yêu thích |
id |
Số thứ tự dòng |
int |
Khóa chính |
|
Id_nguoi_dung |
Mã tài khoản thành viên |
int |
- |
|
Id_sach |
Mã cuốn sách yêu thích |
int |
- |
| Tác giả |
Id_tac_gia |
Mã tác giả |
int |
Khóa chính |
|
Ten_tac_gia |
Tên tác giả |
varchar |
- |
|
Ngay_sinh |
Ngày tháng năm sinh |
date |
- |
|
Gioi_thieu |
Tiểu sử tóm tắt tác giả |
text |
- |
Nội dung chính theo từng chương
CHƯƠNG 1: MỞ ĐẦU
Chương 1 thiết lập các cơ sở xuất phát điểm của đề tài. Tác giả nêu rõ tính cấp thiết của việc áp dụng tin học hóa vào quy trình quản lý và kinh doanh trực tuyến nhằm nâng cao năng lực cạnh tranh cho doanh nghiệp. Nội dung chương phân tích cụ thể các nhóm đối tượng sử dụng hệ thống từ khách hàng đại chúng (học sinh, sinh viên, cán bộ công chức, kỹ sư, nhà báo, người làm công nghệ) đến quản trị viên. Phần giới hạn và phạm vi nghiên cứu chỉ ra rằng website được xây dựng hướng đến các đơn vị kinh doanh sách và hàng tiêu dùng; trong đó xác định rõ ranh giới chức năng hoàn chỉnh trong phạm vi một thành phố, dịch vụ cung ứng bán sách giới hạn trong một quốc gia/lãnh thổ, đồng thời dịch vụ hỗ trợ trực tuyến và bản tin công nghệ 24h được định hướng hoạt động toàn cầu. Về mặt ý nghĩa, đề tài vừa hỗ trợ công tác quản lý và mua sắm tiết kiệm chi phí, vừa giúp tác giả hoàn thành khóa luận tốt nghiệp ngành công nghệ thông tin.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Nội dung chương 2 trình bày có hệ thống các lý thuyết nền tảng phục vụ xây dựng trang web. Khái niệm thương mại điện tử được định nghĩa theo cả nghĩa rộng (theo Luật mẫu UNCITRAL) và nghĩa hẹp (thương mại trên Internet), kèm theo phân tích lợi ích kinh tế cho doanh nghiệp (chỉ tốn khoảng 10% chi phí duy trì hàng tháng so với cửa hàng truyền thống), người tiêu dùng và xã hội. Tiếp đó, tác giả giải thích cơ chế thông dịch của ngôn ngữ kịch bản PHP thông qua PHP Engine trên nền Web Server để tạo mã HTML trả về máy khách. Hệ quản trị cơ sở dữ liệu quan hệ MySQL được giới thiệu với các ưu thế về tốc độ, tính kinh tế, tính linh hoạt trên nhiều hệ điều hành và hỗ trợ chuẩn kết nối ODBC. Đặc biệt, chương này đi sâu phân tích kiến trúc MVC của Trygve Reenskaug với tương tác tam giác giữa Model, View và Controller, làm rõ các ưu điểm nổi bật như hỗ trợ phát triển theo nhóm, tuân thủ nguyên lý tách biệt mối quan tâm (SoC), thân thiện SEO qua URL Routing, bên cạnh các nhược điểm về sự phức tạp đối với phần mềm nhỏ và việc Model phải gánh vác quá nhiều tác vụ UI logic lẫn quy tắc dữ liệu.
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Đây là chương trọng tâm về mặt kỹ thuật của khóa luận, thực hiện bài toán tin học hóa chu trình bán sách cho 4 nhóm đối tượng người dùng thông qua 5 nhóm chức năng lớn:
- Đăng ký và đăng nhập thành viên.
- Xem thông tin (giỏ hàng, đơn hàng, chi tiết sản phẩm).
- Quản lý danh mục sản phẩm và hệ thống.
- Nhập hàng, xuất hàng và cập nhật dữ liệu kho lên website.
- Mua hàng và tiếp nhận xử lý đơn đặt hàng.
Hệ thống được mô hình hóa hướng đối tượng bằng chuẩn UML của tổ chức OMG, phân định trách nhiệm chi tiết của 7 tác nhân (khách thăm, khách hàng, người quản trị, bộ phận kinh doanh, bộ phận kho, bộ phận nhập hàng, bộ phận chuyển hàng). Tác giả tiến hành đặc tả hoàn chỉnh 7 Use Case then chốt: Đăng ký thành viên, Đăng nhập hệ thống, Tìm kiếm sản phẩm, Xem thông tin sản phẩm, Thêm vào giỏ hàng, Kiểm tra đơn hàng, Nhận và giao hàng (nêu rõ tác nhân, mô tả, tiền điều kiện, hậu điều kiện, luồng sự kiện chính và các luồng sự kiện rẽ nhánh). Chương này cung cấp hệ thống sơ đồ UML dày đặc gồm 2 biểu đồ phân rã chức năng, 5 biểu đồ Use Case chi tiết, 7 biểu đồ hoạt động, 5 biểu đồ tuần tự và 5 biểu đồ trạng thái. Cuối chương là thiết kế cơ sở dữ liệu logic với bảng tổng thể cơ sở dữ liệu (Hình 27) và cấu trúc chi tiết của 10 bảng thực thể.
CHƯƠNG 4: ỨNG DỤNG MINH HỌA
Chương 4 mô tả toàn bộ giao diện và chức năng của phần mềm đã cài đặt trên thực tế, được chia thành hai phân hệ độc lập:
- Chức năng trang người dùng:
- Giao diện trang chủ (Hình 28, Hình 29): Trình bày bố cục danh mục sách, các đầu sách mới và các sản phẩm nổi bật.
- Giao diện liên hệ (Hình 30): Form tiếp nhận thông tin phản hồi, góp ý của người dùng gồm họ tên, email và nội dung gửi ban quản trị.
- Giao diện đăng nhập và đăng ký (Hình 31, Hình 32): Form tiếp nhận tài khoản, mật khẩu, thông tin cá nhân thành viên mới.
- Giao diện thông tin giỏ hàng (Hình 33): Hiển thị danh sách sách đã chọn, số lượng, đơn giá, thành tiền, cho phép cập nhật số lượng hoặc xóa sản phẩm.
- Giao diện chi tiết sách (Hình 34): Hiển thị chi tiết bìa sách, tên sách, đơn giá, giá bìa, quy cách kích thước, trọng lượng, số trang, mã SKU và phần giới thiệu tóm tắt.
- Giao diện nhận xét và đánh giá (Hình 35): Cho phép người dùng xếp hạng số sao và gửi nội dung bình luận về cuốn sách.
- Chức năng trang quản trị (Admin):
- Giao diện tổng quan trang quản trị (Hình 36): Màn hình điều hành chung của người quản lý.
- Giao diện trang quản lý đơn hàng (Hình 37, Hình 38, Hình 39): Màn hình liệt kê toàn bộ đơn hàng, lọc danh sách đơn hàng mới cần xử lý và xem giao diện chi tiết từng đơn hàng.
- Giao diện trang quản lý sách (Hình 40, Hình 41, Hình 42): Màn hình liệt kê danh sách sách hiện có trong hệ thống, giao diện chỉnh sửa thông tin sách có sẵn và giao diện biểu mẫu thêm mới một cuốn sách.
- Giao diện trang quản lý tác giả (Hình 43, Hình 44, Hình 45): Màn hình liệt kê các tác giả, giao diện chỉnh sửa thông tin tác giả và biểu mẫu thêm mới tác giả vào cơ sở dữ liệu.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Phần kết luận tóm lược lại các kết quả đã đạt được của đề tài sau quá trình phân tích và xây dựng ứng dụng, tổng kết các ưu điểm và hạn chế tồn tại của hệ thống, đồng thời định hướng một số nội dung nghiên cứu phát triển tiếp theo nhằm hoàn thiện ứng dụng bán sách trực tuyến.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Xây dựng hoàn chỉnh ứng dụng website bán sách trực tuyến vận hành theo mô hình kiến trúc MVC ba lớp với ngôn ngữ PHP và cơ sở dữ liệu MySQL.
- Thiết kế hệ thống mô hình hóa UML toàn diện cho ứng dụng thương mại điện tử, bao gồm:
- 02 sơ đồ phân rã chức năng (phía người dùng và phía quản trị).
- 05 biểu đồ Use Case chi tiết (Đăng ký/Đăng nhập, Tìm kiếm, Nhập hàng, Xuất hàng, Mua hàng).
- 07 biểu đồ hoạt động mô tả chi tiết các tiến trình nghiệp vụ.
- 05 biểu đồ tuần tự và 05 biểu đồ trạng thái mô tả tương tác theo thời gian và sự chuyển dịch trạng thái của các tác vụ cốt lõi.
- Thiết lập cơ sở dữ liệu quan hệ chuẩn hóa mức logic gồm 10 bảng thực thể, thể hiện đầy đủ các trường dữ liệu, kiểu dữ liệu và mối quan hệ khóa chính, khóa ngoại (
id_tac_gia, id_loai_sach, id_nha_san_xuat, id_don_hang, id_sach).
- Hiện thực hóa và minh họa trực quan 18 màn hình giao diện thực tế (từ Hình 28 đến Hình 45), chia tách rõ ràng giữa phân hệ tương tác của khách hàng và phân hệ quản trị nghiệp vụ (quản lý đơn hàng, quản lý sách, quản lý tác giả).
Giải pháp và kiến nghị của tác giả
- Tác giả đề xuất giải pháp ứng dụng mô hình MVC nhằm chuẩn hóa việc phát triển ứng dụng web, cho phép chia tách độc lập giữa phần giao diện hiển thị (View), phần logic dữ liệu (Model) và phần tiếp nhận điều phối (Controller), giúp việc bảo trì hoặc nâng cấp giao diện không làm ảnh hưởng đến cấu trúc cơ sở dữ liệu bên dưới.
- Đề xuất phân rã quy trình xử lý đơn hàng nội bộ thành các bộ phận chức năng chuyên biệt (kinh doanh xác nhận đơn, kho kiểm tra và xuất hàng, nhập hàng bổ sung tồn kho, chuyển phát giao nhận hàng) thay cho việc xử lý dồn cục ở các cửa hàng bán sách truyền thống.
- Kiến nghị doanh nghiệp chuyển đổi từ bán hàng thủ công sang nền tảng thương mại điện tử để tiết giảm chi phí mặt bằng và nhân sự, tận dụng lợi thế chi phí duy trì vận hành website ước tính chỉ khoảng 10% mỗi tháng.
Đóng góp so với các nghiên cứu trước
- Tác giả tự nêu việc xây dựng thành công một website thương mại điện tử thân thiện, tạo công cụ trực tuyến thay thế hiệu quả cho phương thức bán sách và quản lý đơn hàng bằng sổ sách thủ công.
- Cung cấp một tài liệu phân tích thiết kế hệ thống đầy đủ và trực quan bằng chuẩn UML cho bài toán thương mại điện tử quy mô vừa và nhỏ, làm cơ sở thực hành cho sinh viên công nghệ thông tin.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận trong văn bản
- Giới hạn về phạm vi địa lý vận hành: Hệ thống chỉ thực hiện được đầy đủ các chức năng giao nhận và vận hành ở phạm vi trong cùng một thành phố.
- Giới hạn về dịch vụ cung ứng hàng hóa: Do hạn chế về khoảng cách địa lý, việc cung ứng sản phẩm bị giới hạn trong phạm vi một quốc gia/lãnh thổ và phụ thuộc vào hệ thống đại lý hoặc chi nhánh gần nhất để giao hàng.
- Nhược điểm kiến trúc: Mô hình MVC áp dụng trong hệ thống bộc lộ sự bất cập trong phân bổ công việc khi lớp Model phải gánh vác quá nhiều tác vụ (xử lý cơ sở dữ liệu, quy tắc logic nghiệp vụ và cả UI logic cho lớp View), dẫn tới việc Model dễ phát sinh lỗi và làm phức tạp quá trình kiểm thử độc lập đối với View.
- Cơ chế thanh toán: Hệ thống chưa tích hợp cổng thanh toán trực tuyến tự động mà vẫn dựa vào phương thức giao nhận hàng tận nơi kết hợp xác nhận thủ công qua bưu điện và ngân hàng.
- Tối ưu hóa kiểu dữ liệu CSDL: Một số trường dữ liệu số và ngày tháng trong bảng logic được thiết kế lưu dưới dạng chuỗi ký tự (
varchar) như so_luong, Don_gia, Thanh_tien trong bảng chi tiết đơn hàng, hoặc Ngay_xuat_ban trong bảng thông tin sách, chưa được tối ưu hóa sang các kiểu số nguyên hoặc định dạng ngày chuẩn.
Hướng nghiên cứu tiếp
Theo nội dung mục lục và phần kết luận đề tài, tác giả xác định hướng phát triển tập trung vào việc:
- Khắc phục các nhược điểm còn tồn tại trong cấu trúc xử lý của hệ thống.
- Mở rộng quy mô hoạt động và phạm vi địa lý phục vụ của website ra ngoài giới hạn một thành phố.
- Nâng cấp và hoàn thiện thêm các tính năng tiện ích cho cả phân hệ người dùng và phân hệ quản trị.
Giá trị tham khảo
Khóa luận là nguồn tài liệu hữu ích cho:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Đặc biệt là sinh viên đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài xây dựng website thương mại điện tử, bán hàng trực tuyến bằng ngôn ngữ PHP và hệ quản trị MySQL.
- Người học cần tài liệu thực hành phân tích thiết kế hướng đối tượng: Khóa luận cung cấp mẫu tham khảo cụ thể về cách lập tài liệu phân tích hệ thống bằng chuẩn UML, bao gồm cách xác định tác nhân, đặc tả Use Case theo mẫu chuẩn (tiền điều kiện, luồng chính, luồng rẽ nhánh, hậu điều kiện) và cách vẽ các biểu đồ ca sử dụng, biểu đồ hoạt động, biểu đồ tuần tự và biểu đồ trạng thái.
- Lập trình viên web mới bắt đầu: Tham khảo cách thiết kế cấu trúc cơ sở dữ liệu quan hệ cho một website thương mại điện tử quy mô vừa và nhỏ với đầy đủ các bảng dữ liệu về sách, tác giả, nhà xuất bản, đơn hàng, chi tiết đơn hàng và tài khoản người dùng có mã hóa mật khẩu MD5.
Các nội dung đáng tham khảo nhất trong văn bản:
- Bản đặc tả 7 Use Case chi tiết kèm các luồng sự kiện rẽ nhánh ở Chương 3.
- Cấu trúc mô tả mức logic của 10 bảng cơ sở dữ liệu kèm tên trường và ràng buộc khóa ở mục 3 của Chương 3.
- Phần tổng quan và phân tích ưu - nhược điểm của mô hình kiến trúc MVC ở Chương 2.
Câu hỏi thường gặp
1. Hệ thống website bán sách trong khóa luận phân định bao nhiêu tác nhân tham gia vào quy trình hoạt động?
Theo văn bản khóa luận, hệ thống xác định 4 nhóm đối tượng bài toán hướng tới (khách vãng lai, thành viên, manager, admin) và chi tiết hóa thành 7 tác nhân (Actors) cụ thể trong phân tích UML: Khách thăm, Khách hàng, Người quản trị, Bộ phận kinh doanh, Bộ phận kho, Bộ phận nhập hàng và Bộ phận chuyển hàng (chuyển phát).
2. Phạm vi địa lý và giới hạn dịch vụ của website được tác giả xác định như thế nào?
Tác giả xác định phạm vi hoạt động của chương trình chỉ thực hiện đầy đủ các chức năng ở phạm vi trong cùng một thành phố. Đối với dịch vụ cung ứng hàng hóa, do hạn chế khoảng cách địa lý nên chỉ tiến hành trong phạm vi một quốc gia/lãnh thổ (giao hàng qua đại lý hoặc chi nhánh gần nhất). Riêng chức năng tin tức công nghệ (cập nhật 24h) và dịch vụ tư vấn, hỗ trợ khách hàng được định hướng áp dụng trên phạm vi toàn cầu.
3. Cơ sở dữ liệu logic của website bao gồm những bảng nào và thông tin mật khẩu được bảo mật ra sao?
Cơ sở dữ liệu logic của hệ thống gồm 10 bảng thực thể: Bảng chi tiết đơn hàng, Bảng đánh giá, Bảng đơn hàng, Bảng liên hệ, Bảng loại sách, Bảng tài khoản người dùng, Bảng nhà sản xuất, Bảng thông tin sách, Bảng sách yêu thích và Bảng tác giả. Mật khẩu của tài khoản người dùng được lưu trữ trong bảng tài khoản người dùng dưới dạng chuỗi mã hóa bằng thuật toán MD5.
4. Tác giả phân tích những ưu điểm và nhược điểm kỹ thuật nào của mô hình kiến trúc MVC?
Về ưu điểm, MVC giúp phân tách hệ thống thành 3 thành phần tương đối độc lập theo nguyên lý tách biệt mối quan tâm (SoC), cho phép các nhóm lập trình viên phát triển song song, dễ bảo trì, chỉnh sửa Model mà không ảnh hưởng tới View và hỗ trợ URL Routing thân thiện với SEO. Về nhược điểm, MVC cồng kềnh với các phần mềm nhỏ, khó kiểm thử độc lập lớp View vì phụ thuộc vào Model và Controller, đồng thời phân chia công việc mất cân bằng khi Model phải gánh quá nhiều tác vụ xử lý dữ liệu và UI logic.
5. Phân hệ quản trị (Admin) trong ứng dụng minh họa cung cấp những màn hình quản lý nào?
Trong Chương 4, phân hệ quản trị được minh họa bằng 10 giao diện thực tế (từ Hình 36 đến Hình 45), bao gồm: Giao diện tổng quan trang quản trị, Giao diện liệt kê đơn hàng, Giao diện đơn hàng mới cần xử lý, Giao diện chi tiết đơn hàng, Giao diện liệt kê sách, Giao diện chỉnh sửa sách có sẵn, Giao diện thêm mới sách, Giao diện liệt kê tác giả, Giao diện chỉnh sửa tác giả và Giao diện thêm tác giả.
Kết luận
Khóa luận tốt nghiệp "Xây dựng website bán sách" của sinh viên Trường Đại học Công nghệ Đồng Nai đã hoàn thành việc thiết kế và xây dựng một hệ thống bán sách trực tuyến hoàn chỉnh dựa trên ngôn ngữ PHP, hệ quản trị cơ sở dữ liệu MySQL và mô hình kiến trúc MVC. Đề tài thể hiện quy trình phân tích thiết kế phần mềm bài bản thông qua việc ứng dụng chuẩn UML để xây dựng hệ thống biểu đồ ca sử dụng, hoạt động, tuần tự, trạng thái và thiết kế 10 bảng cơ sở dữ liệu logic chuẩn hóa. Dù vẫn còn một số giới hạn về phạm vi vận hành trong khu vực thành phố và quy trình thanh toán bán tự động, khóa luận đã cung cấp đầy đủ các giao diện thực thi cho cả khách hàng và ban quản lý, đóng vai trò là tài liệu tham khảo có giá trị thực tiễn đối với sinh viên công nghệ thông tin khi tiếp cận bài toán xây dựng ứng dụng thương mại điện tử.