- PVSM.RU - https://www.pvsm.ru -

Управление программной инженерией в ERP-проектах на основе SWEBoK

Внедрение корпоративных информационных систем ведется по определенным правилам, есть три классические модели имплементации: каскадная, итерационная и спиралевидная. Также доступно множество прикладных методологий внедрения, представленных ASAP, Activate SAP, OUM, MDSS, ADM и расширяющих классические модели. Принимая во внимание то, что ERP-системы представимы коробочными программными продуктами, их имплементация преимущественно ведется на основе каскадно-ориентированных методов и с использованием знаний PMBoK [1].

PMBoK один из наиболее узнаваемых и популярных сводов знаний для менеджмента всевозможных проектов, в том числе в области ИТ. Однако существуют и другие области знаний, относящиеся к ИТ: BABoK, EABoK, BPM CBoK, а также SWEBoK [2-5]. SWEBoK как свод знаний программной инженерии, наиболее близко соотносится с тематикой проектирования и имплементации корпоративных информационных систем, представленных комплексным платформенным программным обеспечением.

Несмотря на очевидную близость к ERP-системам, SWEBoK не так знаком читателям как PMBoK или BABoK. Действительно ли применение SWEBoK дает преимущества работе над комплексным программным продуктом? С данным вопросом мы разберемся в содержании текущей статьи. Цель работы состоит в анализе методологии SWEBoK для повышения качества разрабатываемого и внедряемого программного продукта. Для решения данной цели необходимо:

  • провести обзор SWEBoK;

  • сопоставить домены знаний SWEBoK с этапами жизненного цикла ПО;

  • определить область применения SWEBoK в проектах имплементации ERP-систем.

Введем несколько основополагающих определений, которые помогут нам разобраться в том, что собой представляет термин SWEBoK: инженерия и программная инженерия [6].

Определение 1Инженерия – совокупность обобщенных и систематизированных знаний или учение о методах, способах, приемах, средствах автоматизации и порядке их использования при производстве или применении какого-либо продукта.

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

Следуя вышеприведенным определениям, SWEBoK (Software Engineering Body of Knowledge) представляет собой свод практических знаний по программной инженерии для разработки программного обеспечения [5]. На текущий момент SWEBoK включает 18-ть областей знаний, применимых к программным продуктам (табл. 1). 

Табл. 1. Области знаний SWEBoK

Область знаний

Категория

Описание

1

Требования

Жизненный цикл ПО

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

2

Архитектура

Жизненный цикл ПО

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

3

Проектирование

Жизненный цикл ПО

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

4

Реализация

Жизненный цикл ПО

Рассматриваются принципы (минимизация сложности, переиспользование, предвидение изменений, следование соглашению о наименовании объектов), ключевые элементы (языки программирования, интеграция, тестирование и др.), технологии и средства (API, обработка ошибок, Low-Code/Zero-Code платформы, средства автоматизированного тестирования) программирования.

5

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

Жизненный цикл ПО

В данной области знаний описываются уровни тестирования (модульное, интеграционное, системное и приемочное, а также А/Б, регрессионное, нефункциональное и др.), кроме того, технологии, средства и сам процесс ведения тестирования.

6

Операции программной инженерии

Жизненный цикл ПО

Область ориентирована на обеспечение работоспособности программного продукта. Здесь содержится обзор процесса планирования (выбор поставщика, развертывание, резервное копирование), доставки (подготовка к продуктивному использованию, разрешение проблем) и контроля софтверного решения (управление инцидентами и изменениями, мониторинг производительности, обеспечение SLA).

7

Обслуживание

Жизненный цикл ПО

Необходимость обслуживания объясняется наличием недоработок в программном решении, потребностями увеличения его производительности, а также внедрением расширений. Вводятся категории запросов на обслуживание, обусловленные ошибками в текущем программного решении и запросами в его развитии. Указанные активности суммируются расчетом затрат на обслуживание ПО.

8

Управление конфигурациями

Жизненный цикл ПО

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

9

Управление программной инженерией

Жизненный цикл ПО

Данная область знаний способствует реализации проекта внедрения программного продукта таким образом, чтобы его результат удовлетворил ожиданиям стейкхолдеров. Выделяются этапы инициализации (включая определение объема работ и возможности их достижения), планирования (формирование план-графика и ресурсного плана, расчет трудозатрат и стоимости, выделение человеческих ресурсов), исполнения, оценки (проверка реализации всех требований) и завершения проекта (для понимания того, достигнуты ли ожидаемые результаты).

10

Процесс программной инженерии

Жизненный цикл ПО

Рассматривается выбор наиболее подходящей модели имплементации программного продукта: каскадная, итерационная или спиралевидная.

11

Модели и методы программной инженерии

Жизненный цикл ПО

Подчеркивается необходимость использования четко продуманной методологии внедрения программного продукта. Приводятся примеры таких методологий, как: Agile Scrum, Agile FDD, eXtreme Programming и др.

12

Качество

Жизненный цикл ПО

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

13

Безопасность

Жизненный цикл ПО

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

14

Профессиональная практика в программной инженерии

Soft skills

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

15

Экономика в программной инженерии

Жизненный цикл ПО

Оценивается целесообразность внедрения программного продукта. Прорабатываются такие вопросы, как: получение выгод предприятия от нового ПО, соответствие проекта внедрения бизнес-целям организации, покупка или разработка софтверного продукта, ограничение объема требований, выбор оптимальной ИТ-архитектуры, замена старого программного решения или имплементации нового, наискорейшее получение выгод от внедряемого приложения.

16

Основы вычислительной техники

Hard skills

Цель данного домена знаний обучить специалиста всему, что связано с программным обеспечением: устройство компьютера (процессор, память, устройство ввода/вывода), обработка данных (типы данных, алгоритмы, техники сортировки и поиска, хэширование), программирование (типы языков программирования, синтаксис, отладка, стандарты), операционные системы, СУБД (SQL, ER-диаграммы, нормализация, извлечение и хранение), сети (типы, IP-адреса, беспроводные и мобильные сети), искусственный интеллект и машинное обучение.

17

Математические основы

Hard skills

Позволяет осмысливать и писать программный код (способы доказательства, множества, теория чисел, графы и деревья, математические вычисления).

18

Основы инженерии

Hard skills

Включает эмпирические методы и теорию проведения экспериментов, статистический анализ, имитационное моделирование, прототипирование, анализ первопричин и др., позволяющие специалистам находить решения самых сложных задач.

Согласно определению программной инженерии, SWEBoK содержит описание всех ключевых этапов работы над софтверным продуктом, более того включает области знаний, отвечающие за Soft и Hard-навыки. В отличие от PMBoK и BABoK, SWEBoK не ставит цель детально описать все аспекты работы над ПО, ограничиваясь краткими тезисами по наиболее важным вопросам. SWEBoK по праву можно назвать сводом знаний: каждый домен агрегирует информацию из множества литературных источников, регулярно делая отсылку к ним [5] ...

Выходные данные и полный текст статьи

Карасева Н.С. SWEBoK для применения программной инженерии в ERP-проектах // Корпоративные информационные системы. – 2024. – №2 (26) – c. 10-18. – URL: https://corpinfosys.ru/archive/2024/issue-26/286-2024-26-swebok [1].

SWEBoK для применения программной инженерии в ERP-проектах

SWEBoK для применения программной инженерии в ERP-проектах

Автор: stepanovdandcorpinfosys

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka-po/451513

Ссылки в тексте:

[1] https://corpinfosys.ru/archive/2024/issue-26/286-2024-26-swebok: https://corpinfosys.ru/archive/2024/issue-26/286-2024-26-swebok

[2] Источник: https://habr.com/ru/articles/1034406/?utm_campaign=1034406&utm_source=habrahabr&utm_medium=rss