
- •Дипломна робота
- •Попередній захист:
- •Завдання
- •Реферат
- •Перелік скорочень, умовних позначень, символів, одиниць і термінів
- •Розділ 1 Загальносистемні питання. Аналіз актуальності розв'язуваної задачі й огляд наявних результатів. Постановка задачі досліджень та проектування
- •1.1.Огляд існуючих сдн
- •1.2. Обґрунтування мети рішення поставленої проблеми і критеріїв ефективності
- •1.3. Постановка задачі. Технічне завдання на розробку
- •Розділ 2 Проектні і технічні рішення та документація
- •2.1. Інформаційне забезпечення проектованої системи
- •2.1.1. Структура і схеми інформаційних об’єктів і ресурсів
- •2.1.2. Структура та опис конфігураційних xml, php, tpl файлів
- •2.1.3. Схеми бази данних(діаграми)
- •2.2. Програмне забезпечення
- •2.2.1. Опис фрагменту коду
- •2.2.2. Опис окремих функцій, їх викликів, взаємодії компонентів
- •Розділ 3 Опис роботи програми
- •3.1. Інструкція користувача (адміністратора, викладача, студента)
- •3.2. Заходи щодо забезпечення безпеки використання програми (захист даних, резервне копіювання, захист від ндс)
- •Взаємодія «викладач – група студентів»
- •Розділ 4 Охорона праці
- •4.1. Аналіз особливостей охорони праці на робочому місці програміста (системного адміністратора, аналітика комп’ютерних систем тощо)
- •4.2. Розробка рекомендацій щодо покращення умов праці та розрахунок їх ефективності
- •4.3. Оцінка ефективності модернізації та заходів щодо охорони праці
- •4.3. Висновки до розділу
- •Висновки
- •Додатки
- •Модуль розроблення тестів
- •Контроль лекційного матеріалу
- •Самостійна робота
- •Інтерактивна взаємодія
2.2. Програмне забезпечення
Модуль залікова книжка створювався інструментами мови PHP та технології SMARTY. Для створення бази данних використовувалася мова SQL, а керування базою даних здійснювалось за допомогою серверу БД MySQL.
PHP - мова розробки програмного забезпечення для Web, написаний розробниками Web і для розробників Web. Сама назва PHP є рекурсивним скороченням від PHP: Hypertext Preprocessor (препроцесор гіпертексту PHP). Первоночально цей програмний продукт іменувався Personal Home Page Tools, і багато хто до цих пір вважають, що аббоевіатура PHP розшифровується саме так. Але з часом появи першої версії PHP область застосування цієї мови значно розширилася, тому за спільною згодою спільноти користувачів PHP було прийнято нове і більш прийнятне визначення яке стало рекурсивним, в стилі GNU - GNU's Noy Unix, або GNU - не Unix). в даний час використовується п'ята основна версія РНР, яка скорочено позначається як РНР5, але може також позначатися просто як РНР.[20-24]
РНР - Це серверний мова сценаріїв, який може бути впроваджений в код HTML для розгортання в браузері. Ще один варіант використання сценаріїв на цій мові може передбачати їх автономне виконання (але набагато ширше застосовується перший варіант). До цієї категорії належать також такі програмні продукти, що знаходяться у власності окремих компаній, як Active Server Pages (ASP) компанії Microsoft, ColdFusion компанії Macromedia і Java Server Pages (JSP) компанії Sun. У деяких журналах з програмування мова РНР часто називають "мовою ASP з відкритим початковим кодом", оскільки цей програмний продукт за своїми функціональними можливостями аналогічний програмному продукту Microsoft. Але таке формулювання вводить в оману, оскільки мова РНР був розроблений раніше, ніж ASP. А протягом останніх кількох років застосування РНР і серверних засобів Java розширюється, тоді як сфера використання ASP звужується, тому зазначене порівняння стає ще більш неприйнятним.
Технології підтримки серверних сценаріїв розглядаються більш докладно в розділі 2, а при вивченні цього розділу досить керуватися визначенням серверного сценарію як сукупності супердескріпторов HTML або невеликих програм , Які виконуються всередині Web-сторінок, але не в браузері, а на сервері, перед відправкою в браузер. Наприклад, код РНР можна використовувати в коді HTML для введення загальних верхніх і нижніх колонтитулів у всі сторінки сайту або для збереження даних, введених у форму, в базі даних.Строго кажучи, мова РНР практично не застосовується для створення компонування, обробки подій, виконання маніпуляцій з елементами об'єктної моделі документа (Document Object Model - DOM), а також фактично не впливає на те, як виглядає Web-сторінка або які звуки на ній відтворюються. Насправді основна частина дій, які виконуються в коді РНР, залишається непомітною для кінцевого користувача. Зокрема, перегляд сторінки, створеної за допомогою мови РНР, аж ніяк не дозволяє судити про те, що для написання коду цієї сторінки застосовувався якийсь інший мову, крім HTML, оскільки зазвичай результатом відтворення коду РНР є код HTML. В даний час програмне забезпечення підтримки мови РНР формально введено у вигляді окремого модуля до складу програм HTTP-сервера Apache, домінуючого на ринку безкоштовного Web-сервера, який застосовується для обробки близько 67% трафіку World Wide Web (згідно широко відомому аналітичному огляду, що стосується застосування Web-сервсров різних типів, який підготовлений компанією Netcraft). Це означає, що машина підтримки сценаріїв РНР може бути вбудована безпосередньо в сам Web-сервер, що сприяє прискоренню обробки, більш ефективному розподілу пам'яті і значного спрощення супроводу. Інтерпретатор мови РНР , Як і сервер Apache, повністю забезпечує експлуатацію додатків на різних програмних та апаратних платформах. Це означає, що додатки, написані на цій мові, можуть експлуатуватися в своєму безпосередньому вигляді у багатьох різновидах операційної системи Unix, в різних версіях операційної системи Windows, а з недавнього часу - в операційній системі Mac OS X. Всі проекти, що розробляються під егідою фонду Apache Software Foundation, включаючи РНР, представляють собою програмне забезпечення з відкритим вихідним кодом.
Мова SQL. SQL є, перш за все, інформаційно-логічною мовою, призначеною для опису, зміни та вилучення даних, що зберігаються в реляційних базах даних. SQL не можна назвати мовою програмування.[23,24]
Спочатку, SQL був основним способом роботи користувача з базою даних і дозволяв виконувати наступний набір операцій:
створення в базі даних нової таблиці;
додавання в таблицю нових записів;
зміна записів;
видалення записів;
вибірка записів з однієї або декількох таблиць (відповідно до заданого умовою);
зміна структур таблиць.
З часом, SQL ускладнився - збагатився новими конструкціями, забезпечив можливість опису та управління новими збереженими об'єктами (наприклад, індекси, подання, тригери і процедури) - і став набувати риси, властиві мовам програмування.
При всіх своїх змінах, SQL залишається єдиним механізмом зв'язку між прикладним програмним забезпеченням і базою даних. У той же час, сучасні СУБД, а, також, інформаційні системи, що використовують СУБД, надають користувачеві розвинені засоби візуальної побудови запитів.
Кожна пропозиція SQL - це або запит даних з бази, або звернення до бази даних, яке призводить до зміни даних в базі. Відповідно до того, які зміни відбуваються в базі даних, розрізняють такі типи запитів:
запити на створення або зміну в базі даних нових чи існуючих об'єктів (при цьому в запиті описується тип і структура створюваного або змінюваного об'єкта);
запити на отримання даних;
запити на додавання нових даних (записів)
запити на видалення даних;
звернення до СУБД.
Основним об'єктом зберігання реляційної бази даних є таблиця, тому всі SQL - запити - це операції над таблицями.
Відповідно до цього, запити діляться на
запити, які оперують самими таблицями (створення і зміна таблиць);
запити, які оперують з окремими записами (або рядками таблиць) або наборами записів.
Кожна таблиця описується у вигляді перерахування своїх полів (стовпців таблиці) із зазначенням
типу збережених в кожному полі значень;
зв'язків між таблицями (завдання первинних і вторинних ключів);
інформації, необхідної для побудови індексів.
Запити першого типу, в свою чергу, діляться на запити, призначені для створення в базі даних нових таблиць, і на запити, призначені для зміни вже існуючих таблиць. Запити другого типу оперують з рядками, і їх можна розділити на запити такого вигляду:
вставка нового рядка;
зміна значень полів рядка або набору рядків;
видалення рядка або набору рядків.
Найголовніший вид запиту - це запит, який повертає (користувачеві) деякий набір рядків, з яким можна здійснити одну з трьох операцій:
переглянути отриманий набір;
змінити всі записи набору;
видалити всі записи набору.
Таким чином, використання SQL зводиться, по суті, до формування різноманітних вибірок рядків і здійснення операцій над усіма записами, що входять в набір.
Мова SQL представляє собою сукупність
операторів;
інструкцій;
обчислюваних функцій.
Згідно загальноприйнятій стилю програмування, оператори (і інші зарезервовані слова) в SQL завжди слід писати прописними буквами.
Система керування БД
MySQL — вільна система керування реляційними базами даних. Ця система керування базами даних (СКБД) з відкритим кодом була створена як альтернатива комерційним системам. MySQL з самого початку була дуже схожою на mSQL, проте з часом вона все розширювалася і зараз MySQL — одна з найпоширеніших систем керування базами даних.[24] Вона використовується, в першу чергу, для створення динамічних веб-сторінок, оскільки має чудову підтримку з боку різноманітних мов програмування.
MySQL — компактний багатонитковий сервер баз даних. Характеризується великою швидкістю, стійкістю і простотою використання.
MySQL був розроблений компанією «ТсХ» для підвищення швидкодії обробки великих баз даних.
MySQL вважається гарним рішенням для малих і середніх застосувань. Вихідні коди сервера компілюються на багатьох платформах. Найповніше можливості сервера виявляються в UNІХ-системах, де є підтримка багатонитковості, що підвищує продуктивність системи в цілому.
Для некомерційного використання MySQL є безкоштовним. Можливості сервера MySQL[24]:
простота у встановленні та використанні;
підтримується необмежена кількість користувачів, що одночасно працюють із БД;
кількість рядків у таблицях може досягати 50 млн.;
висока швидкість виконання команд;
наявність простої і ефективної системи безпеки.
Технологія SMARTY. Smarty - це компілюючий обробник шаблонів для PHP. Кажучи чіткіше, він надає один з інструментів, що дозволяє добитися відділення прикладної логіки і даних від представлення. Це дуже зручно в ситуаціях, коли програміст і верстальник шаблону - різні люди.
Наприклад, скажімо, ви створюєте сторінку, яка показує газетну статтю. Назва статті, автор і сама стаття - елементи, які не містять ніякої інформації про те, як вони будуть представлені. Їх передають в Smarty з додатку, а верстальник шаблону редагує шаблони і використовує комбінацію тегів HTML і тегів шаблону, щоб відформатувати представлення цих елементів (таблиці HTML, фонові кольори, розміри шрифту, стилю і т.д.). Одного разу програміст захоче змінити спосіб зберігання статті (зробити зміни в логіці додатку). Ця зміна не викличе змін в шаблонах. Зміст все ще передаватиметься в шаблон таким самим способом. Аналогічно, якщо верстальник захоче повністю перепроектувати шаблони, це не потребуватиме ніяких змін в прикладній логіці.
Одне з призначень Smarty - це відділення логіки додатку від представлення. Звичайно ж, шаблони можуть містити в собі логіку, але лише за умови, що ця логіка необхідна для правильного представлення даних. Такі завдання, як підключення інших шаблонів, забарвлення рядків, що чергуються, в таблиці, приведення букв до верхнього регістру, циклічний прохід по масиву для його відображення і т.д. - все це є прикладом логіки представлення. Не слід думати, що Smarty примушує вас розділяти логіку додатку і представлення. Smarty не бачить різниці між цими речами, так що поміщати або не поміщати логіку додатку в шаблони - вирішувати вам. Якщо ж ви вважаєте, що в шаблоні взагалі не повинно бути логіки, ви можете обмежитися використанням чистого тексту і змінних.[21]
Одна з унікальних можливостей Smarty - компіляція шаблонів. Це значає, що Smarty читає файли шаблонів і створює PHP-код на їх основі. Код створюється один раз і потім тільки виконується. Тому немає необхідності обробляти файл шаблону для кожного запиту і кожен шаблон може користуватися всіма перевагами таких кешуюших рішень, як Zend Accelerator (http://www.zend.com/) або PHP Accelerator (http://www.php-accelerator.co.uk). Деякі особливості Smarty:
Він дуже швидкий.
Він ефективний, оскільки обробник PHP робить за нього брудну роботу.
Ніякої зайвої обробки шаблонів, вони компілюються тільки один раз.
Перекомпілюються тільки ті шаблони, які змінилися.
Ви можете створювати призначені для користувача функції і модифікатори, що робить мову шаблонів надзвичайно розширюваною.
Роздільники тегів шаблону, що настроюються, тобто ви можете використовувати {, {, і т.д.
Конструкції if/elseif/else/endif передаються обробникові PHP, так що синтаксис виразу {if ...} може бути настільки простим або складним, наскільки вам завгодно.
Допустимо необмежене вкладення секцій, умов і т.д.
Існує можливість включення PHP-коду прямо у ваш шаблон, проте зазвичай в цьому немає необхідності (і це не рекоммендуєтся), оскільки двигун вельми гнучкий і розширюваний.
Вбудований механізм кешування.
Довільні джерела шаблонів.
Призначені для користувача функції кешування.
Компонентна архітектура.