Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Евстифеев Андрей Александрович

Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли
<
Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Евстифеев Андрей Александрович. Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли : дис. ... канд. техн. наук : 05.13.11 Москва, 2006 135 с. РГБ ОД, 61:07-5/985

Содержание к диссертации

Введение

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

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

1.2. Существующие подходы к компиляции программного кода написанного на ЯВУ при разработке программного обеспечения 30

1.3. Анализ языков программирования представленных на рынке информационных технологий 33

1.4. Пути повышения эффективности проектирования программных систем с промежуточным языком 36

1.5. Основные требования и стандарты разработки программных систем 38

1.6. Выводы 41

2. Технология построения промежуточного языка 43

2.1. Принцип разработки программного обеспечения 43

2.1.1 Выделение целевого класса и базового набора унифицируемых языков высокого уровня 47

2.1.2 Унификация языков высокого уровня, включенных в базовый набор 47

2.1.3 Разработка унифицированного единого транслятора программ 48

2.2. Критерий полноты и оперативной проверки правильности ведения глоссария операторов 54

2.3. Критерий требуемой разрядности операндов 56

2.4. Методика формирования промежуточного языка 57

2.5. Построение промежуточного языка 61

2.6. Выводы 63

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

3.1. Характеристики языков программирования 65

3.2. Анализ существующих подходов к оценке затрат на программное обеспечение 69

3.3. Характеристики промежуточных языков и определение их структуры 72

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

3.5. Оценка затрат на разработку, отладку и эксплуатацию программного обеспечения с применением компилирующего транслятора 77

3.5.1 .Оценка затрат на разработку программного обеспечения с применением компилирующего транслятора 77

3.5.2. Оценка затрат на отладку программного обеспечения с применением компилирующего транслятора 82

З.б.З.Оценка затрат на эксплуатацию программного обеспечения с применением компилирующего транслятора 86

3.6.Оценка затрат на разработку, отладку и эксплуатацию программного обеспечения с применением промежуточного языка 87

3.6.1.Оценка затрат на разработку программного обеспечения с применением промежуточного языка 87

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

3.6.3.Оценка затрат на эксплуатацию программного обеспечения с применением промежуточного языка 89

3.7.Оценки затрат на разработку программной системы с учетом различных технологий трансляторов 89

3.7.1 .Определение основных коэффициентов для проведения расчетов 90

3.7.2.0ценка затрат на разработку программной системы 92

3.8.Выводы 96

4. Применение созданного промежуточного языка для реализации проектов газовой отрасли 97

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

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

4.3.Определение границы применимости предлагаемой Технологии 108

4.4.Выводы 108

Заключение 110

Список использованных источников

Введение к работе

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

С другой стороны, происходит постоянный рост производительности и состава вычислительных средств. По просьбам отдельных фирм-производителей в аппаратуру включаются дополнительные машинные команды, функциональность которых раньше реализовывалась программными средствами. В ряде случаев система машинных команд дополняется командами, выполняющими операции с расширенной функциональностью, что связано с появлением в аппаратуре специализированных функций. Примером такого расширения является дополнение процессоров фирмы Intel технологиями ММХ и ХММ. Для работы с этими аппаратурными расширениями, введенными в микропроцессор, было добавлено в общей сложности 172 новых машинных команды (66 команд для ММХ и 106 для ХММ)[14]. Существующие трансляторы для языков высокого уровня и средства разработки, как правило, не поддерживают машинные команды с расширенной функциональностью, поскольку на момент разработки транслятора эти команды отсутствовали.

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

В этом случае фирма-разработчик сталкивается с рядом проблем, обусловленных следующими факторами:

-специалисты, которые разрабатывали систему, уже не работают в данной области;

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

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

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

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

Идея использования промежуточного языка в настоящее время реализована в двух основных вариантах: - Независимая трансляция модулей на разных входных языках в промежуточный код с последующим его исполнением на виртуальной машине под фиксированную программно-аппаратурную платформу. Примером данного подхода является платформа MS.NET с интегрированной средой разработки Visual Studio.NET и средой периода исполнения .NET Framework. К недостаткам данной платформы можно отнести ограниченный набор входных языков и реализацию среды периода исполнения только для операционной системы Windows. Платформа не поддерживает широко используемые при разработке информационно-аналитических систем газовой отрасли системы программирования Fortran, Pascal и др.

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

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

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

Для достижения поставленной цели в диссертационной работе решены следующие основные задачи:

- Проведен анализ функциональности языков высокого уровня и областей их применения;

- Определены требования к промежуточному языку программирования:

- Разработан метод построения глоссария операторов промежуточного языка;

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

- На основе предложенного метода разработан промежуточный язык и прототип универсального компилятора для систем программирования C++ и Java;

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

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

Методы исследования. При разработке использовались элементы комбинаторики и методы математической статистики.

Научная новизна. Научную новизну представляют следующие результаты диссертационной работы:

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

- Метод построения глоссария операторов промежуточного языка;

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

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

Основные положения, выносимые на защиту:

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

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

- Метод построения глоссария операторов промежуточного языка;

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

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

Достоверность полученных результатов подтверждается применением предложенного метода при разработке прототипа универсального компилятора для систем программирования C++ и Java и его внедрения при разработке ПК «Разрешения» и сравнением оценок затрат на разработку, отладку и сопровождение проектов по разработанной методике и реальных затрат. Разность между предварительными оценками и реальными затратами не превышают 5%.

Реализация результатов и практическая ценность работы, Результаты работы применяются в ВНИИПромгаз ОАО «Промгаз» на этапах реализации, тестирования, модификации и эксплуатации программных систем. Результаты работы по теме диссертации использовались при выполнении научно-исследовательских работ по следующим темам;

- Договор с ОАО «Газпром» № 0300-02-2 от 03.01.2002 г, «Совершенствование системы ценообразования при проектировании, строительстве объектов газовой промышленности и научное сопровождение перехода отрасли на новую смет но-нормативную базу»;

- Договор с ОАО «Газпром» № 0304-02-2 от 03.01.2002 г, «Создание системы управления распределением и поставками газа потребителям регионов РФ, информационное обеспечение принятия управленческих решений по совершенствованию внутреннего рынка газа»;

- Договор с ОАО «Газпром» № 0307-02-2 от 03.01.2002 г, «Разработка и внедрение научно-методических основ, нормативов и регламентов по проектированию, строительству и эксплуатации систем распределения и использования газа». Работа по данному договору удостоена отраслевой премии по науке ОАО «Газпром» за 2003 год. 

Апробация работы. Основные результаты работы докладывались и получили одобрение на научной сессии МИФИ, проходившей в Московском Инженерно-физическом Институте (Государственном Университете) в феврале 2004 года.

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

1. Евстифеев А.А., Хетагуров Я.А. "Анализ затрат при создании вычислительных систем, связанных с выбором языка программирования". Научная сессия МИФИ 2004. Направление - Информатика. Секция -3, Информатика и процессы управления. Москва, МИФИ январь 2004,

2. Евстифеев А.А., "Предложения по оснащению котельных ОАО "Газпром" приборами учета, газоанализаторами и сигнализаторами горючих и токсичных газов". Научно-технический сборник « Отраслевая энергетика и проблемы энергоснабжения» приложение к журналу "Наука и техника в газовой промышленности", Москва 2004 апрель 2004

3. Евстифеев А.А., "Программный комплекс для анализа систем теплоснабжения предприятий ОАО "Газпром". Ежемесячный научно-технический и производственный журнал "Газовая промышленность", Москва ноябрь 2004 года.

4. Сторонский Н.М., Евстифеев А.А. Отчет о научно-исследовательской работе № 0300-02-2, «Развитие программного комплекса по результатам опытной эксплуатации и актуализация базы данных по вновь разработанным ГЭСН», Москва, ВНИИПромгаз, 2004.

5. Кисленко Н.А., Магдеев Р.А., Евстифеев А.А.Отчет о научно-исследовательской работе № 0304-02-2 этап №1 «Разработка информационной системы (ИС) анализа и прогноза использования топливно-энергетических ресурсов (ТЭР) по регионам РФ и по отраслям промышленности», Москва, ВНИИПромгаз, 2002.

6. Ярыгин Ю.Н., Магдеев Р.А., Евстифеев А.А. Отчет о научно-исследовательской работе № 0304-02-2 этап №3 «Научно-методическое и программное обеспечение разработки и внедрения отраслевой системы мониторинга, диагностики и управления газовым хозяйством ОАО «Газпром», Москва, ВНИИПромгаз, 2003.

Структура работы. Диссертация состоит из введения, четырех глав, заключения, списка использованных источников из 87 наименований и 2-х приложений и содержит 115 страниц машинописного текста без учета приложений.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

В заключении изложены основные результаты, полученные при выполнении диссертационной работы. 

Анализ языков программирования представленных на рынке информационных технологий

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

Для анализа были отобраны промежуточные языки программирования компаний, претендующих на главенствующие позиции в разработке программного обеспечения на мировом рынке, в перечень таких компаний вошли: Microsoft с языком MSIL (сокращенно IL); Borland с языком VCL; Sun Microsystems с байт кодом Java; Haskell с языком Haskell 98; Wolf с языком Neko.

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

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

Результаты проведенного анализа были сведены и представлены в табл. 2.

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

Множество авторов работали над проблемой оценки эффективности программных систем, например: Страссман П, Дубов A.M., Коссов В.В., Лившиц В.Н., Шахназаров А.Г., но за последние сорок лет так и не выработано четкого определения эффективности языка программирования и эффективности программной системы. Среди изученных источников не удалось найти ни одной методики оценки эффективности программных проектов с применением нескольких языков программирования высокого уровня. По результатам анализа удалось сформулировать возможные пути повышения эффективности разработки программных систем.

Существует несколько путей повышения эффективности проектирования программного обеспечения с промежуточным языком, к ним можно отнести следующие: 1) Использование единого промежуточного языка для нескольких входных языков высокого уровня; 2) Использование единой разрядности операндов промежуточного языка; 3) Использование единого формата команд промежуточного языка; 4) Применение постфиксной формы записи команд; 5) Увеличение объемов внедрения промежуточного языка: Увеличение количества программ, написанных с применением промежуточного языка; Увеличение тиража программ, написанных с применением промежуточного языка.

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

чае использования сборки на аппаратурных средствах пользователя или провести повторную трансляцию в машинные коды и поставить обновленный программный продукт пользователю. Это делает систему более адаптивной. Модернизация программного обеспечения, разработанного с применением промежуточного языка, становится проще за счет возможности разрабатывать новые функциональные модули к уже эксплуатирующимся системам на любом удобном для проектировщика или наиболее функционально приспособленном для выполнения функций алгоритма языке программирования. Использование единой разрядности операндов промежуточного языка. Вопрос о использовании единой разрядности операндов промежуточного языка появился в результате анализа статистической информации, собранной в процессе работы над данной диссертационной темой (приложение 2), для выяснения перечня наиболее часто используемых машинных команд и их процентного отношения к общему перечню машинных команд современных аппаратурных средств. В процессе анализа статистики удалось выяснить, что наиболее часто (в рамках полученной статистики 90% случаев) в программных продуктах собранных для конкретных аппаратурных средств, производится использование объявления переменных разрядности центрального процессора данных аппаратурных средств. Выполнение такого выравнивания позволяет сократить число машинных команд, используемых для кодирования макроподстановок промежуточного языка, упростив тем самым разработку транслятора, и не потеряв в производительности полученного в результате трансляции машинного кода программы, что непосредственно скажется на стоимости транслятора, и производительности получаемого в результате трансляции программного кода.

Использование единого формата команд промежуточного языка позволяет сделать разрабатываемый промежуточный язык удобным для развития, поддержки, модернизации. Позволяет избежать операторов выполняющих одинаковые функции записанных с разной последовательностью аргументов. Упрощает разработку трансляторов с языка высокого уровня в промежуточный язык. Облегчает автоматизацию за счет возможности применения формальных правил и уже существующих алгоритмов. [49]

Разработка унифицированного единого транслятора программ

Оценка затрат на разработку, отладку и эксплуатацию программного обеспечения с применением компилирующего транслятора

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

Увеличение производительности программирования достигается, главным образом, применением языков высокого уровня (ЯВУ). Однако, программы для различных аппаратурных средств имеют ряд особенностей, которые не позволяют в полной мере использовать сервисные средства и опыт программирования на различных ЯВУ, накопленный при решении задач планирования, учета и научно-технических расчетов на универсальных ЭВМ.

Программирование на ЯВУ, хотя и повышает производительность труда программистов, но при использовании существующих средств трансляции приводит к увеличению длины программы, что требует дополнительных аппаратурных затрат для ее размещения и исполнения. Кроме того, увеличение длины программы при регламентированном времени ее выполнения повышает требования к производительности аппаратурных средств. На основании статистических данных для распространенных трансляторов с широко используемыми ЯВУ, расширение программ по сравнению с ассемблерными в среднем оценивается в 1,2 -— 5 раз, что приводит к увеличению требований к производительности — в 1,5—6 раз [2].

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

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

Для выявления функциональных связей между параметрами ПС и транслятором языка программирования проведем анализ затрат и рассматривается их связь с характеристиками программной системы по этапам создания. Жизненный цикл программной системы условно разделим на следующие этапы: 1) проектирование алгоритмов, разделение на модули, разработка структуры взаимной связи между модулями, представляющими отдельные алгоритмы, определение принципов организации и последовательности работы модулей; 2) написание программ на ЯВУ отдельных модулей и их автономная отладка, тестирование и верификация, комплексная отладка всех модулей программ; 3) совместная комплексная отладка программной системы и проведение испытаний; 4) эксплуатация ПО с учетом модернизации.

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

Затраты второго этапа жизненного цикла ПС главным образом определяются языком программирования, объемами программ и инструментальным оснащением программистов (универсальные машины, встроенные системные машины, трансляторы, сервисные программы и др.),

Затраты третьего и четвертого этапов жизненного цикла ПС определяются принятыми решениями на первом и втором этапе проектирования ПС, поскольку учитываются межмодульные связи.

Затраты на программное обеспечение в течение цикла жизни системы без учета первого этапа жизненного цикла определяются формулой: S„p =Snp2+Sr,pl+S p3 (3.16) где S 2 - затраты второго этапа жизненного цикла ПО — на написание программ, автономные отладки модулей и комплексную отладки ПС; Snpi - затраты третьего этапа жизненного цикла ПС - на совместную комплексную отладку и проведение комплексных испытаний; Snp3 — затраты четвертого этапа жизненного цикла ПС — на эксплуатацию ПС с учетом модернизации.

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

Рассмотрим затраты второго этапа: = + (3.17) где S4np2 — затраты человеческого труда на написание программ, их проверку и отладку в автономном и комплексном программном режимах; S;2 — затраты на машинное время, в течение которого проводилась трансляция и отладка оттранслированных программ на универсальных вычислительных средствах, а также проверка и отладка программ на встроенных системных машинах. В свою очередь, примем, что затраты на машинное время состоят из следующих составляющих: 2= + + + , (3.18) где Smp — затраты на время трансляции программы, введенной на ЯВУ, в машинный язык; Sl!Ut —затраты на время, необходимое для обнаружения ошибок и корректировку программы, которая заключается в повторных трансляциях модулей программы; Sni: — затраты на проверку и отладку программы на встроенных системных машинах; Seu,c — затраты на время, необходимое для обнаружения ошибок во встроенной машине и их корректировку.

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

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

Провести полноценное сравнение этих систем и в полной мере проявить возможности предложенной Технологии построения программных систем оказалось сложно, была получена характеристика для проектов разработанных для языка Borland C++ и среды Borland C++ Builder 6.0. Транслятор промежуточного языка в настоящее время поддерживает два языка высокого уровня: C++ и Java. Получены сравнительные характеристики для проектов написанных на различных языках высокого уровня и нескольких разнородных трансляторов.

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

Определение границы применимости предлагаемой Технологии

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

1) Результаты диссертационной работы внедрены:

в Отрытом Акционерном Обществе «Промгаз» город Москва; предлагаемая технология, оформлена в виде методики, используется при разработке программных систем для обеспечения автоматизации деятельности предприятий газовой отрасли, в частности:

При разработке программного комплекса «Ведение и анализ разрешений на право использования природного газа в качестве топлива в газоисполь-зующих установках выданных с Министерством экономического развития Российской Федерации и администрациями субъектов федерации»; о При разработке программно-методического комплекса «Мониторинг уровня цен на строительные материалы, используемые при строительстве объектов газовой отрасли»; 2) Применение предлагаемой Технологии в программных продуктах позволило:

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

1) Определены требования к промежуточному языку программирования:

2) Разработан метод построения глоссария операторов промежуточного языка;

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

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

5) Разработана технология построения промежуточного языка, позволяющая сократить затраты на создание программных систем, удовлетворяющая требованиям, предъявляемым к промышленным методам проектирования программных систем.

6) На основе предложенной технологии разработан прототип универсального компилятора для систем программирования C++ и Java.

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

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

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

Результаты диссертационной работы целесообразно использовать в проектных институтах газовой отрасли (ВНИИПромгаз, ВНИИГаз, ОАО Информгаз), а так же других организациях, осуществляющих создание и эксплуатацию программных информационно-аналитических систем.

Похожие диссертации на Методы и средства формирования промежуточного языка при разработке программного обеспечения информационно-аналитических систем газовой отрасли