Документ ПЗ визначимо як трійку
, де C – вміст документа, S – структура документа, P – форма представлення документу. Кожна із складових трійки різною мірою пов’язана з інформацією, яка фіксується у документі, та матеріальним носієм, на якому записаний документ (рис.1).Вміст документа відбиває знання (властивості, поведінку, призначення або правила користування) про об’єкт документування (успадковане ПЗ), зафіксовані створювачем документу і розраховані на певну цільову групу користувачів.
Структура документа – це множина іменованих структурних елементів і відношень між ними. Відношення будують структуру документу, поділяючи його вміст на логічно закінчені частини – структурні елементи, які мають певне розташування у документі.Структурні елементи можна розділити на змістовні, визначені вмістом, ідентифікаційні, призначені для ідентифікації документу, та службові – для пошуку і навігації. Наприклад, глави, параграфи і пункти документа відносяться до змістовних структурних елементів, назва програмного проекту і номер версії документа – до ідентифікаційних, а зміст і перелік скорочень – до службових.
Форма представлення документу – це його оформлення, яке виконується за технологічними правилами, що визначають форматування певних елементів документу.
Сукупність документів ПЗ складає документацію, вимоги до якої при прямій інженерії встановлюються технологією розроблення ПЗ. У дисертації зроблено аналіз документації наступних технологій розроблення: RUP, MSF, CDM. Встановлено характеристики документації, суттєві з точки зору редокументування, які поділяються на три типи:
- притаманні документам всіх технологій – належність документів до певних фаз технологій, склад ідентифікаційних елементів;
- притаманні всім документам технології – склад службових структурних елементів, взаємне розташування ідентифікаційних, службових та змістовних структурних елементів у документі, нотація документів;
- притаманні певному документу технології – структура документу,типи представлень, які складають вміст документу.
У розділі розглянуто існуючі методи редокументування ПЗ – структурне редокументування та редокументування на основі Web-технологій. Обидва методи спрямовані на вирішення задачі автоматизації лише окремих аспектів успадкованого ПЗ і не враховують особливості застосування результатів редокументування під час реінженерії успадкованого ПЗ, а саме вимог технології розроблення, яка застосовуватиметься при прямій інженерії. Так, наприклад, структурне редокументування стосується відновлення представлень архітектури ПЗ засобами зворотної інженерії і формування на їх основі документації. Редокументування на основі Web-технологій забезпечує автоматизоване створення гіпертекстових анотацій до об’єктно-орієнтованого вихідного коду.
У другомурозділі дисертації розглянуто запропонований метод редокументування успадкованого ПЗ.
При розробці методу використовується підхід MDD – модельно-керована розробка ПЗ, сутність якого полягає у представленні розробки ПЗ як перетворення узгоджених моделей, описуючих ПЗ на різних рівнях абстракції. Для застосування підходу в реалізації методу досліджено концепцію документа ПЗ та його складові з точки зору редокументування на рівнях загальної концепції документу ПЗ, вимог технологій розроблення, вимог до певного документу обраної технології, на основі чого побудовано модель документу ПЗ
, мета-модель документу технологій розробки , модель документу технології розробки і відповідні перетворення вказаних моделей.Модель документа ПЗ
описує складові документа ПЗ з урахуванням редокументування незалежно від вимог технологій розроблення.Вміст документа надається множиною
, де – інформаційний елемент документа (ІЕД) – логічно завершений інкапсульований елемент, який містить інформацію про частини ПЗ або ПЗ у цілому. Під час редокументування ІЕД формуються шляхом включення до них представлень ПЗ, одержаних за допомогою зворотної інженерії, прикладами яких є перелік вимог, діаграми варіантів використання, компонентів і класів, опис класу, форми інтерфейсу користувача, схема бази даних. Представлення має значення (текст, рисунок, таблиця, діаграма, анімація або звук) і характеризується властивостями (тип, нотація, фізичне розташування). Відповідність множин ІЕД і представлень документу можна представити як матрицю , де – кількість елементів множини , – кількість елементів множини , , 1 – означає, що відповідає , 0 – якщо не відповідає . ІЕД, окрім представлення, може включати пояснення , яке має тільки текстове значення , наприклад, примітка, підпис таблиці або рисунка. Отже, для має місце: .Структура документу – є дерево
, де – множина структурних елементів документації (СЕД), – множина ребер, відображаючих відношення ієрархічної упорядкованості між СЕД. Множину можна розглядати як об’єднання трьох неперетинних підмножин СЕД: змістовних ( ), ідентифікаційних ( ) та службових ( ). Змістовні та службові СЕД можуть містити вкладені СЕД, порядок розташування яких визначається списком ребер. Наприклад, для кореневого СЕД дерева список ребер має вигляд: .Між елементами множин
і визначена відповідність : якщо , то йому відповідає . Відповідність визначена для будь-якого елемента з множини і являється відображенням .Змістовний СЕД має текстове значення
, яке є заголовком. Також йому відповідають ІЕД та/або змістовні СЕД. Отже, для має місце: