Yazan : Şadi Evren ŞEKER Bu yazının amacı, İngilizcedeki Software Development Life Cycle (SDLC) yani Türkçe karşılığı ile yazılım geliştirme hayat dairesini (yaşam döngüsünü) açıklamaktır. Her geliştirme işlemi özellikle de ürün geliştirme işlemi belirli aşamalar içerir. Yazılımların da birer ürün olduğu unutulmamalıdır. Bu bağlamda nasıl bir otomobil, bir uçak veya bir televizyonun geliştirilmesi için çeşitli […]
Category: Yazılım Mühendisliği (Software Engineering)
Planlama Oyunu (Planning Game)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, özellikle uç programlama (extreme programming) konusunda sıkça kullanılan aşamalardan birisi olan planlama oyunu (planning game) kavramını açıklamaktır. Planlama oyunu, aslında belirli zaman kutularında (time box, zaman aralıkları) yapılan toplantılara verilen isimdir. Örneğin haftada bir yapılan toplantıladır ve bu toplantılarda iki önemli kısım bulunur: Sürüm Planlaması (Release Planning): […]
İkili Programlama (Pair Programming)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, özellikle bilgisayar bilimlerinin bir alt konusu olan yazılım mühendisliğinde (software engineering) kullanılan bir teknik olan atik programlama (agile programming) kavramının getirdiği bir yöntem olan ikili programlama (pair programming) kavramını açıklamaktır. Bu yöntem basitçe, tek bir bilgisayarın önünde iki kişinin oturarak çalışması mantığı üzerine kuruludur. Yani yazılım projelerinde […]
Observer Design Pattern (Gözlemci Tasarım Kalıbı)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama ortamlarında kullanılan bir tasarım kalıbı (design pattern) olan gözlemci tasarım kalıbını (observer design pattern) açıklamak ve kullanımına dair bir örnek vermektir. Nesne yönelimli olmayan programlama dillerinde (örneğin C) aynı yapı, geri çağırım (callback) ismi verilen yaklaşım ile yapılabilir. Konuya, klasik bir gözlemci tasarım kalıbını […]
Document Management Systems (Doküman Yönetim Sistemleri)
Yazan : Şadi Evren ŞEKER Bu yazının amacı, bilgisayar dünyasında kullanılan döküman yönetim sistemlerinin genel bir tanımını yapmak ve bir doküman yönetim sisteminin yapısını açıklamaktır. Genel olarak bir doküman yönetim sistemi (document management system), herhangi bir organizasyondaki dokümanların (yazışmalar, evraklar, formlar veya resimler gibi) takibini yapmayı, tasnif ederek erişimini kolay hale getirmeyi, sorgulamalara ve aramalara […]
Spagetti Kod (Spaghetti Code)
Yazan : Şadi Evren ŞEKER Bilgisayar kodlamasında, bir kodun okunabilirliğinin düşük olması, yani kod takibinin zor olması durumunda, koda verilen isimdir. Genellikle yapısal programlama dillerinde (structured programming languages) fonksiyonların bulunması ile birlikte GOTO veya JMP gibi, kodun içerisinde bir yerden başka bir yere atlayan komutların kaldırılması mümkündür. Bu tip komutların kullanılması durumunda, kodun hem diğer […]
Örnek Kodlama Kuralları
Yazan : Şadi Evren ŞEKER Bu yazının amacı, geliştirme ortamlarında kullanılan kodlama standartları için örnek bir doküman oluşturmaktır. Kodlama standardı, daha sonradan yapılacak olan bakım, güncelleme ve ekleme işlemlerinin kolaylaşmasını sağlarken, dokümantasyon ve projeye dahil olan yeni personelin adaptasyonunu hızlandıracaktır. Kurallar, aşağıdaki başlıklar halinde sunulmuştur. Karakter Kodlaması Kod geliştirilmesi sırasında, kullanılan isimlerin hiçbirisinde Türkçe karakter […]
Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
Yazan : Şadi Evren ŞEKER Zeki vekiller (etmenler, ajanlar) kavram olarak, bilgisayar bilimlerine, felsefe, biyoloji ve ekonomi alanındaki çalışmalardan sonra girmiştir. Bu alanlardaki anlamı ve kullanımı, genellikle herhangi bir işin farklı bir vekil tarafından yürütülmesi olarak anlaşılabilir. Bilgisayar bilimlerin açısından zeki kelimesi, bir vekilin herhangi bir işlemi belirli inisiyatifler kullanarak yerine getirmesidir. Örneğin zeki olmayan […]
C2 Üslûbu (C2 Style)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle yazılım mühendisliği (Software engineering) konusunda kullanılan ve bileşen (component) ve mesaj (message) temelli yazılım geliştirmeyi amaçlayan bir üsluptur. C2 tasarım kültüründe yazılım bileşenler şeklinde ele alınır ve yazılımı oluşturan bu bileşenler üzerinden bir ağ (network) çizilir. Bu ağda bileşenler arası haberleşme gösterilir. Bu sayede tasarlanan bir bileşenin […]
JML ( Java Modelleme Dili)
Yazan : Şadi Evren ŞEKER JML ingilizce Java modelling language kelimelerinin baş harflerinden oluşan bir kısaltmadır. Basitçe bir java kaynak koduna eklenen ilave satırlar ile progam doğruluğunu (program correctness) sağlamayı amaçlar (program verification). İlave olarak eklenecek satırlar java kodunun içerisine yorum satırı gibi ilave edilir. Normal java yorum satırlarından tek farkı ilave olarak konulan @ […]