Yazılım Nasıl Esnetilir

yazilim-esnetme-software-flexible

Bugün bir firmada fason operasyon takibi üzerine çalıştım. Ancak aynı yazılım ve aynı modül başka fabrikalar tarafından da kullanıldığı için biraz “firmalara göre esnetme” çalışması yapmam gerekti. Size bunun nasıl üstesinden geldiğimi anlatacağım.

Problem Neydi?
Veritabanımda tuttuğum bazı bilgiler için X firması “ben bu bilgiyi görmesem de olur” derken Y firması “bu bilgi bana lazım” diyebiliyor. Hatta Z firması sütunların sıralamasını kendi değiştirmek istiyor, mesela “gönderme tarihi en başta görünmeli” diyebiliyor. Bu durumda veritabanı aynı olmasına rağmen arayüzün farklı olmasının istenmesi gibi bir problem ortaya çıkıyor.

Aynı yazılımı farklı firmalara satmak isteyen yazılımcıların sıkça karşılaşabileceği bir problem bu. Elbette bu sorunun çözümü için tek bir yöntem yok.

İpuçları

  • Eğer esnetme yapmanız gerekliyse sütun adlarını gonderme_tarihi, gelis_tarihi şeklinde belirlemeyin. b1, b2, b3 şeklinde yapın. Başka bir tabloda b1’in veya b2’nin başlığında ne yazması gerektiğini kaydedin. Sonuç olarak b1, X firmasında “Kayıt No” şeklindeyken, Y firmasında “Sıra No” olarak değiştirilebilir.
  • Değerlerin veritabanı tablosunda satırlara mı, yoksa sütunlara mı yazılacağı önemli bir konu. Ben iki türlü de denedim. Edindiğim genel tecrübe şöyle; başlık sayısı sınırlıysa sütunlara, değilse satırlara yazılmalı. Genel olarak satırlara yazmak beni daha çok rahatlattı.
  • Her şeyi esnetmeye gerek yok. Yazılımın esnek olması için uğraşırken performans kayıpları ile karşılaşabilirsiniz. Hangi tablonun esnetilmesi gerektiğini zamanla tecrübe edin.

Esnetme Yaparken Mutlaka Yedek Alın
Bugün sütunların yerini değiştirirken yanlışlıkla bir sütunu verilerle birlikte tamamen sildim. Yedek almasaydım firmaya gereksiz iş gücü çıkartmış olacaktım. Bu konuya önem verin; çalışmanızın hem başında hem sonunda mutlaka yedek alın.

Esnetmede Veritabanı Seçiminin Önemi
Örneğin “esnek ve sınırsız kategori oluşturmak” istiyorsunuz ancak SQL kullanıyorsunuz. Elbette SQL ile sınırsız kategori algoritmaları rahatlıkla oluşturulabilir. Ancak SQL’in hiyerarşik yapıyı doğrudan desteklemediği, yapılan yöntemlerin aslında bir simüle etmeden ibaret olduğunu da bilmek gerek. Projenin derinliğine göre SQL ve NoSQL arasında “ilişkisel mi, hiyerarşik mi” sorularını sorun. Büyük internet devlerinin aynı projede birden fazla veritabanı sistemi kullanmasının sebebi bu. Gönlümde yatansa, aynı projede birden fazla veritabanı sistemi kullanımının 15-20 yıl içinde kaybolması yönünde. Yalın süreçler yazılım sistemlerinde de öne çıkmalı.

Bir Yorum

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir