software engineering bootcamp - meeting 2
TRANSCRIPT
Yury Chernushenko
СБОР ТРЕБОВАНИЙКак определить что должно быть разработано?
Yury Chernushenko
ЧТО ТАКОЕ ТРЕБОВАНИЯ
2
Требования - это (IEEE):$1. Условия или возможности необходимые пользователю
для реализации задачи$2. Условия или возможности, которые должны быть
соблюдены или выполнены в соответствии с контрактом, спецификацией, стандартом или другим документом.$
$Типы требований:$
•Описание контекста$•Функциональные требования$•Качественные требования$•Ограничения (технические и бизнес)$•Основные риски
Предметная область
Область ИТ
Спецификации
Yury Chernushenko
ПОЧЕМУ ЭТО ВАЖНО
3
0
25
50
75
100
Требования Дизайн Разработка Поддержка
Мно
жит
ель
Повторяйте здесь
Yury Chernushenko
КОГДА СОБИРАТЬ ТРЕБОВАНИЯ
4
Сбор требований Анализ Дизайн
Тебования, желания, идеи клиента
Архитектура, спецификация требований
Дизайн, технические решения и стратегии
Yury Chernushenko
В ЧЕМ СЛОЖНОСТЬ - 1
5
Проблемы коммуникаций$• Косноязычие клиентов и инженеров в следствии отсутствия общей области деятельности$
• Специфическая терминология$
• Скрытые предположения$• Необъективное отношение
(особено с техническими клиентами)$
• Организационные барьеры и логистика
Yury Chernushenko
В ЧЕМ СЛОЖНОСТЬ - 2
6
Примеры проблем:$• Требования изменяются по мере того как клиенты вникают в проблему$
• Интеграция с бизнесом может быть не явным требованием$
• Система динамическая, изменяющаяся, состоит из внешних неподконтрольных сервисов
Yury Chernushenko
ТЕХНИКИ СБОРА ТРЕБОВАНИЙ
7
• Наблюдение - как работают пользователи$• Логирование - пользователи записывают свои действия$
• Попробовать самому - выработать знание самому$• Моделирование/прототипирование - создать суррогатную систему ;
• Ролевое симулирование - предположить роли в вымышленном окружении$
• Импровизация и идеализация - подумать об идеальных и экстремальных ситуациях
Yury Chernushenko
НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ
8
Примеры нефункциональных требований:$• Доступность$• Надежность$• Производительность$• Безопасность$• Масштабируемость$• Удобство использования$• Расширяемость$• Изменяемость
Yury Chernushenko
ЧТО ПОЧИТАТЬ
9
Yury Chernushenko
ОПИСАНИЕ КОНТЕКСТА
10
Yury Chernushenko
ПЕРСОНЫ
11
Семен Слепаков Менеджер
$Семен Сергеевич менеджер среднего звена. Женат, имеет двоих детей. Работает в офисе. Обычно отдыхает с друзьями в конце рабочей недели, проводя время в баре. Ответственно выходит на работу в понедельник. В свободное время увлекается игрой на гитаре. В людях ценит юмор и легкое отношение к жизни.
Yury Chernushenko
ДИАГРАММА ЦЕЛЕЙ - 1
12
Что?Как?
Что? Что? Что?
Как?Как?
… ……
Yury Chernushenko
ДИАГРАММА ЦЕЛЕЙ - 2
13
Yury Chernushenko
ДИАГРАММА ЦЕЛЕЙ - 2
14
Yury Chernushenko
UML ДИАГРАММЫ
15
Yury Chernushenko
ДИАГРАММА SWIM LANE - 1
16
Yury Chernushenko
ДИАГРАММА SWIM LANE - 2
17
Yury Chernushenko
ЧТО ПОЧИТАТЬ
18
Yury Chernushenko
ИНТЕРФЕЙСЫ
19
Xerox Star 1981
Apple Lisa 1983
Macintosh 1984
Windows 1985
NeXT step 1989
Win 3.0 1989
Mac OS 8 1997
Win XP 2001
Mac OS X 2001
iOS 2007
OS X Lion 2011
Yury Chernushenko
ПРОТОТИПЫ - 1
20
http://www.youtube.com/watch?v=_g4GGtJ8NCY
Yury Chernushenko
ПРОТОТИПЫ - 2
21
Yury Chernushenko
ЧТО ПОЧИТАТЬ
22
Don Norman Apple
User-centered design $
«The Design of Everyday Things» « Emotional Design»
$$
udacity.com Intro to the Design of Everyday Things
Yury Chernushenko
ИНСТРУМЕНТЫ
Microsoft Visio - основные диаграммы
23
Gliffy - онлайн UML диаграммы
XMind - ментальные карты
Balsamiq - прототипирование интерфейсов
Yury Chernushenko
КОГО ПОСЛУШАТЬ
24
Sam Altman++ YCombinator
$How to Start a Startup
startupclass.samaltman.com $
Четверг, 19:00 IT Парк
Yury Chernushenko
ЧТО ДАЛЬШЕ
Архитектура и дизайн
Управление качеством
Сбор и определение требований
Планирование и контроль
Управление рисками
25
Процессы
Yury Chernushenko 26