Способ мышления-Форт



         

Девять фаз цикла программирования - часть 20


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

Все описанные нами приемы заставляют Вас анализировать, какие условия соответствуют каким измерениям. Во время такого разбиения применяются два правила:

Первое, все элементы каждого измерения должны быть взаимно исключающими. Вы не должны ставить "1-ю минуту" в то же измерение, что и "прямой вызов", поскольку они не взаимоисключают друг друга.

Второе, в каждом измерении должны быть перечислены все возможности. Если бы существовал иной тариф для звонков с 2 до 2.05 ночи, то таблицу пришлось бы увеличить.

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

`Преобразуемость в реальный код`. Это особенно верно для Форта, в котором таблицы решений легко реализуются в форме, очень близкой к рисунку.

`Способность к отслеживанию логики в обратную сторону`. Найдите условие и смотрите, какие факторы его создали.

`Более ясное графическое представление`. Таблицы решений служат лучшим инструментом для понимания как для аналитика, так и для разработчика.

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

К примеру, на рисунке 2-5 ясно видно, что плата за дополнительные минуты не зависит от вмешательства оператора. С осознанием этого мы можем нарисовать упрощенную таблицу, как показано на рис. 2-6.

Рис.2-6. Упрощенная таблица решений.

+-----------------|-----------------|-----------------+ | ПОЛНЫЙ ТАРИФ | СРЕДНИЙ ТАРИФ | НИЗКИЙ ТАРИФ | |-----------------|-----------------|-----------------| | 1-я м. | доп.м. | 1-я м. | доп.м. | 1-я м. | доп.м. | ---------|--------|--------|--------|--------|--------- Прямой | .30 + | | .22 + | | .12 + | | вызов |.12/100м| .20 + |.10/100м| .22 + |.06/100м| .09 + | ---------| |--------| |--------| | Опера- | 1.20 + |.12/100м| 1.12 + |.10/100м| 1.02 + |.06/100м| тор |.12/100м| |.10/100м| |.06/100м| | |--------+--------|--------+--------|--------+--------|




Содержание  Назад  Вперед