- •______________________________________________________
- •Технология разработки программного обеспечения. Разработка и анализ требований
- •Виды, взаимосвязь и свойства требований
- •Что такое «требование»?
- •Виды требований
- •Функциональные требования
- •Нефункциональные требования
- •Нефункциональные требования к продукту
- •Нефункциональные требования к процессу
- •Вопросы для самоконтроля
- •Определение образа и границ проекта
- •Анализ предметной области
- •Анализ осуществимости
- •Определение целей и области действия
- •Документирование образа и границ проекта
- •Вопросы для самоконтроля
- •Выявление требований
- •Определение способа сбора и анализа требований
- •Источники возникновения требований
- •Заинтересованные в проекте лица
- •Опрос (интервью)
- •Подготовка
- •Проведение опроса
- •Определение последующих действий
- •Совместные семинары
- •”Мозговой штурм”
- •Роли во время сеансов
- •Правила проведения сеанса
- •Подготовка к сеансу
- •Проведение сеанса
- •Обработка результатов сеанса
- •Сценарии
- •Сценарии событий
- •Варианты использования
- •Применение модели msc uml
- •Выявление требований на основе различных точек зрения. Метод vord
- •Идентификация точек зрения
- •Структурирование точек зрения
- •Документирование и отображение системы точек зрения
- •Этнографический подход
- •Вопросы для самоконтроля
- •Разработка системных требований
- •Детализация требований пользователей
- •Системные модели
- •Модели потоков данных
- •Модели конечных автоматов
- •Модели данных
- •Прототипы
- •Роль прототипов при разработке требований
- •Виды прототипов
- •Разработка прототипов
- •Экспериментальное прототипирование
- •Эволюционное прототипирование
- •Риски прототипирования
- •Системные требования
- •Структурированный естественный язык
- •Языки описания программ
- •Графические нотации
- •Документирование системных требований
- •Вопросы для самоконтроля
- •Документирование требований
- •Спецификация требований
- •Состав спецификации требований
- •Рекомендации по разработке требований
- •Стандартные шаблоны спецификации
- •Вопросы для самоконтроля
- •Анализ спецификации требований
- •Оценка качества спецификации требований
- •Характеристики качества спецификации
- •Аттестация требований
- •Экспертиза спецификации
- •Прототипирование
- •Автоматизированный анализ
- •Тестирование требований
- •Вопросы для самоконтроля
- •Управление требованиями
- •Причины изменений требований
- •Принципы управления требованиями
- •Управление изменениями
- •Управление версиями
- •Управление связями требований
- •Риски, связанные с требованиями
- •Риски этапа выявления требований
- •Риски этапа анализа и спецификации требований
- •Риски управления требованиями
- •Вопросы для самоконтроля
- •Case-средства для управления требованиями
- •Выбор case-средств для управления требованиями
- •Уровень зрелости и используемые инструменты
- •Моделирование требований
- •Трассировка требований
- •Управление версиями
- •Возможности case-средств управления требованиями
- •Средства idf-моделирования
- •Средства uml
- •Вопросы для самоконтроля
- •Список литературы
- •Карта памяти к разделу 1
Министерство образования и науки РФ
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
______________________________________________________
Самойленко В.П.
Технология разработки программного обеспечения. Разработка и анализ требований
Учебное пособие
Cанкт-Петербург
Издательство СПбГЭТУ «ЛЭТИ»
2006
УДК 681.3.06
В. П. Самойленко. Технология разработки программного обеспечения. Разработка и анализ требований: Учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2006, 98 с.
Содержит основные сведения о процессах разработки, анализа и документирования требований к программным системам. Особенностью учебного пособия является использование в нем «карт памяти», которые представляют собой графическое представление теоретической части темы и могут быть использованы для того, чтобы обучаемый имел возможность вспомнить ее, когда потребуется.
Предназначено для подготовки дипломированных специалистов по направлениям 654600 (специальность 020400), 657100 (специальность 073000), бакалавров и магистров по направлениям 552800 и 510200
Виды, взаимосвязь и свойства требований
Изучив тему, Вы будете знать:
виды и уровни требований;
взаимосвязь и основные свойства требований;
атрибуты качества, предъявляемые к требованиям пользователями и разработчиками продукта.
Что такое «требование»?
Разработка программной системы начинается с того, что заказчики и разработчики должны понять, что эта система должна делать. Соответствующая стадия входит во все возможные модели жизненного цикла и называется «Разработка и анализ требований». Ключевое понятие этой стадии поименовано словом «Требование». Если мы поймем, что такое требование к программной системе, то сможем определить и то, что понимается под разработкой и анализом «Требования». Как же решить эту проблему?
Простое решение. Понятие «требование» не определяется. Разработчик и заказчик полагаются, в этом случае, на свой здравый смысл. Риск такого решения в том, что бизнес-цели, опыт и квалификация у заказчика и разработчика различаются.
Обычное решение. Дать какое-либо (возможно не очень точное) определение. Например, «Требование – это документированное указание потребности или цели пользователей либо условия и возможности, которым должен обладать продукт, чтобы удовлетворить такие возможности или цели» или «Требования – это высокоуровневые обобщенные утверждения о функциональных возможностях и ограничениях системы». Риск этого решения такой же, как и для предыдущего случая.
Правильное решение. Использовать стандартное определение понятия «Требование».
Существующие международные стандарты содержат различные определения понятия «требования», поэтому всегда можно выбрать определение, удовлетворяющее всех заинтересованных в разработке лиц.
Например, стандарты IEEE используют следующее определение требований.
Требования к программной системе– это:
Функциональность, необходимая пользователю для решения проблемы или достижения цели.
Функциональность, которая должна быть получена (достигнута) системой или ее компонентами для соответствия контракту, стандарту, спецификации или другим формальным документам.
Документальное представление пп. 1 – 2.
Стандарты определяют только функциональные требования, которые должны быть дополнены нефункциональными требованиями.
Другое определение дает стандарт ISO12207, в котором понятие «требование» определяется перечислением тех видов требований, которые предъявляются к программному продукту и, практически, не требуют расшифровки. В соответствии с этим стандартом на стадии жизненного цикла «Анализ требований» должен быть выполнен анализ требований к программным средствам.
Разработчик должен установить и документально оформить следующие требования к программным средствам:
функциональные и технические требования, включая производительность, физические характеристики и окружающие условия, под которые должен быть, создан программный объект;
требования к внешним интерфейсам программного объекта;
квалификационные требования;
требования безопасности, включая требования, относящиеся к методам эксплуатации, сопровождения, воздействию окружающей среды и травмобезопасности персонала;
и т.д.
При выборе того или иного подхода к определению понятия «Требование» заинтересованные лица должны учитывать риски, связанные с возможными различающимися интерпретациями этого понятия.