Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Teknoloji, Bilim, Sanat

Archive for the ‘konfigürasyon yönetimi’ tag

Yedek Hayat Kurtarır!

leave a comment

Hiç kimse veri ya da program kodu kaybetmeyi istemez. Ama istenmeyen şeyler her an başımıza gelebilir. Veri ve kodlarımızı emanet ettiğimiz cihazlar her an bozulabilir. Belgelerimizin/kodlarımızın bulunduğu dizüstü bilgisayarımız çalınabilir. Kritik bir dosyanın yanlışlıkla silindiğini farkettiğimizde kurtarmak için çok geç kalmış olabiliriz. Dosyalarımızın birkaç gün önceki haline bakmamız gerekebilir. Bütün bunlar ve benzeri durumlar az da olsa olasılık dahilindedir. Gerçekleştiklerinde zaman ve emek gibi maddi kayıpların yanı sıra prestij kaybına da neden olabilirler. Bu nedenle bu tür durumlara hazırlıklı olmak gerekir.

Hazırlıklı olmak iyi bir yedekleme planıyla mümkün olabilir. İyi bir yedekleme planı en son teknolojik cihaz ve yazılımlarla yapılan değil, pratik bir şekilde sürekli uygulanabilen, geri dönüşü kolay, güvenilir olan plandır. Önemli olan planın nasıl işlediği değil ihtiyaç duyulduğu an işe yarayacak olmasıdır. Bir günden daha geriye dönülmesi kabul edilemez bir sistemde haftalık alınan yedeğin hiç bir anlamı olmaz. Ya da dosyaların aynı diskte bulunan bir klasörde yedeklenmesi de kısa vadede çözüm gibi görünse de uzun vadede aynı riskleri barındırmaya devam eder. Dolayısıyla ihtiyaçlara ve risklere göre bir yedekleme stratejisi belirlenmelidir.

Program kodları için ise hem yedekleme hem de sürüm yönetimi için Subversion vb. bir konfigürasyon yönetim aracı yararlı olabilir. Bir ekip çalışması değil tek bir kişinin geliştirdiği bir proje bile olsa bu tür bir araç ile her aşamanın otomatik bir yedeği de alınmış olur. Kod deposu (repository) başka bir sistemde saklanacağı için kayıp riski de belli ölçüde azaltılmış olur.

Yedekleme genelde önemsenmeyen, ihmal edilen, zaman ve bütçe ayrılmayan, önemi ise maalesef felaket yaşandıktan sonra anlaşılan bir operasyon. Yazılım geliştiriciler olarak kendi kodlarımızın, dokümanlarımızın ve verilerimizin yedeklenmesini önemsediğimiz gibi müşterilerimizi de yedeklemenin önemi hakkında bilgilendirmeli, onlara uygun bir yedekleme stratejisi oluşturmaları konusunda yardımcı olmalıyız. Yedek hayat kurtarır!

Written by vtunali

Ocak 21st, 2010 at 11:47 am

Yazılımın Bakımı (Software Maintenance) Nedir?

leave a comment

Zaman içerisinde değişim ihtiyacı duyulmayacak bir yazılım sistemi düşünülemez. Kullanıcı ya da müşterilerin ihtiyaçlarındaki değişimlerin sisteme yansıtılması gerekir. Ayrıca, yeni bir donanım ya da yazılım altyapısı nedeniyle sistemin çalışma koşulları değişebilir. Tabii ki testler sırasında farkedilmeyen hatalar tespit edilebilir ve giderilmesi gerekir.

Yazılımın dağıtılması ve kullanıma başlanmasından sonra yazılımda yapılacak değişiklikler yazılımın bakımı (software maintenance) olarak adlandırılır. Bu değişiklikler basit kodlama hatalarının düzeltilmesi (bug-fixes) şeklinde olabileceği gibi tasarımdan kaynaklanan hataların giderilmesi gibi daha kapsamlı değişiklikler şeklinde de olabilir. Yazılımın bakımı aslında yazılımın evrimleşmesidir. Yazılımın yaşamına devam edebilmesi için gerekli değişikliklerin uygulanmasıdır.

Genel hatlarıyla 3 bakım türü vardır:

1. Düzeltici bakım: Tespit edilen hataların giderilmesi işlemidir. Kodlama hatalarını düzeltmek genelde az maliyetlidir. Tasarımdan kaynaklı hataların giderilmesi ise bazı sistem bileşenlerinin baştan yazılmasını vb. gerektirebilir ve nispeten yüksek maliyetlidir.

2. Uyarlayıcı (Adaptif) bakım: Yazılımın yeni bir çalışma ortamına uyarlanmasıdır. Bu bir donanım platformu değişikliği olabileceği gibi (32 bitten 64bite geçiş gibi) farklı bir işletim sistemine uyarlama şeklinde de olabilir (kodun Windows’dan Linux’a taşınması gibi). Ayrıca, veritabanı sistemi değişikliği de bu türden bir bakım olarak görülebilir (MS SQL Server bağımlı kodların Oracle’a uyarlanması gibi).

3. İyileştirici bakım: Sisteme yeni işlev ve özelliklerin eklenmesi, performansın arttırılması gibi bakım çalışmalarıdır.

80li ve 90lı yıllarda yapılan araştırmalar göstermiştir ki bakım çalışmalarının %65′i iyileştirici, %18′i uyarlayıcı ve %17′si düzeltici bakım şeklinde gerçekleşmektedir. Bu rakamları günümüzde de doğru kabul edebiliriz.

Genellikle bir sisteme sistem çalışmaya başladıktan sonra yeni bir işlev eklemek, aynı işlevin henüz geliştirme sürecindeyken eklenmesine göre çok daha maliyetlidir.

Written by vtunali

Kasım 30th, 2009 at 4:12 am