Методы и средства инженерии программного обеспечения

       

Основы программных требований (Software Requirements)


Требования – это свойства, которыми должно обладать ПО  для адекватного задания  функций, а также условия и ограничения на ПО, данные,  среду выполнения  и технику.

Требования  отражают потребности  людей (заказчиков, пользователей, разработчиков), заинтересованных в создании   ПО. Заказчик и разработчик  совместно  проводят сбор требований, их анализ, пересмотр, определение  необходимых ограничений и документирование. Различают требования  к продукту и к процессу, а также функциональные и нефункциональные требования, системные требования. Программные требования  определяют требования к процессу, ОС, режиму выполнения ПО, выбору платформы и т.п.

Функциональные требования  задают назначение системы, а  нефункциональные – условия выполнения ПО. Системные требования описывают  требования к программной системе, состоящей из взаимосвязанных программных и  аппаратных подсистем и разных приложений. Требования могут  оцениваться  количественно (например, количество запросов в сек., средний показатель ошибок не должен превышать 1.5% от объема вводимой информации и т.п.). Значительная часть требований относится к атрибутам качества: безотказность, надежность и др.

Область знаний «Требования к ПО (Software Requirements)» состоит из следующих разделов:

– инженерия требований (Requirement Engineering),

– выявление требований (Requirement Elicitation),

–  анализ требований  (Requirement Analysis),

– спецификация требований (Requirement Specification).

– проверка требований  (Requirement validation),

– управление требованиями (Requirement Menegement).

Инженерия требований к ПО – это  дисциплина анализа и документирования требований к ПО, которая заключается в   преобразовании предложенных заказчиком  требований к системе в описание требований к ПО, их спецификация и верификация.  Она базируется на модели процесса определения требований, процессах  актеров ­– действующих лиц, обеспечивающих управление и формирование требований, а также на процессах повышения  качества.


Модель  процесса – это схема   процессов ЖЦ, которые выполняются от  начала проекта и  до тех пор,  пока не будут определены и согласованы требования. При этом  процессом может быть маркетинг и  проверка осуществимости  требований в данном  проекте.



Управление требованиями к ПО заключается  в  планировании и контроле  выполнения  требований и проектных ресурсов в процессе  разработки компонентов на этапах ЖЦ.

Качество и процесс улучшения требований – это процесс формулировки характеристик и   атрибутов качества  (надежность, реактивность и др.), которыми должна обладать система и ПО, методы их достижения на этапах ЖЦ и адекватности процессов работы с требованиями.

 

Выявление требований – это процесс извлечения информации из разных источников заказчика (договоров, материалов аналитиков по задачам и функциям системы и др.), проведения технических мероприятий (собеседований,  собраний и др.) для  формирования отдельных  требований на разработку. Требования согласуются с заказчиком и исполнителем.

 

Анализ требований  процесс изучения потребностей и  целей пользователей, классификация и их преобразование   к требованиям системы, аппаратуре  и ПО, установление и разрешение конфликтов между требованиями, определение приоритетов,  границ системы и принципов  взаимодействия со средой функционирования. Требования могут быть функциональные  и нефункциональные, которые определяют  соответственно  внешние  и внутренние характеристикам системы. Функциональные требования характеризуют функции системы или ее ПО,  способы поведения ПО в процессе   выполнения функций и  методы передачи и преобразования  входных данных в результаты. Нефункциональные требования  определяют условия  и среду выполнения функций (например,  защита и доступ к БД, секретность, взаимодействие компонентов  и др.).  Разработка требований и их локализация  завершается на этапе проектирования архитектуры  и отражается в специальном документе, по которому проводится  согласование требований  для  достижения взаимопонимания   между заказчиком и разработчиком.



 

Спецификация требований к ПО

процесс формализованного описания функциональных и нефункциональных требований, требований к характеристикам  качества   в соответствии со стандартом  качества  ISO/IEC 9126-94, которые будут отрабатываться  на этапах ЖЦ ПО. В спецификации требований отражается структура ПО, требования к функциям,   качеству и  документации, а также задается в общих чертах  архитектура системы и ПО, алгоритмы, логика управления и структура данных. Специфицируются также системные требования, нефункциональные требования и требования к взаимодействию с другими   компонентами и платформами (БД, СУБД, маршаллинг данных, сеть и др.).  

Валидация (аттестация) требований - это проверка  требований, изложенных в  спецификации  для того, чтобы убедиться, что они определяют данную систему и отслеживание источников требований.  Заказчик и разработчик ПО проводят экспертизу сформированного варианта требований  с тем, чтобы разработчик мог далее проводить разработку ПО. Верификация требований

–  это   процесс проверки правильности  спецификаций требований на их соответствие, непротиворечивость, полноту и  выполнимость,  а также   на соответствие стандартам. В результате проверки требований делается согласованный  выходной документ, устанавливающий полноту и корректность требований к ПО, а также возможность продолжить  проектирование ПО.  Одним из методов аттестации является прототипирование, т.е. быстрая отработка отдельных требований на конкретном инструменте и исследование масштабов изменения требований,  измерение объема функциональности и  стоимости, а также создание моделей оценки зрелости требований.

 

Управление требованиями – это руководство  процессами формирования требований  на всех этапах ЖЦ, которое  включает управление изменениями и атрибутами требований, отражающими  программный продукт, а также проведение мониторинга – восстановления источника требований.  Неотъемлемой составляющей процесса управления является трассирование требований

для  отслеживания правильности задания и  реализации требований к системе и ПО  на этапах ЖЦ и обратный процесс отслеживания от полученного продукта к требованиям.

 

Таким образом,  приведено краткое изложение сущности  определения требований к ПО, базовых понятий и процессов их формирования, подходов к их  оценке на предмет установления их  соответствия потребностям заказчика, а также подходов для  достижения их  качества.

 


Содержание раздела