- •Програма
- •Комп’ютерна програма
- •Програмування
- •Програми як системи
- •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. Проектування програм
Р
озробка
власне програм складається з кількох
програмних процесів життєвого циклу.
Серед них найдорожчим і найменш
формалізованим є проектування, що
базується на розробці програмних
специфікацій.
Н
айчастіше
програмні специфікації подаються за
допомогою блок-схем. Ідеєю схематизації
програм запропонував А.А.Ляпунов, увівши
в 1953 році поняття схеми програми. Під
схемою
програми
розумілось подання програми з використанням
спеціальної символіки, зорієнтованої
на аналіз та автоматичні перетворення
програм [52].
Ідеєю А.А.Ляпунова щодо схематизації
програм, передусім в аспектах
еквівалентності, алгоритмічної повноти
та універсальності схем, розвинули
Ю.І.Янов, А.П.Єршов, М.А.Криницький,
Л.А.Калужнин. Систематичний набір
відповідних позначень (блок-схем) уперше
запропонували А.Беркс, Г.Голдстайн та
Дж.Нейман. Вони ж у Пристонському
інституті розробили методику складання
блок-схем.
3.1. Розробка програмних специфікацій
У проектуванні розрізнятимемо три складові, як складові відповідної фази життєвого циклу:
ресурс - метод розробки та мова подання програмних специфікацій;
продукт – програмна специфікація;
процес – реалізація проектування.
Сутність проектування полягає в переході від вихідної спеціфікації - формулювання задачі до програмної специфікації - програми шляхом реалізації процесу проектування за допомогою вибраного методу та мови (рис. 3.1.).
Рис. 3.1. Схема проектування програми
3.1.1. Ресурс. Метод
Існує багато методів проектування програм. Поділяють ці методи на три групи [65]:
«зверху вниз» або аналітичні;
«знизу вгору» або синтетичні;
мішані.
Використаємо, як приклад, метод проектування програм „згори вниз”, сутність якого полягає в конкретизації (деталізації) вихідного формулювання задачі доти, доки не буде отримано опис задачі за яким відразу можна скласти програму. Це найбільш розповсюджений при навчанні метод розробки програм.
Формулюванням задачі називатимемо вихідний (найперший і найзагальніший) опис вимог до розроблювальної програми. Тому конкретизація – це деталізація вихідного опису з метою отримання остаточного опису, скориставшись яким, можна виконати обчислення за допомогою того чи іншого виконавця, здебільше комп’ютера. Як правило, відразу не вдається створити остаточний опис, а тому деталізація вихідного опису – це процес, що складається з багатьох дій, результатом виконання яких є окремі описи.
У процесі деталізації потрібно керуватись такими принципами:
“поділяй і володарюй” – слід розбивати опис на частини, які підлягатимуть деталізації;
“поділяй поступово” – слід розбивати опис на невелику кількість частин й деталізувати їх дрібними кроками;
“поділяй обережно” – слід на кожному кроці приймати якомога менше рішень, які легко перевірити.
Зазвичай у процесі проектування програми доводиться виконувати багато кроків.
