Полнота.
Предмет: Разработка и эксплуатация АИС.
Лекция 4.
Для студентов гр. АСУ 4-го курса.
Тема: Свойства требований и
роль требований в разработке программного обеспечения.
Цель: Разобраться в особенностях требований, свойствах требований.
1. Прочитать, кратко законспектировать лекцию.
2. Составить 20 (или более) вопросов к лекции по основным моментам, и на них же самостоятельно ответить.
3. Сделать выводы.
4.Отправить вопросы с ответами в электронном варианте преподавателю
Свойства требований
Ф. Брукс в своем, теперь уже ставшим классическим, эссе, следующим образом охарактеризовал роль требований в разработке программного обеспечения.
Строжайшее и единственное правило построения систем программного обеспечения (ПО) - решить точно, что же строить. Никакая другая часть концептуальной работы не является такой трудной, как выяснение деталей технических требований, в том числе и взаимодействие с людьми, с механизмами и с иными системами ПО. Никакая другая часть работы так не портит результат, если она выполнена плохо. Ошибки никакого другого этапа работы не исправляются так трудно.
Наука извлечения и формализации качественных (иногда говорят "хороших", "правильных") требований носит во многом эмпирический характер. Однако, в практике разработки программных систем накопились определенные представления о том, какими свойствами должны обладать требования к программной системе. Это:
· полнота,
· ясность,
· корректность,
· согласованность,
· верифицируемость,
· необходимость,
· полезность при эксплуатации,
· осуществимость,
· модифицируемость,
· трассируемость,
· упорядоченность по важности и стабильности,
· наличие количественной метрики.
Большинство из этих свойств раскрыто в первом разделе стандарта IEEE и широко обсуждается в работах. Рассмотрим указанные выше свойства подробнее.
Как известно из теории искусственного интеллекта, неполнота - одно из фундаментальных свойств человеческого знания. При создании программных систем нам приходится иметь дело с характеристиками еще несуществующей системы. Идея о том, что необходимо сформулировать все требования полностью, т.е. исчерпывающим образом, до начала проектирования, а тем более - реализации системы, изжила себя вместе с так называемым каскадным подходом, который поддерживал последовательную модель реализации системы. Спиральный подход, на котором базируется большинство современных методологий, предусматривает поэтапное выделение и детализацию требований на всем протяжении цикла разработки системы.
Тем не менее, требование полноты предъявляется к требованиям, формулируемым к системе. Надо понимать, что данное требование - это скорее тенденция, цель, к которой нужно постараться максимально приблизиться на как можно более ранних стадиях проекта.
Требование полноты можно рассматривать в двух аспектах: полнота отдельного требования и полнота системы требований.
Полнота отдельного требования - свойство, означающее, что текст требования не требует дополнительной детализации, то есть в нем предусмотрены все необходимые нюансы, особенности и детали данного требования.
Полнота системы требований - свойство, означающее, что совокупность артефактов, описывающих требования, исчерпывающим образом описывает все то, что требуется от разрабатываемой системы.