Giới thiệu tài liệu
Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, nhu cầu về các hệ thống phần mềm phức tạp, đáng tin cậy và hiệu quả ngày càng gia tăng. Môn Công nghệ phần mềm đóng vai trò thiết yếu trong việc cung cấp các nguyên lý và phương pháp luận để xây dựng phần mềm một cách có hệ thống, khắc phục các thách thức cố hữu như vượt chi phí, chậm tiến độ và chất lượng kém. Giáo trình này được thiết kế nhằm trang bị cho sinh viên trình độ cao đẳng những kiến thức cơ bản về các hoạt động trong phát triển phần mềm, các mô hình vòng đời, và đặc biệt là kiến thức nền tảng về ngôn ngữ mô hình hóa thống nhất (UML), từ đó phát triển kỹ năng sử dụng công cụ và nâng cao năng lực làm việc nhóm.
Đối tượng sử dụng
Sinh viên cao đẳng chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm, hoặc các ngành liên quan cần kiến thức nền tảng và kỹ năng thực hành về phát triển phần mềm.
Nội dung tóm tắt
Giáo trình Công nghệ phần mềm này cung cấp cái nhìn toàn diện về các khía cạnh cốt lõi trong quá trình phát triển phần mềm, từ giai đoạn khởi tạo ý tưởng đến bảo trì lâu dài. Nội dung trình bày các đặc trưng, kiểu loại phần mềm khác nhau, và bối cảnh lịch sử dẫn đến sự ra đời của ngành công nghệ phần mềm nhằm giải quyết 'khủng hoảng phần mềm' do chi phí, lỗi và thời gian. Giáo trình đi sâu vào các pha phát triển phần mềm một cách có cấu trúc, bao gồm xác định yêu cầu, phân tích, thiết kế, cài đặt, tích hợp và bảo trì, đồng thời giới thiệu các mô hình vòng đời phần mềm phổ biến như thác nước, tiến hóa, RUP và xoắn ốc. Một phần quan trọng là việc trình bày chi tiết về phương pháp phân tích và thiết kế hướng đối tượng, bao gồm ứng dụng của UML, các mô hình use case, lớp, và hoạt động, với những lợi ích vượt trội so với phương pháp cấu trúc truyền thống trong việc quản lý sự phức tạp và tăng khả năng bảo trì. Ngoài ra, giáo trình còn đề cập đến các vấn đề then chốt như kiểm thử phần mềm ở từng pha, lập kế hoạch và ước lượng dự án, đảm bảo chất lượng phần mềm, và quản lý các khía cạnh kinh tế, kỹ thuật. Mục tiêu cuối cùng là trang bị cho người học khả năng xây dựng các hệ thống phần mềm chất lượng cao, đáp ứng yêu cầu khách hàng, trong khuôn khổ thời gian và ngân sách cho phép, thông qua việc áp dụng các kỹ thuật và công cụ hiện đại.