• Bağış
  • Kara Kutu Yaklaşımı (Black Box)

    Yazan : Şadi Evren ŞEKER

    Çok klasik bir mühendislik yaklaşımıdır. Bu yaklaşım sistemi analiz ederken sistemin içeriğin görmezden gelerek sisteme girenler ve çıkanların analiz edilmesini söyler.

    karakutu

    Yukarıdaki temsili resimde gösterildiği üzere, tahlil edilen sistem bir kara kutya benzetilerek sisteme giren ve çıkanlar incelenir.

    Bu anlamda yazılım mühendisliğinde sıklıkla kullanılan kara kutu yaklaşımında sistem önce büyük bir kara kutu olarak düşünülüp ardından alt kutulara bölünebilir:

    karakutu2

    Sistemde bulunan her kutu kendi başına incelenip ardından sistemin tamamının incelenmesi mümkündür. Buradaki her kutuyu ayrı bir sistem gibi düşünmek ve ardından bu sistemlerin birbiri ile olan bağlantısını düşünmek mümkündür.

    Örneğin yazılım testlerinde her alt sistem ayrı ayrı test edilip (unity test) ardından bu alt sistmlerin birbiri ile olan uyumu ayrıca test edilebilir (integrity test).

    Yazılım mühendisliğinde ayrıca giriş işlem çıkış (input process output) kelimelerinin baş harflerinden oluşan IPO terimi de tam bir kara kutu (black box) yaklaşımıdır.

    IPO modellemesinin biraz daha gelişmiş hali olarak kabul edilebilecek olan HIPO (hierarchy input process output veya bazı kaynaklarda hierarchy plus input process output yada hierearchical input process output olarak da geçmektedir) yaklaşımında ise sisteme hiyerarşik bir yapı kazandırılmaktadır. Yani sistemde bulunan kara kutular arasında hiyerarşik bir yapı oluşturulabilir.

    Bu yazı şadi evren şeker tarafından yazılmış ve bilgisayarkavramlari.com sitesinde yayınlanmıştır. Bu içeriğin kopyalanması veya farklı bir sitede yayınlanması hırsızlıktır ve telif hakları yasası gereği suçtur.

    Aşağıda bir hiyerarşi grafiği örneği ile konuyu açıklamaya çalışalım:

    hiyerarsi

    Yukarıdaki hiyerarşi grafiğinde çeşitli hiyerarşik seviyedeki varlıklar modellenmiştir. Buna göre örneğin en altta bulunan analiz bölümü genel müdürlük altında bir bölümdür ancak arada iki seviye bulunmaktadır.

    Yazılım modellemsinde bu hiyerarşik yapılanmadan faydalanılabilir. Örneğin bir yazılımı alt sistemlere bölerken seviye seviye bölümlemeye gidilebilir.

    Bu durumu internette rast gele bulduğum bir yemek tarifi üzerinden anlatmaya çalışayım.  Yemektarifi.com sitesinde Ispanaklı kiş isminde bir yemek aşağıdaki şekilde anlatılmış:

    Malzemeler:

    1 Kg ıspanak
    500 Gr mantar
    200 Gr dilimlenmiş kaşar peyniri
    500 Gr rendelenmiş havuç
    2 Çay kaşığı tuz
    2 Çorba kaşığı kekik
    5 Yaprak Miflöy hamuru
    2 Çorba kaşığı süt
    1 Yumurta
    Sos İçin:
    2 Su bardağı süt
    4 Çorba kaşığı un
    2 Soğan
    4 Kahve fincanı margarin

    Hazırlanışı:

    Şimdi yukarıdaki açıklamayı modellemek istersek  aslında bir kara kutu yaklaşımı ile bu işlemi (Ispanaklı kiş hazırlama işlemini) aşağıdaki şekilde modelleyebiliriz:

    ispanak

    Yukarıdaki kara kutu yaklaşımında sistemi “Ispanaklı Kiş hazırlanışı” olarak görmek ve sisteme girenler olarak yemek tarifimizdeki malzelemeleri ve çıkan olarak da Ispanaklı Kiş görmek doğru bir yaklaşım olur.

    Bu sistemi hiyerarşik olarak bölecek olursak alt kademeeleri bulunmaktadır. Örneğin sos hazırlanması, ıspanakların hazırlanması, soğanların kavrulması gibi alt işlemler tanımlanabilir.

    ispanakhiyerarsi

    Yukardaki hiyerarşik ilişki içerisindeki her kutu aslında bir kara kutu olarak düşünülebilir. Örneğin Mantar ve Ispanağın hazırlanması aşamasında

    İşlemleri yapılmaktadır. Dolayısıyla girenler : “ıspanak, mantar, tuz ve kekik” olarak sıralanabilir. Ve bu işlemde örneğin Ispanakların yıkanması, Mantarların doğranması, Ispanak ve mantarların karıştırılması, Tuz ve kekik ilavesi gibi alt kutulara (işlemlere) bölünebilir.

    Sonuçta bütün bu işlemleri ve bu işlemlerin seviye seviye gösterildiği analiz yöntemine hipo ismi verilmektedir.

    Benzer Yazılar:

    Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Kara Kutu Yaklaşımı (Black Box)' isimli yazı 29 Aug 2009 tarihinde, saat: 06:14 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 1182 defa okunmuştur.

    Benzer yazıları Yazılım Mühendisliği (Software Engineering) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


    Category: Yazılım Mühendisliği (Software Engineering)

    Leave a Reply