Смекни!
smekni.com

Розробка програмного модулю для визначення професійних знань (стр. 4 из 14)

В тестовій системі користувачу буде надана можливість відправити свій результат другу. На сьогодні такий сервіс є популярним в мережі Інтернет. За відправку повідомлень буде відповідати програмний модуль для відправки повідомлень.

Модулі тестової системи будуть організовані папками, в яких будуть міститись відповідні класи та файли.

Програмний модуль для керування адміністраторами буде містити наступні класи та файли:

клас для роботи керування адміністраторами;

файл, де відбувається перевірка на введення ПІП;

файл для перевірки введеного логіна (чи доступний користувачу введений логін);

файл, для перевірки введення паролю та перевірки співпадання повторного паролю.

Модуль для керування зареєстрованими користувачами буде містити наступні класи та файли:

клас для роботи керування зареєстрованими користувачами;

клас для авторизації зареєстрованих користувачів;

файл, де відбувається перевірка на введення ПІП;

файл для перевірки введеного логіна;

файл, для перевірки введення паролю та перевірки співпадання повторного паролю.

Модуль для роботи з тестом буде містити наступні класи та файли:

клас для роботи з тестом;

файл конфігурації тесту.

Програмний модуль для відправки повідомлень буде містити наступні класи та файли:

клас для відправки повідомлень;

файл для перевірки введених даних;

капча – клас для розпізнавання комп’ютерів і людей;

файл конфігурації капчі для сайту;

файл конфігурації капчі для системи управління;

файл для налаштування шрифту капчі.

Також для тестової системи будуть розроблені інші класи, які не належатимуть перечисленим модулям, а будуть інтегровані у тестову систему. Ними являються:

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

клас для роботи з базою даних;

клас для навігації по сторінкам.

Схема взаємозв’язку програмних модулів тестової системи наведена на рисунку 2.8.

Рисунок 2.8 – Схема взаємозв’язку програмних модулів тестової системи

Схема взаємозв’язку програмних модулів системи управління тестом наведена на рисунку 2.9.

Рисунок 2.9 – Схема взаємозв’язку програмних модулів системи управління тестом

Дерево програмних модулів, які відображають структурну схему пакету, що містить програмні модулі різних класів, наведено на рисунку 2.10.

Рисунок 2.10 – Дерево програмних модулів

2.3 Вибір засобів розробки інформаційної системи

2.3.1 Веб-сервер Apache

Для розробки тестової системи використаний сервер Apache, на якому будуть розміщені усі модулі та класи системи.

Apache HTTP-сервер – відкритий веб-сервер Internet для UNIX-подібних, Microsoft Windows, Novell NetWare та інших операційних систем. На сьогодні він є найрозповсюдженішим веб-сервером мережі Internet.

Веб-сервер – це сервер, який приймає HTTP-запити від клієнтів, зазвичай веб-браузерів, який видає їм HTTP-відповіді, разом з HTML-сторінкою, зображенням, файлом, медіа-потоком або іншими даними [5].

Веб-сервером називають як програмне забезпечення, що виконує його функції, так і комп'ютер, на якому це програмне забезпечення працює.

Клієнти дістають доступ до веб-сервера за URL адресою потрібної їм веб-сторінки або іншого ресурсу.

Web-сервер Apache є некомерційним, вільно розповсюджуваним продуктом. Продукт підтримує безліч можливостей, багато з яких реалізовані як скомпільовані модулі, що розширюють основні функціональні можливості. Існують інтерфейси для підтримки мов програмування Perl, Python і PHP.

В основному Apache використовується для передачі даних через HTTP статичних та динамічних веб-сторінок у всесвітній павутині.

Сервер Apache може працювати в якості кешувального проксі-сервера. Проксі-сервер – це програма або окремий комп'ютер, який спеціалізується на обробці запитів до мережі та збереженні результатів запитів в своїй локальній кеш-пам'яті, що дозволяє істотно підвищити продуктивність роботи користувачів локальної мережі при роботі з документами, розташованими в Internet. Можна задавати такі параметри і налаштування проксі-сервера:

типи файлів, які необхідно кешувати або не включати в кеш;

максимальний обсяг дискового простору, відведений під кеш;

періодичний перегляд та індексування бази даних кеша з метою вивільнення дискового простору шляхом видалення застарілих об'єктів [6].

Для розробки програмного продукту буде використана збірка віртуального веб-серевера XAMPP. Тут є Apache і MySQL.

2.3.2 СКБД MySQL

База даних тестової системи буде створена з допомогою системи керування базами даних MySQL. Це одна із основних СКБД для створення баз даних веб-ресурсів.

MySQL – система керування базами даних (СКБД), що забезпечує користувачам можливість створення, збереження, оновлення, пошук інформації та контролю доступу в базах даних [7].

MySQL є гарним рішенням для малих і середніх додатків. Звичайно MySQL використовується як сервер, до якого звертаються локальні або віддалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми.

Гнучкість СКБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM, що підтримують повнотекстовий пошук, так і таблиці InnoDB, що підтримують транзакції на рівні окремих записів. Більш того, СУБД MySQL поставляється із спеціальним типом таблиць EXAMPLE, що демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі і GPL-ліцензуванню, в СКБД MySQL постійно з'являються нові типи таблиць.

MySQL має API для мов C, C++, Java, LISP, Perl, PHP, Python, Ruby, Smalltalk бібліотеки для мов платформи .NET, а також забезпечує підтримку для ODBC за допомогою ODBC-драйвера MyODBC.

Можливості сервера MySQL:

простота у встановленні та використанні;

підтримується необмежена кількість користувачів, що одночасно працюють із БД;

кількість рядків у таблицях може досягати 50 млн.;

висока швидкість виконання команд;

наявність простої і ефективної системи безпеки.

Недоліки сервера MySQL:

не реалізована підтримка транзакцій. Натомість пропонується використовувати LOCK/UNLOCK TABLE;

відсутня підтримка зовнішніх (foreign) ключів;

відсутня підтримка тригерів і збережених процедур;

відсутня підтримка представлень (VIEW).

Зазначені недоліки не є критичними при розробці малих і середніх ІС (інформаційних систем) для робочих груп [8].

Незважаючи на малі недоліки, для розробки програмного продукту було обрано MySQL в ролі СКБД. База даних буде створюватись за допомогою менеджера баз даних – PhpMyAdmin. Даний менеджер входить до складу збірки віртуального веб-серевера XAMPP.

2.3.3 Мова розмітки гіпертексту HTML

Будь який веб-ресурс, чи то звичайний сайт, чи портал не обходиться без дизайну. Дизайн сторінок втілюється за допомогою мови розмітки гіпертексту HTML.

HTML (Hypertext Markup Language – мова розмітки гіпертексту) – це стандартна мова розмітки документів у мережі Internet. Всі веб-сторінки створюються за допомогою мови HTML або XHTML [9].

Мова розмітки – штучна мова, яка використовує набір спеціальних тегів, які формують веб-сторінку.

Мови розмітки використовувалися століттями, а в останні роки почали використовуватися в системах комп'ютерної верстки та системах обробки текстової інформації [10].

Наведемо деякі поняття.

Гіпертекст (англ. Hypertext) – документ (текст), що містить гіперпосилання на інші документи, які можуть бути відображені безпосередньо з вихідного (первинного) документу, шляхом активізації гіперпосилання. Веб-оглядач переміщує користувача Internetу з одного документу на інший як тільки той вказує на гіперпосилання [11].

Гіперпосилання – активний (виділеним кольором) текст, зображення чи кнопка на веб-сторінці, натиснення на яку (активізація гіперпосилання) викликає перехід на іншу сторінку чи іншу частину поточної сторінки [12].

XHTML (розширювана мова розмітки гіпертексту) – мова розмітки, що задовольняє синтаксичним правилам XML [13].

Мова HTML інтерпретується браузером і відображається у вигляді документа, зручного для людини.

HTML є додатком SGML (стандартної узагальненої мови розмітки) і відповідає міжнародному стандарту ISO 8879.

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

простота;

можливість інтерпретації в будь-якій операційній системі;

мінімальний розмір файлу;

зручність редагування та інтерпретації [14].

Для розробки програмного продукту буде використана змішана верстка веб-сторінок, а саме: таблична (документ розміщується в таблицях) та “дівова” верстка (верстка з допомогою слоїв). Для створення веб-сторінок програмного продукту буде використаний блокнот Notepad++. Переваги даного блокноту в тому, що він є безкоштовним та має підсвітку синтаксису різних мов.

2.3.4 Таблиці каскадних стилів CSS

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

Cascading Style Sheets (каскадні таблиці стилів) – технологія опису зовнішнього вигляду документа, написаного мовою розмітки. CSS використовується переважно для оформлення HTML- і XHTML-документів, але іноді і для інших XML-структурованих документів.

CSS використовується розробниками веб-сторінок для опису кольорів, шрифтів, розташування та інших аспектів представлення документа. Основною метою розробки CSS було розділення вмісту (написаного на HTML або іншій мові розмітки) і представлення документа (написаного на CSS). Таке розділення повинно збільшити зрозумілість документа, надати велику гнучкість, зменшити складність і повторюваність в структурному вмісті. Крім того, CSS дозволяє представляти один і той же документ в різних стилях.