
- •Програма
- •Комп’ютерна програма
- •Програмування
- •Програми як системи
- •1.5. Класифікація програм
- •1.6. Питання для самоперевірки
- •1.7. Завдання для самостійної роботи
- •2.1. Продукти, продукція та програмне забезпечення
- •2.1.1. Продукти інженерії програмного забезпечення
- •2.1.2. Продукція інженерії програмного забезпечення
- •2.1.3. Програмне забезпечення
- •2.2. Модель життєвого циклу
- •2.3. Інженерія програмного забезпечення
- •2.4. Ресурси для створення програмного забезпечення
- •2.4.1. Мови програмування
- •2.4.2. Системи, середовища програмування, середовища для розробки програмного забезпечення
- •2.5. Питання для самоперевірки
- •2.6 Питання для самостійної роботи
- •2.7 Лабораторні роботи Лабораторна робота 2.1 створення та редагування програм в інтегрованих середовищах програмування
- •Теоретичні відомості
- •Опції головного меню для створення та редагування програм
- •Завдання
- •Завдання
- •3.1. Розробка програмних специфікацій
- •3.1.1. Ресурс. Метод
- •3.1.2. Специфікація
- •3.1.3. Специфікування. Процес
- •3.2. Мови специфікації
- •3.2.1. Псевдокод
- •3.2.2. Графічні форми. Блок-схеми
- •3.3. Прагматичні рекомендації
- •3.4. Питання для самоперевірки
- •3.5. Завдання для самостійного виконання
- •3.6. Задачі для досліджень
- •3.7. Практичні заняття
- •Практичне заняття 1 Опис перетворюючих дій у програмних специфікаціях
- •Приклад складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 6 Опис управляючої дії чергування, вкладеної в дію повторення, у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 7 Опис вкладеного повторення і з’єднання у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
3.1.2. Специфікація
Опис дій, виконання яких виконавцем опису приводить до розв’язування задачі, назовемо специфікацією. Тому кінцевий ступінь деталізації дій у специфікації може бути різним і залежить від можливостей виконавця. Найчастіше таким виконавцем специфікації виступає комп’ютер, тому, специфікація є програмою, а ступень деталізації згідно визначенню програми має бути дуже високим.
Описувані у специфікації дії можуть бути двох типів :
перетворювальні – таки, що перетворюють значення і забезпечують реалізацію функцій частин програми;
управляючи – таки, що забезпечують зв’язки між перетворювальними діями, послідовність їх виконання та формують схему програми, установлюючи її загальну функцію.
Кількість і характер перетворювальних дій залежать від характеру задачі та типу виконавця специфікації, а тому не можна заздалегідь визначити, скільки їх буде. Проте серед цих дій можна відокремити:
такі, що реалізують основну функцію програми;
такі, що забезпечують реалізацію основної функції програми.
Часто дії другого типу можуть становити більшу частину специфікації.
Кількість управляючих дій обмежена - їх може бути лише три, причому призначені вони для реалізації у програмі таких функцій:
поєднання (зчленування) перетворювальних дій;
чергування (вибору) перетворювальних дій;
повторення (ітерації) перетворювальних дій.
Відомо, що виразивши зазначені дії засобами мови програмування, можна написати будь-яку програму [2]. Специфікації, в яких використовуються лише наведені дії, називаються структурними [37].
3.1.3. Специфікування. Процес
С
пецифікування
– це процес виявлення в опису розв’язуваної
задачі (деталізація згідно з вибраним
методом) усіх перетворювальних і
управляючих дій і опис задачі у вигляді
специфікації (наприклад, блок-схеми) за
допомогою мови з таким ступенем
деталізації якого достатньо для виконання
деталізованої специфікації деяким
виконавцем, зазвичай комп’ютером.
Процес розв’язування задачі не піддається формалізації тому для його реалізації не можна дати вичерпної методики. Проте варто зазначити, що сутність специфікування полягає у вивченні розв’язання задачі, сформульованого у вигляді вихідної специфікації, та встановлення відповідності між тими частинами розв’язування, які відповідають перетворенням і перетворювальними діями, а також між тими частинами розв’язання, які відповідають поєднанню, чергуванню та повторенню, і відповідними управляючими діями. Установлені відповідності фіксуються у формі специфікації за допомогою мови.
Загалом розглядуваний процес проектування характеризується такими особливостями:
деталізація відбувається лише за допомогою зазначених дій і спрямована „згори-вниз”, від загального до окремого;
деталізація частин специфікації має приводити до розв’язування задачі;
на будь-якому кроці деталізації, якщо вона виконується правильно, вибір порядку деталізації (деталізовіваної дії) неістотний.
У процесі деталізації доти, доки не досягнуто деякого рівня (його досягнення слід відсувати якомога далі, до кінця проектування), не має значення:
вибір конкретного варіанта чергування – важливо лише, щоб його можна було вибрати правильно;
кількість повторень для ітерації – важливо лише, щоб ця кількість була правильною.
Деталізація має вести до отримання специфікації, якомога ближчої до програми. Процес деталізації слід якомога частіше супроводжувати перевіркою прийманих рішень (наприклад, за допомогою тестування).