Yazılım olarak da adlandırılan bilgisayar yazılımı, bir bilgisayara ne yapacağını veya bir görevi nasıl yerine getireceğini söyleyen bir dizi talimat ve belgedir. Yazılım, bir bilgisayardaki uygulamalar ve işletim sistemi gibi tüm farklı yazılım programlarını içerir. Uygulamalar, oyun veya kelime işlemci gibi belirli bir işlemi gerçekleştirmek için tasarlanmış programlardır. İşletim sistemi (örneğin Mac OS, Microsoft Windows, Android ve çeşitli Linux dağıtımları), uygulamaları çalıştırmak için bir platform olarak kullanılan ve ekran ve klavye dahil olmak üzere tüm kullanıcı arayüzü araçlarını kontrol eden bir yazılım katmanıdır.
Yazılım kelimesi ilk olarak 1960'ların sonunda, kullanıcı tarafından fiziksel olarak gözlemlenebilen bilgisayar donanımından farkını vurgulamak için kullanılmıştır. Yazılım, bilgisayarın takip ettiği bir dizi talimattır. Kompakt diskler (CD'ler) ya da internet çağının gelişiminden önce yazılım, kağıt delikli kartlar, manyetik diskler ya da manyetik bantlar gibi çeşitli bilgisayar veri depolama ortam araçlarında kullanılıyordu.
Firmware kelimesi bazen belirli bir bilgisayar türü veya elektronik cihaz için özel olarak üretilen ve genellikle bilgisayardaki bir Flash bellek veya ROM çipinde saklanan bir yazılım stilini tanımlamak için kullanılır. Firmware genellikle bir donanım parçasını doğrudan kontrol eden bir yazılım parçasını ifade eder. Bir CD sürücüsü için donanım yazılımı veya bir modem için donanım yazılımı, donanım yazılımı uygulamasının örnekleridir.
Günümüzde yazılım hayatımızın önemli bir parçası haline gelmiştir. Yazılım olmadan insanlar gelişemez, yazılımı her yerde kullanıyoruz. Yazılım mühendisleri, kelimenin tam anlamıyla günlük hayatımızın vazgeçilmez bir parçası haline gelen hatasız yazılımlar üretmekten sorumludur. Değiştirilebilirlik ve uygunluk, yazılım tasarımının temel özelliklerinden ikisidir. Yazılım tasarlamak için Yap ve Düzelt, Şelale ve Çevik yazılım işleme tasarım yöntemleri dahil olmak üzere farklı işleme modelleri de vardır.

