Кохезия (програмиране)

From Wikipedia, the free encyclopedia

Remove ads

Кохезия (вътрешна съгласуваност) в програмирането представлява измерител за степента, в която отделните редове програмен код в даден модул се сработват за да предоставят специфична функционалност. Кохезията е ординален измерител и обикновено се характеризира като „висока“ и „ниска“. Тенденцията е да се предпочитат модули с висока кохезия, защото тя е свързана с желани черти на софтуера като устойчивост, сигурност, надеждност, лесна разбираемост. И обратно – модул с ниска кохезия е труден за поддръжка и разширение, труден за повторно използване и разбиране.

За кохезията като физично понятие виж Кохезия (физика)

Видовете кохезия (от най-ниска до най-висока) са:

  • Случайна кохезия (Coincidental cohesion) – части от даден модул са групирани произволно като нямат значителна връзка помежду си (напр. модул, съдържащ често използвани функции).
  • Логическа кохезия (Logical cohesion) – части от даден модул са обединени в една група поради съществуването на някаква слаба връзка между тях (напр. използване на контролно свързване за да се избере коя част от модула да се ползва – както при избор как да се процедира с дадена банкова сметка).
  • Времева кохезия (Temporal cohesion) – части от даден модул са групирани по признака кога се обработват – когато частите се обработват в точно определено време от изпълнението на програмата (напр. функция, която се вика след прихващане на изключение и затваря отворените файлове, записва съобщение на грешка и сигнализира потребителя)
  • Процедурна кохезия (Procedural cohesion) – частите от даден модул са групирани заедно защото винаги следват определена последователност при изпълнението си (напр. функция, която проверява за наличие на нужните права и след това отваря файл).
  • Комуникационна кохезия (Communicational cohesion) – частите от даден модул са групирани защото оперират над едни и същи данни (напр. методът updateStudentRecords (осъвременяване на студентските документи) оперира над запис на студент, но действията, които извършва този метод, не са съвсем ясни).
  • Последователностна кохезия (Sequential cohesion) – групирането е на база това, че изходът от една част от модула се използва като вход на друга част (напр. функция, която чете данни от файл и ги обработва).
  • Функционална кохезия (Functional cohesion) – частите от даден модул са групирани защото всички те допринасят за изпълнението на единична добре дефинирана задача, поставена на модула (това е и описанието на идеята за перфектния модул).
Remove ads

Вижте също

  Тази страница частично или изцяло представлява превод на страницата Cohesion в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.

Remove ads
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads