Page 3 - Bilgisayar Bilimi Kur 1| 2. Bölüm
P. 3

1.1. Yazılım Geliştirme Süreci

               Bir bilgisayar programı, bilgisayar sistemindeki elektrik sinyallerinin akışını yöneten bir dizi yöner-
            gedir. Bu sinyaller, bilgisayarın hafızasını etkileyerek ekran, klavye, fare ve hatta diğer bilgisayarlar ile
            etkileşim sağlar. Bu şekilde insanlar da karmaşık problemleri çözmek, oyun oynamak gibi değişik işlem-
            leri gerçekleştirebilir. Bir program hesap makinesi rolü üstlenirken bir diğeri makineyi satranç tahtasına
            dönüştürebilir. Buradaki iki örnek;
               •  Alt düzeyde, elektrik sinyalleri somut biçimde bilgisayarın mevcut durumunu değiştirirken,
               •   Üst düzeyde, soyut bir biçimde kullanıcıların eğlenme ya da işleri gereği farklı işlemleri gerçek-
                  leştirmelerini sağlar.
               Günümüzde, kullanıcı arayüzüne aktarılan üst düzey işlemler ile alt düzey işlemleri kontrol edebil-
            mek, son derece kolaylaşmıştır ve bu nedenle pek çok programcı bu dilleri kullanarak daha soyut bir
            biçimde kod yazmaktadır. Programlama seçenekleri programlamayı sürpriz bir biçimde basit hâle getir-
            miştir. Programlama kavramları, temelinde mantıksal ve matematiksel olarak sınıflandırılabilir. Bilgi-
            sayar programları bir bilgisayar kullanmadan da yazılabilir. Programcılar, bir programın çalışabilirliğini
            ve doğruluğunu, gerçek yaşamda yeri olmayan soyut semboller kullanarak tartışabilirler. Bu yaklaşımlar
            çok değerli olmakla beraber, programcılar çoğu zaman makinelerden uzak kalamazlar. Yazılımlar, ger-
            çek bilgisayar sistemlerinde kullanılmak üzere yazılır. Yazılım mühendisleri belirli sistemler üzerinde
            çalışacak şekilde programları üretirler. Bu sistemler, donanım alt yapıları ve kullandıkları işletim sistemi
            ile tanımlanır. Yazılım geliştirenler; derleyici (compiler), hata ayıklayıcı (debugger) ve yanaylaç (profiler)
            gibi somut araçları kullanırlar.
               Yazılım geliştirme süreci şu şekilde işler;
               - Programcı programlama dili kullanarak kodları oluşturur,
               - Yazılan kod bütünü, hata ayıklayıcı (debugger) kullanılarak hatalara karşı denetlenir,
               - Hataları giderilmiş kodlar, derleyici (compiler)  kullanılarak bilgisayarın yorumlayabileceği elekt-
            riksel sinyallere dönüştürülür.
               Bu süreç sonunda bilgisayar, elektriksel sinyalleri yorumlayarak komutların gereğini yapar. Ayrıca
            yazılım geliştirme sürecinde yanaylaç (profiler) kullanımı, yazılımcının, programın daha hızlı çalışma-
            sını sağlayacak şekilde kodları revize etmesine olanak sağlar.

            1.1.1 Yazılım

               Yazılım,  bilgisayarın  donanımını  anlamlı  hale  getiren,  bilgisayarları  kullanıcıların  amaçları
            doğrultusunda kullanmasını sağlayan kod, komut ve programlardır.

               Bilgisayar yazılımlarına örnek olarak bilgisayar programları verilebilir. Bir program, bir yazılım
            parçası olarak nitelendirilebilir. Yazılımlar daha soyut, programlar ise biraz daha somuttur. Yazı-
            lımlar CD, DVD, sabit disk, taşınabilir bellek gibi farklı araçlar üzerinde saklanabilir. Yazılımların
            kullanabilmesi için bilgisayarın hafızasında kayıtlı olması gerekir. Bilgisayar programları hafızaya
            belirtilen araçlardan yüklenir. Bilgisayarın sabit diskine yüklenmiş olan program elektromanyetik
            bir örüntü oluşturur. Bu elektronik sembollerden oluşan örüntünün, program çalışmadan önce
            hafızaya transfer edilmesi gerekir. Program bir CD ya da İnternet üzerinden yüklenebilir. Bu elekt-
            ronik semboller ikilik sayı sistemini kullanan, sıfır ve bir değerlerinden oluşan bir dizidir.

               Örnek: Bir ikilik program şu şekilde görünür:
               10001011011000010001000001001110
               İşlemci olarak adlandırılan bilgisayar donanımı, bu sinyalleri çözümleyerek yapılmak istenen işlemi (gra-
            fik ara birimine veri göndererek ekranın bir bölümünün mavi görünmesini sağlamak gibi) gerçekleştirir.

                                                                                                     109
   1   2   3   4   5   6   7   8