Продуктовая компания Постановка процесса разработки Автор: Кирилл Лебедев E-mail:  [email_address]
О себе Разработчик ПО Стаж 15 лет 30 завершённых проектов  > 20  выпущенных продуктов E-mail:  [email_address] Blog:  http://askofen.blogspot.com
Разработка продукта - сквозной процесс, который затрагивает: Маркетинг Дизайн Инженерию
Часть 1. Маркетинг и дизайн
Рынок Для какого рынка разрабатывается продукт? Россия СНГ Восточная Европа Западная Европа США и Канада Азия Южная Америка
Целевые группы Не возраст Общие проблемы Общие интересы Одинаковый контекст
Примеры целевых групп Антипример: Мужчины от 16 до 45 лет Примеры: Любители футбола Едут в общественном транспорте Постоянно теряют стилус от коммуникатора
Источники http://www.triz-chance.ru/   http://www.triz-ri.ru/
Расширение функциональности Сочетание функций Удобство использования Объём работы Размер команды
Типовые проблемы С какими проблемами сталкивается Клиент при работе с продуктами-аналогами? Как эти проблемы можно решить?
Система голосовых указаний для  GPS- навигатора "Через 200 метров поверните направо" 200 метров – это сколько? "На 2-ом перекрёстке поверните направо" Использование зрительных ориентиров Проблема: Решение: Модель: Обычное указание:
Модели потребления Согласование продукта с механизмом его использования Мультиплеер "Хочу поиграть с другом" Карьера " Хочу засесть за игру надолго" Play Now "Хочу поиграть сейчас" Игровой режим Желание
Визуальный ряд Среда и локации Персонаж Одежда Визуальные эффекты Камера
Музыка и звук Музыка Звуковые эффекты Голоса
Управление Можно ли описать игру нажатиями на кнопки джойстика?
Часть 2. Проектирование
Технологическое проектирование Как программа реализует запланированные возможности? Как программа работает изнутри?
Задачи Устранение латентности Равномерное распределение нагрузок Устранение сложной логики
Устранение латентности Вынесение длительных операций во вспомогательный поток
Пример - Игра При загрузке и сохранении теряется интерактивность Загрузка Игра Сохранение
Пример - Игра Выносим загрузку и сохранение во вспомогательный поток Вспомогательный поток Экран загрузки Игра Экран сохранения Загрузка Сохранение Главный поток
Устранение сложной логики Группируем не операции под условия, а условия по операции Да   Нет  Действие 3   Да   Да Действие 2     Да Действие 1 Условие 3 Условие 2 Условие 1  
Было Если  А Если  Б Действие 1 Если  В Действие 2 Иначе Если  Г Действие 3
Стало Если  А  и  Б Действие 1 Если  А  и  В Действие 2 Если   не -А  и  Г Действие 3
В виде таблицы Да Нет Действие 3 Да Да Действие 2 Да Да Действие 1 Г В Б А Действие
Компонентное проектирование Выявление обязанностей Делегирование их отдельным компонентам
Экстремальное правило 1 компонент – 1 обязанность
Принципы группировки похожесть операций; противоположность операций; операции являются смежными; проще реализовать
Функциональное моделирование Какие обязанности выполняет компонент? Какие функции нужны для выполнения этих обязанностей? Как компонент используется другими компонентами?
Пример функциональной модели F 7.16. Склеить соседние сегмент и кривую. F7.15.  Склеить соседние кривые. F7.14.  Склеить соседние сегменты. F 7.13. Разбить кривую на две кривых. F 7.12. Разбить сегмент на две стороны. F 7.11. Найти отсечение контура одной фигуры контуром другой фигуры. F 7.10. Создать общий контур для нескольких фигур. F 7.9. Изменить форму кривой (изогнуть кривую, сделать кривую выпуклой или вогнутой). F 7.8. Преобразовать сегмент в кривую Безье. F 7.7. Преобразовать прямоугольник в многоугольник. F 7.6. Преобразовать пятиугольник в звезду. F7.5.  Изменить угол сектора. F 7.4. Преобразовать эллипс/окружность в сектор. F7.3.  Изогнуть фигуру. F 7.2. Создать зеркальное отражение фигуры относительно горизонтальной оси. F 7.1. Создать зеркальное отражение фигуры относительно вертикальной оси. 7. Форма
Проектирование структуры Какие данные передаются между компонентами? Можно ли их структурировать? Какие структуры данных целесообразно использовать для реализации компонента?
Резюме: Марктеинг и Дизайн Целевая Группа Проблемы Модель Потребления Дизайн Визуальный ряд Музыка и Звук Управление
Резюме: Проектирование Дизайн Технологическая Модель Компонентная Модель Структурная Модель Функциональная Модель
Ссылки http:// askofen.blogspot.com/

KirillLebedev @ CodeCamp2011

  • 1.
    Продуктовая компания Постановкапроцесса разработки Автор: Кирилл Лебедев E-mail: [email_address]
  • 2.
    О себе РазработчикПО Стаж 15 лет 30 завершённых проектов > 20 выпущенных продуктов E-mail: [email_address] Blog: http://askofen.blogspot.com
  • 3.
    Разработка продукта -сквозной процесс, который затрагивает: Маркетинг Дизайн Инженерию
  • 4.
  • 5.
    Рынок Для какогорынка разрабатывается продукт? Россия СНГ Восточная Европа Западная Европа США и Канада Азия Южная Америка
  • 6.
    Целевые группы Невозраст Общие проблемы Общие интересы Одинаковый контекст
  • 7.
    Примеры целевых группАнтипример: Мужчины от 16 до 45 лет Примеры: Любители футбола Едут в общественном транспорте Постоянно теряют стилус от коммуникатора
  • 8.
  • 9.
    Расширение функциональности Сочетаниефункций Удобство использования Объём работы Размер команды
  • 10.
    Типовые проблемы Скакими проблемами сталкивается Клиент при работе с продуктами-аналогами? Как эти проблемы можно решить?
  • 11.
    Система голосовых указанийдля GPS- навигатора "Через 200 метров поверните направо" 200 метров – это сколько? "На 2-ом перекрёстке поверните направо" Использование зрительных ориентиров Проблема: Решение: Модель: Обычное указание:
  • 12.
    Модели потребления Согласованиепродукта с механизмом его использования Мультиплеер "Хочу поиграть с другом" Карьера " Хочу засесть за игру надолго" Play Now "Хочу поиграть сейчас" Игровой режим Желание
  • 13.
    Визуальный ряд Средаи локации Персонаж Одежда Визуальные эффекты Камера
  • 14.
    Музыка и звукМузыка Звуковые эффекты Голоса
  • 15.
    Управление Можно лиописать игру нажатиями на кнопки джойстика?
  • 16.
  • 17.
    Технологическое проектирование Какпрограмма реализует запланированные возможности? Как программа работает изнутри?
  • 18.
    Задачи Устранение латентностиРавномерное распределение нагрузок Устранение сложной логики
  • 19.
    Устранение латентности Вынесениедлительных операций во вспомогательный поток
  • 20.
    Пример - ИграПри загрузке и сохранении теряется интерактивность Загрузка Игра Сохранение
  • 21.
    Пример - ИграВыносим загрузку и сохранение во вспомогательный поток Вспомогательный поток Экран загрузки Игра Экран сохранения Загрузка Сохранение Главный поток
  • 22.
    Устранение сложной логикиГруппируем не операции под условия, а условия по операции Да   Нет  Действие 3   Да   Да Действие 2     Да Действие 1 Условие 3 Условие 2 Условие 1  
  • 23.
    Было Если А Если Б Действие 1 Если В Действие 2 Иначе Если Г Действие 3
  • 24.
    Стало Если А и Б Действие 1 Если А и В Действие 2 Если не -А и Г Действие 3
  • 25.
    В виде таблицыДа Нет Действие 3 Да Да Действие 2 Да Да Действие 1 Г В Б А Действие
  • 26.
    Компонентное проектирование Выявлениеобязанностей Делегирование их отдельным компонентам
  • 27.
    Экстремальное правило 1компонент – 1 обязанность
  • 28.
    Принципы группировки похожестьопераций; противоположность операций; операции являются смежными; проще реализовать
  • 29.
    Функциональное моделирование Какиеобязанности выполняет компонент? Какие функции нужны для выполнения этих обязанностей? Как компонент используется другими компонентами?
  • 30.
    Пример функциональной моделиF 7.16. Склеить соседние сегмент и кривую. F7.15. Склеить соседние кривые. F7.14. Склеить соседние сегменты. F 7.13. Разбить кривую на две кривых. F 7.12. Разбить сегмент на две стороны. F 7.11. Найти отсечение контура одной фигуры контуром другой фигуры. F 7.10. Создать общий контур для нескольких фигур. F 7.9. Изменить форму кривой (изогнуть кривую, сделать кривую выпуклой или вогнутой). F 7.8. Преобразовать сегмент в кривую Безье. F 7.7. Преобразовать прямоугольник в многоугольник. F 7.6. Преобразовать пятиугольник в звезду. F7.5. Изменить угол сектора. F 7.4. Преобразовать эллипс/окружность в сектор. F7.3. Изогнуть фигуру. F 7.2. Создать зеркальное отражение фигуры относительно горизонтальной оси. F 7.1. Создать зеркальное отражение фигуры относительно вертикальной оси. 7. Форма
  • 31.
    Проектирование структуры Какиеданные передаются между компонентами? Можно ли их структурировать? Какие структуры данных целесообразно использовать для реализации компонента?
  • 32.
    Резюме: Марктеинг иДизайн Целевая Группа Проблемы Модель Потребления Дизайн Визуальный ряд Музыка и Звук Управление
  • 33.
    Резюме: Проектирование ДизайнТехнологическая Модель Компонентная Модель Структурная Модель Функциональная Модель
  • 34.