GIÁO TRÌNH PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN – TRẦN ĐÌNH QUẾ

Tổng quan về giáo trình

Giáo trình Phân tích và Thiết kế Hệ thống Thông tin do PGS. TS. Trần Đình Quế biên soạn là tài liệu học tập chính thức phục vụ chương trình đào tạo theo hệ thống tín chỉ bậc đại học ngành Công nghệ Thông tin tại Học viện Công nghệ Bưu chính Viễn thông. Trong khung chương trình đào tạo kỹ sư và cử nhân công nghệ thông tin, môn học Phân tích và Thiết kế Hệ thống Thông tin giữ vị trí bản lề, kết nối giữa nhóm kiến thức lập trình cơ sở (như lập trình hướng đối tượng, cấu trúc dữ liệu) với các môn học chuyên sâu về công nghệ phần mềm và triển khai dự án thực tế.

Mục tiêu học tập của giáo trình nhằm cung cấp cho người học nền tảng lý thuyết và kỹ năng thực hành hoàn chỉnh về mô hình hóa hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language). Sau khi hoàn thành nội dung tài liệu, người học có khả năng thực hiện tuần tự các pha phát triển phần mềm: từ xác định yêu cầu nghiệp vụ, phân tích tĩnh và phân tích động, đến thiết kế kiến trúc đa tầng, thiết kế chi tiết các hệ thống con và ánh xạ mô hình đối tượng sang cơ sở dữ liệu quan hệ.

Cấu trúc giáo trình gồm 6 chương lý thuyết kèm 2 phụ lục kỹ thuật, tiếp cận theo tiến trình phát triển phần mềm hợp nhất (Unified Process - UP). Điểm đặc thù của tài liệu là việc ứng dụng một case study điển hình – "Hệ quản lý đăng ký học theo tín chỉ" – xuyên suốt qua các chương, kết hợp với các ví dụ thực tế (hệ thống quản lý thư viện, hệ thống bán hàng trực tuyến) và mã nguồn minh họa bằng ngôn ngữ Java.


Nội dung kiến thức cốt lõi

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

Nội dung giáo trình được triển khai theo tiến trình logic của một vòng đời phát triển phần mềm hướng đối tượng:

  • Chương 1: Cơ sở của phát triển phần mềm hướng đối tượng: Phân loại hệ thống thông tin thành 4 mức quản trị và 6 kiểu hệ thống chức năng (TPS, KBS, OAS, MIS, DSS, ESS). Trình bày các khái niệm nền tảng: lớp, đối tượng, phương thức, thông điệp, đóng gói, ẩn giấu thông tin, đa xạ, ràng buộc động; phân loại 4 dạng quan hệ cơ bản giữa các lớp (liên kết, kết hợp, hợp thành, kế thừa); các mức độ sử dụng lại mã nguồn (từ hàm, lớp, thư viện đến mẫu thiết kế và khuôn dạng phần mềm).
  • Chương 2: Mô hình hóa hệ phần mềm hướng đối tượng: Tổng quan lịch sử phát triển của chuẩn UML từ các phương pháp luận của Grady Booch, James Rumbaugh và Ivar Jacobson. Phân loại 14 biểu đồ trong UML 2.0 thành hai nhóm: 7 biểu đồ cấu trúc tĩnh (lớp, đối tượng, thành phần, gói, triển khai, cấu trúc phức hợp, profile) và 7 biểu đồ hành vi động (ca sử dụng, hoạt động, tuần tự, giao tiếp, trạng thái, bao quát tương tác, thời khắc). Trình bày tổng quan phương pháp luận phát triển phần mềm (UP).
  • Chương 3: Xác định yêu cầu: Quy trình xác định yêu cầu nghiệp vụ và yêu cầu hệ thống. Hướng dẫn lập bảng thuật ngữ, nhận diện tác nhân (actor), xây dựng biểu đồ ca sử dụng (use case diagram) với các quan hệ <<include>>, <<extend>>, generalization; xây dựng kịch bản chi tiết, biểu đồ hoạt động và phác họa giao diện người dùng.
  • Chương 4: Phân tích yêu cầu: Thực hiện phân tích tĩnh (xác định thuộc tính, quan hệ và xây dựng biểu đồ lớp thực thể, lớp biên, lớp điều khiển) và phân tích động (xây dựng biểu đồ giao tiếp, phân bổ trách nhiệm và gán phương thức cho các lớp, xây dựng biểu đồ trạng thái). Ứng dụng trực tiếp vào case study Quản lý đăng ký học theo tín chỉ.
  • Chương 5: Thiết kế kiến trúc hệ thống: Lựa chọn hình trạng mạng (kiến trúc 1 tầng, 2 tầng, 3 tầng, Client-Server và hệ phân tán). Thiết kế tương tranh, giải pháp an toàn – bảo mật, phân rã hệ thống con và tổ chức cấu trúc biểu đồ gói (package diagram), minh họa qua mô hình Java Layers (Applet kết hợp RMI).
  • Chương 6: Thiết kế các hệ thống con & Phụ lục: Chuyển đổi mô hình lớp phân tích thành mô hình lớp thiết kế (xác định phạm vi truy cập public, protected, private, toán tử truy xuất get/set). Kỹ thuật ánh xạ từ mô hình đối tượng sang cơ sở dữ liệu quan hệ (RDBMS); thiết kế giao diện người dùng và áp dụng Design Patterns, Frameworks (JavaBeans, EJB, J2EE).

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

Giáo trình cung cấp các khung lý thuyết và nguyên lý cốt lõi trong kỹ nghệ phần mềm:

  • Hệ thống phân loại HTTT: Mô hình 4 mức quản trị (điều khiển, tri thức, quản lý, chiến lược) gắn liền với 6 kiểu hệ thống thông tin đặc thù.
  • Nguyên lý hướng đối tượng: Cơ chế đóng gói (Encapsulation) gắn liền với ẩn giấu thông tin (Information Hiding); Đa xạ (Polymorphism) và cơ chế hoãn định kiểu thông qua ràng buộc động (Dynamic Binding).
  • Mô hình hóa chuẩn tắc: Cú pháp và ngữ nghĩa chuẩn UML 2.0, phân tách ranh giới hệ thống dựa trên 3 nhóm thực thể: Lớp biên (Boundary), Lớp điều khiển (Control), và Lớp thực thể (Entity).
  • Kỹ thuật chuyển đổi mô hình: Nguyên tắc ánh xạ mô hình lớp hướng đối tượng (quan hệ kế thừa, hợp thành, liên kết nhiều-nhiều) sang lược đồ quan hệ trong hệ quản trị cơ sở dữ liệu (RDBMS).

Kỹ năng phát triển

Thông qua các bài học và ví dụ cụ thể, tài liệu rèn luyện cho người học 3 nhóm kỹ năng chuyên môn:

  • Kỹ năng phân tích (Analytical Skills): Năng lực tiếp nhận yêu cầu từ người dùng, trích xuất tác nhân, lập kịch bản nghiệp vụ, phân biệt bản chất giữa các mối quan hệ cấu trúc (phân biệt giữa Association, Aggregation và Composition).
  • Kỹ năng kỹ thuật (Technical Skills): Thành thạo biểu diễn các khía cạnh tĩnh và động của phần mềm bằng công cụ CASE và chuẩn biểu đồ UML; thiết kế phân cấp lớp kế thừa (List, Bag, ArrayList, LinkedList); xác định chữ ký phương thức và thuộc tính.
  • Năng lực thiết kế thực hành (Practical Competencies): Thiết kế kiến trúc phân tầng (Client - Middle tier - Data tier), phân bổ gói phần mềm, hiện thực hóa các mối quan hệ lớp và phương thức bằng mã nguồn Java cụ thể.

Phương pháp giảng dạy và học tập

Giáo trình được xây dựng theo phương pháp tiếp cận diễn dịch kết hợp quy nạp: trình bày khung lý thuyết chuẩn tắc, sau đó làm rõ bằng các biểu đồ trực quan, bảng ký hiệu quy ước và mã nguồn cài đặt minh họa.

  • Phương pháp sư phạm: Tiến trình bài học đi theo trình tự pha của quy trình kỹ nghệ phần mềm. Khái niệm lý thuyết trừu tượng (như đa hình hay liên kết đối tượng) được minh chứng trực tiếp bằng đoạn mã Java và sơ đồ lớp tương ứng.
  • Hệ thống ví dụ và Case Study: Tài liệu sử dụng các hệ thống thực tế làm ví dụ xuyên suốt:
    • Case study chính: Hệ thống Quản lý Đăng ký học theo tín chỉ (khảo sát tác nhân sinh viên, phòng đào tạo; mô tả use case đăng ký; phân tích biểu đồ lớp và giao tiếp).
    • Ví dụ bổ trợ: Hệ thống Quản lý Thư viện (các lớp Sach, Nguoi, ThuThu, BanDoc), Hệ thống Xử lý Đơn hàng (các lớp Customer, Order, OrderLine, OrderList), Hệ thống Quản lý Nhân sự (Employee).
  • Bài tập thực hành: Cuối mỗi chương đều có hệ thống bài tập yêu cầu người học: khảo sát một hệ thống thông tin cụ thể (thương mại điện tử, quản lý bệnh viện), chỉ ra các tác nhân, phân tích lớp, gán phương thức, vẽ các biểu đồ UML và sử dụng các từ khóa abstract, interface của Java để cài đặt.
  • Phương pháp đánh giá và tự học:
    • Đánh giá: Dựa trên khả năng mô hình hóa chính xác các biểu đồ UML từ kịch bản bài toán và khả năng chuyển đổi thiết kế thành mã nguồn/lược đồ CSDL.
    • Hướng dẫn tự học: Đọc tuần tự theo từng chương; đối chiếu các biểu đồ với đoạn mã Java mẫu; tự vẽ lại các biểu đồ bằng công cụ phần mềm trước khi tham khảo đáp án chi tiết ở Phụ lục B.

Điểm nổi bật và cập nhật

  • Chuyển đổi phương pháp luận: So với các giáo trình phân tích thiết kế hệ thống theo hướng cấu trúc truyền thống (tập trung tách biệt luồng dữ liệu DFD và lược đồ thực thể ERD), tài liệu chuyển đổi hoàn toàn sang phương pháp luận hướng đối tượng – tích hợp dữ liệu và hành vi trong cùng một thực thể lớp.
  • Chuẩn hóa theo UML 2.0: Cập nhật hệ thống phân loại 14 biểu đồ của chuẩn UML 2.0, phân định rõ ràng giữa biểu đồ tương tác tuần tự (Sequence Diagram) và biểu đồ giao tiếp (Communication Diagram - tên gọi mới thay thế cho Collaboration Diagram ở các phiên bản cũ).
  • Gắn liền kiến trúc công nghệ hiện đại: Giáo trình không dừng lại ở mức mô hình hóa phân tích trừu tượng mà mở rộng sang thiết kế kiến trúc mạng (mô hình 3 tầng, Client-Server), giới thiệu các công nghệ phân tán như Java Applet, RMI, EJB, các chuẩn giao tiếp và lưu trữ trong Java J2EE.
  • Tích hợp các khái niệm công nghiệp phần mềm: Đưa vào nội dung giảng dạy các khái niệm then chốt của công nghiệp phát triển phần mềm hiện đại như: tái sử dụng mã nguồn (reuse), mẫu thiết kế (Design Patterns), khuôn dạng ứng dụng (Frameworks), và các hệ thống phân tán quy mô lớn (eBay, Amazon).

Đối tượng sử dụng giáo trình

  • Sinh viên đại học: Giáo trình được biên soạn chuyên biệt cho sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các ngành: Công nghệ Thông tin, Kỹ thuật Phần mềm, Hệ thống Thông tin, Khoa học Máy tính. Ngoài ra, sinh viên ngành Kỹ thuật Điện tử - Viễn thông có thể sử dụng tài liệu để tự học môn thiết kế hệ thống thông tin thông dụng.
  • Điều kiện tiên quyết (Prerequisites): Để tiếp thu nội dung giáo trình một cách hiệu quả, người học cần hoàn thành các học phần:
    • Nhập môn Lập trình / Lập trình hướng đối tượng (nắm được cú pháp C++ hoặc Java, hiểu khái niệm lớp, kế thừa, giao diện).
    • Cơ sở dữ liệu (hiểu mô hình quan hệ, bảng, khóa chính, khóa ngoại, ngôn ngữ SQL).
  • Giảng viên: Sử dụng giáo trình làm đề cương bài giảng chính khóa cho học phần Phân tích và Thiết kế Hệ thống Thông tin; khai thác hệ thống ca sử dụng và bài tập cuối chương để xây dựng bài tập lớn, đề thi kết thúc học phần và đồ án môn học.
  • Kỹ sư phần mềm và người tự học: Dùng làm tài liệu tra cứu quy chuẩn biểu diễn ký hiệu UML 2.0, tham khảo quy trình phân tích ca sử dụng và kỹ thuật ánh xạ quan hệ đối tượng sang cơ sở dữ liệu quan hệ.

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

1. Giáo trình này phù hợp với ai?

Giáo trình phục vụ trực tiếp cho sinh viên đại học ngành Công nghệ Thông tin và Điện tử - Viễn thông đang theo học học phần Phân tích và Thiết kế Hệ thống Thông tin, đồng thời là tài liệu tham khảo cho giảng viên và lập trình viên muốn chuẩn hóa kỹ năng mô hình hóa hướng đối tượng.

2. Cần kiến thức nền nào trước khi học giáo trình này?

Người học cần có kiến thức cơ bản về lập trình hướng đối tượng (ưu tiên ngôn ngữ Java hoặc C++) và nắm được các khái niệm cốt lõi của cơ sở dữ liệu quan hệ (bảng, trường, liên kết bảng, khóa chính/ngoại).

3. Điểm khác biệt của giáo trình so với các tài liệu phân tích hệ thống truyền thống?

Tài liệu tập trung hoàn toàn vào phương pháp tiếp cận hướng đối tượng (OOAD) sử dụng chuẩn UML 2.0 thay vì tiếp cận theo hướng cấu trúc (DFD/ERD). Kiến thức gắn liền với tiến trình phát triển phần mềm hợp nhất (UP) và có mã nguồn Java minh họa cụ thể cho từng bước thiết kế.

4. Làm sao để tự học giáo trình này đạt hiệu quả cao?

Người học nên kết hợp đọc lý thuyết với việc thực hành vẽ lại các biểu đồ UML trên một công cụ phần mềm CASE. Sau khi đọc xong Chương 3 và 4, cần tự thực hiện lại toàn bộ các bước phân tích cho case study Quản lý Đăng ký học theo tín chỉ trước khi so sánh với nội dung ở Phụ lục B.

5. Giáo trình có các tài liệu và nội dung bổ trợ nào đi kèm?

Tài liệu cung cấp hai phụ lục kỹ thuật chi tiết:

  • Phụ lục A: Hướng dẫn lựa chọn công nghệ cho các tầng (Client, Middle-tier, Data-tier).
  • Phụ lục B: Toàn văn case study chi tiết về Hệ thống Quản lý Đăng ký học theo tín chỉ bao gồm đặc tả yêu cầu, phân tích tĩnh và phân tích động hoàn chỉnh.

Kết luận

Giáo trình Phân tích và Thiết kế Hệ thống Thông tin của tác giả Trần Đình Quế cung cấp một khung kiến thức chuẩn mực về phương pháp luận phát triển phần mềm hướng đối tượng theo tiến trình UP và ngôn ngữ UML 2.0. Giá trị học thuật cốt lõi của tài liệu nằm ở tính hệ thống, gắn kết chặt chẽ giữa phân tích mô hình lý thuyết với kỹ thuật thiết kế kiến trúc đa tầng và hiện thực hóa mã nguồn Java.

Lộ trình học tập khuyến nghị bắt đầu từ việc nắm vững các nguyên lý hướng đối tượng và chuẩn biểu đồ ở Chương 1-2, thực hành kỹ năng trích xuất yêu cầu và phân tích tĩnh/động ở Chương 3-4, sau đó hoàn thiện thiết kế kiến trúc và lược đồ CSDL ở Chương 5-6. Để củng cố kiến thức, người học nên tham khảo thêm các tài liệu đặc tả chuẩn UML từ tổ chức OMG (http://www.omg.org/spec/UML/) và các tài liệu chuyên khảo về mẫu thiết kế (Design Patterns) cùng công nghệ Java J2EE được liệt kê trong danh mục tài liệu tham khảo của giáo trình.