Цель стандартов на разработку требований к ПО состоит в том, чтобы определить методы, правила и инструментальные средства, которые должны быть использованы при разработке требований верхнего уровня. Эти стандарты должны включать в себя:
— методы, которые должны быть применены для разработки требований к ПО;
— системы обозначений, которые применяют для описания требований, такие как диаграммы потока данных и формальные языки спецификаций;
— ограничения на использование инструментальных средств разработки требований;
— метод, который должен быть применен для получения производных требований.
12.1 Cтандарты на процесс проектирования ПО
Цель стандартов на процесс проектирования ПО состоит в определении методов, правил и инструментальных средств, которые следует применять для разработки архитектуры ПО и требований нижнего уровня. Эти стандарты должны содержать:
— методы описания проекта, которые будут использованы;
— соглашения по наименованию;
— ограничения, налагаемые на применяемые методы проектирования, например распределение ресурсов, использование прерываний и структур, управляемых событиями, использование динамических задач, повторный вход, использование глобальных данных, механизм обработки исключительных ситуаций и обоснования для их использования;
— ограничения на использования инструментальных средств проектирования;
— ограничения на проектирование (например, запрещение использования рекурсий, динамических объектов, альтернативных имен, сокращенных выражений);
— ограничения по сложности (например, максимальный уровень вложенности вызовов и условных структур, использование безусловных переходов, число входных/выходных точек элементов кода программы).
12.11 Стандарты кодирования ПО
Целью стандартов кодирования ПО является определение языков программирования, методов, правил и инструментальных средств, которые будут использованы для кодирования ПО. Стандарты кодирования должны включать в себя:
— используемые языки программирования и/или какое-либо их заданное подмножество; должна быть указана ссылка на документы, которые однозначно определяют синтаксис, режим контроля, характер данных и побочные эффекты языка программирования; стандарты могут требовать ограничений на использование некоторых возможностей языка;
— стандарты представления исходного текста (например, ограничение на длину строки, структурное расположение текста, использование пустых строк) и стандарты документирования исходного кода (например, имя автора, история изменений, входные и выходные данные, а также наиболее значимые глобальные данные);
— соглашения по наименованию для компонентов, подпрограмм, переменных, констант;
— условия и ограничения, налагаемые на установленные соглашения кодирования, такие как информационная связность между компонентами ПО, сложность логических или числовых выражений, а также обоснования для их использования;
— ограничения на использование инструментальных средств кодирования.
12.12 Спецификация системы/подсистемы
Спецификация системы/подсистемы определяет требования для системы или подсистемы и методы, которые должны быть использованы для гарантии того, что каждое требование выполнено. Требования, относящиеся к внешним интерфейсам системы или подсистемам, должны быть представлены либо в данной спецификации, либо в спецификации требований к интерфейсу, на которую должны быть ссылки в спецификации системы/подсистемы.
Каждое требование соответствует конкретным обоснованным характеристикам системы, имеет уникальный для проекта идентификатор, чтобы можно было провести тестирование и проследить его выполнение с помощью объективного теста. Для каждого требования выбирают квалификационный(е) метод(ы), требования для подсистемы должны быть прослеживаемы к требованиям к системе. Степень детализации выбирают, исходя из следующих правил: указывают те характеристики системы, которые внесены в условия приемки системы; предпочтение отдают тем характеристикам, которые требует обеспечить заказчик.
Должны быть описаны требования:
— к режимам работы;
— к производительности системы;
— к внешнему интерфейсу системы;
— к внутреннему интерфейсу системы;
— к внутренним данным системы;
— по адаптации;
— по безопасности;
Читать дальше