Yazılım süreçlerindeki en önemli aşamalardan birisi, yazılımda kodları ve kombinasyonlarını iyi belirlemek kadar algoritma oluşturmak ve buna bağlı olarak problemi tanımlamaktır. Sizden talep edilen yazılımın, aslında sizden çözülmesi beklenen bir ya da birkaç problem olduğunu ve problemi doğru anlamanın, yazılımın tamamlanması ile eşdeğer olduğunu bilmenizdir.
Hangi yazılımı kullanırsanız kullanın, yazılım yapabilmek için yazılımın bütün aşamalarına net bir şekilde hâkim olmanız gerekir. Sizden beklenen problemin çözümü için verilerinizde bulunan en küçük detaylarının bile çözümde, en büyük yardımcınız olacağı mutlaka bilinmelidir. Genelde problemin doğru bir şekilde tanımlanması da çok büyük önem taşır. Örneğin kullanıcı olarak teknik servise gittiğinizde “Bilgisayarım çalışmıyor” derseniz çok genel bir ifade kullanmış olursunuz. Ancak kullanıcı olarak en son hangi işlemi yaptığınızı ve sonrasında çalışmama durumuna kadar geçen süreci anlatmanız, teknik servisin, o bilgisayarın problemini doğru tanımlamasına ve sorunu en hızlı şekilde çözmesine yardım etmiş olursunuz. Daha farklı bir örnekle de anlatmaya çalışayım. Evde internetiniz yok ve internet servis sağlayıcınızı aradınız. Karşınıza çıkan firma yetkilisine “İnternetim yok” dediğinizde sizden bazı aşamaları, sizin yapmanızı isteyecektir. Modemi yeniden başlatın ya da modemi resetleyin gibi uygulama aşamaları ile karşılaşırsınız. İşte bu aşamalar aslında yine problemin tanımlanmaması veya tanımlanması için yapılması gereken işlemlerdir. Burada firma yetkilisine internete bağlanmak için yaptığınız işlemler ile birlikte modeme uyguladığınız işlemleri anlatmanız, sorununuzu hızlıca çözecektir.
Problem çözebilmek için problem dâhilindeki verilerin verilenler, istenenler ve tanımlar olarak 3(üç) ana başlıkta oluşturmanız gerekir. Oluşturduğunuz bu üç kümeden yola çıkarak tüm verilerin analizlerini ve bağlantılarını oluşturmanız ve alt kümeleri ile birlikte tanımlamanız sonucunda ortaya bir yol haritası çıkmış olacaktır. İşte bu yol haritasına Algoritma diyoruz. Algoritmalar, problemi, kesin ifade ile çözülmüş olan yazılımın, artık kodlarının belirlenmesi ve veri tabanlarının oluşturulmasına başlanabilir anlamını tanımlamaktadır. Tüm bu aşamalarda Matematik ve fizik en büyük ve en önemli olan kilit taşınız olur.
Yazılım yapabilmek, olasılıkları değerlendirebilmek, zamanla oluşacak tecrübe gerektirir. Her tecrübe de problem çözebilmek ile doğru orantılı olarak kazanılır. Her yazılım ile çözülen problem de hayatınızı bir adım daha kolaylaştırır.
Önder SÖNMEZ-Bilgisayar Mühendisi
Pusulamalatya