Герасина А.И., Шибанов С.В.

Пензенский государственный университет

Алгоритм принятия решений по выбору инструментальных средств разработки программного обеспечения в рамках онтологической модели

Проблема выбора инструментальных средств разработки возникает на многих этапах жизненного цикла программного обеспечения (ПО) [1]. Решение по выбору соответствующих средств принимается на основе множества критериев, таких как стоимость; выполняемые функции; этапы жизненного цикла, на которых может быть использовано инструментальное средство; поддерживаемые нотации, стандарты и методологии; аппаратно-программные платформы и языки программирования и многих других. Задача выбора адекватных инструментальных средств, как правило, состоит в выборе из нескольких альтернатив пакета инструментальных средств разработки ПО, который бы в наибольшей степени удовлетворял заданным значениям тех или иных критериев.

Выбор инструментальных средств разработки ПО руководителями компаний или менеджерами проектов выполняется с учетом следующих условий [2]:

-     исходная информация может быть неполной, неопределенной и, очень часто, недостоверной;

-     набор критериев, на основе которых осуществляется оценка и выбор инструментальных средств, может быть индивидуальным в каждом конкретном случае;

-     критерии могут иметь разный приоритет (степень важности);

-     критерии могут носить как количественный, так и качественный характер;

-     все решения, принимаемые на разных этапах жизненного цикла, должны быть согласованными.

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

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

онтологическая модель.jpg

Рисунок 1 – онтологическая модель знаний для решения задачи выбора инструментальных средств разработки ПО

Вершины графа соответствуют классам онтологической модели, дуги – отношениям между классами. На рисунке 1 сплошными линиями показаны родовидовые отношения между классами, пунктирными направленными дугами – другие отношения, тип которых указан непосредственно рядом с дугой.

Для оценки и принятия решения по выбору инструментальных средств разработки программного обеспечения на основе представленной онтологической модели предлагается алгоритм, основанный на методе оценки подобия объектов в интеллектуальном пространстве знаний [5] (таблица 1).

Таблица 1 – алгоритм принятия решений по выбору инструментальных средств разработки ПО на основе метода оценки подобия объектов в интеллектуальном пространстве знаний

Шаг

Содержание

Описание

1

Определение эталонного пакета инструментальных средств

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

2

Формирование набора потенциальных инструментальных средств

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

3

Формирование набора потенциальных пакетов инструментальных средств

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

4

Оценка подобия потенциальных пакетов и эталонного пакета инструментальных средств

Оценивается подобие сформированных пакетов и эталонного пакета инструментальных средств.

5

Выбор пакета наиболее близкого к эталонному

На основании оценки подобия выбирается пакет (пакеты), наиболее близкий (близкие) к эталонному пакету.

Каждое эталонное инструментальное средство  задается множеством классов :

и множеством экземпляров  классов  с экземплярами отношений между ними. Для каждого экземпляра  выполняется одно из следующих условий:

-      «Функция» ^ выполняет_функцию() ^ соответствует(), где  - экземпляр класса «Этап ЖЦ», соответствующий k-му этапу жизненного цикла программного обеспечения;

-      «Нотация» ^ поддерживает_нотацию() ^ соответствует ();

-      «Стандарт» ^ поддерживает_стандарт() ^ соответствует ();

-      «Методология» ^ поддерживает_методологию() ^ соответствует ();

-      «Платформа» ^ поддерживается_платформой ();

-      «Производитель» ^ разработан_производителем ();

-      «Язык программирования» ^ поддерживает_ЯП ();

-      «Этап ЖЦ» ^ .

Эталонный пакет  задается множеством классов :

и множеством экземпляров  классов  с экземплярами отношений между ними, причем для каждого  выполняется одно из следующих условий:

-      «ИС» ^ содержит () ^ ;

-      «Функция» ^ выполняет_функцию () ^ соответствует (), где  - экземпляр класса «Этап ЖЦ», соответствующий k-му этапу жизненного цикла программного обеспечения;

-      «Нотация» ^ поддерживает_нотацию () ^ соответствует();

-      «Стандарт» ^ поддерживает_стандарт () ^ соответствует ();

-      «Методология» ^ поддерживает_методологию () ^ соответствует ();

-      «Платформа» ^ поддерживается_платформой ();

-      «Производитель» ^ разработан_производителем ();

-      «Язык программирования» ^ поддерживает_ЯП ();

-      «Стоимость» ^ имеет_стоимость ();

-      «Этап ЖЦ».

Конечным результатом работы предлагаемого алгоритма будет пакет инструментальных средств, который выбирается из множества альтернативных пакетов.

Литература

1.            Уокер Ройс Управление проектами по созданию программного обеспечения. – М.: Изд-во «ЛОРИ», 2002. – 431 с.

2.            Дзюба Е.А. Сравнительный анализ современных средств поддержки жизненного цикла информационных систем / Дзюба Е.А., Шибанов С.В., Герасина А.И. // Труды международного симпозиума «Надежность и качество' 2012». – т. 1. – Пенза, 2012. – с. 420-427.

3.            Башмаков А.И. Интеллектуальные информационные технологии / Башмаков А.И., Башмаков И.А.; Учеб. пособие. – М.: Изд-во МГТУ им. Н.Э.Баумана, 2005. – 304 с.

4.            Скобелев П.О. Онтологии деятельности для ситуационного управления предприятиями в реальном времени // Онтология проектирования, вып. 1, 2012. – с. 6-38.

5.            Тузовский А.Ф. Системы управления знаниями (методы и технологии) / Тузовский А.Ф., Чириков С.В., Ямпольский В.З.; Под общ. ред. Ямпольского В.З. – Томск: Изд-во НТЛ, 2005. – 260 с.