Bối cảnh và vấn đề nghiên cứu

Vào giai đoạn những năm 2005 - 2006, sự bùng nổ của thị trường máy tính xách tay (laptop) cùng sự đa dạng hóa về thông số phần cứng (bộ vi xử lý, dung lượng bộ nhớ RAM, ổ đĩa cứng, kích thước màn hình, trọng lượng) đã tạo ra nhu cầu lớn về các công cụ hỗ trợ người tiêu dùng tra cứu và chọn lựa thiết bị phù hợp. Đồng thời, về mặt công nghệ phần mềm, hãng Microsoft đã giới thiệu nền tảng .NET Framework cùng công nghệ xử lý phía máy chủ ASP.NET nhằm thay thế mô hình ASP cổ điển (ASP 3.0), mang lại kiến trúc lập trình hướng đối tượng, tách biệt giao diện và mã nguồn (Code-Behind).

Trong bối cảnh đó, đề tài đồ án tốt nghiệp cử nhân "Chương trình hỗ trợ lựa chọn máy laptop" được sinh viên Nguyễn Tuấn Phụng thực hiện dưới sự hướng dẫn của Th.S Nguyễn Ngọc Trung tại Bộ môn Tin học, Khoa Toán - Tin học, Trường Đại học Sư phạm Thành phố Hồ Chí Minh (năm 2006). Đề tài hướng tới việc giải quyết bài toán hỗ trợ người dùng lọc, tra cứu cấu hình laptop theo nhiều tiêu chí phần cứng thông qua giao diện web tương tác, đồng thời xây dựng phân hệ quản trị dữ liệu hoàn chỉnh.

Nhiệm vụ và mục tiêu nghiên cứu cụ thể bao gồm:

  1. Nghiên cứu tổng quan nền tảng Microsoft .NET Framework, kiến trúc công nghệ web ASP.NET và ngôn ngữ lập trình C#.
  2. Khảo sát các thành phần điều khiển máy chủ (Server Controls), cơ chế biên dịch trang ASPX và mô hình kiến trúc phân tầng (Multi-Tier Architecture).
  3. Thiết kế cơ sở dữ liệu quan hệ lưu trữ thông số kỹ thuật các dòng máy tính xách tay và các bảng danh mục cấu hình.
  4. Xây dựng và triển khai ứng dụng web hoàn chỉnh gồm giao diện tìm kiếm/lọc đa tiêu chí cho người dùng và giao diện quản trị (thêm, xóa, sửa, đổi mật khẩu) trên máy chủ web Internet Information Server (IIS).

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Công nghệ ASP.NET, ngôn ngữ lập trình C#, hệ quản trị cơ sở dữ liệu Microsoft Access, và quy trình xử lý dữ liệu tìm kiếm/lọc cấu hình máy laptop.
  • Phạm vi không gian và thời gian: Đồ án được nghiên cứu và thực nghiệm tại Trường Đại học Sư phạm TP.HCM vào năm 2006; triển khai thử nghiệm trên môi trường máy chủ cục bộ (localhost) sử dụng hệ điều hành Microsoft Windows XP Professional / Windows 2000 / Windows Server 2003.

Cơ sở lý thuyết và phương pháp

Đồ án xây dựng nền tảng lý thuyết dựa trên hệ thống công nghệ của Microsoft kết hợp với các phương pháp phát triển phần mềm ứng dụng:

Khung lý thuyết và công nghệ nền tảng

  • Công nghệ ASP.NET và mô hình Web Forms: Cơ chế xử lý mã lệnh hoàn toàn phía máy chủ (Server-side processing), độc lập với trình duyệt của người dùng cuối. Ứng dụng mô hình lập trình hướng sự kiện tương tự môi trường Windows Forms, phân tách rõ ràng giữa tệp giao diện (.aspx) và tệp mã nguồn xử lý (Code-Behind dạng .vb hoặc .cs).
  • Mô hình kiến trúc đa tầng (Multi-Tier Architecture): Phân chia hệ thống thành 3 tầng chức năng độc lập:
    • Presentation Tier (Tầng trình diễn): Chứa các trang ASP.NET định dạng giao diện người dùng và tiếp nhận sự kiện.
    • Business Tier (Tầng xử lý nghiệp vụ): Chứa các lớp đối tượng thực thi logic nghiệp vụ và xử lý tính toán.
    • Data Tier (Tầng dịch vụ dữ liệu): Đảm nhiệm việc kết nối, truy vấn và cập nhật cơ sở dữ liệu.
  • Nền tảng .NET Framework và CLR (Common Language Runtime): Môi trường thực thi quản lý mã lệnh (managed code), hỗ trợ thu gom rác tự động (Garbage Collection), kiểm soát kiểu dữ liệu an toàn (Type Safety), hệ thống kiểu dữ liệu chung và khả năng tương tác đa ngôn ngữ (Cross-language).
  • Ngôn ngữ lập trình C#: Ngôn ngữ lập trình thuần hướng đối tượng, cú pháp kế thừa từ họ C/C++, hỗ trợ cấu trúc lớp (class), giao diện (interface), biến cố (event), cấu trúc (struct) và xử lý ngoại lệ.

Phương pháp nghiên cứu

  • Phương pháp phân tích - tổng hợp tài liệu: Nghiên cứu tài liệu kỹ thuật về .NET Framework SDK, vòng đời sự kiện của trang Web Form (Page_Load, Page_Unload), các bộ điều khiển máy chủ (Intrinsic Controls, List Controls, Rich Controls, Validation Controls).
  • Phương pháp thiết kế và phát triển hệ thống: Thiết kế mô hình dữ liệu quan hệ trên Microsoft Access, lập trình mã nguồn ứng dụng web bằng C#/VB.NET trong môi trường Microsoft Visual Studio .NET, và thiết lập cấu hình hệ thống qua tệp tin web.config.
  • Phương pháp thực nghiệm: Cài đặt dịch vụ IIS 5.0, cấu hình thư mục ảo (Virtual Directory), kiểm thử luồng tìm kiếm lọc dữ liệu và các chức năng cập nhật dữ liệu trên môi trường máy chủ Windows.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc ứng dụng web hướng đối tượng, tích hợp các bộ điều khiển máy chủ và cơ sở dữ liệu quan hệ.

1. Kiến trúc hệ thống và tệp tin cấu hình

Ứng dụng được tổ chức thành dự án web đặt trong thư mục gốc của máy chủ IIS (C:\Inetpub\wwwroot\Tphung). Cấu hình hệ thống được tập trung hóa trong tệp web.config theo định dạng XML, cho phép quản lý chuỗi kết nối cơ sở dữ liệu (connection string), thông số thời gian chờ (timeout) và bảo mật mà không cần can thiệp vào mã nguồn đã biên dịch:

<configuration>
  <appSettings>
    <add key="conn" value="Provider=SQLOLEdb.1;Persist Security Info=False;UID=sa;PWD=;Initial Catalog=intershop;Server=localhost"/>
  </appSettings>
</configuration>

2. Thiết kế cơ sở dữ liệu (Microsoft Access)

Hệ thống sử dụng cơ sở dữ liệu Microsoft Access bao gồm bảng dữ liệu chính lưu thông tin máy tính xách tay và các bảng danh mục tham chiếu nhằm đảm bảo tính toàn vẹn dữ liệu:

Tên bảng Chức năng chính Các trường dữ liệu cơ bản
Bang thong tin may laptop Lưu trữ thông tin chi tiết từng máy laptop Mã máy, Tên máy, Mã hãng SX, Mã CPU, Mã RAM, Mã HDD, Mã Display, Mã Trọng lượng, Chi tiết khác, Hình ảnh
Bang CPU Danh mục bộ vi xử lý Mã CPU, Tốc độ, Đơn vị (MHz, GHz)
Bang HDD Danh mục dung lượng ổ cứng Mã HDD, Dung lượng (GB)
Bang RAM Danh mục bộ nhớ trong Mã RAM, Dung lượng, Đơn vị (MB, GB)
Bang Display Danh mục kích thước màn hình Mã Display, Kích thước màn hình (12.1", 14.1", 15", 15.4", 17" TFT...)
Bang Trong luong Danh mục trọng lượng thiết bị Mã Trọng lượng, Trọng lượng (Kg)
Bang Nha cung cap / Hang SX Danh mục thương hiệu sản xuất Mã Hãng, Tên hãng (Compaq, BenQ, Dell, Sony, Gigabyte, Acer, Apple...)
Bang du lieu dang nhap Tài khoản quản trị hệ thống Tên đăng nhập, Mật khẩu quản trị

3. Quy trình biên dịch và thực thi trang ASPX

Khi trình khách gửi yêu cầu lần đầu tiên đến trang .aspx, máy chủ IIS tiếp nhận và chuyển tiếp đến trình biên dịch của .NET Framework. Trang giao diện và mã nguồn Code-Behind được biên dịch thành tập tin lớp (class) rồi đóng gói thành tệp thư viện liên kết động (.dll) lưu tại thư mục hệ thống Temporary ASP.NET Files. Trong các lần truy cập tiếp theo, hệ thống thực thi trực tiếp tệp .dll này để trả kết quả mã HTML về cho trình duyệt, giúp tối ưu hóa tốc độ xử lý.


Nội dung chính theo từng chương

Chương 1: Giới thiệu ASP.NET

Chương 1 trình bày tổng quan về sự phát triển của công nghệ ASP.NET từ Microsoft. Tác giả phân tích cơ chế xử lý hoàn toàn phía máy chủ (Server-side), tính tương thích và khả năng chạy song song giữa ASP.NET và ASP 3.0 trên cùng máy chủ Windows 2000/IIS mà không làm thay đổi cấu hình hệ thống cũ.

Chương này đi sâu vào các đặc tính vượt trội của ASP.NET:

  • Độc lập ngôn ngữ: Cho phép lập trình viên lựa chọn C#, VB.NET hoặc C++.
  • Mô hình Code-Behind: Phân tách hoàn toàn mã nguồn xử lý logic ra khỏi giao diện HTML, giúp mã nguồn tường minh, dễ nâng cấp và bảo trì.
  • Hệ thống điều khiển phong phú: Bao gồm Điều khiển nội tại (Intrinsic Controls như <asp:Button>, <asp:TextBox>, <asp:DropDownList>), Điều khiển danh sách (List Controls hỗ trợ ràng buộc dữ liệu), Điều khiển đa năng (Rich Controls tạo giao diện phức tạp) và Điều khiển kiểm tra (Validation Controls tự động kiểm tra định dạng dữ liệu ở cả hai phía Client/Server trước khi gửi yêu cầu PostBack).
  • Mô hình kiến trúc đa tầng: Phân rã hệ thống thành Presentation Tier, Business Tier và Data Tier.

Chương 2: .NET Framework và cấu trúc trang ASPX

Chương 2 phân tích kiến trúc nền tảng .NET Framework với trọng tâm là Common Language Runtime (CLR) và Common Language Specification (CLS). CLR đóng vai trò quản lý thực thi mã lệnh, cấp phát bộ nhớ và xử lý lỗi ngoại lệ.

Tác giả giải thích chi tiết chu trình biên dịch trang ASPX thành tập tin .dll lưu trữ tại thư mục Temporary ASP.NET Files trên môi trường Windows XP và Windows Server 2003. Đồng thời, chương này hướng dẫn quy trình tạo dự án Web Form trong Visual Studio .NET, thao tác thiết kế giao diện từ thanh công cụ Toolbox, quản lý thuộc tính đối tượng và phương pháp cấu hình chuỗi kết nối cơ sở dữ liệu tập trung thông qua tệp tin web.config.

Chương 3: Giới thiệu ngôn ngữ C#

Chương 3 cung cấp cơ sở lý thuyết toàn diện về ngôn ngữ lập trình C# – ngôn ngữ hướng đối tượng được thiết kế tối ưu cho nền tảng .NET Framework. Tác giả hệ thống hóa:

  • Hệ thống kiểu dữ liệu: Các kiểu số nguyên có dấu/không dấu (sbyte, byte, short, ushort, int, uint, long, ulong), số thực (float, double), ký tự Unicode (char), kiểu luận lý (bool) và kiểu chuỗi ký tự (string).
  • Các phép toán và toán tử: Phép toán số học, phép toán luận lý (&&, ||, !), phép toán so sánh, toán tử gán và tác tử tăng giảm tiền tố/hậu tố (++, --).
  • Các cấu trúc điều khiển: Cấu trúc rẽ nhánh if, if-else, if lồng nhau, cấu trúc lựa chọn switch-case (đặc biệt hỗ trợ so khớp chuỗi ký tự và lệnh goto case), các vòng lặp for, while và do-while.
  • Cấu trúc mảng và lập trình hướng đối tượng: Khai báo và khởi tạo mảng một chiều, mảng hai chiều với cơ chế tự động thu gom rác (Garbage Collection); cú pháp định nghĩa lớp (class), phương thức, thuộc tính và kiểu cấu trúc tự định nghĩa (struct).

Chương 4: Tổng quan về chương trình hỗ trợ lựa chọn máy laptop

Chương 4 là phần nội dung trọng tâm mô tả chi tiết các phân hệ chức năng và giao diện của phần mềm:

  • Trang chủ (frm_index.aspx): Đóng vai trò điều hướng người dùng tới phân hệ tìm kiếm hoặc phân hệ quản trị nhập liệu.
  • Trang tìm kiếm (search.aspx): Cung cấp giao diện lọc cấu hình laptop đa tiêu chí (Hãng sản xuất, CPU, RAM, HDD, Màn hình, Trọng lượng). Giao diện sử dụng hoàn toàn danh sách lựa chọn dạng thả xuống (dropdown list) để loại bỏ sai sót do người dùng nhập thủ công. Kết quả hiển thị mặc định phân thành 10 trang, tích hợp khả năng sắp xếp tăng/giảm linh hoạt theo từng cột thông số.
  • Trang đăng nhập (frm_Login.aspx): Cơ chế xác thực tài khoản và mật khẩu bảo mật trước khi cấp quyền truy cập hệ thống quản trị.
  • Trang nhập liệu và quản trị (frm_Welcome.aspx): Cho phép thực hiện các thao tác Thêm, Xóa, Sửa thông tin cấu hình laptop. Đồng thời, trang cung cấp các biểu mẫu con độc lập để cập nhật danh mục linh kiện (Cập nhật Hãng sản xuất, Cập nhật CPU, Cập nhật HDD, Cập nhật Màn hình Display, Cập nhật RAM, Cập nhật Trọng lượng), dữ liệu mới sẽ tự động đồng bộ vào các danh sách lựa chọn khi thêm máy mới.
  • Trang thay đổi mật khẩu: Cho phép quản trị viên cập nhật thông tin xác thực tài khoản.
  • Cấu trúc cơ sở dữ liệu Access: Mô tả chi tiết sơ đồ quan hệ giữa bảng máy laptop và các bảng danh mục tham chiếu.

Chương 5: Hướng dẫn sử dụng chương trình hỗ trợ lựa chọn máy laptop

Chương 5 cung cấp tài liệu hướng dẫn triển khai và vận hành hệ thống trên môi trường cục bộ:

  • Quy trình cài đặt dịch vụ máy chủ web IIS 5.0 thông qua công cụ Add/Remove Windows Components trên hệ điều hành Windows XP Professional.
  • Cài đặt gói thực thi .NET Framework 1.1 từ đĩa cài đặt.
  • Sao chép mã nguồn chương trình vào thư mục máy chủ cục bộ C:\Inetpub\wwwroot\Tphung, thiết lập cấu hình thư mục ảo (Virtual Directory) trong giao diện Internet Information Services Management, và truy cập kiểm thử ứng dụng qua trình duyệt web tại địa chỉ http://localhost/Tphung/frm_index.aspx.

Kết quả và đóng góp

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

  1. Xây dựng hoàn chỉnh ứng dụng web quản lý và tra cứu: Phần mềm thực thi ổn định các chức năng tìm kiếm, lọc dữ liệu máy tính xách tay theo nhiều tiêu chí phần cứng kết hợp, phân trang kết quả hiển thị và sắp xếp cột dữ liệu.
  2. Thiết lập phân hệ quản trị danh mục linh hoạt: Quản trị viên có thể cập nhật thông tin máy laptop cũng như bổ sung độc lập các danh mục thành phần phần cứng (CPU, RAM, ổ cứng, màn hình, trọng lượng, thương hiệu).
  3. Ứng dụng thành công công nghệ mới: Hiện thực hóa mô hình lập trình Web Forms với cơ chế Code-Behind, tách biệt hoàn toàn mã giao diện và mã logic, quản trị cấu hình ứng dụng thông qua tệp XML web.config.

Giải pháp kỹ thuật đề xuất trong đề tài

  • Chuẩn hóa phương thức nhập liệu tìm kiếm: Thay vì cho phép người dùng gõ văn bản tự do (dễ phát sinh lỗi chính tả hoặc không khớp dữ liệu), hệ thống chuẩn hóa toàn bộ các tiêu chí thành các danh sách chọn lựa (DropDownList), giúp câu truy vấn luôn đảm bảo tính chính xác.
  • Tối ưu hóa quy trình cập nhật dữ liệu: Phân tách việc cập nhật máy laptop thành hai nhóm: các mục cố định/ít thay đổi (Hãng, CPU, RAM, HDD, Màn hình, Trọng lượng) được chọn qua danh mục có sẵn; các mục thay đổi thường xuyên (Tên máy, Chi tiết khác) được nhập trực tiếp.

Đóng góp học thuật và thực tiễn

Đồ án là công trình nghiên cứu ứng dụng có giá trị thực tiễn trong việc tiếp cận và chuyển giao công nghệ lập trình web tiên tiến (.NET Framework 1.1, ASP.NET, C#) vào chương trình đào tạo Cử nhân Sư phạm Tin học tại Trường Đại học Sư phạm TP.HCM ở giai đoạn năm 2006.


Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Hệ quản trị cơ sở dữ liệu: Ứng dụng sử dụng Microsoft Access, định dạng tệp tin này phù hợp cho quy mô dữ liệu nhỏ và thử nghiệm cục bộ, nhưng bị giới hạn về khả năng xử lý truy cập đồng thời lớn và độ an toàn dữ liệu so với các hệ quản trị CSDL chuyên dụng.
  • Môi trường triển khai: Hệ thống được cấu hình và kiểm thử trên môi trường máy đơn (localhost) sử dụng IIS 5.0 và Windows XP Professional, chưa cấu hình môi trường mạng diện rộng hoặc chứng chỉ số bảo mật chuyên sâu.
  • Giao diện người dùng: Giao diện được thiết kế theo tiêu chuẩn HTML 4.0 và bố cục lưới bảng truyền thống, chưa tích hợp các công nghệ bất đồng bộ (AJAX) vốn xuất hiện ở các phiên bản .NET sau này.

Hướng phát triển

  • Chuyển đổi và nâng cấp hệ thống cơ sở dữ liệu từ Microsoft Access sang Microsoft SQL Server nhằm tăng cường hiệu năng, tính toàn vẹn và bảo mật dữ liệu.
  • Mở rộng các thuật toán so sánh chi tiết giữa hai hoặc nhiều dòng laptop cùng phân khúc giá.
  • Phát triển thêm các phân hệ thương mại điện tử như giỏ hàng, đặt hàng trực tuyến và hỗ trợ tư vấn trực tiếp cho khách hàng.

Giá trị tham khảo

Tài liệu đồ án này mang lại giá trị tham khảo hữu ích cho:

  • Sinh viên ngành Sư phạm Tin học và Công nghệ Thông tin: Là tài liệu tham khảo trực quan về cấu trúc một đồ án tốt nghiệp xây dựng phần mềm hoàn chỉnh, từ nghiên cứu lý thuyết công nghệ, thiết kế CSDL quan hệ đến lập trình và viết tài liệu hướng dẫn triển khai.
  • Người học lập trình web .NET căn bản: Cung cấp kiến thức nền tảng có hệ thống về kiến trúc ASP.NET Web Forms, cách sử dụng các nhóm Server Controls, cơ chế hoạt động của tệp web.config và cú pháp lập trình C#.
  • Các đề tài xây dựng hệ thống tra cứu/lọc dữ liệu: Cung cấp mô hình tham khảo về giải pháp thiết kế giao diện tìm kiếm đa tiêu chí kết hợp phân trang và sắp xếp dữ liệu.

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

1. Ứng dụng trong đồ án sử dụng nền tảng công nghệ và hệ quản trị cơ sở dữ liệu nào?

Hệ thống được phát triển trên nền tảng Microsoft .NET Framework 1.1, sử dụng công nghệ ASP.NET (mô hình Web Forms với ngôn ngữ C#/VB.NET), chạy trên máy chủ web Internet Information Server (IIS 5.0) và lưu trữ dữ liệu bằng hệ quản trị cơ sở dữ liệu Microsoft Access.

2. Trang tìm kiếm laptop (search.aspx) hoạt động như thế nào khi người dùng chọn nhiều tiêu chí?

Khi người dùng chọn một hoặc nhiều tiêu chí từ các danh sách thả xuống (Hãng sản xuất, CPU, RAM, Ổ cứng, Màn hình, Trọng lượng), hệ thống sẽ thực hiện truy vấn lọc dữ liệu và chỉ hiển thị các máy laptop thỏa mãn tất cả các tiêu chí đã chọn. Kết quả được phân trang mặc định thành 10 trang và cho phép người dùng nhấp vào tiêu đề các cột để sắp xếp thứ tự tăng dần hoặc giảm dần.

3. Cơ chế Code-Behind trong ASP.NET được triển khai như thế nào trong đồ án?

ASP.NET phân tách một trang Web Form thành hai phần: tệp .aspx chứa các đối tượng điều khiển giao diện người dùng và tệp .vb (hoặc .cs) chứa mã nguồn xử lý sự kiện (Code-Behind). Cả hai được liên kết qua chỉ dẫn @Page ở đầu trang (ví dụ: <%@ Page Language="vb" Codebehind="login.vb" Inherits="Examples.WebForm1" %>).

4. Phân hệ quản trị (frm_Welcome.aspx) xử lý việc cập nhật linh kiện mới chưa có trong danh mục như thế nào?

Đối với các thông số linh kiện chưa có sẵn (như hãng sản xuất mới, loại CPU mới, dung lượng RAM/HDD mới), quản trị viên sẽ truy cập vào các biểu mẫu cập nhật danh mục riêng biệt (Cập nhật Hãng sản xuất, Cập nhật CPU, Cập nhật HDD, Cập nhật Màn hình, Cập nhật RAM, Cập nhật Trọng lượng). Sau khi nhập và lưu, thông tin mới sẽ tự động hiển thị trong các danh sách chọn của biểu mẫu quản lý máy laptop.

5. Quá trình biên dịch trang ASPX trên máy chủ diễn ra như thế nào?

Khi người dùng truy cập trang ASPX lần đầu, IIS sẽ triệu gọi trình biên dịch dịch trang (và mã Code-Behind) thành một tập tin lớp (class), sau đó đóng gói thành tập tin DLL lưu trong thư mục Temporary ASP.NET Files. Trong các lần gọi kế tiếp, tập tin DLL này được tái sử dụng trực tiếp để phản hồi kết quả, giúp tăng tốc độ thực thi của ứng dụng.


Kết luận

Đồ án tốt nghiệp "Chương trình hỗ trợ lựa chọn máy laptop" của tác giả Nguyễn Tuấn Phụng (năm 2006) là một công trình nghiên cứu ứng dụng hoàn chỉnh về việc triển khai công nghệ ASP.NET, .NET Framework 1.1 và C# trong xây dựng phần mềm hướng dịch vụ web. Tác giả đã thiết kế thành công hệ thống tra cứu cấu hình laptop đa tiêu chí kết hợp phân hệ quản trị danh mục linh hoạt trên nền cơ sở dữ liệu Microsoft Access. Công trình đáp ứng đầy đủ các yêu cầu chuẩn mực của một đồ án cử nhân Sư phạm Tin học, thể hiện năng lực tổng hợp lý thuyết công nghệ và kỹ năng xây dựng phần mềm ứng dụng thực tiễn.