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
   53   54   55   56   57   58   59   60   61   62   63