Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 5.docx
Скачиваний:
59
Добавлен:
23.02.2016
Размер:
58.65 Кб
Скачать

А - за даними, 6 - з управління

 

5.4 Проектування програмного забезпечення, засноване на декомпозиції даних

 

Практично одночасно були запропоновані методики проектування програмного забезпечення Джексона і Варньє-Орра, засновані на декомпозиції даних. Обидві методики призначені для створення «простих» програм, що працюють зі складними, але ієрархічно організованими структурами даних. При необхідності розробки програмних систем в обох випадках пропонується спочатку розбити систему на окремі програми, а потім використовувати дані методики.

Методика Джексона. При створенні своєї методики М. Джексон виходив з того, що структури вихідних даних і результатів визначають структуру програми.

Методика заснована на пошуку відповідності структур вихідних даних і результатів. Проте при її застосуванні можливі ситуації, коли на якихось рівнях відповідності відсутні. Наприклад, записи вихідного файлу відсортовані не у тому порядку, в якому відповідні рядки повинні з'являтися в звіті. Такі ситуації були названі «зіткненнями». Виділяють кілька типів зіткнень, які вирішують по-різному. При різній послідовності записів їх просто сортують до обробки.

Розробка структури програми відповідно до методики виконується таким чином:

• будують зображення структур вхідних і вихідних даних;

• виконують ідентифікацію зв'язків обробки (відповідності) між цими даними;

• формують структуру програми на підставі структур даних і виявлених відповідностей;

• додають блоки обробки елементів, для яких не виявлено відповідності;

• аналізують та обробляють невідповідності, тобто дозволяють «зіткнення»;

• додають необхідні операції (введення, висновок, відкриття/закриття файлів і т. п.);

• записують програму у структурній нотації (псевдокоді).

Приклад 5.1. Розробити структуру програми, яка читає записи про успішність студентів та формує список невстигаючих студентів групи.

На рис. 5.10 представлені структури вхідних та вихідних даних програми. Аналіз цих структур показує, що між ними є відповідності (на рис. 5.10 ці відповідності показані напівжирними дугами). Крім повної відповідності, має місце ще часткове відповідність - відповідність, що відзначається тільки, якщо студент має заборгованості (на рис. 5.10 воно зазначено напівжирним пунктиром).

Використовуючи знайдені повні та неповні відповідності, будуємо «каркас» програми (затемнені блоки на рис. 5.11). Згідно з методикою додаємо блоки, які дозволять розв'язати «зіткнення» (світлі блоки на рис. 5.11).

Далі будуємо повний список операцій, які повинна виконувати програма, враховуючи, що не кожному запису вихідного файлу відповідає рядок звіту (ознака «формувати запис виведення» встановлений), і виводити треба назви тільки тих предметів, з яких у студента є заборгованості (ознака «заборгованість» встановлено):

1 - завершити роботу;

2 - відкрити вхідний файл;

3 - відкрити вихідний файл;

4 - закрити вхідний файл;

5 - закрити вихідний файл;

6 - вивести заголовок;

7 - вивести завершувач;

8 - ввести запис вхідного файлу;

9 - вивести рядок звіту (при включеному стані ознаки «формувати запис виведення»);

10 - очистити буфер виведення;

11 - встановити ознаку «формувати запис виведення»;

12 - скинути ознаку «формувати запис виведення»;

13 - помістити в рядок виводу ПІБ;

14 - встановити ознаку «заборгованість»;

15 - скинути ознака «заборгованість»;

16 - занести назву предмета в рядок виводу;

17 - стерти назву предмета з буфера.

 

Рис. 5.10 - Структури вхідних (а) та вихідних (б) даних програми

 

Потім визначаємо місце розташування операцій обробки (на рис. 5.11 вони показані кружечками з номерами). Результатом є повна структура розроблюваної програми в нотації Джексона. Далі відповідно до методики слід записати алгоритм програми на псевдокоді. У методиці Джексона пропонується псевдокод, який точно відповідає графічній нотації.

Методика Варньє-Орра. Методика Варньє-Орра базується на тому ж положенні, що і методика Джексона, але основними при побудові програми вважаються структури вихідних даних і, якщо структури вхідних даних не відповідають структурам вихідних, то їх допускається змінювати. Таким чином, ліквідується основна причина зіткнень. У розглянутому прикладі доцільно поміняти місцями оцінки та назви предметів, щоб спростити обробку.

Однак на практиці не завжди існує можливість перегляду структур вхідних даних: ці структури вже можуть бути строго задані, наприклад, якщо використовуються дані, отримані при виконанні інших програм, тому дану методику застосовують рідше.

Як випливає з вищевикладеного, методики Джексона і Варньє-Орра можуть використовуватися тільки в тому випадку, якщо дані розроблюваних програм можуть бути представлені у вигляді ієрархії або сукупності ієрархій.

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]