ки меню «Вихід». Система запитує підтвердження: Вийти з системи ?. Якщо отримано позитивну відповідь (Так), то здійснюється вихід із системи і перехід на сторінку входу. Якщо отримано негативну відповідь (Немає), то система повертається в головне вікно додаток (з активною кнопкою «Вихід»), як зображено на малюнку 20.
Малюнок 20 - Діалог підтвердження виходу із системи
4.3 Розробка програми
4.3.1 Принцип роботи програми
Оскільки система автоматизації обліку є типовою завданням, то проектування системи велося в фрейворке CodeIngres із застосуванням концепції MVC, що дозволило мінімізувати час розробки і спростило її реалізацію.
Авторизація.
На сервері перевіряється наявність змінних сесії якщо вони є або є cookie для даного користувача, то авторизація вважається успішною. Інакше користувача перенаправляють на сторінку логіна, де він вводить пароль, ім'я користувача і після підтвердження на сервер відправляється запит підтвердження даних, якщо дані є в базі користувачеві відсилаються cookie про успішну авторизації і перенаправляють на головну сторінку системи управління.
Обробка запиту сервером.
Локальний комп'ютер (або сервер), на якому встановлено програму отримує пакет HTTP на порт 80 і передає веб-серверу Apache. Веб-сервер визначає наявність домена в його таблиці йде в каталог сайту і читає файл.htaccess, в якому описано як формувати сторінку (картинки js скрипти безпосередньо) і запускатися файл index.php.
Файл index.php підключає в себе файл конфігурації, в якому описані основні змінні, використовувані в системі (підключення до бази даних, назви таблиць, каталоги), а також файл містить клас bootstrap. Клас bootstrap займається розбором URL за яким стався запит, спочатку визначається контролер відповідає за запит, потім викликається метод і виконується запит користувача.
Формування сторінки на сервері
Процес формування сторінки починається з контролера, який визначає, які дані необхідно представити користувачеві, якщо необхідно звертається до моделі і отримує дані з бази даних формує масиви даних для виводу і передає їх в вид який використовуючи передані дані і шаблон формує висновок сторінки.
Управління контентом
У панелі управління є можливість управління контентом:
Додавання, видалення і модифікація записів.
Все управління здійснюється за допомогою ajax запитів (для зменшення трафіку між сервером і браузером користувача).
Вихід
Для виходу з системи управління сервер видаляє поточну сесію і чистить користувальницькі cookie.
4.3.2 Фізична структура програми
Головний каталог системи складається з 5 папок і 2 файлів.
Папки:
auth
config
libs
controllers
models
views
Файли:
.htaccess
index.php
4.4 Тестування системи
Тестування системи необхідно для перевірки помилок в коді і взаємодії модулів системи між собою. На етапі проектування була обрана концепція MVC (Model-View-Controller), при якій модифікація одного з компонентів надає мінімальний вплив на інші. Це дозволило спростити і скоротити етап тестування коду.
Функціональне тестування проводилося шляхом перевірки коректності заповнення бази даних і відгуку програми на дії користувача.
Система була протестована за наступними пунктами:
1. Вхід в систему:
коректний введення логіна і пароля;
ситуація введення логіна і/або пароля c помилкою.
2. Розділ адміністрування:
перехід в розділ адміністрування з різних частин програми (через головне меню);
коректність відображення даних про користувачів системи (в режимі admin);
додавання нового користувача, призначення логіна і пароля, перевірка входу в систему з цими даними;
видалення нового користувача, відмови в доступі при вході систему віддаленого користувача;
зміна пароля у користувача (у режимі адміністратора), якщо користувач забув свій пароль. Перевірка коректності зміни пароля при вході в систему.
3. Розділ редагування бази даних:
доступність функцій розділу редагування для різних користувачів (admin, guest);
зв'язок полів форм інтерфейсу з даними в базі;
додавання даних в базу, в тому числі і пов'язаних даних;
видалення даних з бази, у тому числі видалення всіх пов'язаних даних (наприклад, видалення відомостей про учня).
перевірена коректність даних після редагування.
4. Розділ пошуку:
доступність функцій розділу пошуку для різних користувачів (admin,...