- •1. Обзор
- •2. Ссылки
- •3. Определения
- •4. Рекомендации по производству качественных srs
- •4.1. Природа srs
- •4.2. Окружение srs
- •4.3. Характеристики качественной srs
- •4.3.1. Корректность
- •4.3.2. Непротиворечивость
- •4.3.2.1. Ловушка естественного языка
- •4.3.2.2. Языки спецификации требований
- •4.3.2.3 Инструментарий представления
- •4.3.3. Полнота
- •4.3.3.1. Использование tbd
- •4.3.4. Целостность
- •4.3.4.1. Внутренняя целостность
- •4.3.5. Упорядоченность по важности и/или стабильности
- •4.3.5.1. Степень стабильности
- •4.3.5.2. Степень необходимости
- •4.3.6. Верифицируемость
- •4.3.7. Модифицируемость
- •4.3.8. Трассируемость
- •4.4. Совместная подготовка srs
- •4.5. Эволюция srs
- •4.6. Прототипирование
- •4.7. Встраивание разработки в srs
- •4.7.1. Необходимые требования к разработке
- •4.8. Встраивание проектных требований в srs
- •5. Части srs
- •5.1. Введение (Раздел 1 srs)
- •5.2.1. Позиционирование продукта (2.1 srs)
- •5.2.1.1. Системные интерфейсы
- •5.2.1.2. Пользовательские интерфейсы
- •5.2.1.3. Аппаратные интерфейсы
- •5.2.1.4. Программные интерфейсы
- •5.2.1.5. Коммуникационные интерфейсы
- •5.2.3. Пользовательские характеристики (2.3 srs)
- •5.2.4. Ограничения (2.4 srs)
- •5.2.5. Предположения и зависимости (2.5 srs)
- •5.2.6. Распределение требований (2.6 srs)
- •5.3. Специфические требования (Раздел 3 srs)
- •5.3.1.Внешние интерфейсы
- •5.3.2. Функции
- •5.3.3. Требования к производительности
- •5.3.4. Логические требования к базе данных
- •5.3.5. Ограничения проектирования
- •5.3.5.1. Соответствие стандартам
- •5.3.6. Атрибуты программной системы
- •5.3.7.4. Функциональные возможности
- •5.4. Вспомогательная информация
- •5.4.1. Оглавление и индекс
- •5.4.2. Приложения
4.1. Природа srs
SRS – это спецификация отдельного программного продукта, программы или набора программ, которые выполняют некоторые действия в некоторой среде. SRS может быть написана одним или несколькими представителями поставщика, одним или несколькими представителями потребителя, или совместно представителями обеих сторон. Подраздел 4.4 рекомендует участие в этом процессе обеих сторон.
Основные вопросы, которые должны решить авторы SRS, следующие:
Функциональность. Что должно по замыслу делать программное обеспечение?
Внешние интерфейсы. Как программное обеспечение взаимодействует с людьми, системным оборудованием, другим оборудованием и другими программами?
Производительность. Каковы скорость, доступность, время ответа, время восстановления различных программных функций и т.д.?
Атрибуты. Каковы переносимость, корректность, пригодность к поддержке, безопасность и т.д.?
Проектные ограничения, налагаемые на реализацию. Есть ли требования к действующим стандартам, языкам реализации, политикам поддержания целостности баз данных, ограничениям на ресурсы, операционной среде и т.д.?
Авторам SRS следует избегать включения требований к проектированию и разработке в SRS.
Рекомендуемое содержание SRS приведено в разделе 5.
4.2. Окружение srs
Важно сознавать роль, которую SRS играет в общем плане проекта и которая определена в IEEE Std 610.12-1990. Программное обеспечение может содержать полностью всю функциональность проекта либо быть частью более крупной системы. В последнем случае обычно бывает SRS, устанавливающая интерфейсы между системой и ее программной частью и определяющая внешние требования к производительности и функциональности программной части. Разумеется, впоследствии SRS должна согласовываться с этими системными требованиями и детализироваться на их основе.
IEEE STD 1074-1997 описывает этапы жизненного цикла программного обеспечения и допустимые входные данные для каждого этапа. Другие стандарты, например, перечисленные вразделе 2, ссылаются на другие части жизненного цикла программного обеспечения и таким образом могут дополнять требования к программному обеспечению.
Поскольку SRS играет особую роль в процессе разработки программного обеспечения, авторы SRS должны проявлять осторожность и не выходить за границы этой роли. Это значит, что SRS
должна корректно определять все требования к программному обеспечению. Требование к программному обеспечению может существовать благодаря природе решаемой задачи либо благодаря специфической особенности проекта.
не должна описывать никаких деталей разработки и реализации. Их следует описывать на стадии разработки проекта.
не должна накладывать дополнительные ограничения на программное обеспечение. Они должным образом задаются в других документах, например, плане обеспечения качества программного обеспечения.
Таким образом, правильно написанная SRS ограничивает диапазон допустимых проектных решений, но не задает никакого конкретного решения.
4.3. Характеристики качественной srs
SRS должна быть:
корректной;
непротиворечивой;
полной;
целостной;
упорядоченной по важности и/или стабильности;
верифицируемой;
модифицируемой;
трассируемой.