Tổng Quan Kiến Trúc Phần Mềm và Mô Hình 3 Lớp (Bài Giảng Nhập Môn Công Nghệ Phần Mềm)

Tổng quan về giáo trình (250-300 từ)

Tài liệu bài giảng "Tổng Quan Kiến Trúc Phần Mềm và Mô Hình 3 Lớp" (thuộc chuyên đề Architecture & Framework) do giảng viên Trần Ngọc Bảo biên soạn và giảng dạy tại Khoa Toán – Tin Học, Trường Đại học Sư phạm TP. Hồ Chí Minh. Trong chương trình đào tạo cử nhân ngành Công nghệ Thông tin và Sư phạm Tin học, bài giảng thuộc học phần Nhập môn Công nghệ Phần mềm – môn học nền tảng thiết lập tư duy thiết kế hệ thống và kỹ thuật xây dựng phần mềm ứng dụng.

Mục tiêu học tập (Learning Outcomes) của tài liệu bao gồm:

  1. Kiến thức kiến trúc: Giúp người học nắm bắt và phân tích được cấu trúc tổng quát của một ứng dụng phần mềm trong hệ thống tin học, phân biệt rõ các mô hình kiến trúc từ 1 lớp, 2 lớp đến 3 lớp (3-tier architecture).
  2. Kỹ thuật lập trình: Trang bị phương pháp lập trình cơ sở dữ liệu thông qua ngôn ngữ Visual Basic kết hợp với thư viện đối tượng ADODB (Microsoft ActiveX Data Objects).
  3. Kỹ năng thiết kế: Giúp người học nắm được nguyên lý và cách thức tổ chức mã nguồn, phân tách chức năng của phần mềm theo mô hình 3 lớp chuẩn mực.

Cấu trúc bài giảng đi từ mô hình khái niệm tổng quát về phần mềm, phân rã các tầng logic (Presentation Logic, Business Logic, Data Access Logic, Database), sau đó đi sâu vào cơ chế kết nối trung gian OLE DB/ADO, cấu trúc đối tượng ADODB, và kết thúc bằng việc hiện thực hóa các thao tác dữ liệu (Insert, Update, Delete, Select) trên các hệ quản trị cơ sở dữ liệu thực tế. Điểm đặc thù của tài liệu là tính trực quan và ứng dụng cao, liên kết chặt chẽ giữa sơ đồ phân rã kiến trúc với mã lệnh lập trình cụ thể.


Nội dung kiến thức cốt lõi (500-600 từ)

+-----------------------------------------------------------------------+
|                           NGƯỜI DÙNG                                  |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  1. Presentation Logic (Hệ thống giao diện)                           |
|     Visual Basic, Visual C++, C#, VB.NET, Delphi                      |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  2. Business Logic (Hệ thống xử lý & kiểm tra)                        |
|     Xử lý nghiệp vụ, tính toán, kiểm tra tính hợp lệ dữ liệu          |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  3. Data Access Logic / Middleware (Giao tiếp dữ liệu)                |
|     ODBC, DAO, ADODB, OLE DB Provider, ADO Object Model               |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  4. Database System (Hệ thống dữ liệu)                                |
|     MS Access (2000/XP/2003), MS SQL Server (7.0/2000/2005), Oracle   |
+-----------------------------------------------------------------------+

Các chương/chủ đề chính

  • Chủ đề 1: Tổng quan cấu trúc hệ thống phần mềm. Phân tích hệ thống tin học thành các phân hệ: Người dùng $\rightarrow$ Hệ thống giao diện $\rightarrow$ Hệ thống xử lý $\rightarrow$ Hệ thống dữ liệu $\rightarrow$ Phần cứng. Thiết lập quy trình 5 bước xử lý thao tác thông thường: (1) Tiếp nhận yêu cầu, (2) Nhập dữ liệu, (3) Kiểm tra, xử lý và truy vấn CSDL, (4) Trả kết quả, (5) Hiển thị kết quả lên giao diện.
  • Chủ đề 2: Phân loại các kiểu kiến trúc ứng dụng. Phân tích chi tiết ba mô hình kiến trúc:
    • Mô hình 1 lớp (1-tier): Tích hợp toàn bộ Presentation Logic, Business Logic và Data Access Logic trong một khối duy nhất.
    • Mô hình 2 lớp (2-tier): Phân tách Client (Giao diện, Xử lý) và Server (Cơ sở dữ liệu).
    • Mô hình 3 lớp (3-tier): Tách bạch 3 thành phần độc lập gồm Presentation Logic, Business Logic và Data Access Logic, tạo điều kiện thuận lợi cho bảo trì và mở rộng.
  • Chủ đề 3: Cấu trúc cơ sở dữ liệu trong phần mềm quản lý. Khảo sát các bài toán quản lý tiêu biểu (Chương trình Kế toán, Nhân sự, Tiền lương) và xác định 3 khối công nghệ:
    • Giao diện: Visual Basic, Visual C++, C#, VB.NET, Delphi.
    • Giao tiếp dữ liệu: ODBC, DAO, ADODB, ADO.NET.
    • Lưu trữ dữ liệu: Microsoft Access (2000/XP/2003), Microsoft SQL Server (7.0/2000/2005), Oracle (8i/9i/10i/11i).
  • Chủ đề 4: Tầng giao tiếp dữ liệu OLE DB và Thư viện ADODB. Trình bày cơ chế hoạt động của OLE DB Data Provider, ODBC Driver và cấu trúc ADO Object Model gồm các đối tượng: Connection, Command, Recordset, Field, Parameter, Property, Error.
  • Chủ đề 5: Hiện thực hóa lập trình CSDL với Visual Basic. Cung cấp cú pháp và mã nguồn chi tiết để thiết lập kết nối (ConnectionString), mở/đóng kết nối (Open, Close), thực thi câu lệnh SQL (Execute) qua Command, và duyệt con trỏ bảng ghi bằng Recordset (MoveFirst, MoveNext, EOF).

Kiến thức nền tảng được xây dựng

  • Nguyên lý phân tách trách nhiệm (Separation of Concerns): Phân chia rõ ràng giữa tầng hiển thị giao diện, tầng xử lý quy tắc nghiệp vụ và tầng giao tiếp cơ sở dữ liệu.
  • Mô hình giao tiếp dữ liệu qua tầng trung gian (Data Middleware Architecture): Bản chất của các Driver kết nối (ODBC, OLE DB) trong việc chuẩn hóa truy cập dữ liệu giữa ứng dụng máy khách và các hệ quản trị CSDL quan hệ khác nhau.
  • Mô hình hướng đối tượng trong truy xuất dữ liệu: Nắm vững vai trò, thuộc tính, phương thức và sự kiện của các đối tượng cốt lõi (ADODB.Connection, ADODB.Command, ADODB.Recordset).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical Skills): Khai báo và tham chiếu thư viện Microsoft ActiveX Data Objects 2.5 Library trong dự án; viết chuỗi kết nối chuẩn cho Access (file *.mdb) và SQL Server (SQLOLEDB.1); viết mã thực thi truy vấn SQL (SELECT, INSERT, UPDATE, DELETE).
  • Kỹ năng phân tích (Analytical Skills): Bóc tách quy trình nghiệp vụ phần mềm thành các bước xử lý dữ liệu logic tương ứng trong từng tầng kiến trúc.
  • Kỹ năng thực hành (Practical Competencies): Thiết kế giao diện biểu mẫu (quản lý học sinh, giáo viên), kết nối form với CSDL backend và thao tác duyệt dữ liệu bằng vòng lặp con trỏ bản ghi.

Phương pháp giảng dạy và học tập (300-350 từ)

Bài giảng áp dụng phương pháp sư phạm kết hợp chặt chẽ giữa lý thuyết hệ thống và thực hành mã nguồn trực quan:

  • Trực quan hóa mô hình (Architectural Diagramming): Mọi khái niệm phân tầng đều được mô hình hóa bằng sơ đồ khối, phân định rõ ranh giới giữa Presentation Logic, Business Logic và Data Access Logic để người học dễ dàng đối chiếu.
  • Nghiên cứu tình huống và bài tập thực hành (Case Studies & Exercises): Bài giảng sử dụng các bài toán thực tế trong quản lý trường học và doanh nghiệp làm bài tập xuyên suốt:
    • Hệ thống Quản lý Học sinh: Kết nối tập tin QLHS.mdb, thao tác trên bảng dữ liệu HS.
    • Hệ thống Quản lý Nhân sự, Chương trình Kế toán, Quản lý Tiền lương.
    • Thiết kế giao diện nhập liệu thông tin giáo viên và thông tin học sinh.
  • Thực hành mã nguồn từng bước (Code Walkthrough): Hướng dẫn chi tiết từng dòng lệnh từ khâu khai báo đối tượng (Dim con As New ADODB.Connection), gán chuỗi thông số (ConnectionString), mở kết nối (con.Open), tạo lệnh (cmd.CommandText = "Select * from HS"), cho đến khi đóng tài nguyên (con.Close).
  • Phương pháp đánh giá (Assessment Methods): Người học được đánh giá thông qua khả năng thiết lập kết nối CSDL chính xác, kỹ thuật viết thủ tục tương tác dữ liệu an toàn và năng lực tổ chức dự án phần mềm theo đúng mô hình phân lớp.
  • Hướng dẫn tự học (Self-study Guidelines): Sinh viên cần cài đặt môi trường Microsoft Visual Basic kèm các hệ quản trị CSDL (MS Access hoặc MS SQL Server), thực hành tuần tự từ các bài tập kết nối 1 lớp, 2 lớp trước khi cấu trúc lại toàn bộ mã nguồn theo chuẩn 3 lớp.

Điểm nổi bật và cập nhật (250-300 từ)

Tài liệu thể hiện tính hệ thống và chuẩn mực trong việc đào tạo nền tảng kỹ thuật phần mềm:

  • Hệ thống hóa toàn diện các công nghệ kết nối dữ liệu: Bài giảng so sánh và phân loại rõ ràng các chuẩn giao tiếp qua từng thời kỳ: từ DAO, ODBC cho đến OLE DB và ADODB, giúp người học hiểu rõ bản chất của các tầng giao tiếp dữ liệu (Data Access Layer).
  • Hỗ trợ đa dạng hệ quản trị cơ sở dữ liệu: Nội dung cung cấp cấu hình chuỗi kết nối và kỹ thuật truy xuất đồng thời trên nhiều hệ quản trị CSDL phổ biến trong thực tế:
    • Tệp tin cục bộ: Microsoft Access 2000/XP/2003 (thông qua Jet OLE DB Provider).
    • Cơ sở dữ liệu Client-Server: Microsoft SQL Server 7.0/2000/2005 (thông qua SQLOLEDB Provider).
    • Hệ cơ sở dữ liệu doanh nghiệp: Oracle 8i/9i/10i/11i.
  • Quy trình hóa luồng dữ liệu 5 bước: Đơn giản hóa quy trình tương tác phần mềm thành các bước tuần tự rõ ràng (Nhập $\rightarrow$ Xử lý $\rightarrow$ Truy vấn $\rightarrow$ Trả kết quả $\rightarrow$ Hiển thị), tạo nền tảng vững chắc để người học tiếp cận các mô hình kiến trúc hiện đại như MVC (Model-View-Controller) hoặc N-Tier sau này.

Đối tượng sử dụng giáo trình (200-250 từ)

  • Sinh viên đại học: Tài liệu được biên soạn phục vụ trực tiếp cho sinh viên năm 2 và năm 3 thuộc Khoa Toán – Tin học, các chuyên ngành Sư phạm Tin học, Khoa học Máy tính, Kỹ thuật Phần mềm và Hệ thống Thông tin.
  • Yêu cầu kiến thức tiên quyết (Prerequisites):
    • Đã hoàn thành học phần Lập trình căn bản (nắm vững cú pháp Visual Basic, C++ hoặc ngôn ngữ tương đương).
    • Đã học qua học phần Cơ sở dữ liệu (hiểu rõ mô hình quan hệ và các câu lệnh SQL căn bản: SELECT, INSERT, UPDATE, DELETE).
  • Giảng viên: Sử dụng bài giảng làm khung đề cương chi tiết cho các buổi học lý thuyết kết hợp thực hành phòng máy môn Nhập môn Công nghệ Phần mềm.
  • Tài liệu tham khảo cho người tự học: Phù hợp cho lập trình viên cần nắm vững cơ chế hoạt động của ADODB và phương pháp bóc tách mã nguồn theo mô hình 3 lớp trong phát triển phần mềm ứng dụng quản lý.

Câu hỏi thường gặp (250-300 từ)

1. Tài liệu này tập trung vào nội dung trọng tâm nào?

Tài liệu tập trung vào hai nội dung cốt lõi: Lý thuyết phân tầng kiến trúc ứng dụng (mô hình 1 lớp, 2 lớp, 3 lớp) và Kỹ thuật lập trình tương tác cơ sở dữ liệu sử dụng ngôn ngữ Visual Basic kết hợp thư viện ADODB.

2. Người học cần chuẩn bị kiến thức nền tảng gì trước khi học tài liệu này?

Cần nắm vững kiến thức lập trình căn bản (biến, thủ tục, cấu trúc điều khiển) và cú pháp ngôn ngữ truy vấn cơ sở dữ liệu SQL (câu lệnh truy vấn, thêm, xóa, sửa dữ liệu).

3. Sự khác biệt căn bản giữa mô hình 2 lớp và mô hình 3 lớp trong bài giảng là gì?

Trong mô hình 2 lớp, phần xử lý nghiệp vụ (Business Logic) thường được tích hợp chung vào tầng giao diện (Client) hoặc tầng CSDL (Stored Procedures). Trong mô hình 3 lớp, Presentation Logic, Business Logic và Data Access Logic được tách thành 3 tầng độc lập, giúp ứng dụng dễ bảo trì, tái sử dụng và kiểm thử hơn.

4. Thư viện ADODB được bài giảng hướng dẫn tích hợp như thế nào?

Người học tích hợp thông qua menu môi trường lập trình: chọn Project $\rightarrow$ References $\rightarrow$ đánh dấu chọn Microsoft ActiveX Data Objects 2.5 Library $\rightarrow$ bấm OK.

5. Bài giảng cung cấp những ví dụ mã nguồn kết nối CSDL nào?

Bài giảng cung cấp mã nguồn kết nối cụ thể cho MS Access (thông qua tệp tin QLHS.mdb) và MS SQL Server (kết nối máy chủ với chuỗi thông số Provider=SQLOLEDB.1, User ID, Password, Initial Catalog, Data Source).


Kết luận (150 từ)

Bài giảng "Tổng Quan Kiến Trúc Phần Mềm và Mô Hình 3 Lớp" của Khoa Toán – Tin Học, Trường Đại học Sư phạm TP. Hồ Chí Minh cung cấp hệ thống kiến thức nền tảng, chuẩn xác về kiến trúc phần mềm và kỹ thuật truy xuất dữ liệu Client-Server. Thông qua việc phân tích cấu trúc 3 lớp kết hợp hướng dẫn chi tiết mô hình đối tượng ADODB trên Visual Basic, tài liệu giúp người học hình thành tư duy phân tầng hệ thống và rèn luyện kỹ năng viết mã tương tác dữ liệu bài bản.

Lộ trình học tập đề xuất:

  1. Nghiên cứu sơ đồ luồng xử lý và sự khác biệt giữa các mô hình kiến trúc 1 lớp, 2 lớp, 3 lớp.
  2. Tìm hiểu cấu trúc ADO Object Model (Connection, Command, Recordset).
  3. Thực hành viết thủ tục kết nối CSDL MS Access và MS SQL Server.
  4. Triển khai hoàn chỉnh các chức năng CRUD cho ứng dụng quản lý theo mô hình 3 lớp.

Tài liệu bổ trợ khuyến nghị: Tài liệu kỹ thuật Microsoft ActiveX Data Objects (ADO) Documentation, giáo trình Cơ sở dữ liệu quan hệ và tài liệu hướng dẫn quản trị Microsoft SQL Server.