Слайд 1Технология разработки ПО
Требования к ПО
Основы разработки и управления требованиями к
ПО
Слайд 2Технология разработки ПО
Содержание
Понятие требований к ПО
Виды требований
Характеристики требований
Разработка требований
UML-диаграммы вариантов
использования
Слайд 3Технология разработки ПО
Требования – это
условия или возможности, необходимые пользователю для
решения проблем или достижения целей;
условия или возможности, которыми должна обладать
система или системные компоненты, чтобы выполнить контракт или удовлетворять стандартам, спецификациям или другим формальным документам;
документированное представление условий или возможностей для пунктов 1 и 2.
Слайд 4Технология разработки ПО
Цитата
«Если вы не поймёте требования к программному продукту
правильно, то не имеет значения, как хорошо вы сделаете всё
остальное»
[Карл Вигерс, 2004]
Слайд 5Технология разработки ПО
Проблемы разработки требований
Слайд 6Технология разработки ПО
Основной закон:
Требования должны быть документированы
Слайд 7Технология разработки ПО
Уровни требований
Слайд 8Технология разработки ПО
Функциональные и нефункциональные требования
функциональные требования задают ЧТО система
должна делать
нефункциональные требования задают с соблюдением каких условий система должна
функционировать
Слайд 9Технология разработки ПО
Бизнес-требования
определяют высокоуровневые цели организации или клиента (потребителя) –
заказчика разрабатываемого программного обеспечения
Слайд 10Технология разработки ПО
Пользовательские требования
Описывают цели/задачи пользователей системы, которые должны
достигаться/выполняться пользователями при помощи создаваемой программной системы
Отвечают на вопросы: КТО
работает и ЧТО делает с системой (с помощью системы)
Слайд 11Технология разработки ПО
Формальные функциональные требования
Определяют функциональность (поведение) программной системы, которая
должна быть создана разработчиками для предоставления возможности выполнения пользователями своих
обязанностей в рамках бизнес-требований и в контексте пользовательских требований
Слайд 12Технология разработки ПО
Нефункциональные требования - 1
Бизнес-правила
включают или связаны с корпоративными
регламентами, политиками, стандартами, законодательными актами, алгоритмами вычислений и т.д.
Пример: «На
Курс не может быть зарегистрировано больше Студентов, чем указал Преподаватель»
Атрибуты качества
описывают дополнительные характеристики продукта
Пример: «Среднее время отклика системы должно составлять не более 2 секунд»
Слайд 13Технология разработки ПО
Внешние интерфейсы
Аспекты взаимодействия с другими системами, операционной средой,
а также пользовательский интерфейс
Ограничения
формулировки условий, модифицирующих требования или наборы требований,
сужая выбор возможных решений по их реализации
Пример: «Программа должна работать в системе с 512 КБ оперативной памяти»
Нефункциональные требования - 2
Слайд 14Технология разработки ПО
Примеры требований
Для формируемых вручную счетов система должна позволять
оператору вводить с консоли любой номер счета, проверяя при этом
уникальность вводимого номера
Время обучения работе с программой сотрудника с квалификацией опытный пользователь ПК не должно быть более 16 часов
Постановка единичного ордера должна занимать не более 40 миллисекунд
Слайд 15Технология разработки ПО
Характеристики хороших требований
Полнота
Корректность
Осуществимость
Необходимость
Однозначность
Проверяемость
Слайд 16Технология разработки ПО
Требования имеет смысл группировать в иерархическую структуру
Каждому требованию
должен быть назначен приоритет
Структура требований продукта
Слайд 17Технология разработки ПО
Спецификация требований
Спецификация требований к ПО это полное описание
поведения разрабатываемой системы. Она включает варианты использования, которые описывают взаимодействие
с пользователем. Так же спецификация содержит нефункциональные требования которые отражают ограничения дизайна или имплементации.
Спецификация требований к ПО содержит
Перечень функций и возможностей
Перечень ограничений
Нефункциональные требования
Слайд 18Технология разработки ПО
Структура спецификации
Стандарт IEEE 830-1998
1..Введение
1.1 Назначение
1.2 Область действия
1.3 Определения, акронимы и сокращения
1.4 Публикации
1.5 Краткий
обзор
2. Полное описание
2.1 Перспектива изделия
2.2 Функции изделия
2.3 Характеристики пользователя
2.4 Ограничения
2.5 Допущения и зависимости
3. Специфические требования
Слайд 19Технология разработки ПО
Фрагмент спецификации требований
1. Пользователь должен иметь возможность генерации
отчёта в формате html и сохранения его на файловую систему.
1.1.
Пользователь должен иметь возможность запуск генерации отчёта из пользовательского интерфейса клиентской системы.
1.2. Пользователь должен иметь возможность указать следующие параметры генерации отчёта.
1.2.1. ...
1.3. Пользователь должен иметь возможность указать выходной файл отчёта
1.3.1. Система должна выдавать сообщение если одноимённый файл уже существует.
1.3.2. …
Слайд 20Технология разработки ПО
Как писать хорошие требования
Пишите простыми словами
Используйте полные предложения
с правильной грамматикой, правописанием и пунктуацией
Используйте краткие и ясные короткие
предложения
Избегайте двусмысленных и субъективных терминов
Избегайте синонимов
Слайд 21Технология разработки ПО
Шаблоны требований
Функциональные требования
должен иметь возможность
возможности>
должна
Функциональные требования с ограничениями и условиями
должен иметь возможность <описание возможности>, находясь в <условия эксплуатации>
<Система> должна <описание возможности> в случае <описание условия>
Нефункциональные требования
<Система> должна обладать <описание характеристики>
Ограничения
<Система> должна соблюдать <описание ограничения>
Слайд 22Технология разработки ПО
Способы выявления требований
Интервьюирование и анкетирование
Мозговой штурм и отбор
идей
Обыгрывание ролей
Создание прототипов
Слайд 23Технология разработки ПО
Управление требованиями
Требования изменяются – такова жизнь
Все изменения должны
быть задокументированы и согласованы
План и сроки должны быть пересмотрены
Во все
артефакты, на которые влияют изменения требований, должны быть внесены соответствующие изменения
Слайд 24Технология разработки ПО
UML диаграммы вариантов использования
Слайд 25Технология разработки ПО
Сценарии вариантов использования
Пример: Сценарий генерации отчёта
1.Пользователь инициирует запуск
отчёта
2. Пользователь указывает параметры отчёта
3. Пользователь указывает файл отчёта
Слайд 26Технология разработки ПО
Что следует запомнить
Без хорошей проработки требований вся последующая
разработка может пойти насмарку
Функциональные требования описывают, что должна делать программная
система
Нефункциональные требования описывают характеристики и ограничения системы
Диаграммы вариантов использования моделируют пользовательские требования