- •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.2
- •Завдання
- •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. Задачі для досліджень
- •Задачі для самостійного розв’язання
- •Практичне заняття 2 Опис управляючої дії чергування у програмних специфікаціях
- •Приклад складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 3 Опис управляючих дій чергування і перетворення у програмних специфікаціях
- •Приклад складення специфікацій
- •Задачі для самостійного розв’язання Практичне заняття 4 Опис вкладеного чергування у програмних специфікаціях
- •Приклад складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 5 Опис управляючої дії повторення у програмних специфікаціях
- •Приклад складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 6 Опис управляючої дії чергування, вкладеної в дію повторення, у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 7 Опис вкладеного повторення і з’єднання у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
- •5.1. Принципи інженерії програмного забезпечення і програмні конструкції
- •5.2. Рівні інкапсуляції
- •5.3. Питання для самоперевірки
- •5.4. Тести
3.3. Прагматичні рекомендації
Для відображення у специфікації за допомогою зазначених мовних засобів тих відповідностей між діями та поданнями, які було виявлено у процесі розв’язування задачі, можна скористатись такими загальними рекомендаціями:
якщо виявлено перетворювальну дію, то у специфікації слід застосовувати відповідні дієслова (псевдокод), прямокутник (графічна форма);
якщо виявлено послідовність перетворювальних дій, то у специфікації слід застосовувати послідовність відповідних слів (псевдокод), сполучення прямокутників (графічна форма);
якщо виявлено чергування дій, то у специфікації слід застосовувати ЯКЩО-ТО-ІНАКШЕ або ЯКЩО-ТО (псевдокод), основну чи додаткові схеми чергування (графічна форма);
якщо у специфікації трапляється повернення до виконання раніше виконаних дій або дій, виконання яких відрізняється лише деякими значеннями, але не складом, то слід застосувати ПОВТОРЮВАТИ (псевдокод), основну або додаткову схему повторення (графічна форма).
Щодо використання управляючих дій у специфікації можна подати такі рекомендації.
Для дії поєднання:
поєднання дій у специфікації має бути використано так, щоб процес її виконання був цілеспрямованим. Якщо специфікація це поєднання дій А0, А1, … Аk де А0 і Аk – відповідно початкова і кінцева дія, то для будь-якої дії Аі, такої що Y = Ai(X), 0 < i < k, має виконуватись Y /= X.
Чергування дій у специфікації має бути використано в той спосіб, щоб виконувалось таке:
чергування необхідне;
забезпечено виконання при наймі однієї з альтернативних дій у чергуванні;
кожна дія в чергуванні досяжна;
у чергуванні немає дубльованих дій.
Повторення дій у специфікації має бути використано в той спосіб, щоб виконувалось таке:
повторення не можна замінити неповторюваною дією; наприклад, псевдокод
і=0
ДОКИ i /= N;
ПОВТОРЮВАТИ
i = i + 1;
ВСЕ ПОВТОРЮВАТИ;
можна замінити такою неповторюваною дією:
i = N;
повторення не можна замінити чергуванням дій, наприклад, псевдокод
І=0;
доки i /= N;
ПОВТОРЮВАТИ
i = i + 1;
a = F(b);
ВСЕ ПОВТОРЮВАТИ;
можна замінити таким чергуванням дій:
ЯКЩО i /= N
ТО
i = N;
a = F(b);
ВСЕ ЯКЩО;
повторення має не бути виродженим, тобто виконуваним не більш як один раз, і тоді його можна замінити похідною схемою чергування;.
Для використання перетворювальних дій у управляючих діях можна дати такі рекомендації:
включення тих чи інших дій до управляючої дії має бути виправдане їхньою участю в обчисленнях, ініційованих управляючою дією, а також не повинно бути інваріантних (незмінних) щодо повторення дій або щодо однакових дій у чергуванні;
безпосередня вкладеність повторень має підтверджуватись взаємовпливом умов усіх повторень.
Усі дії, використовувані у специфікації, мають бути результативними, тобто мають формувати або забезпечувати формування основної функції програми.
Потік даних так само як і обчислення, має спрямовуватись від початку до кінця. Це означає таке:
не повинно бути повернення до вихідного стану значень;
не повинно бути „переплутаних” обчислень тобто інформаційно пов’язані дії не повинні перемежовуватися з іншими – такими, що не стосуються значень, оброблюваним у даному місці специфікації.
Необхідно аналізувати характер значень і їхніх взаємозв’язків (структур), оскільки він може впливати на вибір методу розв’язування та специфікацію.
Якщо для застосування результатів необхідно вводити нові значення (не задані у вихідній специфікації), то це слід робити там де цього потребують відповідні дії.
Деталізація дій може супроводжуватись деталізацією значень.
Необхідно вибирати осмислені, зорієнтовані на задачу позначення розглядуваних значень.