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

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

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

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

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

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

5

ОСОБЕННОСТИ РАСЧЕТА ТРУДОВЫХ ЗАТРАТ НА РАЗРАБОТКУ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОТКАЗОУСТОЙЧИВЫХ СИСТЕМ

Ярков К.В., Коваленко В.С.

Сибирский федеральный университет

Красноярск, Россия

Вопрос разработки надежного и отказоустойчивого программного обеспечения информационно-управляющих систем (ИУС) является наиболее сложной и всегда актуальной задачей. Если надежность аппаратного обеспечения, как правило, сводится к его критическим деталям и технико-технологическим аспектам, то надежность программного обеспечения (ПО) в гораздо большей степени зависит от «человеческого фактора» и влияния внешней среды.

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

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

Существующие основные подходы к реализации мультиверсионности программного модуля представлены в Таблице 1.

Название

Описание

1

NVP(N-version programming) мультиверсионное программирование

Авижиенис, 1985 г.

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

2

RB (Recovery Block)

блок восстановления

Брайен Рендел, 1975 г.

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

3

CRB (consensus RB) согласованный блок

восстановления

Кит Скотт, 1987 г.

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

4

NSCP (N-self checking programming) или NVP с самоконтролем

Жан-Клод Лапри,1987 г.

Приемочный тест играет роль фильтра. Используется соответствующий алгоритм голосования

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

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

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

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

Проведенный анализ существующих методик оценки стоимости разработки ПО показал, что:

ь при оценке трудозатрат чаще всего исходят из объема кода программного продукта, который при современных IT технологиях не всегда отражает трудоемкость процесса;

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

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

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

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

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

Основные функции, которые выполняет система: ввод входных данных; расчет затрат на выполнение работ; вывод результатов и печать сметы. Разработанная программа Calculation of workspace дает возможность:

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

ь определять размер системы, исходя из количества объектов;

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

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

ь учитывать трудозатраты на введение программной избыточности; ?учитывать стоимость процессоров разного типа.

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

Рис.1 Диаграмма вариантов использования программной системы

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

трудозатраты разработка программный модуль

Библиографический список

1.Ковалев, И. В. Проблемы программной реализации мультиверсионной среды исполнения алгоритмов обработки информации в системах управления. // И.В. Ковалев. - Красноярск: Вестник Сибирского государственного аэрокосмического университета им. академика М.Ф. Решетнева Выпуск№ 4 (56) / 2014.

2.Ступина, А. А. Технология надежностного программирования задач автоматизации управления в технических системах [Электронный ресурс]: монография / А. А. Ступина, С. Н. Ежеманская. - Красноярск : Сиб. федер. ун-т, 2011. - 164 с. - ISBN 978-5-7638-2354-7.

3.Шеенок, Д.А. Повышение надежности программного обеспечения сложных систем. // Д.А. Шеенок Д.А., В.А. Терсков, В.Г. Жуков. - Красноярск: Вестник Сибирского государственного аэрокосмического университета им. академика М.Ф. Решетнева Выпуск № 5 (45) / 2012.

4.Царев, Р. Ю. Мультиверсионное программное обеспечение. Алгоритмы голосования и оценка надёжности [Электронный ресурс] : монография / Р. Ю. Царев, А. В. Штарик, Е. Н. Штарик. - Красноярск: Сиб. федер. ун-т, 2013. - 120 c. - ISBN 978-5-7638-2749-1.

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


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

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