Концепция продукта

2,177 views

Published on

Курс "Технология программирования", лекция 3. Разработка концепции программного продукта.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,177
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Концепция продукта

  1. 1. Технология программирования Концепция продукта
  2. 2. Планирование проекта и требований?1) Определить цель проекта2) Определить, что мы НЕ делаем — границы проекта (scope)3) Кратко описать все остальное Документ: Концепция или Vision
  3. 3. Концепция
  4. 4. Концепция● Для кого?● Что им нужно?● Каков вид приложения?*● Какова главная функция продукта?● Какие существуют аналоги продукта?● В чем преимущество перед аналогами? * Интернет-сервис? Desktop приложение? Мобильное приложение? API?
  5. 5. Концепция● Для <кого-то>, которым нужно <что-то> наш <класс продукта> <название> будет делать <главную функцию>.● В отличие от <альтернатив>, наш продукт <лучше потому-то и потому-то>.
  6. 6. Концепция: пример Для студентов, которым нужно узнавать об изменениях в расписании, наш веб-сервис смобильным приложением будут предоставлятьактуальное расписание занятий на ближайшиедни, с указанием аудиторий и преподавателей. В отличие от форума, мобильное приложениебудет само получать обновленное расписание и оповещать студента об изменениях.
  7. 7. Концепция: примерДля кредитных менеджеров, которым нужнооценить благонадежность заемщика, наше клиент-серверное приложение будетавтоматически на основе анкетных данных выдавать скоринговую оценку заемщика. В отличие от базы данных на Access, нашеприложение будет лучше защищать данные,работать быстрее и анализировать больше параметров анкеты.
  8. 8. Формальным языком:● Заинтересованные лица● Цели заинтересованных лиц● Предварительная архитектура● Основные функции● Альтернативные решения● Ключевые преимущества
  9. 9. Корпоративное ПО: много заинтересованных лиц ● Руководство ● Пользователи ● Системные администраторы ● Смежные отделы ● Служба безопасности ● Маркетинг ● Юристы ● Служба кадров
  10. 10. Цели заинтересованных лиц могут конфликтовать
  11. 11. Оценки проекта● Оценка масштаба● Оценка сложности● Оценка рисков
  12. 12. Масштаб● Типы пользователей Сколько разных рабочих мест нужно разработать?● Концептуальная модель данных. Что есть в мире?● Диаграмма состояний. Как меняется мир?
  13. 13. Типы пользователей● Кто из заинтересованных лиц будет пользователями?● Какие у них цели?● Количество разных рабочих мест = количеству пользователей с разными целями
  14. 14. Модель данных● Глоссарий (словарь терминов) или● Онтология (понятия и их связи) или● Диаграмма классов Атрибутные модели vs фактологические
  15. 15. Онтология
  16. 16. UML● Unified Modeling Language● Промышленный стандарт● Графический язык● Объектно-ориентированный язык● Диаграммы: – Структуры – Деятельности – Взаимодействия
  17. 17. UML
  18. 18. Диаграмма состояний для основных объектов
  19. 19. Оценка сложности● Сложные данные и простые алгоритмы Понятно — что делать, но нужно учитывать много частных случаев (сложная диаграмма классов).● Простые данные и сложные алгоритмы Понятно — с чем работать, но непонятно - как.● Сложные данные и сложные алгоритмы = декомпозиция системы
  20. 20. Оценка трудоемкостиЧисло типов АРМ * число классов * число связей число состояний * (2 )= трудоемкость в попугаях
  21. 21. Оценка рисков● SWOT-анализ● Перечень уязвимостей● Перечень рисков● Диаграмма рисков● План по обработке рисков
  22. 22. Области риска● Команда● Инструмент● Сроки● Сложность/реализуемость● Внешние факторы
  23. 23. РискРиск = Ущерб * Вероятность

×