07/02/2014Bilgisayar Genel

Yazılım  Projelerine Bütünsel Bakış

yazılımgelistirmeEn özet tabiriyle Türkiye’de, yazılım geliştirme yetenek ve tecrübelerini bir araya getirerek istenen çözümü üretme konusunda ciddi bir sıkıntı var. “Yazılım Mühendisliği” adını verdiğimiz  birleştirici, çözüm oluşturucu taraf eksik. Aslında dünya için yeni olan bir disiplin yazılım mühendisliği, ancak biz nedense biraz daha geride kalmış durumdayız.

Yazılım mühendisliği, yazılım isterlerinin çözümlenmesinden, analiz modelleme, kodlama, test, teslim ve sonrasında bakım aşamasına ulaşan toplam süreci disipline etmeye çalışır. Amaç kaliteli yazılımlar üretmek ve yazılımların ömürlerini uzatmak, yaşam süreçleri içerisinde geliştirilebilir/güncellenebilir olmalarını mümkün kılmaktır.

Peki “Yazılım Geliştirme” Nedir?

İsterseniz önce ne olmadığından bahsedelim.

Yazılım geliştirme, bilinenin aksine sadece kodlama değildir. Bir iki kullanıcı ekranı tasarlayıp, arkasına kod yazarak veritabanıyla konuşturmaktan ibaret değildir. Bu işler yazılım geliştirme sürecinin sadece bir bölümüdür. Ama toplamda “Yazılım Geliştirme Süreci” kodlamaktan çok  daha fazlasıdır.

“Yazılım Geliştirme Süreci” Nedir?

Bilinenin ve sıklıkla uygulananın aksine yazılım geliştirme “hadi, yeni bir proje açalım, bir form çekelim” şeklinde yapılmaz. İlk olarak yazılımdan ne beklendiğinin belirlenmesi gerekir. Yani çözümün tanımlanmasıyla başlanır yazılım projelerine. Ardından çözümün geşliştirilmesi adımı gelir. Son olarak da çözüm müşteriye kurulur ve bakım destek süreci başlar.

En yalın haliyle yazılım geliştirme;

  1. Tanmılama ve Planlama
  2. Çözümü Geliştir.
  3. Yazılımı Kur ve Destekle.

Birinci Aşama: Tanımlama/Planlama

Ortada bir müşteri varsa yazılım projesinden bahsedilir. Bir müşteri varsa mutlaka bir beklenti de vardır.

Müşterinin ne istediğini öğrenip, ayırdığı bütçeyle belirlediği zaman dahilinde gerçekte nelere ulaşabileceğinin belirlendiği aşamadır bu aşama. Yazılımın “ne yapacağı”, bu aşamanın yazılım geliştirme sürecindeki payıdır. Bu aşamanın bir de her bir yazılım geliştirme sürecinin bir proje oluşu nedeniyle planlama, bütçeleme, ekip oluşturma vb. yönü olacaktır.

İkinci Aşama: Geliştirme

“Ne istediği” tam olarak anlaşıldıktan sonra sıra bunu yapmaya gelir. Öncelikle istenenin hangi teknolojileri, programlama dillerini, veri tabanı alt yapısını kullanarak, nasıl sağlanacağı belirlenir. Çözümün tasarımı adımı olarak bilinen bu adımdan  sonra ancak kodlamaya başlanır. Kodlama sırasında ve sonrasında da yapılanın isteneni karşılayıp karşılamadığı sürekli test edilir.

Üçüncü Aşama: Bakım/Destek

Yazılımlar canlı varlıklardır. Yazılımların yaşam döngüsü iki temel süreçten oluşur. Geliştirme ve Bakım.

Müşterinin istekleri ve kaynaklar çerçevesinde geliştirilen yazılım, müşteri yerine yüklendikten ve kullanıcılara eğitimleri verildikten sonra gerçek anlamda yaşamaya başlamıştır.  Bu noktadan itibaren kullanıcı ihtiyaçlarının farklılaşması, işin yapılış biçiminin değişmesi, donanım yükseltmesi, yeni teknolojilerin gelişmesi, gibi bir çok farklı nedenden dolayı yazılımlarda değişiklik yapılması gerekecektir. İşte bu süreç bakım sürecidir.

Kadir Çamoğlu