езультатів повинні створюватися раніше обробних;
готовність допоміжних модулів - допоміжні модулі, на приклад, модулі закриття файлів, завершення програми, повинні створюватися раніше обробних;
наявність необхідних ресурсів.
Крім того, за інших рівних умов складні модулі повинні розроблятися перш простих, так як при їх проектуванні можуть ви з'явитися неточності в специфікаціях, а чим раніше це відбудеться, тим краще.
Спадний підхід допускає порушення низхідній послідовності розробки компонентів у спеціально обумовлених випадках. Так, якщо деякий компонент нижнього рівня використовується багатьма компонентами більш високих рівнів, то його рекомендують проектувати і розробляти раніше, ніж викликають його компоненти. І, нарешті, в першу чергу проектують і реалізують компоненти, що забезпечують обробку правильних даних, залишаючи компоненти обробки неправильних даних наостанок.
Спадний підхід зазвичай використовують і при об'єктно-орієнтований ном програмуванні. Відповідно до рекомендацій підходу спочатку проектують і реалізують користувальницький інтерфейс програмного забезпечення, потім розробляють класи деяких базових об'єктів предмет ної області, а вже потім, використовуючи ці об'єкти, проектують і реалізують інші компоненти.
Спадний підхід забезпечує:
максимально повне визначення специфікацій проектованого компонента і узгодженість компонентів між собою;
раннє визначення інтерфейсу користувача, демонстрація якої замовнику дозволяє уточнити вимоги до створюваного програмному; забезпеченню;
можливість спадного тестування і комплексного налагодження (див гл. 9).
Структурний і неструктурними програмування. Засоби опису структурних алгоритмів
Одним із способів забезпечення високого рівня технологічності розроблюваного програмного забезпечення є структурне програмування.
Розрізняють три види обчислювального процесу, реалізованого програмами: лінійний, розгалужений і циклічний.
Лінійна структура процесу обчислень припускає, що для отримання результату необхідно виконати деякі операції в визначено іншої послідовності.
Розгалужена структура процесу обчислень припускає, що конкретна послідовність операцій залежить від значень однієї або декількох змінних.
Циклічна структура процесу обчислень припускає, що для отримання результату деякі дії необхідно виконати кілька разів.
Для реалізації зазначених обчислювальних процесів в програмах використовують відповідні керуючі оператори. Перші процедурні мови програмування високого рівня, такі, як FORTRAN, поняттям тип обчислювального процесу не оперувати. Для зміни лінійної послідовності операторів в них, як у мовах низького рівня, використовувалися команди умовної (при виконанні деякої умови) і безумовної передач управління. Тому й програми, написані на цих мовах, мали заплутану структуру, притаманну в даний час тільки низькорівневим (машинним) мов.
Саме для зображення схем алгоритмів таких програм свого часу був розроблений ГОСТ 19.701-90, згідно з яким кожній групі дій ставиться у відповідність спеціальний блок (табл. 1 .1). Хоча цей стандарт передбачає блоки для позначення циклів, він не забороняє і довільної передачі управління, т. Е. Допускає використання команд умовної і безумовної передачі управління при реалізації алгоритму.
Після того, як у 60-х роках XX ст. було доведено, що будь-яку як завгодно складний алгоритм можна представити з використанням трьох основних керуючих конструкцій, в мовах програмування високого рівня з'явилися керуючі оператори для реалізації відповідних конструкцій. Ці три конструкції прийнято вважати базовими. До них відносять конструкції:
слідування - позначає послідовне виконання дій (рис. 2.3, а);
розгалуження - відповідає вибору одного з двох варіантів дій (рис. 2.3, б);
цикл-поки - визначає повторення дій, поки не буде порушено деякий умова, виконання якого перевіряється на початку циклу (рис. 2.3, в).
Малюнок 2.1-Базові алгоритмічні структури:
а- слідування, б- розгалуження, цикл-поки
Крім базових, процедурні мови програмування високого рівня зазвичай використовують ще три конструкції, які можна скласти з базових:
вибір - позначає вибір одного варіанта з декількох залежно від значення деякої величини (рис. 2.4, а);
цикл-до - позначає повторення деяких дій до виконання заданої умови, перевірка якого здійснюється після виконання дій у ...