Кохезия (програмиране)
За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
- За кохезията като физично понятие виж Кохезия (физика)
Кохезия (вътрешна съгласуваност) в програмирането представлява измерител за степента, в която отделните редове програмен код в даден модул се сработват за да предоставят специфична функционалност. Кохезията е ординален измерител и обикновено се характеризира като „висока“ и „ниска“. Тенденцията е да се предпочитат модули с висока кохезия, защото тя е свързана с желани черти на софтуера като устойчивост, сигурност, надеждност, лесна разбираемост. И обратно – модул с ниска кохезия е труден за поддръжка и разширение, труден за повторно използване и разбиране.
Видовете кохезия (от най-ниска до най-висока) са:
- Случайна кохезия (Coincidental cohesion) – части от даден модул са групирани произволно като нямат значителна връзка помежду си (напр. модул, съдържащ често използвани функции).
- Логическа кохезия (Logical cohesion) – части от даден модул са обединени в една група поради съществуването на някаква слаба връзка между тях (напр. използване на контролно свързване за да се избере коя част от модула да се ползва – както при избор как да се процедира с дадена банкова сметка).
- Времева кохезия (Temporal cohesion) – части от даден модул са групирани по признака кога се обработват – когато частите се обработват в точно определено време от изпълнението на програмата (напр. функция, която се вика след прихващане на изключение и затваря отворените файлове, записва съобщение на грешка и сигнализира потребителя)
- Процедурна кохезия (Procedural cohesion) – частите от даден модул са групирани заедно защото винаги следват определена последователност при изпълнението си (напр. функция, която проверява за наличие на нужните права и след това отваря файл).
- Комуникационна кохезия (Communicational cohesion) – частите от даден модул са групирани защото оперират над едни и същи данни (напр. методът updateStudentRecords (осъвременяване на студентските документи) оперира над запис на студент, но действията, които извършва този метод, не са съвсем ясни).
- Последователностна кохезия (Sequential cohesion) – групирането е на база това, че изходът от една част от модула се използва като вход на друга част (напр. функция, която чете данни от файл и ги обработва).
- Функционална кохезия (Functional cohesion) – частите от даден модул са групирани защото всички те допринасят за изпълнението на единична добре дефинирана задача, поставена на модула (това е и описанието на идеята за перфектния модул).
Вижте също
[редактиране | редактиране на кода]Тази страница частично или изцяло представлява превод на страницата Cohesion в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |