सॉफ्टवेयर, प्रोग्रामिंग भाषा द्वारा लिखे गये निर्देशों की श्रृंखला है, जिसके अनुसार दिए गये डेटा का प्रोसेस होता है । बिना सॉफ्टवेयर के कम्प्यूटर कोई भी कार्य नहीं कर सकता है । इसका प्राथमिक उद्देश्य डाटा को सूचना में परिवर्तित करना है । सॉफ्टवेयर के निर्देशों के अनुसार ही हार्डवेयर भी कार्य करता है । इसे प्रोग्राम भी कहते हैं । हार्डवेयर और सॉफ्टवेयर के बीच संचार स्थापित करने को इंटरफेस कहते हैं ।
सभी सॉफ्टवेयर लाइसेंस के माध्यम से संरक्षित तथा प्रतिवेधित रहते हैं । सॉफ्टवेयर लाइसेंस सॉफ्टवेयर के निर्माता तथा उपयोगकर्त्ता के बीच कानूनी एग्रीमेंट है, जिसके अन्तगर्त एक से अधिक कम्प्यूटर पर सॉफ्टवेयर को ईस्टॉल करना, कोड में किसी तरह का रूपान्तरण और सॉफ्टवेयर में किसी तरह का बदलाव करना निषेद्य है । यह सॉफ्टवेयर के उपयोग को प्रतिबंधित करता है ।
कम्प्यूटर सॉफ्टवेयर विभिन्न तरह के होते हैं । सामान्यतः इसे तीन वर्गों में वर्गीकृत किया जाता है :
- सिस्टम सॉफ्टवेयर (System Software)
- अनुप्रयोग सॉफ्टवेयर (Application Software)
- प्रोग्रामिंग सॉफ्टवेयर (Programming Software)
यह कम्प्यूटर हार्डवेयर को नियंत्रित करता है कि अनुप्रयोग सॉफ्टवेयर अच्छी तरह से चल सके । जैसे ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर, विंडोज सिस्टम आदि ।
यह यूजर को एक या एक से अधिक कोई विशेष कार्य पूरा करने की अनुमति देता है । उच्च स्तरीय की कम्प्यूटर भाषाओं का उपयोग कर अनुप्रयोग सॉफ्टवेयर बनाये जाते हैं । सॉफ्टवेयर प्रोग्राम अंग्रेजी भाषा का प्रयोग करते हुए लिखा जाता है, अतः यूजर आसानी से कम्प्यूटर का उपयोग कर सकता है । जैसे - वर्ड प्रोसेसर, औद्योगिक स्वचालन, व्यापार सॉफ्टवेयर और चिकित्सा सॉफ्टवेयर आदि ।
यह आमतौर पर कम्प्यूटर प्रोग्राम लिखने में एक प्रोग्रामर की सहायता करने के लिए उपकरण प्रदान करता है, जैसे - पाठ संपादक, कम्पाइलर, डि-बगर, इन्टरप्रेटर आदि ।