Содержание
- До начала проекта: Запрос на предложение (Request for proposal), Конкурс, Предложение (Proposal), Договор
- Концепция системы (Vision)
- Роли в проекте: Заказчик, Аналитик, Разработчик, Тестировщик, Менеджер
- Требования: цель описания требований
- Виды требований: Пользовательские/Системные, Функциональные/Нефункциональные.
- Виды представления требований:
- Карточки: Feature/User Story в гибких (Agile) процессах
- UML: Диаграмма сценариев использования
- Документы: Детализированное описание Use Case
- UML: Activity диаграмма
- UML: Диаграмма состояний-переходов (State Chart)
Задание
- Выбрать предметную область для проекта. См. список вариантов.
Выберите наиболее интересную область, не обязательно из списка. Лучше всего, если она будет интересна лично вам, и среди ваших знакомых будет эксперт, который сможет играть роль заказчика - Разработать концепцию (Vision) проектируемой системы (документ на от половины страницы до двух страниц максимум).
Лучше всего это сделать со слов знакомого-заказчика, либо согласовать с ним - Составить словарь специальных терминов предметной области (не обязательно)
Чтобы любой разработчик, прочитав словарь, мог говорить с командой на одном языке - Нарисовать UML диаграммы сценариев использования (Use Cases) для всех ролей системы.
Детализация сценариев хотя бы части системы, должна доходить до уровня конкретных пунктов меню, кнопок и форм - Детализировать требования:
- Activity-диаграммы (для описания бизнес-процессов)
- Диаграммы состояний объектов предметной области
- другой способ описания или визуализации
Материалы к практическому занятию
Литература
- Карл Вигерс "Разработка требований к программному обеспечению" (ссылка)
- Типовые ошибки проектирования Use Cases http://www.cs.sjsu.edu/faculty/pearce/modules/lectures/ooa2/uc/antipatterns.htm