Yazılım çeşitlilik bakımında birçok alt başlığa ayrılabilen bir yapıya sahip olmaktadır. Ancak genel kabul olarak yazılım iki ana başlık altında ele alınmaktadır. Bu alt başlıklar; bilgisayar yazılımları ve elektronik yazılımlar şeklindedir.
Bilgisayar, temelde elektronik bir cihaz olsa da içindeki yazılım mantığı temel elektronik cihazlardan biraz daha farklı olduğu için bunları ayrı iki kategoriye ayırmak çok daha mantıklı bir çerçeve yaratacaktır. Ufak bir not olarak bilgisayarların yanına mobil cihazlar da eklenebilmektedir. Temel de benzer mantıkların ürünleridirler.
Bilgisayar Yazılımları
Bilgisayar yazılımları kendi içlerinde geniş bir yelpazeye ayrılabilmesinden kaynaklı olarak üçe ayrılabilmektedir. Bunlar; uygulama yazılımları, sistem yazılımları ve bilgisayar programlama araçları olarak sınıflandırılabilir.
Uygulama Yazılımları
Uygulama yazılımları genellikle bilgisayarlarda kullanılan, bir görevi yapmak amacıyla yazılmış yazılımlardır. Bunlara örnek olarak ise; web programları, ofis programları, resim ve video düzenleme programları, oyunlar gibi birçok kategoride uygulamalar verilebilmektedir. Kısacası uygulama yazılımları; insanların çalışmalarını hızlandırmak, bir işlemi mümkün olan en kısa ve kolay şekilde yapılmasını sağlamak için yazılmaktadır.
Sistem Yazılımları
Sistem yazılımları, herkesin bildiği Windows, Android, iOS gibi kullanıcının ilk karşılaştığı, donanımların ve yazılımların uyumlu çalışmasını sağlayan temel yazılımlardır. Sistem yazılımları için uygulama yazılımlarına kıyasla daha derin bir bilgisayar ve yazılım bilgisi gerekmektedir.
Bilgisayar Programlama Araçları
Bu yazılım türü, yazılan kodları bilgisayar diline çevirerek donanımlara ne yapması gerektiğini söylemekle görevli olmaktadır. Bu sayede de bilgisayar/makine bu uygulamaları çalıştırabilir bir pozisyona getirebilmektedir. Eğer yazılım diliyle, kullanılan programlama aracı uyuşmuyorsa ya da doğru işletim sistemine ait değilse o program o cihazda çalışmayacaktır.
Elektronik Yazılımları
Bir ya da birkaç görevin yapılması için yazılan, genellikle işlemcinin pin giriş-çıkışlarına bağlı sensörlerden veri okumak ve işlemek, giriş-çıkışlara bağlı olan motor ya da led gibi elektronik cihaza bir iş yaptırmak maksadıyla yazılan yazılımlardır. Bu yazılımlar küçük projelerden, sanayide kullanılan büyük cihazlara kadar hemen hemen her alanda sıklıkla kullanılmaktadır.
Elektronik Yazılımının Bilgisayar Yazılımından Farkı
Elektronik yazılımlarda, programlanan işlemciyi mutlaka bir elektronik devre ile hatta gerekiyorsa da mekanik tasarım ile birleştirilip kullanmak gerekmektedir. Yani elektronik yazılımlarda; kimi zaman kamera, kimi zaman ise motor gibi fiziksel bir karşılık mutlaka bulunmak zorundadır.