
Что такое структурные карты Константайна?
Структурные карты Константайна используют при проектировании ПО. Они показывают, как продукт будет выполнять системные требования и описывает отношения между модулями.

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

С помощью какой программы можно построить структурную карту Константайна?
В векторном графическом редакторе Microsoft Visio

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

Зачем нужны структурные карты Константайна
Сама по себе структурная карта Константайна ничего не скажет о качестве реализации проекта. Но этот инструмент позволяет продемонстрировать структуру системы, модулей, входящих в нее и то, как оно связаны друг с другом. На основе структурных карт можно оценивать и улучшать качество проекта.
Структурное проектирование основано на принципе, что большую систему можно расчленить на модули. Причем так, чтобы модули были как можно более независимы друг от друга. А еще так, чтобы каждый модуль выполнял только одну функцию.
Построить структурную карту Константайна можно, например, в векторном графическом редакторе Microsoft Visio.

Из чего состоит структурная карта Константайна
Структурная карта состоит из разных элементов:
Модули — ключевой элемент структурной карты Константайна. Они бывают разных типов: детализированный модуль, совокупность подпрограмм в модуле (библиотека), модули с областями глобальных или распределенных данных.

Объекты структурной карты Константайна
Чтобы увязывать блоки между собой используют связи:

Модули в структурной карте Константайна
Структуру любой программной системы составляют модули. У них есть определенные общие свойства:


Структурные карты Джексона
Структурные карты Джексона нужны для описания внутренней структуры модулей и во–многом схожи со структурными картами Константайна.
Метод Джексона включает шесть шагов. Три первых шага выполняются на этапе анализа продукта. Остальные три шага выполняются на этапе проектирования продукта.
Шаг первый — объект действие — начинают с определения проблемы. На втором шаге — объект–структура — создают структуру объектов, которая будет описывать последовательность действий над ними.

Сцепление модулей в структурных картах Константайна Джексона
Оценить качество проекта помогает анализ сцепления модулей. Сцепление отражает зависимость модулей друг от друга. И в удачном проекте сцепления должно быть минимальным. Точнее говоря, модули должны слабо зависеть друг от друга, быть независимыми насколько возможно.
Почему слабое сцепление модулей — это признак хорошо спроектированной системы? На то есть несколько причин:
Чтобы добиться такого минимального сцепления модулей, нужно:

Как на практике ослабить сцепление модулей в структурной карте Константайна
На практике проектировщики системы применяют три основных типа сцепления модулей:
Чтобы на практике ослабить сцепление модулей в структурной карте Константайна нужно:

Типы нормального сцепления в структурных картах Константайна
Различают три типа нормального сцепления модулей в структурных картах:
На практике чаще всего используют сцепление по данным — data coupling. Оно отлично подходит, когда нужно передавать небольшое количество параметров. Модули взаимодействуют через передачу параметров. Каждый параметр — это информационный объект.
При сцеплении по образцу — stamp coupling — один модуль посылает другому объект с внутренней структурой. Например, это может быть информация о клиенте с названием организации, почтовым адресом, номером счета.
При сцеплении по управлению — control coupling — один модуль отправляет другому информационный объект. Это как флаг для управления внутренней логикой. Флаги бывают двух видов: описательные и управляющие.
Флаги усиливают сцепление. А как мы помним, это не очень хорошо может сказаться на качестве проекта.

Связность в структурных картах Константайна
Еще один способ оценить качество проектируемой системы — это связность. Она контролирует как действия в одном модуле связаны друг с другом. Это как измеритель прочности соединения функциональных и информационных объектов внутри модуля. Если размещать сильно связанные объекты в одном модуле, то межмодульные связи и влияние уменьшатся.
Различают несколько уровней связности: