Технология разработки ПО

Содержание

Слайд 2

Технологический подход Конкретная технология (технологический подход) содержит в себе определённый набор

Технологический подход

Конкретная технология (технологический подход) содержит в себе определённый набор процессов,

а также используемых в них знаний, методов и средств.
В узком смысле технология представляет собой определённый технологический подход. Технологии опираются на понятие жизненного цикла.
Слайд 3

Жизненный цикл программного обеспечения (ЖЦ ПО) – весь период его разработки

Жизненный цикл программного обеспечения (ЖЦ ПО)

– весь период его разработки

и эксплуатации, начиная с момента возникновения замысла (идеи) и заканчивая прекращением всех видов его использования.
В общем случае ЖЦ определяется моделью и описывается в форме технологии разработки – технологического подхода.
Модель ЖЦ – структура, определяющая последовательность выполнения процессов и их взаимосвязь на протяжении ЖЦ. Упоминание ЖЦ обычно подразумевает указание конкретной модели ЖЦ.
Слайд 4

Технология разработки ПО Технология разработки ПО (технологический подход) – это определённая

Технология разработки ПО

Технология разработки ПО (технологический подход) – это определённая

совокупность процессов, включающих их детальное содержание и распределение по стадиям, а также ролевую ответственность участников проекта на всех стадиях выбранной модели ЖЦ ПО.
Технология часто определяет и саму модель. Обычно она основывается на методиках выбранной методологии, а также рекомендует практики, что позволяет максимально эффективно воспользоваться этой технологией и её моделью ЖЦ.
Технологию удобно характеризовать в двух измерениях – вертикальном (процессы) и горизонтальном (стадии).
Слайд 5

Действие Связующим понятием между процессами и стадиями является «действие». Действие (тж.

Действие

Связующим понятием между процессами и стадиями является «действие».
Действие (тж. работа,

вид деятельности) – часть деятельности по проекту, выполняемая отдельным исполнителем или группой исполнителей.
Фактически процессы и стадии представляют собой определённые наборы действий: по признаку преобразования данных действия объединяются в процессы, а повременному признаку и/или получаемому результату – в стадии.
Слайд 6

Процесс Процесс – совокупность взаимосвязанных действий проекта, преобразующих некоторые входные данные

Процесс

Процесс – совокупность взаимосвязанных действий проекта, преобразующих некоторые входные данные в

выходные.
Взаимосвязь действий заключается в их последовательности, завершённой с точки зрения содержания, временной и логической очерёдности. Процессы состоят из набора действий, а каждое действие – из набора задач. Дальнейшая детализация приводит к рассмотрению отдельных операций. Задача (тж. задание) – планируемый элемент действия: задача определяется/ в плане проекта и её могут быть назначены ресурсы для выполнения.
Таким образом, иерархия понятий, связанных с процессом, выглядит следующим образом:
Процессы → Действия → Задачи → Операции.
Слайд 7

Дисциплина В некоторых подходах вместо понятия «процесс» используют понятие «дисциплина». Дисциплина

Дисциплина

В некоторых подходах вместо понятия «процесс» используют понятие «дисциплина».
Дисциплина –

процесс, рассматриваемый вместе с соответствующими ему артефактами и ролями.
С точки зрения управления дисциплина представляет собой поток работ (букв. рабочий поток), связанный с рабочим продуктом – артефактом, производимым участником в некоторой заданной роли.
Кроме того, в ряде работ вводится также понятие «процедура».
Процедура – пошаговое описание направления задач для выполнения и завершения конкретного действия.
В этом случае описание процесса представляет собой документированное определение действий, формализованных в виде процедур.
Слайд 8

Стадия Стадия – группа действий проекта, ограниченная некоторыми временными рамками и

Стадия

Стадия – группа действий проекта, ограниченная некоторыми временными рамками и часто

заканчивающаяся выпуском произведённого результата, определяемого заданными требованиями.
Стадии выделяются исходя из соображений разумного и рационального управления проектом.
Стадии часто состоят из этапов (тж. шаг), которые обычно имеют итерационный характер и поэтому представляются в виде итераций.
В ряде подходов стадии объединяют в более крупные временные рамки – фазы, в этом случае сами стадии имеют итерационный характер.
Таким образом, иерархия понятий, связанных со стадией, выглядит следующим образом:
Фазы → Стадии → Этапы.
Слайд 9

Получаем следующее описание измерений технологии Вертикальное измерение отражает статические аспекты процессов

Получаем следующее описание измерений технологии

Вертикальное измерение отражает статические аспекты процессов и

оперирует такими понятиями, как процессы, действия, задачи и операции.
Горизонтальное измерение представляет время, отражает динамические аспекты процессов и оперирует такими понятиями, как фазы, стадии и этапы.
Слайд 10

Методика и практика Методика (букв. техника) – совокупность конкретизированных методов разработки

Методика и практика

Методика (букв. техника) – совокупность конкретизированных методов разработки в

рамках заданной методологии, применяемая в одном или нескольких соответствующих этой совокупности процессах ЖЦ.
Практика – это определённая рекомендация по выполнению действий, для которых результаты проверяемы, но не передаваемы как материал для работы других процессов. Последовательность практик и последовательность действий внутри практики не задана.
Практики не привязаны к проекту (при этом говорят, что у них нет «экземпляра»).
Таким образом, технология определяется спецификой комбинации процессов и стадий, ориентированной на разные классы ПО и особенности участников проекта и дополненной методиками и практиками.
Слайд 11

Управление разработкой Управление разработкой заключается в организации проекта с учётом заданных

Управление разработкой

Управление разработкой заключается в организации проекта с учётом заданных

ограничений.
Система ограничений определяется совокупностью приоритетов и должна учитывать требования заинтересованных лиц.
К основным ограничениям относят:
содержание (проекта),
время (выполнения),
стоимость (проекта).
Следует отметить и следующие ограничения:
ресурсы (людские и финансовые),
качество (приемлемое для проекта),
эффективность (проекта).
В результате при учёте ограничений получается некоторый многоугольник или многогранник ограничений.
На практике обычно 3 ограничения оказываются фиксированными. При этом говорят о треугольнике ограничений.
Слайд 12

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

Проблема управления

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

сочетанием методик и практик, а также с уровнем формализации разработки, позволяет урегулировать треугольник ограничений.
Поэтому проблема управления заключается в поиске баланса в рамках системы ограничений проекта.
Слайд 13

Эффективное управление разработкой ПО Эффективное управление разработкой ПО требует определённых формализаций

Эффективное управление разработкой ПО

Эффективное управление разработкой ПО требует определённых формализаций

выполняемых работ и их результатов. Произведённый результат – определённый реальный результат, произведённый проектом.
Различают следующие произведённые результаты:
внутренний – для использования проектной командой,
и внешний – для использования другими заинтересованными лицами.
Слайд 14

Артефакт Формализацией произведённого результата является некоторый артефакт. Примеры: модели и документы

Артефакт

Формализацией произведённого результата является некоторый артефакт.
Примеры: модели и документы (планы,

спецификации, диаграммы, код и т.п.).
Артефакт – формальный произведённый результат, создаваемый, изменяемый или используемый в нём при выполнении проекта.
Артефакт определяет область ответственности: за его создание отвечают определённые исполнители или их группы.
В рамках отдельной задачи (и таймбокса) таким результатом является рабочий продукт, но в ряде подходов это синоним артефакта.
Слайд 15

Базовая линия Для формализации внесения изменений в произведённый результат используется понятие

Базовая линия

Для формализации внесения изменений в произведённый результат используется понятие

«базовая линия».
Базовая линия – официально принятый вариант произведённого результата, обозначенный и зафиксированный в конкретный момент времени ЖЦ. Изменения, вносимые в базовую линию, должны быть предварительно утверждены, т.е. должны пройти через специальное формализованное действие. Для проекта в целом базовая линия обычно переводится как базовый план – исходный план проекта с утверждёнными изменениями.
Для анализа проекта используются контрольные точки и вехи.
Контрольная точка – событие в ЖЦ для проверки выполненной и оценки оставшейся работы по проекту.
Моментами времени для контрольных точек часто выступают границы стадий.
Веха – событие ЖЦ для обозначения завершения произведённого результата или их набора. Вехи часто используются в качестве контрольных точек.
Слайд 16

Итерация Вследствие итерационного выполнения работ получаемые результаты постепенно улучшаются до целевых

Итерация

Вследствие итерационного выполнения работ получаемые результаты постепенно улучшаются до целевых

результатов, диктуемых заданными требованиями, которые также могут изменяться.
Итерация – ограниченная во времени повторяемая часть проекта. Итерацией может выступать весь цикл разработки или его часть, что определяется их длительностью и моделью ЖЦ. В этом случае итерация цикла разработки называется макроитерацией или просто циклом, итерация стадии – просто итерацией, а итерация этапа – микроитерацией.
Для управляемого выполнения отдельных задач используются таймбоксы.
Таймбокс (букв. временной ящик) – небольшой промежуток времени для выполнения конкретной задачи и произведения её результатов.
Таймбокс характеризуется жёстко заданными временными рамками. Рамки нужно соблюсти, даже если придётся выдать не вполне завершённые результаты. Иначе задача считается проваленной и приходится или отказаться от неё, или запланировать её повторно.
Слайд 17

Таким образом, описание измерений технологии корректируется следующим образом: Вертикальное измерение оперирует

Таким образом, описание измерений технологии корректируется следующим образом:

Вертикальное измерение оперирует

также такими понятиями, как:
произведённые результаты (артефакты, рабочие продукты
и исполнители (роли и ответственности).
Горизонтальное измерение оперирует также такими понятиями, как:
контрольные точки и вехи,
итерации
таймбоксы.
Однако эти понятия можно рассматривать и как характеристику нового, третьего измерения. Это измерение оказывается связанным с формализацией, необходимой для управления проектом.
Слайд 18

Существует два основных набора технологических процессов. Классический набор – совокупность основных

Существует два основных набора технологических процессов.

Классический набор – совокупность основных

процессов, сложившихся исторически в результате практического опыта разработки ПО.
Классический набор включает 9 процессов:
1. Исследование;
2. Управление;
3. Анализ;
4. Проектирование;
5. Кодирование;
6. Тестирование;
7. Ввод в действие;
8. Сопровождение;
9. Снятие с эксплуатации.
Процессы классического набора фактически являются подмножеством стандартного, выступая там как процессы или действия процессов.
Стандартный набор – совокупность процессов из ISO/IEC 12207:1999 «Информационная технология – Процессы жизненного цикла ПО».
Стандартный набор включает 3 группы процессов:
основные,
вспомогательные,
организационные процессы.
Слайд 19

Существует два основных вида формирования технологических стадий Попроцессное формирование стадий –

Существует два основных вида формирования технологических стадий

Попроцессное формирование стадий – выделение

стадий, отражающих названия процессов (или отдельных действий), большая часть времени которых проходит в данной стадии.
Пофазное формирование стадий – объединение стадий в фазы, отражающие крупные временные промежутки.
Слайд 20

Попроцессное формирование стадий Попроцессное формирование стадий обычно используют для классических процессов

Попроцессное формирование стадий

Попроцессное формирование стадий обычно используют для классических процессов

(или их под- или надмножества).
В подходах с этой классификацией обычно выделяют
9 стадий:
1. Исследование идеи;
2. Планирование;
3. Анализ требований;
4. Проектирование;
5. Кодирование;
6. Тестирование и отладка;
7. Ввод в действие;
8. Эксплуатация и сопровождение;
9. Снятие с эксплуатации.
Слайд 21

Пофазное формирование стадий Пофазное формирование стадий обычно используют для стандартных процессов

Пофазное формирование стадий

Пофазное формирование стадий обычно используют для стандартных процессов

(или их под- или надмножества).
В большинстве подходов с этой классификацией выделяют 4 основные фазы:
1. Начало;
2. Середина;
3. Кульминация;
4. Переход.
В ряде подходов выделяют 2 дополнительные фазы:
5. Работа;
6. Окончание.
Слайд 22

Характеристики выполняемых проектов Классификация подходов тесно связана с характеристиками выполняемых проектов.

Характеристики выполняемых проектов

Классификация подходов тесно связана с характеристиками выполняемых проектов.
По

каждому признаку классификации проектов можно выделить множество проектов, для которых будут указаны только граничные значения.
По масштабу, определяющему количество исполнителей и протяжённость (время выполнения) проекта, выделяют 5 категорий проектов (табл.5.1).
Слайд 23

5 категорий проектов

5 категорий проектов