Page 108 - Bilgisayar Bilimi | Kur 1
P. 108
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çekleş-
tirmelerini sağlar.
Günümüzde, kullanıcı ara yüzüne aktarılan üst düzey işlemler ile alt düzey işlemleri kontrol ede-
bilmek 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ıflanabilir. Bilgisayar
programları bir bilgisayar kullanmadan da yazılabilirler. 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ırlar. 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ırlar. Yazılım geliştirenler; derleyici (compiler), hata ayıklayıcı (debugger) ve yanaylaç (profi-
ler) gibi somut araçları kullanırlar.
1.2. Yazılım
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üklenirler. Bilgisayarın sabit diskine yüklenmiş olan program elektroman-
yetik 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 elektronik 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
(grafik ara birimine veri göndererek ekranın bir bölümünün mavi görünmesini sağlamak gibi) gerçek-
leştirir.
1.3. Yazılım Geliştirme Ortamları
Yazılımlar, ikilik dizileri daha anlaşılabilir kılan kelime ve sembolleri kullanırlar. Böylece bilgisa-
yarların dilini öğrenmek ve karmaşık problemleri çözen programlar yazmak kolaylaşır. Bu amaçla, ko-
mutları üst düzey yazılımlardan alt düzey makine diline çevirebilen araçlar da kullanılabilir. Phyton
gibi üst düzey diller, programcıların İngilizce konuşma diline çok yakın bir şekilde program kodlarını
yazabilmelerine olanak sağlar. Geçtiğimiz yaklaşık 60 yıllık süreçten günümüze kadar FORTRAN,
COBOL, Lisp, Haskell, C, Perl, C++, Java ve C# gibi pek çok üst düzey dil geliştirilmiştir. Bu tür prog-
ramlama dilleri ile uygulama geliştiren programcılar, donanım ya da makine dili gibi konulardaki de-
107