|
Обычно получается так, что, когда программа написана, пользователь обнаруживает несоответствие выдаваемых ею результатов желаемым. Подобная ситуация может складываться как из-за отсутствия взаимопонимания между программистами и пользователями, так и от того, что пользователи в действительности не знают, чего они хотят. Если при этом неверно работающая программа помогает пользователю понять свои потребности, а программисту уяснить истинные пожелания пользователя, то еще не все потеряно.
Иногда неверные результаты могут послужить толчком к тщательному пересмотру первоначальной постановки задачи. Некачественное определение требований к программе приводит к созданию программы, которая будет правильно решать неверно сформулированную задачу. В таких случаях, как правило, требуется полное перепрограммирование. При этом необходимо настаивать
1) Пандора — в древнегреческой мифологии девушка, созданная из земли и воды богом огня и кузнечного ремесла Гефестом. Она получила от верховного бога Зевса ящик со всеми человеческими несчастьями, которые случайно выпустила, приоткрыв из любопытства крышку; отсюда "ящик Пандоры" — источник всяческих бедствий. — Прим. перев.
на составлении нового графика разработки программы, поскольку она должна быть полностью переделана. Не позволяйте неверной программе занимать все ресурсы (время программирования, машинное время и т. п.), так как должна быть создана новая программа, и этот процесс должен быть запланирован вновь.
Признаком того, что создаваемая для какого-либо заказчика программа может оказаться не соответствующей его истинным потребностям, служит ощущение неясности задачи. В этом случае во избежание написания "неправильной" программы лучше всего четко зафиксировать, что она должна делать, и привести пример. Письменная регистрация требований к программе заставляет заказчика собраться с мыслями и дать достаточно точное определение требований. Всякие устные указания являются заведомо ненадежными и часто приводят к взаимному недопониманию.
⇐4.2. Отладочный барьер || Оглавление || 4.4. Ошибки в выборе алгоритма⇒
|