
Джереми был также озадачен. «В этом требовании речь идет о
любой рабочей станции, которая может подключиться к систе-
ме
ОМУили
о рабочих станциях, которые активны и
подключе-
ны к системе
DMV
в данный момент? О времени ожидания ка-
кой длины мы говорим? Возможно, существует некое руково-
дство по безопасности для таких случаев?»
Барри убедился, что секретарь точно зафиксировал все точки
зрения. «Ну
хорошо,
похоже, что в требовании 83 есть не-
сколько неясностей и не хватает некоторой информации, в ча-
стности, не определено время ожидания. Гриш, не могла ли
бы ты связаться с координатором отдела безопасности и
ре-
шить этот
вопрос?».
Большинству разработчиков знакомо чувство расстройства, возни-
кающее, если их просят реализовать слишком неясные или неполные
требования. Если они не могут получить необходимую информацию,
они вынуждены ориентироваться на собственные предположения, ко-
торые не всегда верны. Потребуется много усилий, чтобы исправить
ошибки в требованиях, работа над которыми уже завершена. Исследо-
вания показали, что в
100
раз дороже исправлять ошибки в требовани-
ях, если на них указывает клиент, чем в процессе разработки этих тре-
бований
(Boehm,
1981; Grady, 1999). Другие исследования свидетель-
ствуют, что на исправление ошибки, выявленной на стадии работы над
требованиями, тратится в среднем 30 минут, тогда как на исправление
ошибки, выявленной в ходе тестирования системы, необходимо от 5
до
17
часов
{Kelly,
Sherif
и Hops, 1992). Ясно, что любые усилия, затра-
ченные на выявление ошибок в спецификации к требованиям, сэконо-
мят реальные время и деньги.
Во многих проектах тестирование — одна из последних стадий про-
екта. Проблемы, связанные с требованиями, могут оставаться в про-
дукте до тех пор, пока они не будут выявлены в ходе долгого тестиро-
вания системы или их не обнаружит клиент. Если вы начнете
планиро-
вание тестирования и разработку вариантов тестирования на ранней
стадии проекта, вы сможете обнаружить многие ошибки вскоре после
их появления. При этом вы предотвратите дополнительный ущерб, на-
носимый ими, и снизите затраты на тестирование и обслуживание.
На рис. 15-1 показана V-образная модель разработки ПО, когда
действия, связанные с тестированием и разработкой проекта выпол-
няются параллельно
(Davis,
1993). Эта модель
указывает,
что приемоч-
ные испытания основывается на требованиях
пользователей,
тестиро-
284 Часть II. Разработка требований к ПО