WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Связность, или прочность (англ. cohesion, module strength), — мера силы взаимосвязанности элементов внутри модуля[1]; способ и степень, в которой задачи, выполняемые некоторым программным модулем, связаны друг с другом[1].

Макконнелл объясняет понятие связности на примере класса (как частного случая модуля): «связность характеризует то, насколько хорошо все методы класса или все фрагменты метода соответствуют главной цели, — иначе говоря, насколько сфокусирован класс»[2].

Связность обычно противопоставляется зацеплению. Слабое зацепление является признаком хорошо структурированной и хорошо спроектированной системы, и, когда она комбинируется с сильной связностью, соответствует общим показателям хорошей читаемости и сопровождаемости.

Типы связности

Связность и зацепление модулей

В стандарте ISO/IEC/IEEE 24765[1] и современной литературе[2][3][4] предлагается рассматривать следующие типы связности:

  • случайная (англ. coincidental);
  • коммуникационная (англ. communicational);
  • функциональная (англ. functional);
  • логическая (англ. logical);
  • процедурная (англ. procedural);
  • последовательностная (англ. sequential) и
  • временна́я (англ. temporal).
Случайная связность
Тип связности, при котором задачи, выполняемые программным модулем, не имеют функциональной взаимосвязи друг с другом.
Коммуникационная связность
Тип связности, при котором задачи, выполняемые программным модулем, используют одни и те же входные данные или участвуют в формировании одних и тех же выходных данных.
Функциональная связность
Тип связности, при котором все задачи, выполняемые программным модулем, вносят вклад в выполнение одной и той же функции.
Логическая связность
Тип связности, при котором задачи, выполняемые программным модулем, реализуют логически сходные функции (например, одинаково обрабатывают разные типы входных данных).
Процедурная связность
Тип связности, при котором все задачи, выполняемые программным модулем, участвуют в некоторой программной процедуре.
Последовательностная связность
Тип связности, при котором выходные данные одной задачи, выполняемой программным модулем, служат входным данными для другой задачи, выполняемой этим же модулем.
Временна́я связность
Тип связности, при котором все задачи, выполняемые программным модулем, требуются для некоторой фазы выполнения программы (например, модуль содержит все задачи для инициализации).

Эти виды связности аналогичны используемым семи видам связности в SADT[5].

См. также

Примечания

  1. 1 2 3 ISO/IEC/IEEE 24765-2010 Systems and software engineering — Vocabulary
  2. 1 2 Макконнелл, 2010.
  3. Бадд, 1997, 17.1.2. Разновидности связности.
  4. Вендров А. М.  CASE-технологии. Современные методы и средства проектирования информационных систем. 2.2.3. Типы связей между функциями
  5. Пирогов В. Ю.  Информационные системы и базы данных: организация и проектирование. — СПб.: БХВ-Петербург, 2009. — C. 203—204.

Литература

  • Бадд, Тимоти.  Объектно-ориентированное программирование в действии = An Introduction to Object-Oriented Programming. СПб.: Питер, 1997. — 464 с. — (В действии). ISBN 5-88782-270-8.
  • Макконнелл, Стив Совершенный код. 2-е изд = Code Complete. М.: Русская редакция, 2010. — 896 с. — (Мастер-класс). ISBN 978-5-7502-0064-1. — С. 163—166.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии