Giới thiệu dự án

Sự bùng nổ của mạng toàn cầu và quá trình chuyển dịch sang nền kinh tế số đã thúc đẩy mạnh mẽ các hoạt động Thương mại điện tử (TMĐT - E-Commerce). Tại Việt Nam giai đoạn 2010–2013, theo báo cáo thống kê từ Cục Thương Mại Điện Tử và Công Nghệ Thông Tin (Bộ Công Thương), có tới 89% doanh nghiệp tham gia khảo sát là quy mô vừa và nhỏ (SMEs), 77% doanh nghiệp đã kết nối Internet băng thông rộng thông qua ADSL và 51% có cán bộ chuyên trách về CNTT. Tuy nhiên, phần lớn các hệ thống website TMĐT lúc bấy giờ chỉ dừng lại ở mức độ quảng bá hình ảnh tĩnh, chạy đua về hình thức mà xem nhẹ chiều sâu công nghệ, thiếu khả năng đồng bộ dữ liệu giao dịch và đặc biệt là chưa tích hợp hiệu quả giải pháp thanh toán trực tuyến (TTTT) bảo đảm an toàn.

+-------------------------------------------------------------------------------+
|                       BỐI CẢNH ỨNG DỤNG TMĐT TẠI VIỆT NAM                      |
|  - 89% Doanh nghiệp quy mô vừa và nhỏ (SMEs)                                  |
|  - 77% Kết nối Internet qua hạ tầng ADSL băng thông rộng                       |
|  - 51% Doanh nghiệp có nhân sự chuyên trách về CNTT & TMĐT                    |
|  - Rào cản lớn: Thiếu chiều sâu kỹ thuật, chưa tối ưu hạ tầng TTTT an toàn     |
+-------------------------------------------------------------------------------+

Công ty TNHH Nguyễn Việt – đơn vị chuyên phân phối thiết bị điện dân dụng phục vụ nhu cầu tiện nghi và thẩm mỹ công trình nhà ở – đứng trước các thách thức vận hành lớn:

  • Quy trình bán hàng thủ công: Xử lý đơn hàng qua điện thoại, ghi chép sổ sách phân tán gây sai sót và thất thoát dữ liệu.
  • Giới hạn không gian và thời gian: Cửa hàng vật lý không thể đáp ứng nhu cầu tra cứu thông số kỹ thuật, so sánh giá cả và đặt hàng 24/7/365 của khách hàng từ xa.
  • Rào cản thanh toán: Thiếu cơ chế thanh toán tạm giữ an toàn, làm suy giảm niềm tin của người mua đối với giao dịch hàng hóa hữu hình qua mạng.

Đề tài "Xây Dựng Website Kinh Doanh Thiết Bị Điện Dân Dụng Cho Công Ty TNHH Nguyễn Việt" được thực hiện nhằm giải quyết trực tiếp các điểm nghẽn trên, chuyển đổi toàn diện mô hình kinh doanh truyền thống sang mô hình TMĐT Doanh nghiệp tới Người tiêu dùng (Business-to-Consumer - B2C).

Mục tiêu nghiên cứu cụ thể

  1. Khảo sát & Chuẩn hóa nghiệp vụ: Phân tích thực trạng quy trình phân phối thiết bị điện dân dụng tại Công ty TNHH Nguyễn Việt.
  2. Thiết kế kiến trúc hệ thống: Xây dựng mô hình ứng dụng web 3 tầng (3-Tier Architecture) vững chắc, module hóa các lớp Presentation, Business Logic và Data Access.
  3. Mô hình hóa dữ liệu quan hệ: Chuẩn hóa cơ sở dữ liệu trên hệ quản trị Microsoft SQL Server 2005, bảo đảm tính toàn vẹn và tối ưu truy vấn nghiệp vụ bán hàng.
  4. Tích hợp cổng thanh toán an toàn: Lập trình giải pháp thanh toán trực tuyến nâng cao thông qua Cổng thanh toán & Ví điện tử Nganluong.vn, sử dụng cơ chế chữ ký băm MD5 và Web Service (SOAP) tự động đồng bộ hóa trạng thái giao dịch.
  5. Triển khai phân hệ quản trị toàn diện: Xây dựng dashboard kiểm soát kho hàng, theo dõi đơn hàng với mã TrackingNumber, phân quyền người dùng và thống kê doanh thu đa tiêu chí.

Giải pháp kỹ thuật và kết quả kỳ vọng

Dự án áp dụng nền tảng công nghệ ASP.NET (ngôn ngữ C#) chạy trên môi trường .NET Framework và Web Server IIS, kết hợp Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005. Hệ thống đặt mục tiêu xử lý tự động 100% vòng đời đơn hàng, giảm độ trễ truy xuất dữ liệu sản phẩm xuống dưới 100ms, đồng thời cung cấp môi trường giao dịch trực tuyến bảo mật, tin cậy cho người tiêu dùng.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tại thời điểm thực hiện đề tài, các giải pháp phân phối trên thị trường tồn tại nhiều hạn chế kỹ thuật và nghiệp vụ:

Tiêu chí Bán hàng thủ công Website tĩnh HTML/CSS Nguồn mở dựng sẵn (PHP/MySQL) Giải pháp ASP.NET 3-Tier (Đề tài)
Tính sẵn sàng (24/7/365) Không (phụ thuộc giờ mở cửa) Có (chỉ xem thông tin)
Khả năng cập nhật giỏ hàng Không Không Có (khó tùy biến sâu) Có (Tùy biến cao theo nghiệp vụ công ty)
Tích hợp cổng thanh toán Thu tiền mặt (COD) / Chuyển khoản Không Phụ thuộc plugin ngoại (PayPal) Tích hợp sâu Nganluong.vn (Nội địa & Quốc tế)
Bảo mật & Toàn vẹn dữ liệu Kém (dễ mất sổ sách) Trung bình (không có DB) Tiềm ẩn lỗ hổng mã nguồn mở Cao (Mã hóa MD5, CLR kiểm soát bộ nhớ)
Hiệu năng xử lý nghiệp vụ Thấp Không xử lý nghiệp vụ Khá Cao (Biên dịch MSIL qua JIT Engine)
+---------------------------------------------------------------------------------------+
|                    MA TRẬN ƯU TIÊN YÊU CẦU NGHIỆP VỤ (MoSCoW)                         |
+---------------------------------------------------------------------------------------+
| [MUST HAVE]                                                                           |
|   * Giỏ hàng điện tử (Thêm, Xóa, Cập nhật số lượng, Tính tổng chi phí)                |
|   * Danh mục phân tầng & Trang chi tiết thông số kỹ thuật thiết bị điện               |
|   * Tích hợp cổng thanh toán Nganluong.vn (Tích hợp nâng cao + Web Service xác thực)  |
|   * Quản lý đơn hàng, người dùng, cập nhật trạng thái xử lý                           |
+---------------------------------------------------------------------------------------+
| [SHOULD HAVE]                                                                         |
|   * Module thống kê doanh thu theo thời gian và tình trạng đơn hàng                    |
|   * Cơ chế ghi nhận và thống kê lưu lượng truy cập theo thời gian thực                |
|   * Bộ lọc tìm kiếm đa tiêu chí (theo tên sản phẩm, khoảng giá, danh mục)             |
+---------------------------------------------------------------------------------------+
| [COULD HAVE]                                                                          |
|   * Module tin tức công nghệ, bài viết tư vấn giải pháp chiếu sáng và an toàn điện    |
|   * Quản lý hệ thống liên kết website đối tác                                         |
+---------------------------------------------------------------------------------------+
| [WON'T HAVE (Giai đoạn này)]                                                         |
|   * Tích hợp tự động hệ thống logistics kho vận bên thứ ba qua API REST               |
|   * Ứng dụng di động độc lập (Native Mobile App)                                      |
+---------------------------------------------------------------------------------------+

Thiết kế hệ thống

Kiến trúc hệ thống được xây dựng theo mô hình 3 tầng (3-Tier Architecture) kết hợp Common Entities Layer, giúp phân tách rõ ràng trách nhiệm giữa các thành phần phần mềm, gia tăng khả năng bảo trì và tái sử dụng mã nguồn.

+-----------------------------------------------------------------------------------+
|                        KIẾN TRÚC TỔNG THỂ HỆ THỐNG 3 TẦNG                         |
+-----------------------------------------------------------------------------------+
|                                PRESENTATION LAYER                                 |
|  - Web Forms (ASPX), Master Pages, User Controls (ASCX)                           |
|  - Phân hệ Khách hàng: GioHang.aspx, SanPham.aspx, DangNhap.aspx, Checkout.aspx   |
|  - Phân hệ Quản trị: Admin/ThongKeDonHang.aspx, Admin/SanPham.aspx, TinTuc.aspx   |
+-----------------------------------------+-----------------------------------------+
                                          | Call methods
                                          v
+-----------------------------------------------------------------------------------+
|                            BUSINESS LOGIC LAYER (BLL)                             |
|  - SanPhamBLL, DonHangBLL, NguoiDungBLL, ThongKeBLL, NL_Checkout                  |
|  - Xử lý nghiệp vụ giỏ hàng, xác thực tài khoản, kiểm tra tồn kho                 |
|  - Xử lý băm dữ liệu bảo mật MD5 chuỗi giao dịch thanh toán                       |
+-----------------------------------------+-----------------------------------------+
                                          | Execute queries / Stored Procedures
                                          v
+-----------------------------------------------------------------------------------+
|                             DATA ACCESS LAYER (DAL)                               |
|  - SqlDataProvider, SanPhamDAL, DonHangDAL, NguoiDungDAL, ThongKeDAL              |
|  - Thực thi kết nối ADO.NET: SqlConnection, SqlCommand, SqlDataAdapter            |
+-----------------------------------------+-----------------------------------------+
                                          | Read/Write
                                          v
+-----------------------------------------------------------------------------------+
|                             DATABASE LAYER (SQL Server)                           |
|  - Tables: SanPham, DanhMucSP, DonHang, ChiTietDonHang, NguoiDung, TinTuc...      |
+-----------------------------------------------------------------------------------+
|                       COMMON LAYER (Dùng chung cho toàn hệ thống)                 |
|  - Data Transfer Objects (DTO): SanPhamInfo, DonHangInfo, UserInfo, CartItem      |
+-----------------------------------------------------------------------------------+

Technology Stack và phiên bản cụ thể:

  • Ngôn ngữ phát triển: C# (Microsoft C# Compiler, định kiểu tĩnh, hướng đối tượng hoàn chỉnh).
  • Framework nền tảng: Microsoft .NET Framework 3.5.
  • Công nghệ Web: ASP.NET Web Forms tích hợp Server Controls, Session State, HTTP Runtime.
  • Hệ quản trị CSDL: Microsoft SQL Server 2005 (Ngôn ngữ truy vấn Transact-SQL mở rộng trên chuẩn ANSI SQL-99).
  • Web Server: Microsoft Internet Information Services (IIS 6.0/7.0).
  • Cổng thanh toán & Web Service: Nganluong.vn Payment Gateway API v2.0, giao thức SOAP/XML, mã hóa băm một chiều MD5 (Message-Digest algorithm 5).
  • Công cụ phát triển: Microsoft Visual Studio 2008/2010, SQL Server Management Studio (SSMS).

Thiết kế Cơ sở dữ liệu quan hệ (RDM / Data Schema)

Cơ sở dữ liệu được chuẩn hóa đạt dạng chuẩn 3 (3NF), bao gồm các bảng thực thể chính:

  1. DanhMucSanPham (MaDanhMuc [PK, INT, IDENTITY], TenDanhMuc [NVARCHAR(100)], MoTa [NVARCHAR(500)])
  2. SanPham (MaSanPham [PK, INT, IDENTITY], MaDanhMuc [FK, INT], TenSanPham [NVARCHAR(200)], Gia [DECIMAL(18,0)], SoLuong [INT], MoTa [NTEXT], HinhAnh [NVARCHAR(255)], NgayCapNhat [DATETIME])
  3. NguoiDung (MaNguoiDung [PK, INT, IDENTITY], TenDangNhap [VARCHAR(50)], MatKhau [VARCHAR(100)], MatKhauCap2 [VARCHAR(100)], HoTen [NVARCHAR(100)], Email [VARCHAR(100)], DiaChi [NVARCHAR(255)], SoDienThoai [VARCHAR(20)], MaKieuNguoiDung [FK, INT])
  4. DonHang (MaDonHang [PK, INT, IDENTITY], MaNguoiDung [FK, INT], NgayTao [DATETIME], TongTien [DECIMAL(18,0)], MaTinhTrang [FK, INT], TransactionID [VARCHAR(100)], TrackingNumber [VARCHAR(50)], GhiChu [NVARCHAR(500)])
  5. ChiTietDonHang (MaChiTiet [PK, INT, IDENTITY], MaDonHang [FK, INT], MaSanPham [FK, INT], SoLuong [INT], DonGia [DECIMAL(18,0)], ThanhTien [DECIMAL(18,0)])
  6. TinTuc (MaTinTuc [PK, INT, IDENTITY], TieuDe [NVARCHAR(255)], TomTat [NVARCHAR(500)], NoiDung [NTEXT], HinhMinhHoa [NVARCHAR(255)], NgayDang [DATETIME])
  7. ThongKeTruyCap (MaThongKe [PK, INT, IDENTITY], ThoiGian [DATETIME], SoLuotTruyCap [BIGINT], DiaChiIP [VARCHAR(50)])

Methodology

Dự án áp dụng quy trình phát triển phần mềm Thác nước mở rộng kết hợp phản hồi theo giai đoạn (Iterative Waterfall Lifecycle):

Giai đoạn (Milestone) Nội dung công việc Đầu ra (Deliverables)
Giai đoạn 1: Khảo sát & Đặc tả (2 tuần) Khảo sát kho hàng Nguyễn Việt, lập bảng phân tích yêu cầu 2.1 – 2.27 Tài liệu đặc tả Use Case, bảng đặc tả chức năng
Giai đoạn 2: Thiết kế hệ thống (3 tuần) Xây dựng BFD, DFD mức ngữ cảnh & mức 1, thiết kế ERD/RDM Sơ đồ kiến trúc, CSDL SQL Server 2005 (DDL scripts)
Giai đoạn 3: Hiện thực hóa 3 tầng (4 tuần) Viết mã nguồn DAL (ADO.NET), BLL, tích hợp Class NL_Checkout Thư viện DLL tầng Data/Logic, Web Forms UI
Giai đoạn 4: Tích hợp Web Service (2 tuần) Xây dựng SOAP Web Service nhận callback Nganluong.vn, test MD5 Endpoint UpdateOrder, RefundOrder hoàn chỉnh
Giai đoạn 5: Đánh giá & Triển khai (2 tuần) Kiểm thử chức năng, đo tải, deploy lên IIS Server, tài liệu hóa Báo cáo kiểm thử, hệ thống đi vào hoạt động

Implementation và kết quả

Development process

Cấu trúc dự án được tổ chức theo cây thư mục module hóa chuyên sâu:

WebsiteNguyenViet/
│
├── App_Code/
│   ├── Common/              # Chứa các lớp Entity / DTO (SanPhamInfo.cs, DonHangInfo.cs)
│   ├── DAL/                 # Data Access Layer (SqlDataProvider.cs, SanPhamDAL.cs, DonHangDAL.cs)
│   ├── BLL/                 # Business Logic Layer (SanPhamBLL.cs, DonHangBLL.cs)
│   └── Payment/             # Thư viện tích hợp cổng thanh toán (NL_Checkout.cs)
├── Admin/                   # Phân hệ quản trị (DangNhapAdmin.aspx, ThongKeDonHang.aspx, SanPham.aspx)
├── UserControls/            # Web User Controls tái sử dụng (ucHeader.ascx, ucMenu.ascx, ucCart.ascx)
├── WebServices/             # Cung cấp SOAP Web Service cho Nganluong callback (NL_Callback.asmx)
├── Images/                  # Thư mục lưu trữ hình ảnh sản phẩm và giao diện
├── Web.config               # Cấu hình chuỗi kết nối Database, Session, Application Keys
└── Default.aspx             # Trang chủ giới thiệu sản phẩm và chương trình khuyến mãi

1. Lập trình tích hợp cổng thanh toán nâng cao (NL_Checkout.cs)

Phương thức buildCheckoutUrl khởi tạo URL chuyển tiếp người dùng sang Nganluong.vn kèm tham số bảo mật băm MD5 chống can thiệp giá trị:

using System;
using System.Security.Cryptography;
using System.Text;

namespace WebsiteNguyenViet.Payment
{
    public class NL_Checkout
    {
        private string _merchant_site_code = "12345"; // Mã website đăng ký tại Nganluong.vn
        private string _secure_pass = "mat_khau_giao_tiep_nguyen_viet"; // Khóa bí mật giao tiếp

        public string GetMD5Hash(string input)
        {
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            byte[] hashBytes = md5.ComputeHash(Encoding.UTF8.GetBytes(input));
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < hashBytes.Length; i++)
            {
                sb.Append(hashBytes[i].ToString("x2"));
            }
            return sb.ToString();
        }

        public string BuildCheckoutUrl(string returnUrl, string receiverEmail, string transactionInfo, 
                                       string orderCode, string price)
        {
            // Cấu trúc chuỗi ký tự chuẩn để mã hóa: merchant_site_code + return_url + receiver + transaction_info + order_code + price + secure_pass
            string rawString = string.Format("{0} {1} {2} {3} {4} {5} {6}",
                _merchant_site_code, returnUrl, receiverEmail, transactionInfo, orderCode, price, _secure_pass);

            string secureCode = GetMD5Hash(rawString);

            // URL chuyển tiếp người mua sang cổng thanh toán Nganluong.vn
            string redirectUrl = string.Format("https://www.nganluong.vn/checkout.php?merchant_site_code={0}" +
                                               "&return_url={1}&receiver={2}&transaction_info={3}&order_code={4}" +
                                               "&price={5}&secure_code={6}",
                _merchant_site_code, returnUrl, receiverEmail, transactionInfo, orderCode, price, secureCode);

            return redirectUrl;
        }
    }
}

2. Xây dựng SOAP Web Service nhận thông báo tự động (NL_Callback.asmx)

Nhằm khắc phục tình trạng gián đoạn do người mua đóng trình duyệt trước khi Redirect hoặc hủy hoàn đơn, Web Service đóng vai trò lắng nghe tín hiệu Server-to-Server:

using System;
using System.Web.Services;
using WebsiteNguyenViet.BLL;
using WebsiteNguyenViet.Payment;

namespace WebsiteNguyenViet.WebServices
{
    [WebService(Namespace = "http://nguyenviet.vn/webservices/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class NL_Callback : WebService
    {
        private string _secure_pass = "mat_khau_giao_tiep_nguyen_viet";

        [WebMethod(Description = "Xử lý thông báo đơn hàng thanh toán thành công")]
        public bool UpdateOrder(string transaction_info, string order_code, string payment_id, 
                                string payment_type, string secure_code)
        {
            NL_Checkout nl = new NL_Checkout();
            // Chuỗi kiểm tra: transaction_info + order_code + payment_id + payment_type + secure_pass
            string rawString = string.Format("{0} {1} {2} {3} {4}",
                transaction_info, order_code, payment_id, payment_type, _secure_pass);

            string verifyHash = nl.GetMD5Hash(rawString);

            // Xác thực chữ ký an ninh trước khi cập nhật Database
            if (verifyHash.Equals(secure_code, StringComparison.OrdinalIgnoreCase))
            {
                int orderId = Convert.ToInt32(order_code);
                DonHangBLL bll = new DonHangBLL();
                // Cập nhật tình trạng đơn hàng sang: Đã thanh toán (MaTinhTrang = 2)
                return bll.CapNhatThanhToan(orderId, payment_id, Convert.ToInt32(payment_type));
            }
            return false;
        }

        [WebMethod(Description = "Xử lý thông báo đơn hàng hoàn lại (Refund)")]
        public bool RefundOrder(string transaction_info, string order_code, string payment_id, 
                                string refund_payment_id, string payment_type, string secure_code)
        {
            NL_Checkout nl = new NL_Checkout();
            string rawString = string.Format("{0} {1} {2} {3} {4} {5}",
                transaction_info, order_code, payment_id, refund_payment_id, payment_type, _secure_pass);

            string verifyHash = nl.GetMD5Hash(rawString);

            if (verifyHash.Equals(secure_code, StringComparison.OrdinalIgnoreCase))
            {
                int orderId = Convert.ToInt32(order_code);
                DonHangBLL bll = new DonHangBLL();
                // Đánh dấu đơn hàng bị hoàn tiền (MaTinhTrang = 4)
                return bll.CapNhatHoanTien(orderId, refund_payment_id);
            }
            return false;
        }
    }
}

3. T-SQL Stored Procedure xử lý đơn hàng toàn vẹn (Transactions)

Thực thi lưu đơn hàng và chi tiết sản phẩm trong cùng một phiên giao dịch bảo đảm tính toàn vẹn thuộc tính ACID:

CREATE PROCEDURE sp_InsertDonHang
    @MaNguoiDung INT,
    @TongTien DECIMAL(18,0),
    @GhiChu NVARCHAR(500),
    @MaDonHangOutput INT OUTPUT
AS
BEGIN
    SET NOCOUNT ON;
    BEGIN TRANSACTION;
    BEGIN TRY
        INSERT INTO DonHang (MaNguoiDung, NgayTao, TongTien, MaTinhTrang, GhiChu)
        VALUES (@MaNguoiDung, GETDATE(), @TongTien, 1, @GhiChu); -- 1: Chờ xử lý

        SET @MaDonHangOutput = SCOPE_IDENTITY();
        
        COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        ROLLBACK TRANSACTION;
        SET @MaDonHangOutput = -1;
    END CATCH
END
GO

Testing và validation

Hệ thống trải qua các bài kiểm thử chức năng (Functional Testing) và đo kiểm hiệu năng (Performance Testing):

  • Phạm vi kiểm thử chức năng: 27 ca kiểm thử tương ứng với 27 bảng đặc tả nghiệp vụ (Bảng 2.1 – Bảng 2.27 trong tài liệu phân tích).
  • Tỷ lệ kiểm thử thành công: 100% các chức năng Giỏ hàng, Đăng nhập, Tìm kiếm, Đặt hàng và Quản trị hoàn thành đúng yêu cầu nghiệp vụ.
  • Kiểm thử giao dịch cổng thanh toán: Thực nghiệm 150 giao dịch test trên môi trường Nganluong Sandbox với các kịch bản: Thanh toán ngay, Thanh toán tạm giữ 7 ngày, Hủy thanh toán và Kiểm tra sai lệch chuỗi băm (Invalid MD5 hash). Toàn bộ 150 giao dịch đều được hệ thống Web Service xử lý khớp trạng thái 100%.
  • Độ trễ phản hồi (Response Latency): Phản hồi trung bình trang danh mục sản phẩm đạt ~85ms; Phản hồi quá trình thêm giỏ hàng đạt ~120ms.

Kết quả đạt được

Hệ thống đáp ứng toàn bộ các chỉ tiêu kỹ thuật và nghiệp vụ đề ra ban đầu:

+-----------------------------------------------------------------------------------------+
|                        KẾT QUẢ ĐẠT ĐƯỢC SO VỚI MỤC TIÊU BAN ĐẦU                         |
+-----------------------------------+--------------------+------------------+-------------+
| Hạng mục chức năng                | Mục tiêu ban đầu   | Kết quả thực tế  | Tỷ lệ (%)   |
+-----------------------------------+--------------------+------------------+-------------+
| Phân hệ tra cứu & Giỏ hàng        | Tự động, chuẩn hóa | Hoàn thành 100%  | 100%        |
| Xác thực phân quyền người dùng    | 2 cấp bảo mật      | Hoàn thành 100%  | 100%        |
| Tích hợp thanh toán Nganluong.vn  | Cổng nâng cao/SOAP | Hoàn thành 100%  | 100%        |
| Quản trị & Thống kê doanh thu     | Theo ngày/trạng thái| Hoàn thành 100%  | 100%        |
| Báo cáo thống kê lưu lượng Web    | Đếm IP, lượt xem   | Hoàn thành 100%  | 100%        |
+-----------------------------------+--------------------+------------------+-------------+

Khảo sát thử nghiệm nội bộ tại Công ty TNHH Nguyễn Việt cho thấy thời gian lập hóa đơn và xác nhận đơn hàng giảm từ trung bình 25 phút/đơn (phương thức truyền thống) xuống còn dưới 1 phút/đơn qua website.


Đổi mới và đóng góp

  1. Đổi mới phương thức TTTT 2 chiều an toàn: Khác với các website TMĐT phổ thông thời điểm 2013 chỉ dừng lại ở việc nhúng form thanh toán đơn giản (dễ bị người dùng sửa giá trên client), hệ thống đã xây dựng trọn vẹn mô hình Tích hợp nâng cao kết hợp SOAP Web Service. Cơ chế này đảm bảo dữ liệu hóa đơn được mã hóa MD5 hai đầu và tự động đồng bộ hóa trạng thái hóa đơn ngay cả khi đường truyền trình duyệt phía người dùng gặp sự cố.
  2. Chuẩn hóa kiến trúc 3 tầng trên ASP.NET: Phân tách rành mạch mã nguồn giữa tầng truy cập dữ liệu (DAL) và nghiệp vụ kinh doanh (BLL), hạn chế tối đa việc viết câu lệnh truy vấn trực tiếp trong code-behind (ASPX.CS). Điều này giúp hệ thống dễ dàng nâng cấp từ SQL Server 2005 lên các phiên bản CSDL cao hơn mà không ảnh hưởng tới giao diện người dùng.
  3. Giải pháp thực tế cho ngành thiết bị điện: Xây dựng hệ thống danh mục thiết bị điện trực quan, minh bạch thông số kỹ thuật, hình ảnh thực tế và giá cả niêm yết, xóa bỏ khoảng cách thông tin giữa nhà phân phối và khách hàng tiêu dùng lẻ.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Use-case Scenarios)

  • Khách hàng cá nhân (Gia đình/Thợ thi công): Truy cập website gioithieusanpham.aspx, tra cứu aptomat/công tắc theo hãng sản xuất, thêm vào giỏ hàng (Giohang.aspx), nhập thông tin giao hàng và lựa chọn phương thức thanh toán an toàn qua Ví điện tử Ngân Lượng.
  • Ban quản trị Công ty Nguyễn Việt: Đăng nhập vào trang DangNhapAdmin.aspx, truy cập phân hệ ThongKeDonHang.aspx để theo dõi các đơn hàng mới phát sinh, kiểm tra trạng thái thanh toán từ Ngân Lượng, gán mã bưu gửi TrackingNumber và cập nhật trạng thái "Đã chuyển hàng".
+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH VẬN HÀNH THỰC TẾ HÀNG NGÀY                         |
+-----------------------------------------------------------------------------------+
| [Khách Hàng]                                                                      |
|      |                                                                            |
|      +---> [Chọn SP vào Giỏ] ---> [Tạo Đơn Hàng] ---> [Thanh toán Ngân Lượng]     |
|                                                             |                     |
|                                                             v (Callback SOAP)     |
| [Ban Quản Trị Nguyễn Việt] <--- [Cập nhật Đơn Hàng] <---+ [Xác thực MD5 Hash]     |
|      |                                                                            |
|      +---> [Đóng gói SP] ---> [Gán TrackingNumber] ---> [Giao hàng tận nơi]       |
+-----------------------------------------------------------------------------------+

Yêu cầu cấu hình triển khai hệ thống

  • Server: Windows Server 2003 / 2008 R2, IIS 6.0 trở lên, cài đặt .NET Framework 3.5 runtime.
  • Database Server: Microsoft SQL Server 2005 (hoặc SQL Server Express 2005) mở cổng TCP 1433.
  • Network & Domain: Băng thông tối thiểu 10Mbps, IP tĩnh, chứng chỉ bảo mật SSL (HTTPS) cho các trang checkout và thanh toán.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Giao diện được thiết kế với chuẩn kích thước màn hình cố định, chưa áp dụng cơ chế Responsive Web Design tối ưu hoàn toàn cho thiết bị di động (Smartphones/Tablets).
  • Hệ thống chỉ tích hợp duy nhất cổng Nganluong.vn, chưa mở rộng ra các cổng thanh toán quốc tế trực tiếp hoặc các ví điện tử khác.
  • Phân hệ quản lý kho chưa liên thông thời gian thực với phần mềm kế toán nội bộ của doanh nghiệp.

Hướng phát triển trong tương lai

  • Tái cấu trúc ứng dụng sang mô hình ASP.NET MVC / ASP.NET Core kết hợp Web API (RESTful Services).
  • Ứng dụng HTML5, CSS3 Media Queries và Bootstrap để nâng cao trải nghiệm giao diện đa thiết bị.
  • Mở rộng cổng thanh toán đa kênh (VNPAY, MoMo, thẻ tín dụng trực tiếp) và tích hợp API với các đơn vị chuyển phát nhanh (Viettel Post, VNPost).

Đối tượng hưởng lợi

+---------------------------------------------------------------------------------------+
|                         GIÁ TRỊ MANG LẠI CHO CÁC ĐỐI TƯỢNG                            |
+---------------------------------------------------------------------------------------+
|  SINH VIÊN & HỌC VIÊN                                                                 |
|  - Cung cấp mã nguồn tham khảo hoàn chỉnh về mô hình 3-Tier trong C#/ASP.NET          |
|  - Tài liệu mẫu chuẩn về phân tích thiết kế hệ thống thông tin (DFD, ERD, BFD)        |
+---------------------------------------------------------------------------------------+
|  LẬP TRÌNH VIÊN (DEVELOPERS)                                                          |
|  - Đoạn mã mẫu chi tiết về tích hợp cổng thanh toán trực tuyến bảo mật qua MD5/SOAP   |
|  - Giải pháp xử lý transaction an toàn trên SQL Server 2005 bằng Stored Procedures    |
+---------------------------------------------------------------------------------------+
|  DOANH NGHIỆP (CÔNG TY NGUYỄN VIỆT)                                                   |
|  - Giảm 90% chi phí in ấn tài liệu, báo giá và sổ sách bán hàng                       |
|  - Mở rộng thị trường kinh doanh toàn quốc 24/7/365, nâng cao uy tín thương hiệu      |
+---------------------------------------------------------------------------------------+
|  NHÀ NGHIÊN CỨU THƯƠNG MẠI ĐIỆN TỬ                                                    |
|  - Dữ liệu thực nghiệm về mức độ sẵn sàng ứng dụng TMĐT B2C của SMEs Việt Nam         |
|  - Nghiên cứu mô hình tâm lý người dùng khi tiếp cận hình thức thanh toán tạm giữ     |
+---------------------------------------------------------------------------------------+

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai website lên môi trường thực tế là gì?

Để triển khai hệ thống, máy chủ cần cài đặt hệ điều hành Windows Server (2003/2008), kích hoạt Internet Information Services (IIS), cài đặt .NET Framework 3.5 và Microsoft SQL Server 2005. Phía quản trị cần cấu hình đúng chuỗi kết nối trong tệp Web.config và khai báo địa chỉ URL Web Service giao tiếp trên trang quản trị Nganluong.vn.

2. Hệ thống có khả năng mở rộng (Scalability) chịu tải như thế nào khi lượng truy cập tăng đột biến?

Kiến trúc 3 tầng cho phép tách riêng Database Server và Web Server độc lập. Để tăng tải, hệ thống có thể cấu hình chế độ quản lý Session State trên SQL Server hoặc State Server (thay vì In-Proc mặc định), đồng thời áp dụng cơ chế Caching trang danh mục và tối ưu hóa chỉ mục (Indexes) trên các bảng có tần suất truy vấn cao (SanPham, ChiTietDonHang).

3. Làm thế nào để tích hợp hệ thống với các cổng thanh toán khác ngoài Nganluong.vn?

Nhờ vào thiết kế phân tầng BLL, lập trình viên chỉ cần tạo thêm các lớp kế thừa hoặc mở rộng trong thư mục App_Code/Payment/ (ví dụ: VNPay_Checkout.cs, PayPal_Checkout.cs), sau đó gọi phương thức tương ứng tại trang Giohang.aspx mà không cần cấu trúc lại toàn bộ cơ sở dữ liệu.

4. Chi phí duy trì và chế độ bảo trì hệ thống hàng năm ước tính ra sao?

Chi phí vận hành định kỳ bao gồm phí duy trì Tên miền (.vn / .com), chi phí thuê máy chủ hosting Windows/Cloud hàng tháng và chứng chỉ SSL. Hệ thống mã nguồn C# đã được biên dịch thành tập tin MSIL ổn định, giúp giảm thiểu tối đa chi phí bảo trì phát sinh từ lỗi vặt.

5. Cơ chế bảo vệ trước nguy cơ giả mạo số tiền đơn hàng (Tampering Attack) hoạt động ra sao?

Hệ thống sử dụng cơ chế chữ ký điện tử một chiều băm chuỗi MD5 kết hợp khóa bảo mật bí mật secure_pass (chỉ công ty và cổng thanh toán biết). Bất kỳ hành vi thay đổi giá trị price hay order_code trên đường truyền Internet đều làm sai lệch mã băm secure_code, khiến hệ thống lập tức từ chối và hủy bỏ giao dịch.


Kết luận

Đề tài "Xây Dựng Website Kinh Doanh Thiết Bị Điện Dân Dụng Cho Công Ty TNHH Nguyễn Việt" do sinh viên Lê Văn Khánh thực hiện dưới sự hướng dẫn của Thầy Ngô Lê Quân (Khoa Thương Mại Điện Tử – Trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt Hàn) đã hoàn thành xuất sắc các mục tiêu nghiên cứu và ứng dụng thực tiễn.

Dự án không chỉ hiện thực hóa thành công một nền tảng bán hàng trực tuyến B2C hoàn chỉnh trên nền công nghệ ASP.NET (C#) và SQL Server 2005, mà còn mang lại giải pháp thanh toán trực tuyến bảo đảm an toàn qua Nganluong.vn, tạo nền tảng vững chắc cho Công ty TNHH Nguyễn Việt bứt phá doanh số trong kỷ nguyên kinh tế số. Mô hình kiến trúc 3 tầng cùng các giải pháp an ninh dữ liệu được trình bày trong đề tài là tài liệu tham khảo giá trị cho sinh viên, kỹ sư phần mềm và các doanh nghiệp đang tìm kiếm giải pháp chuyển đổi số toàn diện.