95813

Розважальний веб-сайт FunnyDay Battle

Дипломная

Информатика, кибернетика и программирование

Вибрати систему управління вмістом для розробки сайту; розробити дизайн сайту та зручну стуруктуру; зробити розмітку сторінок сайту; розробити додаткові плагіни; адаптувати розмітку під вибрану систему управління вмістом; налаштувати права доступу кожної групи користувачів на сайті; виконати конфігурацію системи управління вмістом у панелі управління...

Украинкский

2015-09-30

4.36 MB

0 чел.

Форма № Н-9.02

БЕРДЯНСЬКИЙ ЕКОНОМІКО-ПРАВОВИЙ КОЛЕДЖ

ЦИКЛОВА КОМІСІЯ ІНФОРМАТИКИ ТА ОБЧИСЛЮВАЛЬНОЇ ТЕХНІКИ

Пояснювальна записка

до дипломної роботи

           молодшого спеціаліста           

(освітньо-кваліфікаційний рівень)

на тему " Розважальний веб-сайт FunnyDay Battle "    

Виконав: студент 4 курсу, групи 41 ОПСіК

спеціальності 5.05010101 «Обслуговування

програмних систем і комплексів»

(шифр і назва напряму підготовки, спеціальності)

Хлудєєв Д. С.

(прізвище та ініціали)

Керівник

Порватова Н. М.

(прізвище та ініціали)

Рецензент

Суханов В. І.

(прізвище та ініціали)

Бердянськ 2015 року


Реферат

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

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

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

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

Об'єктом створення даного дипломного проекту є: розробка та розміщення сайту в мережі Інтернет.

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

Реферат

Каждый современный сайт содержит не просто набор страниц со ссылками между ними, а является полноценный программный продукт, который отслеживает действия пользователей, позволяет им между собой общаться и предлагает множество полезных сервисов в зависимости от поставленных владельцем сайта задач. В разработку подобной системы вкладываются внушительные суммы денег. Зачастую бюджет большого корпоративного сайта сравним с бюджетом небольшой фирмы.

Общедоступность — это одно из самых важных достоинств создаваемого сайта, позволяющее болельщикам отслеживать все игры. Интернет предлагает новые, несоизмеримо более продуктивные формы донесения информации до читателя, взаимодействия с читателем.

Создание Web-сайтов является одной из важнейших технологий разработки ресурсов Internet. Хороший сайт, вбирая в себя всю полезную информацию, является лучшей визитной карточкой и коммерческой фирмы и образовательного учреждения, работая на них в любое время суток.

Создание Web-сайтов является одной из важнейших технологий разработки ресурсов Internet. Хороший сайт, вбирая в себя всю полезную информацию, является лучшей визитной карточкой и коммерческой фирмы и образовательного учреждения, работая на них в любое время суток.

Объектом создания данного дипломного проекта является: разработка и размещение сайта в сети Интернет.

Сайт должен быть удобен в использовании – страницы должны загружаться как можно быстрее, а сам ресурс должен обладать логичной и понятной структурой. Только в таком случае можно рассчитывать на то, что посетитель заинтересуется предоставленной информацией и задержится на сайте.


Abstract

Every modern website contains not just a collection of pages with links between them, and a complete software product that tracks user activity, allowing them to communicate with each other and offers many useful services, depending on the tasks assigned owner of the site. The development of such a system are invested considerable sums of money. Often big budget corporate site comparable with the budget of a small firm.

Accessibility - is one of the most important advantages of the created site, which allows fans to keep track of all the games. The Internet offers a new and infinitely more productive forms of conveying information to the reader, the interaction with the reader.

Creation of Web-sites is one of the most important technologies for the development of resources Internet. Good site, absorbing all useful information is the best calling card, and commercial companies and educational institutions, working on them at any time.

Creation of Web-sites is one of the most important technologies for the development of resources Internet. Good site, absorbing all useful information is the best calling card, and commercial companies and educational institutions, working on them at any time.

The object of the creation of this diploma project is to: development and hosting on the Internet.

The site should be easy to use - the page should be loaded as soon as possible, and the resource should have a logical and understandable structure. Only in this case, you can count on the fact that the visitor interested in providing information and linger on the site.


ЗМІСТ

[1] Перелік умовних позначень, символів, одиниць, скорочень і термінів

[2] Вступ

[3] 1 Проектно-конструкторський розділ

[3.1] 1.1 Загальносистемні рішення

[3.2] 1.1.1 Загальносистемні рішення

[3.3]
1.1.4 Опис постановки задачі

[3.4] 1.2 Рішення інформаційного забезпечення

[3.5] При відправці заявки на батл:

[3.6] - Дата проведення (день, місяць, рік);

[3.7] - Час проведення (години, хвилини);

[3.8] - Тип баттла (звичайний, тематичний);

[3.9] - Тема баттла (якщо обраний тип - тематичний);

[3.10] - Тривалість баттла (години);

[3.11] При публікації матеріалів:

[3.12] - Тема;

[3.13] - Баттл (зі списку);

[3.14] - Текстова жарт;

[3.15] - Ім'я;

[3.16] - Прізвище;

[3.17] - Рівень;

[3.18] - Кількість ігор;

[3.19] - Кількість перемог;

[3.20] - Кількість поразок;

[3.21] На сторінці баттла:

[3.22] - Тип баттла;

[3.23] - Інформація про учасників (Ім'я, Прізвище)

[3.24] - Жарт першого учасника;

[3.25] - Жарт другого учасника;

[3.26] - Голоси (за 1 і 2 учасника);

[3.27] На сторінці баттла (по завершенню):

[3.28] - Тип баттла;

[3.29] - Тема баттла;

[3.30] - Інформація про учасників (Ім'я, Прізвище, переможець)

[3.31] - Голоси (за 1 і 2 учасника);

[3.32] 1.2.3 Опис інформаційного забезпечення системи

[3.33] 1.4 Опис програмного забезпечення

[4]
2 Технологічний розділ

[4.1] 2.1 Керівництво користувача

[4.2] На рисунку 2.1 представлена повна структура сайту.

[4.3] Рисунок 2.1 – Структура сайту.

[4.4] Модель сайту

[5] Висновки

[6] Перелік посилань

[7] Додатки

[7.1] Додаток А
Лістинг програмного коду


Перелік умовних позначень, символів, одиниць, скорочень і термінів

CASE

Computer-Aided Software/System Engineering – система автоматизованої розробки програмного забезпечення;

DDL

Data Definition Language – мова визначення даних;

DML

Date Manipulation Language – мова обробки даних;

ER-модель

Entity Relationship – модель "сутність-зв'язок";

SQL

Structured Query Language – мова структурованих запитів;

АБД

адміністратор баз даних;

БД

база даних;

ЕОМ

електронно-обчислювальна машина;

ЄДРПОУ

єдиний державний реєстр підприємств і організацій України;

СУБД

система управління базами даних.

CMS

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

PHP

скриптова мова веб-програмування;

MySQL

система управління базами даних;

HTML

мова гіпертекстової розмітки;

CSS

каскадні таблиці стилів;

РСУБД

реляційна система управління базами даних;

ASCII

назва таблиці (кодування, набору);

WYSIWYG

візуальний редактор;

СУБД

система управління базами даних.


Вступ

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

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

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

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

Об'єктом створення даного дипломного проекту є: розробка та розміщення сайту в мережі Інтернет.

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


В процесі дипломного проектування були поставлені наступні задачі:

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

  •  вибрати систему управління вмістом для розробки сайту;
  •  розробити дизайн сайту та зручну стуруктуру;
  •  зробити розмітку сторінок сайту;
  •  розробити додаткові плагіни;
  •  адаптувати розмітку під вибрану систему управління вмістом;
  •  налаштувати права доступу кожної групи користувачів на сайті;
  •  виконати конфігурацію системи управління вмістом у панелі управління;
  •  провести тестування підключених плагінів;
  •  розмістити сайт на обраному хостінгу.


1 Проектно-конструкторський розділ

1.1 Загальносистемні рішення

1.1.1 Загальносистемні рішення

Сьогодні сучасні сайти створюються під різні потреби їх власників, чи то це може бути сайт-візитка, який несе корисну інформацію про продукт або надає послуги фахівця, інформаційний портал містить вичерпну кількість інформації, інтернет-магазин з каталогом товарів, особистий блог, де опубліковані статті по конкретній людині і його інтересам і т.д. Побудувати одну класифікацію до яких можна віднести сайти практично неможливо через велику кількість ознак, за якими вони відрізняються. Тому ми розділимо сайти на категорії їх різновидів і розглянемо кожну з них [1].

За використовуваним технологіям:

1. Статичні.

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

Плюси таких сторінок в тому, що вони легко створювані і малозатратних в плані потреби в апаратних ресурсах. Статичні сторінки не вимагають підтримки скриптів і баз даних. Також на такі сторінки не впливає трафік сайту.

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

2. Динамічні.

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

Скрипти для таких сайтів можуть бути написані на різних мовах веб-програмування, таких як php, perl, asp. Інтерактивність на даних сайтах присутня і виявлятися вона може коли, наприклад, користувач вводить різні запити, здійснює пошук по сайту, спілкується з іншими користувачами сайту або змінює особисту інформацію на сайті. Вести і оновлювати такий тип сайту простіше.

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

По приналежності сайту:

1. Персональний сайт.

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

2. Сайти комерційних організацій.

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

Сайт-візитка містить невелику загальну інформацію про фірму, оновлюються рідко.

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

Інтернет-магазини на яких можна замовити послуги або купити товар.

3. Сайти некомерційних організацій.

Некомерційні організації також хочуть розкручуватися через інтернет. Різноманіття подібних сайтів величезна. Сайти політичних партій, відділень пенсійного фонду, громадських рухів, науково-дослідних інститутів і т.д. Одні з популярних сайтів, новинні ресурси, що представляють онлайн версії різних ЗМІ. Для сайтів освітніх та державних установ в інтернеті навіть виділені спеціальні доменні зони.

За величиною, за рівнем розв'язуваних ними завдань:

1. Прості сайти (сайти-візитки, домашні сторінки). Основна мета їх створення - бути присутнім в інтернеті. Такі сайти містять мінімум інформації про власника і мало або зовсім не містять будь-яку іншу корисну інформацію для користувачів мережі.

2. Тематичні, вузьконаправлені сайти. Містять велику інформацію з певної тематики. Багато з тематичних сайтів займають гідне місце в інтернеті. Мінусів даного сайту є односпрямованість тематики, сайт цікавий тільки певної аудиторії користувачів.

3. Багатофункціональні сайти (портали). Багатофункціональні і багатотематичний сайти-портали. Створювати, підтримувати і забезпечувати роботу таких сайтів складно, але дані сайти привертають практично всі категорії користувачів і кожному можуть бути цікаві. Контент таких сайтів, це маса різноманітної інформації та корисних функцій.

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

1.1.2 Опис процесу діяльності

CMS (Content management system) - Система управління вмістом або контентом. Для того, щоб створювати динамічні сайти, можна використовувати даний інструмент. Він дозволяє швидко формувати сторінки для користувачів і зручно управляти матеріалами сайту через розташовану вже в системі панель управління [2].

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

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

Сайти, організовані за допомогою системи управління контентом, засновані на наступних технологіях: веб-сервер, сховище даних (найчастіше СУБД, наприклад такі як MySQL або PostgreSQL, проте існують і noSQL CMS), веб-додаток для забезпечення роботи самої системи, візуальний (WYSIWYG) редактор сторінок, файловий менеджер з веб-інтерфейсом для управління файлами сайту, система управління правами користувачів і редакторів сайту [3].

Різновиди CMS

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

Розглянемо кілька CMS систем їх показники і особливості, для прикладу я взяв 5 движків для сайту: Host CMS, Joomla, WordPress, NG CMS. Всі ці системи на php.

Host CMS

Поширюється під проприетарной ліцензією з відкритим вихідним кодом. Є однією з найстаріших CMS на російському ринку.

Використовується технологію AJAX в клієнтському розділі і центрі адміністрування. З версії 6.0 надає можливість редагування вмісту сторінок без переходу в центр адміністрування.

Найкраще, на думку аналітиків, на HostCMS вийде організувати корпоративний сайт або ж інтернет-магазин. Варто відзначити, що ці можливості доступні навіть у безкоштовній версії. У тому числі модуль інтернет-магазину з можливістю обміну даними з «1С» і прийомом платежів всіх видів. При цьому конкуруючі системи за такі можливості просять додаткову оплату, тому експерти вважають такі можливості однією з переваг даної CMS [4].

Joomla

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

Особливості:

Функціональність можна збільшувати за допомогою додаткових розширень (компонентів, модулів і плагінів).

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

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

Багатомовність [5].

Wordpress

WordPress - це потужна платформа для персонального блогінгу. Вона містить набір можливостей для того, щоб максимально спростити процес створення онлайн-публікацій, зробити його приємним і зручним. Платформа для персонального блогінгу з практичними настройками і властивостями за замовчуванням і з надзвичайно гнучким і настроюється ядром [6].

NG CMS

Безкоштовний аналог системи DataLife Engine.

Система управління контентом Next Generation CMS (NGCMS) є універсальною платформою, що дозволяє легко створювати і підтримувати професійні веб-сайти практично будь-якого рівня складності. Більшістю функцій CMS зможе управляти людина, що володіє елементарними навичками роботи з офісними програмами [7].

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

Інтеграція зі сторонніми розробками

Next Generation CMS дозволяє виконати інтеграцію з популярними форумних веб-додатками. (VBulletin, PunBB, phpBB) Дані інтеграції дозволяють виконувати одночасний вхід як на сайт, так і на форум. Крім того, реалізується одночасна реєстрація на сайті і форумі.

Сторонні розробки дозволяють вивести на сторінках сайту список останніх повідомлень з форуму. (Існують рішення для Punbb, vBulletin, SMF, IP.Board, phpBB, AEF)

Швидкодія і навантаження

На сервері Pentium D 2.8 GHz і виділеними для сайту ~ 100MB RAM виходить навантаження менше 10% на 50k хітів (вважається лічильниками; реальних - 60-80k) на добу.

Теоретично, це означає, що якщо виділити під сайт повністю такий сервер, то 1-1.5m (вважається лічильниками) хітів точно буде тримати.

У CMS використовується просунута система кешування, яка дозволяє зменшити загальну кількість запитів до БД, що не урізуючи функціональних можливостей системи.

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

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

Порівняння систем на задоволення вимог нашого проекту - таблиця 1.

Таблиця 1.1 - Відповідність вимоги проекту CMS Joomla, WordPress, HostCMS і NG CMS [8].

 

Вимоги

Joomla

WordPress

HostCMS

NG CMS

Розміщення матеріалу, що містить гумор користувачів.

+

+

-

+

Рубрикація

Матеріали поділяються за категоріями

(+)

Записів можна привласнювати мітки і відносити їх до рубрик. Також можна конвертувати мітки в рубрики і навпаки. (+)

Записам можна привласнювати мітки і відносити їх (+)

Можливість створювати категорії і підкатегорії на сайті. (+)

Управління групами зареєстрованих користувачів

Є можливість розмежування прав доступу, а також додаткові блокування (+)

Зареєстровані користувачі можуть розділятися адміністратором на декілька груп (+)

Реєстрація можлива тільки в дорогий розширеній версії для бізнесу (-)

Налаштування груп і написання прав доступу кожній групі в адмін панелі. (+)

Расширяемость

Можливості системи можна розширити за допомогою плагінів або модулів. (+)

Нові функції системи також можна додавати плагінами

(+)

Невелика кількість доповнень і розширень (hostcms.ru) (-)

Можливість підключення власних плагінів крім запропонованих системою. (+)

Распространение

Ліцензія GNU GPL. Безкоштовна для використання. (+)

Також поширюється по ліцензії GNU GPL - безкоштовна для використання. (+)

Є одна безкоштовна і 4 комерційних версії. (-)

Next Generation CMS розповсюджується безкоштовно, за ліцензією GPL 2. (+)

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

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

Залишається Joomla і NG CMS. Незважаючи на велику кількість плюсів, не маловажну роль для мого проекту відіграє шаблонизатор і шаблон для сайту, який я буду адаптувати під вибрану систему. І якщо брати Joomla то її дистрибутив володіє багаторазової вкладеністю папок, потрібно витратити час щоб розібратися куди помістити шаблон + шаблони Joomla важать по 20-30 Мбайт, що в рази більше ніж шаблони NG CMS - 500-1000 Кбайт. Я буду використовувати NG CMS систему у своєму проекті, оскільки для даного типу сайту вона забезпечить легкістю, швидкодією та зручністю при розробці та використанні.

1.1.3 Схема функціональної структури та опис функцій, що автоматизуються

Перед установкою необхідно завантажити останню версію NG CMS. Через те, що система була повністю перенесена на сайт GitHub на офіційному сайті Ви зможете знайти посилання для скачування останньої версії або завантажити останню актуальну версію движка [9].

Підготовчий етап:

- Розпакуйте архів з дистрибутивом в тимчасовий каталог.

- Завантажте всі файли з тимчасового каталогу в кореневий каталог вашого сайту.

- Виставте необхідні права доступу для наступних файлів / каталогів:

- Папка: uploads / (і всі папки всередині)

- Папка: templates / (і всі папки всередині)

- Папка: engine / conf / (і всі файли всередині)

- Папка: engine / backups /

- Папка: engine / cache /

- Папка: engine / skin / default / tpl (і всі папки всередині)

- Всі файли (* .tpl) у всіх папках: templates /

- Наберіть в браузері адресу вашого сайту

- Дотримуйтесь подальших інструкція

Установка системи:

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

Крок 1: Ліцензійна угода

На даному етапі Вам потрібно ознайомитися з ліцензійною угодою NGCMS і прийняти його, поставити відповідну галочку внизу сторінки. (Рис. 1.1)

Рисунок 1.1 - Ліцензійна угода NG CMS

Крок 2: Налаштування БД

На даній сторінці Вам необхідно ввести параметри підключення до БД. (Рис. 1.2)

Рисунок 1.2 - Налаштування бази даних

Крок 3: Перевірка доступів

На даному етапі виконується перевірка на відповідність характеристик сервера до мінімальним вимогам скрипта. Також перевіряється чи правильно виставлені права доступу (chmod) до директоріями. (Рис. 1.3)

Рисунок 1.3 - Перевірка доступів

Крок 4: Активація плагінів

На даній сторінці відображається список плагінів, що входять в поставку NGCMS. Деякі з них ви можете активувати прямо тут. (Рис. 1.4)

Рисунок 1.4 - Активація плагінів

Крок 5: Вибір шаблону

На даній сторінці виберіть шаблон за замовчуванням, який Ви побачите після установки. (Рис. 1.5)

Рисунок 1.5 - Активація плагінів

Крок 6: Загальні параметри

На даному етапі потрібно ввести загальні параметри сайту, такі як URL сайту, заголовок, а також логін і пароль для адміністратора. (Рис. 1.6)

Рисунок 1.6 - Загальні параметри

Крок 7: Завершення установки

Це заключний етап установки. Тут відображаються всі, виконані під час установки дії. (Рис 1.7)

Рисунок 1.7 - Загальні параметри

Після цього кроку, Вам необхідно зайти на сайті і якщо установка пройшла успішно, то буде відображатися (залежно від вибраного шаблону в кроці 5) приблизно, наступне (Рис. 1.8)

Рисунок 1.8 - Робочий сайт


1.1.4 Опис постановки задачі

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

Актори - це користувачі, або інші системи, які унікальним чином взаємодіють з розглянутої системою [10].

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

- Адміністратор - користувач, який здійснює настройку і конфігурацію системи.

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

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

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

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

- Актор Адміністратор реєструється в системі, як користувач, який володіє певними правами доступу до даних;

- Актор Адміністратор перевіряє матеріали користувачів і якщо вони потребують редагування, редагує їх;

- Актор Адміністратор має можливість переглядати і голосувати за баттл;

- Актор Адміністратор перевіряє матеріали користувачів і якщо вони потребують редагування, редагує їх;

- Актор Гість реєструється в системі, як користувач, який володіє певними правами доступу до даних;

- Актор Гість має можливість вибрати групу на сайті;

- Актор Глядач реєструється в системі, як користувач, який володіє певними правами доступу до даних;

- Актор Глядач має можливість переглядати і голосувати за баттл;

- Актор Учасник реєструється в системі, як користувач, який володіє певними правами доступу до даних;

- Актор Учасник має можливість переглядати і голосувати за баттл;

- Актор Учасник перебуває у списку учасників сайту, якщо він готовий до баттл;

- Актор Учасник може взяти участь у баттле, а також кинути і прийняти виклик на баттл;

- Актор Учасник має доступ до архіву жартів;

На підставі перелічених потреб виділимо наступні прецеденти:

- Реєстрація;

- Конфигурирование;

- Вибір групи;

- Список учасників;

- Кинути виклик;

- Участь у баттле;

- Прийняти виклик;

- Опублікувати матеріал;

- Редагувати матеріал;

- Архів жартів;

- Перегляд баттла;

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

Головна Діаграма прецедентів системи наведена на рисунку. 1.9.

Діграмма відправки заявки на баттл відображена на рисунку. 1.10. Учасник повинен коректно ввести дані в форму для її відправки. Після підтвердження суперником, учасник повинен опублікувати матеріал для баттла, де також буде форма і перевірка на коректність введених даних [12].

Рисунок 1.9 - Діаграма прецедентів

Рисунок 1.10 - Діаграма дій при відправці заявки на баттл

1.2 Рішення інформаційного забезпечення

1.2.1 Характеристика вхідної информації

У даному проекті вхідними даними є інформація внесена користувачем.

При реєстрації:

- Логін;

- Пароль;

- Ім'я;

- Прізвище;

- Email;

- Група (Глядач, Учасник);

При відправці заявки на батл:

- Дата проведення (день, місяць, рік);

- Час проведення (години, хвилини);

- Тип баттла (звичайний, тематичний);

- Тема баттла (якщо обраний тип - тематичний);

- Тривалість баттла (години);

При публікації матеріалів:

- Тема;

- Баттл (зі списку);

- Текстова жарт;

1.2.2 Характеристика вихідної информації

На головній сторінці:

- Кількість баттлов на тижні;

- Інформація про прийдешні баттлах (учасники, дата);

- Кількість завершених ігор;

- Блок "Можливі суперники" (Ім'я, Прізвище);

- Блок "Жарти з останніх баттлов";

У профілі користувача:

- Вхідні / Вихідні заявки;

- Рівень (низький, середній, високий);

- Кількість ігор;

- Кількість перемог;

- Кількість поразок;

- Кількість відмов на вхідні заявки;

- Блок "Можливі суперники" (Ім'я, Прізвище);

- Остання жарт користувача;

У списку учасників:

- Користувачі;

- Ім'я;

- Прізвище;

- Рівень;

- Кількість ігор;

- Кількість перемог;

- Кількість поразок;

На сторінці баттла:

- Тип баттла;

- Інформація про учасників (Ім'я, Прізвище)

- Жарт першого учасника;

- Жарт другого учасника;

- Голоси (за 1 і 2 учасника);

На сторінці баттла (по завершенню):

- Тип баттла;

- Тема баттла;

- Інформація про учасників (Ім'я, Прізвище, переможець)

- Голоси (за 1 і 2 учасника);

1.2.3 Опис інформаційного забезпечення системи

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

До них відносяться:

- Відношення вартість / продуктивність;

- Надійність і відмовостійкість;

- Масштабованість;

- Сумісність і мобільність програмного забезпечення [13].

Будемо вибирати СУБД з розряду архітектури "клієнт-сервер". При цій організації найбільш трудомісткі операції над базами даних виконуються на виділеному комп'ютері-сервері, який повинен бути досить потужним і володіти відповідним набором ресурсів основної та зовнішньої пам'яті. До пори серверна частина СУБД володіла простий організацією: запити, що надходять з клієнтських частин системи, оброблялися послідовно з невеликою оптимізацією для поєднання процесорної роботи з роботою пристроїв зовнішньої пам'яті. Однак з появою на ринку мультипроцесорних симетричних апаратних архітектур, виробники СУБД були змушені переглянути організацію своїх серверів, допустивши в них внутрішню паралельність.

Структура Інтернет-додатків має багато спільного з традиційною платформою "клієнт-сервер". Правильніше кажучи, World Wide Web (WWW) також грунтується на клієнт-серверній архітектурі. У самому справі, Web-браузер є типовим клієнтським front-end'ом, основна відмінність якого від клієнтських місць, побудованих за допомогою Visual C + +, Visual Basic, Visual FoxPro та інших засобів розробки, полягає в більш гнучко настроюється функціональності, яка може визначатися навіть під час виконання програми. При цьому не потрібно ні перекомпіляції, ні переустановки модулів, що вже саме по собі є нетривіальним завданням у великих і складних клієнт-серверних системах. Правда, спочатку браузери використовувалися тільки як засоби форматування статичного тексту. Однак досить скоро Інтернет-додатки стали надавати клієнту можливості вибору і (при необхідності) редагування даних. Подібно типовому інтерфейсі клієнтського додатка на VB, VFP і т.д., сценарій роботи припускав заповнення клієнтом деякої форми, населеної, взагалі кажучи, різними елементами управління, відправку відповідного запиту на сервер і прийом результатів обробки. Таким чином, вимоги бізнесу висунули на перший план принципи динамічної взаємодії браузера та Web-сервера всередині сесії, що змусило задуматися як про активну роль браузера, так і про розширення функціональності сервера в порівнянні з простим зберіганням і пересиланням HTML-документів [14].

Багато фірм-виробники програмних продуктів випускають або розробляють засоби публікації баз даних в Інтернет-мережах. Основні функції таких програмних продуктів даного виду такі:

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

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

- Забезпечити аутентифікацію користувача (для розмежування доступу).

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

При цьому необхідно пам'ятати про захист переданої по Мережі інформації та про привабливість і зрозумілості інтерфейсу.

Можна згадати наступні СУБД:

- SQL-server фірми Microsoft (вимагає потужного сервера баз даних під управлінням ОС Microsoft Windows server). В даний час найбільшу популярність мають версії Microsoft Windows Server 2000 і Microsoft Windows Server 2005;

- Sybase System фірми Sybase (вимагає потужного UNIX-сервера);

- Informix фірми Informix Software (також вимагає потужного UNIX-сервера);

- Progress фірми Progress Software (працює на тій же апаратній платформі, що і два попередніх);

- InterBase фірми Borland (є варіант для Windows і для UNIX);

- MySQL розробку і підтримку MySQL здійснює корпорація Oracle [15].

До загальних рис вищеперелічених програмних продуктів можна віднести підтримку стандартного мови запитів до баз даних SQL, що полегшує в разі потреби перехід від однієї СУБД до іншої, практична відсутність обмежень на розміри файлів баз даних.

Оригінальна версія SQL - це інтерпретується мова, призначений для виконання операцій над базами даних. Мова SQL був створений на початку 70 х як інтерфейс для взаємодії з базами даних, заснованими на новій для того часу реляційної теорії. Реальні програми зазвичай написані на інших мовах, генеруючих код мовою SQL і передавальних їх в СУБД у вигляді тексту в форматі ASCII. Потрібно відзначити також, що практично всі реальні реляційні (і не тільки реляційні) системи крім реалізації стандарту ANSI SQL, відомого зараз в останній редакції під ім'ям SQL2 (або SQL-92), включають в себе додаткові розширення, наприклад, підтримка архітектури клієнт-сервер або засоби розробки додатків.

При розробці дипломного проекту зупинився на продукті MySQL. Дана СУБД є рішенням для малих і середніх додатків. Входить до складу серверів WAMP, AppServ, LAMP і в портативні збірки серверів Денвер, XAMPP, VertrigoServ. Зазвичай MySQL використовується як сервер, до якого звертаються локальні або видалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми.

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

1.2.4 Розробка бази даних

Слід уточнити список фізичних таблиць БД і їх структуру, спроектувати ключі таблиць і зв'язку між ними. Після виконання цієї роботи отримаємо наступну схему БД системи (див. рис. 1.11).


Рисунок  1.11 - Схема бази даних системи

База даних складається з Наступний таблиць:

- Ng_users - Список користувачів;

- Ng_battlelist - Список баттлов;

- Ng_category - Список категорій сайту;

- Ng_news - Матеріали користувачів (архів жартів);

- Ng_news_map - Список опублікованих матеріалів;

- Ng_votebattle - Список користувачів, які залишили голос в баттлах;

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

Розглянемо структуру кожної таблиці:

Реквізити таблиці ng_users (Список користувачів):

- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;

- Name - логін користувача, текст;

- Mail - email користувача, текст;

- Pass - пароль користувача, текст;

- News - кількість матеріалів (жартів) користувача, ціле;

- Status - група користувача, ціле;

- Photo - фото користувача, текст;

- Ip - ip користувача, текст;

- Authcookie - куки користувача, текст;

- Xfields - список додаткових полів користувача, текст;

- Xfields_name - додаткове поле Ім'я, текст;

- Xfields_surname - додаткове поле Прізвище, текст;

- Ready - готовність користувача до баттл, ціле;

- U_level - рівень користувача, ціле;

- Count_win - кількість перемог користувача, ціле;

- Count_defeat - кількість поразок користувача, ціле;

- Count_rej - кількість відмов користувача, ціле.

Реквізити таблиці ng_battlelist (Список баттлов):

- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;

- Player1 - id 1 учасника баттла, зовнішній ключ, ціле;

- Player2 - id 2 учасники баттла, зовнішній ключ, ціле;

- Date - дата проведення баттла, дата;

- Battletype - тип баттла, текст;

- Theme - тема баттла, текст;

- Duration - тривалість баттла, час;

- Joke_pl1 - матеріал (жарт) 1 учасника, текст;

- Joke_pl2 - матеріал (жарт) 2 учасники, текст;

- Vote_pl1 - кількість голосів за 1 учасника, ціле;

- Vote_pl2 - кількість голосів за 2 учасника, ціле;

- Winner - переможець баттла, ціле;

- Link - посилання на баттл, текст;

- Status - посилання на баттл, ціле.

Реквізити таблиці ng_category (Список категорій сайту):

- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;

- Position - позиція категорії, ціле;

- Name - ім'я категорії, текст;

- Alt - альтернативне ім'я категорії (на англійським), текст;

- Flags - прапорці категорії, ціле;

- Tpl - шаблон для виведення матеріалів категорії, текст;

- Number - номер категорії, ціле;

- Parent - батько категорії, ціле;

- Description - короткий опис категорії, текст;

- Keywords - ключові слова категорії, текст;

- Info - інформація про категорії, текст;

- Icon - іконка категорії, текст;

- Image_id - іконка-зображення категорії, ціле;

- Alt_url - альтернативне ім'я категорії, текст;

- Orderby - сортування в категорії, текст;

- Posts - кількість матеріалів в категорії, ціле;

- Posorder - порядок відображення новин в категорії, ціле;

- Poslevel - рівень категорії, ціле.

Реквізити таблиці ng_news (Матеріали користувачів):

- ID - ідентифікатор, первинний ключ, ціле, автоматична нумерація;

- Author_id - id автора матеріалу, зовнішній ключ, ціле;

- Idbattle - id баттла в якому брав участь даний матеріал, ціле;

- Postdate - дата публікації, ціле;

- Author - логін автора матеріалу, текст;

- Title - заголовок, текст;

- Content - вміст, текст;

- Alt_name - альтернативне ім'я заголовка (на англ.), Текст;

- Mainpage - публікація на головній, ціле;

- Approve - публікація на сайті, ціле;

- Views - кількість переглядів, ціле;

- Pinned - закріплений матеріал на головній, ціле;

- Flags - надбудови матеріалу, ціле;

- Catid - id категорії матеріалу, ціле;

- Nsched_activate - час публікації матеріалу, дата;

- Nsched_deactivate - час зняття з публікації матеріалу, дата.

Реквізити таблиці ng_news_map (Список опублікованих матеріалів):

- NewsID - ідентифікатор, зовнішній ключ, ціле;

- CategoryID - id категорії матеріалу, ціле;

- Dt - дата публікації, дата;

Реквізити таблиці ng_news_votebattle (Список користувачів, які залишили голос в баттлах):

- Battleid - ідентифікатор, зовнішній ключ, ціле;

- Userid - id проголосував, зовнішній ключ, ціле;

- Plnum - номер учасника, за якого проголосували, ціле;

- Ip - ip проголосував, ціле;

1.3 Рішення з технічного забезпечення

Для розробки в роботі вибрана мова PHP у зв'язці з сервером баз даних MySQL. Для їх роботи потрібна установка веб-сервера Apache. В якості середовища розробки вибрано Notepad ++.

1.4 Опис програмного забезпечення

Переваги використання php в порівнянні з іншими мовами

PHP - це інструмент об'єктно-орієнтованого програмування з відкритим кодом (open source), мова серверних скриптів (server scripting language), що вбудовується в HTML, який інтерпретується і виконується на сервері.

PHP є препроцесором HTML. Його робота побудована за схемою, показаної на (рис. 1.12).

Рисунок 1.12 - Схема роботи препроцесора PHP

До того, як сервер "віддасть" файл браузеру, його переглядає препроцесор-інтерпретатор. Для того, щоб це відбувалося, файли, які піддаються обробці препроцесором, повинні мати певне розширення (зазвичай це. Phtml або. Php, але ці значення можна поміняти) і містити (хоча це не обов'язкова вимога) код для препроцесора. Перед відправкою сторінки PHP-код програється на сервері і браузеру видається результат у вигляді знову таки HTML-сторінки, яка може сильно відрізнятися від тієї, що зберігається на сервері. Звичайні ж сторінки, що мають розширення. html / htm web-сервер буде відправляти браузеру без будь-якої обробки [16].

Основна відмінність від CGI-скриптів, написаних на інших мовах, типу Perl або C - це те, що в CGI-програмах ви самі пишете виведений HTML-код, а, використовуючи PHP - ви вбудовуєте свою програму-скрипт в готову HTML-сторінку, використовуючи відкриває та закриває теги (у прикладі <? php і?>).

PHP називається мовою серверних скриптів на відміну від JavaScript / Jscript / VBScript, які є мовами клієнтських скриптів. Це означає, що PHP-скрипт виконується на сервері, а клієнту передається результат його роботи, тоді як в JavaScript-код повністю передається на клієнтську машину і тільки там виконується браузером.

Користувачі MS Internet Information Server знайдуть, що PHP дуже схожий на Active Server Pages (ASP), а користувачі Java скажуть, що PHP схожий на Java Server Pages (JSP). Ще деякими аналогами PHP є мови ColdFusion і embPerl. Всі ці мови дозволяють розміщувати код, що виконується на Web-сервері, усередині HTML-сторінок. В результуючої web-сторінці немає і сліду PHP-коду.

На PHP можна зробити все, що можна зробити за допомогою CGI-програм. Наприклад: обробляти дані з форм, генерувати динамічні сторінки, одержувати і посилати куки (cookies) [17].

Крім цього в PHP включена підтримка багатьох баз даних (databases), що робить написання Web-додатків з використанням БД до неможливості простим.

Ось неповний перелік підтримуваних БД: Adabas D, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL, ODBC.

Додатково до всього PHP розуміє протоколи IMAP, SNMP, NNTP, POP3 і навіть HTTP, а також має можливість працювати з сокетами (sockets) і спілкуватися по інших протоколах.

Розробникам web-додатків немає необхідності говорити, що web-сторінки - це не тільки текст і картинки. Гідний уваги сайт повинен підтримувати деякий рівень інтерактивності з користувачем: пошук інформації, продаж продуктів, конференції тощо До недавніх пір все це традиційно реалізувалося CGI-скриптами, написаними на Perl. Але виявилося, що CGI-скрипти дуже погано масштабуються. Кожен новий виклик CGI-скрипта, вимагає від ядра породження нового процесу, а це займає процесорний час і витрачає оперативну пам'ять. PHP пропонує інший варіант - він працює як частина web-сервера, і цим самим схожий на ASP від ​​Microsoft або ColdFusion від Allaire.

Синтаксис PHP дуже схожий на синтаксис C або Perl. Люди, знайомі з програмуванням, дуже швидко зможуть почати писати програми на PHP. У цій мові немає строгої типізації даних і немає необхідності в діях по виділенню / звільненню пам'яті.

Програми, написані на PHP, читаються досить легко. На відміну від Perl-програм PHP-код легко візуально прочитати і зрозуміти.

На додаток до своєї безкоштовності (хоча MySQL вимагає придбання ліцензії при використанні її в комерційних цілях) зв'язка PHP-MySQL є крос-платформної. Це означає, що ви можете, працюючи в Windows, розробляти програми, призначені для роботи під Unix. Крім того, PHP може працювати як зовнішній CGI-процес, або як звичайний інтерпретатор скриптів, або як модуль, що підключається до web-севреру Apache або IIS.

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

Знайдені помилки виправляються досить швидко, ваші пропозиції та зауваження завжди вислухають, розглянуть, і якщо вони виявляться цінними - реалізують в новій версії [18].

Сервер баз даних MySQL і його особливості

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

MySQL був розроблений компанією TcX для внутрішніх потреб, що полягали у швидкій обробці дуже великих баз даних. Компанія стверджує, що використовує MySQL з 1996 року на сервері з більш ніж 40 БД, що містять 10,000 таблиць, з яких більш ніж 500 мають більш 7 мільйонів рядків. MySQL є ідеальним рішенням для малих і середніх додатків. Вихідні тексти сервера компілюються на безлічі платформ. Найбільш повно можливості сервера проявляються на Unix-серверах, де є підтримка багатопоточності, що дає значний приріст продуктивності. У варіанті під Windows, MySQL може запускатися як сервіс Windows NT або як звичайний процес на Windows 95/98.

MySQL-сервер є безкоштовним для некомерційного використання.

MySQL підтримує мову запитів SQL у стандарті ANSI 92, і крім цього має безліч розширень до цього стандарту, яких немає в жодній іншій СУБД.

Короткий перелік можливостей MySQL.

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

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

Швидке виконання команд. Можливо MySQL найшвидший сервер з існуючих;

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

MySQL дійсно дуже швидкий сервер, але для досягнення цього розроблювачам довелося пожертвувати деякими вимогами до реляційних СУБД. В MySQL відсутні:

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

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

Немає підтримки зовнішніх ключів.

За словами творців саме ці пункти дали можливість досягти високої швидкодії. Їх реалізація істотно знижує швидкість сервера. Ці можливості не є критичними при створенні web-додатків, що в поєднанні з високою швидкодією і малою ціною дозволило серверу набути велику популярність[19].


2 Технологічний розділ

2.1 Керівництво користувача

Розробка структури сайту включає все, що стосується його вмісту та інформаційної стратегії, визначальною, як має бути організована інформація, щоб користувачі сайту могли знайти її легко і швидко.

Розбивка і класифікація сторінок безпосередньо визначаються вмістом сайту, а спосіб, яким організований контент, визначає процес структурування. Хорошим тонній для сайту є доступна навігація за допомогою якої користувач повинен дійти до потрібної йому сторінки в 3 кліка. Для того щоб користувач затримався на сайті, на головній сторінці гостю буде відображена інформація, яка коротко описує мету реєстрації на сайті, а також функції, які доступні.

Структура проектованого сайту:

  1.  "Головна" - сторінка, на яку користувач потрапляє в першу чергу, внаслідок чого вона містить основну інформацію про проект;"Профиль" – содержит информацию о пользователе;
  2.  "Список учасників" - містить список учасників (користувачів) які готові змагатися в баттле;
  3.  "Кинути виклик" - сторінка, де учасник може кинути виклик іншому користувачеві заповнивши спеціальну форму;
  4.  "Публікація матеріалів" - містить форму публікації матеріалів (жартів) для баттлов;
  5.  "Баттл арена" - сторінка, де проводиться баттл між користувачами сайту;
  6.  "Архів жартів" - містить архів всіх жартів, які брали участь у баттлах;
  7.  "О баттлах" - сторінка з різною інформацією, яка допоможе гостю визначиться, реєструватися на сайті чи ні, користувачеві відповість на запитання;
  8.  "Реєстрація" - сторінка реєстрації.
  9.  "Вхід на сайт" – сторінка авторизації.

На рисунку 2.1 представлена повна структура сайту.

Рисунок 2.1 – Структура сайту.

Модель сайту

Одним з важливих моментів є розмежування прав доступу у різних груп користувачів. Користувачі сайту діляться на 3 основних групи і 2 підгрупи:

  1.  гість;
  2.  зареєстрований користувач:
  •  глядач;
  •  учасник.
  1.  адміністратор.

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

Далі будуть представлені малюнки і таблиці, в яких описані дії користувачів на сайті і дані які видаватимуть скрипти сайту.

Група Гість.

Оскільки даний проект практично відноситься до сайтів з закритим доступом, то Гостю видано обмежена кількість прав, це перегляд головної сторінки (рис. 2.2), де доступний список баттлов на тижні; сторінка авторизації/реєстрації (рис. 2.3); сторінка поширених питань «О батлах» (рис. 2.4).

Рисунок 2.2 - Головна сторінка сайту очима незареєстрованого користувача (Гостя).


Рисунок 2.3 - Сторінка реєстрації / авторизації на сайті.

Таблиця 2.1 - Варіант використання «Реєстрація на сайті»

Дія користувача

Відгук системи

1. Користувач вибирає пункт меню "Реєстрація";

2. Система відображає сторінку з полями необхідними для реєстрації;

3. Користувач заповнює поля;

4. Система відправляє повідомлення про реєстрацію на поштову email користувача.

Таблиця 2.2 - Варіант використання "О баттлах"

Дія користувача

Відгук системи

1. Користувач вибирає пункт меню «О баттлах»;

2. Система відображає користувачеві сторінку з інформацією.

Група Глядач.

Для Глядача на сайті доступні наступні сторінки і права: авторизація на сайті; перегляд сторінки інформації «О баттлах»; перегляд баттл арени (рис. 2.5), можливість голосувати за учасника баттла (рис. 2.6), перегляд результатів (рис. 2.7). Є власна сторінка інформації про користувача - Мій профіль (рис. 2.8), доступний перегляд профілю групи учасників, без можливості кинути виклик.

Таблиця 2.3 - Варіант використання "Вхід на сайт"

Дія користувача

Відгук системи

1. Користувач заповнює поля авторизації на поточній сторінці;

2. Система виконує авторизацію користувача.

 

Таблиця 2.4 - Варіант використання "О баттлах"

Дія користувача

Відгук системи

1. Користувач вибирає пункт меню «О баттлах»;

2. Система відображає користувачеві сторінку з інформацією.

Рисунок 2.5 - Сторінка баттл арени.

Якщо Глядач перейшов на сторінку баттла, який ще не почався, користувачеві буде відображена інформація про час початку баттла, а також про його учасників і тривалості.


Таблиця
2.5 - Варіант використання "Перегляд баттл арени"

Дія користувача

Відгук системи

1. Користувач вибирає зі списку «прийдешніх баттлов на тижні» - сьогоднішній баттл;

2. Система відображає сторінку з сьогоднішнім баттлів.

Таблиця 2.6 - Варіант використання "Голосування"

Дія користувача

Відгук системи

1. Користувач віддає голос за одного з учасників баттла, натискаючи на відповідну кнопку;

2. Система оновлює сторінку і відображає оновлене кількість голосів.

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

Рисунок 2.6 - Перегляд результатів баттла.


Рисунок 2.7 - Мій профіль очима Глядача.

Таблиця 2.7 - Варіант використання "Мій профіль".

Дія користувача

Відгук системи

1. Користувач вибирає з пункту меню «Мій профіль»;

2. Система відображає сторінку профілю;

Дія користувача

Відгук системи

3. Користувач натискає на посилання «редагування»;

4. Система відображає сторінку редагування профілю.

Група Учасник.

Для Учасника доступні сторінки сайту аналогічні, як і у Глядача: авторизація на сайті; перегляд сторінки «О баттлах», баттл арени, можливість голосувати за учасника баттла (за умови, що сам не є учасником), перегляд результатів. Є власна сторінка інформації про користувача - Мій профіль (мал. 2.8).

І додаткові сторінки: розширена версія головної (мал. 2.9), список учасників (мал. 2.10), відправка заявки на баттл (мал. 2.11), публікація жартів (мал. 2.12).

Доступ до Архіву жартів (мал. 2.13).

Таблиця 2.8 - Варіант використання "Вхід на сайт"

Дія користувача

Відгук системи

1. Користувач заповнює поля авторизації на поточній сторінці;

2. Система виконує авторизацію користувача.

 

Таблиця 2.9 - Варіант використання "О баттлах"

Дія користувача

Відгук системи

1. Користувач вибирає пункт меню «О баттлах»;

2. Система відображає користувачеві сторінку з інформацією.

Таблиця 2.10 - Варіант використання "Перегляд баттл арени"

Дія користувача

Відгук системи

1. Користувач вибирає зі списку «прийдешніх баттлов на тижні» - сьогоднішній баттл або, можливо, це баттл з його участю, тоді повідомлення про баттл буде відображатися в профілі;

2. Система відображає сторінку баттла.

Таблиця 2.11 - Варіант використання "Голосування"

Дія користувача

Відгук системи

1. Користувач віддає голос (за умови, що сам не бере участі в баттле) за одного з учасників баттла, натискаючи на відповідну кнопку;

2. Система оновлює сторінку і відображає оновлене кількість голосів.

Рисунок 2.8 - Мій профіль очима Учасника.

У профілі відображається блок «Можливі суперники», де користувач може моментально перейти на сторінку відправки заявки і кинути виклик обраному користувачу, або подивитися повний список можливих суперників, вибравши в блоці «весь список».

Таблиця 2.12 - Варіант використання "Мій профіль".

Дія користувача

Відгук системи

1. Користувач вибирає з пункту меню «Мій профіль»;

2. Система відображає сторінку профілю;

Дія користувача

Відгук системи

3. Користувач натискає на посилання «редагування»;

4. Система відображає сторінку редагування профілю;

Дія користувача

Відгук системи

5. Учасник вибирає з блоку «Можливого суперника» користувача;

6. Система відображає сторінку відправки заявки на баттл обраному користувачу;

Дія користувача

Відгук системи

7. У блоці вхідних / вихідних заявок користувач вибирає прийняти або відхилити заявку;

8. Система відправляє відповідь учаснику-відправнику.

Рисунок 2.9 - Розширена версія головної сторінки для Учасника.


Рисунок 2.10 - Список учасників.

Таблиця 2.13 - Варіант використання "Список учасників".

Дія користувача

Відгук системи

1. Користувач вибирає з пункту меню «Список учасників»;

2. Система відображає сторінку списку учасників.

Рисунок 2.11 - Сторінка відправки заявки на баттл.


Таблиця 2.14 - Варіант використання "Відправка заявки на баттл".

Дія користувача

Відгук системи

1. На сторінці Списку учасників користувач вибирає користувача свого рівня і натискає кнопку «Кинути виклик»;

2. Система відображає сторінку відправки заявки на баттл заданої супернику.

Рисунок 2.12 - Сторінка публікації матеріалів (жартів).

Таблиця 2.15 - Варіант використання "Опублікувати матеріал".

Дія користувача

Відгук системи

1. Користувач вибирає пункт меню «Додати гумор»;

2. Система відображає сторінку Додавання гумору;

Дія користувача

Відгук системи

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

4. Система перевіряє заповнені поля на правильність і направляє матеріал на перевірку.

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

Рисунок 2.13 - Архів жартів сайту.

Таблиця 2.16 - Варіант використання "Архів жартів".

Дія користувача

Відгук системи

1. Користувач вибирає з пункту меню «Архів жартів»;

2. Система відображає сторінку архіву жартів.

Группа Администратор.

Група Адміністратор.

Управлінням і налаштуванням сайту займається адміністратор, який володіє всіма правами на внесення змін у вміст і структуру сайту.

На рисунку 2.14 представлена інтерфейс адміністративної частини сайту. Перейшовши на дану сторінку, адміністратору доступна навігація, за допомогою якому можна переміщатися по розділах панелі управління. За допомогою даного інструменту доступні наступні дії:

  1.  проводити моніторинг кількості записів, сторінок, користувачів;
  2.  змінювати тему оформлення системи;
  3.  змінювати налаштування плагінів;
  4.  відслідковувати наявність нових матеріалів на сайті;
  5.  проводити швидку публікацію новин проекту.

Рисунок 2.14 - Адміністративна частина.

На головній сторінці знаходиться коротка інформація про сайта, а саме: сервер - версія php, mysql; розмір даних - скільки місця на диску займають долучення на сайт; версія системи; статистика наповнення сайту - кількість категорій, матеріалів, користувачів і т.д.

На рисунку 2.15 представлений розділ Налаштування, який відображає посилання перейшовши за яким можна змінити налаштування системи, матеріалів, користувачів. У додаткових налаштуваннях представлений список посилань для управління розширеннями сайту.


Рисунок 2.15 - Налаштування.

Адміністратор володіє правами додавання матеріалів на сайт - новин сайту (рис. 2.16).

Рисунок 2.16 - Додавання матеріалу на сайт.

Перейшовши в розділ редагування (рис. 2.17), відображається список як опублікованих матеріалів, так і матеріалів, які стоять на модерації. Також тут можна здійснити пошук задавши певний фільтр, сортування за датою, категорії та статусу.

Рисунок 2.17 - Новини сайту.

Важливим для даного проекту є розділ Плагінів (рис. 2.18), тут, можна активувати неактивні плагіни, встановити, які вимагають установки або налаштувати активні плагіни.

Рисунок 2.8 - Список плагінів сайту.

На малюнку 2.19 представлений розділ "Управління користувачами", який дозволяє маніпулювати користувачами системи, а саме, змінити групу, відредагувати інформацію, додати / видалити користувача.

Рисунок 2.19 – Управління користувачами.

На окремій сторінці "Управління правами доступу" (мал. 2.20), адміністратор може змінити права доступу кожного користувача сайту.

Рисунок 2.20 - Управління правами доступу.

На малюнку 2.21 представлений розділ "Налаштування системи", який надає адміністратору можливості конфігурації системи, а точніше виконувати наступні операції:

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

– виробляти налаштування бази даних;

– робити настроювання реєстрації користувача;

– виробляти налаштування безпеки;

– виробляти налаштування публікації матеріалів;

Рисунок 2.21 - Налаштування системи.


Висновки

В результаті дипломної роботи:

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

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


Перелік посилань

  1.  Види, типи, різновиди сайтів, класифікація сайтів [Електронний ресурс] – Режим доступу: http://www.bytemaster.ru/?page_id=59;
  2.  Ща таке CMS? Для чого вона потрібна? Які бувають CMS? [Електронний ресурс] – Режим доступу: http://moolkin.ru/joomla/cms/chto-takoe-cms-dlya-chego-ona-nuzhna-kakie-byvayut-cms/;
  3.  Яку CMS вибрати для сайту: порівняння [Електронний ресурс] – Режим доступу: http://lifehacker.ru/kakuyu-cms-vybrat-dlya-sajta-sravnenie-wordpress-joomla-i-drupal/;
  4.  HostCMS  [Електронний ресурс] – Режим доступу: http://www.hostcms.ru/;
  5.  Joomla [Електронний ресурс] – Режим доступу: http://ru.wiki-pedia.org/wiki/Joomla;
  6.  WordPress [Електронний ресурс] – Режим доступу: http://ru.wikipe-dia.org/wiki/Wordpress;
  7.  О NGCMS [Електронний ресурс] – Режим доступу: http://ngcms.ru/help/about.html;
  8.  Про систему Next Generation CMS  [Електронний ресурс] – Режим доступу: http://www.ngcms.ru/about/general-information.html;
  9.  Інсталяція  [Електронний ресурс] – Режим доступу: http://ngcms.ru/help/installation.html;
  10.  UML [Електронний ресурс] – Режим доступу: https://ru.wikipedia.org/wiki/UML;
  11.  Самовчитель UML - Актори [Електронний ресурс] – Режим доступу: http://2programmer.ru/uml/uml?start=36;
  12.  Мова UML. Керівництво користувача [Електронний ресурс] – Режим доступу: http://sitemonitor.ru/doc/UML_HTM/gl_17.htm;
  13.  
    Критерії вибору СУБД при створенні інформаційних систем
    [Електронний ресурс] – Режим доступу: http://citforum.ck.ua/database/articles/criteria/;
  14.  Система управління базами даних [Електронний ресурс] – Режим доступу: https://ru.wikipedia.org/wiki/Система_управления_базами_данных;
  15.  Як вибрати систему управління бази даних? [Електронний ресурс] – Режим доступу: http://www.getinfo.ru/article896.html;
  16.  Переваги скриптового мови PHP для розробки WEB-додатків [Електронний ресурс] – Режим доступу: http://www.moscow-kursy.ru/article/206;
  17.  Котеров Д. PHP5 в оригіналі / Д. Котеров, А. Котеров.  М. : БХВ-Петербург, 2008. 1104с.;
  18.  Можливості PHP [Електронний ресурс] – Режим доступу: http://php.net/manual/ru/intro-whatcando.php;
  19.  Зайцев П. MySQL. Отпітімізація продуктивності (2-е видання) / Зайцев П., В. Ткаченко М. : Символ-Плюс, 2010. 832с.


Додатки

до пояснювальної записки дипломної роботи


Додаток А
Лістинг програмного коду

Скрипт отправки заявки на участие в баттле - reqbattle.php

<?php

if (!defined('NGCMS')) die ('HAL');

register_plugin_page('reqbattle','','write_req');

function write_req(){

global $catz, $twig, $catmap, $mysql, $config, $userROW, $tpl, $parse, $template, $lang, $PFILTERS, $SYSTEM_FLAGS, $SUPRESS_TEMPLATE_SHOW, $CurrentHandler;

 

$tpath = locatePluginTemplates(array('reqbattle','writereq'), 'reqbattle', pluginGetVariable('reqbattle', 'localsource'));

// Подключение шаблона

$xt = $twig->loadTemplate($tpath['writereq'].'writereq.tpl');

 

// Проверка авториирован ли пользователь

if(is_array($userROW)){

 $auth = 1;

} else {

 $auth = 0;

}

 

// Проверка отправлена ли форма

if($_REQUEST['sendreq']){

 $send = 1;

} else {

 $send = 0;

}

 

$monthNum = array(1,2,1,0,1,0,1,1,0,1,0,1);

$curDay = date(j) + 2;

$curNumMon = date(m) + 1;

 

if($monthNum[$curNumMon] == 1){

 $dayMon = 31;

}

elseif($monthNum[$curNumMon] == 2){

 $v = date(Y);

 if($v%4){

  $dayMon = 28;

 }

 else{

  $dayMon = 29;

 }

}

else{

 $dayMon = 30;

}

 

for($i=$curDay; $i<$dayMon+1; $i++){

 $arrDays[] = $i;

}

 

for($i=0; $i<24; $i++){

 if($i < 10){

  $arrHour[] = '0'.$i;

 }

 else{

  $arrHour[] = $i;

 }

}

 

for($i=00; $i<6; $i++){

 if($i==0){

  $arrMin[] = '0'.$i;

 }

 else{

  $arrMin[] = $i*10;

 }

}

 

$idUser = isset($_REQUEST['id'])?$_REQUEST['id']:'';

 

if($_REQUEST['sendreq']){

 

 $player1 = $idUser;

 $player2 = $userROW['id'];

 $date = strftime('%Y-%m').'-'.$_REQUEST['day'].' '.$_REQUEST['hour'].':'.$_REQUEST['min'].':00';

 $typebattle = isset($_REQUEST['type'])?$_REQUEST['type']:'';

 $theme = isset($_REQUEST['ntheme'])?$_REQUEST['ntheme']:'';

 $durh = isset($_REQUEST['durh'])?$_REQUEST['durh'].':00:00':'';

 

 // Вставка новой строки в таблицу

 $mysql->query('INSERT

    INTO '.prefix.'_battlelist

    SET

    player1=\''.$player1.'\', player2=\''.$player2.'\',

    date=\''.$date.'\', battletype=\''.$typebattle.'\',

    theme=\''.$theme.'\', duration=\''.$durh.'\'');

}

 

// Проверка был ли получен id пользователя для отправки заявки

if($_REQUEST['id']){

 foreach($mysql->select('SELECT name, photo, xfields_name, xfields_surname FROM '.prefix.'_users WHERE id='.$idUser) as $row)

 {

  $tEntry[] = array (

   'id' => $idUser,

   'name' => $row['name'],

   'photo' => ($row['photo']!='')?photos_url.'/thumb/'.$row['photo']:'/templates/default/img/user.jpg',

   'fullname' => $row['xfields_name'],

   'surname' => $row['xfields_surname'],

  );

 }

 $idact = 1;

}

else{

 $idact = 0;

}

 

$tVars = array(

 'entries' => isset($tEntry)?$tEntry:'',

 'days' => $arrDays,

 'hour' => $arrHour,

 'min' => $arrMin,

 'authU' => $auth,

 'idact' => $idact,

 'send' => $send,

 'myprofile' => $userROW['name'],

);

 

$template['vars']['mainblock'] = $xt->render($tVars);

}

Скрипт отображения баттла - battlearena.php

<?php

if (!defined('NGCMS')) die ('HAL');

register_plugin_page('battlearena','','showarena');

function showarena(){

global $catz, $twig, $catmap, $mysql, $config, $userROW, $tpl, $parse, $template, $lang, $PFILTERS, $SYSTEM_FLAGS, $SUPRESS_TEMPLATE_SHOW, $CurrentHandler;

 

$tpath = locatePluginTemplates(array('battlearena','arena'), 'battlearena', pluginGetVariable('battlearena', 'localsource'));

$xt = $twig->loadTemplate($tpath['arena'].'arena.tpl');

 

if($_REQUEST['battle']){

 $battleinfo = $mysql->record('SELECT * FROM '.prefix.'_battlelist WHERE id='.(int)$_REQUEST['battle'].' AND (status=3 OR status=4)');

 if($battleinfo != ''){

  $playerinfo = $mysql->select('SELECT id, name, photo, ip, xfields_name, xfields_surname FROM '.prefix.'_users WHERE id IN('.$battleinfo['player1'].', '.$battleinfo['player2'].')');

  $voteinfo = $mysql->record('SELECT userid FROM '.prefix.'_votebattle WHERE userid='.$userROW['id'].' AND battleid='.$battleinfo['id']);

  $noneBattle = 0;

 }else{

  $noneBattle = 1;

 }

}

else{

 $noneBattle = 1;

}

 

$t = time();

 

$dur = $battleinfo['duration'];

$date = $battleinfo['date'];

 

$hourDate = date('H', strtotime($date));

$battMinSec = date('i:s', strtotime($date));

 

$hourDur = date('H', strtotime($dur));

$end = $hourDate + $hourDur;

 

$plusday = 0;

 

if($end > 23){

 $end %= 24;

 $plusday = 86400;

}

 

$endDate = date('Y-m-d ', strtotime($date)+$plusday).$end.':'.$battMinSec;

 

if(strtotime($endDate) <= time()){

 $over = 1;

}else{

 $over = 0;

 $timer = getdate(strtotime($endDate));

}

 

for($i=1; $i<3; $i++){

 $playerinfo[$i-1]['joke'] = $battleinfo['joke_pl'.$i];

 $playerinfo[$i-1]['vote'] = $battleinfo['vote_pl'.$i];

}

 

if($_POST['plvote']){

 $mysql->query('UPDATE '.prefix.'_battlelist SET vote_pl'.$_REQUEST['plvote'].'=vote_pl'.$_REQUEST['plvote'].'+1 WHERE id='.$battleinfo['id']);

 $mysql->query('INSERT INTO '.prefix.'_votebattle SET userid=\''.$userROW['id'].'\', battleid=\''.$battleinfo['id'].'\', plnum=\''.$_REQUEST['plvote'].'\', ip=\''.$userROW['ip'].'\'');

}

 

if($over){

 if($playerinfo[0]['vote'] > $playerinfo[1]['vote']){

  $playerWin = 1;

  $playerDef = 2;

 }

 else{

  $playerWin = 2;

  $playerDef = 1;

 }

 $playerinfo[$playerWin-1]['winner'] = $playerWin;

}

 

if($over && !$noneBattle && !$battleinfo['winner']){

 echo 1;

 $mysql->query('UPDATE '.prefix.'_battlelist SET status=4, winner='.$playerinfo[$playerWin-1]['id'].' WHERE id='.$battleinfo['id']);

 $mysql->query("UPDATE ".uprefix."_users SET count_win=count_win+1 where id=".$playerinfo[$playerWin-1]['id']);

 $mysql->query("UPDATE ".uprefix."_users SET count_defeat=count_defeat+1 where id=".$playerinfo[$playerDef-1]['id']);

}

 

($voteinfo='')?$vote=0:$vote=1;

 

$tVars = array(

 'noBattle' => $noneBattle,

 'curtime' => time(),

 'dur' => $battleinfo['duration'],

 'timer' => $timer,

 'player1' => $playerinfo[0],

 'player2' => $playerinfo[1],

 'vote' => $vote,

 'over' => $over,

 

);

 

$template['vars']['mainblock'] = $xt->render($tVars);

}


phtml

.php3

.php

php.exe

Браузер


 

А также другие работы, которые могут Вас заинтересовать

83424. Два різних світи – одне ціле. Програма виховної роботи 340 KB
  Дорослішання сучасної молоді відбувається в складних умовах. Нестабільність сімейного інституту, неактуальність традиційної підготовки молоді до шлюбу диктують необхідність використання спеціальних заходів для надання допомоги дітям в усвідомленні своєї статевої приналежності, формування адекватного...
83425. Розважально-пізнавальна програма. Сім’Я. Сім’Я. Сім’Я 105 KB
  А зараз з великим задоволенням разом рушимо вперед. Кожному з вас доведеться сім разів проявити себе. Оскільки в сім’ї тільки починає складатися життєвий досвід дитини, тому, проявляючи своє Я, він має право звернутися по допомогу або до мами, або до тата, а, може, і до обох відразу.
83429. Сценарій ДЮП «Прометей» 41.5 KB
  Але жарке, палюче сонце обпекло молоде листячко і маленька, настирлива іскорка починає свою гру. Пожежу ще можна попередити, якщо засипати вогнище піском. 10 година 12 хвилин. Вітер переносить полум’я на сусідні дерева, вогонь ще можна загасити водою, але гілки дерев уже сплелись...
83430. Антитютюнова пропаганда 74.5 KB
  Мета заходу: Виховання свідомого ставлення до свого здоров’я та здоров’я громадян як найвищої соціальної цінності; формування валеологічного світогляду; формування та пропаганда здорового способу життя; забезпечення обізнаності учнів з питань тютюнопаління; профілактика шкідливих звичок...
83431. Птахи. Закріплення звука[ш], букви Ш, ш. Робота над виразністю читання, речень, різних за метою висловлювання 52.5 KB
  Складіть малюнок птаха і прочитайте цікаву інформацію про нього.Якого птаха впізнали сова Прочитайте цікаву інформацію про нього. Якого птаха впізнала ваша група шишкарик Прочитайте цікаву інформацію про нього. Звернемось до нашого словника синички зустрілися шматочки сидиш комашка поспішай годівничка лети Прочитайте слова першого стовпчика.
83432. Як живуть птахи? 70.5 KB
  Мета: дати уявлення про довкілля птахів на прикладі ластівки і синички їх пристосованість до умов життя. Щоб гніздо було міцнішим ластівки додають до глини невеликі соломинки. Пташенята і дорослі ластівки голодують бо тоді комахи не літають. Ластівки знищують багато шкідливих комах.