Вступ до інженерії програмного забезпечення | страница 29
Покрокове уточнення (Н. Вірт, 1971). Цей метод ґрунтується на таких принципах:
- розкладання простору рішень на підпростори;
- ітеративне вирішення завдання (повторення дій);
- аналіз ефективності розкладання (наступне поліпшення виконується лише у вигідному напрямі).
Мета покрокового уточнення полягає в зменшенні ризику, пов'язаного із застосуванням рішень під час програмування. Розділений процесу розробки програмного забезпечення на кроки дає змогу планувати його створення, відкладаючи реалізацію певних модулів, шляхом заміни їх заглушками, що імітують міжмодульні інтерфейси.
Наприклад, метод МЕТА (X. Ледгард, 1973) використовує низхідне уточнення.
Необхідна умова роботи методу - наявність точного і стабільного опису завдання, а результат S - програма.
Функціональна декомпозиція — це метод низхідного аналізу програмного забезпечення шляхом опису функцій, котрі йога утворюють і уявлення про їх реалізацію у вигляді функціональних зв'язаних модулів. Модуль називається функціонально зв'язаним, якщо містить компоненти, спрямовані на виконання однієї функції. Додаток, побудований з функціонально зв'язаних модулів, легко будувати і супроводжувати.
Модуляризація (Д. Парнас, 1972). Цей метод заснований на трьох фундаментальних принципах: з'єднання, скріплення, приховування інформації. Метод призначений для вирішення завдання розбиття програми на модулі, яка називається модуляризацією. Використовуються такі критерії модуляризації:
- з'єднання - поєднання частин модуля із зовнішнім оточенням повинне бути слабким;
- скріплення - скріплення частин, що входять до складу модуля має бути сильним;
- приховування - інформація, що міститься в модулі, повинна бути прихованою.
Модуль мас тіло, яке містить опис функції, що вирішується модулем, і інтерфейс, що забезпечує зв'язок модуля з його користувачами.
Структурне програмування (Е. Дейктра, 1972). Цей метод обмежує написання програм шляхом використання лише трьох типів операторів: послідовне з'єднання, вибір і повтор. Такий операторний базис достатній для написання будь-якої програми. Програми називаються структурними, а процес програмування - структурним. Метод передбачає також способи переходу від неструктурних програм до структурних.
Абстрактні типи даних (Б, Лісков, С. Зайліс, 1975). Суть методу полягає в розширенні концепції структур даних визначуваними операціями над ними. Перші реалізації абстрактних типів даних могли здійснюватися вже в підпрограмних мовах програмування