1. ความสัมพันธ์กับฮาร์ดแวร์
1.1. ซอฟต์แวร์ เป็นชื่อเรียกเพื่อใช้เปรียบต่างกับฮาร์ดแวร์ ซึ่งเป็นลักษณะทางกายภาพในการเก็บและประมวลผลของซอฟต์แวร์ ในคอมพิวเตอร์ซอฟต์แวร์จะถูกเรียกใช้งานในแรมและประมวลผลผ่านซีพียู
2. ประเภทของซอฟต์แวร์
2.1. การแบ่งเชิงเทคนิค อาจแบ่งซอฟต์แวร์เป็น 3 ประเภท ซอฟต์แวร์ระบบ (System/Infrastructure software) ใช้ในการทำให้คอมพิวเตอร์ฮาร์ดแวร์ทำงานกับระบบคอมพิวเตอร์ได้ โดยรวมถึงระบบปฏิบัติการ ไดรเวอร์ และระบบหลักของคอมพิวเตอร์ต่าง ๆ โปรแกรมประยุกต์ หรือซอฟต์แวร์ประยุกต์ (Application software) ช่วยให้ผู้ใช้งานสามารถดำเนินงานต่าง ๆ โดยทั่วไปเช่น โปรแกรมสำนักงาน ฐานข้อมูล คอมพิวเตอร์เกม เว็บเบราว์เซอร์ โดยโปรแกรมประยุกต์จะมีจียูไอ โปรแกรมคอมพิวเตอร์ (Tools/Utilities) ประกอบไปด้วยเครื่องมือช่วยให้โปรแกรมเมอร์เขียนโปรแกรมอื่น ๆ หรือโปรแกรมประยุกต์ได้ เครื่องมือต่าง ๆ ประกอบไปด้วย คอมไพเลอร์ อินเตอร์พรีเตอร์ ดีบักเกอร์
2.1.1. การแบ่งตามรูปแบบการส่งมอบ แบ่งได้เป็น 2 กลุ่มคือ ซอฟต์แวร์สำเร็จรูป (Package software) ซอฟต์แวร์ที่มีการขาย ให้เช่า หรือให้บริการ โดยคิดค่าบริการเป็น transaction หรือ license ซอฟต์แวร์ที่พัฒนาเงินเดือน (Outsources software development) เป็นการออกแบบและพัฒนาซอฟต์แวร์เพื่อใช้งานเฉพาะกับงานประเภทต่าง ๆ เฉพาะกิจกรรมไป ส่วนใหญ่ลิขสิทธิ์ของซอฟต์แวร์นี้จะเป็นของผู้ที่ว่าจ้างให้พัฒนาขึ้น
2.1.1.1. การแบ่งตามประเภทของการนำไปใช้งานหลัก แบ่งได้เป็น 3 กลุ่มคือ ซอฟต์แวร์ช่วยในการบริหารจัดการทั่วไป (Enterprise software) เป็นซอฟต์แวร์ที่ใช้กับการทำงานเพื่อแก้ปัญหา/จัดการทรัพยากรของ บุคคล/องค์กร เช่น ซอฟต์แวร์บัญชี ซอฟต์แวร์จัดทำเอกสาร เป็นต้น ซอฟต์แวร์สำหรับอุปกรณ์พกพาขนาดเล็ก (Mobile applications software) เป็นซอฟต์แวร์ที่ทำงานผ่านระบบปฏิบัติการพิเศษบนอุปกรณ์ขนาดเล็ก เช่น โทรศัพท์มือถือ PDA โดยสามารถแบ่งเป็นกลุ่มใหญ่ๆ ได้ 2 กลุ่ม คือ (1) ซอฟต์แวร์เพื่อสนับสนุนธุรกรรมทางธุรกิจ (Business applications) เช่น Mobile banking, Mobile payment, GPS on Mobile, Mobile applications for business process management และ(2) ซอฟต์แวร์ที่เกี่ยวข้องกับนันทนาการและบันเทิง (Entertainment applications) ซึ่งรวมเกมบนโทรศัพท์เคลื่อนที่ ซอฟต์แวร์สมองกลฝังตัว (Embedded System Software) เป็นซอฟต์แวร์ซึ่งฝังอยู่ไว้ในอุปกรณ์อิเล็กทรอนิกส์ต่างๆ เพื่อใช้สำหรับควบคุมการทำงานของอุปกรณ์นั้นๆ เช่น ระบบ GPRS ระบบทำความเย็นอัจริยะ ระบบตรวจสอบย้อนกลับ เป็นต้น