Процесс инженерии ПО (Software Engineering Process)
Процесс инженерии ПО включает концепции, инфраструктуру, методы определения и измерения этапов ЖЦ, поиск ошибок и внесение изменений, а также анализ и оценку качества продукта.
Область знаний «Процесс инженерии ПО (Software Engineering Process)» состоит из следующих разделов:
– концепции процесса инженерии ПО (Software Engineering Process Concepts),
– инфраструктура процесса (Process Infrastructure),
– определение процесса (Process Definition),
– оценка процесс (Process Assessments),
– количественный анализ процесса (Qualitative Process Analysis),
– выполнение и изменение процесса.(Process Implementation and Change).
Данная область знаний связана со всеми элементами управления процессами ЖЦ ПО, изменения которых проводятся в связи с их совершенствованием. Цель управления в применении лучших процессов, соответствующих реальной практике выполнения конкретного проекта.
Инфраструктура процесса базируется на основных положениях стандартов IEEE/IEC 12207 и 15504, а также на видах ресурсов (групп разработчиков, технических средств, программных продуктов и др.) и процессе инженерии ПО (групповом или по типу экспериментальной фабрики (Experience Factory– EF), базирующейся на моделях проекта и продукта, моделях качества и риска. Инфраструктура включает уровни управления, отношения в коллективе, инженерные методы организации и интеграции программного продукта. Основной задачей EF является совершенствование ПО после получения опыта и уроков его разработки.
Определение процесса основывается на: типах процессов и моделей (водопадная, спиральная, итерационная и др.); моделях ЖЦ процессов и средств, стандартах ЖЦ ПО ISO/IEC 12207 и 15504, IEEE std 1074-91 и 1219-92; а также методах и нотациях задания процессов и автоматизированных средствах их поддержки. Основной целью процесса является повышение качества получаемого продукта, улучшение различных аспектов программной инженерии, автоматизация процессов и др.
К нотациям определения процессов диаграммы потоков данных, диаграммы переходов и состояний.
Ряд нотаций используются в рамках RUP. Есть специальные нотации для графического представления бизнес-процессов (Business Process Management Notation). Автоматизация заключается в использовании тех или иных диаграмм и нотаций (RUP, MSF, IBM, Rational Rose и др.).
Оценка процесса проводится с использованием соответствующих моделей и методов оценки. Например, оценка потенциальной способности специалиста для выполнения соответствующей работы. SWEBOK обращает внимание на необходимость проведения оценки возможности организации проводить разработку ПС на основе модели оценки зрелости (СММ [22]) и процессов, согласно которым проводится разработка ПО.
Оценки относятся также и к техническим работам программной инженерии, к управлению персоналом и качеству ПО. Для этого проводится наблюдение за выполнением процесса, сбор информации, моделирование, классификация полученных дефектов, а также статический контроль и оценка процесса.
Качественный анализ процесса состоит в идентификации и поиске слабых мест в процессе создания ПО до начала его функционирования. Рассматривается две техники анализа: обзор данных и сравнение данного процесса с основными положениями стандарта ISO/IEC–12207; сбор данных о качестве процессов; анализ главных причин отказов в функционировании ПО, откат назад от точки возникновения отклонения до точки нормальной работы ПО для выяснения причин изменения процесса.
Выполнение и изменение процесса. Существует ряд фундаментальных аспектов измерений в программной инженерии, лежащих в основе детальных измерений процесса. Оценка совершенствования процессов проводится для установления количественных характеристик процессов и продуктов. После процесса развертывания ПО, выполняются вычисления, после чего проводится инспекция результатов выполнения, анализ и принятие решений, в частности возникновение необходимости изменения процесса, организационной структуры проекта и некоторых инструментов управления измерениями.Результаты процесса могут касаться оценки качества продукта, продуктивности, трудозатрат на процессе и др.
Таким образом, рассмотрение моделей ЖЦ и их особенностей, анализа процесса изменения ПО и подходов к его моделированию, методов контроля, сбора данных о дефектах и моделях оценки процессов ПО позволят разработчикам овладеть рассмотренными задачами данной области знаний SWEBOK.