Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin và thương mại điện tử phát triển nhanh chóng, việc xây dựng một hệ thống website bán hàng hiệu quả đóng vai trò quan trọng đối với hoạt động của các doanh nghiệp. Hệ thống này không chỉ hỗ trợ doanh nghiệp tiếp cận khách hàng thuận tiện mà còn góp phần củng cố uy tín và nâng cao năng lực kinh doanh. Đồ án tốt nghiệp chuyên ngành Công nghệ thông tin với đề tài "Xây dựng hệ thống bán hàng trực tuyến" do sinh viên Trần Thế Anh thực hiện dưới sự hướng dẫn của ThS. Lê Ngọc Minh (Khoa Công nghệ thông tin, Trường Đại học Hải Phòng, năm 2024) tập trung giải quyết các bài toán về phân tích yêu cầu, mô hình hóa nghiệp vụ và thiết kế kiến trúc cho một hệ thống bán hàng trực tuyến.
Mục tiêu và các nhiệm vụ nghiên cứu chính của đồ án bao gồm:
- Khảo sát và xác định các yêu cầu chức năng, yêu cầu phi chức năng của hệ thống website bán hàng; phân loại tác nhân và các ca sử dụng (Use Case).
- Phân tích hướng đối tượng cho hệ thống thông qua phân tích tĩnh (xác định lớp thực thể, thuộc tính, phương thức, quan hệ giữa các lớp) và phân tích động (xây dựng các biểu đồ giao tiếp cho từng luồng nghiệp vụ).
- Thiết kế kiến trúc hệ thống mạng 3 tầng, phân rã hệ thống thành các hệ thống con và xây dựng biểu đồ gói.
- Đề xuất giải pháp thiết kế kiểm soát tương tranh trên cơ sở dữ liệu tập trung và thiết lập các biện pháp an toàn, bảo mật thông tin cho hệ thống.
Đối tượng nghiên cứu của đề tài là quy trình quản lý, vận hành và xử lý dữ liệu trong hệ thống bán hàng trực tuyến. Phạm vi nghiên cứu tập trung vào hai nhóm tác nhân chính là Người bán và Khách hàng, bao quát các phân hệ chức năng: quản lý tài khoản người dùng, quản lý danh mục sản phẩm, quản lý thông tin khách hàng và quy trình thực hiện giao dịch mua bán, hoàn trả sản phẩm trong phạm vi nghiệp vụ của cửa hàng.
Cơ sở lý thuyết và phương pháp
Đồ án ứng dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng (OOAD) kết hợp với ngôn ngữ mô hình hóa thống nhất (UML) để đặc tả toàn bộ quy trình từ yêu cầu đến thiết kế kỹ thuật.
- Khung lý thuyết và mô hình kiến trúc:
- Ngôn ngữ mô hình hóa UML: Sử dụng các biểu đồ Use Case, biểu đồ Hoạt động (Activity Diagram), biểu đồ Giao tiếp (Communication Diagram) và biểu đồ Gói (Package Diagram) để mô tả cấu trúc tĩnh và hành vi động của hệ thống.
- Kiến trúc mạng 3 tầng (3-Tier Architecture): Mô hình phân tách hệ thống thành 3 tầng độc lập gồm Tầng giao diện người dùng (User Interface/Client Tier), Tầng logic ứng dụng (Application Server/Business Rules Tier) và Tầng dữ liệu (Database Server/Data Storage Tier).
- Mô hình kiểm soát tương tranh giao tác 3 pha: Áp dụng kỹ thuật phân chia giao tác thành 3 giai đoạn (Pha đọc, Pha phê chuẩn, Pha ghi) nhằm giải quyết tranh chấp dữ liệu khi nhiều máy khách cùng truy cập một cơ sở dữ liệu tập trung.
- Khung tiêu chuẩn an toàn bảo mật thông tin: Dựa trên 5 khía cạnh an toàn thông tin cốt lõi gồm Sự riêng tư (Privacy), Xác thực (Authentication), Tính không thể bác bỏ (Irrefutability), Tính toàn vẹn (Integrity) và Tính an toàn/Phân quyền (Safety).
- Phương pháp nghiên cứu thực tế:
- Kỹ thuật trích danh từ (Noun Extraction): Áp dụng trên các kịch bản ca sử dụng để nhận diện các danh từ ứng viên, sàng lọc và chuẩn hóa thành các lớp thực thể, thuộc tính và mối quan hệ giữa các lớp.
- Phương pháp mô hình hóa luồng điều khiển và tương tác: Xây dựng kịch bản tuần tự và biểu đồ giao tiếp tương ứng cho từng chức năng nghiệp vụ cụ thể.
- Nguồn dữ liệu:
- Dữ liệu thu thập từ quá trình khảo sát quy trình bán hàng, các biểu mẫu giao dịch (hóa đơn, thông tin sản phẩm, hồ sơ khách hàng) và các kịch bản tương tác giữa tác nhân với hệ thống quản lý.
Nội dung chính theo từng chương
Chương 1. Xác định yêu cầu xây dựng hệ thống website
Chương này tập trung xác định các tác nhân và đặc tả chi tiết các ca sử dụng của hệ thống:
- Tác nhân hệ thống: Xác định 02 tác nhân chính tham gia vào hệ thống gồm:
- Khách hàng: Người đã đăng ký tài khoản thành viên, có thông tin lưu trữ trong cơ sở dữ liệu (họ tên, ngày sinh, giới tính, địa chỉ,...).
- Người bán: Người trực tiếp sử dụng phần mềm, sở hữu tài khoản đăng nhập để vận hành các chức năng quản lý.
- Danh mục Use Case chính:
U1: Đăng nhập (Người bán đăng nhập vào hệ thống).
U2: Đăng xuất (Người bán thoát khỏi hệ thống).
U3: Quản lý khách hàng (Thêm, xóa, sửa thông tin, tìm kiếm khách hàng).
U4: Quản lý sản phẩm (Thêm, sửa thông tin, xóa, tìm kiếm sản phẩm).
U5: Quản lý bán hàng (Ghi nhận thông tin bán hàng: sản phẩm, khách hàng, ngày mua).
- Đặc tả chi tiết các ca sử dụng nghiệp vụ: Tác giả xây dựng 08 bảng đặc tả kịch bản ca sử dụng chi tiết (từ Bảng 1.1 đến Bảng 1.8), làm rõ tiền điều kiện, điều kiện đảm bảo tối thiểu, điều kiện đảm bảo thành công, sự kiện kích hoạt, chuỗi sự kiện chính và các trường hợp ngoại lệ.
| Mã Use Case |
Tên Use Case |
Tác nhân chính |
Giao diện kích hoạt |
Luồng dữ liệu xử lý chính |
| Bảng 1.1 |
Thêm sản phẩm |
Người bán |
Frm Quản lý sản phẩm |
Nhập Mã SP, Tên SP, Nguồn nhập, Loại SP, Nhà sản xuất, Thời gian sản xuất, Số lượng; kiểm tra trùng mã |
| Bảng 1.2 |
Xóa sản phẩm |
Người bán |
Frm Quản lý sản phẩm |
Chọn sản phẩm từ danh sách; kiểm tra ràng buộc (nếu sản phẩm đang có khách hàng mua thì không thể xóa) |
| Bảng 1.3 |
Sửa thông tin sản phẩm |
Người bán |
Frm Quản lý sản phẩm |
Hiển thị thông tin cũ; cập nhật thông tin cần sửa; kiểm tra trùng mã và lưu CSDL |
| Bảng 1.4 |
Tìm kiếm sản phẩm |
Người bán |
Frm Tìm kiếm sản phẩm |
Nhập tiêu chí tìm kiếm (Mã, Tên, Tác giả/Người bán, Loại, Nhà xuất bản/Sản xuất); trả về danh sách kết quả |
| Bảng 1.5 |
Thêm Khách hàng |
Người bán |
Frm Quản lý Khách hàng |
Nhập Mã KH, Tên KH, Ngày sinh, Số CMTND, Số điện thoại, Ngày hết hạn thẻ, Địa chỉ; kiểm tra trùng mã |
| Bảng 1.6 |
Xóa Khách hàng |
Người bán |
Frm Quản lý Khách hàng |
Chọn khách hàng từ danh sách; xóa bản ghi khỏi CSDL |
| Bảng 1.7 |
Sửa thông tin Khách hàng |
Người bán |
Frm Quản lý Khách hàng |
Tải thông tin khách hàng; chỉnh sửa các trường thông tin; kiểm tra tính hợp lệ và cập nhật |
| Bảng 1.8 |
Tìm kiếm Khách hàng |
Người bán |
Frm Tìm kiếm Khách hàng |
Nhập tiêu chí (Mã KH, Tên KH, Số điện thoại, Số CMTND); hiển thị danh sách khách hàng thỏa mãn |
Chương 1 cũng thiết lập hệ thống biểu đồ Hoạt động (Activity Diagram) bao gồm 10 biểu đồ mô tả luồng thực thi: Người bán đăng nhập (Biểu đồ 2.2), Người bán đăng xuất (Biểu đồ 2.3), Người bán xóa sản phẩm (Biểu đồ 2.4), Người bán xóa Khách hàng (Biểu đồ 2.5), Người bán tìm kiếm Khách hàng (Biểu đồ 2.6), Người bán tìm kiếm sản phẩm, Khách hàng mua sản phẩm (Biểu đồ 2.7), Người bán thêm Khách hàng (Biểu đồ 2.8), Người bán sửa thông tin Khách hàng (Biểu đồ 2.9) và Người bán sửa thông tin sản phẩm (Biểu đồ 2.10).
Chương 2. Phân tích yêu cầu
Chương 2 trình bày hai nội dung trọng tâm: phân tích tĩnh và phân tích động của hệ thống.
- Phân tích tĩnh:
- Kỹ thuật xác định lớp: Thực hiện trích xuất danh từ từ các kịch bản ca sử dụng, thu được tập danh từ ban đầu: Người bán, Tài khoản, Mật khẩu, Sản phẩm, Mã Sản phẩm, Tên sản phẩm, Nguồn nhập, Loại sản phẩm, Nhà sản xuất, Số lượng, Khách hàng, Mã Khách hàng, Ngày sinh, Số CMTND, Số điện thoại, Địa chỉ, Trả sản phẩm, Mua sản phẩm, Ngày mua, Ngày giao hàng, Ngày trả. Tiến hành loại bỏ các danh từ ngoài phạm vi và các thuộc tính đơn lẻ để xác định 4 lớp thực thể chính.
- Thuộc tính và phương thức các lớp (Bảng 2.1):
- Lớp Tài khoản/Người quản trị: Thuộc tính gồm
tK (tên đăng nhập), mK (mật khẩu). Phương thức gồm taoTK(tk, mk), dangNhap(tk, mk), dangXuat().
- Lớp Sản phẩm (
SanPham): Thuộc tính gồm maSP, tenSP, loaiSP, tenNG (tên người bán), nhaXS, namPP (năm phân phối), soL (số lượng còn lại). Phương thức gồm getter(), setter(), add(SanPham), delete(SanPham), edit(SanPham), display(SanPham), check(int sl), search(String).
- Lớp Mua bán sản phẩm (
MuaBanSanPham): Thuộc tính gồm ngayM (ngày mua), ngayGiaoHang, ngayT (ngày trả), maS (mã sản phẩm), maDG (mã khách hàng). Phương thức gồm getter(), setter(), add(MuaBanSanPham), delete(MuaBanSanPham), edit(MuaBanSanPham), display(MuaBanSanPham).
- Lớp Khách hàng (
DocGia/KhachHang): Thuộc tính gồm maDG, tenDG, ngaySinh, soCMT, sDt, ngayHHT (ngày hết hạn thẻ), diaC. Phương thức gồm getter(), setter(), add(DocGia), delete(DocGia), edit(DocGia), display(DocGia), checkCard(String), search(String).
- Phân tích động:
- Xây dựng hệ thống 10 biểu đồ Giao tiếp (Communication Diagram từ Biểu đồ 2.2 đến Biểu đồ 2.12) mô tả trình tự gửi nhận thông điệp giữa các đối tượng trong các ca xử lý: Đăng nhập, Tìm kiếm sản phẩm, Tìm kiếm khách hàng, Thêm/Sửa/Xóa khách hàng, Thêm/Sửa/Xóa sản phẩm, Khách hàng mua sản phẩm và Khách hàng trả sản phẩm.
Chương 3. Pha thiết kế
Chương 3 trình bày các quyết định thiết kế kiến trúc, an toàn dữ liệu và phân rã hệ thống:
- Lựa chọn công nghệ mạng 3 tầng: Hệ thống được cấu trúc thành Tầng giao diện người dùng (User Interface), Tầng ứng dụng/logic nghiệp vụ (Application Server/Business Rule) và Tầng dữ liệu (Database Server/Data Storage). Tác giả luận giải 07 ưu điểm kỹ thuật khi áp dụng mô hình này:
- Tạo điều kiện dễ dàng khi phát triển: Tách bạch logic nghiệp vụ, giao diện và bảo mật dữ liệu giúp việc lập trình đơn giản và chuẩn hóa.
- Sử dụng máy tính hiệu quả: Phân bổ tài nguyên phần cứng phù hợp với chức năng của từng tầng (client gọn nhẹ, application server ưu tiên CPU/RAM, database server ưu tiên dung lượng đĩa và năng lực tính toán).
- Cải tiến hiệu năng: Cho phép nhân rộng máy chủ ở tầng giữa và tầng dữ liệu để thực hiện cân bằng tải.
- Nâng cao tính bảo mật: Thiết lập chốt chặn an ninh tại tầng giữa; cô lập tầng dữ liệu phía sau mạng nội bộ giúp giảm thiểu nguy cơ tấn công trực tiếp.
- Hạn chế đầu tư: Đóng vai trò cầu nối trung gian, cho phép tái sử dụng các hệ thống lưu trữ cũ mà không cần thay thế toàn bộ.
- Tính linh hoạt: Dễ dàng nâng cấp hoặc điều chỉnh quy mô từ hệ thống 1 tầng lên 2 tầng hoặc 3 tầng khi nhu cầu mở rộng.
- Đa dạng kiểu dáng máy client: Hỗ trợ kết nối đồng thời từ nhiều loại thiết bị (máy tính cá nhân, PDA, điện thoại di động) mà không ảnh hưởng đến tầng ứng dụng và dữ liệu.
- Thiết kế kiểm soát tương tranh: Để khắc phục xung đột khi nhiều máy trạm cùng truy xuất CSDL tập trung trên máy chủ, hệ thống sử dụng cơ chế giao tác gồm 3 pha:
- Pha đọc (Read Phase): Mọi thao tác cập nhật dữ liệu của người dùng được ghi nhận vào các bản ghi tạm thời (temporary records).
- Pha phê chuẩn (Validation Phase): Kiểm tra xung đột giữa bản ghi tạm với các giao tác đã hoàn tất trước đó. Nếu có xung đột, giao tác hiện tại bị hủy bỏ.
- Pha ghi (Write Phase): Nếu vượt qua pha phê chuẩn, dữ liệu từ bản ghi tạm sẽ được ghi chính thức vào CSDL.
- Quy tắc tuần tự hóa: Các giao tác được cấp phát một số thứ tự duy nhất (không tái sử dụng) trước khi bước vào pha phê chuẩn. Pha đọc và pha phê chuẩn có thể diễn ra đồng thời, nhưng pha ghi bắt buộc phải thực thi tuần tự theo đúng số thứ tự đã gán.
- Thiết kế an toàn và bảo mật:
- 05 khía cạnh an toàn: Sự riêng tư (Privacy), Xác thực (Authentication), Tính không thể bác bỏ (Irrefutability), Tính toàn vẹn (Integrity) và Tính an toàn (Safety).
- 05 giải pháp bảo mật kỹ thuật được áp dụng:
- Mã hóa MD5 cho các thông tin nhạy cảm (tên tài khoản và mật khẩu người dùng).
- Ghi nhận toàn bộ thao tác thay đổi CSDL vào tập tin nhật ký (file log) gồm nội dung thay đổi, thời gian và địa chỉ IP thực hiện.
- Thiết lập cơ chế sao lưu dữ liệu máy chủ định kỳ.
- Ghi log các yêu cầu từ máy khách nhằm xử lý sự cố đứt kết nối mạng.
- Phòng chống tấn công SQL Injection bằng cơ chế lọc và loại bỏ các ký tự đặc biệt (chẳng hạn:
;, ", ') trong dữ liệu đầu vào.
- Phân rã hệ thống con và Biểu đồ gói: Hệ thống được chia tách thành 03 hệ thống con độc lập:
- Hệ thống quản lý sản phẩm (Thêm, sửa, xóa, tìm kiếm sản phẩm).
- Hệ thống quản lý mua trả sản phẩm (Mua sản phẩm, Trả sản phẩm).
- Hệ thống quản lý khách hàng (Thêm, sửa, xóa, tìm kiếm khách hàng).
Thiết kế và triển khai hệ thống
Đồ án tập trung vào thiết kế kiến trúc hệ thống và cơ chế vận hành dữ liệu, được tổng hợp qua các thành phần kỹ thuật sau:
+-----------------------------------------------------------------------+
| MÔ HÌNH KIẾN TRÚC VÀ BẢO MẬT HỆ THỐNG |
+-----------------------------------------------------------------------+
| 1. TẦNG GIAO DIỆN (UI / CLIENT TIER) |
| - Thiết bị: Máy tính cá nhân, Thiết bị di động, PDA |
| - Chức năng: Nhập dữ liệu, hiển thị kết quả, gọi hàm từ xa |
+-----------------------------------------------------------------------+
|
v (Mã hóa MD5 / Log yêu cầu IP)
+-----------------------------------------------------------------------+
| 2. TẦNG ỨNG DỤNG / NGHIỆP VỤ (APPLICATION SERVER TIER) |
| - Phân hệ con: Quản lý sản phẩm | Quản lý mua trả | Quản lý KH |
| - Xử lý nghiệp vụ: Kiểm tra ràng buộc, lọc ký tự SQL Injection |
| - Điều phối tương tranh: Giao tác 3 pha (Đọc -> Duyệt -> Ghi) |
+-----------------------------------------------------------------------+
|
v (Giao tác tuần tự theo số thứ tự)
+-----------------------------------------------------------------------+
| 3. TẦNG DỮ LIỆU (DATABASE SERVER TIER) |
| - Chức năng: Lưu trữ tập trung, ghi Log CSDL, sao lưu định kỳ |
| - Các thực thể: SanPham, MuaBanSanPham, KhachHang, TaiKhoan |
+-----------------------------------------------------------------------+
- Quy trình kiểm soát tương tranh giao tác 3 pha:
| Thứ tự pha |
Tên pha |
Nội dung xử lý kỹ thuật |
Cơ chế thực thi |
| Pha 1 |
Pha đọc (Read) |
Ghi nhận các thao tác cập nhật dữ liệu vào các bản ghi tạm thời |
Thực thi đồng thời (Parallel) |
| Pha 2 |
Pha phê chuẩn (Validation) |
Kiểm tra xung đột dữ liệu với các giao tác đã hoàn tất; hủy giao tác nếu xung đột |
Được đánh số thứ tự duy nhất; thực thi đồng thời |
| Pha 3 |
Pha ghi (Write) |
Chuyển dữ liệu từ bản ghi tạm vào cơ sở dữ liệu chính thức |
Bắt buộc thực thi tuần tự (Sequential) theo số thứ tự |
- Tổng hợp các chốt chặn an toàn và bảo mật dữ liệu:
- Bảo mật tài khoản: Áp dụng thuật toán băm MD5 để mã hóa mật khẩu và thông tin đăng nhập trước khi lưu trữ hoặc truyền tải.
- Kiểm soát truy vấn CSDL: Thiết lập bộ lọc dữ liệu đầu vào để loại bỏ các ký tự có nguy cơ khai thác lỗ hổng SQL Injection (dấu chấm phẩy
;, dấu nháy đơn ', dấu nháy kép ").
- Giám sát và kiểm toán: Ghi nhật ký hệ thống kép (Client Request Log và Database Change Log) lưu trữ chi tiết thời gian, địa chỉ IP và nội dung tác động; kết hợp kế hoạch sao lưu dữ liệu máy chủ định kỳ.
Kết quả và đóng góp
- Kết quả chính đạt được:
- Hoàn thành bản đặc tả chi tiết yêu cầu phần mềm cho hệ thống bán hàng trực tuyến với 05 nhóm Use Case chính, 08 bảng đặc tả kịch bản ca sử dụng hoàn chỉnh và 10 biểu đồ Hoạt động mô hình hóa các luồng nghiệp vụ.
- Xây dựng mô hình phân tích tĩnh với 04 lớp thực thể cốt lõi (
TaiKhoan, SanPham, MuaBanSanPham, DocGia/KhachHang), phân định rõ ràng các thuộc tính quản trị và các phương thức xử lý dữ liệu tương ứng.
- Mô hình hóa thành công tương tác động thông qua hệ thống 10 biểu đồ giao tiếp, làm rõ sự phối hợp giữa các đối tượng khi xử lý từng ca sử dụng.
- Đưa ra thiết kế kiến trúc mạng 3 tầng hoàn chỉnh, phân chia rõ ràng 03 hệ thống con độc lập và thiết lập quy trình kiểm soát tương tranh bằng giải thuật giao tác 3 pha.
- Giải pháp và kiến nghị đề xuất:
- Đề xuất áp dụng kiến trúc 3 tầng để tối ưu hóa hiệu năng, tăng khả năng mở rộng phần cứng và bảo vệ tầng dữ liệu trước các truy cập trái phép.
- Khuyến nghị giải pháp kiểm soát tương tranh bằng phương pháp gán số thứ tự giao tác và xử lý ghi tuần tự để đảm bảo tính nhất quán dữ liệu cho máy chủ bán hàng tập trung.
- Thiết lập mô hình bảo mật đa lớp gồm mã hóa MD5, lọc ký tự SQL Injection và ghi log IP thời gian thực.
- Đóng góp của đồ án:
- Cung cấp một quy trình phân tích và thiết kế hệ thống có cấu trúc chặt chẽ, áp dụng chuẩn mực các nguyên lý OOAD và UML cho bài toán quản lý bán hàng.
- Đóng góp tài liệu tham khảo có giá trị về mặt phương pháp luận thiết kế hệ thống hướng đối tượng từ khâu khảo sát kịch bản đến thiết kế kiến trúc và giải pháp an toàn CSDL.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Đồ án tập trung chủ yếu vào giai đoạn khảo sát, mô hình hóa phân tích (UML) và thiết kế kiến trúc lý thuyết; chưa trình bày chi tiết phần mã nguồn cài đặt thực tế của các tầng ứng dụng.
- Chưa có số liệu thực nghiệm đo lường hiệu năng của giải thuật giao tác 3 pha dưới điều kiện tải cao hoặc thử nghiệm kiểm thử bảo mật thực tế trên môi trường mạng phân tán.
- Trong tài liệu còn tồn tại một số điểm chưa đồng bộ về danh từ nghiệp vụ giữa mô hình bán hàng và mô hình mượn trả (như việc sử dụng tên lớp
DocGia, thuộc tính ngayHHT - ngày hết hạn thẻ, nhaXS/nhaXuatBan).
- Hướng nghiên cứu tiếp:
- Tiến hành lập trình và triển khai thực tế hệ thống trên các nền tảng công nghệ web hiện đại theo đúng mô hình 3 tầng đã thiết kế.
- Tích hợp các cổng thanh toán điện tử trực tuyến an toàn và xây dựng phân hệ quản lý đơn hàng chuyên sâu.
- Tiến hành kiểm thử hiệu năng, đo lường độ trễ của cơ chế giao tác 3 pha và nâng cấp các giải pháp an ninh mạng (như nâng cấp thuật toán mã hóa mật khẩu, bảo vệ phiên làm việc đa lớp).
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin đang thực hiện đồ án tốt nghiệp, khóa luận hoặc các học phần về Phân tích và Thiết kế hệ thống thông tin hướng đối tượng (OOAD/UML).
Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:
- Cấu trúc đặc tả kịch bản Use Case chuẩn hóa với đầy đủ các mục tiền điều kiện, hậu điều kiện và luồng sự kiện chính/ngoại lệ.
- Phương pháp trích xuất danh từ từ kịch bản nghiệp vụ để xác định lớp thực thể và xây dựng bảng thuộc tính/phương thức.
- Tài liệu thiết kế giải pháp kiểm soát tương tranh cơ sở dữ liệu dựa trên mô hình giao tác 3 pha và luận giải chi tiết 07 lý do lựa chọn kiến trúc mạng 3 tầng.
Câu hỏi thường gặp
1. Hệ thống bán hàng trong đồ án phục vụ những tác nhân (actor) nào và nhiệm vụ chính của từng tác nhân là gì?
Hệ thống xác định 02 tác nhân chính:
- Người bán: Là người trực tiếp sử dụng phần mềm qua tài khoản đăng nhập để thực hiện toàn bộ các chức năng quản lý hệ thống gồm: đăng nhập/đăng xuất, quản lý sản phẩm (thêm, sửa, xóa, tìm kiếm), quản lý khách hàng (thêm, sửa, xóa, tìm kiếm) và quản lý thông tin bán hàng.
- Khách hàng: Là người đã đăng ký tài khoản thành viên có thông tin lưu trong cơ sở dữ liệu, tham gia vào quy trình mua sản phẩm và hoàn trả sản phẩm.
2. Kỹ thuật nào được đồ án sử dụng để xác định các lớp thực thể trong pha phân tích tĩnh?
Đồ án sử dụng kỹ thuật trích danh từ (Noun Extraction) từ các kịch bản ca sử dụng. Sau khi thu thập danh sách danh từ ban đầu, tác giả tiến hành loại bỏ các danh từ nằm ngoài phạm vi mục đích của hệ thống, các danh từ trùng lặp và các danh từ đóng vai trò là thuộc tính của lớp (như Mã, Ngày mua, Ngày hẹn trả) để xác định được 04 lớp thực thể chính: Tài khoản, Sản phẩm, Mua bán sản phẩm và Khách hàng.
3. Cơ chế kiểm soát tương tranh giữa các máy khách khi thao tác trên CSDL tập trung được thiết kế như thế nào?
Hệ thống áp dụng mô hình giao tác 3 pha:
- Pha đọc: Ghi nhận mọi thao tác cập nhật vào các bản ghi tạm thời.
- Pha phê chuẩn: Kiểm tra xung đột giữa bản ghi tạm với các giao tác đã hoàn tất trước đó; nếu có xung đột, giao tác bị hủy bỏ.
- Pha ghi: Nếu không có xung đột, dữ liệu từ bản ghi tạm được ghi chính thức vào CSDL.
Các giao tác được gán số thứ tự duy nhất trước khi vào pha phê chuẩn; pha đọc và phê chuẩn có thể chạy đồng thời, nhưng pha ghi bắt buộc thực hiện tuần tự theo số thứ tự đã cấp.
4. Những biện pháp an toàn và bảo mật thông tin cụ thể nào được đề xuất trong đồ án?
Đồ án đề xuất 05 biện pháp kỹ thuật gồm:
- Mã hóa MD5 đối với tên tài khoản và mật khẩu.
- Ghi nhật ký (file log) toàn bộ thay đổi dữ liệu kèm thời gian và địa chỉ IP của máy yêu cầu.
- Thực hiện sao lưu định kỳ dữ liệu trên máy chủ.
- Ghi log các câu lệnh và yêu cầu của máy khách để phòng ngừa lỗi đứt đường truyền mạng.
- Phòng tránh SQL Injection bằng cách lọc và xóa các ký tự đặc biệt (như
;, ", ') trong dữ liệu nhập vào.
5. Vì sao tác giả lựa chọn kiến trúc mạng 3 tầng cho hệ thống website bán hàng?
Tác giả lựa chọn kiến trúc 3 tầng dựa trên 07 lý do kỹ thuật: tạo điều kiện phát triển phần mềm dễ dàng nhờ phân tách độc lập các thành phần; sử dụng tài nguyên phần cứng máy tính hiệu quả theo đặc thù từng tầng; cải tiến hiệu năng thông qua khả năng cân bằng tải; nâng cao bảo mật bằng cách đặt tầng ứng dụng làm chốt chặn bảo vệ CSDL; hạn chế chi phí đầu tư nhờ khả năng tái sử dụng máy chủ cũ; mang lại tính linh hoạt cao khi mở rộng quy mô; và hỗ trợ đa dạng các loại thiết bị client khác nhau.
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống bán hàng trực tuyến" của sinh viên Trần Thế Anh đã hoàn thành toàn diện nhiệm vụ mô hình hóa và thiết kế hệ thống theo quy trình hướng đối tượng chuẩn mực. Đề tài làm rõ từ khâu đặc tả yêu cầu, phân tích tĩnh/động bằng ngôn ngữ UML đến thiết kế kiến trúc mạng 3 tầng và phân rã các hệ thống con nghiệp vụ. Bên cạnh đó, đồ án đã đưa ra các giải pháp kỹ thuật cụ thể về kiểm soát tương tranh giao tác 3 pha và thiết lập chính sách an toàn bảo mật dữ liệu có tính ứng dụng cao cho bài toán phát triển phần mềm quản lý bán hàng.