- •Технологія проектування програмних систем методичні вказівки
- •1. Опис навчальної дисципліни
- •Теми і зміст лекційних занять
- •3. Практичні заняття з дисципліни
- •6. Розподіл балів за змістовими модулями для визначення оцінки за результатами вивчення навчальної дисципліни
- •Шкала оцінювання
- •Лабораторна робота № 1
- •Короткі теоретичні відомості:
- •Моделювання взаємодій
- •Лабораторна робота № 2
- •Короткі теоретичні відомості:
- •Виявлення вимог
- •Прототипування
- •Системні сервіси
- •Системні обмеження
- •Проектні питання
- •Додатки
- •Специфікації станів
- •Моделювання класів
- •Виявлення класів
- •Підхід на основі використання іменних груп
- •Підхід на основі використання загальних шаблонів для класів
- •Підхід на основі використання прецедентів
- •Комплексний підхід
- •Деякі правила виявлення класів
- •Лабораторна робота № 3
- •Короткі теоретичні відомості
- •Архітектура програмного забезпечення
- •Розподілена архітектура
- •Триланкова архітектура
- •Програмування баз даних
- •Взаємодія "додаток - база даних"
- •Стратегія повторного використання
- •Компоненти
- •Розгортання
- •Проект розгортання
- •Моделі даних
- •Модель об'єктної бази даних
- •Об'єктно-реляційна модель бази даних
- •Елементарні типи моделі рбд
- •Реляційні таблиці
- •Лабораторна робота № 4
- •Короткі теоретичні відомості
- •Зв'язність і ув'язування класів
- •Види ув’язування класів
- •Закон Деметра
- •Методи відкриття доступу і безглузді класи
- •Проектування клієнт-серверних кооперативних взаємодій
- •Збережені процедури
- •Тригери
- •Проектування транзакцій
- •Песимістичне керування паралельністю
- •Точка збереження
- •Триггерный відкат
- •Тестування баз даних
- •Тестування авторизації
- •Тестування інших обмежень
- •Документація по тестуванню і керуванню змінами
Програмування баз даних
Незалежно від того, де розташована логіка додатка, програма (клієнт) взаємодіє з базою даних (сервером), щоб одержати інформацію для її відображення і надання в розпорядження користувача для подальших маніпуляцій. Однак сучасні бази даних також можна програмувати. Говорять, що ці сучасні бази даних активні.
Програми баз даних називаються збереженими процедурами (stored procedure). Збережені процедури зберігаються в самій базі даних (вони є постійними або персистентними). Їх можна викликати з клієнтської програми (або з іншої збереженої процедури) за допомогою звичайного оператора виклику процедури/функції.
Існують збережені процедури спеціального виду - тригери, які не можна викликати явно. Тригер спрацьовує автоматично при спробі змінити вміст бази даних. Тригери використовуються для реалізації бізнес-правил масштабу підприємства, які повинні бути проведені в життя способом, незалежним від клієнтських програм (або збережених процедур). Тригери підсилюють цілісність і несуперечність баз даних. Вони не дозволяють окремим додаткам порушувати бізнес-правила, закладені в базу даних.
Взаємодія "додаток - база даних"
Нам необхідно розв'язати, яка частина системи буде запрограмована у клієнті, а яка - у базі даних. При цьому розглядаються наступні програмувальні частини системи.
Користувацький інтерфейс.
Презентаційна логіка.
Прикладні функції.
Інтегральна логіка.
Функції доступу до даних.
Частина програми, яка називається користувацьким інтерфейсом, відповідає за відображення інформації на конкретний GUI-інтерфейс, такий як GUI-інтерфейс Microsoft Windows, GUI-інтерфейс Unix Motif, GUI-інтерфейс Macintosh. Презентаційна логіка (або логіка представлення) відповідає за обробку об'єктів GUI-інтерфейсу (форм, меню, кнопок дій і т.д.), як того вимагають функції додатка.
Функції додатка містять основну логіку програми. Вони фіксують дії додатка і являють собою сполучну ланку, що з'єднує разом клієнта і базу даних. З погляду підходу всі функції додатка реалізуються класами керуючого пакета.
Інтегральна логіка відповідає за бізнес-правила масштабу підприємства. Це правила, які застосовуються до всіх прикладних програм, тобто ВСЕ програми повинні функціонувати відповідно до них. Функції доступу до даних володіють питаннями доступу до постійних об'єктів даних на диску.
* Підхід ВСЕ (Boundary-Сontrol-Еntity - межа, управління, сутність) являє собою підхід до об'єктного моделювання, заснований на трьохфакторному представленні класів. В UML на класах зумовлені три стереотипи: вoundary (межа), control (управління), entity (сутність). Це і визначило вибір абревіатури ВСЕ.
Стратегія повторного використання
UML визначає повторне використання (reuse) як "використання раніше існуючих артефактів". Стратегія впливає на ступінь деталізації, з якою здійснюється повторне використання. Можуть застосовуватися наступні ступені деталізації повторного використання.
Клас.
Компонента.
Ідея рішення.
У зв'язку зі ступенем деталізації існують три відповідні стратегії повторного використання в основі яких лежать наступні програмні сутності.
1. Інструментальні засоби (бібліотеки класів).
2. Каркаси.
3. Шаблони аналізу і проектування.
