Программный комплекс обеспечения пропускного режима в организации
Обзор существующих систем электронного доступа. Описание структуры программного обеспечения. Анализ модуля работы с базой данных. Работа с интерфейсом администратора и менеджера. Средства защиты информации на сервере. Особенность хеширования паролей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.10.2018 |
Размер файла | 4,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Продолжительность непрерывной работы с ВДТ без регламентированного перерыва не должна превышать 1 ч.
При работе с ПЭВМ в ночную смену (с 22 до 6 ч), независимо от категории и вида трудовой деятельности, продолжительность регламентированных перерывов следует увеличивать на 30%.
Во время регламентированных перерывов с целью снижения нервно- эмоционального напряжения, утомления зрительного анализатора, устранения влияния гиподинамии и гипокинезии, предотвращения развития позотонического утомления целесообразно выполнять комплексы упражнений.
5. ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ
5.1 Возможности для исследований
Система электронных карт доступа не только облегчает пропускной контроль на территории фитнес-центра, но и ведет различную статистику, которая может быть использована для решения управленческих задач фитнес-центра:
- инвентаризация;
- соблюдение норм по снижению травматизма;
- составление маркетингового плана;
- планирование бюджета на маркетинг;
- формирование отчетов;
- расчет себестоимости 1 привлеченного клиента;
- реклама на дисплеях в залах;
- «ре-маркетинг» старых посетителей.
5.2 Пик дневной посещаемости
В таблице 5.1 представлена выборка по посещаемости фитнес-центра за последние 15 дней. На базе результатов работы информационной системы был построен график средней ежедневной посещаемости фитнес центра (рисунок 5.1).
Рисунок 5.1 - График средней ежедневной посещаемости
Как видно на графике, пик количества посетителей, одновременно находящихся на территории фитнес-центра, приходится на 19 часов вечера и составляет 483 человека. Такое распределение количества посетителей не случайно и включает в себя несколько вех (ключевых точек):
- утром все приходят заниматься спортом до работы и учебы;
- днем, в обеденное время, также наблюдается всплеск посещаемости;
- в середине рабочего дня количество посетителей минимально;
- в 18 часов и позднее приезжает огромное количество людей после учебы и работы.
Полученные данные позволяют понять, что на данном этапе требуется обслуживать параллельно не более 500 клиентов. Компания-оператор фитнес-центра проверяет наличие 500 полотенец, 500 гардеробных ящиков, 500 браслетов и т.д. Тем самым компания может прогнозировать и предупреждать ситуации с нехваткой того или иного спортивного инвентаря.
Эти данные также позволяют вести планирование и управление, учитывая нормы по снижению травматизма, установленные для этого заведения на уровне 1100 человек за сеанс.
Помимо общего количества посетителей в момент времени я сформировал график динамики посетителей, то есть количество пришедших и количество покинувших центр посетителей за каждый час (рисунок 5.2).
Таблица 5.1 - Количество посетителей за период 15 дней
T |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
СР ЕД |
|
9 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- |
|
10 |
148 |
152 |
135 |
128 |
175 |
199 |
123 |
167 |
189 |
200 |
171 |
174 |
171 |
184 |
164 |
165 |
|
11 |
150 |
184 |
155 |
143 |
199 |
205 |
245 |
212 |
203 |
200 |
216 |
234 |
244 |
201 |
229 |
201 |
|
12 |
173 |
177 |
160 |
153 |
200 |
224 |
148 |
192 |
214 |
225 |
196 |
199 |
196 |
209 |
189 |
190 |
|
13 |
258 |
262 |
245 |
238 |
285 |
309 |
233 |
277 |
299 |
310 |
281 |
284 |
281 |
294 |
274 |
275 |
|
14 |
212 |
216 |
199 |
192 |
239 |
263 |
187 |
231 |
253 |
264 |
235 |
238 |
235 |
248 |
228 |
229 |
|
15 |
134 |
138 |
121 |
114 |
161 |
185 |
109 |
153 |
175 |
186 |
157 |
160 |
157 |
170 |
150 |
151 |
|
16 |
121 |
125 |
108 |
101 |
148 |
172 |
96 |
140 |
162 |
173 |
144 |
147 |
144 |
157 |
137 |
138 |
|
17 |
170 |
174 |
157 |
150 |
197 |
221 |
145 |
189 |
211 |
222 |
193 |
196 |
193 |
206 |
186 |
187 |
|
18 |
286 |
290 |
273 |
266 |
313 |
337 |
261 |
305 |
327 |
338 |
309 |
312 |
309 |
322 |
302 |
303 |
|
19 |
466 |
470 |
453 |
446 |
493 |
517 |
441 |
485 |
507 |
518 |
489 |
492 |
489 |
502 |
482 |
483 |
|
20 |
227 |
231 |
214 |
207 |
254 |
278 |
202 |
246 |
268 |
279 |
250 |
253 |
250 |
263 |
243 |
244 |
|
21 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- |
Рисунок 5.2 - Динамика посещаемости
Также мной было выявлено среднее время пребывания в фитнес-центре, оно составило:
Tсред = 114 минут = 1 час 54 минуты
5.3 Реклама на дисплеях
Фитнес-центр оборудован большим количеством дисплеев, на которых мы решили показывать рекламу. Однако я пошел дальше и использовал метод таргетированной рекламы [15] (англ. targeting - наведение, цель). Метод основан на интеллектуальном принятии решения о том, какая реклама будет показана на дисплее в данный момент времени. Решение зависит исходя из понятий релевантности и структуры целевой аудитории.
Приведу пример: если мы знаем, что в данный момент времени в зале находятся молодые люди, которые занимаются наращиванием мышц - мы предлагаем им купить протеины и другие вещества для роста мышц.
Я разбил всю аудиторию на 2 части по половому признаку (мужчины и женщины) и еще на 2 части по возрастному признаку (молодежь 7-25 лет, взрослые от 25 лет). Таким образом я получил 4 категории людей (таблица 5.2).
Таблица 5.2 - Типы посетителей
Критерий |
Мужчины |
Женщины |
|
Молодежь |
ММ |
МЖ |
|
Взрослые |
ВМ |
ВЖ |
По данным исследований третьих лиц были выявлены базовые потребности для каждой группы:
1) Молодые мужчины (ММ) приходят в фитнес центр для набора массы, наращивания и придания рельефа мышцам), для аэробных упражнений по тренировке дыхательной системы.
Решение: такой аудитории система показывает: рекламу сухих порошков и смесей для роста мышц, протеины и витамины, спортивные напитки; рекламу записи к индивидуальному тренеру; рекламу записи в зал борьбы.
2) Взрослые мужчины (ВМ) занимаются кардио-упражнениями и упражнениями по укреплению мышц и суставов.
Решение: для них система выбирает рекламу сиропов для суставов, предлагает купить карсет и прочее дорогостоящее спорт-оборудование.
3) Молодые женщины (МЖ) работают на соблюдение стройной фигуры.
Решение: система показывает рекламы по записи на кружок шейпинга и аэробики.
4) Взрослые женщины (ВЖ) занимаются поддержанием стройной фигуры, сбрасывают лишний вес.
Решение: показывать им рекламу чаев и коктейлей для похудения, рекламу витаминов; рекламу записи на аква-аэробику; рекламу по продаже спортивного женского инвентаря.
Результат: такое решение повышает продажи (смесей, напитков, порт инвентаря), стимулирует спрос на запись (к тренеру, запись на борьбу, групповые и индивидуальные шейпинг тренинги). Все это повышает коммерческую эффективность предприятия.
Система выбирает, какую рекламу или серию рекламных слайдов показывать, исключительно основываясь на входных данных о текущих посетителях. Ниже представлен график (рисунок 5.3) распределения типов посетителей за день в целом, а также любопытный график распределения типов посетителей по часам (рисунок 5.4), сформированный на произвольную дату.
Рисунок 5.3 - Распределение посещений по группам посетителей за день
Ре-маркетинг (англ. re-marketing, reintroduce product, reignite interest) - новый термин, обозначающий только внедряющуюся в России технологию повторного привлечения бывших клиентов.
Схема работы: менеджер формирует отчет, выбирает только клиентов, чье действие абонемента уже закончилось, обзванивает таких клиентов, сообщая о старте новых услуг, либо о сезонных акциях на запись в фитнес-центр. Так как люди уже занимались спортом в данном фитнес-центре, есть большой шанс заинтересовать их, предложив скидку.
Рисунок 5.4 - Распределение посещений по группам посетителей по часам
5.4 Ре-маркетинг бывших клиентов
Расчет стоимости привлечения 1 клиента - очень важный показатель в оценке эффективности рекламной кампании или маркетингового плана в целом.
В системе имеется возможность получать данные о динамике регистраций по дням, неделям и месяцам. Зная дату начала рекламной кампании и дату ее завершения, а также зная общее количество регистраций новых карточек абонементов, можно рассчитывать стоимость привлечения каждого по формуле:
Cпк = Cрк / Nрег ,
5.5 Расчет стоимости привлечения клиентов
где Спк - затраты на привлечение 1 нового клиента;
Срк - затраты на проведение рекламной кампании;
Nрег - количество регистраций за период действия рекламной кампании.
На данный момент собранных данных недостаточно для расчета стоимости привлечения клиента. Поэтому далее приведу предполагаемый сценарий расчета эффективности маркетинга (рисунок 5.5) и распределение регистраций по типам рекламы (рисунок 5.6).
Исходя из полученных данных на 5 месяцев исследований можно сделать вывод, что затраты на аренду уличного баннера неоправданы. Что интернет-реклама наиболее эффективна по привлечению людей не только проживающий в районе фитнес-центра, но и людей, кто работает в этом районе.
Рисунок 5.5 - Предполагаемый график привлечения новых клиентов разными способами рекламы
Рисунок 5.6 - Распределение привлеченных новых клиентов по рекламным кампаниям
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1) Леоненков, А.В. Самоучитель UML [Текст] : пособие по разработке / А.В. Леоненков -- 2-е изд., пер. и доп. - СПб.: БХВ-Петербург, 2004. - 432 с.
2) Дерябкин, В.П. Проектирование информационных систем и программных комплексов [Текст] : Методические указания по оформлению курсовых и дипломных проектов / В.П. Дерябкин, Самарский. гос. арх.-строит. ун-т. / Самара, 2009. 74 с.
3) Олифер, В.Г. Компьютерные сети. Принципы, технологии, протоколы [Текст] : Учебное пособие / В.Г. Олифер, Н.А. Олифер -- Изд-во Питер, 2010. -- 943 c.
4) Система стандартов безопасности труда: [Сборник]. - М.: Изда-тельство стандартов, 2002. - 102 с.
ПРИЛОЖЕНИЕ
Руководство пользователя
Министерство образования и науки РФ
ФГБОУ ВПО «Самарский государственный архитектурно-строительный университет»
Факультет информационных систем и технологий
Кафедра прикладной математики и вычислительной техники
УТВЕРЖДАЮ |
||||||
Зав. кафедрой ПМиВТ (подпись) С.А.Пиявский |
Программный комплекс обеспечения пропускного режима в организации
Руководство администратора
02068389.40100.005.И3.01.1-1
Руководитель разработки
(подпись) С.А. Пиявский
Студент группы ГИП-108
(подпись) И.М. Афанасьев
А.1 Введение
А.1.1 Область применения
Разработанная информационная система электронных карт доступа предназначена для обеспечения пропуска по электронным магнитным картам доступа в фитнес-центр.
А.1.2 Краткое описание возможностей
Информационная система электронных карт доступа позволяет вести справочники абонементов, типов абонементов, площадок пользователей, групп пользователей, вести учет посещений, а так же формировать отчеты о посещаемости на выбранную дату.
А.1.3 Уровень подготовки пользователей
Пользователь информационной системы электронных карт доступа должен иметь опыт работы с ОС Linux, навык работы с браузером Firefox или любым другим браузером, а так же обладать следующими знаниями:
- знать соответствующую предметную область;
- знать и иметь навыки работы с аналитическими приложениями.
Квалификация пользователя должна позволять:
- вести полный список справочников системы;
- осуществлять анализ данных.
А.2 Назначение и условие применения
Разработанная информационная система предназначена для обеспечения пропуска по электронным магнитным картам доступа в фитнес-центр. Система гарантированно будет функционировать на ПК с конфигурацией указанной в пункте 1.9.5 первой главы. Так же необходимо постоянное Интернет-соединение.
А.3 Подготовка к работе
А.3.1 Необходимое программное обеспечение
Для работы с информационной системой электронных карт доступа необходимо следующее программное обеспечение:
- операционная система Linux;
- Forefox или любой другой Интернет-браузер.
А.3.2 Порядок проверки работоспособности
Открыть браузер Firefox. Для этого необходимо кликнуть по ярлыку «Firefox» на рабочем столе;
Убедиться, что в окне открылась информационная система электронных карт доступа.
А.4 Выполняемые функции и задачи
А.4.1 Описание операций
Информационная система электронных карт доступа выполняет функции и задачи, приведенные в таблице А.1.
Таблица А.1 - Функции и задачи, выполняемые системой
Функции |
Задачи |
Описание |
|
Формирование отчетов о посещаемости на дату |
Формирование отчета. |
Позволяет формировать отчеты на заданную дату. |
|
Ведение терминала |
Учет посещений фитнес-центра. |
Позволяет вести учет текущих посещений, фиксируя время начала и завершения посещения, площадку и ID пользователя. |
|
Продолжение таблицы А.1 |
|||
Ведение справочников. |
Ведение всевозможных справочников. |
Ведение справочников системы предоставляет пользователю добавлять удалять и изменять все данные в системе для стабильной работы системы, а так же ее улучшения. |
|
Связь клиент-тип абонемента |
Присваивать клиенту тип абонемента |
Данная операция позволяет присваивать клиенту тип абонемента. |
А.4.2 Описание операций технологического процесса обработки данных, необходимых для выполнения задач
A.4.2.1 Вход в систему
Для того чтобы войти в информационную систему, нужно пройти авторизацию, страница авторизации представлена на рисунке А.1.
В зависимости от того, под какими правами вы авторизуетесь:
- администратор;
- менеджер;
вы попадёте в тот или иной интерфейс системы.
А.4.2.2 Работа с интерфейсом администратора
Интерфейс администратора изображён на рисунке А.2. В его рамки входит редактирование справочников: абонементов, типов абонементов, площадок. Работа по настройке системы. На странице имеется главное меню с пунктами «Файловый менеджер», «Справочники», «Система», «Пользователи», «Выйти».
Рисунок А.1 - Страница авторизации системы
Рисунок А.2 - Интерфейс администратора
А.4.2.3 Работа со справочниками
Администратору открыт доступ для редактирования всех справочников системы: справочник типов абонементов, справочник площадок (рисунок А.3). А также формы добавления новых площадок (рисунок А.4).
Рисунок А.3 - Список площадок
Рисунок А.4 - Добавление новой площадки
А.4.2.4 Работа с пользователями
Администратор также имеет возможность работать с пользователями системы. Ему доступен список пользователей (рисунок А.5), форма добавления и редактирования новых пользователей (рисунок А.6), а также работа с группами пользователей (рисунок А.7).
Рисунок А.5 - Список пользователей системы
Рисунок А.6 - Форма добавления нового пользователя
Рисунок А.7 - Список типов пользователей
А.5 Аварийные ситуации
Ниже приведен список возможных аварийных ситуаций (таблица А.2).
Таблица А.2 - Аварийные ситуации
Класс ошибки |
Ошибка |
Описание ошибки |
Требуемые действия пользователя при возникновении ошибки |
|
Информационная система |
Сервер не найден. Невозможно отобразить страницу |
Возможны проблемы с сетью или с доступом к информационной системе |
Убедиться, что компьютер подключен к сети интернет. Обновить страницу |
|
Ошибка: Неверно введены имя пользователя или пароль |
При авторизации в системе неверно введены данные пользователя |
Ввести корректные имя пользователя и пароль |
||
Ошибка: Обязательное поле |
При вводе данных справочника некоторые поля должны быть обязательно заполнены |
Заполнить соответствующее поле информацией или поставить знак “-” |
||
Сбой в электропитании рабочей станции |
Нет электропитания рабочей станции или произошел сбой в электропитании. |
ПК выключился или перезагрузился |
Перезагрузить ПК. |
Министерство образования и науки РФ
ФГБОУ ВПО «Самарский государственный архитектурно-строительный университет»
Факультет информационных систем и технологий
Кафедра прикладной математики и вычислительной техники
УТВЕРЖДАЮ |
||||||
Зав. кафедрой ПМиВТ (подпись) С.А.Пиявский |
Программный комплекс обеспечения пропускного режима в организации
Руководство менеджера
02068389.40100.005.И3.01.1-1
Руководитель разработки
(подпись) С.А. Пиявский
Студент группы ГИП-108
(подпись) И.М. Афанасьев
А.6 Введение
А.6.1 Область применения
Разработанная информационная система электронных карт доступа предназначена для обеспечения пропуска по электронным магнитным картам доступа в фитнес-центр.
А.6.2 Краткое описание возможностей
Информационная система электронных карт доступа позволяет вести справочники абонементов, типов абонементов, площадок пользователей, групп пользователей, вести учет посещений, а так же формировать отчеты о посещаемости на выбранную дату.
А.6.3 Уровень подготовки пользователей
Пользователь информационной системы электронных карт доступа должен иметь опыт работы с ОС Linux, навык работы с браузером Firefox или любым другим браузером, а так же обладать следующими знаниями:
- знать соответствующую предметную область;
- знать и иметь навыки работы с аналитическими приложениями.
Квалификация пользователя должна позволять:
- вести полный список справочников системы;
- осуществлять анализ данных.
А.7 Назначение и условие применения
Разработанная информационная система предназначена для обеспечения пропуска по электронным магнитным картам доступа в фитнес-центр. Система гарантированно будет функционировать на ПК с конфигурацией указанной в пункте 1.9.5 первой главы. Так же необходимо постоянное Интернет-соединение.
А.8 Подготовка к работе
А.8.1 Необходимое программное обеспечение
Для работы с информационной системой электронных карт доступа необходимо следующее программное обеспечение:
- операционная система Linux;
- Forefox или любой другой Интернет-браузер.
А.8.2 Порядок проверки работоспособности
Открыть браузер Firefox. Для этого необходимо кликнуть по ярлыку «Firefox» на рабочем столе;
Ввести в адресную строку Firefox адрес: http://fitness.deltashadow.com/administrator и нажать «Enter».
Убедиться, что в окне открылась информационная система электронных карт доступа.
А.9 Выполняемые функции и задачи
А.9.1 Описание операций
Информационная система электронных карт доступа выполняет функции и задачи, приведенные в таблице А.3.
Таблица А.3 - Функции и задачи, выполняемые системой
Функции |
Задачи |
Описание |
|
Формирование отчетов о посещаемости на дату |
Формирование отчета. |
Позволяет формировать отчеты на заданную дату. |
|
Ведение терминала |
Учет посещений фитнес-центра. |
Позволяет вести учет текущих посещений, фиксируя время начала и завершения посещения, площадку и ID пользователя. |
|
Продолжение таблицы А.2 |
|||
Ведение справочников. |
Ведение всевозможных справочников. |
Ведение справочников системы предоставляет пользователю добавлять удалять и изменять все данные в системе для стабильной работы системы, а так же ее улучшения. |
|
Связь клиент-тип абонемента |
Присваивать клиенту тип абонемента |
Данная операция позволяет присваивать клиенту тип абонемента. |
А.9.2 Описание операций технологического процесса обработки данных, необходимых для выполнения задач
A.9.2.1 Вход в систему
Для того чтобы войти в информационную систему, нужно пройти авторизацию, страница авторизации представлена на рисунке А.8.
Рисунок А.8 - Страница авторизации системы
В зависимости от того, под какими правами вы авторизуетесь:
- администратор;
- менеджер;
вы попадёте в тот или иной интерфейс системы.
А.9.2.2. Работа с интерфейсом менеджера
Интерфейс менеджера изображён на рисунке А.9. В нем имеется доступ к разделам: «Терминал» и «Отчеты».
Рисунок А.9 - Интерфейс менеджера
А.9.2.3 Работа с терминалом
Терминал - это система, фиксирующая все посещения финтес-центра. Для управления посещаемостью менеджер выбирает пункт меню «Терминал» (рисунок А.10).
Рисунок А.10 - Терминал посещений
Далее менеджер нажимает кнопку «Добавить посещение» и попадает на страницу добавления посещения (рисунок А.11). Система изначально настроена на реальную работу в спортивном центре, поэтому при добавлении посещения автоматически берется текущая дата и время. Это нужно для того, чтобы отслеживать точное время входа посетителя в фитнес-центр.
С помощью кнопки «Закрыть» менеджер может закрывать посещения. При этом будет установлена текущая точная дата выхода человека из фитнес-центра.
На рисунке А.12 показана форма формирования отчетов о посещаемости на заданную дату.
Рисунок А.11 - Форма добавления посещения
Для просмотра списка держателей карт (далее клиентов) нужно выбрать пункт меню «Справочники > Список клиентов» (рисунок А.12). В списке показаны все клиенты в системе а также такая информация, как: ID карточки, имя, фамилия, тип абонемента.
Чтобы добавить нового клиента в систему требуется нажать кнопку «Добавить». Далее откроется форма добавления нового клиента (рисунок А.13).
Рисунок А.12 - Список клиентов
Рисунок А.13 - Форма добавления нового клиента
А.9.2.4 Отчеты
Менеджер может создавать и просматривать всевозможные отчеты, показывающие эффективность работы фитнес-центра, например отчет о посещаемости (рисунок А.14) и отчет по группам клиентов (рисунок А.15), который показывает процентное распределение аудитории предприятия по полу и возрасту.
Рисунок А.14 - Форма формирования отчетов
Рисунок А.15 - Графические отчеты
А.10 Аварийные ситуации
Ниже приведен список возможных аварийных ситуаций (таблица А.4).
Таблица А.4 - Аварийные ситуации
Класс ошибки |
Ошибка |
Описание ошибки |
Требуемые действия пользователя при возникновении ошибки |
|
Информационная система |
Сервер не найден. Невозможно отобразить страницу |
Возможны проблемы с сетью или с доступом к информационной системе |
Убедиться, что компьютер подключен к сети интернет. Обновить страницу |
|
Ошибка: Неверно введены имя пользователя или пароль |
При авторизации в системе неверно введены данные пользователя |
Ввести корректные имя пользователя и пароль |
||
Ошибка: Обязательное поле |
При вводе данных справочника некоторые поля должны быть обязательно заполнены |
Заполнить соответствующее поле информацией или поставить знак “-” |
Листинг основных модулей информационной системы
Б.1 Модуль noxSystem.class
<?php
class noxSystem
{
/**
* Объект управления загрузкой файлов
* @var noxAutoLoader
*/
public static $autoLoader = false;
/**
* Объект управления пользователями
* @var noxUserControl
*/
public static $userControl = false;
/**
* Полный адрес с доменом
*
* @var string
*/
public static $fullUrl = '/';
/**
* Домен запрашиваемого сайта без www
*
* @var string
*/
public static $domain = '';
/**
* Весь URL запрос с параметрами
*
* @var string
*/
public static $requestUrl = '/';
/**
* Путь к файлу/папке из URL без параметров
*
* @var string
*/
public static $requestPath = '/';
/**
* Адрес, где расположен движок
*
* @var string
*/
public static $baseUrl = '';
/**
* Адрес модуля из главного маршрутизатора
*
* @var string
*/
public static $moduleUrl = '/';
/**
* Корневая папка модуля
*
* @var string
*/
public static $moduleFolder = '/';
/**
* Адрес действия во внутреннем маршрутизаторе
*
* @var string
*/
public static $actionUrl = '/';
/**
* Массив параметров
*
* @var array
*/
public static $params = array();
/**
* Массив элементов строки запроса
*
* @var string
*/
public static $urlArray = array();
/**
* Ajax запрос?
*
* @var bool
*/
public static $ajax = false;
/**
* Безопасный запрос
*
* Если пользователь пришел с этого же сайта, то безопасный
*
* @var bool
*/
public static $safeReferer = false;
/**
* Имя темы для вывода
* @var string
*/
public static $theme = '';
/**
* Папка темы для вывода
* @var string
*/
public static $themeFolder = '';
/**
* Переводит адрес в массив
*
* @param string $url адрес
* @return array
*/
public static function parseUrl($url)
{
//Декодируем URL -> раскладываем на массив ->
//фильтруем пустые элементы -> преобразуем индексы
return array_values(explode('/', trim(urldecode($url), '/')));
}
/**
* Преобразовывает массив в URL
*
* @param array $array массив
* @param int $start номер начального элемента
* @param int $count количество элементов
* @return string строка
*/
public static function buildUrl($array = false, $start = null, $count = null)
{
//Если масссив не задан
if ($array === false)
{
//Берем текущий массив URL
$array = self::$urlArray;
}
//Обрезаем массив
$t = array_slice($array, $start, $count);
//Преобразуем в строку
if (!$t)
{
return '/';
}
else
{
return '/' . implode('/', $t);
}
}
/**
* Запускает весь процесс работы движка
*/
public static function run()
{
//Начинаем отчет времени
$GLOBALS['statistic']['time'] = microtime(true);
$GLOBALS['statistic']['dbQueries'] = 0;
//Устанавливаем настройки PHP
//Отображаем все ошибки
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
//Сессии
ini_set('session.use_cookies', 0);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
//Настройки
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('magic_quotes_gpc', 0);
ini_set('allow_url_include', 0);
//Настройка кодировки
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
//Стандартные заголовки
header("Content-type: text/html; charset=utf-8", true);
try
{
//Загружаем стандартное исключение
require_once(noxRealPath('nox-system/exception/noxException.class.php'));
//Загружаем класс кэширования
require_once(noxRealPath('nox-system/cache/noxSystemCache.class.php'));
//Загружаем автозагрузчик классов
require_once(noxRealPath('nox-system/autoload/noxAutoLoader.class.php'));
//Загружаем класс работы с датами
require_once(noxRealPath('nox-system/date/noxDate.class.php'));
//Автозагрузчик
self::$autoLoader = new noxAutoLoader();
//Загружаем настройки дат
noxDate::updateConfig();
//Задаем локаль по-умолчанию
$config = noxConfig::getConfig();
noxLocale::$locale = $config['defaultLocale'];
//Если не режим отладки
if (!$config['debug'])
{
//Отображаем только ошибки
error_reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
ini_set('display_errors', 1);
}
//Создаем объект управления пользователями
self::$userControl = new noxUserControl();
/****************************
* Чтение URL
****************************/
//Читаем домен
self::$domain = $_SERVER['SERVER_NAME'];
//Base URL
//TODO: Как определяется baseURL
self::$baseUrl = trim(dirname($_SERVER['SCRIPT_NAME']), '\\/');
if (empty(self::$baseUrl))
{
self::$baseUrl = '';
} else
{
self::$baseUrl = '/'.self::$baseUrl;
}
//Берем URL с параметрами
//Если есть параметр url берем с него
self::$requestUrl = self::$requestPath = rtrim(urldecode($_SERVER['REQUEST_URI']), '/');
self::$requestUrl = self::$requestPath = substr(self::$requestUrl, strlen(self::$baseUrl));
if (empty(self::$requestUrl))
{
self::$requestUrl = self::$requestPath = '/';
}
//Полный адрес
self::$fullUrl =
((empty($_SERVER['HTTPS']) || ($_SERVER['HTTPS'] == 'off')) ? 'http://' : 'https://') .
self::$domain .
self::$baseUrl.
self::$requestUrl;
//Получаем URL без параметров
$i = strpos(self::$requestPath, '?');
if ($i > 0)
{
self::$requestPath = '/'.trim(substr(self::$requestPath, 0, $i), '/');
}
//Массив URL
self::$urlArray = self::parseUrl(self::$requestPath);
//Защита от magic quotes
if (@get_magic_quotes_gpc()) {
function stripslashes_gpc(&$value)
{
$value = stripslashes($value);
}
array_walk_recursive($_GET, 'stripslashes_gpc');
array_walk_recursive($_POST, 'stripslashes_gpc');
array_walk_recursive($_COOKIE, 'stripslashes_gpc');
array_walk_recursive($_REQUEST, 'stripslashes_gpc');
}
//Сохраняем GET и POST массивы в параметры
self::$params['get'] = $_GET;
self::$params['post'] = $_POST;
self::$params['requestMethod'] = $_SERVER['REQUEST_METHOD'];
//Ajax запрос?
self::$ajax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
self::$params['ajax'] = self::$ajax;
//Проверяем откуда пришел пользователь
if (isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']))
{
$ref = $_SERVER['HTTP_REFERER'];
$server_add =
((empty($_SERVER['HTTPS']) || ($_SERVER['HTTPS'] == 'off')) ? 'http://' : 'https://').self::$domain;
self::$safeReferer = !(bool)(substr_compare($ref, $server_add, 0, strlen($server_add)));
self::$params['safeReferer'] = self::$safeReferer;
}
//Создаем приложение
$userApplicationPath = noxRealPath('nox-config/application.class.php');
if (file_exists($userApplicationPath))
{
include(noxRealPath('nox-config/application.class.php'));
if (class_exists('application', false))
{
$application = new application();
} else
{
$application = new noxApplication();
}
} else
{
$application = new noxApplication();
}
//Запускаем
$application->run();
//self::$route['statusCode'] = $statusCode;
//_d(self:: getUser());
//_d(self::dump());
//Закрываем все открытые соединения с БД
noxDbConnector::closeAll();
} catch (Exception $e)
{
header("Content-type: text/html; charset=utf-8", true);
print $e;
}
//_d(noxSystem::dump());
//_d($_SERVER);
$GLOBALS['statistic']['time'] = microtime(true)-$GLOBALS['statistic']['time'];
//_d($GLOBALS['statistic']);
}
/**
* Выполняет немедленный переход по адресу и прекращает выполнение скриптов
*
* @param string $url адрес для перехода
* @param string $str сообщение о перенаправлении
*/
public static function location($url = '', $str = "Перенаправление...")
{
if ($url == '')
{
$url = self::$fullUrl;
} elseif (is_array($url))
{
$url = self::$baseUrl . '/' . implode('/', $url);
} else
{
if ($url[0] == '/')
{
$url = self::$baseUrl . $url;
}
}
header("Location: " . $url);
exit($str);
}
/**
* Выполняет немедленный переход на предыдущую страницу и прекращает выполнение скриптов
*
* @param string $str сообщение о перенаправлении
*/
public static function locationBack($str = "Перенаправление...")
{
$url = self::$fullUrl;
if (empty($_SERVER['HTTP_REFERER']) or ($_SERVER['HTTP_REFERER'] == ($url)))
{
self::location('/', $str);
} else
{
self::location($_SERVER['HTTP_REFERER'], $str);
}
}
/**
* Переход по адресу через указанное кол-во времени
*
* @param string $url адрес для перехода
* @param int $time время в секундах, спустя которое произойдет перенаправление
* @param string $str сообщение о перенаправлении
*/
public static function locationAfterTime($url = '', $time = 5, $str = '')
{
if ($url == '')
{
$url = self::$fullUrl;
} elseif (is_array($url))
{
$url = self::$baseUrl . '/' . implode('/', $url);
} else
{
if ($url[0] == '/')
{
$url = self::$baseUrl . $url;
}
}
header("Refresh:{$time}; url=" . $url);
if ($str)
{
exit($str);
}
}
/**
* Авторизует пользователя
* @static
* @return bool Результат авторизации
*/
public static function authorization()
{
return self::$userControl->authorization();
}
/**
* Возвращает модель пользователя
* @static
* @return noxUserModel
*/
public static function getUserModel()
{
return self::$userControl->getUserModel();
}
/**
* Возвращает ID темущего пользователя
*
* @static
* @return int
*/
public static function getUserId()
{
return self::$userControl->getUserId();
}
/**
* Возвращает массив с данными текущего пользователя
* @static
* @return array
*/
public static function getUser()
{
return self::$userControl->getUser();
}
/**
* Проверяет, является ли пользователь членом группы
*
* @param $group_id
* @param int $user_id 0 для текущего пользователя
* @return bool
*/
public static function userInGroup($group_id, $user_id=0)
{
return self::$userControl->userInGroup($group_id, $user_id);
}
/**
* Проверяет, имеет ли пользователь право
*
* @param string $module модуль, которому необходимо право
* @param string $right идентификатор права
* @return bool
*/
public static function haveRight($module, $right)
{
return self::$userControl->haveRight($module, $right);
}
/**
* Возвращает дамп переменных системы (в основном маршрутизация)
*
* @static
* @return string
*/
public static function dump()
{
return
'Full URL: ' . htmlspecialchars(self::$fullUrl) . "\n"
. 'Base URL: ' . htmlspecialchars(self::$baseUrl) . "\n"
. 'Request URL: ' . htmlspecialchars(self::$requestUrl) . "\n"
. 'Request Path: ' . htmlspecialchars(self::$requestPath) . "\n"
. 'Module URL: ' . htmlspecialchars(self::$moduleUrl) . "\n"
. 'Action URL: ' . htmlspecialchars(self::$actionUrl) . "\n"
. 'Params: ' . _d(self::$params, true) . "\n"
. 'Module Folder: ' . htmlspecialchars(self::$moduleFolder) . "\n";
}
/**
* Возвращает массив со статистикой движка
*
* @static
* @return mixed
*/
public static function getStatistic()
{
//Заканчиваем отчет времени
$GLOBALS['statistic']['time'] = microtime(true) - @$GLOBALS['statistic']['time'];
//Вывод статистики
//_d($GLOBALS['statistic']);
return $GLOBALS['statistic'];
}
}
/*
Дополнительные функции
*/
/**
* Выводит или возвращает значение переменной в теге <pre>
*
* @param mixed $var переменная
* @param bool $return возвращать или выводить результат
* @return string
*/
function _d($var, $return = false)
{
$text = print_r($var, true);
if (!$return)
{
$text = htmlspecialchars($text);
}
if (!$return)
{
echo '<pre class="debug">' . $text . '</pre>';
}
return $text;
}
/**
* Форматирует размер файла
*
* @param int $bytes размер в байтах
* @return string
*/
function noxFormatBytes($bytes)
{
if ($bytes < 1024)
{
return $bytes . ' B';
}
elseif ($bytes < 1048576)
{
return round($bytes / 1024, 2) . ' KB';
}
elseif ($bytes < 1073741824)
{
return round($bytes / 1048576, 2) . ' MB';
}
elseif ($bytes < 1099511627776)
{
return round($bytes / 1073741824, 2) . ' GB';
}
else
{
return round($bytes / 1099511627776, 2) . ' TB';
}
}
/**
* Возвращает параметр $var с приведением к типу $default и его значением
* @param mixed $var Параметр
* @param mixed $default Значение по-умолчанию
* @return mixed
*/
function getParam($var, $default = 0)
{
settype($var, gettype($default));
if (!$var)
{
return $default;
} else
{
return $var;
}
}
/**
* Преобразует относительный путь от корня сайта в абсолютный
* @param $path
* @return string
*/
function noxRealPath($path)
{
static $realpath = '';
if (!$realpath)
{
$realpath = str_replace('\\', '/', realpath(dirname(__FILE__) . '/..')) . '/';
}
$path = str_replace('\\', '/', trim($path, '\//'));
return $realpath . $path;
}
?>
Набор диаграмм проекта
В.1 Диаграммы проекта
На рисунках В.1, В.2, В.3, В.4, В.5 и В.6 показаны потребовавшиеся мне для моделирования системы схемы UML.
Рисунок В.2 - Диаграмма вариантов использования
Рисунок В.2 - Диаграмма сущностных классов
Рисунок В.3 - Диаграмма классов управления
Рисунок В.4 - Диаграмма граничных классов
Рисунок В.5 - Диаграмма компонентов
Рисунок В.6 - Диаграмма развертывания
Набор документов
Г.1. Акт о внедрении
На рисунке Г.1 показан акт о внедрении за подписью Алферова Романа Валерьевича - текущего генерального директора компании ООО «РУСПОРТИНГ», которая является оператором стадиона «Янтарь».
Рисунок Г.1 - Акт о внедрении системы
Г.2. Мои грамоты и дипломы
Ниже на рисунках Г.2, Г.3, Г.4 и Г.5 представлены мои грамоты.
Рисунок Г.2 - Диплом 1 место конференции СГАСУ
Рисунок Г.3 - Диплом 1 степени конференции СГАСУ
Рисунок Г.4 - Диплом 1 степени конференции «ЮНК» (Подмосковье)
Рисунок Г.5 - Свидетельство конференции «Шаг в будущее» (МГТУ им. Баумана, Москва)
Безопасность жизнедеятельности
Д.1 Пожарная безопасность на предприятии
В рамках обеспечения пожарной безопасности, являющейся неотъемлемой частью охраны труда, исключается воздействие на работников и имущество юридического лица факторов, сопутствующих возникновению пожара.
Пожарная безопасность подразумевает разработку политики предприятия по недопущению возникновения и развития пожара, направленную на решение следующего круга задач:
- реализацию комплекса мероприятий, направленных на ограничение распространения пожара;
- обеспечение объектов средствами пожарного контроля, оповещения сотрудников предприятия о возникновении нештатной ситуации и непосредственного пожаротушения;
- принятие организационных мер, направленных на контроль над соблюдением сотрудниками нормативных требования ПБ;
- повышение уровня информированности работников и должностных лиц о мерах по обеспечению пожарной безопасности;
- организацию и проведение производственного контроля.
Обеспечение пожарной безопасности неразрывно связано с соблюдением основных нормативных требований в сфере ТБ и принятием инструкции по пожарной безопасности, действующей в рамках предприятия.
Инструкция по пожарной безопасности разрабатывается, исходя из специфических особенностей производственных объектов, техпроцессов, используемого оборудования, материалов и уровня экологической безопасности.
Инструкция о мерах ПБ в общем случае охватывает следующие вопросы:
- комплекс мер, направленных на обеспечение ПБ в ходе проведения техпроцессов, включая пожароопасные работы, и работе с производственным оборудованием и материалами;
- условия перевозки и хранения взрыво- и пожароопасных материалов;
- порядок обустройства прилегающей к производственным объектам территории, организации рабочих мест, мест для курения и путей для эвакуации;
- условия поведения работ при наличии открытого пламени;
- места хранения спецодежды и средств индивидуальной защиты на случай возникновения нештатной ситуации;
- критические показания измерительных приборов, свидетельствующие о появлении риска возникновения пожара.
Обеспечение пожарной безопасности в школе характеризуется ужесточением контроля над уровнем информированности о правилах поведения при пожаре и их точным соблюдением. В рамках поддержания пожарной безопасности в школе и детском саду особое внимание также необходимо уделить оборудованию объектов системами первичного пожаротушения и использованию специальных средств, обеспечивающих ориентирование по пути эвакуации в отсутствии освещения.
Обеспечение пожарной безопасности является обязательным шагом перед организацией аттестации рабочих мест и сертификации работ по охране труда, дающей право на получение скидки к тарифам социального страхования.
Размещено на Allbest.ru
...Подобные документы
Средства обеспечения информационной безопасности. Возможные каналы утечки информации. Защита данных с помощью шифрования. Обзор видов технических устройств, защищающих системы, и принцип их действия. Программно-аппаратный комплекс средств защиты.
курсовая работа [475,7 K], добавлен 01.03.2015Программные средства защиты от вредоносного программного обеспечения, основные требования к ним, оценка возможностей и функциональности. Системы обнаружения вторжения. Анализ средств защиты информации на предприятии. Политика корпоративной безопасности.
дипломная работа [1,2 M], добавлен 17.10.2015Анализ предметной области, формулировка общих и специальных требований к информационной системе с адаптивным интерфейсом. Разработка структур данных, программного обеспечения, модуля бизнес-логики, клиентского приложения; администрирование сервера.
дипломная работа [2,5 M], добавлен 20.07.2014Разработка программного обеспечения для реализации криптографической защиты информации. Обоснование выбора аппаратно-программных средств. Проектирование модели информационных потоков данных, алгоритмического обеспечения, структурной схемы программы.
дипломная работа [2,0 M], добавлен 10.11.2014Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Методы защиты программного обеспечения, их оценка и анализ защищенности. Методы свершенствования подсистемы защиты информации от вредоносного программного обеспечения. Перечень сведений конфиденциального характера организации ООО "СтройСпецКомплект".
дипломная работа [1,9 M], добавлен 10.07.2015Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010Принципы автоматизации делопроизводства. Общие понятия документооборота. Проектирование программного обеспечения. Стадии и этапы создания информационных систем, средства их разработки. Анализ алгоритмов работы с базой данных, разработка интерфейса.
дипломная работа [3,4 M], добавлен 07.11.2015Чем отличается программист от системного администратора. Преимущества и выгоды от работы системного администратора. Подготовка и сохранение резервных копий данных, их периодическая проверка и уничтожение. Конфигурирование нового программного обеспечения.
реферат [23,4 K], добавлен 11.03.2014Информационно-вычислительный комплекс "Ангара" для компьютерного моделирования трубопроводных систем энергетики. Генерации SQL скрипта структуры базы данных и средства программного доступа. Описание интерфейса пользователя и его режимы генерации.
дипломная работа [5,0 M], добавлен 09.05.2014Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.
курсовая работа [67,9 K], добавлен 29.05.2013Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Автоматизация работы сотрудников отдела аспирантуры с аспирантами и соискателями, с документооборотом. Одновременная работа множества пользователей с единой базой данных. Архитектура программного обеспечения. Функциональные возможности программы.
дипломная работа [1,7 M], добавлен 03.09.2014Задачи системы электронного документооборота. Анализ существующих информационных систем. Методы и средства инженерии программного обеспечения. Концептуальная модель данных в BPWin. Построение инфологической модели системы документооборота "Doc_Univer".
курсовая работа [56,1 K], добавлен 25.03.2014Характеристика основных потоков данных, существующих на предприятии. Способы и средства для разработки программного обеспечения. Проектирование пользовательского интерфейса. Разработка слоя взаимодействия с базой данных. Разработка слоя бизнес сервисов.
дипломная работа [750,8 K], добавлен 10.07.2017Разработка модуля автоматизации продажи автозапчастей. Проектирование информационной системы на основе базы данных в среде Microsoft SQL Server 2008. Структуры диалога и программного обеспечения. Описание запросов и отчетов к БД. Создание средств защиты.
курсовая работа [1,1 M], добавлен 10.12.2014Анализ используемой системы обработки информации на предприятии, ее структура и анализ эффективности функционирования. Содержание и принципы организации входной и выходной информации. Аппаратные и программные средства обеспечения, описание интерфейса.
дипломная работа [1,1 M], добавлен 24.08.2016Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011