Модели процесса разработки
Модели процесса разработки
Модели процесса разработки
Выбор модели разработки
Каскадная модель
Каскадная модель
Каскадная модель
Характеристика модели
Итеративные модели
Инкрементная модель
Инкрементная модель
Достоинство модели
Недостатки модели
Недостатки модели
Спиральная модель
Спиральная модель
Основные действия модели
Основные действия модели
Риски
Риски
Итерации и риски
Показатель риска
Управление рисками
Управление рисками
Список рисков по Боэму
Список рисков по Боэму
Характеристика модели
Характеристика модели
RUP-процесс разработки ПС
Этапы разработки
Этапы и итерации
Контрольные вехи
Этап начала проекта (Inception)
Ход работ для этапа Inception
Этап развития (Elaboration)
Ход работ для этапа Elaboration
Этап конструирования (Construction)
Ход работ для этапа Construction
Этап перехода (Transition)
Ход работ для этапа Transition
Рабочие потоки
Распределение объемов работ
Моделирование предметной области
Определение требований
Анализ и проектирование
Анализ и проектирование
Реализация
Тестирование
Развертывание (Deployment)
Структура типовой итерации
Артефакты
Зависимости между артефактами
V-модель
Схема V-модели
Особенности модели
Достоинства
Достоинства
Недостатки
Конец лекции

Прогностические модели процесса разработки. (Лекция 3)

1. Модели процесса разработки

Лекция 3
Модели процесса разработки
09.10.16
1

2. Модели процесса разработки

Наиболее интересной фазой жизненного
цикла ПО с точки зрения технологии
программирования является фаза
разработки
Особенности применяемых методов
разработки описываются с помощью
моделей процесса разработки ПО
Модели процесса разработки
09.10.16
2

3. Модели процесса разработки

Модель процесса разработки ПО
выделяет конкретные наборы видов
деятельности, артефактов, ролей и их
взаимосвязи, а также дает рекомендации
по организации процесса в целом
Модели процесса разработки
09.10.16
3

4. Выбор модели разработки

Реальный процесс разработки обычно
жестко не увязывается с какой-либо
одной моделью, хотя одна из них может
быть ведущей
Выбор модели определяется:
• объемом и сложностью проекта;
• количеством и качеством команды
разработчиков
• квалификацией заказчика, его способностью
обеспечить достаточно четкую постановку
задачи
Модели процесса разработки
09.10.16
4

5. Каскадная модель

Наиболее широко известной и
применяемой долгое время оставалась
так называемая каскадная или
водопадная (waterfall) модель жизненного
цикла
Впервые четко сформулирована в 1970
году Уильямом Ройсом (W.W.Royce) и
затем закреплена в стандартах
Министерства обороны США
Модели процесса разработки
09.10.16
5

6. Каскадная модель

Предполагает строго последовательное
поэтапное выполнение различных видов
деятельности с четким определением
границ между этапами
Набор документов, созданный на
предыдущем этапе, передается в
качестве входных данных для
следующего этапа
Модели процесса разработки
09.10.16
6

7. Каскадная модель

Выработка системных
требований
Выработка требований
к ПО
Анализ
Проектирование
Кодирование
Тестирование
Эксплуатация
Модели процесса разработки
09.10.16
7

8. Характеристика модели

Достоинства модели:
• упорядоченность процесса разработки
• возможность его строгого планирования во
времени
Недостатки модели:
• необходимость точной и полной
формулировки требований к ПС перед
началом разработки
• невозможность изменения решений,
принятых на предыдущих этапах
• результаты проекта становятся доступны
заказчику только по завершении работ
Модели процесса разработки
09.10.16
8

9. Итеративные модели

Итеративный подход – это выполнение
работ параллельно с непрерывным
анализом полученных результатов и
корректировкой предыдущих этапов
Проект при этом подходе в каждой фазе
развития проходит повторяющийся
цикл: Планирование — Реализация —
Проверка — Оценка
Модели процесса разработки
09.10.16
9

10. Инкрементная модель

Предусматривает дробление продукта на
относительно независимые
составляющие, которые
разрабатываются и вводятся в
эксплуатацию по отдельности
Модели процесса разработки
09.10.16
10

11. Инкрементная модель

1-й функциональный блок
Анализ
Поставка 1-го блока
Проектирование
Кодирование
2-й функциональный блок
Анализ
Поставка 2-го блока
Проектирование
Кодирование
3-й функциональный блок
Анализ
Тестирование
Тестирование
Поставка 3-го блока
Проектирование
Кодирование
Модели процесса разработки
Тестирование
09.10.16
11

12. Достоинство модели

Достоинством данной модели по
сравнению с каскадной является
возможность передать заказчику
работающий прототип системы до
полного завершения процесса
разработки
Модели процесса разработки
09.10.16
12

13. Недостатки модели

Деление на функциональные блоки в
целом замедляет процесс, так как
возникает необходимость обеспечения
их взаимодействия
Для многих решений этот метод
неприменим, поскольку из них нельзя
вычленить отдельные составляющие,
которые могут быть поставлены и
функционировать независимо
Модели процесса разработки
09.10.16
13

14. Недостатки модели

Существенно усложняется управление
проектом в связи с усложнением задач по
координированию работ над
отдельными составляющими системы
Увеличивается стоимость внесения
изменений в готовые компоненты,
которые уже установлены и работают у
заказчика
Модели процесса разработки
09.10.16
14

15. Спиральная модель

Предложена в 1988 г. Барри Боэмом
(Barry W. Boehm) и является
классическим примером реализации
эволюционной стратегии.
Модель определяет четыре действия:
планирование,
анализ рисков,
конструирование,
оценивание
Модели процесса разработки
09.10.16
15

16. Спиральная модель

Модели процесса разработки
09.10.16
16

17. Основные действия модели

Планирование заключается в
определении целей очередной итерации
процесса разработки, выборе вариантов
решения и оценки ограничений
Анализ рисков – анализ вариантов
решения и оценка связанных с ними
рисков, т.е. возможностей получения
неудовлетворительных результатов
Модели процесса разработки
09.10.16
17

18. Основные действия модели

Конструирование – это основное
действие, заключающееся в создании
следующей версии ПО
Оценивание – оценка заказчиком
качества очередной версии ПО, внесение
им предложений по модификации
продукта, корректировка требований
Модели процесса разработки
09.10.16
18

19. Риски

Отличительной особенностью
спиральной модели является
специальное внимание рискам
Риском называется возможность
получения неудовлетворительного
результата в том или ином виде
деятельности
Модели процесса разработки
09.10.16
19

20. Риски

При разработке ПО
неудовлетворительным результатом
может быть:
• превышение бюджета,
• низкая надежность продукта,
• неправильное функционирование и пр.

21. Итерации и риски

С каждой итерацией связан некоторые
начальные риски, которые уменьшаются
при успешном завершении итерации
Началу следующей итерации
предшествует пересмотр и новая оценка
рисков

22. Показатель риска

Для ранжирования рисков по степени
значимости используют величину
показатель риска RE (Risk Exposure)
RE=P*L,
где P – вероятность
неудовлетворительного результата, L –
потеря (в10 или 100-балльной шкале)
при получении неудовлетворительного
результата

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

Включает 6 действий:
• идентификация риска – выявление риска в
проекте;
• анализ риска – оценка вероятности и величины
потери;
• ранжирование рисков – упорядочение по
степени влияния;
• планирование управления рисками – подготовка
к работе с каждым риском;

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

• разрешение риска – устранение риска;
• наблюдение рисков – отслеживание динамики
изменения рисков, выполнение
корректирующих действий
Боэм формулирует десять наиболее
распространённых (по приоритетам)
рисков

25. Список рисков по Боэму

• дефицит специалистов;
• нереалистичные сроки и бюджет;
• реализация несоответствующей
функциональности;
• разработка неправильного пользовательского
интерфейса;
• «золотая сервировка», ненужная оптимизация и
оттачивание деталей;
• непрекращающийся поток изменений;
• нехватка информации о внешних компонентах;
Модели процесса разработки
09.10.16
25

26. Список рисков по Боэму

• недостатки в работах, выполняемых внешними
ресурсами;
• недостаточная производительность получаемой
системы;
• «разрыв» в квалификации специалистов разных
областей знаний
Большая часть этих рисков связана с
организационными и процессными
аспектами взаимодействия специалистов
в проектной команде
Модели процесса разработки
09.10.16
26

27. Характеристика модели

Достоинства спиральной модели:
• данная модель отображает процесс разработки
ПО в наиболее реальном виде;
• позволяет явно учитывать риски на каждом
витке эволюционного процесса и принимать
различные управленческие решения вплоть до
прекращения работ
Модели процесса разработки
09.10.16
27

28. Характеристика модели

Недостатки спиральной модели:
• повышенные требования к заказчику;
• трудности контроля и управления временем
разработки
Модели процесса разработки
09.10.16
28

29. RUP-процесс разработки ПС

RUP является развитием спиральной
модели и представляет процесс разработки
ПО в виде эволюционно-инкрементного
цикла
Эволюционная составляющая цикла
основывается на дополнении требований в
ходе работы
Инкрементная составляющая – на
планомерном приращении реализации
требований
29

30. Этапы разработки

RUP выделяет в процессе разработки 4
этапа:
• начало (Inception)
• развитие (Elaboration)
• конструирование (Construction)
• внедрение (Transition)
30

31. Этапы и итерации

В рамках каждого из этапов возможно
проведение нескольких итераций
Итерация – это полный цикл разработки,
имеющий своим результатом
промежуточный продукт
На каждой итерации промежуточный
продукт инкрементно усложняется,
постепенно превращаясь в конечную
систему
31

32. Контрольные вехи

Каждый этап и итерация завершаются
контрольной вехой
Контрольная веха – это проверка
состояния разработки с целью
определения степени достижения
ключевых целей

33. Этап начала проекта (Inception)

Основная цель этой этапа — достичь
компромисса между всеми
заинтересованными лицами
относительно задач проекта и
выделяемых на него ресурсов
Определяются основные цели проекта,
руководитель и бюджет, основные
средства выполнения — технологии,
инструменты, ключевые исполнители
33

34. Ход работ для этапа Inception

34

35. Этап развития (Elaboration)

Основная цель данного этапа — исходя
из основных требований разработать
стабильную базовую архитектуру
продукта
Эта архитектура в дальнейшем
используется как основа разработки
системы
35

36. Ход работ для этапа Elaboration

36

37. Этап конструирования (Construction)

Основная цель данного этапа —
детальное прояснение требований и
разработка системы, удовлетворяющей
им, на основе спроектированной ранее
архитектуры
В результате должна получиться система,
реализующая все выделенные варианты
использования
37

38. Ход работ для этапа Construction

38

39. Этап перехода (Transition)

Цель данного этапа — сделать систему
полностью доступной конечным
пользователям
Здесь происходит развертывание
системы в ее рабочей среде, бетатестирование, подгонка мелких деталей
под нужды пользователей.
39

40. Ход работ для этапа Transition

40

41. Рабочие потоки

Каждая итерация включает несколько
рабочих потоков:
• моделирование предметной области (Business
Modeling);
• определение требований (Requirements);
• анализ и проектирование (Analysis and Design);
• реализация (Implementation);
• тестирование (Test);
• развертывание (Deployment);

42. Распределение объемов работ

42

43. Моделирование предметной области

В результате моделирования предметной
области должна появиться ее модель в
виде набора диаграмм классов (объектов
предметной области) и деятельностей
(представляющих бизнес-операции и
бизнес-процессы)
Модель предметной области служит
основой модели проектирования

44. Определение требований

Задачи этого рабочего потока:
• понять, что должна делать система, и убедиться
во взаимопонимании по этому поводу между
заинтересованными лицами;
• определить границы системы;
• создать основу для планирования проекта и
оценок затрат ресурсов в нем.
Требования принято фиксировать в виде
модели вариантов использования

45. Анализ и проектирование

Задачи этого рабочего потока:
• разработка архитектуры системы на основе
требований
• убедиться, что данная архитектура может быть
основой работающей системы в контексте ее
будущего использования

46. Анализ и проектирование

В результате проектирования должна
появиться модель проектирования,
включающая:
• диаграммы классов системы,
• диаграммы ее компонентов,
• диаграммы взаимодействий между объектами в
ходе реализации вариантов использования,
• диаграммы состояний для отдельных объектов,
• диаграммы развертывания

47. Реализация

Задачи рабочего потока:
определить структуру исходного кода системы,
разработать код ее компонентов
протестировать компоненты,
интегрировать систему в работающее целое

48. Тестирование

Задачи рабочего потока Тестирование:
• поиск и описание дефектов системы
(проявления недостатков ее качества),
• оценка ее качества в целом,
• оценка степени выполнения гипотез, лежащих в
основе проектирования,
• оценка степени соответствия системы
требованиям

49. Развертывание (Deployment)

Задачи рабочего потока Развертывание:
• установка системы в ее рабочем окружении,
• оценка ее работоспособность на том месте, где
она должна будет работать

50. Структура типовой итерации

50

51. Артефакты

Каждый рабочий поток определяет
набор связанных с ним артефактов
Артефакты, вырабатываемые в ходе
проекта, могут быть представлены:
• в виде баз данных и таблиц с информацией
различного типа,
• разных видов документов,
• исходного кода и объектных модулей,
• моделей, состоящих из отдельных элементов
51

52. Зависимости между артефактами

52

53. V-модель

Концепция V-образной модели была
разработана Германией и США в конце
1980-х годов независимо друг от друга
Немецкая V-модель была разработана
аэрокосмической компанией IABG,
американская – Национальным советом
по системной инженерии и
предназначалась для спутниковых
систем
Модели процесса разработки
09.10.16
53

54. Схема V-модели

Модели процесса разработки
09.10.16
54

55. Особенности модели

V-Model делает упор на тестирование как
составную часть всех этапов разработки,
а также на разработку прототипов
конечного продукта
Основной принцип V-модели
заключается в том, что детализация
проекта возрастает при движении слева
направо, одновременно с течением
времени
Модели процесса разработки
09.10.16
55

56. Достоинства

Минимизация рисков
• V-модель делает проект более прозрачным и
повышает качество контроля проекта, что
позволяет выявлять отклонения в проекте и
риски на ранних стадиях
Повышение качества
• V-модель является стандартизованной моделью
разработки, что позволяет добиться от проекта
результатов желаемого качества
Модели процесса разработки
09.10.16
56

57. Достоинства

Уменьшение стоимости проекта
• Ресурсы на разработку, производство,
управление и поддержку могут быть заранее
просчитаны и проконтролированы.
Повышение качества коммуникации
между участниками проекта
• Универсальное описание всех элементов и
условий облегчает взаимопонимание всех
участников проекта
Модели процесса разработки
09.10.16
57

58. Недостатки

Модель не предусматривает работу с
параллельными событиями
В модель не входят действия,
направленные на анализ рисков
Результат разработки становится
понятным только при достижении низа
буквы V
Модели процесса разработки
09.10.16
58

59. Конец лекции

Модели процесса разработки
09.10.16
59
English     Русский Правила