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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 30.05.2017
Размер файла 387,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

Ю.И. Рогозов, А.А. Дегтярев

Введение

Гидроакустическая информационная система (далее ГА ИС) - это такая система, направленная на решение задач в области гидроакустики, в которой антенные подсистемы и подсистемы прием/передачи являются средствами получения данных, а основной функционал системы и ее свойства определяются программными средствами, функционирующими на базе вычислительной техники общего назначения [1]. Построение программных средств ГА ИС является сложной и дорогостоящей задачей [2,3], поэтому вопросы повышения эффективности этого процесса крайне актуальны. Под повышением эффективности построения программных средств принято понимать сокращение трудоемкости и стоимости относительно существующих на сегодняшний день методик [4] и инструментов при сохранении соответствующего качества [5]. Конфигурируемый программный каркас [6,7], есть результат реализации метода конфигурирования функциональности программных средств ГА ИС, изложенного в работах [8,9]. Основной задачей каркаса является статическая реализация задач по взаимодействию с аппаратной составляющей ГА ИС (управление параметрами излучения и прием эхо-сигналов) и предоставление точек динамического расширения для задач связанных с алгоритмами обработки эхо-сигналов, правилами отображения результирующей информации и алгоритмами выработки управляющих воздействий. Таким образом, каркас должен в какой-то мере обеспечить решение двух основных проблем разработки программного обеспечения: отсутствие систематического повторного использования артефактов и семантический разрыв между средствами описания решений и средствами их реализации [11].

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

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

Схема проведения эксперимента и исходные данные

Как было показано в работах [8,9,10], программный каркас статически реализует задачи связанные с системным программированием и взаимодействием между алгоритмами программного средства. Задачи подобного рода называют «дополнительная сложность», которую каркас исключает. Так же каркас может повышать эффективность разработки за счет систематического накопления и использования артефактов предметной области. Такое повышение эффективности будет напрямую зависеть от количества уникальных артефактов предметной области находящихся в распоряжении каркаса. Поэтому первой задачей проведения эксперимента является оценка величины «дополнительная сложность». Второй задачей является оценка уровня эффективности каркаса в различных эволюционных состояниях на примере планируемой к построению гидроакустической системы.

Для оценки величины «дополнительная сложность» предлагается использовать исходные данные, полученные в ходе реального производственного процесса на предприятии ООО «Аквазонд».

В период с 2009 по 2011 годы в ООО «Аквзаонд» были разработаны следующие системы: промерный глубоководный эхолот, промерный эхолот с возможностью бокового обзора межгалсовых опасностей, параметрический профилограф. Для каждой из приведенных систем разрабатывались собственные уникальные программные средства с использованием классических приемов и методов проектирования и программирования. Любая задача, связанная с разработкой указанных программных средств логировалась в системе управления проектами Redmine. Важные для эксперимента данные из системы управления проектами представлены в таблице № 1.

Таблица № 1 Данные из системы управления проектами Redmine

Проект в Redmine

Общее количество часов, затраченное на проект, час

Количество алгоритмов обработки и управления

Пронормированное к максимальному время, %

Промерный глубоководный эхолот

4196

6

65.03

Промерный эхолот с боковым обзором

6452

12

100

Параметрический профилограф

5678

8

88

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

A1 - алгоритм создан с нуля;

A2 - использован уже имеющийся алгоритм, в котором переделано около 70%;

A3 - использован уже имеющийся алгоритм, в котором переделано около 30%;

A4 - использован уже имеющийся алгоритм без каких-либо переработок.

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

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

В качестве средств обеспечения эксперимента будут использованы: математический пакет Mathematica 9 Wolfram; программный каркас sea-watcher-core, спецификации систем из таблицы № 1, а так же спецификация функциональных требований к системе «Доплеровский измеритель скорости движения, совмещенный с навигационным эхолотом».

Методика проведения эксперимента. Оценка величины «Дополнительная сложность»

Для оценки величины «дополнительная сложность» из данных, приведенных в таблице № 1, построим три точки на двумерной плоскости, каждая из которых будет характеризовать зависимость трудоемкости, выраженной в процентах от количества доменных алгоритмов m.

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

Рис. 1. - Зависимость трудоемкости от количества алгоритмов

Выполним поиск такой функции с помощью метода наименьших квадратов:

y0 = 37.3329 + 5.42429 x (1)

Подставляя в выражение (1) вместо x нулевое количество алгоритмов m, получим величину «дополнительная сложность», которая будет составлять около 37.33 %.

Далее в статьей будем полагать, что использование программного каркаса избавляет от дополнительной сложности, но при этом характер зависимости трудоемкости от количества доменных алгоритмов будет оставаться таким же как в выражении (1). Тогда зависимость трудоемкости от количества алгоритмов будет определяться выражением:

lineFramework = 5.42429*x(2)

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

Рис. 2. - Аппроксимация трудоемкости в случае классического подхода (синяя линия) и в случае использования каркаса (зеленая линия)

Оценка уровня эффективности каркаса в различных эволюционных состояниях

При реализации каждой системы из таблицы № 1 средствами каркаса фиксировались следующие показатели: n - общее количество алгоритмов и n(Ai) - количество алгоритмов для которых истинно событие Ai. Соответственно вероятность возникновения события в точке эволюционного развития каркаса j будет определяться выражением (3).

,(3)

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

Таблица № 2 Количество алгоритмов для которых истинно событие Ai

Номер стадии (j)

Наименование системы

nj

nj(A1)

nj(A2)

nj(A3)

nj(A4)

1

Промерный глубоководный эхолот

6

6

0

0

0

2

Параметрический профилограф

8

5

2

1

0

3

Промерный эхолот с боковым обзором

12

1

5

3

3

4

Доплеровский измеритель скорости движения совмещенный с навигационным эхолотом

10

1

1

2

6

Таблица № 3 Вероятности возникновения событий Ai в различных эволюционных стадиях развития каркаса

Номер стадии (j)

N

Pj(A1)

Pj(A2)

Pj(A3)

Pj(A4)

1

0

1

0

0

0

2

6

0.625

0.25

0.125

0

3

14

0.083

0.416

0.25

0.25

4

26

0.1

0.1

0.2

0.6

Проведя линейную интерполяцию между парами образуемыми столбцом N из таблицы № 3 и столбцами Pj(A1), Pj(A2), Pj(A3), Pj(A4), получим функции распределения вероятности возникновения каждого из возможных событий в зависимости от общего количества доменных алгоритмов находящихся в распоряжении системы (рис. 3).

Рис. 3. - Распределения вероятностей возникновения событий Ai в зависимости от количества имеющихся доменных алгоритмов

Далее используя полученные распределения вероятностей, оценим на примере системы «Доплеровский измеритель скорости движения совмещенный с навигационным эхолотом», которая предположительно должна состоять из 10 алгоритмов, теоретическое изменение трудоемкости в зависимости от эволюционной стадии в которой находится каркас (точки оси N равные 0, 6, 14 и 26). Для этого на каждой эволюционной стадии развития каркаса будем проводить разбиение 10 алгоритмов на отрезки, длина которых пропорциональна распределению вероятностей возникновения каждого события в этой точке. Затем вычисляется отклонение каждой точки, каждого отрезка от базисной трудоемкости, характерной для использования каркаса без учета накопления артефактов предметной области, которая определяется выражением (2). Для вычисления отклонения будем пользоваться следующим выражением:

, (4)

где .

Для упрощения расчетов на отрезке, для которого полагается истинным событие A1, будем рассчитывать две точки: начальную точку отрезка и конечную точку отрезка. Для остальных отрезков каждое последующее значение будет определяться выражением (4). Результаты расчетов представлены в таблице № 4. Графики функций отражающих трудоемкость на каждой из эволюционных стадий каркаса представлены на рис. 4.

Таблица № 4. Результаты расчетов по выражению 5, для различных значений N.

xi

0

1

2

3

4

5

6

7

8

9

10

y0

0

-

-

-

-

-

-

-

-

-

91.57

y1

0

-

-

-

-

-

-

-

-

-

54.24

y2

0

-

-

-

-

-

-

37.97

41.76

46.7

49.71

y3

0

5.42

9.22

14.15

19.43

24.81

30.22

33.32

37.35

-

37.35

y4

0

5.42

9.22

12.04

15.9

-

-

-

-

-

15.9

Рис. 4. - Трудоемкость реализации системы для различных эволюционных стадий развития каркаса

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

час(5)

Выразить абсолютную разницу в процентах между традиционным способом построения и способом с использованием каркаса можно с помощью выражения: каркас алгоритм аппроксимация сложность

(6)

Таблица № 5 Экономический эффект получаемый от применения каркаса в различных стадиях его развития

yj(10),%

delta, %

tj, час

t0- tj,час

Экономия (1ч=150руб), руб.

y0

91.57

0

5908

0

0

y1

54.24

40.76

3499

2409

361350

y2

49.71

45.71

3207

2701

405150

y3

37.35

59.21

2409

3499

524850

y4

15.9

82.63

1025

4883

732450

Заключение

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

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

Литература

1. CAI Zhi-ming, WANG Xi-min Concept and development of the software-defined sonar. Electronic Engineering College, Naval University of Engineering, Wuhan 430033, China, Technical Acoustics; 2007-05, p. 201-206

2. Бурякова Н.А., Чернов. А.В. Классификация частично формализованных и формальных моделей и методов верификации программного обеспечения. [Электронный ресурс] // Инженерный вестник Дона, №4, 2010. Режим доступа: http://www.ivdon.ru/magazine/archive/n4y2010/259 (доступ свободный) - Загл. с экрана. - Яз. рус.

3. Яловой, И.О. Анализ требований и управление изменениями программных проектов [Электронный ресурс] // Инженерный вестник Дона, №4, 2008. Режим доступа: http://www.ivdon.ru/magazine/archive/n4y2008/102 (доступ свободный) - Загл. с экрана. - Яз. рус.

4. XU Renzhou, Qiu Feng, Cai Zhiming, Wang Ximin. Software-defined sonar domain modeling based on UML. 2nd International Conference on Computer Engineering and Technology, 2010, p. 2844-2849

5. Рогозов, Ю.И., Дегтярев А.А. Информационные процессы в малоканальных гидроакустических комплексах ближнего действия построенных на основе программно-ориентированной архитектуры [Текст] // ИТСАУ11 IX Всероссийская научная конференция молодых учёных, аспирантов и студентов «Информационные технологии, системный анализ и управление»: Сборник материалов. - Таганрог: Изд-во ТТИ ЮФУ, 2011. - Т.1. c.64-68

6. Рощин, М.А. Проектирование многокомпонентных программных систем на основе гибридных логических моделей [Текст]: Дис… канд. тех. наук: 05.13.01, 05.13.12 - Волгоград, 2007 - 124 с.

7. Дегтярев А.А., Дегтярева Е.Е., Рогозов Ю.И. Конфигурируемый каркас для гидроакустических компьютеризированных приборов. // Свидетельство о государственной регистрации программы для ЭВМ №2013660087 от 23 октября 2013.

8. Дегтярев, А.А. Архитектура программного ядра для построения информационных систем сбора, обработки и хранения данных на примере малоканальных гидроакустических систем [Текст] // Высокопроизводительные вычислительные системы: Сб. науч. тр. Вып. 2. - Таганрог: Изд-во ЮФУ, 2012 - С. 7 - 11.

9. Рогозов Ю.И., Дегтярев А.А. Формальные модели механизма конфигурирования функциональности гидроакустических информационных систем [Текст] // Информатизация и связь. 2013. N2. С. 28-31.

10. Рогозов Ю.И., Дегтярев А.А. Основы метода конфигурирования функциональности программных средств гидроакустических информационных систем [Текст] // Технологии разработки информационных систем ТРИС-2013: материалы конференции. Том 1. - Таганрог: Издательство Технологического института ЮФУ, 2013. С. 25-31.

11. Дегтярев, А.А. Подход к построению программного обеспечения гидроакустических информационных систем ближнего действия [Текст] // Труды одиннадцатой всероссийской конференции «Прикладные технологии гидроакустики и гидрофизики» - СПб.: Наука,2012. - 504с. стр. 140-142.

Размещено на Allbest.ru

...

Подобные документы

  • Применения языка логического программирования Пролог и языка программирования Haskell для реализации алгоритма поиска оптимального каркаса графа. Алгоритм Прима, преимущество перед другими алгоритмами нахождения оптимального каркаса, близких к полным.

    курсовая работа [230,2 K], добавлен 13.06.2012

  • Критерии оценки эффективности и качества создания программных средств. Роль трудоемкости и длительности создания программных средств в определении эффективности их создания. Требования к качеству, суммарные затраты на разработку программного средства.

    реферат [26,7 K], добавлен 10.10.2014

  • Краткая характеристика программного средства и стадии ее разработки, предъявляемые требования и функциональные особенности. Определение трудоемкости и состава группы исполнителей. Вычисление затрат на разработку программного продукта и договорной цены.

    курсовая работа [464,5 K], добавлен 05.02.2016

  • Оценка вычислительной сложности программы. Реализация алгоритма кодирования информации Хаффмана. Кодировка теста двоичным кодом и в дереве Хаффмана. Бинарный код символов. Символ и частота его появления в тексте. Вычисление трудоемкости алгоритма.

    контрольная работа [21,0 K], добавлен 16.12.2012

  • История развития и виды тестирования программного обеспечения. Инсталляционное, регрессионное, конфигурационное, интеграционное, локализационное, модульное тестирование. Методы сокращения трудоемкости модульного тестирования разрабатываемого приложения.

    курсовая работа [309,5 K], добавлен 16.12.2015

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

    дипломная работа [2,5 M], добавлен 18.11.2017

  • Общее понятие алгоритма и меры его сложности. Временная и емкостная сложность алгоритмов. Основные методы и приемы анализа сложности. Оптимизация, связанная с выбором метода построения алгоритма и с выбором методов представления данных в программе.

    реферат [90,6 K], добавлен 27.11.2012

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

    курсовая работа [228,6 K], добавлен 26.11.2011

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

    курсовая работа [551,3 K], добавлен 09.04.2015

  • Автоматизированная выборка данных, упрощение переработки информации при использовании СУБД. Разработка программного обеспечения автоматизированного рабочего места секретаря учебно-методического кабинета. Назначение, проверка, условия применения программ.

    контрольная работа [304,6 K], добавлен 28.07.2010

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

    отчет по практике [1,3 M], добавлен 11.04.2019

  • Обзор принципов построения информационных систем для торговли через интернет. Сравнительная характеристика программных средств построения электронного магазина. Проектирование и программная реализация интернет–магазина. Экономическое обоснование проекта.

    дипломная работа [2,5 M], добавлен 13.02.2006

  • Анализ алгоритмов, оценка параметров алгоритма (эффективности, сложности, правильности). Комплексный анализ эффективности алгоритма на основе комплексной оценки ресурсов формальной системы. Верификация при коллективной разработке программных систем.

    презентация [234,9 K], добавлен 22.10.2013

  • Определение входной информации, структуры первичного документа, произведение расчета нормативной трудоемкости годовой производственной программы по изделиям и профессиям и выведение результирующих ведомостей при помощи программных средств MS Excel.

    контрольная работа [1,1 M], добавлен 16.03.2010

  • Применение современных микроконтроллеров как одного из перспективных аппаратно-программных средств информационных систем. Общие принципы построения микроконтроллеров, их типовая структура. Разработка программы расчета задержек на языке ассемблер.

    курсовая работа [719,2 K], добавлен 22.04.2019

  • Технологии создания web-страниц. Появление Active Server Pages. Разработка динамического web-сайта на asp.net. Создание дизайна и каркаса сайта с использованием стандартных HTML таблиц. Проектирование базы данных на основе ado.net и подключение к ней.

    контрольная работа [2,4 M], добавлен 24.05.2019

  • Реализация алгоритмов Краскала и Прима для построения минимального остовного дерева взвешенного связного неориентированного графа. Анализ трудоемкости алгоритмов, их псевдокоды и тестирование. Применение алгоритма Краскала на практике в работе авиалиний.

    курсовая работа [142,0 K], добавлен 25.12.2012

  • Создаваемые программные средства. Значительные капитальные затраты на приобретение, освоение ПС. Классификация программных средств ВТ. Расчет капитальных затрат, экономии основных видов ресурсов в связи с использованием нового ПС, экономического эффекта.

    реферат [41,5 K], добавлен 09.12.2008

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.

    курсовая работа [974,0 K], добавлен 21.12.2016

  • Анализ показателей оценки эффективности информационных систем и технологий. Расчет трудовых и стоимостных показателей и показателей достоверности информации, разработка программы для ускорения методов обработки данных. Интерфейс и листинг приложения.

    дипломная работа [1,2 M], добавлен 14.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.