1 of 19

Метод функціональної декомпозиції задачі. Модульність.

2 of 19

3 of 19

4 of 19

5 of 19

6 of 19

7 of 19

8 of 19

9 of 19

10 of 19

11 of 19

12 of 19

13 of 19

Структурне програмування – це методологічний підхід до написання програмного коду, який представляє програму у вигляді структури з набору блоків, розташованих в ієрархічній послідовності.

Структурне програмування виникло ще на ранніх етапах розвитку методологій створення коду. У міру того, як розвивалися ЕОМ і з’являлися складніші програми, виникла необхідність спрощувати сам процес написання програм.

Тоді було сформульовано три принципи структурного програмування:

  1. Алгоритмічна низхідна декомпозиція. Поставлене завдання покроково деталізується, у напрямку від самого верхнього рівня, вниз до дрібних деталей. Цей метод дає змогу створити чітку структуру програми.
  2. Модульна структура програми. У результаті декомпозиції програма розбивається на модулі, прості елементи.
  3. Структурне кодування. Під час структурного кодування використовують три керівні конструкції: послідовне керування, розгалуження, цикл. Це базові структури.

14 of 19

Відповідно до цієї методології, будь-яку програму можна створити, використовуючи три конструкції:

  • послідовне виконання — одноразове виконання операції в порядку запису їх (операцій) в тексті програми;
  • розгалуження — виконання певної операції або декількох операцій залежно від стану певної, наперед заданої умови;
  • цикл — багаторазове виконання операції або групи операцій за умови виконання деякої наперед заданої умови. Таку умову називають умовою продовження циклу.

Кожна конструкція є блоком з одним входом і одним виходом.

15 of 19

Базові конструкції структурного програмування

Структурне програмування ґрунтується на теоремі, яку спрощено можна переказати так:

  • Дві програми вважаються еквівалентними, якщо за будь-яких однакових вхідних даних вони завжди видають однакові вихідні дані або однаково закриваються через помилку.
  • Структурна програма використовує тільки три конструкції:
    • послідовне виконання – “виконати дію 1, виконати дію 2”;
    • розгалуження – “якщо умова дотримана, виконати дію 1, інакше дію 2”;
    • цикл – “поки умова дотримується, виконувати дію 1”.
  • Оператор GoTo використовується для неструктурних програм.
  • Для кожної неструктурної програми існує еквівалентна структурна програма.

16 of 19

17 of 19

Модульність — це ступінь, до якого компоненти системи можуть бути розділені та рекомбіновані, часто з перевагою гнучкості та різноманітності у використанні. Концепція модульності використовується головним чином для зменшення складності шляхом розбиття системи на різні ступені взаємозалежності та незалежності та «приховування складності кожної частини за абстракцією та інтерфейсом»

Модульність — це властивість системи, пов'язана з можливістю її декомпозиції на ряд внутрішньо пов'язаних між собою модулів.

18 of 19

  • Модульний принцип — принцип побудови технічних систем, згідно з яким функціонально пов'язані частини групуються у закінчені вузли — модулі (блоки). Модульність пристрою дозволяє змінювати його можливості шляхом використання/нарощування функціональних блоків, що виконують різні завдання.
  • Модульність у мовах програмування — принцип, за яким логічно пов'язані між собою підпрограми, змінні тощо. буд. групуються окремі файли (модулі).
  • Модульність — це міра, яка харатеризує ступінь взаємної незалежності окремих компонентів системи. Найжважливіша ціль системної інженерії полягає у досягненні високого ступеню модульності для того, щоб інтерфейси і взаємодії були максимально простими. Досягнення цієї цілі дозволяє ефективно організовувати виробництво й комплексування системи, її випробування, технічне облуговування і ремонт у процесі експлуатації. Процесс розбиття системи на складові частини-модулі ми будемо називати функціональною декомпозицією.

19 of 19