Реверсивные методы структурной разработки программных систем на начальных этапах жизненного цикла тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Матьяш, Валерий Анатольевич

  • Матьяш, Валерий Анатольевич
  • кандидат технических науккандидат технических наук
  • 1999, Санкт-Петербург
  • Специальность ВАК РФ05.13.11
  • Количество страниц 195
Матьяш, Валерий Анатольевич. Реверсивные методы структурной разработки программных систем на начальных этапах жизненного цикла: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Санкт-Петербург. 1999. 195 с.

Оглавление диссертации кандидат технических наук Матьяш, Валерий Анатольевич

ВВЕДЕНИЕ.

1. РЕВЕРСИВНАЯ РАЗРАБОТКА ПРОГРАММНЫХ СИСТЕМ, СРЕДСТВА И МОДЕЛИ.

1.1. Разработка программных систем и жизненный цикл программных систем.

1.2. Понятие реверсивной разработки программных систем.

1.3. Обзор современных средств реверсивной разработки.

1.4. Диаграммные языки, используемые при реверсивной разработке.

1.5. Математические модели используемых диаграммных языков.

1.5.1. Диаграмма потоков данных.

1.5.2. Диаграмма "сущность-связь".

1.5.3. Схема вызовов.

1.5.4. Схема описания.

1.5.5. Схема алгоритма.

1.6. Выводы.

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

2.1. Метрики моделей диаграммных языков.

2.2. Прямое преобразование диаграммных языков.

2.2.1. Преобразование диаграмма потоков данных диаграмма "сущность-связь".

2.2.2. Преобразование диаграмма потоков данных - схема вызовов.

2.2.3. Преобразование диаграмма потоков данных - схема описания.

2.2.4. Преобразование схема вызовов - схема алгоритмов.

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

2.3.1. Преобразование диаграмма "сущность-связь" -диаграмма потоков данных.

2.3.2. Преобразование схема вызовов - диаграмма потоков данных.

2.3.3. Преобразование схема описания - диаграмма потоков данных.

2.3.4. Преобразование схема алгоритма - схема вызовов.

2.4. Выводы.

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

3.1. Расширения используемых диаграммных языков.

3.1.1. Диаграмма потоков данных.

3.1.2. Диаграмма "сущность-связь".

3.1.3. Схема вызовов.

3.1.4. Схема описания.

3.1.5. Схема алгоритма.

3.2. Прямое преобразование диаграммных языков.

3.2.1. Преобразование диаграмма потоков данных диаграмма "сущность-связь".

3.2.2. Преобразование диаграмма потоков данных - схема вызовов.

3.2.3. Преобразование диаграмма потоков данных - схема описания.

3.2.4. Преобразование схема вызовов - схема алгоритма.

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

3.3.1. Преобразование диаграмма "сущность-связь" -диаграмма потоков данных.

3.3.2. Преобразование схема вызовов - диаграмма потоков данных.

3.3.3. Преобразование схема описания - диаграмма потоков данных.

3.3.4. Преобразование схема алгоритма - схема вызовов.

3.4. Выводы.

4. СПОСОБЫ ПРЕДСТАВЛЕНИЯ ДИАГРАММНЫХ ЯЗЫКОВ.

4.1. Лингвистическое представление.

4.2. Информационное представление.

4.3. Таблично-функциональное представление.

4.4. Связь между представлениями.

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

4.5.1. Преобразователь класса "символический язык -символический язык".

4.5.2. Преобразователь класса "символический язык - база данных".

4.5.3. Преобразователь класса "база данных - символический язык".

4.5.4. Преобразователь класса "символический язык таблица".

4.5.5. Преобразователь класса "таблица - символический язык".

4.6. Выводы.

5. РЕАЛИЗАЦИЯ И ПРИМЕНЕНИЕ СИСТЕМЫ РЕВЕРСИВНОЙ РАЗРАБОТКИ.

5.1. Описание функциональных свойств системы.

5.2. Структура системы.

5.3. Использование системы реверсивной разработки для решения задач реверсивной разработки.

5.4. Эффективность использования системы реверсивной разработки

5.5. Выводы.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Реверсивные методы структурной разработки программных систем на начальных этапах жизненного цикла»

Актуальность проблемы

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

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

Анализ современных средств автоматизации, к которым относятся САБЕ-системы (точнее, их определенная функциональная часть) и специализированные программные инструментальные средства для реверсивной разработки, показывает, что входными данными для процесса реверсивной разработки является исходный код программой системы и физическая база данных, если она имеется в системе, а результатом - диаграммные языки и другая информация, относящиеся к различным этапам разработки.

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

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

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

Цель работы

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

Задачи работы

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

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

3) разработка лингвистического, информационного и таблично-функционального представлений совокупности математических моделей;

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

5) создание инструментального средства, обеспечивающего реализацию методов реверсивной разработки;

6) решение конкретных практических задач с помощью разработанного инструментального средства.

Используемые методы исследования

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

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

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

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

3) лингвистическое, информационное и таблично-функциональное представление совокупности математических моделей;

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

Научные результаты

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

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

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

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

Научная новизна

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

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

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

Практическая значимость

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

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

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

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

4) Повышает мобильность проектов программных систем.

Реализация и внедрение результатов

Основные теоретические положения и практические результаты работы были использованы при разработке специального программного обеспечения бортового вычислительного комплекса, осуществляемой в конструкторском бюро "Арсенал" им. М.В. Фрунзе, а также в учебном процессе в Санкт-Петербургском Государственном университете аэрокосмического приборостроения.

11

Апробация работы

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

1) "Автоматизация процессов управления соединениями и частями ПВО, информационные технологии", СПб, 1996;

2) "Совершенствование вооружения и военной техники, способы боевого применения и технического обеспечения частей и подразделений РТБ", СПб, 1998;

3) Первая научная сессия аспирантов ГУАП, СПб, 1998;

4) 2-я научная сессия аспирантов, молодых ученых и соискателей СПбГУАП, СПб, 1999.

Публикации

Основные результаты работы опубликованы в 5 печатных работах.

Структура и объем работы

Диссертация состоит из введения, пяти разделов, заключения, библиографического списка (56 наименований) и двух приложений, имеет общий объем 195 машинописных страниц, содержит 11 таблиц и 90 рисунков.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Матьяш, Валерий Анатольевич

5.5. Выводы

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

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

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

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

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

170

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

Математические модели полно и без избыточности описывают рассматриваемые диаграммные языки и предназначены для строгого описания методов взаимного преобразования. Для метрических оценок взаимных преобразований разработан ряд метрик.

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

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

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

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

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

Список литературы диссертационного исследования кандидат технических наук Матьяш, Валерий Анатольевич, 1999 год

1. Артемьев В.И. Обзор способов и средств построения информационных приложений. // Системы управления базами данных. 1996. - №5-6.

2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Синтаксический анализ. Том 1. М.: Мир, 1978. 616 с.

3. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Компиляция. Том 2. М.: Мир, 1978. 488 с.

4. Богданов Д.В., Путилов В.А., Фильчаков В.В. Стандартизация процессов обеспечения качества программного обеспечения. Апатиты: КФ ПетрГУ, 1997. - 161 с.

5. Богословская Н.В., Бржезовский A.B., Жаков В.И., Путилов В.А., Фильчаков В.В. Автоматизированные методы спецификации программных систем. Апатиты: КФ ПетрГУ, 1996. - 147 с.

6. Богословская Н.В., Бржезовский А. В., Жаков В. И., Фильчаков В.В. Системы автоматизации разработки программного обеспечения. Учебное пособие. СПб: СПВУРЭ ПВО, 1996. - 86 с.

7. Боэм Б. Инженерное проектирование программного обеспечения. М.: Радио и связь, 1985. - 511 с.

8. Бржезовский A.B., Жаков В.И., Путилов В.А., Фильчаков В.В. Синтез моделей вычислительного эксперимента. СПб: Наука, 1992. - 231 с.

9. Вендров A.M. CASE-технологии. Современные методы и средства проектирования информационных систем. М.: Финансы и статистика, 1998.- 176 с.

10. Вендров A.M. Один из подходов к выбору средств проектирования баз данных и приложений // СУБД, 1995, №3.

11. Гейн К., Сарсон Т. Структурный системный анализ: средства и методы. -М.: Эйтекс, 1992. 274 с.

12. Глушков В.М., Цейтлин Г.Е., Ющенко E.JI. Алгебра. Языки. Программирование. Киев: Наукова думка, 1978. - 320 с.

13. Горчинская О.Ю. DESIGNER/2000 новое поколение CASE-продуктов фирмы ORACLE. // Системы управления базами данных. - 1995. - №3. - С. 9-25.

14. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975. - 544 с.

15. Деметрович Я., Кнут Е., Радо П. Автоматизированные методы спецификации. М.: Мир, 1989. - 115 с.

16. Жаков В.И., Фильчаков В.В. Синтез текстов программ из концептуальной модели предметной области. // Интеллектуальные инструментальные средства вычислительного эксперимента. Апатиты, 1997. - С. 3048.

17. Зыков A.A. Основы теории графов. М.: Наука, 1987. - 384 с.

18. Игнатьев М.Б., Фильчаков В.В., Осовецкий Л.Г. Активные методы обеспечения надежности алгоритмов и программ. СПб: Политехника, 1992.-288 с.

19. Ингерман П. Синтаксически ориентированный транслятор. М:. Мир, 1969. - 174 с.

20. Майерс Г. Надежность программного обеспечения. М.: Мир, 1980.- 360 с.

21. Мендельсон Э. Введение в математическую логику. М.: Наука, 1984.- 320 с.

22. Мессарович М., Токахара Я. Общая теория систем: математические основы. М.: Мир, 1978. - 340 с.

23. Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М.: "Лори", 1996. - 242 с.

24. Касьянов В.Н. Оптимизирующие преобразования программ. -М.: Наука, 1988.- 336 с.

25. Коллинз Д. Структурный анализ в разработке систем. М.: Финансы и статистика, 1986. - 240 с.

26. Лебедев В.Н. Введение в системы программирования. М.: Статистика, 1975. - 312 с.

27. Липаев В.В. Проектирование программных средств: Учебное пособие для вузов по спец. "Автоматизир. системы обраб. информ. и управления". М.: Высш. шк., 1990. - 301 с.

28. Липаев В.В. Проектирование программных средств. М.: Высш. шк.,1990.-303 с.

29. Маккиман У., Хорнинг Дж., Уортман Д. Генератор компиляторов. М.: Статистика, 1980. - 528 с.

30. Марка Д., Мак Гоуэн К. Методология структурного анализа и проектирования. М.: Метатехнология, 1993. - 240 с.

31. Матьяш B.A., Никандров А.В., Путилов В.А., Федоров А.Е., Фильчаков В.В. Структурный анализ при разработке программного обеспечения систем реального времени. Апатиты: КФ ПетрГУ, 1997. - 78 с.

32. Матьяш В.А. Реинжениринг программных систем на этапах анализа и проектирования // Первая научная сессия аспирантов ГУАП/Сборник докладов. СПб: ГУАП, 1998. с. 296-298.

33. Матьяш В.А. Синтаксически управляемый реинжениринг программных систем // Проблемы совершенствования радиоэлектронной техники ПВО/Тем. сб. №4. СПб: СПВУРЭ ПВО, 1996.

34. Матьяш В.А., Федоров А.Е., Фильчаков В.В. Синтаксически управляемые методы реинжениринга программных систем // Интеллектуальные инструментальные средства вычислительного эксперимента. Апатиты: Кольский научный центр РАН, 1997. с. 108-122.

35. Монет Х.К.Г. SELECT Enterprise инструментальная среда анализа и проектирования архитектуры систем организационного управления. // Информационные технологии. - 1997. - №2.

36. Назаров С.В. Операционные системы специализированных вычислительных комплексов: Теория построения и системного проектирования. М.: Машиностроение, 1989. - 400 с.

37. Проверка и утверждение программ реального времени. / Под ред. Уи. Дж. Квирка. Киев: Наукова думка, 1990. - 216 с.

38. Путилов В.А., Фильчаков В.В., Фридман А.Я. CASE-технологии вычислительного эксперимента. Апатиты, 1994. -Т.1. - 250 е.; Т.2. - 170 с.

39. Саймон А. Репозитории и управление метаданными // Системы управления базами данных. 1996. - №5-6. - С. 154-162.

40. Сивохин A.B. Автоматизация построения трансляторов и синтез программ: Конспект лекций. Пенза: Пензенский политехнический институт, 1987.-92 с.

41. Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. М: Мир, 1985. - 332 с.

42. Татт У. Теория графов: М.: Мир, 1988. - 424 с.

43. Терехов А.Н. Реинжениринг и проблема 2000 года. // Компьютер-Пресс. 1998. - №8. - С. 92-96.

44. Требования и спецификации в разработке программ/ Пер. с англ. под ред. В.Н. Агафонова. М.: Мир, 1984. - 260 с.

45. Фильчаков В.В., Ниилко О.Б., Матьяш В.А. и др. Создание моделей и методов синтаксически управляемого реинжениринга и разработка информационно-управляющих систем реального времени. СПб: СПВУРЭ ПВО, 1998.-76 с.

46. Фокс Дж. Программное обеспечение и его разработка. М.: Мир, 1985.- 368 с.

47. Холстед М. Начала науки о программах. М.: Финансы и статистика, 1981. - 128 с.

48. Aiken Р.Н. Data Reverse Engineering: Slaying the Legacy Dragon. -McGraw-Hill, 1995.- 393 p.

49. Cannady Alan. Structured software metods. Structured Analysis and Structured Design. Imperial College of Science and Tecnology, 1992. P. 323.

50. Chikofsky E.J. Cross J.H. Reverse Engineering and design recovery: A taxonomy. IEEE Software, 1990. - P. 13-17.176

51. Gannod G.C. A Formal Automated Approach for Reverse Engineering Programs with Pointers. // Proc. of IEEE Automated Software Engineering. November. 1997.

52. Gannod G.C., Chen Y. An Automated Approach for Supporting Software Reuse via Reverse Engineering. // Proc. of IEEE International Automated Software Engineering Conference. October. 1998.

53. Jahnke J. H., Wadsack J. Integration of Analysis and Redesign Activities in Information System Reengineering. IEEE Software, 1998.

54. Johnson B. Reverse Engineering with a CASE tool. Technical Report. Software Engineering Research Center, Georgia, Institute of Technology, 1994.

55. Muller H.A. Understanding Software System Using Reverse Engineering Technologies. Research and Practice. University of Victoria, 1996.

56. Software considerations in airborne system and equipment certification. Document of Council of EUROCAE. DO-178b. Washington, Paris. RTCA Inc., 1992. - 114 p.

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