ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Другий етап - структурний підхід до програмування (60-70-і роки XX ст).Структурний підхід до програмування є сукупністю технологічних прийомів, що рекомендуються до використання, охоплюють виконання всіх етапів розробки програмного з абезпечення. У основі структурного підходу лежить декомпозиція (розбиття на частини) складних систем з метою подальшої реалізації у вигляді окремих невеликих (до 40 - 50 операторів) підпрограм. З появою інших принципів декомпозиції (об'єктного, логічного і т. д.) даний спосіб отримав назву процедурної декомпозиції. На відміну від використовуваного раніше процедурного підходу до декомпозиції, структурний підхід вимагав представлення завдання у вигляді ієрархії підзадач простої структури. Проектування, таким чином, здійснювалося зверху «вниз» і мало на увазі реалізацію загальної ідеї, забезпечуючи опрацювання інтерфейсів підпрограм. Одночасно вводилися обмеження на конструкції алгоритмів, рекомендувалися формальні моделі їх опису, а також спеціальний метод проектування алгоритмів - метод покрокової деталізації. Підтримка принципів структурного програмування була закладена в основу так званих процедурних мов програмування. Як правило, вони включали основні «структурні» операторів передачі управління, підтримували вкладення підпрограм, локалізацію і обмеження зони «видимості» даних. Серед найбільш відомих мов цієї групи варто назвати PL/1, ALGOL-68, Pascal, С. Одночасно із структурним програмуванням з'явилася величезна кількість мов, що базуються на інших концепціях, але більшість з них не витримала конкуренції. Деякі мови були просто забуті, ідеї інших були надалі використані в наступних версіях мов, що розвивалися. Подальше зростання складності і розмірів програмного забезпечення, що розробляється, зажадало розвитку структуризації даних. Як наслідок цього в мовах з'являється можливість визначення призначених для користувача типів даних. Одночасно посилилося прагнення розмежувати доступ до глобальних даних програми, аби зменшити кількість помилок, що виникають при роботі з глобальними даними. В результаті з'явилася і почала розвиватися технологія модульного програмування. Модульне програмування передбачає виділення груп підпрограм, що використовують одні і ті ж глобальні дані в окремо компільовані модулі (бібліотеки підпрограм), наприклад, модуль графічних ресурсів, модуль підпрограм виводу на принтер (мал. 1.5). Зв'язки між модулями при використанні даної технології здійснюються через спеціальний інтерфейс, тоді як доступ до реалізації модуля (тілам підпрограм і деяким «внутрішнім» змінним) заборонений. Цю технологію підтримують сучасні версії мов Pascal і З (C++), мови Пекла і Modula. Використання модульного програмування істотно спростило розробку програмного забезпечення декількома програмістами. Тепер кожен з них міг розробляти свої модулі незалежно, забезпечуючи взаємодію модулів через спеціально обумовлені міжмодульні інтерфейси. Крім того, модулі надалі без змін можна було використовувати в інших розробках, що підвищило продуктивність праці програмістів. Практика показала, що структурний підхід у поєднанні з модульним програмуванням дозволяє отримувати досить надійні програми, розмір яких не перевищує 100 000 операторів. Вузьким местомом модульного програмування є те, що помилка в інтерфейсі при виклику підпрограми виявляється лише при виконанні програми (із-за роздільної компіляції модулів виявити ці помилки раніше неможливо). При збільшенні розміру програми зазвичай зростає складність міжмодульних інтерфейсів, і з деякого моменту передбачити взаємовплив окремих частин програми стає практично неможливо. Для розробки програмного забезпечення великого об'єму було запропоновано використовувати об'єктний підхід. Не нашли, что искали? Воспользуйтесь поиском:
|