c1: Cấu trúc chung của máy tính gồm các khối chức năng: bộ xử lí trung tâm; thiết bị vào và thiết bị ra (thường được gọi chung là thiết bị vào/ra). Ngoài ra, để lưu trữ thông tin, máy tính điện tử còn có thêm một khối chức năng quan trọng nữa là bộ nhớ.
c2: Phần mềm thực hiện các chức năng của nó bằng cách gửi các chỉ thị trực tiếp đến phần cứng (Hardware) hoặc cung cấp dữ liệu để phục vụ các chương trình hay phần mềm khác.
Viêc thực thi nhiệm vụ có thể thể là tự động hoặc thực hiện theo các thông tin, dữ liệu đầu vào.
Phải có phần cứng thì phần mềm mới thực thi được. Thông thường là máy tính, các thiết bị giải trí truyền thông, bộ điều khiển trên máy công cụ – ô tô. v.v..
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. Ví dụ: hệ điều hành máy tính Windows, Linux, Unix; Các trình điều khiển (driver), phần sụn (firmware) và BIOS. Hệ điều hành di dộng iOS, Android, Windows Phone,…
Phần mềm ứng dụng : Các phần mềm văn phòng (Microsoft Office, OpenOffice), trò chơi điện tử (game), các công cụ & tiện ích khác,.v.v..
Phần mềm dịch mã (trình dịch) gồm trình biên dịch và trình thông dịch, cụ thể là chúng dịch 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 sao cho thiết bị thực thi có thể hiểu được.
Nền tảng ứng dụng: như ASP.NET – nền tảng ứng dụng web của Microsoft, cái này hỗ trợ việc tạo ra các ứng dụng web, dịch vụ web (web service).
Theo khả năng hay quyền hạn can thiệp vào mã nguồn
Phần mềm mã nguồn đóng (closed source software): Là phần mềm mà mã nguồn của nó không được công bố. Để sử dụng phần mềm nguồn đóng phải được cấp bản quyền (mua, tặng là tùy).
Phần mềm mã nguồn mở (open source software): Là phần mềm mà mã nguồn của nó được công bố rộng rãi, công khai và cho phép mọi người tiếp tục phát triển phần mềm đó. Thường thì loại phần mềm này miễn phí.