Метод та засоби редокументування успадкованого програмного забезпечення

2



МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИСТЕТ





Авраменко Олена Анатоліївна





УДК 004.4’2 (042.3)





МЕТОД ТА ЗАСОБИ РЕДОКУМЕНТУВАННЯ

УСПАДКОВАНОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ





01.05.03 – Математичне та програмне забезпечення

обчислювальних машин і систем





Автореферат

дисертації на здобуття наукового ступеня

кандидата технічних наук















Київ – 2008


Дисертацією є рукопис.

Робота виконана в Національному авіаційному університеті Міністерства освіти і науки України.



Науковий керівник: доктор технічних наук, професор Сидоров Микола Олександрович, Національний авіаційний університет, декан факультету комп’ютерних наук, завідувач кафедри інженерії програмного забезпечення.



Офіційні опоненти: доктор фізико-математичних наук, професор Провотар Олександр Іванович Київський національний університет ім. Тараса Шевченка, завідувач кафедри інформаційних систем;

кандидат технічних наук, доцент Харченко Олександр Григорович Національний авіаційний університет, доцент кафедри комп’ютерних інформаційних технологій.



Захист відбудеться «4» липня 2008р. о 15 годині на засіданні спеціалізованої вченої ради К 26.062.11 Національного авіаційного університету за адресою: 03680, м. Київ, проспект Космонавта Комарова,1, ауд. 6-200.



З дисертацією можна ознайомитись у науково-технічній бібліотеці Національного авіаційного університету за адресою: 03680, м. Київ, проспект Космонавта Комарова,1.



Автореферат розісланий «2» червня 2008р.



Вчений секретар спеціалізованої вченої ради

кандидат технічних наук				Ю.М. Крамар


ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ



Актуальність теми. Задача редокументування програмного забезпечення (ПЗ) постала у 80-х роках минулого століття, коли одним із шляхів підвищення продуктивності розробки ПЗ стало повторне використання, а джерелом компонент, що повторно використовуються – успадковане ПЗ. Оскільки на сьогоднішній день зростає обсяг успадкованого ПЗ, то задача редокументування набуває особливої актуальності, зокрема в реінженерії ПЗ. Вклад до вирішення задачі редокументування у зазначеному контексті внесли наступні вчені: T. Biggerstaff, E. Chicofsky, M. Freeman, E. Horowitz, V. Rajlish, S. Tilley, H. Sneed, К. Лавріщева, М. Сидоров. 

Результат реінженерії значною мірою залежить від повноти та якості документації успадкованого ПЗ. На жаль, таке ПЗ, найчастіше, не має документації або наявна документація є неповною і застарілою. Існуючі методи редокументування спрямовані на документування лише окремих аспектів успадкованого ПЗ і не враховують вимог технологій прямої інженерії, які використовуються під час створення нового ПЗ. Оскільки саме технологія прямої інженерії визначає вимоги до складу, структури та змісту документів, які мають створюватись під час реінженерії, тому дослідження методу та засобів редокументування успадкованого ПЗ, орієнтованих на технологію розроблення нового ПЗ, є актуальною.

Зв’язок теми дисертації з цільовими програмами та планами перспективних наукових досліджень. Робота виконувалась на кафедрі інженерії програмного забезпечення Національного авіаційного університету в межах науково-дослідної роботи № 24-Ф4/к44 “Дослідження методів та засобів інженерії програмного забезпечення”, держбюджетної теми №297-ДБ06 “Реінженерія програмного забезпечення авіаційних тренажерів” (№ держ. реєстр. 0106U004128) та госпрозрахункової теми “Розроблення діаграм візуального моделювання програмного забезпечення з застосуванням UML” (договір №55 від 10 листопада 2005 р.).

Мета та завдання дисертаційної роботи. Метою дисертаційної роботи є розробка метода редокументування успадкованого ПЗ для використання в реінженерії ПЗ, враховуючи вимоги технології, яка застосовуватиметься під час прямої інженерії. Автоматизація запропонованого методу забезпечується реалізованою архітектурою засобів, які належать до Computer Aided Reverse Software Engineering (CARSE). 

Мета дисертаційної роботи визначає необхідність розв’язання таких задач:

			аналіз методів, процесів і засобів редокументування ПЗ;

			аналіз документації технологій, які застосовуються при створенні ПЗ;

			розробка методу редокументування ПЗ, який забезпечує створення документів для обраної технології і фази розроблення ПЗ в контексті реінженерії; 

			розробка архітектури засобів редокументування успадкованого ПЗ, які забезпечують реалізацію запропонованого методу;

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

Об’єктом дослідження є успадковане ПЗ. 

Предметом дослідження є процеси, моделі, методи і засоби редокументування успадкованого ПЗ. 

Методи дослідження. Для досягнення поставленої мети застосовано такі методи: абстрагування і узагальнення – під час аналізу документації технологій розроблення ПЗ; формалізація і моделювання – під час розробки моделей документу з точки зору редокументування; аналіз і проектування – під час розробки засобів, які реалізують редокументування ПЗ; експеримент – під час апробації запропонованих метода та засобів; вимірювання – при аналізі результатів експериментального і практичного застосування методу та розроблених засобів.

Наукова новизна роботи полягає у розв’язанні науково-практичної задачі редокументування успадкованого ПЗ з метою використання створюваної в результаті редокументування документації в реінженерії. Отримано такі наукові результати:

			вперше розроблено метод редокументування успадкованого ПЗ, який, на відміну від існуючих методів, забезпечує створення документів ПЗ із урахуванням вимог технології розроблення, яка застосовується при прямій інженерії. Це дозволяє здійснювати цілеспрямоване документальне забезпечення процесів прямої інженерії та уникнути зайвих витрат під час реінженерії, які зараз необхідні для створення відповідної документації; 

			вперше побудовані моделі документу ПЗ з точки зору редокументування на рівнях загальної концепції документу, вимог технологій розроблення ПЗ, вимог до певного документу обраної технології, що дає можливість реалізувати запропонований метод редокументування шляхом використання модельно-керованої розробки – Model Driven Development (MDD) та спростити редокументування за рахунок повторного використання розроблених моделей;

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

Практичне значення отриманих результатів. Запропоновані в дисертації метод і реалізовані засоби впроваджені в наступних організаціях: Національний авіаційний університет – в рамках НДР № 24-Ф4/к44 „Дослідження методів та засобів інженерії програмного забезпечення”, в процесі виконання госпрозрахункової договірної роботи в 2005 р. (договір №55 от 10 листопада 2005 р.) і в навчальному процесі у дисциплінах „Методологія розробки великих програмних систем і продуктів” та „Об’єктно-орієнтований аналіз і проектування” за напрямом „Комп’ютерні науки” у вигляді матеріалів лекцій і методичних вказівок до виконання лабораторних робіт (акт впровадження від 03.12.2007 р.); Відкрите акціонерне товариство „КП ОТІ” – в рамках виконання госпрозрахункової договірної роботи (акт впровадження від 26.11.2007 р.). 

Особистий внесок здобувача. У праці [1] автору належить принцип орієнтації на базовий процес розробки при редокументуванні, у праці [4] – узагальнена схема процесу редокументування, аналіз існуючих методів та засобів редокументування.

Апробація результатів дисертації. Результати досліджень доповідались й обговорювались на ІІІ міжнародній науково-практичній конференції з програмування “УкрПРОГ’2006” (Кібернетичний центр ім. В.М. Глушкова Національної академії наук України, м. Київ), конференції аспірантів і студентів “Інженерія програмного забезпечення 2006” (Національний авіаційний університет, с. Жукін), Всеукраїнській конференції аспірантів і студентів “Інженерія програмного забезпечення 2007” (Національний авіаційний університет, с. Конча-Заспа) та наукових семінарах Національного авіаційного університету (м. Київ)

Публікації. Результати досліджень викладені у семи друкованих працях, з них чотири – у збірниках наукових праць, перелік яких, як фахових, затверджений ВАК України, і три – у збірниках тез наукових конференцій. 

Структура та обсяг роботи. Дисертація складається зі вступу, чотирьох розділів, що містять 45 рисунки і 10 таблиць, списку літературних джерел з 87 найменувань та 8 додатків. Загальний обсяг роботи становить 144 сторінок, із них 109 – основного тексту. 


ОСНОВНИЙ ЗМІСТ РОБОТИ



У вступі обґрунтовано актуальність теми дисертаційної роботи, сформульовано мету та основні завдання досліджень, показано наукову новизну і практичну цінність отриманих результатів, наведено дані про зв’язок роботи з науковими темами Національного авіаційного університету та інших установ. 

У першому розділі розглянуто процеси документування та редокументування, наведено визначення редокументування у контексті реінженерії ПЗ, визначені складові документа ПЗ, зроблено аналіз документації технологій – RUP (IBM), MSF (Microsoft), CDM (Oracle), які застосовуються під час розроблення ПЗ, визначено характеристики документації, розглянуто існуючі методи редокументування. 

У контексті реінженерії успадкованого ПЗ застосовують зворотну інженерію та редокументування. Зворотна інженерія призначається для відновлення інформації щодо успадкованого ПЗ у вигляді певних представлень, які використовуються, наприклад, для розуміння ПЗ, необхідного тоді, коли здійснюється переробка або міграція ПЗ. До результатів формування представлень не висувається будь-яких вимог, тобто не регламентуються їх структура, кількість, ступінь деталізації та носії, на яких вони фіксуються. Редокументування застосовується при реінженерії успадкованого ПЗ, коли інформація про ПЗ загублена, є неповною, неточною або неструктурованою. Редокументування визначається як створення документації успадкованого ПЗ на основі відновленої у зворотній інженерії інформації. 

Документ ПЗ визначимо як трійку ,	де C – вміст документа, S – структура документа, P – форма представлення документу. Кожна із складових трійки різною мірою пов’язана з інформацією, яка фіксується у документі, та матеріальним носієм, на якому записаний документ (рис.1). 

Вміст документа відбиває знання (властивості, поведінку, призначення або правила користування) про об’єкт документування (успадковане ПЗ), зафіксовані створювачем документу і розраховані на певну цільову групу користувачів. 

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

Форма представлення документу – це його оформлення, яке виконується за технологічними правилами, що визначають форматування певних елементів документу.

Сукупність документів ПЗ складає документацію, вимоги до якої при прямій інженерії встановлюються технологією розроблення ПЗ. У дисертації зроблено аналіз документації наступних технологій розроблення: RUP, MSF, CDM. Встановлено характеристики документації, суттєві з точки зору редокументування, які поділяються на три типи:

			притаманні документам всіх технологій – належність документів до певних фаз технологій, склад ідентифікаційних елементів;

			притаманні всім документам технології – склад службових структурних елементів, взаємне розташування ідентифікаційних, службових та змістовних структурних елементів у документі, нотація документів; 

			притаманні певному документу технології – структура документу, типи представлень, які складають вміст документу. 

У розділі розглянуто існуючі методи редокументування ПЗ – структурне редокументування та редокументування на основі Web-технологій. Обидва методи спрямовані на вирішення задачі автоматизації лише окремих аспектів успадкованого ПЗ і не враховують особливості застосування результатів редокументування під час реінженерії успадкованого ПЗ, а саме вимог технології розроблення, яка застосовуватиметься при прямій інженерії. Так, наприклад, структурне редокументування стосується відновлення представлень архітектури ПЗ засобами зворотної інженерії і формування на їх основі документації. Редокументування на основі Web-технологій забезпечує автоматизоване створення гіпертекстових анотацій до об’єктно-орієнтованого вихідного коду.

У другому розділі дисертації розглянуто запропонований метод редокументування успадкованого ПЗ. 

При розробці методу використовується підхід MDD – модельно-керована розробка ПЗ, сутність якого полягає у представленні розробки ПЗ як перетворення узгоджених моделей, описуючих ПЗ на різних рівнях абстракції. Для застосування підходу в реалізації методу досліджено концепцію документа ПЗ та його складові з точки зору редокументування на рівнях загальної концепції документу ПЗ, вимог технологій розроблення, вимог до певного документу обраної технології, на основі чого побудовано модель документу ПЗ , мета-модель документу технологій розробки , модель документу технології розробки  і відповідні перетворення вказаних моделей.

Модель документа ПЗ  описує складові  документа ПЗ з урахуванням редокументування незалежно від вимог технологій розроблення. 

Вміст документа надається множиною , де – інформаційний елемент документа (ІЕД) – логічно завершений інкапсульований елемент, який містить інформацію про частини ПЗ або ПЗ у цілому. Під час редокументування ІЕД формуються шляхом включення до них представлень ПЗ, одержаних за допомогою зворотної інженерії, прикладами яких є перелік вимог, діаграми варіантів використання, компонентів і класів, опис класу, форми інтерфейсу користувача, схема бази даних. Представлення  має значення  (текст, рисунок, таблиця, діаграма, анімація або звук) і характеризується властивостями  (тип, нотація, фізичне розташування). Відповідність множин ІЕД  і представлень  документу можна представити як матрицю , де – кількість елементів множини , – кількість елементів множини ,  , 1 – означає, що  відповідає , 0 – якщо не відповідає. ІЕД, окрім представлення, може включати пояснення , яке має тільки текстове значення , наприклад, примітка, підпис таблиці або рисунка. Отже, для має місце: 



.



Структура документу – є дерево , де  – множина структурних елементів документації (СЕД),  – множина ребер, відображаючих відношення ієрархічної упорядкованості між СЕД. Множину  можна розглядати як об’єднання трьох неперетинних підмножин СЕД: змістовних (), ідентифікаційних () та службових (). Змістовні та службові СЕД можуть містити вкладені СЕД, порядок розташування яких визначається списком ребер. Наприклад, для кореневого СЕД дерева  список ребер має вигляд: 

.

Між елементами множин  і  визначена відповідність : якщо , то йому відповідає . Відповідністьвизначена для будь-якого елемента з множини  і являється відображенням .

Змістовний СЕД має текстове значення , яке є заголовком. Також йому відповідають ІЕД та/або змістовні СЕД. Отже, для  має місце:



,



де ;  – -ий елемент множини , вкладений в її -ий елемент;  – -ий елемент множини , вкладений в -ий елемент множини . 

Службовий СЭД  має текстове значення , яке є заголовком. Також йому відповідають або змістовні СЕД, або ІЕД. Отже, для  має місце:



,



де ,  – -ий елемент множини , вкладений в -ий елемент множини ,  – -ий елемент множини , вкладений в -ий елемент множини .

Ідентифікаційний СЕД містить лише значення , йому не поставлено у відповідність жодного елементу. 

Мета-модель документа технологій розроблення ПЗ  побудована на основі моделі документа ПО  та вимог до документу, загальних для технологій розроблення,  (де  – вимоги i-ої технології). Мета-модель  в процесі перетворення параметризується за трьома складовими документа: вмістом, структурою, формою представлення, на основі відповідних вимог , , . Параметрами виступають нотація представлень , частина графа , визначена для множин ідентифікаційних  та службових  СЕД,  (де ) і правила форматування . Отже, параметризована мета-модель має вигляд . 

Модель документа технології розроблення ПЗ  побудована на основі моделі  та вимог . Модель  в процесі перетворення параметризується за двома складовими документа: вмістом і структурою, на основі відповідних вимог , . Параметрами виступають множина типів представлень , множина пояснень , частина графа , визначена для змістовних СЕД :  (де ), матриця  для відповідності множин  і  та відображення . 

Таким чином, враховуючи параметризацію мета-моделі , модель  має вигляд: .

Реінженерія ПЗ включає два типи процесів – зворотної і прямої інженерії. Процеси зворотної інженерії забезпечують відновлення інформації про успадковане ПЗ. Процеси прямої інженерії – це процеси технології розроблення ПЗ, а документація, яка створюється під час редокументування і використовується в прямій інженерії, має відповідати вимогам технології розроблення. Тому сутність запропонованого методу полягає у створенні документації успадкованого ПЗ у відповідності до вимог технології розроблення, обраної для прямої інженерії, з формуванням вмісту документів із застосуванням результатів зворотної інженерії (рис.2)

«Глибина» проведення реверсивної інженерії успадкованого ПЗ залежить від фази, з якої починається пряма інженерія. Оскільки кожна фаза прямої інженерії спирається на документи попередньої фази, то при редокументуванні необхідно створити документи фази, яка є попередньою для тої, з якої починається пряма інженерія. Таким чином, процес редокументуванння у розглянутому методі визначається обраною технологією розробки ПЗ і фазою, починаючи з якої передбачається проводити подальшу його розробку (рис.3).

Редокументування  згідно з методом і MDD є процесом створення множини документів  успадкованого ПЗ шляхом перетворення моделей  документів з формуванням їх вмісту на основі множини представлень  успадкованого ПЗ. Перетворення моделей керується двома параметрами – обраною технологією розроблення  і фазою . Отже, .

Реалізація методу редокументування потребує виконання наступних перетворень:

			моделі документа ПЗ  у мета-модель  документа технологій розроблення ПЗ шляхом конкретизації з урахуванням загальних вимог технологій розроблення . Отримана модель  описується на мові UML ; 

			мета-моделі  у модель  документа технології розроблення ПЗ шляхом конкретизації з урахуванням вимог обраної технології розроблення ;

			моделі  у метаописи  документів обраної технології розроблення шляхом підстановки у параметри  фактичних значень, які визначаються вимогами  до -го документу. Засобом побудови метаописів є спеціально розроблена шляхом розширення мови XML мова Redocumentation Document Description Language (RDDL). 

Останній крок реалізації методу – створення документів успадкованого ПЗ  як екземплярів метаописів  (рис.4). Необхідні метаописи обираються з множини  на основі керуючих параметрів – значення  (технологія) та  (фаза). При створенні документа значення пар властивостей (, ) в метаописі заміщуються на представлення, з множини  з відповідними значеннями властивостей (, ).

У третьому розділі розглянуто архітектуру засобів, що автоматизують застосування запропонованого в дисертаційній роботі методу редокументування успадкованого ПЗ (рис.5). Розроблені засоби відносяться до CARSE та виконують такі функції: підготовка метаописів документів для редокументування , підготовка представлень успадкованого ПЗ, створення документів . 

	Інтерфейс експерта забезпечує взаємодію експерта із засобами редокументування у діалоговому режимі. Підсистема керування оброблює запити, які надходять від інтерфейсу експерта, і забезпечує узгоджену роботу засобів редокументування. Редактор метаописів документів виконує наступні функції: створення і редагування метаописів документів на мові RDDL, перевірку правильності метаописів за допомогою XSD-схеми. Менеджер видобування представлень забезпечує підготовку представлень успадкованого ПЗ шляхом опису їх властивостей  у дескрипторах на спеціально розробленій мові Redocumentation View Description Language (RVDL), яка є розширенням мови XML (рис.6). Представлення зберігаються у сховищі в текстовому або графічному форматі спільно з їх дескрипторами.

Генератор документів реалізує останній крок реалізації методу редокументування – створення документів успадкованого ПЗ . Генератор побудовано за архітектурним стилем «канал-фільтр», згідно з яким обробка метаопису здійснюється трьома послідовними фільтрами (рис.5). Особливість генератора полягає у попередній генерації документа у проміжному форматі, який далі може бути перетворений у будь-який кінцевий формат за допомогою спеціальних перетворювачів.

Довідники призначені для зберігання довідкової інформації про назви документів, фаз і технологій, типи представлень та їх нотації, стилі зовнішнього оформлення документів (рис.7).

Сховище метаописів документів – це каталог файлової системи з файлами метаописів документів. Сховище представлень – це каталог файлової системи з вкладеною структурою каталогів кожного проекту, які містять файли представлень та їх дескриптори.

У четвертому розділі описується практичне застосування запропонованого методу і засобів редокументування для створення документації під час проведення реінженерії програмно-апаратного комплексу виготовлення документів державного зразка. Створювана документація ПЗ мала відповідати вимогам технології розробки RUP. Для проведення редокументування замовником було надано існуючу документацію успадкованого ПЗ, оформлену відповідно до ГОСТ 19-ої серії, програмні модулі (біля 15000 рядків коду на мові Object Pascal) та базу даних (60 відношень у форматі InterBase). 

Практичне редокументування проводилось для фази «Уточнення плану» технології RUP. Додатково для перевірки працездатності методу і засобів проводилось експериментальне редокументування ПЗ для фаз «Початок», «Конструювання», «Перехід» технології RUP і фаз «Стратегія», «Аналіз», «Проектування», «Реалізація», «Впровадження» технології CDM. 

Для створення представлень ПЗ використовувались два способи: 

			експертний – шляхом ручного аналізу вхідних документів успадкованого ПЗ;

			автоматизований – з використанням наступних засобів зворотної інженерії: IBM Rational Rose (засіб візуального моделювання), Ensemble Rose Delphi Link 3 (програмний модуль інтеграції моделей IBM Rational Rose з середовищем розроблення Delphi), IBDataWorks (засбі фірми SoftMosis для моделювання БД під SQL-серверами InterBase и Firebird).

Для аналізу результатів редокументування побудовані метрики за методом GQM. Мету  сформульовано таким чином: „Перевірити працездатність методу і засобів редокументування, орієнтованих на технологію розроблення”. Питання , на які мають бути отримані відповіді при аналізі, такі: „Який обсяг документації технології розроблення створено?”, „Який ступінь відновлення документації?”, „Який ступінь автоматизації редокументування?”. Для відповіді на перше питання запропоновані такі метрики : кількість відновлених документів (КВД), кількість відновлених СЕД (КВСЕД), кількість відновлених представлень (КВП). Для відповіді на друге питання запропоновані такі метрики: відсоток відновлених документів (ВВД), відсоток відновлених СЕД (ВВСЕД), відсоток відновлених представлень (ВВП). Для відповіді на третє питання запропоновані такі метрики: відсоток автоматично відновлених документів (ВАВД), відсоток автоматично відновлених СЕД (ВАВСЕД).

Значення метрик обсягу документації, яка отримана в результаті редокументування, розподілені по фазах розроблення в цілому і за проектом, наведено на рис. 8. 

Значення відсоткових метрик, які характеризують ступінь відновлення документації, показують, що відновлені всі необхідні документи та СЕД обох технологій розроблення (рис.9). Відсоток відновлення представлень (ВВП) для технології RUP склав 64%, а для технології CDM – 50%, та був досягнутий за рахунок автоматичного та експертного виділення представлень з успадкованого ПЗ.

Значення метрик, які характеризують ступінь автоматизації редокументування, показують, що 100% документів та їх СЕД створено автоматично. Це обумовлено розробленим підходом до генерації документів та їх структур – створюються всі документи, для яких є метаописи. Відсоток автоматично відновлених представлень (ВАВП) складає менше 10 %, що обумовлено обмеженими можливостями використаних засобів зворотної інженерії в умовах цього проекту: успадковане ПЗ розроблено на об’єктно-орієнтованої мові з використанням структурного підходу. Найбільший відсоток автоматично відновлених представлень припадає на документи фаз «Уточнення плану» та «Конструювання», які містять представлення, що відбивають вихідний код програм, наприклад, діаграму класів або діаграма компонентів. Такі представлення відновлені засобами зворотної інженерії. 


Висновки



Дисертаційна робота є теоретично обґрунтованим дослідженням, містить узагальнення й практичні рішення важливої науково-технічної задачі, сутність якої полягає в розробці методу та засобів редокументування успадкованого ПЗ. Метод призначений для застосування при реінженерії ПЗ та дозволяє створювати при зворотній інженерії документацію успадкованого ПЗ, яка відповідає вимогам технології розроблення, яка застосовується при прямій інженерії. Застосування методу забезпечується засобами, які розроблено і реалізовано в дисертації. 

Основні наукові і практичні результати роботи полягають у наступному:

			Проведено аналіз задачі редокументування успадкованого ПЗ, як однієї із складових реінженерії. Обґрунтовано актуальність вирішення цієї задачі шляхом створення документації успадкованого ПЗ за результатами зворотної інженерії з урахуванням вимог технології розроблення нового ПЗ, що дозволяє уникнути зайвих витрат на документальне забезпечення початку процесів прямої інженерії.

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

			Проведено аналіз структури і змісту документів технологій розроблення ПЗ – RUP, MSF, CDM та визначено загальні характеристики документації, що дозволило застосувати підхід модельно-керованої розробки (MDD) для реалізації запропонованого методу. 

			Реалізовано метод згідно з MDD послідовним перетворенням моделі документа ПЗ, мета-моделі документа технологій, моделі документа технології, що дозволило створювати документи успадкованого ПЗ на основі їх метаописів, представлень та керуючих параметрів (технологія, фаза). 

			Розроблено та реалізовано архітектуру засобів редокументування, базуючись на архітектурному стилі „труба-фільтр”, які, на відміну від існуючих, створюють документи на основі їх моделей, описаних на спеціально розробленій мові RDDL, яка є розширенням XML для редокументування. 

			Проведено практичне редокументування ПЗ програмно-апаратного комплексу виготовлення документів державного зразка та експеримент за розробленими у дисертації методом і засобами. Використовуючи метрики, побудовані за методом GQM, проаналізовано результати редокументування і доведено працездатність методу. 


СПИСОК ОПУБЛІКОВАНИХ АВТОРОМ ПРАЦЬ ЗА ТЕМОЮ ДИСЕРТАЦІЇ



		Сидоров М.О. Реинженерия проектов программного обеспечения / М.О. Сидоров, В.А. Хоменко, О.А. Авраменко // Проблемы программирования; НАН України. – 2006. – № 2,3. –– С. 31–38. 

		Авраменко О.А. Архітектура засобів редокументування успадкованого програмного забезпечення / О.А. Авраменко // Вісник НАУ: Науковий журнал. – 2007.– № 3-4 (33). – С. 58–62.

		Авраменко Е.А. Средство редокументирования наследуемого программного обеспечения / Е.А. Авраменко // Вісник Національного технічного університету України „КПІ”. Серія „Інформатика, управління та обчислювальна техніка”. – № 47. – 2007. – С.100–107.

		Авраменко О.А. Редокументирование программного обеспечения / О.А. Авраменко, В.А. Хоменко // Проблеми транспорту: Збірник наукових праць: – К.: НТУ, 2008. – Вип. 5. – С. 37–42.

		Авраменко Е.А. Генерация и обработка представлений документов программного обеспечения на основе стилей / Е.А. Авраменко, Ю.Н. Безкоровайная // Матеріали конференції аспірантів і студентів ”Інженерія програмного забезпечення 2007”. – К.: НАУ, 2007. – С.6.

		Авраменко О.А. Моделі редокументування програмного забезпечення / О.А. Авраменко, Є.Я. Бондаренко // Матеріали конференції аспірантів і студентів ”Інженерія програмного забезпечення 2007”. – К.: НАУ, 2007. – С.7.

		Авраменко О.А. Применение архитектурных стилей для обратной инженерии программного обеспечения / О.А. Авраменко // Тези до конференції аспірантів і студентів ”Інженерія програмного забезпечення 2006”. – К.: НАУ, 2006. – С. 41.

	
АНОТАЦІЯ



Авраменко О.А. Метод та засоби редокументування успадкованого програмного забезпечення. – Рукопис.

Дисертація на здобуття вченого ступеня кандидата технічних наук зі спеціальності 01.05.03 – Математичне та програмне забезпечення обчислювальних машин і систем. – Національний авіаційний університет, Київ, 2008.

Дисертаційна робота присвячена розробці методу та засобів редокументування успадкованого програмного забезпечення (ПЗ). 

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

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


АННОТАЦИЯ



Авраменко Е.А. Метод и средства редокументирования наследуемого программного обеспечения. – Рукопись.

Диссертация на соискание ученой степени кандидата технических наук по специальности 01.05.03 – Математическое и программное обеспечение вычислительных машин и систем. – Национальный авиационнный университет, Киев, 2008.

Диссертационная работа посвящена разработке метода и средств редокументирования наследуемого программного обеспечения (ПО).

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

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

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


ABSTRACT



Elena A. Avramenko. The Method and Facilities of Legacy Software Redocumentation. – Manuscript.

Dissertation for a candidate’s degree on technical science by specialty 01.05.03 – Mathematical and software of the computing machines and systems. – National Aviation University, Kyiv, Ukraine, 2008.

The dissertation is devoted to development of method and software of legacy software redocumentation.

Redocumentation is used during the reengineering of legacy software, when information about it is lost, incomplete, incorrect or unstructured.

The method of redocumentation is offered, essence of which consists in creation of documents in accordance with the requirements of a development technology, chosen for the forward engineering, forming content of documents with the use of results of the reverse engineering.

A method is realized on the basis of model-driven development. The models of document are built by the levels of general conception of software document, requirements of development technologies, and requirements to the certain document of the chosen technology. The proper transformations of the given models which are managed the chosen development technology and a phase of life cycle are developed. Architecture of software that realized of the offered method is developed and tested.

Key words: legacy software, reengineering, redocumentation, development technology, phase of life cycle, document, model-driven development, model of document.