Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dobrenko_kursovoi(1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
127.49 Кб
Скачать

Проектування структури програми і взаємодії модулів

      1. Специфікація підзадач і способів їх взаємодії

Узагальнений алгоритм логічної структури програми При розробці великих проектів, з програмою дуже незручно працювати, коли увесь її початковий код знаходиться в одному файлі. Тому, для зручності, має сенс розбити увесь проект на декілька файлів з початковим кодом, які називаються модулями. Тим самим полегшується завдання наступного аналізу такого коду і внесення до нього змін. Якщо зміни будуть внесені тільки до одного модуля, то потрібно буде перекомпілювати тільки його, і потім виконати повторну зборку усієї програми компонувальником. В цілому, можна сказати, що перекомпонування об'єктних модулів програми виконується набагато швидше, ніж компіляція великого початкового файлу.

При створенні багатомодульної програми, зазвичай, виконують декілька стандартних дій, описаних нижче :

Створюють основний початковий модуль проекту. В нього поміщають процедуру початкового запуску та ряд інших допоміжних процедур.

Для кожної великої процедури проекту створюють окремий модуль. При використанні невеликих процедур має сенс зібрати їх в одному модулі.

В окремому модулі необхідно описати за допомогою директив препроцесора прототипи усіх функцій.

Визначимо модульний склад нашої програми.

Розподіл функцій між модулями зробимо за таким принципом:

Перший модуль складатиме головна функція. Це відповідає деяким загальноприйнятими підходами до конструювання програм: в такому модулі розміщується програма-монітор, яка управляє порядком виконання функціями програмного продукту.

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

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

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

Опис модулів програми.

Проектування програмної системи вимагає декілька рівнів детальності (рис. 2-1).

Рисунок 2-1. Модульний склад програми.

Модуль 1. Програма - монітор.

У цей модуль входить тільки одна функція – управляюча програма.

На екран необхідно вивести меню - перерахування можливих дій. Для зручності оператора кожній дії можна призначити числовий код. Залежно від вибраного коду викликаються ті або інші функції.

Також необхідно забезпечити вихід з програми. Крім того, необхідно забезпечити обробку помилкових ситуацій: введення оператором якогось непередбаченого коду. В цьому випадку необхідно вивести повідомлення про помилковий код і перейти на наступну ітерацію циклу.

Обробка помилок - одна з найскладніших проблем сучасної інформатики, і до неї не можна відноситися зі зневагою.

Модуль 2. Підсистема доступу до бази даних.

У цьому модулі розташовані функції, які вирішують наступні завдання:

Додавання в базу даних нового запису.

Видалення з бази даних запису із заданим номером.

Сортування записів бази даних по заданому полю.

Запис даних у файл (оновлення файлу бази даних).

Зчитування даних з файлу.

Модуль 3. Підсистема інтерфейсу користувача .

У цьому модулі розташовані функції, які здійснюють уведення-виведення і інші допоміжні дії:

виведення на екран записів бази даних, починаючи з деякого початкового значення до деякого кінцевого значення .

введення з клавіатури номера запису.

виведення на екран заголовка таблиці.

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