- Phần mềm có thể hiểu là một tập hợp các tập tin có mối liên hệ chặt chẽ với nhau, đảm bảo thực hiện một số nhiệm vụ, chức năng nào đó trên thiết bị điện tử.
- Các tập tin này có thể bao gồm các file mã nguồn viết bằng một hoặc nhiều ngôn ngữ lập trình, các file dữ liệu (thư viện), các file hướng dẫn.
- Có nhiều cách phân loại phần mềm, dưới đây là một cách phân loại theo phương thức hoạt động.
+ Phần mềm hệ thống: dùng để vận hành máy tính nói riêng và các thiết bị điẹn tử nói chung (vd: hệ điều hành Microsoft, Linux,...; các Driver, Firmware...; hệ điều hành di động như Android, iOS...)
+ Phần mềm ứng dụng: các phần mềm có chức năng phục vụ cho nhu cầu nào đó của người dùng (vd: Microsoft Office, game, các công cụ khác...)
+ Phần mềm dịch mã: gồm trình biên dịch (compiler) và trình thông dịch (interpreter), chuyên dich các câu lệnh từ mã nguồn của ngôn ngữ lập trình sang dạng ngôn ngữ máy (ngôn ngữ bit).
+ Phần mềm nền tảng ứng dụng: những phần mềm tạo nền để các phần mềm khác hoạt động dựa trên nó (vd: ASP.NET của Microsoft...)