Слайд 1Определение требований к ПС
Отвагин Алексей Владимирович, доцент каф. ЭВМ,
к.т.н., а. 505-5
Слайд 208/13/2019
Содержание
Назначение ОТ
Принципы формирования ОТ
Структура ОТ
Стандарт ОТ
Слайд 308/13/2019
Обзор
Разработка ПС – решение проблемы
Что нужно создать?
Что должно делать ПС?
Как
должно функционировать ПС?
Пользователь – не специалист в программировании
Формулирует задачи
нечетко
Не представляет возможных проблем реализации
Слайд 408/13/2019
Определение требований
Исходный документ для разработки внешнего описания программного средства, передаваемый
от пользователя разработчику. Содержит основные сведения о нуждах пользователя, которые
должны быть реализованы в ПС.
Слайд 508/13/2019
Что определяют требования?
С одной стороны – услуги или сервисы
Что может
делать система для пользователя
С другой стороны – ограничения
Вводятся условиями функционирования
или разработки системы
Слайд 608/13/2019
Типы требований
Пользовательские
Предложения естественного языка или диаграммы предоставляемых услуг и ограничений
на их использование
Ориентированы на пользователя
Системные
Документ, содержащий детальное описание сервисов
и компонентов системы
Является контрактом между клиентом и разработчиком
Слайд 708/13/2019
Назначение требований
Слайд 808/13/2019
Уровни требований
Функциональные
Требования по качеству (нефункциональные)
Доменные (относящиеся к классу ПС)
Слайд 908/13/2019
Функциональные требования
Определяют
Сервис, предоставляемый системой
Реакцию системы на входы
Поведение системы в
конкретных ситуациях
Зависят от
Типа ПС
Квалификации и категорий пользователей
Типа системы, для которой
предназначено ПС
Должны детально описывать ПС
Слайд 1008/13/2019
Требования по качеству
Явно не связаны с конкретной функциональностью системы
Могут расширять
ее
Определяют ограничения или рамки для характеристик системы
Показатели функционирования
Ограничения процесса разработки
Стандарты
Могут
быть более жесткими и критичными, чем функциональные
Слайд 1108/13/2019
Классы требований по качеству
Требования к продукту
Определяют его характеристики – скорость
работы, требования к ресурсам и т.д.
Организационные требования
Отражают вопросы организации разработки
– стандарты, средства, процессы и т.д.
Внешние требования
Формируются внешними факторами – совместимость, патентная чистота и др.
Слайд 1208/13/2019
Диаграмма требований по качеству
Слайд 1308/13/2019
Доменные требования
Отражают характеристики класса продуктов, к которому относится данное ПС
Могут
определять или ограничивать функциональность
Позволяют сравнивать ПС с другими представителями домена
Слайд 1408/13/2019
Схема формирования требований
Слайд 1508/13/2019
Источники возникновения требований
Слайд 1608/13/2019
Методы анализа требований
Опрос (интервью)
Анкетирование
Анализ сценариев работы
Создание прототипов
Слайд 1708/13/2019
Интервью
Закрытые или открытые
Перечень вопросов ограничен или нет
Контекстные
Попытка понять нужды
пользователя и его способ решения задачи
Модель мастер - ученик
Мастер работает
и показывает, что он делает
По ходу работы можно задавать вопросы
Не подходят для доменных требований
Разработчик не знаком с терминологией
На некоторые очевидные требования можно не обратить внимания
Слайд 1808/13/2019
Принципы контекстного интервью
Контекст
Выполняется на рабочем месте в течении всего дня
Внимание
к деталям
Например, к образцам используемых документов
Партнерство
Взаимодействие с пользователем
Вовлечение в
работу (пробовать самому)
Интерпретация
Выразить свои действия понятным способом
Проверять их практическим выполнением задачи
Слайд 1908/13/2019
Процесс создания требований
Спецификация
Уточнение
Определение
Исследование
Слайд 2008/13/2019
Сценарии
Демонстрируют основные действия пользователей и события в системе
Отражают реальное использование
системы
Часто используются прототипы
Сценарии могут быть описаны в виде диаграмм UML
Используются
для уточнения требований
Слайд 2108/13/2019
Содержание сценария
Сценарий начинается с общего описания его назначения и содержит
следующие элементы:
Начальное состояние системы
Нормальный поток событий в сценарии
Возможные ошибки и
методы их обработки
Другие альтернативные потоки
Конечное состояние системы
Слайд 2208/13/2019
Проблемы использования естественных языков (ЕЯ)
Неоднозначность
Описание на ЕЯ может быть неверно
интерпретировано
Чрезмерная гибкость
Одни и те же понятия и процессы могут быть
описаны по разному
Отсутствие структурности
Описание на ЕЯ трудно формализовать
Слайд 2308/13/2019
Альтернативы естественных языков
Структурный ЕЯ
Ограниченный алфавит (набор понятий) и грамматика
Стандартный способ
определения требований
Сочетает гибкость ЕЯ и формализм
Пример - псевдокод
Слайд 2408/13/2019
Формальные спецификации
Определение функции или объекта
Описание входов и их источников
Описание выходов
и их приемников
Описание других необходимых сущностей или функций
Пред- и постусловия
Сторонние
эффекты
Слайд 2508/13/2019
Графические модели
Используют графические объекты и текстовые аннотации к ним
Удобны для
иллюстрации смены состояний или их последовательности
Используются в CASE-системах
Слайд 2608/13/2019
Способы управления определением требований
Управляемая пользователем разработка
Контролируемая пользователем разработка
Независимая от пользователя
разработка
Слайд 2708/13/2019
Управляемая пользователем разработка
Требования определяются заказчиком (госзаказ, военные разработки и др.)
Разработчик
уточняет требования для себя
В процессе договора существует несколько редакций ОТ
Слайд 2808/13/2019
Контролируемая пользователем разработка
Требования формируются заказчиком при участии разработчика
Требования утверждаются заказчиком,
но не навязываются им
Наиболее распространенная форма создания ОТ
Слайд 2908/13/2019
Независимая от пользователя разработка
Требования определяются без участия пользователя
Требуется хорошее знание
предметной области применения ПС
Пригодны для создания ПС широкого применения
Слайд 3008/13/2019
Кто использует определение требований?
Потребители – указывают свои потребности и выбирают
ПС на основе информации ОТ
Менеджеры – используют ОТ для планирования
и управления процессом разработки
Проектировщики – используют ОТ для разработки архитектуры и спецификаций ПС
Тестировщики – используют ОТ для установления валидности системы (соответствия результата исходному заданию)
Инженеры по сопровождению – для понимания архитектуры ПС и взаимодействия между его частями
Слайд 3108/13/2019
Проверка определения требований
Тестируются различные аспекты каждого требования
Часто выполняется смежным контролем
– совместно разработчик и заказчик
Может быть формальной (с проверкой созданных
документов) или неформальной
Может проводиться в виде тестов или ручной имитации функционирования системы
Слайд 3208/13/2019
Требования к требованиям
Верифицируемость – возможность тестировать и оценивать требование
Понятность или
постижимость –внятность изложения требования
Отслеживаемость – возможность выяснить происхождение и момент
возникновения требования
Адаптивность – возможность изменения требования без возмущения всей системы
Слайд 3308/13/2019
Классификация требований
Мутирующие требования – изменяются в процессе разработки системы
Внезапные требования
– возникают в процессе глубокого понимания системы
Последовательные требования – возникают
в процессе введения компьютерной системы в обработку информации
Требования совместимости – зависят от других систем или организационных процессов
Слайд 3408/13/2019
Стандарт определения требований
Международный стандарт IEEE/ANSI 830-1993
Структура ОТ согласно стандарту:
Введение
Общее описание
Специальные
требования
Приложения
Индекс
В конкретной системе структура может отличаться
Слайд 3508/13/2019
Введение IEEE/ANSI 830-1993
Цель документа ОТ
Область применения продукта
Определения, сокращения
Ссылки на другие
источники
Обзор остального документа
Слайд 3608/13/2019
Общее описание по
IEEE/ANSI 830-1993
Цели применения продукта
Функции продукта
Классы пользователей
Общие ограничения
Допущения и
зависимости
Слайд 3708/13/2019
Специальные требования
по IEEE/ANSI 830-1993
Требования по качеству и интерфейсу
Не имеют стандартной
структуры
Описывают:
Внешние интерфейсы
Производительность
Ограничения по дизайну
Характеристики качества
Слайд 3808/13/2019
Приложения по
IEEE/ANSI 830-1993
Содержат детальную информацию, относящуюся к данному конкретному ПС
Аппаратные
требования – описывают минимальную и оптимальную конфигурацию аппаратуры
Требования к БД
– определяют логическую организацию данных, используемых ПС и взаимоотношения между ними.
Слайд 3908/13/2019
Индексы по
IEEE/ANSI 830-1993
Содержат списки объектов, упомянутых в документе
Алфавитный указатель
Список функций
Рисунки
Диаграммы
Используются
для быстрого поиска соответствующей информации