Презентация к встрече аналитиков Петербурга 8 мая 2014 года. Формирование структуры требований.
Это не обучающий материал, и не претендует на эту роль. Это памятка для учавствовавших во встрече о чем шла речь.
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)
Формирование структуры требований
1. Это не обучающий материал и не претендует на эту
роль. Это материал для обсуждения на личной
встрече с коллегами
Структурирование требований
Анна Абрамова
E-mail: anna@sergeevna.org
Skype: abramova_anna
2. О себе
• Абрамова Анна
• Образование: СПбГУ, ПМ-ПУ
• С 2002 года в ИТ
• С 2008 года в роли аналитика
• Работа в заказных и внутренних проектах, продуктовой
разработке
• 5 лет в роли разработчика учебных курсов и
преподавателя СПбГУ и ИТМО
• Разработала свой курс по системному анализу в ИТ для
начинающих аналитиков
5. По объектам: функциональные
блоки
• Заказ
– Принять заказ
– Просмотреть заказ
– Изменить состав заказа
– Изменить адрес доставки
– Отменить заказ
– Просмотреть список заказов
• Клиент
– Зарегистрировать клиента
– Просмотреть данные клиента
– Изменить личные данные
– Изменить контактные данные
– Удалить клиента
– Просмотреть список клиентов
7. По ролям: Схема ВИ
Клиент
Менеджер
Сделать заказ
Найти продукт
Отправить заказ
Зарегистрировать заказ
Найти клиента
Оформить доставку
Зарегистрировать клиента
<<включить>>
<<включить>>
<<расширить>>
<<расширить>>
<<включить>>
<<включить>>
8. Иерархия уровней
• Цели пользователей (в виде ВИ)
– Цели Клиента
• Сделать заказ (ВИ)
– Цели Менеджера
• Принять заказ (ВИ)
• Требования пользователей
– Требования клиента
• Найти дешевые продукты
• Найти новинки
• Отправить заказ
• Зарегистрироваться
– Требования менеджера
• Найти клиента по номеру телефона
• Найти клиента по номеру дисконтной карты
• Найти клиента по фамилии
• Зарегистрировать клиента
• Принять заказ
• Оформить доставку
• Функциональные требования по объектам
– Функциональные блоки
9. Структура требований
пользователей
По ролям
• Требования Клиента
– Найти дешевые продукты
– Найти новинки
– Отправить заказ
– Зарегистрироваться
• Требования Менеджера
– Найти клиента по номеру телефона
– Найти клиента по номеру
дисконтной карты
– Найти клиента по фамилии
– Зарегистрировать клиента
– Принять заказ
– Оформить доставку
По объектам
• Заказ
– Принять заказ
– Отправить заказ
• Продукт
– Найти дешевые продукты
– Найти новинки
• Доставка
– Оформить доставку
• Клиент
– Найти клиента по номеру телефона
– Найти клиента по номеру
дисконтной карты
– Найти клиента по фамилии
– Зарегистрировать клиента
10. Функциональные блоки+
• Заказ
– Принять заказ
– Отправить заказ
– Просмотреть заказ
– Изменить состав заказа
– Изменить адрес доставки
– Отменить заказ
– Просмотреть список заказов
• Клиент
– Зарегистрировать клиента
– Просмотреть данные клиента
– Изменить личные данные
– Изменить контактные данные
– Удалить клиента
– Просмотреть список клиентов
– Найти клиента
• Найти клиента по номеру телефона
• Найти клиента по номеру дисконтной
карты
• Найти клиента по фамилии
• Продукт
– Найти продукт
• Найти продукт по цене
• Найти продукт по дате создания
– CRUDL по продукту
• Доставка
– Оформить доставку
– CRUDL по доставке
12. Связь между уровнями требований
Цель пользователя
Требование
пользователя
1Предшественник
1..nПоследователь
Требование
пользователя
Функциональное
системное
требование
*Предшественник
1..nПоследователь
13. Разделение основных
и служебных функций
• Требования основных (бизнес-) и служебных
пользователей (администраторы системы)
• Повторяющиеся во многих блоках служебные функции
(поиск, печать)
• Стандартизованные функции
– Заданные отраслевыми стандартами
– Заданные внутренними стандартами
15. Функциональные области: иерархия
• Функциональная область N
– Цели пользователей
• Роль 1
– Цель пользователя 1
– …
– Цель пользователя N
• Роль N
– Цель пользователя 1
– …
– Цель пользователя N
– Требования пользователей
• …
– Функциональные системные требования
• Функциональный блок 1
• …
• Функциональный блок N
16. Функциональные области: пример
иерархии
• Управление заказами
– Цели пользователей
• Цели клиента
– Сделать заказ
• Цели менеджера
– Принять заказ
– Требования пользователей
• Требования клиента
– Найти дешевые продукты
– Найти новинки
– Отправить заказ
• Требования менеджера
– Найти клиента по номеру телефона
– Найти клиента по номеру дисконтной карты
– Найти клиента по фамилии
– Принять заказ
– Оформить доставку
– Функциональные системные требования
• Заказ
– …
– Продукт
• Найти продукт
– Найти продукт по цене
– Найти продукт по дате создания
• CRUDL по продукту
– Доставка
• Оформить доставку
• CRUDL по доставке
• Управление клиентами
– Цели пользователей
• Цели менеджера
– Зарегистрировать клиента
– Требования пользователей
• Требования менеджера
– Зарегистрировать клиента
– Функциональные системные требования
• Клиент
– Зарегистрировать клиента
– Просмотреть данные клиента
– Изменить личные данные
– Изменить контактные данные
– Удалить клиента
– Просмотреть список клиентов
– Найти клиента
» Найти клиента по номеру телефона
» Найти клиента по номеру
дисконтной карты
» Найти клиента по фамилии
17. Функциональные области:
дополнительные области
• Поиск пациентов
– Цели пользователей
• …
– Требования пользователей
• Требования менеджера
– Найти клиента по номеру телефона
– Найти клиента по номеру дисконтной карты
– Найти клиента по фамилии
– Функциональные системные требования
• Найти клиента
– Найти клиента по номеру телефона
– Найти клиента по номеру дисконтной карты
– Найти клиента по фамилии
18. Бизнес- и нефункциональные
требования
• Бизнес-требования
– Бизнес-цели
– Бизнес-задачи
– Бизнес-правила
• Функциональные требования
– …
• Системные нефункциональные требования
– Требования к удобству использования (эргономика)
– Требования к архитектуре
– Внешние интерфейсы
– Производительность
– Масштабируемость
– Надежность/Устойчивость
– …
19. Документ описания структуры
• Введение
• Структура требований
• Связи требований (трессировка)
• Реализация требований в СУТ
• Замечания и предложения
20. Согласование структуры требований
• Ведущий разработчик
– Где что искать то, что мне нужно?
• Ведущий тестировщик
– В каком порядке тестировать?
– Какие требования тестировать, какие нет
• Руководитель проекта
• Другие аналитики
– Как связаны требования?
– Что изменилось в требованиях?
• Специалист по автоматизации
– Наша СУТ так работать не может!
21. Продолжение истории: управление
требованиями
• Какие требования реализованы, какие нет.
• Что делать при изменении требований?
• Как передавать на разработку и в тестирование?
• Как происходит согласование требований?
• Достаточный уровень детализации требований