Структурно-орієнтована методологія. Спочатку суть методології полягала в тому, щоб дати користувачеві інтерактивний інструмент, наприклад! синтаксично орієнтований редактор для введення програм у термінах мовних конструкцій. Потім ця ідея була поширена на інтерактивну підтримку семантичного аналізу, виконання і налаштування програм. У кінцевому результаті ця методологія заснована на маніпулюванні програмними структурами І забезпечує різні погляди на програми, які генеруються з однієї і тієї ж програмної структури, стеження за інформацією, важливою для користувача. Тому структурно-орієнтована методологія забезпечує такі аспекти:
- багаторівневий погляд на програмні структури;
- семантичні обчислення;
- генерацію структурно-орієнтованих середовищ. Методо-орієнтована методологія. Ця методологія орієнтує на
використання одного методу при побудові середовища. Розглядають методи двох типів:
- розробки - орієнтовані на реалізацію робочого процесу;
- управління - орієнтовані на реалізацію макро- і мікро-процесів,
Прикладами методів першого типу є SREM, SADT, OOD, PSL/PSA, а також діаграми даних і управління, ER-діаграми, мережі Петрі, мови специфікацій, PDL. Методи другого типу використовуються для побудови CASE, які зазвичай бувають двох типів, орієнтовані на виконання декількох або всіх робочих процесів і на ви конання процесів управління проектом.
Методологія - набір інструментів. Суть її полягає у відсутності якої-небудь методології. Середовища будуються з сукупності невеликих інструментів, орієнтованих на виконання фази кодування (редактор, компілятор, налагоджувальник, лінкер). Сюди можуть Входити інструменти контролю версій і управління конфігураціями.
Середовища розробки програмного забезпечення. Важливу роль в інструментальній підтримці процесів життєвого циклу відіграють середовища розробки. Середовище розробки (Software Development Environment - SDE) - це сукупність апаратних і програмних інструментів, використовуваних для розробки програм і програмних продуктів. Розрізняють середовища програмування, орієнтовані на реалізацію окремих процесів (вертикальні) і середовища розробки програмного забезпечення, орієнтовані на весь життєвий цикл (горизонтальні). Раніше розглядалися методології побудови середовищ розробки програмного забезпечення. Далі розглянемо їх моделі.
Загальна схема SDE моделі така:
SDE Model =( {Структури},
{Механізми},
{Управління}).
Структури - це об'єкти і агрегати об'єктів, на які впливають механізми в процесі розробки програмного забезпечення.
Прості структури - файлові. Складніші будуються на основі абстрактних синтаксичних дерев, графів, баз даних. Основні функції структур такі:
- підтримувати інтеграцію інструментів у SDE;
- мати достатньо інформації, необхідної для роботи механізмів І виконання управління;
- забезпечувати управління змінами програмного забезпечення, що розробляється.
Зазвичай, для вирішення завдань у SDE пропонується використовувати різні типи структур.
Механізми - це мови, інструменти і фрагменти інструментів, які маніпулюють структурами в SDE. Стосовно програміста, механізми можуть бути видимі і приховані.
Якщо детальніше вивчені механізми, то більше вони мають тенденцію вбудовуватися всередину середовища і складати основу генераторної частини інструментів. Наприклад, Jass - генератор синтаксичних аналізаторів. До того ж, чим більш узгоджуються механізми і структури, тим глибшим є аналіз взаємозв'язків між частинами програмного забезпечення і вірогідніша поява адекватної методології, наприклад, аналіз діаграм даних, використовуваний для управління змінами або програмно-базоване тестування.
Управління - це вимоги, що впливають на користувача SDE у процесі розробки програмного забезпечення. Виражаються вимоги у формі правил, стратегій, методик. Зазвичай інструменти і структури, створюючи SDE, визначають управління. Розрізняють типи управління: підтримуване і захищене.
Підтримуване управління припускає наявність у SDE механізмів і структур, що забезпечують підтримку управління. Наприклад, низхідна розробка програмного забезпечення - управління, яке підтримується в багатьох SDE.