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



             

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


ФАЗА АНАЛИЗА

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

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

Мы указывали на три части фазы анализа:

1. Установка требований и ограничений 2. Построение концептуальной модели решения 3. Оценка цены/графика работ/производительности

Давайте вкратце опишем каждую часть:

УСТАНОВКА ТРЕБОВАНИЙ.

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

Аналитик может также делать дальнейшие пробы, проводя беседы и рассылая вопросники пользователям.

УСТАНОВКА ОГРАНИЧЕНИЙ.

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

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

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

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




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