Електронний журнал вчителя

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    402,65 Кб
  • Опубликовано:
    2016-04-01
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Електронний журнал вчителя

Зміст

Вступ

. Опис предметної області

. Мови програмування, на яких написана програма

. Опис логічної структури

. Створення проекту і опис коду

. Тестування проекту

Висновок

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

Додаток А

Додаток В

Додаток С

Додаток D

Вступ


Курсовий проект (робота) - це самостійно виконана і відповідно оформлена творча робота студента з вирішення конкретного практичного завдання з однієї або декількох загальнотехнічних чи спеціальних дисциплін на основі набутих теоретичних знань та умінь.

Курсовий проект виконується протягом навчального семестру у відповідності з навчальним планом спеціальності

Основною метою курсового проектування є:

–       навчання та набуття навиків практичного застосування теоретичних знань для вирішення конкретних практичних задач;

–       розвиток творчого мислення, виявлення та формування професійних навиків студентів;

–       набуття навиків конструювання виробів, виконання розрахунків, письмового викладу технічних рішень та аналізу одержаних результатів;

–       закріплення, поглиблення та систематизація отриманих студентами в процесі навчання теоретичних знань з різних дисциплін;

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

–       навчання та набуття студентами досвіду користування довідковою літературою і нормативними документами.

1. Опис предметної області


«Електронний журнал» призначений для спрощення контролю та обліку навчальних досягнень і відвідування учнів класу.

«Електронний журнал» може використовуватися в школі заступником директора і класним керівником.

«Електронний журнал» складається з електронних таблиць бази даних розробленої в MySQL, які мають наступні назви і поля:

учні

ім'я

прізвище

предмети

назва

уроки

Зв'язок з предметом

дата

тема

оцінки

Зв'язок з уроком

Зв'язок з учнем

Оцінка (значення)

Кожен вчитель та класний керівник заповнюють свій листок так як і в звичайному шкільному журналі.

Програма може показати оцінки і відвідування за вибраний місяць для одного учня або всього класу.

. Мови програмування, на яких написана програма

Наш проект електронного журналу вчителя буде написаний на наступних мовах програмування.- це особлива мова програмування, який базується на об’єктному представленні браузера. Він потрібен для того, щоб надати сайту більше інтерактивності в порівнянні зі звичайним статичним HTML-документом. Наприклад, в інтерфейсі можна буде реалізувати мінливі малюнки, рухомий рядок з тексту та багато іншого. Відмінність JavaScript полягає в тому, що текст програми вбудовується в документ HTML і аналізується самим браузером. JavaScript - це мова програмування сценаріїв на веб-сторінках.

Для чого потрібен JavaScript

 За допомогою JavaScript створюються динамічні документи HTML. Статичний вигляд сторінок HTML пішов у минуле!

 JavaScript пов’язує воєдино всі будівельні блоки програми, це як би засіб побудови фундаменту.

 JavaScript здійснює перевірку полів форм HTML до того, як вони передалися на сервер.

 Управління програмою на даній мові програмування йде через локальний введення інформації.

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

Що таке JavaScript error і як включити JavaScript

JavaScript (JS) - динамічна, об'єктно-орієнтованa <https://uk.wikipedia.org/wiki/%D0%9E%D0%B1%27%D1%94%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D0%BD%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> мова програмування <https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>. Реалізація стандарту ECMAScript <https://uk.wikipedia.org/wiki/ECMAScript>. Найчастіше використовується як частина браузера <https://uk.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80>, що надає можливість коду на стороні клієнта <https://uk.wikipedia.org/wiki/%D0%9A%D0%BB%D1%96%D1%94%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D0%B0_%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0>(такому, що виконується на пристрої кінцевого користувача) взаємодіяти з користувачем, керувати браузером, асинхронно <https://uk.wikipedia.org/wiki/AJAX> обмінюватися даними з сервером <https://uk.wikipedia.org/wiki/%D0%9A%D0%BB%D1%96%D1%94%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D0%B0_%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0>, змінювати структуру <https://uk.wikipedia.org/wiki/%D0%9E%D0%B1%27%D1%94%D0%BA%D1%82%D0%BD%D0%B0_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0> та зовнішній вигляд <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD> веб-сторінки <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0>. Мова JavaScript також використовується для програмування <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> на стороні сервера (подібно до таких мов програмування, як Java <https://uk.wikipedia.org/wiki/Java> і C# <https://uk.wikipedia.org/wiki/C_Sharp>), розробки ігор <https://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%27%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%96_%D1%96%D0%B3%D1%80%D0%B8>, стаціонарних та мобільних додатків, сценаріїв в прикладному ПЗ <https://uk.wikipedia.org/wiki/%D0%9F%D0%97> (наприклад, в програмах зі складу Adobe Creative Suite <https://uk.wikipedia.org/wiki/Adobe_Creative_Suite>), всередині PDF <https://uk.wikipedia.org/wiki/PDF>-документів тощо.класифікують як прототипну <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF%D0%BD%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> (підмножина об'єктно-орієнтованої <https://uk.wikipedia.org/wiki/%D0%9E%D0%B1%27%D1%94%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D0%BD%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>), скриптову мову <https://uk.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> програмування з динамічною типізацією. Окрім прототипної, JavaScript також частково підтримує інші парадигми програмування (імперативну <https://uk.wikipedia.org/wiki/%D0%86%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> та частково функціональну <https://uk.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>) і деякі відповідні архітектурні властивості, зокрема: динамічна <https://uk.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D1%96%D1%87%D0%BD%D0%B0_%D1%82%D0%B8%D0%BF%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F> та слабка <https://uk.wikipedia.org/w/index.php?title=%D0%A1%D0%BB%D0%B0%D0%B1%D0%BA%D0%B0_%D1%82%D0%B8%D0%BF%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%8F&action=edit&redlink=1> типізація <https://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%82%D0%B8%D0%BF%D1%96%D0%B7%D0%B0%D1%86%D1%96%D1%97>, автоматичне керування пам'яттю, прототипне наслідування <https://uk.wikipedia.org/wiki/%D0%9D%D0%B0%D1%81%D0%BB%D1%96%D0%B4%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)>, функції <https://uk.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D1%96%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)>як об'єкти першого класу <https://uk.wikipedia.org/wiki/%D0%9E%D0%B1%27%D1%94%D0%BA%D1%82_%D0%BF%D0%B5%D1%80%D1%88%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BB%D0%B0%D1%81%D1%83>.

Незважаючи на схожість назв, мови Java <https://uk.wikipedia.org/wiki/Java> та JavaScript є двома різними мовами, що мають відмінну семантику <https://uk.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BC%D0%B0%D0%BD%D1%82%D0%B8%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>, хоча й мають схожі риси в стандартних бібліотеках <https://uk.wikipedia.org/w/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0_%D0%B1%D1%96%D0%B1%D0%BB%D1%96%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&action=edit&redlink=1> та правилах іменування. Синтаксис <https://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81_%D0%BC%D0%BE%D0%B2%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> обох мов отриманний «у спадок» від мови <https://uk.wikipedia.org/wiki/C_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)>, але семантика та дизайн JavaScript є результатом впливу мов Self <https://uk.wikipedia.org/w/index.php?title=Self_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)&action=edit&redlink=1> та Scheme <https://uk.wikipedia.org/wiki/Scheme>.(англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> PHP: Hypertext Preprocessor - PHP: гіпертекстовий <https://uk.wikipedia.org/wiki/%D0%93%D1%96%D0%BF%D0%B5%D1%80%D1%82%D0%B5%D0%BA%D1%81%D1%82> препроцесор <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80>), попередня назва: Personal Home Page Tools - скриптова <https://uk.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> мова програмування <https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>, була створена для генерації HTML <https://uk.wikipedia.org/wiki/HTML>-сторінок на стороні веб-сервера <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80>. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java <https://uk.wikipedia.org/wiki/Java>, .NET <https://uk.wikipedia.org/wiki/.NET>, Perl <https://uk.wikipedia.org/wiki/Perl>, Python <https://uk.wikipedia.org/wiki/Python>, Ruby <https://uk.wikipedia.org/wiki/Ruby>). PHP підтримується переважною більшістю хостинг <https://uk.wikipedia.org/wiki/%D0%A5%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3>-провайдерів <https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80>. PHP - проект відкритого програмного забезпечення <https://uk.wikipedia.org/wiki/%D0%92%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%B5_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F>.інтерпретується веб-сервером у HTML-код, який передається на сторону клієнта. На відміну від скриптової мови JavaScript <https://uk.wikipedia.org/wiki/JavaScript>, користувач не бачить PHP-коду, бо браузер отримує готовий html-код. Це є перевага з точки зору безпеки, але погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати PHP для генерування і JavaScript <https://uk.wikipedia.org/wiki/JavaScript>-кодів які виконуються вже на стороні клієнта.- мова, код якої можна вбудовувати безпосередньо в html-код сторінок, які, у свою чергу, будуть коректно оброблені PHP-інтерпретатором. Обробник РНР просто починає виконувати код після відкриваючого тегу (<?php) і продовжує виконання до того моменту, поки не зустріне закриваючий тег (?>).

Велика різноманітність функцій PHP дає можливість уникати написання багаторядкових функцій, призначених для користувача, як це відбувається в C або Pascal.

·              Наявність інтерфейсів до багатьох баз даних <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85>

·              в PHP вбудовані бібліотеки для роботи з MySQL <https://uk.wikipedia.org/wiki/MySQL>, PostgreSQL <https://uk.wikipedia.org/wiki/PostgreSQL>, mSQL <https://uk.wikipedia.org/w/index.php?title=MSQL&action=edit&redlink=1>, Oracle <https://uk.wikipedia.org/wiki/Oracle_Database>, dbm <https://uk.wikipedia.org/w/index.php?title=Dbm&action=edit&redlink=1>, Hyperware <https://uk.wikipedia.org/w/index.php?title=Hyperware&action=edit&redlink=1>, Informix <https://uk.wikipedia.org/wiki/Informix>, InterBase <https://uk.wikipedia.org/wiki/InterBase>, Sybase <https://uk.wikipedia.org/wiki/Sybase>.

·              через стандарт відкритого інтерфейсу зв'язку з базами даних (Open Database Connectivity Standard - ODBC <https://uk.wikipedia.org/wiki/ODBC>) можна підключатися до всіх баз даних, до яких існує драйвер.

·              Традиційність

Мова PHP здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкцій мови запозичені з С, Perl. Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні PHP. PHP - мова, що поєднує переваги Perl і С і спеціально спрямована на роботу в Інтернеті, мова з універсальним і зрозумілим синтаксисом. І хоча PHP є досить молодою мовою, вона здобула таку популярність серед web-програмістів, що в наш час є мало не найпопулярнішою мовою для створення веб-застосунків <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA> (скриптів).

·              Наявність сирцевого коду та безкоштовність

Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно справили благотворний вплив на багато проектів, в першу чергу - Linux <https://uk.wikipedia.org/wiki/Linux> хоч і успіх проекту Apache <https://uk.wikipedia.org/wiki/Apache> сильно підкріпив позиції прихильників Open Source <https://uk.wikipedia.org/wiki/Open_Source>. Сказане відноситься і до історії створення PHP, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту PHP.

Ухвалення стратегії Open Source і безплатне розповсюдження початкових текстів PHP надало неоціненну послугу користувачам. Окрім цього, користувачі PHP в усьому світі є свого роду колективною службою підтримки, і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання.

·              Ефективність

Ефективність є дуже важливим чинником у програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web <https://uk.wikipedia.org/wiki/Web>. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl <https://uk.wikipedia.org/wiki/Perl>. Проте хоч би що робили розробники PHP, виконавчі файли, отримані за допомогою компіляції, працюватимуть значно швидше - в десятки, а іноді і в сотні разів. Але продуктивність PHP достатня для створення цілком серйозних веб-застосунків <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B7%D0%B0%D1%81%D1%82%D0%BE%D1%81%D1%83%D0%BD%D0%BE%D0%BA>.

HTML (HyperText Markup Language) - це мова розмітки гіпертексту - це не мова програмування. Це форма збереження даних. Глобально - мова програмування програмує дещо на виконання деяких дій, а мова розмітки готує певним чином деякий документ для того, щоб абияка програма могла його використовувати.

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

1.      Створити базу даних.

2.      Додати користувачів MySQL для кожної створеної бази даних.

При цьому в різних базах даних MySQL можуть бути одні й ті ж самі користувачі.

MySQL був розроблений компанією «ТсХ» для підвищення швидкодії обробки великих баз даних. Ця система керування базами даних (СКБД <https://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85>) з відкритим кодом була створена як альтернатива комерційним системам. MySQL з самого початку була дуже схожою на mSQL <https://uk.wikipedia.org/w/index.php?title=MSQL&action=edit&redlink=1>, проте з часом вона все розширювалася і зараз MySQL - одна з найпоширеніших систем керування базами даних. Вона використовується, в першу чергу, для створення динамічних веб-сторінок <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0>, оскільки має чудову підтримку з боку різноманітних мов програмування <https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>.

. Опис логічної структури

Для комп'ютерних програм <https://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%27%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0> алгоритм є списком деталізованих інструкцій, що реалізують процес обчислення, який, починаючи з початкового стану, відбувається через послідовність логічних станів, яка завершується кінцевим станом. Перехід з попереднього до наступного стану не обов'язково детермінований - деякі алгоритми можуть містити елементи випадковості.

Наша програма повинна мати чіткий, сформований алгоритм, який дозволить швидко працювати програмі і безперебійно оброблювати вхідні і вихідні дані.

Алгоритм нашої програми виглядає наступним чином:

1.      Початок роботи програми. Запуск головної сторінки в браузері.

.        Ініціалізація об’єктів програми.

.        Вибір функції

.        Введення даних

.        Виведення даних

.        Завершення алгоритму

 

. Створення проекту і опис коду


Для розробки нашого проекту для початку необхідно створити головну сторінку електронного журналу за допомогою гіпертекстової розмітки. Для цього скористуємось html тегами і побудуємо каркас сторінки:

<html>

<head>

</head>

<body>

<div>

<center><table id="bodys">

<tr><td id="menu1" valign="top">

<div>

<ul>

<li><a href="#" onclick="showUser(this.value)">Переглянути журнал</a>

<li>Дадати записи

<ol>

<li><a href="учні.html">в таблицю учні</a>

<li><a href="предмети.html">в таблицю предмети</a>

<li><a href="уроки.html">в таблицю уроки</a>

<li><a href="оцінки.html">в таблицю оцінки</a>

</ol>

</ul>

</div>

</td><td id="main1" valign="top">

<div>

</div>

</td></tr>

</table>

</center>

</body>

</html>

В вище наведеному коді ми створили головну сторінку, яка містить заголовок проекту, меню для управління і область для відображення. Наступним кроком ми створюємо безпосередньо БД для роботи нашого журналу. Для створення БД ми скористаємось електронним додатком phpmyadmin. Для початку створимо саму БД і задамо її імя ticher. На рис 4.1 показано процес створення бази.

Рис.4.1. Створення БД

Далі нам необхідно спроектувати і створити таблиці. На рис. 4.2 показано діаграму спроектованих таблиць і зв'язків між ними.

Рис.4.2. Діаграма таблиць

Після того як ми створили БД і спроектували таблиці нам необхідно розробити форму для їх заповнення. Тут ми знову скористаємось мовою гіпертекстової розмітки. Нижче наведено код форми для заповнення таблиці Учні:

<html>

<head>

</head>

<body>

<div>

<form method="GET" action="enteruch.php">

<table>

<tr><td>Введіть код учня:</td><td><input type="text" name="coduch"></td></tr>

<tr><td>Введіть імя учня:</td><td><input type="text" name="iuch"></td></tr>

<tr><td>Введіть прізвище учня:</td><td><input type="text" name="puch"></td></tr>

</table>

<input type="submit" value="Додати">

</div>

</body>

</html>

Для того щоб дані з форми відправити в БД нам необхідно створити скрипт на мові php. Розглянемо наступний код:

<?php

$dblocation = "localhost";

$dbname = "ticher";

$dbuser = "root";

$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);(!$dbcnx)

{( "<P>На даний момент БД недоступна</P>" );();

}(!@mysql_select_db($dbname, $dbcnx))

{( "<P>На даний момент БД недоступна</P>" );();

}

$ath = mysql_query("INSERT INTO `учні`(`Імя`, `Прізвище`, `Код`) VALUES ('".$_GET["iuch"]."','".$_GET["puch"]."','".$GET["coduch"]."')");($ath)

// Відправляєм відповідь"Дані вдало добавлені в таблицю";

}

{"<p><b>Помилка: ".mysql_error()."</b><p>";();

}

?>

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

$dblocation = "localhost";

$dbname = "ticher";

$dbuser = "root";

$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

Після встановлення зв’язку ми можемо відправляти до нашої баз SQL-запити:

$ath = mysql_query("INSERT INTO `учні`(`Імя`, `Прізвище`, `Код`) VALUES ('".$_GET["iuch"]."','".$_GET["puch"]."','".$GET["coduch"]."')");

Аналогічним чином ми створюємо форми для інших таблиць. Лістинги скриптів наведені в додатках.

5. Тестування проекту

Тестування програмного забезпечення (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Software Testing) - це процес технічного дослідження, призначений для виявлення інформації про якість продукту відносно контексту, в якому він має використовуватись. Техніка тестування також включає як процес пошуку помилок <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D2%91> або інших дефектів, так і випробування програмних складових з метою оцінки. Може оцінюватись:

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

·              правильна відповідь для усіх можливих вхідних даних

·              виконання функцій за прийнятний час

·              практичність

·              сумісність з програмним забезпеченням та операційними системами

·              відповідність задачам замовника.

Оскільки число можливих тестів навіть для нескладних програмних компонент практично нескінченне, тому стратегія тестування полягає в тому, щоб провести всі можливі тести з урахуванням наявного часу та ресурсів. Як результат програмне забезпечення (ПЗ) тестується стандартним виконанням програми з метою виявлення баґів <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D2%91> (помилок або інших дефектів).

Тестування ПЗ може надавати об'єктивну, незалежну інформацію про якість ПЗ, ризики відмови, як для користувачів так і для замовників.

Тестування може проводитись, як тільки створено виконуваний код (навіть частково завершено). Процес розробки <https://uk.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> зазвичай передбачає коли та як буде відбуватися тестування. Наприклад, при поетапному процесі, більшість тестів відбувається після визначення системних вимог і тоді вони реалізуються в тестових програмах. На противагу цьому, відповідно до вимог гнучкої розробки ПЗ <https://uk.wikipedia.org/wiki/%D0%93%D0%BD%D1%83%D1%87%D0%BA%D0%B0_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F>, програмування і тестування часто відбувається одночасно.

Тестування - це одна з технік контролю якості, що включає в себе

·              Планування робіт (Test Management)

·              Проектування тестів (Test Design)

·              Виконання тестування (Test Execution)

·              Аналіз отриманих результатів (Test Analysis).

Верифікація (Verification) <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D1%80%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F> - це процес оцінки системи або її компонентів з метою визначити чи задовольняють результати поточного етапу розробки умовам, сформованим на початку цього етапу. Тобто чи виконуються цілі, терміни, завдання з розробки проекту, визначені на початку поточної фази. Валідація (Validation) <https://uk.wikipedia.org/wiki/%D0%92%D0%B0%D0%BB%D1%96%D0%B4%D0%B0%D1%86%D1%96%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F> - це визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи.

План Тестування (Test Plan) - це документ, що описує весь обсяг робіт з тестування, починаючи з опису об'єкта, стратегії, розкладу, критеріїв початку і закінчення тестування, до необхідного в процесі роботи обладнання, спеціальних знань, а також оцінки ризиків з варіантами їх вирішення.

Тест дизайн (Test Design) - це етап процесу тестування програмного забезпечення, на якому проектуються і створюються тестові випадки (тест кейси), відповідно до визначених раніше критеріями якості та цілями тестування.

Тестовий випадок (Test Case) - це документ, що описує сукупність кроків, конкретних умов і параметрів, необхідних для перевірки реалізації тестованої функції або її частини.

Баг/Дефект Репорт (Bug Report) - це документ, що описує ситуацію або послідовність дій (Steps), що призвела до некоректної роботи об'єкта тестування (Misbehavior), із зазначенням причин та очікуваного результату (Expected Result).

Тестове Покриття (Test Coverage) - це одна з метрик оцінки якості тестування, що представляє із себе щільність покриття тестами вимог або коду, що виконується.

Деталізація Тест Кейсів (Test Case Specification) - це рівень деталізації опису тестових кроків і необхідного результату, при якому забезпечується розумне співвідношення часу проходження до тестового покриття.

Час Проходження Тест Кейса (Test Case Pass Time) - це час від початку проходження кроків тест кейса до отримання результату тесту.

Отже перейдемо до безпосередньої перевірки нашого проекту на працездатність.

Отже запускаємо нашу головну сторінку і розпоченаємо тестування. Головна сторінка має наступний вигляд (див рис 5.1)

Рис. 5.1. Головна сторінка проекту

Як видно з зображення вище, ми можемо виконати наступні дії:

·        Переглянути журнал

·        Додати запис в таблиці

Виберемо пункт додати запис в таблицю учні і протестуємо процес вводу даних (див. рис. 5.2)

Рис. 5.2. Введення даних

Після введення даних натискаємо кнопку Додати (див рис 5.3)

Рис. 5.3. Результат добавлення

Аналогічним чином здійснення внесення даних і в інші таблиці. Після введення даних можна переглянути їх натиснувши на Переглянути журнал в меню проекту (див рис 5.4)

Рис. 5.4. Перегляд журналу

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

Висновок

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

учні

ім'я

прізвище

предмети

назва

уроки

Зв'язок з предметом

дата

тема

оцінки

Зв'язок з уроком

Зв'язок з учнем

Оцінка (значення)


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


1.      JavaScript: Подробное руководство (Definitive Guide)

.        Ajax и PHP: Разработка динамических веб-приложений

.        JavaScript. Библия пользователя

Додаток А

 

Код головної сторінки

<html>

<head>

<link rel="stylesheet" type="text/css" href="style.css">

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript" src="js.js"></script>

<script>showUser(str) {(str == "") {.getElementById("main").innerHTML = "";;

} else { (window.XMLHttpRequest) {

// code for IE7+, Firefox, Chrome, Opera, Safari= new XMLHttpRequest();

} else {

// code for IE6, IE5= new ActiveXObject("Microsoft.XMLHTTP");

}.onreadystatechange = function() {(xmlhttp.readyState == 4 && xmlhttp.status == 200) {.getElementById("main").innerHTML = xmlhttp.responseText;

}

};.open("GET","show.php",true);.send();

}

}

</script>

</head>

<body>

<div>

<center><table id="bodys">

<tr><td id="menu1" valign="top">

<div>

<ul>

<li><a href="#" onclick="showUser(this.value)">Переглянути журнал</a>

<li>Дадати записи

<ol>

<li><a href="учні.html">в таблицю учні</a>

<li><a href="предмети.html">в таблицю предмети</a>

<li><a href="уроки.html">в таблицю уроки</a>

<li><a href="оцінки.html">в таблицю оцінки</a>

</ol>

</ul>

</div>

</td><td id="main1" valign="top">

<div>

</div>

</td></tr>

</table>

</center>

</body>

</html>

 

Додаток В


Код Форм

Форма учні

<html>

<head>

</head>

<body>

<div>

<form method="GET" action="enteruch.php">

<table>

<tr><td>Введіть код учня:</td><td><input type="text" name="coduch"></td></tr>

<tr><td>Введіть імя учня:</td><td><input type="text" name="iuch"></td></tr>

<tr><td>Введіть прізвище учня:</td><td><input type="text" name="puch"></td></tr>

</table>

<input type="submit" value="Додати">

</div>

</body>

</html>

Форма уроки

<html>

<head>

</head>

<body>

<div>

<form method="GET" action="enterur.php">

<table>

<tr><td>Введіть дату урока:</td><td><input type="text" name="dateur"></td></tr>

<tr><td>Введіть тему урока:</td><td><input type="text" name="themeur"></td></tr>

<tr><td>Введіть код предмета:</td><td><input type="text" name="codpr"></td></tr>

</table>

<input type="submit" value="Додати">

</div>

</body>

</html>

Форма предмети

<html>

<head>

</head>

<body>

<div>

<form method="GET" action="enterpr.php">

<table>

<tr><td>Введіть код предмета:</td><td><input type="text" name="codpr"></td></tr>

<tr><td>Введіть назву предмета:</td><td><input type="text" name="namepr"></td></tr>

</table>

<input type="submit" value="Додати">

</div>

</body>

</html>

Форма оцінки

<html>

<head>

</head>

<body>

<div>

<form method="GET" action="enteroc.php">

<table>

<tr><td>Введіть код урока:</td><td><input type="text" name="codur"></td></tr>

<tr><td>Введіть код учня:</td><td><input type="text" name="coduch"></td></tr>

<tr><td>Введіть оцінку:</td><td><input type="text" name="ocin"></td></tr>

</table>

<input type="submit" value="Додати">

</div>

</body>

</html>

Додаток С


Коди оброблювачів

Оброблювач форми учні

<?php

$dblocation = "localhost";

$dbname = "ticher";

$dbuser = "root";

$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);(!$dbcnx)

{( "<P>На даний момент БД недоступна</P>" );();

}(!@mysql_select_db($dbname, $dbcnx))

{( "<P>На даний момент БД недоступна</P>" );();

}

$ath = mysql_query("INSERT INTO `учні`(`Імя`, `Прізвище`, `Код`) VALUES ('".$_GET["iuch"]."','".$_GET["puch"]."','".$GET["coduch"]."')");($ath)

{

// Відправляєм відповідь"Дані вдало добавлені в таблицю";

}

{"<p><b>Помилка: ".mysql_error()."</b><p>";();

}

?>

Обрблювач форми уроки

<?php

$dblocation = "localhost";

$dbname = "ticher";

$dbuser = "root";

$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);(!$dbcnx)

{( "<P>На даний момент БД недоступна</P>" );();

}(!@mysql_select_db($dbname, $dbcnx))

{( "<P>На даний момент БД недоступна</P>" );();

}

$ath = mysql_query("INSERT INTO `уроки`(`код`, `дата`, `тема`, `код_предмета`) VALUES ('".$_GET["codur"]."','".$_GET["dateur"]."','".$GET["themeur"]."','".$GET["codpr"]."')");($ath)

// Відправляєм відповідь"Дані вдало добавлені в таблицю";

}

{"<p><b>Помилка: ".mysql_error()."</b><p>";();

}

?>

Оброблювач форми предмети

<?php

$dblocation = "localhost";

$dbname = "ticher";

$dbuser = "root";

$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);(!$dbcnx)

{( "<P>На даний момент БД недоступна</P>" );();

}(!@mysql_select_db($dbname, $dbcnx))

{( "<P>На даний момент БД недоступна</P>" );();

}

$ath = mysql_query("INSERT INTO `предмети`(`код`, `Предмет`) VALUES ('".$_GET["codpr"]."','".$GET["namepr"]."')");($ath)

{

// Відправляєм відповідь"Дані вдало добавлені в таблицю";

}

{"<p><b>Помилка: ".mysql_error()."</b><p>";();

}

?>

Оброблювач форми оцінки

<?php

$dblocation = "localhost";

$dbname = "ticher";

$dbuser = "root";

$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);(!$dbcnx)

{( "<P>На даний момент БД недоступна</P>" );();

}(!@mysql_select_db($dbname, $dbcnx))

{( "<P>На даний момент БД недоступна</P>" );();

}

$ath = mysql_query("INSERT INTO `оцінки`(`код_учня`, `код_урока`, `оцінка`) VALUES ('".$_GET["coduch"]."','".$_GET["codur"]."','".$GET["ocin"]."')");($ath)

{

// Відправляєм відповідь"Дані вдало добавлені в таблицю";

}

{"<p><b>Помилка: ".mysql_error()."</b><p>";();

}

?>

Додаток D


Код для взаємодії між сторінками

$(document).ready(function() {hash = window.location.hash.substr(1);href = $('#menu li a').each(function(){href = $(this).attr('href');(hash==href.substr(0,href.length-5)){toLoad = hash+'.html #main';

$('#main').load(toLoad)

}

});

$('#menu li a').click(function(){toLoad = $(this).attr('href')+' #main';

$('#main').hide('fast',loadContent);

$('#load').remove();

$('#wrapper').append('<span id="load">LOADING...</span>');

$('#load').fadeIn('normal');.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);loadContent() {

$('#main').load(toLoad,'',showNewContent())

}showNewContent() {

$('#main').show('normal',hideLoader());

}hideLoader() {

$('#load').fadeOut('normal');

}false;

});

});

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

Додаток F


Код БД

-- phpMyAdmin SQL Dump

- version 3.5.1

- http://www.phpmyadmin.net

-

- Хост: 127.0.0.1

- Время создания: Фев 11 2016 г., 19:27

- Версия сервера: 5.5.25

- Версия PHP: 5.3.13SQL_MODE="NO_AUTO_VALUE_ON_ZERO";time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

-

- База данных: `ticher`

-

- --------------------------------------------------------

-

- Структура таблицы `оцінки`

-TABLE IF NOT EXISTS `оцінки` (

`код_учня` int(11) NOT NULL,

`код_урока` int(11) NOT NULL,

`оцінка` int(11) NOT NULL,`код_учня` (`код_учня`,`код_урока`),`код_урока` (`код_урока`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-

- Дамп данных таблицы `оцінки`

-INTO `оцінки` (`код_учня`, `код_урока`, `оцінка`) VALUES

(1, 1, 12),

(2, 2, 10);

- --------------------------------------------------------

-

- Структура таблицы `предмети`

-TABLE IF NOT EXISTS `предмети` (

`код` int(11) NOT NULL,

`Предмет` varchar(15) NOT NULL,KEY (`код`),KEY `Предмет` (`Предмет`),KEY `Предмет_3` (`Предмет`),KEY `Предмет_4` (`Предмет`),`Предмет_2` (`Предмет`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-

- Дамп данных таблицы `предмети`

-INTO `предмети` (`код`, `Предмет`) VALUES

(3, ''),

(2, 'Алгебра'),

(1, 'Математика');

- --------------------------------------------------------

-

- Структура таблицы `уроки`

-TABLE IF NOT EXISTS `уроки` (

`код` int(11) NOT NULL,

`дата` date NOT NULL,

`тема` longtext CHARACTER SET cp1251,

`код_предмета` int(11) NOT NULL,KEY (`код`),`код_предмета` (`код_предмета`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-

- Дамп данных таблицы `уроки`

-INTO `уроки` (`код`, `дата`, `тема`, `код_предмета`) VALUES

(1, '2016-02-08', 'Рекурсії', 1),

(2, '2016-02-10', 'Матриці', 2);

- --------------------------------------------------------

-

- Структура таблицы `учні`

-TABLE IF NOT EXISTS `учні` (

`Імя` varchar(10) NOT NULL,

`Прізвище` varchar(15) NOT NULL,

`Код` int(11) NOT NULL,KEY (`Код`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-

- Дамп данных таблицы `учні`

-INTO `учні` (`Імя`, `Прізвище`, `Код`) VALUES

('Андрій', 'Степанюк', 0),

('Андрій', 'Степанюк', 1),

('Степан', 'Гаврилюк', 2);

-

- Ограничения внешнего ключа сохраненных таблиц

-

-

- Ограничения внешнего ключа таблицы `оцінки`

-TABLE `оцінки`CONSTRAINT `@u0@i1@y1@t0@q0@o0_ibfk_1` FOREIGN KEY (`код_учня`) REFERENCES `учні` (`Код`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `@u0@i1@y1@t0@q0@o0_ibfk_2` FOREIGN KEY (`код_урока`) REFERENCES `уроки` (`код`) ON DELETE CASCADE ON UPDATE CASCADE;

-

- Ограничения внешнего ключа таблицы `уроки`

-TABLE `уроки`CONSTRAINT `@z0@w0@u0@q0@o0_ibfk_1` FOREIGN KEY (`код_предмета`) REFERENCES `предмети` (`код`) ON DELETE CASCADE ON UPDATE CASCADE;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

Похожие работы на - Електронний журнал вчителя

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!