Yazılım Nedir ?
Yazılım, bilgisayarları çalıştırmak ve belirli görevleri yürütmek için kullanılan talimatlar, veriler veya programlar kümesidir. Bir bilgisayarın fiziksel yönlerini tanımlayan donanımın tam tersidir. Bir aygıtta çalışan uygulamaları, komut dosyalarını ve programları ifade etmek için kullanılan genel bir terimdir. Bir bilgisayarın değişken kısmı olarak düşünülebilir, donanım ise değişmez kısımdır.
İki ana yazılım kategorisi uygulama programı ve sistem yazılımıdır. Bir uygulama, belirli bir ihtiyacı karşılayan veya görevleri yerine getirendir . Bir bilgisayarın donanımını çalıştırmak için tasarlanmıştır ve uygulamaların üstünde çalışması için bir platform sağlar.
Diğer türler arasında geliştiricilerin ihtiyaç duyduğu programlama araçlarını sağlayan programlar; sistemi ile uygulamalar arasında yer alan ara katman; ve bilgisayar aygıtlarını ve çevre birimlerini çalıştıran sürücü bulunur.
Belirli bilgisayarlar için yazılmış ve üzerinde çalıştığı donanım ile satılmıştır. 1980’lerde disketler, daha sonra CD ve DVD’lerde satılmaya başlandı. Günümüzde çoğu internet üzerinden satın alınmakta ve doğrudan indirilmektedir. Satıcı web sitelerinde veya uygulama servis sağlayıcı web sitelerinde bulunabilir.
1950’lerin sonlarına kadar kullanılmadı. Bu süre zarfında, farklı programlama türleri oluşturulmasına rağmen, bunlar genellikle ticari olarak temin edilemezdi. Sonuç olarak, kullanıcılar – çoğunlukla bilim adamları ve büyük işletmeler – genellikle kendileri yazmak zorunda kaldılar.
Uygulama Yazılımı
En yaygın türü olan uygulama yazılımı, bir kullanıcı için veya bazı durumlarda başka bir uygulama için belirli bir işlevi yerine getiren bir bilgisayar paketidir. Bir uygulama kendi kendine yeten olabilir veya kullanıcı için uygulamayı çalıştıran bir program grubu olabilir. Modern uygulamalara örnek olarak ofis paketleri, veritabanları ve veritabanı yönetim programları, web tarayıcıları, kelime işlemciler, geliştirme araçları, görüntü editörleri ve iletişim platformları verilebilir.
Sistem Yazılımı
Bu programlar, bir bilgisayarın uygulama programlarını ve donanımını çalıştırmak için tasarlanmıştır. Sistem donanım ve faaliyetlerini ve işlevlerini koordine eder. Ek olarak, bilgisayar donanımının işlemlerini kontrol eder ve diğer tüm türlerinin çalışması için bir ortam veya platform sağlar. İşletim sistemi ve en iyi örneğidir; diğer tüm bilgisayar programlarını yönetir. Diğer sistem örnekleri arasında ürün, bilgisayar dili çevirmenleri ve sistem yardımcı programları bulunur.
Sistem, bilgisayar donanımı ile uygulama yazılımı arasında yer alır. Kullanıcılar, bilgisayarın temel işlevlerini ele alarak arka planda çalıştığı için doğrudan sistem durumu ile etkileşime girmez. Bu bir sistemin donanımını koordine eder, böylece kullanıcılar belirli eylemleri gerçekleştirmek için üst düzey uygulama çalıştırabilir. Bir bilgisayar sistemi ön yüklendiğinde çalışır ve sistem açık olduğu sürece çalışmaya devam eder.
Sürücü Yazılımı
Aygıt sürücüleri bir tür sistem yazılımı olarak kabul edilir. Aygıt sürücüleri, bilgisayara bağlı aygıtları ve çevre birimlerini kontrol ederek belirli görevlerini yerine getirmelerini sağlar. Bilgisayara bağlı her aygıtın çalışması için en az bir aygıt sürücüsüne ihtiyacı vardır. Örnekler, özel oyun denetleyicileri de dahil olmak üzere standart olmayan donanımlarla birlikte gelen yanı sıra USB depolama aygıtları, klavyeler, kulaklıklar ve yazıcılar gibi standart donanımlara olanak sağlar.
Programlama Yazılımı
Bilgisayar programcıları kod yazmak için programlama kullanırlar. Programlama yazılım ve programlama araçları, geliştiricilerin diğer programlarını geliştirmelerini, yazmalarını, test etmelerini ve hata ayıklamalarını sağlar. Programlama örnekleri arasında montajcılar, derleyiciler, hata ayıklayıcılar ve tercümanlar bulunur.
Yazılım Kalitesi Nasıl Korunur
- Erişim: Ses tanıma ve ekran büyüteçleri gibi uyarlanabilir teknolojilere ihtiyaç duyan bireyler de dahil olmak üzere farklı bir grup insanın rahatça kullanabileceği bir derece.
- Uyumluluk: Farklı işletim sistemlerinde, cihazlarda ve tarayıcılarda olduğu gibi çeşitli ortamlarda kullanıma uygunluğu.
- Verimlilik: Enerji, kaynak, çaba, zaman veya para harcamadan iyi performans gösterebilmesi.
- İşlevsellik: Belirtilen işlevlerini yerine getirme yeteneği.
- Taşınabilirlik: Bir konumdan diğerine kolayca aktarılabilmesi.
- Güvenilirlik: Belirli koşullar altında belirli bir süre boyunca herhangi bir hata yapmadan gerekli bir işlevi yerine getirme yeteneği.
- Ölçeklenebilirlik: İşleme taleplerindeki değişikliklere yanıt olarak performansı artırma veya azaltma yeteneğinin ölçüsü.
- Güvenlik: Yetkisiz erişime, gizliliğin istilasına, hırsızlığa, veri kaybına, kötü amaçlı yazılımlara vb. Karşı koruma yeteneği.
dağıtıldıktan sonra kalitesini korumak için geliştiricilerin sürekli olarak yeni müşteri gereksinimlerini karşılayacak şekilde uyarlaması ve müşterilerin belirlediği sorunları çözmesi gerekir. Bu, işlevselliği iyileştirmeyi, hataları düzeltmeyi ve sorunları önlemek için kodu ayarlamayı içerir. Uzun bir ürünü piyasaya sürer bu bakım gereksinimleri yetişmek için geliştiricilerin becerisine bağlı. Kullanıcılar genellikle kodlama hataları ve gereksinimlerini karşılamasını engelleyen diğer sorunlar da dahil olmak üzere geliştiricilerin düzeltmesi gereken hataları belirler ve bildirir. Geliştiriciler, işletim sisteminin yeni bir sürümü çıktığında olduğu gibi değişen donanım ve ortamıyla uyumlu olduğundan emin olmak için düzenli olarak değişiklik yapmalıdır.
Tasarım Ve Uygulama
Yazılım geliştirme yaşam döngüsü, proje yöneticilerinin tasarlama ile ilgili aşamaları ve görevleri tanımlamak için kullandıkları bir çerçevedir. Tasarım yaşam döngüsündeki ilk adımlar, çabayı planlamak ve ardından kullanacak bireylerin ihtiyaçlarını analiz etmek ve ayrıntılı gereksinimler oluşturmaktır. İlk gereksinim analizinden sonra, tasarım aşaması bu kullanıcı gereksinimlerinin nasıl yerine getirileceğini belirlemeyi amaçlar.
Bir sonraki adım, geliştirme çalışmalarının tamamlandığı ve ardından testinin gerçekleştiği uygulama. Bakım aşaması, sistemin çalışmasını sağlamak için gereken tüm görevleri içerir.
Tasarımı, uygulanacak yapının, veri modellerinin, sistem bileşenleri arasındaki ara yüzlerin ve potansiyel olarak yazılım mühendisinin kullanacağı algoritmaların bir tanımını içerir.
Tasarım süreci, kullanıcı gereksinimlerini bilgisayar programcılarının kodlamasını ve uygulamasını yapmak için kullanabilecekleri bir forma dönüştürür. Yazılım mühendisleri tasarımı yinelemeli olarak geliştirirler, geliştirdikçe ayrıntı eklerler ve tasarımı düzeltirler.
Bu, sistemin genel yapısını, ana bileşenlerini ve mimari tasarım araçlarını kullanarak birbirleriyle ilişkilerini tanımlayan temel tasarımdır.
Bu, sistemin tüm bileşenleriyle birlikte bir yığın tarafından desteklenen modüller biçiminde nasıl uygulanabileceğine odaklanan ikinci tasarım katmanıdır. Üst düzey bir tasarım, veri akışı ile sistemin çeşitli modülleri ve işlevleri arasındaki ilişkileri tanımlar. Bu üçüncü tasarım katmanı, belirtilen mimari için gerekli tüm uygulama ayrıntılarına odaklanır.