- Sistemin analizinde çalışan tek bir yazılımcı sayesinde maliyet düşüyor. Ekibe sonradan gelen yazılımcılar sadece dökümanları okuyarak projeye kolaylıkla dahil olabiliyor.
- Proje yazılmaya başlamadan önce kesin çizgilerle kapsam belirlenmiş oluyor ki Proje Yönetimi açısından bu çok kritik.
- Müşteri tarafından imzalanmış bir Kapsam dökümanı; daha ilerde "Şunu da projeye ekleyin" diyen müşteriyi;"Anlaşmamız bu şekildeydi." diyerek durdurabilmenizi sağlar.
Neyse biz son haftamızı PoC(Proof Of Concept)* çalışmaları ile geçirdik. Ben SQL Server Replication üzerine devam ederken; Harun Developer Express UI komponentleri ile esnek ve kullanışlı bir arayüz geliştirmek üzerine çalıştı. Barış da NHibernate(bir tür Dynamic SQL aracıdır) üzerine çalışma yaptı.
Sql Server Replication'ı basit olarak şu şekilde açıklayabilirim. Bir veritabanının birden fazla makinada bulunan Sql Server'lar ile eşleltirilmesi... Bu projedeki ihtiyaç ise şu şekildeydi: Bayiler çeşitli nedenlerle uzun süreli merkeze bağlantıları kesilebiliyor(Mesela 1 hafta);
Bu süre boyunca veritabanın kendi makinası üzerinde bulunan bir kopyası ile tüm eski kayıtlara(Mesela hangi servislerde hangi parçalar üzerinde hangi işlemler gerçekleştirilmiş) ulaşabilecek; ya da sistem aracılığıyla satış yapabilmesi isteniyordu. Bağlantı geri geldiğinde ise tüm clientlardaki tüm verilerin (Üzerinde yapılan Update, Insert, Delete gibi işlemlerin sonuçlarındaki veritabanının)tekrar eşleştirilmesi isteniyordu. Bunun için bir örnek simüle etmeye çalıştım. Çok da başarılı olduğumu söyleyemem. 10 sayfalık bir döküman teslim etmeme rağmen stabil olarak çalıştığını ispatlayamadım.
Bu stajda; Çok katmanlı Mimarinin önemini ve İleri Nesneye Dayalı Tasarımın(Design Patterns) gerekliliklerini öğrendik. Programlama Dillerinin amacı gerçekleştirmekte sadece bir araç olduklarını öğrendik. Son öğrendiğimiz şey ise piyasada her zaman çok farklı sistemlerle karşılaşabileceğimiz ama bizim Marka bağımsız olmamız gerektiğiydi.
Sizlere yararlı olması dileğiyle; herkese iyi tatiller,stajlar, çalışmalar vb...
*: Bir yazılım projesinde analiz sonucunda kullanılması planlanan Tekniklerin çalışma ve/veya uygulanabilirlik ayrıntılarını öğrenmek için küçük çaptaki gerçekleştirimlerdir(simulasyonlardır).
Yazar: M. Tahir Çakmak