Комплексное определение рационального состава информационно-технических систем
В.О. Скрипачев, И.В. Суровцева, В.О. Умнов, И.Б. Калошин, А.Г. Харламов
Аннотация. В статье рассматривается комплексная процедура определения рационального состава при проектировании информационно-технических систем (ИТС). На первом этапе определяется эффективность подсистем в составе ИТС. Для этого определяются критерии для которых эксперты заполняют соответствующие матрицы парных сравнений. По результатам обработки матриц парных сравнений, формируется вектор итоговых экспертных оценок подсистем, планируемых к использованию в ИТС. Рациональный состав подсистем определяется динамическим программированием с помощью решения задачи о рюкзаке. При этом исходными данными являются итоговые экспертные оценки и оценки, полученные с помощью алгоритмической модели оценки стоимости разработки программного обеспечения СОСОМО.
Ключевые слова: алгоритмическая модель, динамическое программирование, информационно-техническая система, подсистема, программное обеспечение, экспертное оценивание.
I. Введение
Каждая информационно-техническая система (ИТС) может быть представлена как совокупность подсистем, включающих программные и технические средства, т.е.
С
ИТС
:{Д(Я
ИТС 1 ' SИТС 1 )'•••' An (н
S г,
mcN' ^mcN
0},
где СИтС - проектируемая ИТС, А, - подсистемы, входящие в ИТС и имеющие в своем составе совокупность технических НИТС и программных средств ^иТС1, N - порядковый номер рассматриваемой
подсистемы.
Однако, учитывая ресурсные ограничения, связанные, как правило, с финансированием, требуется определить рациональный набор подсистем, позволяющий решить целевые задачи, возлагаемые на проектируемую ИТС [1].
В настоящей статье рассматривается комплексная процедура определения рационального состава структурных элементов при проектировании ИТС.
II. Методика оценивания эффективности структурных элементов систем
На начальном этапе необходимо оценить эффективность подсистем в составе ИТС. Для этого целесообразно применить метод парных сравнений, заключающийся в следующем [2]:
- определяются критерии, по которым выполняется экспертное оценивание;
- согласовываются правила выставления экспертами оценочных коэффициентов;
- определяются методы, средства, время и порядок проведения экспертного опроса, осуществляется подготовка необходимой документации для работы экспертов;
- определяется состав экспертов, привлекаемых для проведения экспертизы, и задаются цель, задачи, требования к точности результатов;
- организуется работа экспертов. После чего осуществляется обработка результатов экспертного опроса (создается обобщенная экспертная матрица, элементы которой чаще всего являются средними арифметическими оценочных коэффициентов, указанных каждым экспертом).
Для получения матриц парных сравнений подсистем
А (, = ) целесообразно использовать процедуру
анкетирования, предусматривающую заполнение экспертом матрицы с одинаковым числом строк и столбцов. При этом, каждый эксперт заполняет количество матриц, соизмеримое задаваемым критериям: например, реализуемость подсистемы, значимость подсистемы и т.д.
Соответственно, общее число полученных матриц парного сравнения М определяется как:
Статья получена 6 марта 2017.
В. О. Скрипачев, к.т.н., ведущий инженер, Московский технологический университет (МИРЭА), Москва, Россия (e-mail: [email protected]).
И. B. Суровцева, ведущий инженер, Московский технологический университет (МИРЭА), Москва, Россия (e-mail: [email protected]).
В. О. Умнов, к.т.н., начальник отдела, Московский технологический университет (МИРЭА), Москва, Россия (e-mail: umnov @ mirea.ru).
И. Б. Калошин, аспирант, Московский технологический университет (МИРЭА), Москва, Россия (e-mail: [email protected]).
А. Г. Харламов, магистр, Московский технологический университет (МИРЭА), Москва, Россия (e-mail: [email protected]).
M = N • N
критериев экспертов
где Nкритериев - число выявленных критериев, N экспертов -количество экспертов, принявших участие в процедуре анкетирования.
Матрица парных сравнений, заполняемая одним экспертом для одного критерия, в общем виде приведена в таблице 1.
Таблица 1 - Матрица парных сравнений
Подсистема Ai A2 AN
Ai aii ai2 aiN
A2 a2i a22 a2N
An aN1 aN2 aNN
Значение элемента, стоящего на пересечении г-й строки и]-го столбца, определяется по формуле [3]:
0, A Р A;
aj = i
1 Ai = AJ
2, Аг f A;
* = Z ^ = ZZ atJp
t-i J
г j
каждому из критериев.
Известно, что групповая оценка, получаемая при групповых методах опроса, может оставаться достаточно надежной только при условии хорошей согласованности ответов экспертов [4], для чего требуется определить коэффициент согласованности экспертов (коэффициент конкордации) [5].
Поскольку ранги являются несвязными, то коэффициент согласованности определяется как [6]:
W = 128
Таким образом, на пересечении г-ой строки и /-го столбца должен стоять 0, если объект с номером г менее значим по мнению эксперта, чем объект с номером ] и значение 2 - если г-й объект превосходит ]-ый. Если же объекты равнозначны, то будет 1 (что фиксируется на главной диагонали матрицы). Соответственно элементы заполненной матрицы удовлетворяют условию
ач + а г = 2.
Рассматриваемая матрица парных сравнений неотрицательна а^ > 0 (для любых I, /) и неразложима, т.е. среди номеров строк и столбцов нельзя выделить
такие подмножества I и /, что ач = 0 для всех
ч
г е I, Ч е ].
Для определения весовых коэффициентов, в соответствии со значениями которых ранжируются объекты Аг, применяется итерационная процедура
р' = Ар'-1,
где р0 = (1,1.....1)'.
Для недопущения появления больших весовых значений при итерировании используется нормирующий множитель:
т2(п3 - п)'
где т - количество критериев, определенных для экспертного оценивания;
п - число единиц совокупности А], А2..., Ак; S - разность между суммой квадратов рангов и средним квадратом рангов, определяемая по формуле:
Zfen Zm R )2
i=iL*i j=i iJ '
m Z jRij I--:-
S
где Ш] - ранг, присвоенный г-му значению ]-го признака.
Значение коэффициента согласованности принимает значения [0;1]. Чем ближе значение коэффициента к единице, тем связь признается более тесной. Значимость коэффициента согласованности оценивается по критерию х2.
Расчетное значение X
расч
при отсутствии связных
рангов определяется по формуле [6]:
2 = 12 S
Храсч = , 1Ч
тп(п +1)
2
Если расчетное значение Храсч превышает табличное
2
значение Хтабл, при заданном уровне значимости а и
числе степеней свободы V = п — 1, то коэффициент согласованности признается значимым.
Вектор, полученный по окончании выполнения указанных расчетов, представляет собой итоговые оценки каждой подсистемы и имеет вид:
Учитывая это, формула вычисления весовых коэффициентов примет вид:
Pt =jAPt -1
A:
Г Al 1
A
A
v an у
Итерационный процесс будет остановлен при На следующем этапе необходимо определить достижении заданной точности е на соседних итерациях: рациональный состав структурных элементов ИТС.
max
л-i
< £
Для итоговой экспертной оценки объектов Аг используются значения, определяемые осреднением по
III. Определение рационального состава
ИНФОРМАЦИОННО-ТЕХНИЧЕСКИХ СИСТЕМ
Полученные ранее оценки являются исходными данными для комплексного проектирования ИТС, где с
2
помощью динамического программирования необходимо определить рациональный набор подсистем, которые планируется использовать в разрабатываемой ИТС.
Для этого целесообразно использовать классическую задачу динамического программирования - «задача о рюкзаке» [7].
В общем виде данная задача заключается в том, чтобы найти такие переменные x1t x2, ■ ■■, xN, которые максимизируют целевую функцию Z при наличии ограничения V. То есть
N
Z = ^ aixi ^ max i=1
Z cx ï V
В результате решения задачи динамического
программирования определяется вектор Арац , представляющий собой рациональный состав подсистем, которые войдут в состав проектируемой ИТС:
г A >|
Ар
A
V ak j
i=1
х1 > 0,х2 > 0,...,xN > 0
где х1г х2, ■ ■■, xN - целые; а, V, с, - константы, ¿=1,2,..N.
Отметим, что при проектировании ИТС существует ограничение: любая ее подсистема может либо использоваться, либо нет. Поэтому «задача о рюкзаке» становится дискретной [8]:
x = J1, i = 1,2,...N
! |0
Т.е. принимается значение равное 1, если подсистема отобрана, значение 0 - в противном случае.
Таким образом, любое решение задачи динамического
программирования представляет собой вектор х [9].
При разработке комплексной ИТС приходится учитывать ресурсные или стоимостные ограничения. Поэтому, целесообразно учесть стоимость ИТС как ограничение, а «вес» подсистем определять, исходя из ранжированных оценок, полученных методом
экспертного оценивания вектора А. Таблица 2
содержит исходные данные, включая примерную
стоимость с, каждой из подсистем А, и их ранжированные оценки а1.
Таблица 2 - Исходные данные для решения задачи динамического программирования
где К < N.
Как указано выше, каждая из подсистем А, имеет аппаратную составляющую Иита и программную - Бита.
Оценить затраты на аппаратные составляющие достаточно трудно и, как правило, разработчики ИТС опираются на имеющийся собственный опыт, на доступную информацию по системам-аналогам.
Иначе обстоит дело с оценкой затрат на программную составляющую Бита.
При разработке программного обеспечения (ПО) используется понятие «железный треугольник», вершинами которого являются условия: функциональность проекта, стоимость разработки проекта и время его создания. Внутри треугольника -качество разрабатываемого ПО. На рисунке приведена диаграмма «железный треугольник» [10].
Обозначение Р анжированные оценки элементов вектора A Стоимость, ci
Ai at Ci
A2 ä2 C2
An aN CN
Рисунок - Диаграмма «железный треугольник»
В рамках предложенной диаграммы на практике возможно обеспечить только одно из трех заданных условий. Например, увеличение функциональности приводит к росту стоимости и сроков разработки. В свою очередь, сжатие сроков разработки проекта приведет к редуцированию функциональных возможностей программного обеспечения и увеличению стоимости [10].
Для оценивания затрат на программную составляющую целесообразно использовать алгоритмическую модель оценки стоимости разработки программного обеспечения - Constructive COst MOdel (COCOMO). Также модель COCOMO известна, как модель издержек разработки программного обеспечения [11].
Модель COCOMO применима к трем классам проектов разработки ПО:
- органический: небольшие команды разработчиков с опытом работы, не жесткие требования к разработке;
- полуразделенный: средние по количеству команды разработчиков с разным уровнем практического опыта, требования к разработке среднежесткие;
- встроенный: ПО разрабатываются с учетом множества жестких ограничений по аппаратному, программному, операционному обеспечению и т.д.
COCOMO представляет собой иерархию трех последовательно детализируемых и уточняемых форм или уровней [11]:
1. Базовый уровень COCOMO подходит для быстрых первичных оценок стоимости разработки ПО и обладает неточностью вследствие факторов, которые невозможно учесть на стадии прототипирования разработки.
2. Средний уровень COCOMO учитывает факторы, не учтенные на базовом уровне.
3. Детальный уровень COCOMO учитывает влияние отдельных этапов создания проекта на его общую стоимость.
Базовый уровень позволяет рассчитать трудоемкость и стоимость разработки ПО как функцию от размера исходного кода программы. При этом размер выражается в оценочных тысячах строк программного кода, который может быть определен исходя из опыта разработчиков. Для обозначения объема программных строк используется единица KLOC - kilolines of code [11].
Для базового уровня в COCOMO используются следующие уравнения:
L = ab (KLOC)bb
T
: CbLdb
N = L
разр t
где Ь - трудоемкость (человеко-месяцы); аь, ЪЪ, сЪ, (1Ъ -коэффициенты модели СОСОМО базового уровня; Т -срок разработки или длительность (месяцы); №разр -число разработчиков, занятых в разработке проекта.
Коэффициенты, рассчитанные по модели СОСОМО для базового уровня, приведены в таблице 3.
Таблица 3 - Коэффициенты модели СОСОМО базового уровня
Тип проекта аь Ьь Cb db
Органический 2.4 1.05 2.5 0.38
Полуразделенный 3.0 1.12 2.5 0.35
Встроенный 3.6 1.20 2.5 0.32
используются как коэффициенты с;, при этом значение параметра V, как правило, определяется техническим заданием на разработку.
Использование среднего и детального уровней COCOMO на начальной стадии разработки ИТС не рационально.
Таким образом, по завершении расчетов, выполняемых в рамках комплексной процедуры определения рационального состава ИТС, будет получен набор подсистем, имеющих максимальную эффективность при решении целевой задачи. При этом, совокупные затраты на создание и функционирование структурных элементов комплексной ИТС не будут превышать заданные ресурсные ограничения.
IV. Заключение
В статье рассмотрена комплексная процедура определения рационального состава информационно-технических систем, заключающаяся в
последовательном применении методов экспертного оценивания и динамического программирования с привлечением алгоритмической модели COCOMO, позволяющей выполнить предварительные оценки необходимых ресурсных затрат.
Библиография
[1] Скрипачев В.О., Чулкин М.О. Разработка прототипа информационно-технологического процесса обработки информации с учетом его стоимости // Программные продукты и системы. - 2014. -№ 4. - с. 100-102.
[2] Вдовин В.М. Теория систем и системный анализ: Учебник / В.В. Вдовин, Л.Е. Суркова, В.А. Валентинов. - М.: Издательско-торговая корпорация «Дашков и К°», 2010. - 640с.
[3] Давнис В.В., Тинякова В.В. Прогнозные модели экспертных предпочтений. - Воронеж: Издательство Воронежского гос. унта, 2005. - 248с.
[4] Шпак В.Ф. Информационные технологии в системе управления силами ВМФ (теория и практика, состояние и перспективы развития). - СПб.: "Элмор", 2005. - 832с.
[5] Теория статистики: Учебник / Под ред. Проф. Р. А. Шмойловой. -3-е изд., перераб. - М.: Финансы и статистика, 2000. - 560с.
[6] Статистика: учеб. пособие / Е.В. Улитина, О.В. Леднева, О.Л. Жирнова; под ред. Е.В. Улитиной. - 3-е изд., стереотипное. - М.: Московская финансово-промышленная академия, 2011. - 312с.
[7] Вентцель Е.С. Исследование операций. Задачи, принципы, методология: учеб. Пособие для вузов / Е.С. Вентцель. - 4-е изд., стереотип. - М.: Дрофа, 2006. - 206с.
[8] Dennis Blumenfeld, Operations Research Calculations Handbook, Second Edition, CRC Press; 2 edition, 2012. - 256p.
[9] Есипов Б.А. Методы исследования операций: Учебное пособие. -СПб.: Издательство «Лань», 2010. - 256с.
[10] Коберн А. Современные методы описания функциональных требований к системам.: Пер. с англ. - М. Лори. - 2010.
[11] Barry Boehm, et al. «Software cost estimation with COCOMO II». Englewood Cliffs, NJ: Prentice-Hall, 2000. - 544p.
Полученные значения Ь, Т, №разр каждой подсистемы могут быть использованы для предварительной оценки необходимых ресурсов при проектировании ИТС в целом. Для этого полученные показатели Ь, Т, Иразр
Complex determining the rational composition of design of information technical systems
Vladimir Skripachev, Irina Surovceva, Vladimir Umnov, Ivan Kaloshin, Alexander Kharlamov
Abstract. The complex procedure for determining the rational composition of design of information technical systems (ITS), based on expert evaluation and dynamic programming methods, is discussed. At the first, the effectiveness of the subsystems within the ITS is determined. To do that, the criteria for which experts fill the corresponding matrices of paired comparisons are determined. Based on the results of the processing of matrices of paired comparisons, a vector of final expert assessments of the subsystems planned for use in ITS is formed. The rational composition of subsystems is determined by dynamic programming by solving the knapsack problem. The initial data are the final expert estimates and estimates obtained using the algorithmic model for estimating the cost of developing software COCOMO.
Keywords: algorithmic model, dynamic programming, information technical system, subsystem, software, expert evaluation.