Mọi người đều biết máy tính là loại công cụ cao cấp nhiều chức năng, có thể giải quyết nhiều vấn đề phức tạp. Khi bạn gặp vấn đề nan giải cần có máy tính trợ giúp thì bạn cần chuyển vấn đề nan giải thành dãy lệnh máy tính cho máy vận hành. Muốn làm được việc này, phải dựa vào phần mềm. Loại phần mềm này được gọi là phần mềm ứng dụng. Các bộ phận bên trong máy tính muốn làm việc phối hợp với nhau một cách hiệu quả thì cần còn phần mềm tự quản lý, loại phần mềm này gọi là phần mềm hệ thống.
Máy tính gồm có những bộ phận cơ bản tạo thành như bộ xử lí trung tâm (CPU) bộ nhớ (bao gồm bộ nhớ chính RAM, bộ nhớ chỉ đọc ROM) và các thiết bị xuất nhập (phần cứng xuất và phần cứng nhập). Phần mềm quản lý những thiết bị đó gọi là hệ điều hành, nó thuộc về phần mềm hệ thống, là bộ phận chủ yếu nhất của phần mềm hệ thống. Trong quá trình ta chuyển vấn đề khó giải thành các lệnh cho máy tính thì thường là do người lập trình viết chương trình bằng ngôn ngữ lập trình, và chương trình này CPU rất khó trực tiếp vận hành, cần phải có một chương trình biên dịch (giải thích) nữa thì mới có thể chuyển thành chương trình lệnh cho máy. Bởi vậy, phần mềm hệ thống ngoài việc bao hàm hệ điều hành còn gồm cả ngôn ngữ lập trình và hệ thống biên dịch của nó (hoặc giải thích) và cả chương trình phục vụ khác. Chỉ có vậy máy tính mới có thể thực sự bắt đầu vận hành chương trình, giải quyết vấn đề khó đặt ra. Cho nên, không có phần mềm thì máy tính không có đối tượng phục vụ, cũng không thể có khả năng tiến hành công việc chắc chắn.
Cùng với việc phát triển của máy tính và ứng dụng của nó thì những vấn đề cần đến nó giải quyết ngày càng nhiều và ngày càng phức tạp. Bởi vậy, phần mềm vận hành trên máy tính cũng ngày càng to lớn, chức năng ngày càng mạnh mẽ, vượt xa khái niệm “tính toán” truyền thống. Vì thế, ngành công nghiệp phần mềm đã trở thành một ngành công nghiệp có tiền đề phát triển trong thời đại thông tin.