TỔNG QUAN HỌC THUẬT VÀ NỘI DUNG GIÁO TRÌNH NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (MÃ HỌC PHẦN: TINS4392)

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

  • Môn học và vị trí trong chương trình đào tạo: Giáo trình Nhập môn Công nghệ phần mềm được biên soạn bởi tác giả Nguyễn Thế Dũng (Khoa Tin học, Trường Đại học Sư phạm – Đại học Huế, ban hành tháng 11 năm 2014). Đây là tài liệu học tập chính thức phục vụ học phần Nhập môn Công nghệ phần mềm, mang mã số học phần TINS4392. Môn học là học phần bắt buộc trong khung chương trình đào tạo giáo viên Tin học Trung học phổ thông do Bộ Giáo dục và Đào tạo ban hành năm 2007.
  • Mục tiêu học tập (Learning Outcomes): Cung cấp cho sinh viên kiến thức toàn diện về quá trình phát triển phần mềm theo phương thức công nghiệp và có kỷ luật; giúp người học nắm vững các khái niệm cơ bản, từ đó định hướng nghiên cứu chuyên sâu và xây dựng được các ứng dụng phần mềm quy mô nhỏ đáp ứng yêu cầu thực tế cũng như các đề án môn học.
  • Cấu trúc và cách tiếp cận: Giáo trình được tổ chức thành 7 chương bám sát các giai đoạn của vòng đời phát triển hệ thống (SDLC), bao gồm: Tổng quan, Qui trình, Phân tích và đặc tả yêu cầu, Thiết kế, Lập trình, Kiểm thử, Triển khai và bảo trì. Nội dung tách biệt hoàn toàn phần quản lý dự án phần mềm (do nội dung này được cấu hình thành một học phần độc lập 2 tín chỉ trong chương trình đào tạo).
  • Điểm đặc sắc của giáo trình: Cách tiếp cận được thiết kế tương thích với đối tượng sinh viên ngành Sư phạm Tin học, cân đối giữa nền tảng lý thuyết chuẩn hóa của kỹ nghệ phần mềm và định hướng phân loại nghề nghiệp thực tế, hỗ trợ kỹ năng định hướng nghề nghiệp công nghệ cho học sinh phổ thông sau này.

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

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

Nội dung giáo trình được triển khai tuần tự qua 7 chương phản ánh tiến trình kỹ thuật của kỹ nghệ phần mềm:

  • Chương 1: Tổng quan về công nghệ phần mềm: Trình bày định nghĩa phần mềm, đối tượng nghiên cứu (quy trình, phương pháp, công cụ); đối chiếu quan niệm về Công nghệ (Technology) và Kỹ nghệ (Engineering) theo ESCAP, IEEE (1993), Pressman (2001), Sommerville (2007); phân tích mô hình 4 tầng kỹ nghệ phần mềm (Chất lượng, Quy trình, Phương pháp, Công cụ); phân tích 21 vị trí nghề nghiệp và các đặc trưng bản chất của phần mềm.
  • Chương 2: Qui trình phát triển phần mềm: Trình bày vòng đời phát triển hệ thống (SDLC) với 4 giai đoạn (Lập kế hoạch, Phân tích, Thiết kế, Triển khai); khảo sát các mô hình phát triển phần mềm: Thác nước (Waterfall Model), Bản mẫu (Prototyping Model), Xoắn ốc (Boehm's Spiral Model), Tăng trưởng (Incremental Model), RAD, Phát triển dựa trên cấu phần (Component-Based), Kỹ thuật thế hệ thứ 4 (4GT), và Tiến trình hợp nhất Rational (RUP); giới thiệu công cụ trợ giúp tự động hóa CASE (Computer-Aided Software Engineering).
  • Chương 3: Phân tích và đặc tả yêu cầu: Khảo sát các nguyên lý phân tích và mô hình hóa; quy trình kỹ nghệ yêu cầu (khảo sát khả thi, trích xuất, đặc tả, thẩm định); mô hình hóa chức năng và luồng dữ liệu (DFD); phân tích yêu cầu theo Mô hình tiến trình hợp nhất (Unified Process Model) và ca sử dụng (Use-case).
  • Chương 4: Thiết kế: Phân loại thiết kế hướng chức năng và thiết kế hướng đối tượng; thiết kế kiến trúc hệ thống (kiến trúc dữ liệu tập trung, khách - dịch vụ Client-Server, phân tầng, gọi và trả lại, điều khiển ngắt và điều khiển quảng bá); thiết kế giao diện người dùng và thiết kế thủ tục.
  • Chương 5: Lập trình: Phân loại ngôn ngữ lập trình; nguyên tắc xây dựng phong cách lập trình chuẩn mực; các kỹ thuật lập trình phòng ngừa lỗi, xử lý biệt lệ và kỹ thuật tối ưu hóa hiệu quả thực thi.
  • Chương 6: Kiểm thử: Mô hình kiểm thử chữ V; phân cấp mức độ kiểm thử (kiểm thử đơn thể, tích hợp, hệ thống, chấp nhận); các chiến thuật và kỹ thuật kiểm thử hộp trắng, kiểm thử hộp đen, kiểm thử phần mềm hướng đối tượng; phương pháp chứng minh toán học tính đúng đắn của chương trình.
  • Chương 7: Triển khai và bảo trì: Quy trình hiện thực và đóng gói chuyển giao hệ thống; phân loại các hình thức bảo trì (sửa lỗi, thích ứng, hoàn thiện/nâng cao); quản lý cấu hình, bảng phân tích chi phí và các độ đo định lượng trong bảo trì phần mềm.

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

  • Fundamental Theories: Lý thuyết vòng đời phần mềm (SDLC); mô hình kỹ nghệ 4 tầng lấy chất lượng làm trọng tâm; lý thuyết độ tin cậy và sự thoái hóa logic của phần mềm theo thời gian.
  • Core Principles: Nguyên lý mô hình hóa phân rã chức năng; nguyên lý trừu tượng hóa và đóng gói dữ liệu trong hướng đối tượng; nguyên tắc kiểm thử độc lập và liên tục xuyên suốt quy trình phát triển.
  • Essential Frameworks: Khung tiến trình hợp nhất Rational (RUP) với 4 pha (Khởi đầu - Inception, Hình thành - Elaboration, Xây dựng - Construction, Chuyển giao - Transition); khung phân loại công cụ CASE theo chức năng, tiến trình và tích hợp (Tools, Workbenches, Environments).

Kỹ năng phát triển

  • Technical Skills: Sử dụng các công cụ CASE trong mô hình hóa; thiết kế kiến trúc phần mềm từ biểu đồ DFD; phân hoạch dọc và phân hoạch ngang hệ thống; kỹ thuật viết mã có cấu trúc và xử lý ngoại lệ.
  • Analytical Skills: Kỹ năng phân tích tính khả thi (kỹ thuật, kinh tế, tổ chức); phân loại và tinh chỉnh các yêu cầu chức năng và phi chức năng; phân tích cấu trúc rủi ro dự án.
  • Practical Competencies: Kỹ năng thiết kế kịch bản và ca kiểm thử theo mô hình chữ V; kỹ năng thẩm định tài liệu đặc tả yêu cầu; thiết lập quy trình quản lý sự thay đổi và bảo trì hệ thống.

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

  • Pedagogical Approach: Giáo trình áp dụng phương pháp tiếp cận diễn dịch kết hợp quy nạp. Lý thuyết kỹ nghệ phần mềm chuẩn hóa được hệ thống hóa trước thông qua các định nghĩa mang tính quy chuẩn quốc tế (IEEE, ISO/IEC), sau đó được cụ thể hóa bằng các biểu đồ luồng nghiệp vụ, sơ đồ kiến trúc và bảng đối chiếu thuật ngữ.
  • Bài tập và Case Studies: Giáo trình cung cấp các trường hợp nghiên cứu điển hình bám sát thực tế, chẳng hạn như mô hình use-case cho bài toán quản lý học tập tại một trung tâm đào tạo, mô hình chuyển đổi luồng dữ liệu giao dịch thành cấu trúc module kiến trúc. Các tình huống nghiên cứu giúp người học nhận diện rõ ràng ranh giới kỹ thuật giữa các giai đoạn phân tích và thiết kế.
  • Practical Exercises: Hệ thống câu hỏi và bài tập cuối mỗi chương tập trung vào việc yêu cầu người học:
    1. Mô tả chi tiết các pha trong vòng đời phát triển hệ thống;
    2. Vẽ bản đồ tư duy cho các tiến trình kỹ nghệ;
    3. Lập bảng so sánh ưu nhược điểm, phạm vi ứng dụng của từng mô hình tiến trình (Waterfall, Spiral, RAD, Incremental, RUP);
    4. Luyện tập phân tích thành phần phần mềm và nhận diện vai trò nhân sự trong nhóm phát triển.
  • Assessment Methods: Đánh giá thông qua năng lực hoàn thành hệ thống câu hỏi lý thuyết tổng hợp, khả năng xây dựng tài liệu kỹ thuật (đặc tả yêu cầu SRS, tài liệu thiết kế kiến trúc) và khả năng ứng dụng công cụ CASE trong các đồ án quy mô nhỏ.
  • Self-study Guidelines: Người học được hướng dẫn tự nghiên cứu mở rộng thông qua mạng Internet đối với các chủ đề mang tính thời sự công nghệ (như lịch sử phát triển SE, các chuẩn đo lường định lượng chi phí bảo trì, khảo sát thị trường công cụ lập trình).

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

  • Phân định khoa học các khái niệm chuyên ngành: Giáo trình làm rõ sự khác biệt giữa Khoa học máy tính, Kỹ thuật, Công nghệ và Kỹ nghệ phần mềm dựa trên chuẩn ESCAP, IEEE (1993), Pressman (2001) và Sommerville (2007), giúp sinh viên xác lập tư duy chính xác về ngành học.
  • Hệ thống hóa chi tiết 21 chức danh nghề nghiệp: Khác với các tài liệu thuần lý thuyết lập trình, giáo trình phân tích tỉ mỉ yêu cầu kỹ năng và phạm vi công việc của 21 vị trí trong ngành công nghiệp phần mềm (Lập trình viên, Phân tích viên hệ thống, Kỹ sư tri thức, Kỹ sư AI, Quản trị cơ sở dữ liệu DBA, Kiểm soát viên chất lượng, Chuyên gia bảo mật, Chuyên viên tiếp thị sản phẩm...).
  • Cập nhật các mô hình tiến trình hiện đại: Tích hợp đầy đủ cấu trúc khung tiến trình Rational Unified Process (RUP) với 4 pha thời gian và hệ thống các luồng công việc kỹ nghệ / hỗ trợ; giới thiệu kỹ thuật phát triển dựa trên cấu phần (Component-Based) và kỹ thuật thế hệ thứ 4 (4GT).
  • Chuẩn hóa hệ thống thuật ngữ chuyên môn: Giáo trình trang bị bảng đối chiếu thuật ngữ chuyên ngành Việt - Anh chuẩn xác (CASE - Computer-Aided Software Engineering, SRS - Software Requirement Specification, UPM - Unified Process Model, Transaction Flow, Architectural Design, Code browser, Maintenance...).

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

  • Sinh viên mục tiêu: Sinh viên đại học ngành Sư phạm Tin học (theo khung chương trình chuẩn quốc gia) và sinh viên các ngành Công nghệ thông tin, Hệ thống thông tin, Kỹ thuật phần mềm đang học học phần nhập môn.
  • Prerequisites (Kiến thức tiên quyết): Để tiếp thu hiệu quả nội dung giáo trình, người học cần hoàn thành các học phần nền tảng:
    • Nhập môn Tin học / Cơ sở công nghệ thông tin;
    • Ngôn ngữ lập trình cấu trúc và Lập trình hướng đối tượng;
    • Cấu trúc dữ liệu và giải thuật;
    • Cơ sở dữ liệu và Hệ quản trị cơ sở dữ liệu.
  • Giảng viên và cách sử dụng: Giảng viên sử dụng giáo trình làm tài liệu giảng dạy chính thức cho học phần TINS4392; sử dụng các biểu đồ tiến trình và câu hỏi ôn tập cuối chương để thiết kế bài giảng lý thuyết, đề tài thảo luận nhóm và hướng dẫn bài tập lớn.
  • Tự học và Reference: Tài liệu tham khảo hệ thống hóa cho kỹ sư phần mềm mới bắt đầu, chuyên viên phân tích nghiệp vụ sơ cấp và giáo viên Tin học tại các trường Trung học phổ thông cần tài liệu tham khảo để hướng nghiệp cho học sinh.

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

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

Giáo trình được thiết kế trực tiếp cho sinh viên ngành Sư phạm Tin học và sinh viên nhóm ngành Công nghệ thông tin trình độ đại học cần nắm vững quy trình sản xuất phần mềm công nghiệp.

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ề kỹ thuật lập trình (ngôn ngữ lập trình bậc cao), cấu trúc dữ liệu - giải thuật và nguyên lý hệ cơ sở dữ liệu để có thể tiếp cận tốt các chương phân tích, thiết kế kiến trúc và kiểm thử.

3. Giáo trình này có chứa nội dung Quản lý dự án phần mềm không?

Không. Giáo trình lược bỏ phần quản lý dự án phần mềm vì nội dung này được cấu trúc thành một học phần độc lập 2 tín chỉ trong chương trình đào tạo của nhà trường.

4. Giáo trình giới thiệu những mô hình phát triển phần mềm nào?

Giáo trình phân tích chi tiết các mô hình: Thác nước (Waterfall), Bản mẫu (Prototyping), Xoắn ốc (Spiral - Boehm), Tăng trưởng (Incremental), RAD, Phát triển dựa trên cấu phần, Kỹ thuật thế hệ thứ 4 (4GT) và Tiến trình hợp nhất (RUP).

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

Giáo trình cung cấp bảng đối chiếu thuật ngữ chuyên ngành Anh - Việt, danh mục hệ thống biểu bảng, biểu đồ luồng dữ liệu (DFD), sơ đồ tiến trình RUP, mô hình chữ V và hệ thống bài tập thực hành cuối mỗi chương.


Kết luận (150 từ)

  • Giá trị cốt lõi của giáo trình: Giáo trình Nhập môn Công nghệ phần mềm (Mã học phần: TINS4392) của tác giả Nguyễn Thế Dũng là tài liệu học thuật chuẩn hóa, trình bày mạch lạc toàn bộ vòng đời phát triển phần mềm từ khâu thu thập yêu cầu, thiết kế kiến trúc, lập trình, kiểm thử đến bảo trì hệ thống. Nội dung gắn kết chặt chẽ giữa nguyên lý kỹ nghệ chuẩn quốc tế và yêu cầu phân loại nghề nghiệp thực tế.
  • Lộ trình học tập đề xuất: Hoàn thành học phần TINS4392 dựa trên giáo trình này -> Tiếp tục học phần chuyên sâu Quản lý dự án phần mềm (2 tín chỉ) -> Tham gia đề án phát triển phần mềm ứng dụng thực tế hoặc khóa luận tốt nghiệp.
  • Tài liệu tham khảo nền tảng: Các công trình chuẩn của IEEE (1993), Roger S. Pressman (2001), Ian Sommerville (2007) và khung chuẩn đào tạo giáo viên Tin học của Bộ Giáo dục và Đào tạo.