Yazılım Geliştirme Süreci

"Yazılım Geliştirmek" Kodlamaktan İbaret Değildir!
14 Şubat 2008
Tek Kişilik Yazılım Evi, adı üzerinde “yazılım geliştiren” bir yapıdır. Yapı dediysem, kafanızda büyük bir şey canlanmasın. “Tek Kişilik” bir yapı…
Zaman zaman proje bazlı olarak kaynaklarını artırdığı olur. Bazen da dış kaynak kullanımı yapılır. Ama genelde tek bir kişiyle çalışır.

Peki, “Yazılım Geliştirme” Nedir?
İsterseniz öncelikle 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 geliştirilmesi adımı gelir. Son olarak da çözüm müşteriye kurulur ve bakım/destek süreci başlar.
Tek Kişilik Yazılım Evi’nde her şey çok basittir. Yazılım geliştirme süreci de basitçe tanımlanmıştır.
1. Tanımla ve planla
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 dâhilinde 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 birde her bir yazılım geliştirme sürecinin bir proje oluşu nedeniyle planlama, bütçeleme, ekip oluşturma vb. yönü de olacaktır.

İkinci Aşama: Geliştirme
“Ne istendiği” tam olarak anlaşıldıktan sonra, sıra bunu yapmaya gelir. Öncelikle istenenin hangi teknolojileri, programlama dillerini, veri tabanı altyapı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ştirilme 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.

Yazılım Geliştirme Sürecinde En Önemli Adım Nedir?
Profesyonel olarak bir yazılım evinde çalışıyor veya tek başınıza proje geliştiriyor olabilirsiniz. Belki de ikinci iş olarak birileri için yazılım geliştiriyorsunuzdur. Belki bir öğrencisiniz ve ödeviniz bir yazılım projesi. Belki de hobi olarak kendinize bir yazılım üretiyorsunuz. Sebep ya da şekil ne olursa olsun, yazılım geliştirme sürecinin en önemli adımı “ne yapılacağının” doğru belirlenmesi ve doğru planlanmasıdır.
Ne yapılacağını doğru anlamadıysanız, ne kadar kaliteli bir tasarım çıkartıp, ne kadar doğru bir şekilde kodlarsanız kodlayın sonuç hatalı olacaktır. Tabii ki sonrasında yapacağınız şeyi nasıl yapacağınızı (tasarım) doğru belirlemeniz ve bunu doğru kodlamanız (geliştirme) önem kazanacaktır. Ama neticede ne kadar iyi bir uygulama geliştirmiş olursanız olun, müşterinin beklentisini yerine getiremeyen bir uygulama, başarısız bir uygulama olacaktır.

Demek ki Yazılım Geliştirme Kodlamaktan İbaret Değilmiş!
Olaya “Tek Kişilik Yazılım Evi” çerçevesinden bakarsak, yazılım geliştirme aslında tüm süreçleriyle bir yazılım projesini gerçekleştirme anlamına gelir. Bu açıdan, yazılım geliştirme analiz, tasarım, kodlama, test ve bakım aşamalarından oluşur. “Yazılım Geliştirme Süreç Yönetimi” ya da ‘Yazılım Geliştirme Yaşam Döngüsü’ adı da verilen bu süreç, bu blogun temel konusudur.
Bundan sonraki yazılarda “Yazılım Geliştirme Sürecini” tüm boyutları, aktörleri ve işleyişiyle ele alıp, Tek Kişilik Yazılım Evi çerçevesinden sunacağım.

14/2/2008
Kadir Çamoğlu
kadircam@hotmail.com

Toplam 5955 kez okundu.
Oyla:
En Düşük
Oy ver: 1Oy ver: 2Oy ver: 3Oy ver: 4Oy ver: 5
En Yüksek
YORUMLAR
Toplam 3 yorum
CHIP Online Ziyaretçisi yazmış:
Yabancılar yazılım gelistirir. Biz de her konuda olduğu gibi sadece yorum yaparız
07 Oca 2009  20:43Bu yorumu beğendimBu Yorumu Beğenmedim
CHIP Online Ziyaretçisi yazmış:
Bilgilendirici bir yazı, teşekkürler.
16 Haz 2008  18:16Bu yorumu beğendimBu Yorumu Beğenmedim
CHIP Online Ziyaretçisi yazmış:
çok güzel ve açıklayıcı bir yazı olmuş. ellerinize sağlık...
20 Nis 2008  18:53Bu yorumu beğendimBu Yorumu Beğenmedim


Bu sayfalarda yer alan okur yorumları kişilerin kendi görüşleridir. Yazılanlardan CHIP Online sorumlu değildir.
Siz de yorumunuzu yazın
CHIP Online Ziyaretçisi
Yorumunu Gönder
Lütfen bu bölüme sadece yorumlarınızı yazın. Teknik yardıma ihtiyaç duyduğunuz konuları lütfen forumda ilgili bölüme veya Uzmanına Sorun bölümümüze yazın, yanıtınızı çok daha sağlıklı ve hızlı olarak alabilirsiniz
Siz de kendi teknoloji blogunuzu ücretsiz oluşturun!

Tek Kişilik Yazılımevi-Kategoriler

 

Şubat 2008
PtsSalÇarPerCumCtsPzr
    123
45678910
11121314151617
18192021222324
2526272829  

CHIP Online Yazar Blogları

Yazarlarımızdan, editörlerimizden sizlere...

Cem ŞancıCem Şancı
Elbise değiştirten süper Pipboy 3000
Kadir ÇamoğluTek Kişilik Yazılımevi
Yazılım Geliştirmede Yaratıcı Zeka
Mustafa AcungilGelecek Postası
Bilgisayar dünyasından internet dünyasına
Halil İbrahim MollaoğluHalil Mollaoğlu
Safari'ye çıkmadan önce düşünmek lazım
Selçuk İslamoğluSelçuk İslamoğlu
Windows 7 XP Mode derde derman mı?
 

CHIP Dergisi: Temmuz 2009


İşbirliği ortaklarımız

  • Hepsiburada.com
  • Level
  • Doğan Telekom
  • Turhost
  • CHIP Download
  • CHIP Download
 
 
Cep telefonları | Ekran kartları | Desktop | Notebook | Ses kartları | Webcam | Klavye & Fare | Yazıcılar
Mp3 Player | Usb Bellekler | Video kameralar | Dijital Kameralar | Taşınabilir diskler | LCD & Plazma | Monitörler