Слайд 1
Лекция 8
Технология разработки ПО (продолжение)
Слайд 2Стандарт ISO/IEC 12207
Одним из фундаментальных взглядов на ЖЦ является стандарт
процессов ЖЦ ISO/IEC 12207:1995 «Information Technology – Software Life Cycle
Processes» («Информационная технология – Процессы жизненного цикла ПО»).
Стандарт определяет ЖЦ как структуру дробления работ (СДР). Детализация, техники и метрики проведения работ – вопрос инженерии. Организация последовательности работ определяется моделью. Совокупность моделей, процессов, техник и организации команды задаются технологией на основе методологии.
Слайд 3Общая структура стандартных процессов
Слайд 4Стандарт ISO/IEC 12207
Стандарт определяет высокоуровневую архитектуру ЖЦ ПО. ЖЦ в
рамках стандарта представляет собой структуру дробления работ на следующие элементы:
процессы, действия и задачи. Она реализована на основе регламентации требований к этим элементам, входящим в типовую структуру ЖЦ ПО (рис.8.1).
Слайд 5Стандарт ISO/IEC 12207
Каждый процесс состоит из набора действий и решаемых
при выполнении соответствующего действия задач. С точки зрения соподчинённости и
важности все процессы разбиты на 3 группы: основные, вспомогательные и организационные (рис.8.1). Таким образом, общая иерархия элементов ЖЦ выглядит следующим образом: Группа процессов → Процессы → Действия → Задачи.
Слайд 6Взаимосвязь между стандартными процессами
Слайд 7Стандарт предлагает 5 точек зрения на процессы, соответствующих заинтересованным лицам
(рис.8.2).
Заказчики и поставщики имеют договорную точку зрения.
Операторы службы
поддержки и пользователи имеют эксплуатационную точку зрения.
Разработчики системы и специалисты по сопровождению имеют инженерную точку зрения.
Исполнители вспомогательных процессов имеют точку зрения поддержки.
Менеджеры имеют управленческую точку зрения.
Таким образом, архитектура строится как набор процессов и взаимных связей между ними. Основные процессы обращаются к вспомогательным, а организационные действуют на всём протяжении ЖЦ и связаны с основными (рис.8.2).
Слайд 8Стандарт описывает следующие 17 процессов ЖЦ ПО в 3 группах
(рис.8.1):
1. Основные процессы: 1. Приобретение / Заказ; 2. Поставка; 3. Разработка;
4. Эксплуатация; 5. Сопровождение.
2. Вспомогательные процессы: 1. Документирование; 2. Управление конфигурацией; 3. Обеспечение качества; 4. Верификация / Проверка; 5. Аттестация / Валидация; 6. Совместный обзор; 7. Аудит / Ревизия; 8. Разрешение проблем.
3. Организационные процессы: 1. Управление; 2. Инфраструктура; 3. Усовершенствование; 4. Обучение.
Стандарт также описывает следующие 4 стадии ЖЦ ПО: 1. Формирование концепции; 2. Разработка; 3. Сопровождение; 4. Снятие с эксплуатации.
Слайд 9Стандарт ISO/IEC 12207
Приобретение состоит из действий заказчика. Процесс включает следующие
действия: Инициирование; Подготовка запроса на предложение; Подготовка и корректировка договора;
Мониторинг поставщика; Приёмка и завершение.
Поставка состоит из действий поставщика. Процесс включает следующие действия: Инициирование; Подготовка предложения; Разработка договора; Планирование; Выполнение и контроль; Обзор и оценка; Приёмка и завершение.
Слайд 10Стандарт ISO/IEC 12207
Разработка состоит из действий разработчика. Процесс включает следующие
действия:
Подготовка процесса;
Анализ требований к системе;
Проектирование [архитектуры] системы;
Анализ требований к
ПО;
Архитектурное проектирование ПО;
Детализированное проектирование ПО;
Кодирование и тестирование ПО;
Интеграция ПО;
Квалификационное тестирование ПО;
Интеграция системы [в целом];
Квалификационные тестирование системы;
Установка ПО;
Поддержка приёмки ПО.
Стандарт отмечает, что действия могут пересекаться по времени, т.е. проводиться одновременно или с наложением, а также могут предполагать рекурсию и разбиение на итерации.
Слайд 11Стандарт ISO/IEC 12207
Эксплуатация состоит из действий оператора службы поддержки. Процесс
включает следующие действия: Подготовка процесса; Эксплуатационное тестирование; Эксплуатация системы; Поддержка
пользователя.
Сопровождение состоит из действий специалистов сопровождения. Процесс включает следующие действия: Подготовка процесса; Анализ проблем и модификаций; Реализация модификаций; Обзор и приёмка при сопровождении; Миграция [в другую среду]; Снятие ПО с эксплуатации.
Слайд 12Стандарт ISO/IEC 12207
Документирование: действия по формализованному описанию информации, созданной на
протяжении ЖЦ.
Управление конфигурацией: действия по управлению конфигурацией процесса и
ПО.
Обеспечение качества: действия по объективному обеспечению соответствия процесса и ПО установленным требованиям и утверждённым планам.
Верификация: действия соответствующего субъекта (заказчика, поставщика или независимой стороны) по проверке соответствия (верификации) создаваемых артефактов (как промежуточных продуктов) установленным требованиям в виде спецификаций по мере реализации проекта.
Аттестация: действия соответствующего субъекта (заказчика, поставщика или независимой стороны) по проверке соответствия (аттестации, сертификации) создаваемого конечного продукта функциональному назначению. Он является более общим процессом, чем верификация, так как учитывает возможное несоответствие ожиданий заказчика и сформулированных требований к системе.
Слайд 13Стандарт ISO/IEC 12207
Совместный обзор: действия по оценке состояния и результатов
какого-либо действия; Процесс может использоваться двумя любыми субъектами, когда один
из субъектов проверяет другого субъекта при совместном рассмотрении результатов или хода выполнения соответствующих действий. Аудит: действия независимых (по отношению к проекту) экспертов по определению соответствия деятельности субъекта принятым требованиям, планам и договору.
Разрешение проблем: действия по анализу и устранению (решению) проблем (включая обнаруженные несоответствия), независимо от их характера и источника, обнаруженных при реализации проекта.
Слайд 14Стандарт ISO/IEC 12207
Управление: основные действия по управлению, включая управление проектом,
при реализации процессов ЖЦ. Инфраструктура: основные действия по выбору и
поддержке базовой структуры какого-либо процесса ЖЦ, в том числе подходов, стандартов и инструментальных средств. Усовершенствование: основные действия, выполняемые субъектом при создании, оценке, контроле и усовершенствовании выбранных процессов ЖЦ. Обучение: действия по обучению и последующему постоянному повышению квалификации персонала.
Слайд 15Стандарт ISO/IEC 12207
Адаптация стандарта подразумевает применение требований стандарта к конкретному
проекту, например, в рамках создания внутриорганизационных регламентов ведения проектов ПО.
Адаптация
включает следующие виды действий:
Определение исходной информации для адаптации стандарта;
Определение условий выполнения проекта;
Отбор элементов ЖЦ, используемых в проекте или регламентах;
Документирование и обоснование требований, решений и процессов, связанных с адаптацией и полученных в её результате.
Слайд 16Стандарт ISO/IEC 12207
Адаптация также подразумевает определение основных характеристик проекта, в
частности выбор методологии и технологии разработки ПО, а также соответствующей
модели ЖЦ ПО.
Соответствие проекта стандарту определяется как реализация в рамках конкретного проекта такой модели ЖЦ ПО, которая построена на основе выбора из этого стандарта соответствующих элементов. Выполнение процесса или действия считается завершённым, если решены все требуемые в них задачи в соответствии с предварительно установленными в договорной документации проекта критериями и требованиями.
Слайд 17ISO/IEC 15288:2002
В настоящее время продолжается разработка нового стандарта ISO/IEC 15288:2002
«Systems Engineering – System Life Cycle Processes» («Системная инженерия –
Процессы жизненного цикла систем»), в частности ведётся согласование этого стандарта с предыдущим стандартом ISO/IEC 12207:1995.
Слайд 18ISO/IEC 15288:2002
В отличие от предыдущего стандарта этот стандарт ориентирован на
системы в целом (а не только на ПО в общем
и программные системы в частности).
Он касается систем, созданных человеком и включающих один или несколько из следующих элементов:
аппаратное обеспечение,
программное обеспечение,
люди,
процессы,
процедуры,
основные средства и природные ресурсы.
Слайд 19ISO/IEC 15288:2002
Стандарт предназначен для использования:
– заказчиком и поставщиком – для разработки
взаимных соглашений (договоров, контрактов и т.п.), касающихся процессов и действий,
которые отбираются, согласовываются и выполняются в контексте данного стандарта;
– организацией – для формирования среды необходимых процессов и оценки соответствия между заявленной и утверждённой моделью ЖЦ и её конкретной реализацией;
– проектной командой – для выбора, систематизации и применения элементов среды, сформированной для производства продукции или услуги, и оценки проекта на соответствие заявленной и сформированной среде.
Слайд 20ISO/IEC 15288:2002
Стандарт обеспечивает основы для моделирования и реализации общих процессов,
составляющих ЖЦ систем, предоставляя возможность для их оценки и совершенствования,
и, охватывая все концепции и идеи, имеющие отношение к этим системам, начиная от замысла и вплоть до момента снятия с эксплуатации.
Процессы ЖЦ, задаваемые стандартом, могут использоваться однократно, многократно или рекурсивно, как по отношению к системе в целом, так и к любым её элементам, применяться для систем единичного и массового производства, а также адаптируемых к требованиям организации и/или проекта.
Слайд 21ISO/IEC 15288:2002
Процессы в стандарте образуют полное множество, из которого организация
может конструировать модели ЖЦ систем, соответствующие их продуктам и услугам.
Процессы могут поддерживаться инфраструктурой, включающей методы, процедуры, технологии, инструменты и обученный персонал.
Организация может применять среду процессов для выполнения и управления проектами и развития систем на протяжении их ЖЦ.
Стандарт представляет ЖЦ системы как структуру дробления работ.
Слайд 22Взаимосвязь между группами процессов
Слайд 23ISO/IEC 15288:2002
Стандарт описывает следующие 26 процессов в 5 группах (рис.8.3):
1. Договорные
процессы: 1. Приобретение [системы]; 2. Поставка [системы].
2. Организационные процессы: 1. Управление
инфраструктурой / Управление окружением; 2. Управление инвестициями / Управление портфелем проектов; 3. Управление процессами ЖЦ / Управление моделью ЖЦ; 4. Управление ресурсами / Управление персоналом; 5. Управление качеством.
Слайд 24ISO/IEC 15288:2002
3. Проектные процессы:
Процессы управления проектами: 1. Планирование [проекта]; 2. Мониторинг
/ Управление выполнением и контроль [проекта].
Процессы поддержки проектов: 3. Оценивание
/ Измерение; 4. Управление решениями / Выработка решений; 5. Управление рисками; 6. Управление конфигурацией; 7. Управление информацией.
4. Технические процессы: 1. Определение требований [заинтересованных лиц]; 2. Анализ требований; 3. Проектирование архитектуры; 4. Реализация / Изготовление; 5. Интеграция / Комплексирование; 6. Верификация / Проверка; 7. Переход / Ввод в действие; 8. Аттестация / Валидация; 9. Эксплуатация / Функционирование; 10. Сопровождение / Обслуживание; 11. Снятие с эксплуатации / Вывод из действия.
Слайд 25ISO/IEC 15288:2002
5. Специальные процессы: 1. Настройка / Адаптация.
Стандарт также описывает следующие
6 стадий ЖЦ системы: 1. Формирование концепции: анализ потребностей, выбор
концепции и проектных решений; 2. Разработка: проектирование системы; 3. Реализация: изготовление системы; 4. Эксплуатация: ввод в действие и использование системы; 5. Поддержка: обеспечение функционирования системы; 6. Снятие с эксплуатации: прекращение использования, демонтаж, архивирование системы.
Крайне важной для практики является детализация стандарта до уровня целей, результатов и конкретных действий.
Помимо процессов стандарт определяет 208 действий и 123 различных результата этих действий.