Chúng ta nói tới hai từ: phần mềm và chương trình; chẳng hạn: Tôi có được một phần mềm mới; Chương trình tôi soạn ra còn phải thử nghiệm; Chức năng phần mềm đồ họa (nào đó) rất khá; Chương trình đồ họa (nào đó) không thể khởi động trong máy tính của tôi v.v. Vậy là đã đề cập đến hai khái niệm “phần mềm” và “chương trình”.
Phần mềm của máy tính là gọi chung của chương trình và tài liệu trong hệ thống máy tính. Chương trình là sự miêu tả đối tượng xử lí và quy tắc xử lí đối với nhiệm vụ tính toán. Tài liệu và tư liệu có tính thuyết minh cần thiết để giúp tìm hiểu chương trình, như bản thuyết minh thiết kế, chỉ dẫn cho người dùng (sổ tay sử dụng) v.v. Chương trình phải cài đặt vào máy tính mới có thể làm việc, tài liệu thì thường để cho người ta xem, không nhất thiết phải cài đặt vào máy.
Bất kì nhiệm vụ nào sử dụng máy tính làm công cụ xử lí thì đều là nhiệm vụ tính toán. Đối tượng xử lí của chương trình là dữ liệu (như con số, chữ viết, hình vẽ, tranh ảnh, âm thanh v.v.) hoặc thông tin (lấy dữ liệu làm hình thức truyền tải, có nội dung hàm nghĩa xác định). Quy tắc xử lí là động tác và các bước dùng để xử lí dữ liệu hoặc thông tin, như tính toán bài toán, tính toán lôgic, tính toán quan hệ, tính toán hàm số và cả các thao tác, các bước trình tự, phán đoán, tuần hoàn. Chương trình là khái niệm cơ bản nhất trong lập trình, và cũng là khái niệm rất cơ bản trong phần mềm, chương trình là bộ phận chủ yếu cấu tạo nên phần mềm cũng lại là đối tượng nghiên cứu của phần mềm. Chất lượng của chương trình quyết định chất lượng của phần mềm. Quá trình làm việc thực tế khi chương trình được cài đặt vào máy được gọi là thực hiện (chạy) chương trình. Đánh giá chất lượng chương trình, ngoài việc khảo sát tính cấu trúc chương trình, còn phải khảo sát quá trình thực hiện của nó.
Từ phần mềm bắt nguồn từ chương trình. Đầu những năm 60 thuộc thế kỷ XX người ta dần dần đã nhận thức được tầm quan trọng của những tài liệu liên quan đến chương trình, và từ phần mềm đã ra đời.
Phần mềm là phần tiếp xúc giao diện (giao diện là bộ phận giao tiếp giữa hai hệ thống khác nhau hoặc hai bộ phận có tính chất khác nhau, gồm giao diện phần cứng và giao diện phần mềm – chú thích của người dịch) giữa người sử dụng với phần cứng. Muốn sử dụng máy tính thì phải lập trình và phải có phần mềm. Người sử dụng máy tính chủ yếu là quan hệ với máy tính thông qua phần mềm.
Theo chức năng, ta chia phần mềm ra ba loại: phần mềm hệ thống, phần mềm hỗ trợ và phần mềm ứng dụng. Chúng gộp thành tổng thể phần mềm trong hệ thống máy tính, phát huy chức năng của bản thân trong những giai đoạn khác nhau.