Вы находитесь на странице: 1из 58

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное


учреждение высшего образования
«Рыбинский государственный технический университет
имени П. А. Соловьева»

Авиационный колледж

ДОПУСКАЮ К ЗАЩИТЕ
Председатель П(Ц)К
___________М. Н. Жебраков
«____»___________ 2017 г.

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Дипломный проект
Модернизация сайта системы общего образования города Рыбинска.

на соискание квалификации техник

по специальности 09.02.03 «Программирование в компьютерных системах»

Форма обучения очная

Студент группы ПР17 Р. М.Жебраков_______________

Руководитель С.В Карастелина____________

Консультант по экономической части Н. А. Клементьева____________

Нормоконтролер М. Н. Жебраков______________

Рыбинск 2017
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Рыбинский государственный технический университет
имени П. А. Соловьева»

Авиационный колледж

УТВЕРЖДАЮ
Председатель П(Ц)К
___________ М. Н. Жебраков
«____»___________ 2017 г.

ЗАДАНИЕ
на выпускную квалификационную работу
по специальности
09.02.03 «Программирование в компьютерных системах»

студенту группы ПР17 Р. М.Жебраков

1 Тема выпускной квалификационной работы - Модернизация сайта системы


образования города Рыбинска.
2 Срок сдачи студентом законченной выпускной квалификационной работы
«___»_________2017 г.
3 Исходные данные:
Действующий в настоящее время сайт расположен по адресу edu.rybadm.ru.
Он построен с использованием технологии WEB 2.0 с частичным
использованием PHP на локальных файлах. Недостатком является ограничение
его ведения и поддержки для неподготовленного пользователя и большая
трудоемкость наполнения содержания. В то же время на сервере администрации
есть возможность использования сервера БД MySQL.
4 Перечень подлежащих разработке задач/вопросов:
4.1 изменить структуру сайта таким образом, чтобы была возможность
хранить данные на сервере БД MySQL;

2
4.2 создать систему администрирования сайта с возможностью наполнения,
изменения и удаления содержимого;
4.3 создать систему поиска информации на сайте
4.4 сохранить все существующие разработки на PHP с переносом данных из
локальных файлов в базу данных.
4.5 сохранить существующий дизайн сайта.
5 Перечень графического/ иллюстративного/ практического материала:
Презентация в Microsoft PowerPoint для защиты ВКР.
6 Консультант по экономической части выпускной квалификационной работы:
Н. А. Клементьева

Дата выдачи задания «__»_________2017 г.


Руководитель С. В. Карастелина
Задание принял к исполнению «__»___________2017 г. __________________

3
КАЛЕНДАРНЫЙ ПЛАН ВКР
(с указанием сроков выполнения отдельных этапов)

Сроки преддипломной практики 4 недель


17.04.17
12.05.17
1. Выбор темы, руководителя, оформление заявления 17.04.17
2. Утверждение темы ВКР 18.04.17
3. Выполнения задания по теме ВКР 19.04.17
11.05.17
4. Предоставления отчета по практике руководителю 11.05.17
5. Аттестация по практике 12.05.17
Подготовка ВКР 5 недель
15.05.17-
18.06.17
1. Утверждение задания на ВКР 1 недель
2. Подбор и анализ исходной информации 15.05.17-
3. Подготовка и утверждения плана (оглавления) ВКР 21.05.17
4. Работа над разделами (главами) и устранение 2 недели
замечаний руководителя ВКР 22.05.17-
04.06.17
5. Согласование содержания ВКР, устранение 1 неделя
замечаний 05.05.17-
11.05.17
6. Оформление и представление руководителю
полного текста работы. Получение отзыва 1 неделя
руководителя ВКР 12.06.17-
7. Предоставление студентом готовой ВКР рецензенту 18.06.17

Руководитель______________
(подпись)

План принял к исполнению «____»___________2017 г.


__________________
(подпись студента)

4
Содержание

Введение.......................................................................................................................7
1 Инфологическое моделирование............................................................................8
2 Даталогическое моделирование............................................................................10
3 Физическое моделирование...................................................................................13
3.1 Структура сайта................................................................................................13
3.2 Триггеры...........................................................................................................14
3.3 Движок сайта....................................................................................................15
4 Панель администрирование...................................................................................19
4.1 Авторизация......................................................................................................19
4.2 Панель редактирования...................................................................................20
4.2 Редактирование Баннера..................................................................................20
4.3 CSS (Cascading Style Sheets)............................................................................21
5 Экономическая часть..............................................................................................22
5.1 Авторское право на программы......................................................................22
5.1.1 Виды авторского права..............................................................................23
5.1.2 Авторские права на программы для ЭВМ: особенности и специфика
защиты.................................................................................................................23
5.1.3 Авторское право на курсовые и дипломные работы..............................24
5.2 Экономическое обоснование разработки сайта «МУ ДПО
"Информационно-образовательный Центр"»:.....................................................28
5.2.1 Что собой представляет продукт..............................................................28
5.2.2 Сравнение с аналогами.............................................................................28
5.2.3 Расчет затрат на разработку......................................................................29
5.2.4 Оценка результата от использования разработанного ПО.....................35
Заключение.................................................................................................................37
Список использованных источников.......................................................................38
Приложение А............................................................................................................40
Приложение Б............................................................................................................44

5
Приложение В............................................................................................................45
Приложения Г............................................................................................................47
Приложения Д............................................................................................................48
Приложения Е............................................................................................................50
Приложение Ж...........................................................................................................53
Приложение З.............................................................................................................57

6
Введение
Темой данного дипломного проекта является «Модернизация сайта
системы общего образования города Рыбинска».
Модернизация сайта – один из способов придать сайту современный вид с
помощью частичного или полного изменения его структуры, расширения
функциональных возможностей.
Для хранения информации разрабатываются базы данных – совокупность
материалов, которые систематизированы таким образом, чтобы их было легко
найти и обработать с помощью персонального компьютера.

7
1 Инфологическое моделирование
Любое проектирование БД начинается с создания инфологической модели,
т.е. с определения сущностей и связей между ними [1]. Рассмотрим
проектирование Базы данных «EDU». Которая включает в себя 7 таблиц.
1 горизонтального меню (hmenu),
2 вертикального меню(vmenu),
3 горизонтального под меню (phmenu),
4 вертикального подменю(pvmenu),
5 баннеры (rban),
6 содержимое сайта (contain)
7 зеркало contain
Инфологическая модель представлена на рисунке 1.1

Баннеры

Содержан Вертикальное под


Ггоризонтальное
ие сайта меню
под меню

Горизонтальное меню Зеркало contain Вертикальное меню

Рисунок 1.1- ER- диаграмма.

Корректность инфологической модели определяет работоспособность БД,


и к ней не стоит относиться с пренебрежением. Этой модели соответствует
следующее описание на языке инфологического моделирования (ЯИМ) [2]:

8
1 Горизонтальное меню (Код горизонтального меню(PK), Название,
Адрес)
2 Вертикальное меню (Код вертикального меню(PK), Название, Адрес)
3 Горизонтальное подменю (Код горизонтального подменю(PK), Код
Горизонтального меню(FK), Заголовок, Название, Адрес)
4 Вертикальное подменю (Код вертикального подменю(PK), Код
вертикального меню(FK), Заголовок, Название, Адрес)
5 Баннеры (Код баннера(PK), Код горизонтального подменю(FK), Код
вертикального меню(FK), Адрес файла баннера, Заголовок, Адрес, Привязка)
6 Содержимое сайта(Код содержимого сайта(PK),Код горизонтального
подменю(FK), Код вертикального подменю(FK), Код баннера, Спойлер,
Содержание сайта)
7 Зеркало Contain(Код зеркало contain(PK), Содержание сайта )

9
2 Даталогическое моделирование
Если инфологическая модель определяет работоспособность БД, то от этой
модели зависит оптимальность алгоритмов работы с БД. Здесь необходимо
определить название всех таблиц, представляемых сущностями, и полей
(столбцов) этих таблиц [3][5].
Рекомендуется в разных таблицах использовать как можно больше
одноименных полей, если они имеют одинаковое смысловое назначение.
Благодаря этому можно использовать одни и те же SQL-инструкции,
сформированные динамически, с незначительными отличиями. Таблицы,
имеющие одинаковое назначение, также должны создаваться по одному
шаблону. Например, «hmenu» и «vmenu», «phmenu» и «pvmenu». В этих
таблицах наименование столбца, определяющего тип сущности, должно быть,
например, «name». Первичные ключи лучше назвать «id_имятаблицы», или
просто «id», но во втором случае теряется наглядность при формировании
взаимосвязей по внешним ключам, хотя с точки зрения оптимизации
алгоритмов – это более выгодно. То есть получаем следующее Даталогическое
моделирование таблиц листинг 2.1-2.5:

Create table hmenu


Primary key id_hmenu
Fields (id_hmenu in, name varchar, href varchar)
Constraints (name unique)
Create table vmenu
Primary key id_vmenu
Fields (id_vmenu int, name varchar, href varchar)
Constraints (name unique)

Листинг 2.1 – ДЛМ таблиц phmenu и pvmenu.

10
Create table phmenu
Primary key id_phmenu
Foreign key id_hmenu
Not null
On update cascade
On delete restrict
Fields (id_phmenu int, id_hmenu int, title varchar, name
varchar, href varchar)
Constraints (name unique)

Create table pvmenu


Primary key id_pvmenu
Foreign key id_vmenu
Not null
On update cascade
On delete restrict
Fields (id_pvmenu int, id_vmenu int, title varchar, name
varchar, href varchar)
Constraints (name unique)

Листинг 2.2 – ДЛМ таблицы phmenu и pvmenu

Create table contain


Primary key id_ contain
Foreign key id_phmenu
Not null
On update cascade
On delete restrict
Foreign key id_pvmenu
Not null
On update cascade
On delete cascade
Fields (id_ contain int, id_phmenu int, id_pvmenu int, id_rban
int, spol varchar, main text)
Constraints (
1.Только один из индексов id_phmenu или id_pvmenu может
принимать NULL значение, независимо от id_ rban
2. Если id_phmenu и id_pvmenu равны NULL, то должен
быть установлен индекс id_ rban
)

Листинг 2.3 – ДЛМ таблицы contain

11
Create table rban
Primary key id_ rban
Foreign key id_phmenu
Not null
On update cascade
On delete restrict
Foreign key id_pvmenu
Not null
On update cascade
On delete cascade
Fields (id_ rban int, id_phmenu int, id_pvmenu int, addrpic varchar
,title varchar, href varchar, link bit)
Constraints (
только один из индексов id_phmenu или id_pvmenu может
принимать NULL значение, независимо от id_ rban
если id_phmenu и id_pvmenu равны NULL, то должен быть
установлен индекс id_ rban
)

Листинг 2.4 – ДЛМ таблицы rban

Первый предлагаемый способ заключается в создании дополнительной


таблицы в MyISAM. Как известно MyISAM достаточно неплохо поддерживает
полнотекстовый поиск и это можно использовать [14]. В эту дополнительную
таблицу будут копироваться все данные из основной таблицы (Contain).
Синхронизация будет обеспечиваться за счет триггеров. В новой таблице
добавим поля id_search, main. Таким образом, мы создадим «зеркало» основной
таблицы, и работать будем с ним.

Create table search


Primary key id_ search
Fields(main text)

Листинг 2.5 – ДЛМ таблицы search

12
3 Физическое моделирование
3.1 Структура сайта
Структура сайта представлена на рисунке 3.1

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


Сайт формируется на основе СУБД MySql со структурой, представленной
на рисунке 3.2. Кроме этого в схему добавлен модуль «Опросы» на основании
таблиц ……….., а в структуру сайта папка main/poll/, где содержи

13
Рисунок 3.2 – Схема базы данных
3.2 Триггеры
Для синхронизации данных между основной таблицей и
таблицей-«зеркалом» на contain установим триггеры на запись, изменение и
удаление [19]:

Рисунок 3.3 – Триггер на изменение

Рисунок 3.4 – Триггер на запись

14
Рисунок 3.5 – Триггер на удаление
3.3 Движок сайта
Это программный комплекс управления сайтом. Подобная система
управления может состоять из множества небольших модулей (т.е. несколько
маленьких программ), которые объединены в общую систему.
Наиболее часто встречается аббревиатура CMS – Content Managment System –
система управление содержимым [5]. Движки, в подавляющем большинстве
случаев, программируются на языке PHP, тем не менее, возможно применение
других языков, всё зависит от программиста и возможностей хостинга. В любом
случае, движок всегда работает в связке с базой данных MySQL (базы данных
так же должны поддерживаться хостером).
В нашем случае был разработан файл index.php, который лежит в
директории Z:\home\diplom\www\ и его алгоритм показан на рисунке 3.6. В
этом файле формируется содержимое любой страницы, представленное в
приложении А

начало

нет
Первый вход Установка переменных
или клик по
баннеру
да
нет
Клик по Установка переменных
баннеру
да
нет
Есть привязка Установка переменных

Установка переменных

Формирование шапки
1

15
1

Формирование меню Н

Формирование меню V

Формирование Баннер

да
баннер Установка переменных
нет

Свободная да
Установка переменных
страница

нет
да
Система меню Установка переменных

нет

Формирование
содержимого

конец

Рисунок 3.6 – Алгоритм движка сайта.


<UL class="hmenu">
<?php createhmenu("event");
createhmenu("docs");
createhmenu("structure");
?>
<LI><A href="http://rybinsk.ru/admin/departments/obrazovanie/2940-voprosy-
dep-obrazovanija" target="_blank">Форум</A>
</LI>
<LI><A href="./main/search">Поиск</A></LI>
</UL>

Листинг 3.1 – Формирование горизонтального меню


Соответственно в базе данных была создана таблица hmenu

Рисунок 3.7 – таблица hmenu


16
<UL class="vmenu" >
<?php createvmenu("programm");
createvmenu("inavacion");
createvmenu("fgoc");
createvmenu("ped");
createvmenu("konkyrs");
createvmenu("olimp");
?>
<LI><A href="./main/links">Полезные ссылки</A></LI>
</UL>

Листинг 3.2 – Формирование вертикального меню


в базе данных была создана таблица vmenu

Рисунок 3.8 – таблица vmenu

<DIV id="bunner">
<?php
$sql = "SELECT `id_phmenu` FROM `phmenu` WHERE `href` =
'monit'";
$res = mysql_query($sql) or die(mysql_error());
$id_phmenu = mysql_result($res, 0, 'id_phmenu');
$sql = "SELECT `id_rban`, `addrpic`, `href`
FROM `rban`";
$res = mysql_query($sql) or die(mysql_error());
while ($mas = mysql_fetch_assoc($res)){
echo "<DIV class='support'>
<a href='./index.php?id_rban=".$mas['id_rban']."'>
<img src='./pic/".$mas['addrpic']."'/></a></DIV>";
}
?></DIV>

Листинг 3.3 – Формирование баннера.

17
<DIV id="bottom">
<HR/>
<P align="center">
<DIV class="support1"><A href="http://www.edu.ru" target="_blank"><IMG
src="./pic/federal.jpg"></A></DIV>
<DIV class="support1"><A href="http://mon.gov.ru"
target="_blank"><IMG src="./pic/minobr.jpg"></A></DIV>
<DIV class="support1"><A href="http://www.apkpro.ru"
target="_blank"><IMG src="./pic/apkpro.jpg"></A></DIV>
<DIV class="support1"><A href="http://www.iro.yar.ru"
target="_blank"><IMG src="./pic/iro.jpg"></A></DIV>
<DIV class="support1"><A href="http://www.rybmuseum.ru"
target="_blank"><IMG src="./pic/rybmus.jpg"></A></DIV>
<DIV class="support1"><A
href="http://Персональныеданные.дети" target="_blank"><IMG
src="./pic/pd.jpg"></A></DIV>
</P>
&copy; Департамент образования городского округа город
Рыбинск, 2009-2017<BR/>
&copy; МУ ДПО "Информационно-образовательный Центр",
Рыбинск, 2009-2017<BR/>
Тех. поддержка:<A href="./main/ioc/" class='gllink' title="переход
к странице МУ ДПО ИОЦ"> МУ ДПО "Информационно-
образовательный Центр"</A>
<BR/>тел.:(4855) 24-30-61 e-mail: <A class='gllink'
href="mailto:ksw08@rambler.ru" id="mail">ksw08@rambler.ru</A>
</DIV>

Листинг 3.4 – Формирование ссылок

18
4 Панель администрирование.
4.1 Авторизация
Авторизация – это подтверждение полномочий, прав доступа или
авторства лица, который предъявляет электронный документ, либо самого себя.
Зачастую термин авторизация разделяют на авторизацию электронных
документов и собственно пользователей какой-либо системы
Скрипт авторизации приведен в Приложении Б.

Русунок 4.1- Авторизация


Панель администрирования - это часть сайта или, доступная только
администраторам и модераторам, с помощью которой можно управлять сайтом.
Скрипт панели администрирования приведен в Приложении В.

Рисунок 4.2- Панель администрирование

19
4.2 Панель редактирования
Для того чтоб редактировать информацию на сайте, была разработана
панель редактирования. Скрипт редактора меню приведен в Приложении Г

Рисунок 4.3- Редактор меню

4.2 Редактирование Баннера


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

Рисунок 4.3- Редактор баннера

20
4.3 CSS (Cascading Style Sheets)
Для создания представления Web-страниц предназначена технология
каскадных таблиц стилей (Cascading Style Sheets, CSS), или просто таблиц
стилей . Таблица стилей содержит набор правил (стилей) , описывающих
оформление самой Web- страницы и отдельных ее фрагментов. Эти правила
определяют цвет текста и выравнивание абзаца, отступы между графическим
изображением и обтекающим его текстом, наличие и параметры рамки у
таблицы, цвет фона Web-страницы и многое другое.
C помощью css было сделано выпадающие списки. Скрипт выпадающих
списков приведен в Приложении Е.

21
5 Экономическая часть
Введение
Модернизация сайта – один из способов придать сайту современный вид с
помощью частичного или полного изменения его структуры, расширения
функциональных возможностей.
Переделка сайта связана с изменениями и улучшением его
работоспособности, доработкой или полной заменой функционала,
обновлением или сменой CMS. В большинстве случаев при модернизации
сайтов происходит фрагментарное обновление ресурса. Однако бывает, что
сайту необходима полная переделка.
Модернизация сайта позволит сделать Ваш ресурс новомодным и
удобным в использовании. Напротив, отсутствие логичной структуры сайта
ведет к понижению целевого трафика, что в свою очередь снижает количество
заказчиков.
В определенный момент компании понимают, что сайт требует изменений
в связи с развитием интернет технологий. Модернизация сайта включает
добавление новых разделов, переработки структуры и модернизации готовых
программных модулей.
5.1 Авторское право на программы
Массовое появление в России компьютеров и бесконтрольное
использование ПО к ним породило очень острую, с точки зрения его
создателей, проблему защиты интеллектуальных прав. Можно ли признавать за
разработчиками, создающими программы для ЭВМ (электронно-
вычислительных машин) исключительного авторского права? До введения в ГК
РФ четвертой части ситуация существенно ограничивала права
непосредственных исполнителей, что в корне расходилось с международной
практикой регулирования таких отношений.
В ст.1261 ГК определено, что есть программа в указанном контексте
использования. Это некий комплекс объективно выраженных данных и средств

22
(команд) управления ими, для достижения реально физически существующих
результатов, определяемых целями их создания.
Под программами сегодня признаются:
настольные приложения;
операционные системы;
базы данных;
веб-приложения.

5.1.1 Виды авторского права


Правообладателями могут выступать и физические, и юридические лица
(компании). Причём физическим лицам допустимо выступать в качестве
авторов коллегиально, то есть быть соавторами (сособственниками). Также
предусмотрен переход этих прав в установленных законом случаях.
Следовательно, если теперь программа признана объектом авторских прав,
одним из важнейших способов их защиты должна стать государственная
регистрация программы для ЭВМ .

5.1.2 Авторские права на программы для ЭВМ: особенности и специфика


защиты
Несмотря на то что программы для ЭВМ отныне являются объектом
авторского права, под ними понимают имущественные и интеллектуальные
права правообладателя, наделённые специфическими различиями в отличие от
традиционных ценностей. В действительности сюда следует ещё отнести и
право на сайт, если он создан и функционирует с помощью специальных
инструментов и средств программирования. Важно понять: сайт, созданный на
чистом HTML, не будет признан программой. Для этого нужно, чтобы он был
создан с применением одного из языков программирования реализованных на
стороне сервера. К ним обычно относят интерпретируемые языки
программирования высшего уровня PHP.
Это чисто техническая сторона состояния нового объекта
интеллектуального права собственника (автора или правообладателя)

23
программы. Существенную сложность представляет защита авторского права на
программу, ведь это составной объект, который включает:
Исходный текст и объектный код;
Материалы, полученные в процессе работы объектного кода (например,
аудио и видеоматериалы);
Уникальный интерфейс и дизайн софта.
Все эти элементы (как по отдельности, так и в комплексе) нуждаются в
защите от посягательства, то есть от несанкционированного использования без
разрешения автора. Как правило, авторские права на программы для ЭВМ
подразумевают не только законное распоряжение программным продуктом. Это
сопутствующее право на авторство, имя и опубликование.
Программы для ЭВМ в виде сайта, реализующие конкретный сервис —
например, электронный магазин — не могут обладать патентом: по закону его
контент (содержимое), выступает как литературное произведение.

5.1.3 Авторское право на курсовые и дипломные работы


Ежегодно студенты многих сотен и тысяч учебных учреждений
Российской Федерации выполняют курсовые и дипломные работы, а также
участвуют в создании иных произведений (творческих проектов). Курсовая и
дипломная работа – квалификационные работы (проекты) представляющие
собой труд студентов по изучению конкретной области знаний (науки и т.д.).
Уровень современных работ с каждым годом растет и «многие дипломные
работы близки к уровню кандидатских диссертаций - и по объему, и по
содержанию».
Является ли курсовая или дипломная работа объектом авторского права?
Однозначный ответ на данный вопрос – Да. Однако есть одно «если». А
именно, если работа (курсовая или дипломная) представляет собой объект
авторского творчества (студента), а не является плагиатом. Между тем с
авторскими правами на творчество студентов создаваемое в рамках учебного
процесса связана масса вопросов: Кому принадлежат имущественные права на
создаваемые авторские работы? Как должны быть построены авторские
24
правоотношения между вузом (учебным заведением) и студентом?
Рассматривать ли в качестве соавтора научного руководителя?
Закон «Об авторском праве и смежных правах» (далее по тексту – ЗоАП)
вопросу авторства студентов (учащихся) на создаваемые труды не уделяет
специальных норм, а значит, на данные авторские правоотношения
распространяются общие правила «авторского законодательства».
Сложность однозначных ответом на поставленные выше вопросы
объяснятся тем, что в рассматриваемых авторских правоотношениях участвуют
несколько субъектов: автор (студент), научный руководитель (преподаватель),
вуз (учебное заведение). Казалось бы, что на лицо служебные правоотношения,
когда вуз (в лице научного руководителя) дает задание на выполнение
определенной авторской работы. Однако это не так.
Как отмечают авторы пособия «Авторское право», эти объекты (курсовые
и дипломные работы – Т.Г.) не являются служебными, авторское право на них
возникает у их создателей – студентов, использование этих произведений
возможно только с их согласия, научный руководитель по общему правилу не
является соавтором таких произведений
Итак, авторские права принадлежат студентам. Между тем, на практике,
ВУЗы и иные учебные заведения зачастую публикуют работы студентов.
Например, в настоящее время, зачастую публикуются сборники
квалификационных работ студентов («Сборник лучшие дипломные работы по
экономике за 2003 год»). В лучшем случае студента извещают о том, что его
работа будет опубликована, между тем автору никакого гонорара не
выплачивается, авторского договора с ним не заключается, опять таки в лучшем
случае имя и фамилия автора будет указана рядом с авторским трудом. Если же
обратиться к действующей редакции ЗоАП, то как следует из абз.2 п.1 ст.11
Закона, составитель пользуется авторским правом при условии соблюдения им
прав авторов каждого из произведений, включенных в составное произведение.
Еще один яркий (и даже традиционный) пример злостного
правонарушения авторских прав студентов – это использование их творчества в

25
работах научных руководителей. Скажем, доцент Иванов пишет очередную
монографию, посвященную вопросу Государственного предпринимательства.
Чтобы ускорить процесс написания он ряду студентов дает задание на
выполнение курсовых работ пересекающихся с его монографией. После сдачи и
защиты работ студентами, доцент Иванов берет авторский труд студентов и
включает в качестве определенных глав в свою монографию. При этом себя он
оправдывает тем, что он является научным руководителем, что он сам дал
задание студентам, что дал им списки литературы и т.д. Естественно студентов
он в качестве соавторов глав или монографии не указывает и тем более не
«делится» гонораром. Между тем, ЗоАП закрепляет авторское право на
произведение, созданное совместным творческим трудом двух или более лиц
(соавторство), принадлежит соавторам совместно независимо от того, образует
ли такое произведение одно неразрывное целое или состоит из частей, каждая
из которых имеет самостоятельное значение (п.1 ст.10). Право на использование
произведения в целом принадлежит соавторам совместно (п.2. ст.10 ЗоАП).
Именно незнание автора о его правах, игнорирование ВУЗами
(заинтересованными лицами, зачастую научными руководителями) авторских
прав студентов приводят к правонарушениям.
Интересно было бы существование судебных прецедентов на
рассматриваемую тему. Если вернутся к нашему примеру – это может быть
групповой иск к ВУЗу от авторов, чьи произведения были опубликованы.
Между тем, в практике уже есть частные примеры, так «студентка Хабаровского
педагогического института выполнила курсовую работу, изготовив
художественное панно, которое впоследствии было подарено ректором вуза
китайскому коллеге. Студентка подала исковое заявление в суд, выиграла дело и
получила компенсацию за использование авторской работы без согласия
автора».
Рассмотрим данный вопрос с другой стороны. Скажем, что при
поступлении в ВУЗ студента обязывают подписать соглашение о том, что все
его произведения созданные в целях прохождения учебной программы

26
являются служебными произведениями, и имущественные права на такие
произведения принадлежат исключительно ВУЗу. В таком случае отношения
студента и вуза можно соотнести с трудовыми правоотношениями, когда
«исключительные права на использование служебного произведения
принадлежат лицу, с которым автор состоит в трудовых отношениях
(работодателю), если в договоре между ним и автором не предусмотрено иное»
(п.2 ст.14 ЗоАП). Правомерно ли обязывать студента вступать в такое
соглашение? На наш взгляд - нет. Во-первых, налицо нарушение принципа
«свободы договора» (ст.421 ГК РФ), во-вторых, предметом авторского договора
не могут быть права на использование произведений, которые автор может
создать в будущем (п.5 ст.31 ЗоАП).
Еще один вопрос: можно рассматривать отношения между вузом
(научным руководителем) и студентом как договор заказа? Сторонники такой
точки зрения могут акцентировать внимание на том обстоятельстве, что вуз
(научный руководитель) дает задание студенту, и авторский труд является
результатом задания, а не результатом свободного творчества студента. Между
тем труд студента носит творческий (авторский характер), так представляет
собой не просто механическую работу по систематизации и изложении
определенного материала, а именно творческую (индивидуальную) работу.
Таким образом, по общему правилу, авторские права (как личные, так и
имущественные) на студенческие произведения принадлежат их авторам –
студентам.

5.2 Экономическое обоснование разработки сайта «МУ ДПО


"Информационно-образовательный Центр"»:

5.2.1 Что собой представляет продукт


27
Актуальность темы «Модернизация сайта системы общего образования
города Рыбинска» определяется тем, что в настоящий момент Модернизация
сайта проводится следующим образом:
1. Изменить структуру сайта таким образом, чтобы была возможность
хранить данные на сервере БД MySQL;
2. Создать систему администрирования сайта с возможностью
наполнения, изменения и удаления содержимого;
3 .Создать систему поиска информации на сайте
4. Сохранить все существующие разработки на PHP с переносом данных
из локальных файлов в базу данных.
5. Сохранить существующий дизайн сайта.
В настоящее время сотрудники отдела «МУ ДПО "Информационно-
образовательный Центр"» работают с данными, хранящимися на локальных
файлах. Целью разрабатываемой базы данных является автоматизация работы
данного отдела.

5.2.2 Сравнение с аналогами


База данных для автоматизации работы отдела «МУ ДПО
"Информационно-образовательный Центр"» предназначена для упрощения
работы отдела.
Особенностями программного средства являются:
повышение производительности и надежности работы отдела;
возможность одновременного подключения к БД нескольких
пользователей;
высокая безопасность данных.

Таблица 1.1 – Оценка характеристик разрабатываемого проекта и его


аналогов
База данных Таблицы MS Excel
Скорость + –
Автоматизация + –
Простота + +
28
использования
Доступность – +
Надежность + +/–

Оценка характеристик проводилась на основе сравнения проекта и аналога,


который сейчас используется на предприятии, по определенным
характеристикам. В результате было выявлено, что база данных в большинстве
случаев оказалась лучше. Теперь можно обратить внимание и оценить
разработку по 5-бальной шкале в таблице 1.2.
Таблица 1.2 – Оценка разработки по 5 бальной шкале
Критерий Таблицы MS
База данных
Excel
Функциональность 5 2
Цена 2 5
Удобство использования 5 3

Данная БД не является универсальной и предназначена для конкретного


предприятия.

5.2.3 Расчет затрат на разработку


Себестоимость — это стоимостная оценка используемых в процессе
производства продукции (работ, услуг) природных ресурсов, сырья, материалов,
топлива, энергии, основных фондов, трудовых ресурсов и других затрат на её
производство и реализацию [9][10].
При формировании цены учитываются затраты по следующим
экономическим элементам:
общий фонд оплаты труда;
материальные затраты;
страхование от несчастного случая;
амортизация и эксплуатационные расходы;
накладные расходы;
налог на имущество.
Данные расчетов длительности работ приведены в таблице 3.1

29
Таблица 3.1 – Длительность работ на этапе проектирования
Длительность работ, дней
Наименование работ
минимум максимум заняло
Разработка технического
1 2 1
задания
Анализ технического задания 2 5 3
Изучение литературы 5 10 5
Работа в библиотеке с
– – –
источниками
Знакомство с основными
1 3 2
этапами дипломной работы
Оформление ТЗ 1 2 2
Разработка алгоритма 1 5 2
Доработки программы 10 20 15
Отладка программы 15 20 15

Основная заработная плата (ОЗП) – определяется по формуле:


ОЗП = Si · Ti, (3.1)[11]
где Si – ставка заработной платы, руб.;
Ti – время разработки (в днях, месяцах).
Среднемесячная заработная плата рассчитывается по формуле:
Si = Sб · K, (3.2) [11]
где Sб – базовая заработная плата, р.;
K – коэффициент по тарифной сетке.
Базовая зарплата составляет 20000 руб., а коэффициент по тарифной сетке
K = 1.
Подставив числовые значения в формулу (3.2), получим, что
Si = 20000 · 1 = 20000 руб.
Разработка БД осуществлялась в течение трёх календарных месяцев. Таким
образом
ОЗП = 20000 · 3 = 60000 руб.
Дополнительная заработная плата (ДЗП), руб. составляет 10 – 13 % от
основной заработной платы, выбираем значение, равное 10 %, тогда
ДЗП = 20000 · 0,1 = 2000 руб.

30
Доплаты к заработной плате ДоЗП, руб., устанавливаются в размере от
10 до 60 %. Возьмем значение, равное 10 %, тогда размер доплат составит
ДоЗП = 20000 · 0,1 = 2000 руб.
Премии к заработной плате устанавливаются в размере от 30 до 60 % от
ОЗП и ДоЗП. Во время разработки программы премий не было.
Общий фонд оплаты труда (ОФОТ) складывается из основной заработной
платы, дополнительной, доплат и премий
ОФОТ = ОЗП + ДЗП + ДоЗП, (3.3)[11]
где ОЗП – основная заработная плата, руб.; ОЗП = 60000 руб.;
ДЗП – дополнительная заработная плата, руб.; ДЗП = 2000 руб.;
ДоЗП – доплаты к заработной плате, руб.; ДоЗП = 2000 руб.
Подставив числовые значения в формулу (3.3), получим, что
ОФОТ = 60000 + 2000 + 2000 = 64000 руб.
Начисление на заработную плату (НЗП) в государственные бюджетные
фонды отчисляется от общего фонда оплаты труда по соответствующим на
данное время нормативам отчислений по формуле:
НЗП = ОФОТ · Нзп, (3.4)
где Нзп – норматив начисления на заработную плату, %; Нзп = 30 %.
Подставив числовые значения в формулу (3.4), получим, что
НЗП = 64000 · 0,30 = 19200 руб.
Отчисления в фонд страхования от несчастного случая вычисляется по
формуле:
ФС = ОФОТ · Нсф, (3.5)
где Нсф – норматив отчисления в фонд страхования, %; Нсф = 0,2 %.
ФС = 64000 · 0,002 = 128 руб.
Накладные расходы (НР) определяются по формуле:
НР = ОФОТ · Ннр, (3.6)
где Ннр – норматив накладных расходов, %; Ннр = 20 %.
Подставив числовые значения в формулу (3.6), получим, что
НР = 64000 · 0,2 = 12800 руб.
Расходы на машинное время (Мвр) определяются по формуле:

31
Мвр = Сч · Вр, (3.7)
где Сч – стоимость одного часа машинного времени, руб.;
Вр – время использования оборудования, ч.
Для определения стоимости одного часа машинного времени необходимо
вычислить:
- стоимость компьютера – 28500 руб.;
- стоимость использованной операционной системы (Windows XP
Professional SP3) – 4399 руб.;
- среда разработки программы (SQL Server Management Studio) – средняя
стоимость 15400 руб.;
Просуммировав перечисленные выше величины, получим, что
ЗАП = 19500 + 4399 + 15400 = 39199 руб.
Время использования оборудования определяется сроком службы
компьютера СПК. Обычно берется средний срок службы, который составляет 5
лет, тогда определим срок службы компьютера в часах:
СПК = 5 · 12 · 22 · 8 = 10560 ч.
Для определения стоимости одного часа машинного времени нужно
получить отношение затрат на оборудование и программные средства ЗАП к
сроку службы компьютера в часах СПК. Отсюда стоимость одного часа
машинного времени без учета эксплуатационных расходов СБР, руб., составляет
СБР = 39199 / 10560= 3,7 руб.
Мощность потребления компьютера составляет 0,5 кВт, стоимость 1 кВт в
час электроэнергии равна 3,30 руб. Отсюда затраты на электроэнергию в час
ЗЭЧ, руб., составляют
ЗЭЧ = 0,5 · 3,30 = 1,65 руб.
Затраты на техническое обслуживание оборудования в час ЗТО, руб.,
составляют 0,90 руб.
Стоимость одного часа машинного времени определяется путем
суммирования значений СБР, ЗЭЧ, ЗТО, и составляет
Сч = 3,7 + 1,65 + 0,90 = 6,25 руб.

32
Время использования оборудования Вр, ч. Оборудование использовалось
60 дней по 4 часа, следовательно
Вр = 60 · 4 = 240 ч.
Подставив полученные значения в (3.7), получим, что
Мвр = 6,25 · 240 = 1500 руб.
Материальные затраты организации – это затраты на приобретение сырья и
материалов для создания готовой продукции.
В ходе проектирования БД как таковых материальных затрат не
наблюдалось, потому что скрипты для развертывания БД будут храниться в
электронном виде на жестком диске компьютера. Но компьютер не всегда
является самым надежным источником для хранения данных, поэтому копия
скриптов записана на флеш-накопитель (стоимость составляет 300 рублей).
Налог на имущество НИ, руб., определяется от суммы амортизации и
материальных затрат. Расчёт производится по формуле:
НИ = (МЗ + Мвр) · Ни, (3.8)
где Ни – норматив налога на имущество, %; Ни = 2,2 %.
Подставив числовые значения в формулу (3.8), получим, что
НИ = (300 + 1500) · 0,022 = 39,6 руб.
Таким образом, полная себестоимость С, руб. разработки системы
вычисляется по формуле:
С = МЗ + ОФОТ + НЗП + ФС + НР + Мвр + НИ, (3.9)
Подставив конкретные значения в формулу (3.9), получаем
С = 300 + 64000 + 19200 + 128 + 12800 + 1500 + 39,6 = 97967,6 руб.
Таблица 3.2 – Себестоимость разработки
Статья затрат Сумма, р.
Материальные затраты 300
Общий фонд оплаты труда 64000
Начисления на заработную плату 19200
Фонд страхования от несчастного
128
случая
Накладные расходы 12800

33
Амортизация и
1500
эксплуатационные расходы
Налог на имущество 39,6
Общая себестоимость 97967,6

Для определения минимальной цены осуществим расчет по следующей


формуле:
Цм = С · (1 + Нпр) + (С · (1 + Нпр) - МЗ) · НДС. (3.10)
где Нпр – норматив прибыли (10%);
НДС – налог на добавленную стоимость (18%);
МЗ – Материальные затраты, руб.;
С – Себестоимость, руб.
Таким образов получим цену программного средства:
Цм = 97967,6 · (1 + 0,1) + (97967,6 · (1 + 0,1) - 300) · 0,18 = 127107,94 руб.

5.2.4 Оценка результата от использования разработанного ПО


Так как разработка программного продукта выполняется по конкретным
требованиям заказчика, то произведём расчет экономического эффекта при
разработке программного обеспечения по индивидуальному заказу.
В расчетах в качестве цены возьмём рассчитанную ранее по формуле 3.10
минимальную цену для продажи.
Расчет прибыли осуществляется по формуле:
П = Ц – НДС – Зр, (4.1)[12]
где Ц – цена реализации ПО заказчику, руб.;
Зр – сумма расходов на разработку ПО, руб.;
П – прибыль, получаемая организацией-разработчиком от реализации
данного ПО, руб.;
НДС – сумма налога на добавленную стоимость, руб.
Сумма налога на добавленную стоимость в таком случае рассчитывается
по формуле:
Ц  % НДС
НДС  ,
100  %НДС (4.2) [12]

34
где НДС – ставка налога на добавленную стоимость, (18 %).
Если организация-разработчик ПО не освобождена от уплаты налога на
прибыль, тогда следует найти чистую прибыль:
П  Н приб
ЧП  П  ,
100 (4.3)[12]

где Нприб – ставка налога на прибыль, %.


По формуле 4.2, получаем значение НДС:
НДС = (127107,94 · 18%)/(100 + 18%) = 1846,97 руб.
Расчет прибыли осуществляется по формуле 4.1:
П = 127107,94 – 1846,97 – 97967,6 = 27293,37 руб.
Ставка налога на прибыль в 2017 году равна 20%.
Исходя из выше полученных значений по формуле 4.3, рассчитаем чистую
прибыль.
ЧП = 27293,37 – 27293,37 · 0,2 = 21834,7 руб.
В связи с тем, что проектируемая база данных еще не была внедрена в
производственный процесс предприятия, результаты от её использования могут
быть только предположительными.
Предполагается, что использование данного программного средства даст
следующие результаты:
хранение упорядоченной информации;
осуществление защиты от ошибок;
автоматический контроль за датой проведения следующей аттестации.

35
36
Заключение
В ходе выполнения дипломного проекта изучены принципы работы
системы управления базами данных MySql, освоена методика создания баз
данных в интегрированной среде phpmyadmin, изучен язык программирования
PHP.
Итогом работы стала база данных для системы образования городского
округа города Рыбинска, спроектированная с учетом заявленных в техническом
задании требований. Также была оформлена пояснительная записка с
экономическим обоснованием разработки и презентация ВКР.
В результате выполнения поставленной задачи была разработана база
данных.
Таким образом, проведя экономическое обоснование, определили:
время разработки равно 60 дней;
общий фонд оплаты труда – 64000 руб.;
сумма средств материальных затрат – 300 руб.;
затраты на разработку ПО – 97967,6 руб.;
минимальная цена для продажи 127107,94 руб.;
чистая прибыль – 21834,7 руб.
Разработанная база данных полностью отвечает поставленному
техническому заданию и может быть внедрена в промышленную эксплуатацию.

37
Список использованных источников
1. Базы данных [Электронный курс]. URL: http://olkhovoyab.narod.ru
(дата обращения: 17.04.17).
2. Кузнецов С. Д. Введение в реляционные базы данных [Текст]:
профессиональная литература / ИНТУИТ: 2016 – 248 с.
3. Волкова В. Н. Системный анализ информационных комплексов
[Текст]: учебно-методическое пособие / Санкт-Петербург: 2014 – 336 с.
4. Сысоев Э. В., Селезнев А. В. Особенности построения баз данных
[Текст]: учебное пособие / Тамбов: 2012 – 81 с.
5. Медведкова И. Е., Бугаев Ю. В., Чикунов С. В. Базы данных [Текст]:
учебное пособие / Воронеж: 2014 – 105 с.
6. Нильсон, П. Microsoft SQL Server 2005. Библия пользователя
[Текст]: научно-популярное издание / П. Нильсон. – Москва: «Вильямс», 2008. –
1232 с.
7. Клементьева Н. А. Методические указания к выполнению курсовой
работы [Текст]: учебное пособие / Рыбинск: РГАТУ – 25 с.
8. Анализ и выборка проектных решений [Электронный ресурс]. URL:
http://lektsii.org (дата обращения: 17.05.17).
9. Себестоимость промышленной продукции [Электронный ресурс].
URL: http://www.studfiles.ru (дата обращения: 17.05.17).
10. Материальные расходы [Электронный ресурс]. URL:
http://taxpravo.ru (дата обращения: 17.04.2017).
11. Понятие цены. Виды цен [Электронный ресурс]. URL:
http://studopedia.ru (дата обращения: 18.04.2017).
12. Разработка ПО: оценка результата [Электронный ресурс]. URL:
http://itc.ua (дата обращения: 21.04.2017).
13. Экономическая эффективность разработки и внедрения
[Электронный ресурс]. URL: http://allrefrsc.ru (дата обращения: 21.04.2017).
14. Жебраков М. Н. Курс лекций по дисциплине «Системы баз данных»
[Текст]/ М. Н. Жебраков. – Рыбинск: РАК, 2014 – 2015 уч.год.
15. Жебраков М. Н. Методические указания к выполнению ВКР по
специальности 09.02.03 «Программирование в компьютерных системах»
[Текст]: учебное пособие / М. Н. Жебраков. – Рыбинск: РАК, 2014. – 15 с.

38
16. СТП 1.02-01. Стандарт предприятия. Единые требования к работам
студентов. Общие требования к оформлению чертежей, спецификаций и
плакатов / В. А. Стибиков, А. И. Гуревич. – Рыбинск: РАК – 32 с.
17. СТП 2.01-2002. Стандарт предприятия. Единые требования к
работам студентов. Общие требования к оформлению пояснительных записок и
рефератов. Введ. 2002 – 08 – 19 / В. А. Стибиков, А. И. Гуревич. – Рыбинск:
РАК, 2002 – 16 с.
18. Михайлова Э. А. Экономическое обоснование разработки и
производства радиотехнических систем [Текст]: учебное пособие. – Рыбинск :
РГАТА, 1996 – 44 с. : ил.
19. Дюбуа, Поль MySQL; М.: Вильямс; Издание 2-е - Москва, 2004. - c.
20.Кузнецов М., Симдянов И. Объектно-ориентированное
программирование на PHP; БХВ-Петербург - Москва, 2008. - 608 c.

39
Приложение А
Движок сайта
<?php
session_start();
require_once "./admin/config.php";
if (!isset($_GET['id_phmenu']) && !isset($_GET['id_pvmenu'])){ // первый вход или клик по
баннеру
$sql = "SELECT `id_phmenu` FROM `phmenu` WHERE `href` = 'news'";
$res = mysql_query($sql) or die(mysql_error());
$_GET['id_phmenu'] = mysql_result($res,0,'id_phmenu');
$_GET['ext'] = "event";
$_GET['int'] = "news";
if (isset($_GET['id_rban'])){ // клик по
баннеру
$sql = "SELECT DISTINCT `id_phmenu`, `id_pvmenu` FROM `rban` WHERE
`id_rban` =".$_GET['id_rban'];
$res = mysql_query($sql) or die(mysql_error());
$id_phmenu = mysql_result($res,0,'id_phmenu');
$id_pvmenu = mysql_result($res,0,'id_pvmenu');
if ($id_phmenu != NUll || $id_pvmenu != NULL){ // есть привязка
$_GET['id_phmenu'] = $id_phmenu;
$_GET['id_pvmenu'] = $id_pvmenu;
}
}
}
include "./libs/util.php";
?>
<!DOCTYPE HTML>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>Рыбинск Образовательное пространство </TITLE>
<META name="google-site-verification" content="S7Z0b5ZUxh6dDguKNG0LzSJ-hu-
Os5Iu4n6KbrhkcMc" />
<META name="yandex-verification" content="7efaea272868b349" />
<META name="description" content="Сайт системы образования города Рыбинск" />
<META name="keywords" content="Образование, общее образование, образование в
Рыбинске, городской
округ город Рыбинск, школы Рыбинска, детские дома в Рыбинске, дошкольные
учереждения Рыбинска,
дополнительное образование в Рыбинске, проекты" />
<LINK rel="stylesheet" href="./cssd/highslide.css" type="text/css"/>
<LINK rel="stylesheet" href="./cssd/main.css" type="text/css" />
<SCRIPT src="./libs/highslide-full.js"></SCRIPT>
<SCRIPT src="./libs/ext-core.js"></SCRIPT>
<SCRIPT src="./libs/main.js"></SCRIPT>
<SCRIPT>
hs.graphicsDir = "./cssd/graphics/";
hs.outlineType = "rounded-black";

40
hs.wrapperClassName = "draggable-header";
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<DIV id="top">
<TABLE>
<TR>
<TD class="pic1"></TD>
<TD class="top">
<A href="./" title="Главная страница">
<H1 class="toptitle" id="toptitle">Система общего
образования<BR/>городского округа<BR/><SMALL> город Рыбинск</SMALL></H1>
</A>
<UL class="hmenu">
<?php createhmenu("event");
createhmenu("docs");
createhmenu("structure");
?> <LI><A
href="http://rybinsk.ru/admin/departments/obrazovanie/2940-voprosy-dep-obrazovanija"
target="_blank">Форум</A></LI>
<LI><A href="./index.php?
id_page=2">Поиск</A></LI>
</UL>
</TD>
<TD class="pic2"></TD>
</TR>
</TABLE>
</DIV>
<TABLE id="center">
<TR>
<TD>
<UL class="vmenu" >
<?php createvmenu("programm");
createvmenu("inavacion");
createvmenu("fgoc");
createvmenu("ped");
createvmenu("konkyrs");
createvmenu("olimp");
?> <LI><A href="./main/links">Полезные ссылки</A></LI>
</UL>
<DIV class="support" id="calendar">
<?php include("./main/calendar/calendar.php") ?>
</DIV>
<DIV id="bunner">
<?php $sql = "SELECT `id_phmenu` FROM `phmenu` WHERE `href` =
'monit'";
$res = mysql_query($sql) or die(mysql_error());
$id_phmenu = mysql_result($res, 0, 'id_phmenu');
$sql = "SELECT `id_rban`, `addrpic`, `href` FROM `rban`";
$res = mysql_query($sql) or die(mysql_error());
while ($mas = mysql_fetch_assoc($res)){

41
echo "<DIV class='support'><a href='./index.php?
id_rban=".$mas['id_rban']."'><img src='./pic/".$mas['addrpic']."'/></a></DIV>";
}
?> </DIV>
<DIV class="support"><A href="http://mail.rybadm.ru"
target="_blank">
<IMG src="pic/mail.png"></A>
</DIV>
<DIV style="text-align:center">
<!-- Top100 ->
<SCRIPT id="top100Counter" type="text/javascript"
src="http://counter.rambler.ru/top100.jcn?2552450"></SCRIPT>
<NOSCRIPT>
<A href="http://top100.rambler.ru/navi/2552450/">
<IMG
src="http://counter.rambler.ru/top100.cnt?2552450"/>
</A>
</NOSCRIPT>
<!--/Top100 ->
<!-- rybinsk.ru ->
<A title="Рыбинск" href="http://rybinsk.ru/">
<IMG src="http://rybinsk.ru/images/stories/ikons/but-
ryb.gif" alt="Рыбинск" />
</A>
<!-- /rybinsk.ru -->
</DIV>
</TD>
<TD>
<DIV id='content'>
<?php if(isset($_GET['id_rban'])){
$id_rban = $_GET['id_rban'];
$sql = "SELECT `href` FROM `rban` WHERE
`id_rban` = $id_rban";
$res = mysql_query($sql) or die(mysql_error());
$href = mysql_result($res,0,'href');
include "./main/$href/index.php";
}else if(isset($_GET['id_page'])){
$id_page = $_GET['id_page'];
$sql = "SELECT `href` FROM `page` WHERE
`id_page` = $id_page";
$res = mysql_query($sql) or die(mysql_error());
$href = mysql_result($res,0,'href');
include "./main/$href/index.php";
}else{
include "./main/".$_GET['ext']."/".
$_GET['int']."/index.php";
}
?> </DIV>
</TD>
</TR>
</TABLE>
<DIV id="bottom">

42
<HR/>
<P align="center">
<DIV class="support1"><A href="http://www.edu.ru" target="_blank"><IMG
src="./pic/federal.jpg"></A></DIV>
<DIV class="support1"><A href="http://mon.gov.ru" target="_blank"><IMG
src="./pic/minobr.jpg"></A></DIV>
<DIV class="support1"><A href="http://www.apkpro.ru" target="_blank"><IMG
src="./pic/apkpro.jpg"></A></DIV>
<DIV class="support1"><A href="http://www.iro.yar.ru" target="_blank"><IMG
src="./pic/iro.jpg"></A></DIV>
<DIV class="support1"><A href="http://www.rybmuseum.ru"
target="_blank"><IMG src="./pic/rybmus.jpg"></A></DIV>
<DIV class="support1"><A href="http://Персональныеданные.дети"
target="_blank"><IMG src="./pic/pd.jpg"></A></DIV>
</P>
&copy; Департамент образования городского округа город Рыбинск, 2009-
2017<BR/>
&copy; МУ ДПО "Информационно-образовательный Центр", Рыбинск, 2009-
2017<BR/>
Тех. поддержка:<A href="./main/ioc/" class='gllink' title="переход к странице МУ
ДПО ИОЦ"> МУ ДПО "Информационно-образовательный Центр"</A>
<BR/>тел.:(4855) 24-30-61 e-mail: <A class='gllink'
href="mailto:ksw08@rambler.ru" id="mail">ksw08@rambler.ru</A>
</DIV>
</CENTER>
</BODY>
</HTML>
<?php
require_once "./admin/close.php";
?>

43
Приложение Б
Скрипт авторизации
<!DOCTYPE html>
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=windows-1251" />
<TITLE>Вход в редактор сообщений (авторизация)</TITLE>
<LINK rel="stylesheet" type="text/css" href="../cssd/main.css" />
</HEAD>
<BODY class="adminaction" >
<DIV align="center">
<TABLE>
<TR>
<TD class="headerform">
<P class="nameaction"><?php echo "Вход панель администратора (авторизация)"; ?></P>
</TD>
</TR>
<TR>
<TD class="bodyform">
<TABLE>
<FORM action="whois.php" method="post">
<TR>
<TD><P class="fieldname">Пароль:</P></TD>
<TD><INPUT id="pass" class="input" type="password" name="pass" maxlength="100" size="50"
autofocus/></TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD><INPUT class="butt" type="submit" value="Войти" /></TD>
</TR>
</FORM>
</TABLE>
</TD>
</TR>
</TABLE>
</DIV>
</BODY>
</HTML>

44
Приложение В
Скрипт панели администрирования
<?php
session_start();
if (!$_SESSION['login']) { header("Location: index.php"); exit; }
require("./config.php") ;
?>
<!DOCTYPE html>
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK rel="stylesheet" type="text/css" href="../cssd/main.css"/>
</head>
<BODY>
<h3 class="ra">Панель администратора</h3>
<table border="1" width="50%" align="center" style="margin-bottom: 50px">
<tr><th>Горизонтальное меню <a href="./ctrl/feditm.php?menu=h">edit</a></th></tr>
<?php
$sql = "SELECT `id_hmenu`, `href`, `name` FROM `hmenu`" ;
$res = mysql_query($sql) ;
while ($mas = mysql_fetch_assoc($res)) {
if (substr($mas['href'],0,5) == "http:") continue;
echo"<tr><tdclass='pnl'><a href='./ctrl/hmenu.php?id_hmenu=".$mas['id_hmenu']."'>".
$mas['name']."</a></td></tr>" ;
}
?>
<tr><th>Вертикальное меню <a href="./ctrl/feditm.php?menu=v">edit</a></th></tr>
<?php
$sql = "SELECT `id_vmenu`, `name` FROM `vmenu`" ;
$res = mysql_query($sql) ;
while ($mas = mysql_fetch_assoc($res)) {
echо"<tr><tdclass='pnl'><a href='./ctrl/vmenu.php?id_vmenu=".$mas['id_vmenu']."'>".
$mas['name']."</a></td></tr>" ;
}
?>
<tr><th>Баннеры <a href="./ctrl/feditm.php?menu=b">edit</a></th></tr>
<?php
$sql = "SELECT DISTINCT
rb.`id_rban` id_rban,
rb.`addrpic` addrpic,
rb.`title` title,
rb.`href` href,
rb.`link` link,
cont.`id_phmenu` id_phmenu,
cont.`id_pvmenu` id_pvmenu,
phm.`name` nameh,
pvm.`name` namev
FROM `rban` rb
LEFT JOIN `contain` cont

45
ON rb.`id_rban` = cont.`id_rban`
LEFT JOIN `phmenu` phm
ON phm.`id_phmenu` = cont.`id_phmenu`
LEFT JOIN `pvmenu` pvm
ON pvm.`id_pvmenu` = cont.`id_pvmenu`";
$res = mysql_query($sql) or die(mysql_error());
while ($mas = mysql_fetch_assoc($res)) {
echo "<tr>
td class='ban pnl'>";
if (!$mas['link']){
echo "<a href='./ctrl/bmenu.php?id_rban=".$mas['id_rban']."'>";
}
echo "<img src='../pic/".$mas['addrpic']."' height='30' width='100'/>";
if (!$mas['link']){
echo "</a>&nbsp;";
}
if ($mas['nameh'] || $mas['namev']){
$s = $mas['nameh']." ".$mas['namev'];
}else{
$s = "нет";
}
echo "<span>Файл: ".$mas['addrpic']." Привязка: $s </span></td></tr>";
}
?>
<tr><th>Свободные файлы <a href="./ctrl/feditm.php?menu=p">edit</a></th></tr>
<?php
$sql = "SELECT DISTINCT
p.`id_page`,
p.`href`
FROM `page` p
JOIN `contain` c
ON p.`id_page` = c.`id_page`";
$res = mysql_query($sql) or die(mysql_error());
while ($mas = mysql_fetch_assoc($res)) {
echo"<tr><tdclass='pnl'><a href='./ctrl/pmenu.php?id_page=".$mas['id_page']."'>".
$mas['href']."</a></td></tr>" ;
}
?>
</table>
</BODY>
</html>
<?php require("./close.php") ?>

46
Приложения Г
Скрипт редактирование меню
<?php
session_start();
if (!$_SESSION['login']) { header("Location: ../index.php"); exit; }
require_once("../config.php");
?>
<!DOCTYPE html>
<HTML>
<HEAD><LINK rel="stylesheet" href="../../cssd/main.css" type="text/css" /></HEAD>
<BODY>
<?php
$id_contain = $_GET['id_contain'];
$id_phmenu = $_GET['id_phmenu'];
$sql = "SELECT `main`, `name`, `spoller`
FROM `phmenu`
JOIN `contain`
ON `phmenu`.`id_phmenu` = `contain`.`id_phmenu`
WHERE `id_contain` = $id_contain";
$res = mysql_query($sql);
$main = mysql_result($res,0,'main');
$s = mysql_result($res,0,'name');
$spoller = mysql_result($res,0,'spoller');
echo "<h3 class='ra'>Редактирование \"$s\"</h3>";
?>
<FORM action="edit.php" method="post" >
<table width="80%" align="center">
<tr>
<td colspan="2" align="right"><a href="../ctrl/hmenu.php?id_phmenu=<?php echo $id_phmenu; ?
>">назад</a></td>
</tr>
<tr>
<td colspan="2">
Название споллера: <input type="text" name="spoller" size="110" value="<?php echo $spoller ?
>"/>
<textarea rows="30" cols="120" name="edit"><?php echo trim($main);?>
</textarea></td>
</tr><tr>
<td><input type="submit" value="Сохранить"></td>
<td align="right"><a href="../ctrl/hmenu.php?id_phmenu=<?php echo $id_phmenu; ?
>">назад</a></td></tr>
</table>
<input type="hidden" name="id_phmenu" value="<?php echo $id_phmenu; ?>"/>
<input type="hidden" name="id_contain" value="<?php echo $id_contain; ?>"/>
</FORM>
</BODY>
</HTML>

47
Приложения Д
Скрипт редактирование баннера
<?php
session_start();
if (!$_SESSION['login']) { header("Location: ../index.php"); exit; }
require_once("../config.php");
$id_rban = $_GET['id_rban'];
$sql = "SELECT `id_rban`, `addrpic`, `title`, `href`, `link` FROM `rban` WHERE `id_rban` =
$id_rban";
$res = mysql_query($sql);
$addrpic = mysql_result($res,0,'addrpic');
$title = mysql_result($res,0,'title');
$href = mysql_result($res,0,'href');
?>
<!DOCTYPE html>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK rel="stylesheet" href="../../cssd/main.css" type="text/css" />
</HEAD>
<BODY>
<H3 class="ra">Редактор <img src='<?php echo "../../pic/".$addrpic ?>'/></H3>
<TABLE align="center">
<TR><td align="center">
<FORM method="post" action="spath.php">
<INPUT type="hidden" name="id_rban" value='<?php echo $id_rban ?>'/>
Путь к папке баннера: <INPUT type="text" size="30" name= "href" value='<?php echo $href ?
>'/>
<INPUT class="button" type="submit" value="Сохранить"/>
</FORM>
</TD></TR>
</TABLE>
<TABLE border="1" width="80%" align="center" rules="groups" frame="void">
<COLGROUP/><COLGROUP/>
<TR> <TD></TD></TR><TR>
<TD><a href="../ctrl/faddcban.php?id_rban=<?php echo $id_rban ?>">добавить</a></TD>
<TD align="right"><a href="../admin.php">назад</a></TD>
</TR>
<THEAD>
<TR>
<th>Содержание</th>
<th width="120">Действие</th>
</TR>
</THEAD>
<TBODY>
<TR>
<TD colspan="2"><h3 class="ra"><?php echo $title ?></h3></TD>
</TR>
</TBODY>
<?php
$sql = "SELECT `id_contain`, `main`, `spoller` FROM `contain` WHERE `id_rban` = $id_rban";
48
$res = mysql_query($sql);
while ($mas = mysql_fetch_assoc($res)) {
echo "
<TBODY>
<TR>
<TD>".$mas['spoller']."<BR/>".$mas['main']."</TD>
<TD>
<a href='../ctrl/feditban.php?id_contain=".
$mas['id_contain']."&id_rban=$id_rban'>редактировать</a><br>
<a href='../ctrl/delcban.php?id_contain=".$mas['id_contain']."&id_rban=$id_rban'>удалить</a>
</TD>
</TR>
</TBODY>";
}
?><TR>
TD><A href="../ctrl/faddcban.php?id_rban=<?php echo $id_rban ?>">добавить</A></TD>
<TD align="right"><a href="../admin.php">назад</a></TD>
</TR>
</TABLE>
</BODY>
</HTML>
<?php
require_once("../close.php");
?>

49
Приложения Е
Скрипт CSS
/* Горизонтальное меню */
.hmenu, .hmenu li a{
list-style: none;
padding: 0px;
margin: 0px;
font: bold 12px sans-serif;
border-radius: 3px;
box-shadow: 0px 0px 0px 2px MediumSeaGreen ;
}
.hmenu{
width: 127px;
margin: 0px 0px 0px 3px
}
.hmenu > li{
width: 127px;
text-align: center;
}
.hmenu{
background: #fdeaa8;
padding: 3px;
width: 635px;
height: 16px;
}
.hmenu > li{
float: left;
}
.hmenu ul {
list-style: none;
padding: 0px;
margin: 0px;
font: bold 12px sans-serif;
text-align: left;
}
.hmenu li ul {
display: none;
position: absolute;
margin-left: 15px

}
.hmenu li a {
display: block;
height: 15px;
padding: 0px 5px;
text-decoration: none;
color: black;
background: #4f9571;
background: -webkit-radial-gradient(center, ellipse cover, #4f9571; 50%, #ddd);

50
background: -moz-radial-gradient(center, ellipse cover, #4f9571 40%, #ddd);
background: -o-radial-gradient(center, ellipse cover, #4f9571 50%, #ddd);
background: -ms-radial-gradient(center, ellipse cover, #4f9571 50%, #ddd);
}
.hmenu li a:hover {
color: #ffa;
box-shadow: 0px 0px 6px 3px #4f9571;
background: #4f9571;
background: -webkit-radial-gradient(center, ellipse cover, #555, #999);
background: -moz-radial-gradient(center, ellipse cover, #555, #999);
background: -o-radial-gradient(center, ellipse cover, #555, #999);
background: -ms-radial-gradient(center, ellipse cover, #555, #999);
}
.hmenu li a:active{
color: #ef7a04;
box-shadow: 0px 0px 15px 5px #4f9571;
}
.hmenu li:hover ul {
display: block;
}
/* Вертикальное меню */
.vmenu {
max-width: 195px;
list-style: none;
padding: 0px;
margin: 0px;
background: #fdeaa8;
padding: 3px;
border-radius: 3px;
box-shadow: 0px 0px 0px 2px MediumSeaGreen;
}
.vmenu ul {
width: 190px;
list-style: none;
padding: 0px;
margin: 0px;
font: bold 12px sans-serif;
text-align: left;
}
.vmenu li ul {
position: absolute;
display: none;
margin-left: 190px;
margin-top: -15px;
}
.vmenu li
{
height: 17px;
}
.vmenu li a {
display: block;
width: auto;

51
padding: 0px 5px;
text-decoration: none;
color: black;
border-radius: 5px;
font: bold 12px sans-serif;
box-shadow: 0px 0px 0px 2px #4f9571;
background: #4f9571;
background: -webkit-radial-gradient(center, ellipse cover, #4f9571 50%, #ddd);
background: -moz-radial-gradient(center, ellipse cover, #4f9571 50%, #ddd);
background: -o-radial-gradient(center, ellipse cover, #4f9571 50%, #ddd);
background: -ms-radial-gradient(center, ellipse cover, #4f9571 50%, #ddd)
}
.vmenu li a:hover {
color: #ffa;
box-shadow: 0px 0px 5px 2px #4f9571;
background: #4f9571;
background: -webkit-radial-gradient(center, ellipse cover, #555, #999);
background: -moz-radial-gradient(center, ellipse cover, #555, #999);
background: -o-radial-gradient(center, ellipse cover, #555, #999);
background: -ms-radial-gradient(center, ellipse cover, #555, #999);
}
.vmenu li a:active{
color: #ef7a04;
box-shadow: 0px 0px 15px 5px #4f9571;
}
.vmenu li:hover ul {
display: block;
}

52
Приложение Ж
Руководство оператора

1 Назначение программы
Программа предназначена для сопровождения системы образования
городского округа города Рыбинск
2 Установка программы
Данная система имеет в основе язык программирования PHP. Данный
язык невозможно воспроизвести в браузере, для этого требуется сервер. Будет
использоваться локальный веб-сервер. Его можно создать с помощью
программного обеспечения – Denwer. Очень распространённый набор
требуемых модулей для поднятия локального сервера (Официальный сайт:
http://denwer.ru). Установка с диска – файл Denwer3_Base_PHP52_2012-09-
16_a2.2.22_p5.2.12_zendoptimizer_m5.5.25_pma3.5.1_xdebug.exe.
После установки на рабочем столе появятся значки:
Run - запустить
Stop - остановить
Restart –перезапустить
Выполнить Run. На компакт диске будут расположены файлы системы и
дамп базы данных. В директорию <денвер>/home скопировать папку «diplom» с
компакт диска.
Экспортировать в базу данных дамп БД. Для этого после запуска
http://localhost/tools/phpmyadmin создать базу данных под названием «edu» на
рисунке 2.1
Скопировать содержимое файла edu.sql во вкладку SQL и выполнить
кнопкой ОК.
Для правильной работы необходимо установить браузер FirefoxSetup.exe,
который находиться на компакт диске.

53
Рисунок 2.1 – phpmyadmin
Система готова к работе. При вызове в адресной строку http://diplom/admin/
откроется панель администратора рисунок 2.2.

Рисунок 2.2 – Панель администратора


При нажатии ссылки edit меню вызывается редактор их заголовков на
рисунке 2.3

54
Рисунок 2.3 – Редактор заголовков
При вызове любого меню появляется его редактор на рисунок 2.4.

Рисунок 2.4 – Редактор содержимого


При вызове edit баннеров отрывается редактор привязки на рисунке 2.5

55
Рисунок 2.5 – Редактор привязки баннеров

При вызове любого баннера появляется его редактор на рисунок 2.6

Рисунок 2.6 – Редактор баннеров


При вызове edit свободных страниц отрывается редактор привязки рисунок 2.7

Рисунок 2.7 – Редактор привязки свободных страниц

3 Сообщения оператору

56
При не удачном подключения к серверу или к базе днных могут произойти
сообщения
die("В настоящий момент сервер базы данных не доступен, поэтому
корректное отображение страницы невозможно.");
die( "В настоящий момент база данных не доступна, поэтому корректное
отображение страницы невозможно." )
Остальные сообщения являются стандартными сообщениями MySql
die(mysql_error());

57
Приложение З
Акт испытаний программного продукта

Объектом испытаний является система образования городского округа


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

Руководитель проекта ____________________


(подпись)

Тестирование проведено «____»___________20__г.

_____________________
(подпись студента)

58