икористовуватися опціонально, але його використання не обов'язково. Движки шаблонів не можуть перевершити продуктивність чистого PHP, і синтаксис, який застосовується з ним, не значно простіше основ PHP.
3.2 Проектування структури системи
При розробці програми використовувалася концепція MVC (Model-Veiw-Controller, Модель-Вид-Контролер), як показано на малюнку 4. Цей шаблон розділяє роботу веб-додатки на три окремі функціональні ролі: модель даних ( Model), користувальницький інтерфейс (View) і керуючу логіку (Controller). Таким чином, модифікація кожного компонента може здійснюватися незалежно.
Модель надає дані предметної області поданням і реагує на команди контролера, змінюючи свій стан. Подання відповідає за відображення даних предметної області (моделі) користувачеві, реагуючи на зміни моделі. Контролер інтерпретує дії користувача, оповіщаючи модель про необхідність змін.
Малюнок 4 - Концепція Model-View-Controller
Загальний принцип роботи з базою даних через веб-інтерфейс можна описати наступним алгоритмом:
Користувач заповнює веб-форму і відправляє її PHP-оброблювачу, заданому в атрибуті action.
Веб-сервер (Apache) приймає запит і викликає інтерпретатор PHP з ім'ям скрипта і даними веб-форми в якості параметрів.
Інтерпретатор PHP завантажує на виконання вказаний скрипт і передає йому дані з форми.
У процесі виконання PHP-скрипта дані з форми підставляються в SQL-запит.
З скрипта SQL-запит передається серверу СУБД MySQL.
Набір даних, отриманий в результаті виконання SQL-запиту, повертається скрипту.
PHP-скрипт використовує отримані з БД дані для динамічного формування веб-сторінки і повертає її веб-сервера (Apache), який передає її клієнту (браузеру).
Схема взаємодії клієнта і сервера представлена ??на малюнку 5.
Малюнок 5 - Схема взаємодії клієнта і сервера
Додаток доступний у двох версіях: для адміністратора системи (логін: admin) і користувача, як показано на малюнках 6, 7. У версії для адміністратора системи присутній додатковий пункт меню «Адміністрування», де є можливість додавання , видалення користувачів і зміни пароля.
Малюнок 6 - Схема програми для адміністратора
Малюнок 7 - Схема програми для користувача
3.3 Проектування структури бази даних
В системі автоматизації обліку потрібно зберігати наступну інформацію:
Дані учня:
Прізвище
Ім'я
батькові
Дата народження
Домашня адреса
Клас
Дані батьків:
Прізвище
Ім'я
батькові
Місце роботи
Дані вчителів:
Прізвище
Ім'я
батькові
Предмет
Категорія
Відомості по успішності учнів: річні оцінки з предметів.
Відомості про заняттях в секціях та гуртках.
Відомості про участь в олімпіадах, змаганнях, конкурсах.
Відомості про склад сім'ї: повна, неповна, опікунська.
При проектуванні реляційної бази даних слід застосовувати нормалізацію даних. Нормалізація - процес перетворення відносин бази даних до вигляду, відповідальному нормальним формам. Основною метою нормалізації є зменшення потенційної суперечливості збереженої в базі даних інформації.
Коли поле в даному записі містить більше одного значення для кожного входження первинного ключа, такі групи даних називаються повторюваними групами. Перша нормальна форма не допускає наявності таких багатозначних полів.
Друга нормальна форма досягається за рахунок видалення всіх неключових атрибутів, які залежать тільки від частини первинного ключа. Такі атрибути називаються частково залежними. Неключові атрибути містять в собі інформацію про даної суті предметної області, але не ідентифікують її унікальним чином.
Для побудови концептуальної моделі бази даних визначимо основні об'єкти та зв'язку.
Основними об'єктами є:
учні;
вчителя;
класи;
предмети.
Навчання в школі відбувається поетапно (з 1-го по 11-й клас). У кожному класі (році навчання) є свій набір предметів. Щоб перейти з класу в клас необхідно провчитися навчальний рік і отримати річні оцінки з предметів, що вивчаються в цьому класі. Оцінки з предметів враховуються в журналі. На кожному етапі класів може бути декілька (наприклад, 1А, 1Б, 1В). Якщо учень не впорався з навчальною пр...