Yazılımı oluşturan bileşenlerden daha önce söz etmiştik. Şimdi bu bileşenlerin neler oldukları üzerinde biraz duralım. Yazılımı oluşturan bileşenler = Mantık + Veri + Belge + İnsan + Program. Bu bileşenlerin az çok neler olduğunu, neleri kapsadığını biliyoruz ama biz yine de kıyısından köşesinden açıklayalım. Zaten bu yazıdaki asıl amaç yazılım bileşenlerinden belgelemenin yerini ve önemi (dökümantasyon) vurgulamak. Mantık = Yazılım herşeyden önce bir işin bilgisayar aracılığı ile yapılması amacına yöneliktir. Bu nedenle bilgisayarlaştırılmak istenen işin mevcut mantığı bir şekilde yazılıma da yansılıtılmak zorundadır. Veri = Her tür yazılım mutlaka bir veri üzerinde çalışmak durumundadır. Veri işlemeyen yazılımın geliştirilmesi söz konusu değildir. Söz konusu olan veri dış ortamdan alınabileceği gibi yazılımın içerisinde de üretilebilir. Zaten yazılımın temel amacı veriyi bilgiye dönüştürmektir. İnsan = Doğal olarak yazılımın insan bileşeni iki boyutludur. Yazılımı geliştirenler ve yazılımı kullananlar. Yazılımın düzgün bir şekilde çalışabilmesi için her iki insan kümesininde yeterli bir şekilde eğitim almış olmaları gerekir. Dünyanın en iyi programını yazmış olsanız dahi bu programı kullanacak insanlar yeterli eğitim seviyesine sahip değillerse "geçmiş olsun...." Program = Yazılımın ana çıktısı bir programdır. fazla söze ne hacet Belgelendirme = Diğer bileşenleri ister istemez yapmak zorundayız fakat belgelendirme bütün yazılım geliştirme yöntemlerinde var olan bir bileşen olmasına karşı programcılara genelde hep angarya bir iş olarak gözüktüğünden üzerinde fazla durulmaz. Türkiyede yazılım "genellikle" şu şekilde geliştirilir: 1-Yamalama Yeterince iyi planlanmamış, alt yapısı eksik yazılımlarda uygulanan yöntemdir. Yazılım kullanıcıya verilir, çok sayıda hatalar meydana çıkar ve bu hatalar yamalarla kapatılmaya çalışılır. Eğer yeterli belgelendirme yapılmamışsa "kaş yapayım derken göz çıkartırsınız" ve her şeyi elinize yüzünüze bulaştırıp olay mahalini terketmek zorunda kalırsınız. Sonuç = İşletme açısından hüsran. 2-Kahraman Asker Bi kahraman çıkar, projeyi sırtlanır ve belirli bir aşamaya getirir. Daha sonra kahramanımız askere gider ve proje biter. Çünkü kahramanlar angarya işleri sevmezler, belgelendirmeyi bırakın belkide kaynak kodda açıklama satırları bile yoktur. Sonuç = işletme açısından hüsran. 3-Usta/Çırak Bu yöntem de kahraman asker yöntemine oldukça benzer.Usta/Çırak ilişkisi ile geliştirilen projeler de yine kahramanımız projeyi belirli bir aşamaya getirir, daha sonra kahraman bu işten sıkılır veya bakım - onarım işlerine yetişemez olur kendine bi yardımcı alır. Oturur günde bir kaç saat çırağa bak şu şöle, bu böle burda şöle bi mantık kullandım eğer programın şöle yapmasını istiyosan x.ini dosyasına şu satırları eklemen gerek gibi bir eğitim verir ardından çırak büyür usta olur işler böyle devam eder gider veya çırak işten ayrılır usta başka birini bulur ona da aynı şeyleri anlatıp durur. Birgün usta ile çırağın kafası patrona bozulur usta/çırak gider proje yine biter. Sonuç = işletme açısından hüsran. İşletmelerdeki bu hüsranların sonuçlarının toplamı = Ülkemizde yazılım sektörünün dünya standartlarını yakalayamaması Çözüm ? Belgelendirme belgelendirmenin dezavantajları
- Zaman kaybına neden olur(!)
- Sıkıcı bir iştir
- Bakım maliyetlerini azaltır
- Kaş yapayım derken göz çıkartmazsınız
- Projenin yaşamı kimseye bağlı değildir. Futbolcular gelip geçer galatasaray yoluna devam eder...
- Ve daha bir çok + sayılabilir.
Yorumlar
Sevgiler
Levent Üncü