Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 4 Проектування.doc
Скачиваний:
15
Добавлен:
19.11.2019
Размер:
721 Кб
Скачать
☆

4.4. Проектування програми

У розділі 4.2.6 вже описувалися мети проектування програми. У цьому розділі ми коротко розглянемо два аспекти процедури проектування програм, а саме проектування користувальницького інтерфейсу і транзакцій.

4.4.1. Проектування транзакцій Транзакція - одна дія чи послідовність дій, виконуваних тим самим користувачем (чи прикладною програмою), що здійснює доступ до бази даних чи зміну її вмісту.

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

Транзакція може складатися з декількох операцій, подібних, наприклад, перекладу грошей з одного рахунка на іншій. Однак з погляду користувача ці операції являють собою єдине завдання. З погляду СКБД, кожна транзакція переводить базу даних з одного несуперечливого стану в інше. СКБД забезпечує несуперечність бази даних навіть у випадку виникнення збою. Крім того, СКБД гарантує, що після завершення транзакції усі внесені нею зміни будуть надійно збережені в базі даних цілком і цілком (без необхідності виконання інший транзакції для усунення недоліків, що виникли при виконанні першої транзакції). Якщо з якої-небудь причини транзакція не буде довершена, СКБД гарантує, що усі внесені нею зміни будуть скасовані. У прикладі з банківським переведенням грошей це значить, що якщо гроші зняті (дебетовані) з одного рахунка і збій транзакції відбувся під час їх приміщення (кредитування) на інший рахунок, те СКБД скасує дебет першого рахунка. Якщо операції дебету і кредиту помістити в окремі транзакції, то відразу після дебетування першого рахунка і завершення транзакції ця зміна скасувати буде не можна, хіба що тільки за допомогою запуску інший транзакції з кредитуванням цього рахунка на зняту суму.

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

  • Дані, що використовуються транзакцієй.

  • Функціональні характеристики транзакції.

  • Вихідні дані, формовані транзакцієй.

  • Ступінь важливості транзакції для користувачів.

  • Передбачувана інтенсивність використання.

Існує три основних типи транзакції: транзакції витягу, транзакції відновлення і змішані транзакції.

  • Транзакції витягу використовуються для вибірки деяких даних з метою відображення їх на екрані приміщення в звіт. Прикладом транзакції витягу є пошук і відображення докладних зведень про об'єкт нерухомості (по заданому номері об'єкта).

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

  • Змішані транзакції включають як операції витягу, так і операції відновлення даних. Прикладом змішаної транзакції є пошук і відображення докладних зведень про об'єкт нерухомості (по заданому номері об'єкта), з наступною зміною місячної орендної плати.

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