Кохезија (информатика)У програмирању, кохезија се односи на степен у ком се елементи модула налазе заједно. Тако кохезија мери снагу односа између функционалних делова у оквиру неког модула. На пример, у системима изражене кохезије функционални делови су јако повезани. Кохезија је редни тип мерења и обично се описује као "јака кохезија" и "слаба кохезија". Преферирају се модули јаке кохезије, јер је јака кохезија повезана са неколико пожељених особина софтвера укључујући робусност, поузданост, употребљивост и разумљивост. Насупрот томе, слаба кохезија је повезана са нежељеним особинама као што су тешко одржавање, тестирање, вишеструка употреба или чак разумевање. Кохезија је често супротна везама, другачијег концепта. Јака кохезија је често у корелацији са слабим везама , и супротно. Софтверске метрике за везе и кохезију је открио Larry Constantine у касним 1960—им годинама као део структурног пројектовања , на основу карактеристика "доброг" програмирања које смањују одржавање и трошкове модификације. Структурно пројектовање, кохезија и везе су објављени у чланку Stevens, Myers & Constantine(1974) и књизи Yourdon & Constantine(1979), касније су постали стандардни изрази у софтверском инжењерингу. У објектно-оријентисаном програмирању, ако методе класе имају тенденцију да буду сличне у многим аспектима, тада за те класе кажемо да имају јаку кохезију. У јаком кохезионом систему читљивост и употребљивост кода се повећава, док сложеност остаје иста. Кохезија се повећава ако:
Предности високе кохезије (или "јаке кохезије") су:
Док је принцип модула са савршеном кохезијом да се састоји од једног, атомског елемента-има једну функцију, на пример, у пракси сложени задаци нису изражени једним, једноставним елементом. Тако модул појединачног елемента има елемент који је или сувише компликован, како би остварио задатак, или је сувише ограничен, и тако чврсто спојен са другим модулима. Према томе кохезија је уравнотежена са јединицама сложености и везама. Врсте кохезијеКохезија је квалитативна мера, што значи да се изворни код који се мери прегледа помоћу наслова ради класификације. Врсте кохезије, од најгоре ка најбољој, су следеће:
Иако је кохезија рангирање на скали, рангови не указују на стабилан напредак побољшане кохезије. Истраживања различитих људи, укључујући Larry Constantine , Edward Yourdon и Steve McConnell указују да су прве две врсте кохезије (случајна и логичка) мање добре; комуникациона и секвенцијална кохезија су веома добре, а функционална је најбоља. Док се функционална кохезија сматра за најпожељнији тип кохезије софтверског модула она не може бити остварљива. Постоје случајеви где је комуникациона кохезија највиши ниво кохезије који се може постићи у датим околностима. Види још |
Portal di Ensiklopedia Dunia