Планирование качества и управление конфигурациями при разработке программного обеспечения
Автор: Артамонова О.С., Коцюба И.Ю., Китаев И.А., Гоголев И.Л., Игнатьев К.А.
Журнал: Петербургский экономический журнал @gukit-journal
Рубрика: Управление качеством продукции. Стандартизация. Организация производства
Статья в выпуске: 2 (44), 2024 года.
Бесплатный доступ
Статья представляет собой комплексный обзор существующей нормативной базы в области менеджмента конфигураций качества программного обеспечения. Она включает в себя методику управления конфигурациями качества на различных этапах жизненного цикла программных продуктов. Авторы провели анализ международных нормативных документов, касающихся управления качеством в области информационных технологий, с особенным вниманием к изменениям, происходящим на различных этапах жизненного цикла программного обеспечения. В статье подробно рассматриваются возможности, которые предоставляют конфигурации качества, и их влияние на обеспечение высокого уровня качества в программных продуктах. Предложенная методика включает определение источников требований (нормативных и субъективных), группировку требований по техническим процессам разработки, создание конфигураций требований с оптимальным сочетанием характеристик и проверку соответствия конфигураций исходным требованиям. Рассматриваются факторы, влияющие на качество разработки и риски на различных стадиях. Затрагиваются вопросы оценки качества программного продукта с учетом надежности измерений и моделирования возможных ошибок и сбоев. В качестве направления дальнейших исследований предлагается классификация программного обеспечения для стандартизации подходов к формированию технических заданий. Полученные результаты анализа позволяют выявить основные принципы и подходы к управлению конфигурациями качества, что является важным шагом при разработке и внедрении систем управления качеством программного обеспечения.
Качество, надежность, масштабируемость, программное обеспечение, конфигурации качества
Короткий адрес: https://sciup.org/140306776
IDR: 140306776
Текст научной статьи Планирование качества и управление конфигурациями при разработке программного обеспечения
Введение, обзор литературы, цель
На сегодняшний день процессы жизнен ного цикла продукции и бизнес - процессы компаний реализуются с помощью высокона - груженных приложений . Приложения могут быть как высоконагруженными вычислениями (compute-intensive), так и высоконагруженны - ми данными (data-intensive – DIA).
При разработке высоконагруженных при ложений существует риск возникновения расхождений требований между заказчиками , разработчиками , пользователями и специали стами поддержки . Таким образом , планирова ние качества программного обеспечения ( ПО ) требует глубокой проработки .
Целью данного исследования является разработка методики планирования качества на стадиях жизненного цикла программного обеспечения на основе существующей между народной нормативной базы по качеству ПО .
Обзор предметной области. К основным функциональным требованиям DIA относятся :
– хранение данных ( базы );
– запоминание результата операции для ускорения чтения ( кеши );
– поиск и фильтрация данных различными способами ( поисковые индексы );
– потоковая обработка ;
– пакетная обработка ( обработка больших объемов , накопленных данных ).
Кеш в оперативной памяти
Клиентские запросы
Запросы на чтение
Сделать кеш недействительным или обновить
Сначала проверяет, не кешированы ли данные

Основная база данных
Неудачные обращения к кешу и записи в кеш
Перехват изменений в данных
Асинхронные задачи
Запросы на поиск

Полнотекстовый
индекс
Применение изменений к поисковому индексу

Очередь сообщений
Код приложения
«Внешний
мир»
Рис. 1. Пример архитектуры высоконагруженного приложения
Fig. 1. An example of data-intensive systems architecture
Источник: Клеппман М. Высоконагруженные приложения... [4].
Source: Kleppman M. The Big Ideas Behind Reliable... [4].
Степень научной разработанности темы исследования характеризуется как высокая , поскольку данные аспекты разработки широко освещены в научной литературе , нормативной документации и рекомендациях профессио нальных организаций в сфере информацион ных технологий [1–16].
Ранее данные функции могли быть реали зованы единым способом , вместе с тем сегод ня эта концепция претерпела изменения [1]. Каждое из перечисленных функциональных требований предполагает ряд подходов , что порождает вопросы при подготовке техниче ского задания на разработку программного обеспечения , так как заказчики ПО , владельцы процессов , не всегда обладают экспертизой в области информационных технологий ( рис . 1).
Таким образом , при подготовке техниче ского задания на разработку и реализацию программного обеспечения могут повлиять следующие риски :
– неадекватное планирование бюджета ;
– неверные функциональные требования ;
– неверный расчет необходимых мощностей ;
– неверные определения компетенций пользователей .
Для устранения приведенных рисков необходимо разработать методику определения требований к ПО применительно к контексту организации.
Методы исследования
При разработке методики применялись методы анализа и синтеза , а также исследова ния существующего опыта [2–4] в управлении качеством программного обеспечения .
Результаты и дискуссия
Модель и характеристики качества данных программного обеспечения. Существуют различные модели качества ПО , выбор подхо дящей из которых определяется спецификой требований к разрабатываемому ПО . При проектировании ПО [5] необходимо учесть три основных требования :
-
1. Надежность – система должна продол жать работать корректно даже при неблаго приятных обстоятельствах ( аппаратные сбои или ошибки пользователя ).
-
2. Масштабируемость – планирование способов решения проблем , связанных с ро стом объемов данных и сложности процессов .
-
3. Удобство сопровождения – возмож ность эффективной работы при разработке и обслуживании ИС .
На характеристики качества ПО влияют различные факторы ( рис . 2).

Рис. 2. Факторы качества программных средств
Fig. 2. Quality Factors of Software
Источник: Коцюба И. Ю., Чунаев А. В., Шиков А. Н. Методы оценки и измерения характеристик... [5].
Source: Kotsyuba I. Yu., Chunaev A. V., Shikov A. N. Methods of evaluation and measurement of information... [5].
Характеристики качества ПО. При раз работке ПО особенно важно определить пользователей , среду использования , а также заинтересованные стороны , так как они могут повлиять на особенности разработки и риски , приведенные ранее [6].
В табл . 1 представлено влияние характери стик качества ПО .
Для обеспечения качества ПО необходимо не только разработать характеристики и метрики, но и учесть различия между возможными показателями качества, сформированными на разных этапах жизненного цикла ПО (табл. 2). Основными процессами жизненного цикла ПО являются процессы реализации и поддержки программных средств. Источниками требований к данным процессам служат техниче ско е задание на разработку, а также требования к конфигурации.
Разработка характеристик качества в соответствии с жизненным циклом продукта. Для разработки конфигураций каче ства ПО предлагается следующая методика :
-
1. Определение источников требований ( нормативных и субъективных ).
-
2. Определение и группировка требований относительно технических процессов ( харак теристики ПО и диапазоны значений ).
-
3. Разработка конфигураций требований ( вариантов оптимального соотношения харак теристик и разрешенных значений ).
Табл. 1 . Влияние характеристик качества
Tab. 1. Quality characteristics influence
Характеристика качества продукта |
Влияние на качество |
||
при использовании для остальных пользователей |
при использовании для задачи обслуживания |
информационной системы для других заинтересованных лиц |
|
Функциональная пригодность |
+ |
||
Уровень производительности |
+ |
+ |
|
Совместимость |
+ |
||
Удобство использования |
+ |
||
Надежность |
+ |
+ |
|
Защищенность |
+ |
+ |
|
Сопровождаемость |
+ |
||
Переносимость |
+ |
Источник: ГОСТ Р ИСО/МЭК 25010–2015 [1].
Source: GOST R ISO/IEC 25010–2015 [1].
Табл. 2 . Различие между показателями внутреннего качества, показателями внешнего качества и показателями качества при использовании
Tab. 2. Difference between internal quality indicators, external quality indicators, and quality indicators in use
Тип измеряемых свойств |
Свойства программного продукта |
Свойства поведения компьютерной системы |
Свойства воздействия человеко-машинной системы |
Показатель качества |
Внутренний: изучение статистических свойств |
Внешний: тест или моделирование динамических свойств |
Качество при использовании: тест или результаты в реальных или моделируемых условиях использования |
Свойства программного продукта |
Зависимые от компьютерной системы |
Зависимые от человеко-машинной системы |
|
Свойства компьютерной системы |
Присущие |
Зависимые от человеко-машинной системы |
|
Свойства человекомашинной системы |
Присущие |
Источник: ГОСТ Р ИСО/МЭК 25010–2015 [1].
Source: GOST R ISO/IEC 25010–2015 [1].
Табл. 3 . Модель процесса разработки конфигурации качества ПО
Tab. 3. The model of software quality configuration development process
Источники требований – входы процессов |
Технические процессы |
Результаты разработки ПО – выходы процессов |
Нормы законодательства – применительно к ПО – безопасность – применительно к сфере применения ПО – например, защита персональных данных, эргономика и безопасность труда пользователей. Правообладатели. Непосредственные, вторичные и косвенные пользователи. Другие заинтересованные стороны. Условия использования |
Процесс определения требований правообладателей. Процесс анализа системных требований. Процесс проектирования архитектуры системы. Процесс реализации. Процесс комплексирования системы. Процесс квалификационного тестирования системы. Процесс инсталляции программных средств. Процесс поддержки приемки программных средств. Процесс функционирования программных средств. Процесс сопровождения программных средств. Процесс прекращения применения программных средств |
Спецификации функциональных характеристик и возможностей, включая эксплуатационные, физические характеристики и условия окружающей среды. Внешние интерфейсы к программной составной части. Квалификационные требования. Спецификации по безопасности. Спецификации по защите. Спецификации эргономических факторов. Описание данных и требований к базам данных. Требования к инсталляции и приемке поставляемого программного продукта. Требования к документации пользователя. Операции пользователя и требования к их выполнению. Пользовательские требования к сопровождению |
Источник: составлено авторами на основе [2].
Source: made by the authors based on information provided by [2].
Список литературы Планирование качества и управление конфигурациями при разработке программного обеспечения
- ГОСТ Р ИСО/МЭК 25010–2015. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов. М.: Стандартинформ, 2015. 29 с.
- ГОСТ Р ИСО/МЭК12207–2010. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств. М.: Стандартинформ, 2011. 99 с.
- ГОСТ Р ИСО 21500–2014. Руководство по проектному менеджменту. М.: Стандартинформ, 2015. 45 с.
- Клеппман М. Высоконагруженные приложения. Программирование, масштабирование, поддержка. СПб.: Питер, 2018. 640 с.
- Коцюба И. Ю., Чунаев А. В., Шиков А. Н. Методы оценки и измерения характеристик информационных систем: учеб. пособие / Ун-т ИТМО. СПб., 2015. 264 с.
- Прогнозирование качества программного обеспечения с помощью ансамблевых методов на основе машинного обучения / А. Айберк Церан, Ар Йылмаз, Э. Озгюр Танрывер, С. Сейрек Серан. URL: https://www.sciencedirect.com/science/article/abs/pii/S2214785322070857 (дата обращения: 14.03.2024).
- Аласвад Ф., Пуваммаль Э. Прогнозирование качества программного обеспечения с использованием машинного обучения. URL: https://www.sciencedirect.com/science/article/abs/pii/S2214785322014936 (дата обращения: 14.03.2024).
- Аффективные состояния гибких инженеров-программистов, их производительность и качество программного обеспечения: систематический обзор картографии / Г. Мартин, О. Салидо, Боррего Жилберто, Паласио Синко Рамон Рене, Родригес Луис-Фелипе. URL: https://www.sciencedirect.com/science/article/abs/pii/S0164121223001954 (дата обращения: 14.03.2024).
- Озчевик Ю. Ориентированная на данные модель QMOOD для оценки качества многоклиентских программных приложений. URL: https://www.sciencedirect.com/science/article/pii/S2215098624000466 (дата обращения: 14.03.2024).
- Соуза-Перейра Л., Помбо Н., Уби С. Качество программного обеспечения: применение модели процесса для оценки качества в использовании. URL: https://www.sciencedirect.com/science/article/pii/S1319157822001173 (дата обращения: 14.03.2024).
- Групповой подход к принятию решений на основе энтропии для оценки качества программного обеспечения / Чуан Юэ, Рубинг Хуан, Дэйв Тоуи, Цзысян Сянь, Гохуа Ву. URL: https://www.sciencedirect.com/science/article/abs/pii/S0957417423024818 (дата обращения: 14.03.2024).
- Бернардо С., Орвиз П., Дэвид М. Гарантия качества программного обеспечения как услуга: Охват оценки качества программного обеспечения и услуг. URL: https://www.sciencedirect.com/science/article/pii/S0167739X24000955 (дата обращения: 02.03.2023). (На английском языке)
- Марков А. С., Шеремет И. А. Повышение доверия к программному обеспечению в контексте международной безопасности // Материалы семинара CEUR. 2019. Т. 3035. С. 88–92.
- Синтез средств управления безопасной разработкой программного обеспечения / А. Барабанов, А. Марков, А. Фадеев, В. Цирлов, И. Шахалов // Материалы 8-й Междунар. конф. по безопасности информации и сетей (SIN'15). Сочи, 2015. С. 93–97.
- Антонишин М., Мисник О. Анализ подходов к тестированию уязвимостей мобильных приложений Android // Материалы семинара CEUR. 2019. Т. 2577. С. 270–280.
- Влияние практического тестирования безопасности на жизненный цикл разработки программного обеспечения / С.-Дж. Чен и др. // Материалы 24-й Междунар. конф. по передовым коммуникационным технологиям (ICACT). Пхенчхан Квангвундо, Корея. 2022. С. 313–316.