Функциональные требования к программному обеспечению
Функциональные требования описывают, как ведет себя система. Эти требования обычно ориентированы на действия ("Когда пользователь делает х, система будет делать y”). Большинство продуктов и приложений, предназначенных для выполнения полезной работы, содержит множество функциональных требований к программному обеспечению. Программное обеспечение используется для реализации большей части функциональных возможностей.
При определении функциональных требований следует искать золотую середину между слишком конкретизированной формулировкой требования и слишком общей и неоднозначной. Например, как правило, ни к чему иметь обобщенное функциональное требование следующего вида: "Когда вы нажимаете эту кнопку, система включается и работает". С другой стороны, формулировка требования, которая состоит из нескольких страниц текста, но-видимому, слишком конкретизирована, но может быть правомерной в некоторых частных случаях. Мы вернемся к рассмотрению этого вопроса в главе 26.
|
|
Оказывается, что большинство функциональных требований можно сформулировать в| виде простых декларативных определений или в форме прецедентов, которым посвящена следующая глава. Опыт свидетельствует, что определение требования, состоящего из одного – двух предложений, обычно является наилучшим, когда нужно соотнести потребность пользователя с приемлемым для работы разработчика уровнем конкретизации.
До сих пор в данной, главе приводились, в основном, примеры поведенческих (функциональных) требований к системе, основное внимание в которых уделялось вопросам ввода, вывода и обработки. Функциональные требования описывают, как система должна вести себя, когда ей предоставляются определенные входные данные или условия.
Но этого недостаточно для полного описания требований к системе. Необходимо также учитывать следующие характеристики, которые Грейди (Grady) (1992) назвал "нефункциональными требованиями".
• Практичность (Usability)
• Надежность (Reliability)
• Производительность (Performance)
• Возможность обслуживания (Supportability)
Эти требования, как правило, используются для описания некоторых "атрибутов системы" или "атрибутов системного окружения" из нашего сложного определения. Благодаря их удобной классификации мы можем больше узнать о системе, которую необходимо создать. Рассмотрим каждый из перечисленных пунктов более подробно.