TỔNG QUAN HỌC THUẬT: BÀI GIẢNG NHẬP MÔN CÔNG NGHỆ PHẦN MỀM – GIAI ĐOẠN KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

  • Đơn vị đào tạo: Đại Học Sư Phạm Tp. Hồ Chí Minh – Khoa Toán – Tin Học
  • Tác giả / Giảng viên: Trần Ngọc Bảo (Email: tnbao.com)
  • Chủ đề tài liệu: Giai đoạn khảo sát hiện trạng và xác định yêu cầu phần mềm
  • Cấp độ đào tạo: Đại học / Cao đẳng ngành Công nghệ Thông tin, Sư phạm Tin học

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

Tài liệu bài giảng "Nhập môn Công nghệ Phần mềm – Giai đoạn khảo sát hiện trạng và xác định yêu cầu" do tác giả Trần Ngọc Bảo thuộc Khoa Toán – Tin học, Trường Đại học Sư phạm TP. Hồ Chí Minh biên soạn. 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, học phần Nhập môn Công nghệ Phần mềm giữ vị trí khối kiến thức cơ sở ngành cốt lõi, cung cấp nền tảng phương pháp luận cho toàn bộ quy trình phát triển phần mềm (Software Development Life Cycle - SDLC). Bài giảng này tập trung chuyên sâu vào giai đoạn đầu tiên của chu trình: thu thập thông tin, khảo sát hiện trạng và kỹ thuật yêu cầu (Requirements Engineering).

Mục tiêu học tập của tài liệu được xác định cụ thể bao gồm:

  1. Nắm bắt phương pháp thu thập thông tin và yêu cầu từ phía khách hàng.
  2. Thiết lập mô hình và kiến trúc hệ thống tổng thể.
  3. Soạn thảo bộ sưu liệu khảo sát ghi nhận toàn bộ hiện trạng nghiệp vụ và yêu cầu phần mềm.
  4. Vận hành công cụ Power Designer nhằm mô hình hóa và xây dựng tài liệu đặc tả yêu cầu/ca sử dụng (Use Case).

Cấu trúc tài liệu tiếp cận theo tiến trình kỹ thuật chuẩn: mở đầu bằng việc định vị pha khảo sát trong toàn bộ vòng đời phát triển phần mềm, phân loại các nhóm yêu cầu (chức năng, phi chức năng, kiến trúc), tiếp nối bằng quy trình chuẩn về kỹ thuật yêu cầu và minh họa thông qua các mô hình hóa trực quan (BPM, Activity Diagram, Use Case Diagram) trên các bài toán quản lý thực tế. Điểm đặc sắc của bài giảng là tính liên kết chặt chẽ giữa lý thuyết phân tích hệ thống với công cụ công nghệ cụ thể (Power Designer) và các biểu mẫu tài liệu thực tế.


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

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

Nội dung bài giảng được cấu trúc thành các khối chủ đề liên kết logic:

  1. Vị trí của giai đoạn khảo sát trong quy trình phần mềm: Định vị pha khảo sát là bước khởi đầu trong chuỗi quy trình 7 giai đoạn: Khảo sát $\rightarrow$ Phân tích $\rightarrow$ Thiết kế $\rightarrow$ Cài đặt $\rightarrow$ Kiểm tra $\rightarrow$ Triển khai $\rightarrow$ Bảo trì.
  2. Nội dung và kết quả của pha khảo sát: Xác định quy trình xử lý nghiệp vụ, thu thập hệ thống mẫu biểu thống kê; xuất bản tài liệu đặc tả gồm yêu cầu chức năng, yêu cầu phi chức năng và kiến trúc hệ thống.
  3. Mô hình kiến trúc hệ thống: Phân tích cấu trúc hệ thống 2 tầng (Windows Application kết nối Database Server) và cấu trúc hệ thống đa tầng nền Web (Client Web Browser $\rightarrow$ Web Server $\rightarrow$ Database Server).
  4. Quy trình xác định yêu cầu (Requirements Process): Chu trình xử lý bắt đầu từ điều kiện khởi phát dự án, trải qua 4 pha tiêu chuẩn: Nghiên cứu khả thi (Feasibility Study), Thu thập yêu cầu (Requirements Elicitation), Đặc tả yêu cầu (Requirements Specification) và Thẩm định yêu cầu (Requirements Validation).
  5. Cấu trúc sưu liệu hiện trạng và yêu cầu: Chuẩn hóa nội dung tài liệu khảo sát bao gồm quy trình nghiệp vụ, danh mục mẫu biểu (biểu mẫu in sẵn và biểu mẫu giấy trắng), phương án và kế hoạch sơ bộ triển khai.
  6. Mô hình hóa quy trình nghiệp vụ và luồng hoạt động: Ứng dụng mô hình hóa quy trình nghiệp vụ (Business Process Model - BPM) và Lược đồ hoạt động (Activity Diagram) trong mô hình hướng đối tượng (Object-Oriented Model - OOM).
  7. Kỹ thuật mô hình hóa ca sử dụng (Use Case Modeling): Định nghĩa Actor, Use Case, cấu trúc thuộc tính chi tiết của ca sử dụng và thiết lập các quan hệ giữa Actor - Actor (Generalization), Actor - Use Case (Association), Use Case - Use Case (quan hệ <<Uses>> / Include / Extend).
[Bắt đầu Dự án]
[Requirements Elicitation]
 [Kết thúc Pha Yêu cầu]

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

Bài giảng xây dựng hệ thống nguyên lý và lý thuyết nền tảng cho sinh viên:

  • Khung phân loại yêu cầu phần mềm:
    • Yêu cầu chức năng: Phân định rõ 4 khía cạnh nghiệp vụ: thông tin lưu trữ, tiêu chuẩn tra cứu, công thức tính toán và cấu trúc kết xuất/thống kê.
    • Yêu cầu phi chức năng: Xác định môi trường vận hành (Windows, Web), hệ quản trị cơ sở dữ liệu (Microsoft Access, SQL Server, Oracle, IBM DB2) và nền tảng công nghệ cài đặt (Java, .NET, Delphi, PHP).
  • Nguyên lý phân vai người dùng (Actor & Role): Làm rõ nguyên tắc một người dùng thực tế (user) có thể tương tác với hệ thống dưới nhiều vai trò (roles) khác nhau, đại diện cho các tác nhân (Actors) nằm ngoài biên giới hệ thống.
  • Cấu trúc hoàn chỉnh của một đặc tả Use Case: Xác lập 5 thành phần thuộc tính bắt buộc của một Use Case:
    1. Action Steps: Chuỗi các bước tương tác chuẩn giữa người dùng và hệ thống.
    2. Extension Points: Các nhánh rẽ, trường hợp mở rộng hoặc tùy chọn bổ sung.
    3. Exceptions: Kịch bản xử lý các lỗi kỹ thuật và lỗi nghiệp vụ phát sinh trong quá trình tương tác.
    4. Pre-Conditions: Điều kiện tiên quyết cần thỏa mãn để bắt đầu thực hiện Use Case.
    5. Post-Conditions: Điều kiện trạng thái hệ thống cần đạt được sau khi kết thúc Use Case.

Kỹ năng phát triển

Thông qua nội dung bài giảng, người học được rèn luyện các nhóm kỹ năng:

  • Kỹ năng kỹ thuật (Technical skills): Sử dụng phần mềm Sybase PowerDesigner để thiết kế các lược đồ phân tích; xây dựng Use Case Diagram, Activity Diagram, Business Process Model (BPM), Data Flow Diagram (DFD) và Requirement Model (RM).
  • Kỹ năng phân tích (Analytical skills): Phân tích luồng nghiệp vụ từ tài liệu thực tế; trích xuất các quy tắc xử lý; phân tách luồng thành công (Success), luồng ngoại lệ (Exception), điều kiện chờ (Pending/Processing/Closed).
  • Kỹ năng thực hành nghề nghiệp (Practical competencies): Soạn thảo tài liệu khảo sát hiện trạng; tổng hợp danh mục mẫu biểu báo cáo (hóa đơn VAT, hợp đồng lao động, thông báo cước, biểu mẫu nhập học, bảng điểm); thiết lập ma trận phân quyền truy cập chức năng cho từng nhóm đối tượng người dùng.

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

Phương pháp tiếp cận sư phạm của bài giảng dựa trên phương pháp quy nạp thông qua các tình huống thực tế (Case Studies), kết hợp giữa lý thuyết phân tích hệ thống và thực hành công cụ phần mềm.

Bài tập và Case Studies phân tích trong giáo trình

Bài giảng sử dụng 4 hệ thống nghiệp vụ cụ thể để làm rõ các khái niệm:

  1. Hệ thống quản lý giáo vụ trường đại học:
    • Khảo sát nghiệp vụ: Quy trình xử lý nhập học, nhập điểm, xét tốt nghiệp, quản lý giảng viên.
    • Thu thập mẫu biểu: Hồ sơ sinh viên, hồ sơ giảng viên, bảng điểm sinh viên, bảng điểm theo lớp, danh sách lớp.
    • Mô hình BPM "Tiếp nhận và xử lý nhập học": Phân chia luồng công việc giữa 3 đối tượng (Sinh viên, Phòng đào tạo, Giáo vụ khoa), mô tả việc kiểm tra hồ sơ, xử lý lỗi nghiệp vụ (Business Error), cấp biên nhận, ghi dữ liệu vào Cơ sở dữ liệu Quản lý Sinh viên (CSDL QLSV) và cập nhật danh sách lớp.
  2. Hệ thống quản lý nhân sự:
    • Khảo sát danh mục mẫu biểu: Hồ sơ nhân viên, hợp đồng lao động, danh sách nhân viên theo phòng ban, danh sách tăng lương, danh sách bổ nhiệm chức vụ.
    • Phân loại biểu mẫu theo dạng in sẵn và giấy trắng.
  3. Hệ thống quản lý kho (ISW Management - Diagram: Receiving Order):
    • Sử dụng Activity Diagram để biểu diễn quy trình tiếp nhận đơn hàng nhập kho giữa Bộ phận Kinh doanh (Business Dept) và Bộ phận Kho (Warehouse Dept).
    • Thể hiện chuỗi trạng thái: Tạo đơn hàng [RO.Pending] $\rightarrow$ Kiểm tra đơn hàng $\rightarrow$ Tiếp nhận hàng $\rightarrow$ In phiếu nhập kho $\rightarrow$ Lập kế hoạch lưu kho $\rightarrow$ Đưa hàng vào kho [RO.Processing] $\rightarrow$ Đóng đơn hàng [RO.Closed].
  4. Hệ thống quản lý thời khóa biểu (TKB):
    • Xác định Actors: Giáo vụ khoa, Giảng viên, Sinh viên (chia nhánh chuyên biệt hóa thành Sinh viên chính quy và Sinh viên tại chức). Minh họa trường hợp một cá nhân đóng 2 vai trò vừa là giảng viên vừa làm công tác giáo vụ.
    • Hệ thống Use Case: Đăng nhập, Xem TKB, Nhập TKB, Sửa TKB, Xóa TKB, Chọn TKB.
    • Đặc tả Use Case "Xem TKB":
      • Action Steps: Chọn chức năng xem TKB $\rightarrow$ Hệ thống hiển thị giao diện $\rightarrow$ Chọn niên khóa $\rightarrow$ Chọn học kỳ $\rightarrow$ Chọn lớp/tên giảng viên $\rightarrow$ Hiển thị chi tiết TKB.
      • Extension Points: Người dùng hủy bỏ thao tác; xem TKB của tất cả các lớp; xem TKB của tất cả giảng viên; in TKB theo lớp; in TKB theo giảng viên.
      • Exceptions: Báo lỗi khi lớp hoặc giảng viên chưa có dữ liệu; lỗi trình duyệt không chạy được JavaScript; lỗi hết thời gian yêu cầu mạng (Request timeout); lỗi ngắt kết nối cơ sở dữ liệu (Database Connection error).

Phương pháp đánh giá và hướng dẫn tự học

  • Phương pháp đánh giá: Đánh giá năng lực của người học qua chất lượng hoàn thiện hồ sơ sưu liệu khảo sát hiện trạng và tính chính xác của các mô hình đặc tả vẽ trên Power Designer theo chuẩn UML/BPM.
  • Hướng dẫn tự học: Sinh viên theo dõi cấu trúc slide bài giảng, thực hành trực tiếp các bước phân tích ca sử dụng mẫu (như Use Case "Xem TKB"), sau đó tự mở rộng hoàn thiện đặc tả cho các Use Case còn lại ("Nhập TKB", "Sửa TKB", "Xóa TKB").

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

  • Sử dụng chuẩn mô hình hóa công nghiệp: Bài giảng kế thừa các tài liệu và quy chuẩn kỹ thuật hướng đối tượng từ Rational Software Corporation (Copyright © 1997), bảo đảm tính chuẩn xác về mặt ký hiệu học trong kỹ thuật phần mềm.
  • Tích hợp công cụ trực quan hóa Sybase PowerDesigner: Hướng dẫn trực tiếp cách ứng dụng Power Designer để chuyển hóa các yêu cầu ngôn ngữ tự nhiên thành các mô hình OOM, BPM, DFD và Requirement Model.
  • Bao quát đa dạng nền tảng kiến trúc và công nghệ: Bài giảng đặt ra các tiêu chí đánh giá môi trường thực thi cụ thể:
    • Phân biệt kiến trúc Windows Form truyền thống và kiến trúc Web-based.
    • Đưa ra các hệ thống DBMS tiêu biểu: Access, MS SQL Server, Oracle, DB2.
    • Đề cập các môi trường phát triển: Java, .NET, Delphi, PHP.
  • Gắn liền với chứng từ thực tế: Nội dung nhấn mạnh việc phân loại và xử lý các mẫu biểu có sẵn trong đời sống doanh nghiệp (hóa đơn VAT, hợp đồng lao động, hóa đơn tiền điện, giấy báo cước), giúp sinh viên tiếp cận sát với thực tế nghiệp vụ khi đi khảo sát hệ thống.

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

  • Sinh viên chuyên ngành: Tài liệu phục vụ trực tiếp cho sinh viên năm 2 hoặc năm 3 thuộc các ngành Khoa học Máy tính, Công nghệ Thông tin, Sư phạm Tin học và Kỹ thuật Phần mềm tại các trường đại học, cao đẳng.
  • Điều kiện tiên quyết (Prerequisites): Người học cần hoàn thành các học phần: Nhập môn Tin học, Cơ sở lập trình, Cơ sở dữ liệu và có hiểu biết cơ bản về mô hình hóa hướng đối tượng.
  • Giảng viên: Sử dụng bài giảng làm đề cương bài học, tài liệu trình chiếu và khung hướng dẫn thực hành cho học phần Nhập môn Công nghệ Phần mềm hoặc Phân tích Thiết kế Hệ thống.
  • Tham khảo mở rộng: Chuyên viên phân tích nghiệp vụ mới vào nghề (Junior Business Analyst) hoặc lập trình viên cần tra cứu phương pháp chuẩn hóa tài liệu khảo sát yêu cầu và viết tài liệu đặc tả Use Case.

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

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

Tài liệu được thiết kế cho sinh viên ngành Công nghệ Thông tin, Sư phạm Tin học ở bậc đại học và cao đẳng bắt đầu tiếp cận quy trình xây dựng phần mềm chuyên nghiệp.

2. Cần kiến thức nền nào để học tốt chuyên đề này?

Người học cần có kiến thức cơ bản về lập trình, khái niệm cơ sở dữ liệu quan hệ (bảng biểu, khóa, truy vấn) và tư duy hướng đối tượng cơ bản.

3. Điểm khác biệt của giáo trình so với các tài liệu thuần lý thuyết khác là gì?

Tài liệu tập trung vào tính ứng dụng thông qua việc hướng dẫn sử dụng công cụ Power Designer, kết hợp với các case study thực tế chi tiết (quản lý đào tạo, quản lý kho, thời khóa biểu) và bóc tách từng lỗi hệ thống cụ thể (JavaScript error, Request timeout, Connection fail).

4. Làm sao để tự học và thực hành nội dung này hiệu quả?

Người học nên cài đặt công cụ Power Designer, đọc tuần tự các bước khảo sát trong bài giảng, sau đó vẽ lại các sơ đồ BPM, Activity Diagram và Use Case Diagram dựa trên các bài toán được cung cấp trong slide.

5. Những công cụ và mô hình nào được sử dụng xuyên suốt tài liệu?

Tài liệu sử dụng phần mềm Power Designer; các mô hình gồm: Business Process Model (BPM), Activity Diagram, Use Case Diagram, Data Flow Diagram (DFD), Requirement Model (RM); và các chuẩn mô hình hóa từ Rational Software Corporation.


Kết luận

Bài giảng "Nhập môn Công nghệ Phần mềm – Giai đoạn khảo sát hiện trạng và xác định yêu cầu" của tác giả Trần Ngọc Bảo (Khoa Toán – Tin Học, Đại Học Sư Phạm Tp. Hồ Chí Minh) cung cấp khung phương pháp luận hệ thống về pha khởi đầu của chu trình phát triển phần mềm. Giá trị cốt lõi của tài liệu nằm ở việc chuẩn hóa quy trình phân tích yêu cầu từ khâu khảo sát nghiệp vụ, phân loại yêu cầu chức năng/phi chức năng, cho đến kỹ thuật đặc tả chi tiết ca sử dụng trên công cụ Power Designer. Lộ trình học tập khuyến nghị cho sinh viên là nắm vững lý thuyết kỹ thuật yêu cầu, thực hành vẽ lược đồ trên các case study mẫu (Giáo vụ, Kho, TKB), từ đó chuẩn bị nền tảng để bước sang các pha tiếp theo trong vòng đời phần mềm gồm Phân tích, Thiết kế, Cài đặt và Kiểm tra.