Введение к работе
Актуальность темы. Сопровождение является наиболее длительным, трудоемким и дорогостоящим этапом жизненного цикла программного обеспечения. Основное содержание сопровождения - внесение изменений в программное обеспечение по требованию заказчика. Модификация программной системы требует глубокого понимания ее организации. Необходимые сведения включают в себя множество аспектов и сильно зависят от используемых технологий и инструментов. Невозможность их собрать и проанализировать приводит к усложнению процесса сопровождения, возникновению ошибок, ухудшению характеристик системы. Ситуация усугубляется тем, что в результате большого количества изменений программная система разрастается, теряет первоначальную структуру, и эффективность сопровождения падает.
В работе предлагается разработанный автором принцип моделирования программных систем сложной структуры, который нацелен на то, чтобы облегчить внесение изменений при их длительном сопровождении. Предлагаемый подход позволяет наиболее полно подобрать представление сведений о системе необходимых для ее модификации, построить модель системы в заданном представлении и обеспечить ее анализ.
Цель работы. Формализация подхода моделирования программных систем на основе графа взаимодействий, разработка аналитического аппарата для этого подхода и обоснование его применения при сопровождении программных систем.
Для достижения цели были поставлены и решены следующие задачи:
провести анализ нотаций моделирования и области их применения;
предложить математическое описание подхода к моделированию на основе графа взаимодействий, настройки модели для описания программной системы в структурных и объектных нотациях
разработать аналитический аппарат для моделей на основе графа взаимодействия;
обеспечить хранение и реализацию алгоритмов анализа модели на основе графа взаимодействий и связанной с ней дополнительной информации, в том числе документации и сведений для конфигурационного управления;
определить порядок работы с моделью на этапе сопровождения.
Метод исследования. Для обоснования свойств предложенного принципа
моделирования используется системный анализ, методы на основе теории графов, теории множеств и отношений.
Научная новизна работы состоит в следующем:
Разработан подход к моделированию программных систем на основе
графа взаимодействий, который позволяет описывать архитектуру и
файловую организацию программной системы в виде ориентированного
размеченного графа с линейной классификацией вершин и дуг в
соответствии с выбранной нотацией, что позволяет с достаточной точностью
представить программную систему и снижает сложность настройки нотации представления.
Для графа взаимодействий разработан аналитический аппарат с учетом его адаптивности к нотации.
Предложена методология применения моделей для сопровождения системы на основе графа взаимодействий.
Практическая ценность. Результаты работы можно использовать как основу для создания полноценного инструмента сопровождения, обеспечивающего построение модели программной системы в рамках задаваемой нотации и расширяющего возможности анализа сведений, необходимых для ее модификации. Граф взаимодействий можно использовать для описания, обоснования и обобщения алгоритмов анализа архитектуры программных систем.
Достоверность результатов. Достоверность результатов обеспечивается строгостью постановок и доказательств утверждений, корректным использованием стандартов и математических моделей, рассмотрением реальных практических примеров.
Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались на 4-й, 5-й и 6-й Всероссийской конференции студентов, аспирантов и молодых учёных «Технологии Microsoft в теории и практике программирования» (Москва, 2007, 2008, 2009), на XV и XVI международной студенческой школе-семинаре "Новые информационные технологии" (Судак 2007, 2008), на XVI международной конференции по вычислительной механике и современным прикладным программным системам (ВМСППС'2009) (Алушта, 2009) и на VIII Международной конференции по неравновесным процессам в соплах и струях (NPNJ2010) (Алушта, 2010), на научном семинаре Института Системного Программирования РАН (05.09.2010), на научном семинаре Института прикладной математики им. М.В.Келдыша (16.11.2010).
Публикации. Результаты работы опубликованы в девяти печатных работах [1-10], в том числе три работы [1,3] в изданиях, входящих в перечень ВАК.
Структура и объем работы. Диссертационная работа состоит из введения, трех глав, заключения и двух приложений. Общий объем работы -144 страницы. Список литературы включает 56 наименований.