dersblog

Yazılım Çeşitleri

Yazilim cesitleri ve metodlari tek degildir. Bir metodu ogrenerek butun problemleri cozeceginizi sanmayin. Kariyerimiz boyunca "Rational Metodu", "Extreme Metodu" ogrenip Istanbul'u fethedecigini zanneden cok programci tanidik. Bu metodlar, her turlu yazilim problemine deva olacaklarini reklam ederler, fakat degisik yazilim problemlerinin ve cozumlerinin ne oldugunu bilmezseniz, hangi metodu ogrenirseniz ogrenin, basariya ulasamazsiniz. Ana software "problem alanlarini" sayalim..

Mesela, veri tabani paket programiniz Oracle; yani SQL dili kullanabileceginiz bir paket. Musteriniz dedi ki: "Bana oyle bir progrem yazki, her gun ABC kayitlarini isleyip XYZ kayidi haline getirsin. Ne kadar cabuk yapabilirse o kadar iyi. Sadece islesin. Gorsel falan hic bir sey istemem." Yukaridaki program 'gunluk' program kategorisine girer. Boyle programlar surekli 'uyanik' durmak zorundadir, ve isleyecek veri beklerler. Sanki ac bir hayvan gibidirler, veri buldugu anda yerler. Yoksa gelmesini beklerler.

Gorsel program orasina burasina klik edilsin diye bekler, o yuzden daha degisik programlama gerektirir. Anlik programlarin degisik ihtiyaclari vardir. Mesela bir uzay mekigini kontrol eden, ya da son model arabanizda benzin pompasini ayarlayan program, anlik programdir. 1~2 milisaniye arasinda karar vermesi gerekir, o yuzden kod ona gere yazilir. Bilgisayarlar tabii ki herseyi yapabilecekleri kadar hizli yapmaya ugrasirlar, fakat birden fazla, ayni anda islem gerektiren olaylar oluyorsa, belki bazi seylerin birbirini beklemesi gerekebilir.

Mesela benzin pompasi dogru olcude benzin vermekle gorevlidir, ama ayni anda fren sinyallerini dinleyen bir bolumude vardir. Fren sinyali geldigi anda herseyi birakmasi mecburdur. Bunlar "anlik" program problemleridir. Gunluk programlarin problemleri yukarida gordugunuz gibi degisik. Site programlari bir baska hikaye: Internet siteleri ayni anda birden fazla kisiye hizmet versin diye yazilir. Yani, ayni anda degisik kullanicilara hizmet verir, ama bu isler aslinda birbirinin kopyasidir, ve kullanicilar birbirlerini "aninda" etkileyemezler. "Anlik" program kategorisine bu yuzden benzemesine ragmen, aslinda cok ayri bir metod gerektirirler. Mesela amazon.com sitesine girdiniz, uye oldunuz, kitap satin aldiniz. Fakat ayni anda, amazon.com sitesinde ayni islemleri yapan belki binlerce kullanici vardir.

O kullanicilarin yaptiklari sizi etkilemez, herkes sanki kendi odasinda, izole bir sekilde isini yapmaya ugrasir. Bu tip programlar "kapasite" icin yazilirlar, problemler veri tabanina daha hizli erisim, sayfa hizli yukleme gibi seyler etrafinda doner. Son zamanin Internet Java paketleri, sanki siteleri bir kisi icin yaziyormus gibi yardim eder size; ondan sonra kopya kagidindan cikarmis gibi 10,000 kisi icin ayni kodu kullanabilirsiniz. Gorsel programlar Windows programlari gibidir. Unlu windows 'fal' oyunu bir gorsel programdir.

Klik edilebilen nesneler vardir, bu nesnelerin bazilari her zaman kliklenemez, kullanici hatasi verilir bu zamanlarda, yada kullanici o isi yapamaz. Bu tip programlarin temelinde bir 'hadise/vaka dongusu' vardir. Bir gorsel hadise oldugu anda, (nesne uzerine klik) hadise icin yapilan gorevler teker teker, onceden programa kayitlanir. Bu stili ilginc yapan, programi tamamen 'gorsel hadiseler' uzerine kurulmasidir. Oteki tip programlarda sanki duz bir sira yoktur. 'Su olursa sunu yap, bu olursa bunu yap' seklinde programlardir.


Yukarı