Page 58 - Bilgisayar Bilimi Kur 1| I. Bölüm
P. 58
5.1.2. Modüller ve İşlevleri
Bir yazarın, kitabını yazmaya başlamadan önce konuyu ve bölümleri düşünmesi, bir aşçının menüyü
hazırlamaya başlamadan önce yemek türlerini, malzemeleri ve miktarları düşünmesi gibi bir programcı
da programı yazmaya başlamadan önce detaylı bir biçimde problemi irdelemeli ve işlemleri gruplandır-
malıdır. Ne zaman modüller etkileşim çizelgesinde doğru sıralanmış ise programcı her bir modül için
kodu yazmaya başlayabilir. İyi bir programcı algoritmayı her bir modül için test eder, sorunlar varsa
hemen çözüm üretir. Büyük bir program yerine küçük parçaları kontrol etmek daha kolaydır ve bu,
zamandan kazanç sağlar. Modülleri oluştururken aşağıdaki noktalara dikkat edilmesi önerilir.
1. Her bir modül başlar, işlemleri yapar ve biter. Süreç içerisinde modüller arasında dallanma olmaz.
2. Her bir modülün tek bir işlevi vardır: yazdırma, karekök bulma, büyük harfe çevirme vb.
3. Her modül rahat anlaşılabilecek ve kolayca güncellenebilecek kadar kısa olmalıdır.
4. Modülün uzunluğu işlevine ve yönerge sayısına göre değişebilir.
5. Modüller süreç akışlarını kontrol etmek için oluşturulur.
Çok sık kullanılan modül türleri şu şekilde sıralanabilir:
• Kontrol modülü programın genel akışını gösterir.
• Başlama modülü program ilk başladığında yalnız bir kez yapılması gereken işlemleri gerçekleşti-
rir (ilk değerlerin atanması).
• Süreç modülleri bir ya da birden fazla belirli bir işlemi yapmak için kullanılır (hesaplama, veri
okuma, yazdırma vb.).
• Bitiş modülü ise program bitmeden önce yapılacak son işlemleri içerir.
Farklı modüller bir problemin çözümü için bir araya gelebilir. Program yönetimini kolaylaştırmak
için bir modül birden fazla modülden de oluşabilir.
5.1.3. Bağlılık ve Birleşim
Problem çözme sürecindeki en zor adım, çözümü parçalara ayırmaktır. Her bir modülün hangi
işlemlerden oluşması gerektiği önemli bir karardır. Modüller hem farklı işlemleri yürütecek kadar bir-
birinden bağımsız olmalı hem de aynı veriler ile çalışacak kadar birleşik olmalıdır. Birbirine zıt bu iki
kavram bağlılık ve birleşim olarak adlandırılır. “Bağlılık” bir modülün diğer modüllerden bağımsız
çalışabilme yeteneğidir. Her bir modül, bağımsız olarak tanımlanmış işlem setini çalıştırır ve sonucu
gönderir. Ancak modüller çalışırken verileri almaları ve sonucu göndermeleri sürecinde bilgi paylaşır. Bu
veri paylaşımı sürecinde “birleşim” yaşanır.
Birleşim, modüller arası iletişim oluşmasını
sağlar.
“Bağlılık”, bir modül içerisindeki fonk-
siyonların birbiri ile ne derece ilişkili oldu-
ğunun ölçümüdür. Eğer fonksiyonlar birbiri
ile yakın ilişki içerisinde ise modülün yük-
sek bağlılık düzeyi olduğu söylenir. Benzer
durumda birleşim düzeyi düşük olacaktır.
Yüksek bağlılık ve düşük birleşim genellik-
le iyi yapılandırılmış bir tasarım demektir.
Böyle tasarlanmış bir program daha anla-
şılır, güvenilir ve tekrar kullanılabilir ola-
caktır. “Birleşim” ise modüllerin birbirine
72