GIÁO TRÌNH PHÂN TÍCH, THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML – ĐOÀN VĂN BAN

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

Giáo trình Phân tích, thiết kế hướng đối tượng với UML do PGS. TS. Đoàn Văn Ban biên soạn, được Trường Đại học Công nghiệp Quảng Ninh ban hành năm 2021 làm tài liệu học tập bậc đại học cho ngành Công nghệ thông tin. Giáo trình được phát triển từ kinh nghiệm giảng dạy chương trình đại học và cao học tại Đại học Quốc gia Hà Nội, Đại học Bách khoa Hà Nội, Đại học Khoa học Huế, Đại học Đà Nẵng, Đại học Thái Nguyên và Viện Công nghệ thông tin.

Trong chương trình đào tạo ngành Công nghệ thông tin và Kỹ thuật phần mềm, môn học giữ vị trí cầu nối giữa giai đoạn lập trình căn bản và giai đoạn phát triển dự án phần mềm chuyên nghiệp. Mục tiêu học tập của giáo trình là cung cấp cho người học hệ thống lý thuyết về mô hình hóa hướng đối tượng, quy trình phát triển phần mềm hợp nhất (Unified Process - UP/RUP), cùng các kỹ năng xây dựng, biểu diễn và chuyển đổi các mô hình phân tích - thiết kế sang mã nguồn cụ thể.

Về cấu trúc, giáo trình được tổ chức thành 8 chương lý thuyết kết hợp phần phụ lục hướng dẫn giải 4 bài tập lớn. Nội dung đi từ tổng quan phương pháp luận, ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language), đến kỹ thuật phân tích yêu cầu, mô hình hóa cấu trúc tĩnh, thiết kế động thái và triển khai kiến trúc. Điểm đặc sắc của tài liệu là việc sử dụng một bài toán xuyên suốt – "Hệ thống quản lý bán hàng" (HBH) – cùng công cụ hỗ trợ mô hình hóa Rational Rose và hệ quản trị cơ sở dữ liệu đối tượng ObjectStore, giúp liên kết chặt chẽ các giai đoạn từ bản vẽ thiết kế đến mã trình C++, Java.


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

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

Nội dung giáo trình được triển khai theo tiến trình logic phát triển hệ thống phần mềm:

  • Chương I: Phương pháp hướng đối tượng và quá trình phát triển hệ thống phần mềm: Trình bày đặc trưng hệ thống, phân loại hệ thống phần mềm (MIS, DSS, hệ thống kỹ thuật, hệ thống nhúng thời gian thực, phần mềm hệ thống, tự động hóa văn phòng). Phân tích chu trình thác nước (Royce, 1970), chu trình chữ V (AFCIQ), chu trình tăng trưởng (D. Graham, 1989), chu trình xoắn ốc (Boëhm, 1988); so sánh cách tiếp cận hướng chức năng và hướng đối tượng; xác định 6 bước của quá trình phát triển phần mềm.
  • Chương II: UML và quá trình phát triển phần mềm: Giới thiệu nguồn gốc UML tích hợp từ phương pháp Booch, OMT (Rumbaugh) và OOSE (Jacobson). Phân tích 5 góc nhìn/quan sát kiến trúc (ca sử dụng, logic, thành phần, tương tranh, triển khai), 4 nhóm phần tử mô hình (cấu trúc, hành vi, nhóm, chú thích), 4 mối quan hệ và 9 loại biểu đồ cơ bản. Định nghĩa các khái niệm đối tượng, lớp, thuộc tính, phạm vi truy cập (+ public, # protected, - private), phương thức, đa xạ và bao gói.
  • Chương III: Biểu đồ ca sử dụng phân tích các nhu cầu của hệ thống: Trình bày kỹ thuật xác định tác nhân (actor), ca sử dụng (use case), đặc tả kịch bản ca sử dụng và cách tạo lập biểu đồ trên công cụ Rational Rose.
  • Chương IV: Phân tích hệ thống – Mô hình khái niệm và biểu đồ lớp: Thiết lập mô hình đối tượng, xác định quan hệ kết hợp, vai trò, tính đa tạp, mẫu rập khuôn (stereotype), thuộc tính và thao tác thông qua hệ thống quản lý bán hàng (HBH), chuẩn hóa từ điển thuật ngữ.
  • Chương V: Mô hình động thái: Các biểu đồ tương tác và hành động trong hệ thống: Mô hình hóa hành vi qua việc trao đổi thông điệp, thiết lập biểu đồ trình tự (sequence diagram), hợp đồng hoạt động (operation contracts), biểu đồ chuyển trạng thái (statechart diagram) và biểu đồ hoạt động (activity diagram).
  • Chương VI: Thiết kế các biểu đồ cộng tác và biểu đồ thành phần của hệ thống: Chuyển đổi ca sử dụng thực tế sang biểu đồ cộng tác (collaboration diagram), áp dụng các mẫu gán trách nhiệm để tinh chỉnh biểu đồ lớp chi tiết của hệ HBH.
  • Chương VII: Kiến trúc hệ thống và phát sinh mã trình: Thiết lập biểu đồ thành phần (component diagram), biểu đồ triển khai (deployment diagram), thực hiện kỹ thuật ánh xạ thiết kế lớp sang định nghĩa lớp và hàm trong C++, Java; thao tác phát sinh mã tự động trên Rational Rose.
  • Chương VIII & Phụ lục: Thiết kế cơ sở dữ liệu hướng đối tượng với ObjectStore và hướng dẫn giải chi tiết 4 bài toán thực tế: Hệ thống rút tiền tự động (ATM), Hệ thống điều khiển thang máy, Hệ thống quản lý thư viện, Hệ thống quản lý đăng ký học tập.

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

Giáo trình cung cấp các lý thuyết và nguyên lý kỹ thuật:

  • Lý thuyết hệ thống và mô hình hóa: Vận dụng nguyên lý "chia để trị" (Divide and Conquer) và "trừu tượng hóa" nhằm kiểm soát độ phức tạp. Mô hình hóa hệ thống trên 4 hướng: chức năng, cấu trúc tĩnh, cách ứng xử động và kiến trúc vật lý.
  • Nguyên lý hướng đối tượng: Cơ chế đóng gói (encapsulation), che giấu thông tin (information hiding), đa hình/đa xạ (polymorphism), phân cấp quan hệ qua kết hợp (association), kết nhập (aggregation), tổng quát hóa/kế thừa (generalization/inheritance) và phụ thuộc (dependency).
  • Quy trình phần mềm hợp nhất (UP/RUP): Khung làm việc 2 chiều: chiều thời gian gồm 4 pha (Khởi động - Inception, Soạn thảo tỉ mỉ - Elaboration, Xây dựng - Construction, Chuyển giao - Transition) và chiều thành phần nghiệp vụ.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Sử dụng thành thạo phần mềm CASE Rational Rose để vẽ 9 loại biểu đồ chuẩn UML; ánh xạ cấu trúc lớp sang cú pháp ngôn ngữ C++, Java, Visual Basic; thiết kế lược đồ CSDL hướng đối tượng ObjectStore.
  • Kỹ năng phân tích (Analytical skills): Bóc tách yêu cầu nghiệp vụ thực tế thành tập hợp actor và use case; nhận diện ranh giới giữa mô hình khái niệm (phân tích) và mô hình hiện thực (thiết kế); thiết lập ma trận trách nhiệm giữa các lớp đối tượng.
  • Năng lực thực hành ứng dụng (Practical competencies): Giải quyết trọn vẹn quy trình phân tích - thiết kế cho các hệ thống phần mềm có tính chất khác nhau, từ phần mềm nghiệp vụ (Quản lý bán hàng, Quản lý thư viện, Đăng ký tín chỉ) đến hệ thống điều khiển kỹ thuật và nhúng thời gian thực (Cây ATM, Thang máy).

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

Giáo trình được thiết kế theo phương pháp tiếp cận hướng thực hành kỹ thuật (pedagogical engineering approach), kết hợp chặt chẽ giữa lý thuyết mô hình hóa chuẩn tắc và bài tập mô phỏng tình huống:

  • Phương pháp giảng dạy: Giảng viên sử dụng giáo trình để tổ chức môn học theo mô hình đồ án môn học hoặc học phần tích hợp lý thuyết - thực hành. Giáo trình cung cấp hệ thống ca nghiên cứu mẫu xuyên suốt (Hệ HBH) giúp người dạy thị phạm từng bước từ việc thu thập yêu cầu, chuyển sang biểu đồ ca sử dụng, phân tích cấu trúc lớp, mô hình hóa tương tác đến phát sinh mã nguồn tự động.
  • Bài tập và tình huống thực tế: Cuối mỗi chương đều có hệ thống câu hỏi lý thuyết, câu hỏi trắc nghiệm khách quan và bài tập vẽ biểu đồ. Phần phụ lục cung cấp 4 đề tài bài tập lớn hoàn chỉnh có hướng dẫn chi tiết các bước thiết kế, bao gồm:
    1. Hệ thống rút tiền tự động ATM (mô tả bài toán, ca sử dụng, trình tự, lớp chi tiết, thành phần, triển khai).
    2. Hệ thống điều khiển các thang máy (mô hình động thái, tương tác cảm biến, điều phối).
    3. Hệ thống quản lý thư viện (mô hình trạng thái sách, mượn trả, kiến trúc phân tầng).
    4. Hệ thống quản lý đăng ký học tập (phân tích yêu cầu, ma trận điều kiện tiên quyết).
  • Phương pháp đánh giá và tự học:
    • Đánh giá: Dựa trên bài kiểm tra kiến thức khái niệm, bài tập thực hành trên máy tính với Rational Rose và kết quả bảo vệ báo cáo phân tích thiết kế bài tập lớn.
    • Hướng dẫn tự học: Người học cần bám sát quy tắc ký hiệu chuẩn UML, thực hiện lại ví dụ minh họa của từng chương trên phần mềm công cụ, đối chiếu kết quả thiết kế với danh sách thuật ngữ và phụ lục mẫu.

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

Nội dung giáo trình phản ánh quá trình chuẩn hóa công nghệ phần mềm từ các phương pháp cổ điển sang mô hình chuẩn công nghiệp:

Khía cạnh Phương pháp có cấu trúc truyền thống Phương pháp hướng đối tượng trong giáo trình
Trọng tâm tiếp cận Tập trung vào chức năng/thuật toán Tập trung vào thực thể dữ liệu và quan hệ giữa các lớp
Cơ chế trao đổi Biến toàn cục, truyền tham số hàm Truyền thông điệp qua các phương thức của lớp
Chu trình áp dụng Mô hình tuyến tính Thác nước (Royce) Mô hình lặp/tăng trưởng RUP và Xoắn ốc (Boëhm)
Công cụ mô hình Sơ đồ luồng dữ liệu (DFD), sơ đồ khối 9 loại biểu đồ chuẩn UML trên công cụ Rational Rose
Khả năng mở rộng Khó bảo trì, phụ thuộc dữ liệu chung Đóng gói cao, kế thừa, thích ứng tốt với thay đổi
  • Kế thừa và chuẩn hóa lý thuyết: Giáo trình tổng hợp và chuẩn hóa các trường phái mô hình hóa đối tượng lớn trước thập niên 90 (Booch 91/93, OMT 94 của Rumbaugh, OOSE 94 của Jacobson) thành hệ thống ký pháp chuẩn UML 0.9 - 1.1 đã được OMG và các hãng công nghệ (IBM, Microsoft, HP, Oracle) công nhận.
  • Gắn kết thực tiễn công nghệ: Không dừng lại ở việc vẽ biểu đồ tĩnh, giáo trình tích hợp kỹ thuật sinh mã chương trình trực tiếp từ bản thiết kế sang các ngôn ngữ hướng đối tượng phổ biến (C++, Java, Visual Basic). Đồng thời, tài liệu giới thiệu hệ quản trị CSDL thế hệ mới hướng đối tượng ObjectStore, đáp ứng yêu cầu xử lý dữ liệu phức tạp, dữ liệu đa phương tiện trong kỷ nguyên kinh tế tri thức.

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

  • Sinh viên đại học: Giáo trình phục vụ trực tiếp cho sinh viên năm thứ 3 và năm thứ 4 chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin quản lý và Tin học ứng dụng.
  • Học viên cao học: Là tài liệu tham khảo nền tảng cho học viên cao học ngành Khoa học máy tính trong học phần Kỹ nghệ phần mềm nâng cao và Kiến trúc phần mềm.
  • Điều kiện tiên quyết (Prerequisites): Người học cần hoàn thành các môn học:
    • Nhập môn Tin học và Cơ sở lập trình.
    • Lập trình hướng đối tượng (C++ hoặc Java).
    • Cơ sở dữ liệu và Cấu trúc dữ liệu & Giải thuật.
  • Giảng viên và kỹ sư phần mềm: Giảng viên các trường đại học, cao đẳng kỹ thuật sử dụng giáo trình làm đề cương bài giảng và khung hướng dẫn đồ án môn học. Các kỹ sư phân tích nghiệp vụ (BA), kỹ sư thiết kế phần mềm (Software Architect) có thể sử dụng làm tài liệu tra cứu ký pháp biểu đồ và quy tắc ánh xạ mô hình trong công việc thực tế.

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

1. Giáo trình này phù hợp với đối tượng nào?

Tài liệu được biên soạn phục vụ giảng dạy, học tập cho sinh viên đại học, học viên cao học ngành Công nghệ thông tin, cũng như các kỹ sư phần mềm cần chuẩn hóa phương pháp phân tích thiết kế theo UML.

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 cấu trúc, lập trình hướng đối tượng (C++ hoặc Java), cấu trúc dữ liệu và hiểu biết căn bản về hệ thống cơ sở dữ liệu quan hệ.

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 là gì?

Giáo trình chuyển trọng tâm từ cách tiếp cận phân rã chức năng (Functional/Procedure-Oriented) sang cách tiếp cận mô hình hóa đối tượng (Object-Oriented), kết hợp quy trình phát triển hợp nhất RUP, hệ thống ký pháp chuẩn UML và công cụ tự động hóa kỹ nghệ phần mềm Rational Rose.

4. Làm sao để tự học và nắm vững kiến thức trong giáo trình hiệu quả?

Người học nên kết hợp đọc lý thuyết với việc cài đặt phần mềm Rational Rose để vẽ lại toàn bộ các biểu đồ của hệ thống mẫu (Hệ HBH). Sau đó, tự giải quyết độc lập 4 bài tập lớn trong phần phụ lục và thực hành ánh xạ mô hình sang mã nguồn C++/Java.

5. Có tài liệu bổ trợ nào kèm theo giáo trình không?

Giáo trình cung cấp hệ thống câu hỏi ôn tập, bài tập trắc nghiệm cuối mỗi chương, danh mục 39 tài liệu tham khảo chuyên ngành (các công trình của Booch, Rumbaugh, Jacobson, Sommerville, Pressman), bảng tra cứu thuật ngữ, từ viết tắt và 4 bản hướng dẫn giải bài tập lớn hoàn chỉnh ở phần phụ lục.


Kết luận (150 từ)

Giáo trình Phân tích, thiết kế hướng đối tượng với UML của PGS. TS. Đoàn Văn Ban cung cấp hệ thống tri thức hoàn chỉnh về quy trình phát triển phần mềm chuẩn mực, kết hợp giữa lý thuyết mô hình hóa UML, quy trình hợp nhất RUP và công cụ thực hành Rational Rose. Lộ trình học tập được thiết kế mạch lạc từ phân tích ca sử dụng, xây dựng biểu đồ lớp, mô hình hóa động thái hành vi đến thiết kế kiến trúc và phát sinh mã nguồn.

Để đạt hiệu quả học tập cao nhất, người học nên khai thác đồng bộ nội dung lý thuyết 8 chương cùng các tài liệu tham khảo tiêu chuẩn quốc tế và hoàn thành đầy đủ 4 đề tài bài tập lớn được hướng dẫn chi tiết trong phần phụ lục giáo trình.