software engineering bootcamp - meeting 2

26
Yury Chernushenko СБОР ТРЕБОВАНИЙ Как определить что должно быть разработано?

Upload: yury-chernushenko

Post on 13-Jan-2017

436 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

СБОР ТРЕБОВАНИЙКак определить что должно быть разработано?

Page 2: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ЧТО ТАКОЕ ТРЕБОВАНИЯ

2

Требования - это (IEEE):$1. Условия или возможности необходимые пользователю

для реализации задачи$2. Условия или возможности, которые должны быть

соблюдены или выполнены в соответствии с контрактом, спецификацией, стандартом или другим документом.$

$Типы требований:$

•Описание контекста$•Функциональные требования$•Качественные требования$•Ограничения (технические и бизнес)$•Основные риски

Предметная область

Область ИТ

Спецификации

Page 3: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ПОЧЕМУ ЭТО ВАЖНО

3

0

25

50

75

100

Требования Дизайн Разработка Поддержка

Мно

жит

ель

Повторяйте здесь

Page 4: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

КОГДА СОБИРАТЬ ТРЕБОВАНИЯ

4

Сбор требований Анализ Дизайн

Тебования, желания, идеи клиента

Архитектура, спецификация требований

Дизайн, технические решения и стратегии

Page 5: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

В ЧЕМ СЛОЖНОСТЬ - 1

5

Проблемы коммуникаций$• Косноязычие клиентов и инженеров в следствии отсутствия общей области деятельности$

• Специфическая терминология$

• Скрытые предположения$• Необъективное отношение

(особено с техническими клиентами)$

• Организационные барьеры и логистика

Page 6: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

В ЧЕМ СЛОЖНОСТЬ - 2

6

Примеры проблем:$• Требования изменяются по мере того как клиенты вникают в проблему$

• Интеграция с бизнесом может быть не явным требованием$

• Система динамическая, изменяющаяся, состоит из внешних неподконтрольных сервисов

Page 7: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ТЕХНИКИ СБОРА ТРЕБОВАНИЙ

7

• Наблюдение - как работают пользователи$• Логирование - пользователи записывают свои действия$

• Попробовать самому - выработать знание самому$• Моделирование/прототипирование - создать суррогатную систему ;

• Ролевое симулирование - предположить роли в вымышленном окружении$

• Импровизация и идеализация - подумать об идеальных и экстремальных ситуациях

Page 8: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ

8

Примеры нефункциональных требований:$• Доступность$• Надежность$• Производительность$• Безопасность$• Масштабируемость$• Удобство использования$• Расширяемость$• Изменяемость

Page 9: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ЧТО ПОЧИТАТЬ

9

Page 10: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ОПИСАНИЕ КОНТЕКСТА

10

Page 11: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ПЕРСОНЫ

11

Семен Слепаков Менеджер

$Семен Сергеевич менеджер среднего звена. Женат, имеет двоих детей. Работает в офисе. Обычно отдыхает с друзьями в конце рабочей недели, проводя время в баре. Ответственно выходит на работу в понедельник. В свободное время увлекается игрой на гитаре. В людях ценит юмор и легкое отношение к жизни.

Page 12: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ДИАГРАММА ЦЕЛЕЙ - 1

12

Что?Как?

Что? Что? Что?

Как?Как?

… ……

Page 13: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ДИАГРАММА ЦЕЛЕЙ - 2

13

Page 14: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ДИАГРАММА ЦЕЛЕЙ - 2

14

Page 15: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

UML ДИАГРАММЫ

15

Page 16: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ДИАГРАММА SWIM LANE - 1

16

Page 17: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ДИАГРАММА SWIM LANE - 2

17

Page 18: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ЧТО ПОЧИТАТЬ

18

Page 19: Software Engineering Bootcamp - Meeting 2

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

Page 20: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ПРОТОТИПЫ - 1

20

http://www.youtube.com/watch?v=_g4GGtJ8NCY

Page 21: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ПРОТОТИПЫ - 2

21

Page 22: Software Engineering Bootcamp - Meeting 2

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

Page 23: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ИНСТРУМЕНТЫ

Microsoft Visio - основные диаграммы

23

Gliffy - онлайн UML диаграммы

XMind - ментальные карты

Balsamiq - прототипирование интерфейсов

Page 24: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

КОГО ПОСЛУШАТЬ

24

Sam Altman++ YCombinator

$How to Start a Startup

startupclass.samaltman.com $

Четверг, 19:00 IT Парк

Page 25: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko

ЧТО ДАЛЬШЕ

Архитектура и дизайн

Управление качеством

Сбор и определение требований

Планирование и контроль

Управление рисками

25

Процессы

Page 26: Software Engineering Bootcamp - Meeting 2

Yury Chernushenko 26