<На страницу назад | На страницу вперед >

6.2.2. Создание интерфейсных дуг

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

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

Если не определено, является ли дуга управлением или входом, сделайте ее управляющей. Если есть сомнения в необходимости какой-либо части данных, отбросьте их.

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

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

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

Думайте об управлении и ограничениях, но не о потоке.

Основным правилом для размещения структуры дуг является "взаимозависимость, а не последовательность".

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

Дело в том, что все блоки могут действовать одновременно, поэтому последовательность не имеет значения.

Всегда более полезно и информативно отразить "ограничения", а не последовательность. Насколько это возможно, диаграммы должны создаваться таким образом, чтобы правильно показать взаимоотношения независимо от того, какие шаги делаются первыми. Очевидно, что это нужнее, чем ограничиваться только одной из возможных последовательностей.

Часто гораздо проще сначала подумать о функциях подмодели в какой-то отдельной последовательности и сделать наброски на бумаге. Такой подход полезен, но необходимо всегда перерабатывать первоначальный вариант, что бы он вписывался в структуру ограничений.

Будьте внимательны к меткам

Подчиненное положение несущественных деталей подчеркивает более важные. Не загружайте диаграммы большим объемом информации и большим количеством дуг.

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

Основная идея заключается в том, чтобы в конце концов сказано было все.

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

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

Отбросьте сомнительные дуги

Часто трудно определить, нужно ли показывать ту или иную дугу. Наиболее легким решением будет следующее: "если есть сомнение, отбросьте дугу". Если есть сомнение в необходимости дуги, то, вероятно, было бы неправильным создавать ее. Неверное исключение сомнительной дуги на данном этапе не приведет к непоправимым последствиям. Необходимость в дуге станет ясной при рассмотрении подфункций. Выполнение правил ICOM заставит вернуть дугу на этот уровень. Тогда отпадут все вопросы.

<На страницу назад | На страницу вперед >