Содержание
Введение3
1. Понятие, сущность и значение логистики в целом и информационной логистики в ее структуре5
2. Понятие и сущность информационных потоков9
Заключение11
Список литературы и источников12
Приложение. Классификация информационных потоков13
Выдержка из текста работы
Пояснительная записка к дипломной работе на тему «Корпоративный сайт «Управляющая компания Гвоздь». Подсистема хранения и управления данными»оформлена на 96 листах, содержит 12 рисунков, 11 таблиц.
Целью работы было создание подсистемы хранения и управления данными для корпоративного сайта.
Для реализации поставленной задачи использовались данные, полученные из материалов по web-технологиям и базам данных.
В результате проделанной работы было разработано программное обеспечение, предназначенное для организации взаимодействия интернет портала с базой данных.
Бурное развитие информационных технологий и совершенствование компьютерной техники привело к глобальной интеграции их во все сферы человеческой деятельности. Не является исключением и сфера торговли и рекламы. В последнее время объем рекламных услуг в сети Интернет по сравнению с общим объемом мирового рынка рекламы стремительно растет с каждым годом.
В настоящее время очень велико разнообразие рекламируемых товаров и услуг в сети Интернет. Для того, что бы организовать рекламную компанию в Интернете фирме необходимо иметь просто Web -страницу, где потенциальные клиенты смогли бы ознакомиться с фирмой, и узнать чем она занимается, интересны ли им предложения данной фирмы, задать (при помощи электронной почты) интересующие их вопросы и т.д.
Существует несколько путей «продвижения» фирмы в глобальной сети Интернет основными из них являются: создание виртуальной страницы фирмы в Интернете и e-mail — маркетинг. В его состав входят: списки рассылки, дискуссионные листы, конференции Usenet, Web — конференции, реклама на досках объявлений, рассылки новостей сервера, e — mail автоответчики, индивидуальные письма.
Цель данной работы является создание виртуальной страницы в сети Интернет для компании «Гвоздь». Разработать содержание, дизайн и оценить эффективность Web — страницы, с точки зрения функциональности.
Необходимостью создания виртуальной страницы в сети Интернет компании «Гвоздь» является, прежде всего, реклама продукции и услуг, которые предлагает данная фирма с непосредственной возможностью ее реализации. Интерактивная реклама — новый способ предложить товары и услуги потребителю. Интернет же являет собой наиболее динамично развивающуюся среду вещания. За последние пять лет количество пользователей сети выросло в десятки раз, и на сегодняшний момент превышает 150 миллионов человек.
Таким образом, можно заключить, что быстро растущая аудитория сети Интернет являет собой область повышенного интереса для большинства рекламодателей. Многие компании немало выиграли от использования возможностей интернета, получив весьма ощутимое преимущество в конкурентной борьбе. Именно поэтому создание виртуальной страницы в сетиИнтернет на примере компании «Гвоздь» является выгодной необходимостью для его дальнейшего развития.
1.1 Обоснование целесообразности разработки корпоративного сайта
1.1.1 Назначение системы
Еще до непосредственного обращения в компанию инвесторы и клиенты хотят иметь полное представление о ней. Корпоративный сайт — это ресурс, представляющий в сети компанию и имеющий полный функционал веб-представительства.
Корпоративный сайт компании сочетает в себе гибкость в управлении, качество программирования, достойный дизайн и удобство в использовании.
Разработка корпоративного сайта — важное условие для динамичного развития каждой компании. Корпоративный сайт позволит увеличить клиентскую базу, поднять имидж компании, составит о ней правильное мнение у посетителей. Создание корпоративного сайта — это раскрутка имени компании, ее бренда, но разработка сайта будет оправданной только при правильном сочетании фирменного стиля компании, приятного дизайна и интересных текстов, без которых не обходится ни один сайт, и только тогда сайт позволит привлечь новых клиентов и партнеров по бизнесу, а значит, вложения в разработку сайта окупятся в самые короткие сроки.
Цели разработки корпоративного сайта:
— наглядное представление о деятельности компании для партнеров и клиентов;
— презентация портфолио и товарного ассортимента;
— привлечение новых клиентов;
— создание полномасштабной информационной среды о сфере вашего бизнеса, максимально соответствующей маркетинговой политике компании.
Корпоративный сайт в использовании представляет из себя набор программных функций. Все данные хранятся в единой базе данных, управляемой встроенной системой управления и в режиме реального времени загружаются в интерфейс клиента в ответ на его запрос. Такой способ организации сайта снижает затраты на поддержку и расширение сайта. Корпоративный web сайт включает в себя различные каталоги товаров и услуг и программные модули, которые можно изменять и добавлять в процессе эксплуатации сайта.
Корпоративный сайт является объединяющим центром для промо- сайтов, интернет-магазина, форума, блогов сотрудников.
1.1.2 Обоснование цели системы
Невозможно построить хороший сайт, просто поставив перед ним экономические цели компании. В первую очередь сайт должен быть ориентирован на потребителя, на выполнение сформулированного назначения сайта, только тогда он принесет компании экономический успех.
Сформулированная цель определяет конкретные частные задачи, которые должен решать сайт. Основные задачи, которые ставятся перед корпоративными сайтами и порталами компаниями, занимающихся производством/реализацией продукции/услуг, могут быть следующими:
— создание положительного имиджа компании;
— реклама и продвижение продукции/услуг компании;
— маркетинг;
— реализация продукции/услуг компании;
— поддержка потребителей и партнеров;
— информационная поддержка бизнес-процессов компании.
Для конкретных сайтов могут ставиться и другие конкретные задачи, но все задачи сайта должны вытекать из экономических целей компании и назначения сайта.
Цель создания сайта это стратегическая цель, которую ставит перед собой руководство компании. Цель сайта -это тактическая цель, которую руководство компании ставит перед разработчиком сайта.
1.1.3 Обоснование состава автоматизируемых задач
В составе задач автоматизации можно выделить следующие пункты:
— эффективное распространение информации о фирме, ее продукции и услугах;
— динамическое наполнение и изменение информационных материалов системы;
— легкая расширяемость и переносимость, как иерархической структуры, так и содержимого системы;
— организация прямой продажи продукции в Интернете, организация виртуального магазина;
— обеспечение обратной связи между сотрудниками компании и пользователями ресурса.
1.2 Аналитический обзор
Интернет сегодня является весьма надёжной и прибыльной рекламной площадкой, и не удивительно, что всё больше и больше компаний спешат иметь на вооружении качественный корпоративный сайт. Но в условиях постоянно растущей конкуренции растут и требования к веб-сайту. Корпоративный проект обязан любыми приемлемыми способами выделятся из тысячи ему подобных. Он должен легко находится через поисковую машину, обладать ярким эксклюзивным дизайном, предоставлять всю необходимую информацию о товарах и услугах, иметь продуманную и доступную навигацию.
Создать качественный корпоративный сайт — не простая задача, необходимо учесть множество тонкостей, определиться с выбором технологий, обозначить цели и задачи сайта, которые обычно сводятся к стандартному набору: необходимость расширенного представления информации для клиентов, публичное представление собственной продукции и услуг, наконец для более удобного и мобильного общения с клиентами, и конечно же современный корпоративный сайт должен учитывать требования времени и соответствовать самым последним стандартам.
Многие заказчики, решившие иметь сайт, не знают, на чем остановить выбор — создать сайт-визитку или корпоративный портал. Ясность в вопрос вносит понимание отличий между этими веб-ресурсами.
Основные отличия сайта-визитки от корпоративного сайта:
— корпоративный сайт и сайт-визитка имеют разные цели. Сайт-визитка дает общее представление о компании, продукции и услугах, контактную информацию. Корпоративный сайт детально представляет портфолио, продукцию, содержит обширную информацию и дает возможность клиенту не просто вас найти, а связаться в момент посещения;
— дизайн корпоративного сайта проработан до мелочей, содержит сложную графику, дизайн сайта — визитки более прост;
— функциональность и установленные модули отличаются. На небольшом сайте-визитке из дополнительных модулей обычно есть только обратная связь. На корпоративном сайте организуется поиск по каталогу продукции, галереи, форум, калькуляторы, уникальные сервисы — например, расчет стоимости услуг, интерактивные карты и т.п.
Этими отличиями обусловлена и разница в стоимости — корпоративный сайт в разы дороже сайта-визитки. Однако, вложенные в разработку корпоративного сайта инвестиции, в ближайшие сроки окупаются и приносят прибыль.
Преимущества корпоративного сайта:
— высокий уровень узнаваемости компании;
— продвижение услуг и товаров;
— формирование положительного имиджа у партнеров, клиентов, поставщиков, инвесторов;
— возможность проведения масштабных рекламных акций;
— организация круглосуточной связи с партнерами;
— уменьшение нагрузки на сотрудников в офисе;
— возможность точного анализа потребительского спроса на товары и услуги компании;
— рост продаж и увеличение доходов.
Проанализировав ряд уже созданных и предлагаемых к разработке корпоративных сайтов, мы выявили следующие тенденции:
— использование удобных CMS. Представители компаний не обязательно обладают абсолютной компьютерной грамотностью, однако им необходимо регулярно обновлять информацию на своей сайте, заниматься администрированием. Чем проще им это делать, тем лучше. CMS, используемая для разработки сайта, должна позволять осуществлять простые операции по управлению контентом даже не самому опытному пользователю. Также к ней должна прилагаться доступная пользовательская инструкция;
— большая открытость к общению с клиентами. Все чаще на корпоративных сайтах появляются и активно используются такие модули как «Связаться с менеджерами», «Обратная связь», «Голосование», «Партнерам» и т.д., что демонстрирует готовность к сотрудничеству и оперативному ответу на вопросы, интересующие клиентов;
— лаконичность дизайна.
Стремление к простоте и ясности часто побеждает даже стремление к яркости (если, конечно, речь не идет о промо-сайте). Мягкие углы, много свободного пространства, функциональность, отсутствие тяжести и громоздкости в цветах и архитектуре — эти черты можно сегодня смело приписать многим корпоративным сайтам;
— презентационные технологии. Яркие видеоролики, интересные презентационные слайдеры становятся своеобразной «фишкой» сайта, оживляют, привлекают внимание и придают корпоративному ресурсу модный и современный вид.
В ходе изучения предметной области выпускной квалификационной работы были изучены сайты других компаний, занимающихся производством мебели. Аналитический обзор аналогичных сайтов рассмотрен в пунктах 1.2.1, 1.2.2, 1.2.3.
1.2.1 Сайт «ТРК Талисман»
Сайт торгового центра «ТРК Столийа». Дизайн сайта является единственной сильной стороной данного ресурса. Основной недостаток — практически нулевая информативность, текста на сайте не представлено. В функциональном плане сайт так же достаточно прост — главным модулем является форма обратной связи, а так же карта торгового центра. Главная страница сайта представлена на рис. 1.1 /21/.
Рис 1.1 Страница сайта «ТРК Талисман»
1.2.2 Сайт «ТРК Столица»
Дизайн сайта строг и лаконичен. Функционально сайт крайне прост, кроме обратной связи ничего интересного обнаружено не было. Главным минусом, на наш взгляд, было отсутствие каталога компаний. Все информация носила крайне поверхностный описательный характер. В остальном сайт прост и удобен.Изображение главной страницы сайта представлено на рис. 1.2 /22/
Рис. 1.2 Главная страница сайта «ТРК Столица»
1.2.2 Сайт «ТЦ Омега»
Расположен по адресу http://tcomega.ru. Дизайн выполнен со вкусом, явно чувствуется рука дизайнера. На сайте есть каталог, с возможностью поиска по нему, новостные колонки и форма обратной связи, карта торгового центра и прилегающих территорий, информативный баннер. Так же ресурс имеет всю необходимую информацию об интересующих отделах, чем выгодно отличается от описанных выше. Данный портал прост и удобен.Изображение главной страницы сайта представлено на рис. 1.3 /23/
Рис 1.3 Главная страница сайта «ТЦ Омега»
1.3 Основные требования к системе
1.3.1 Обоснование состава автоматизируемых задач
Основной целью создания корпоративного сайта является донесение информации потенциальным клиентам и партнерам о деятельности компании, производимой продукции и предоставляемых услуг с возможностью заказа (приобретения) товара, а также прямых консультаций с сотрудниками компании посредством сети интернет.
Критерии эффективности функционирования могут быть разбиты по нескольким признакам:
1) функциональность, в том числе:
— правильность — точное соответствие выходных документов системы существующим нормативным документам;
— адекватность — наличие и степень достаточности функций системы для решения поставленных задач;
— защищённость — способность предотвращения несанкционированного доступа к данным системы.
2) надёжность, в том числе:
— отказоустойчивость — способность поддерживать определённый уровень пригодности при отказах определённых компонентов системы (например, при отказах на местах работы пользователей системы, либо в отказах в работе локальной вычислительной сети);
— восстанавливаемость — возможность и трудоёмкость восстановления полной пригодности системы после отказа (в том числе после отказа в работе сервера базы данных);
3) удобство использования, в том числе:
— понятность — пользователь системы должен понимать логическую концепцию работы системы в рамках, возложенных на него обязанностей;
— осваиваемость — время на освоение новым пользователем правил работы в системе должно быть минимальным;
— управляемость — удобство эксплуатации и управления функционированием (в том числе удобство решения задач системного администрирования, как то организация резервного копирования и восстановления в случае сбоя, управления правами пользователей на доступ к системе и др.);
4) эффективность, включает в себя:
— ресурсоёмкость — объём и время использования ресурсов (в том числе объём используемой оперативной памяти, время использования центрального процессора, объём занимаемого пространства на жёстком диске, степень загруженности каналов локальной вычислительной сети и др.);
— время ёмкость — время реакции системы на запросы пользователей;
5) сопровождаемость, включает в себя:
— анализируемость — время необходимое для выявления недостатка или причины отказа в исходном коде программы;
— модифицируемость — время, необходимое для внесения изменений;
— тестируемость — усилия, необходимые для проверки правильности функционирования после модификации;
— стабилизируемость — степень отсутствия риска того, что внесение изменений приведёт к непредсказуемым последствиям в иных частях системы;
1.3.2 Функциональное назначение системы
Основная функция корпоративного сайта была и остается в поддержке основного бизнеса. При рассмотрении сайта как бизнес-системы, кроме маркетинговых задач, существует еще ряд вспомогательных, помогающих каждому бизнесу определить свою стратегию коммуникаций с целевой аудиторией. Ведь бизнес-процессы у каждой компании разные, поэтому и распространение информации может быть построено по-разному. В некоторых случаях могут разрабатываться веб-приложения для интеграции с внутрикорпоративными процессами, в некоторых — осуществляться обслуживание клиентов через сайт и получение материальных средств, а в некоторых — обеспечиваться единое информационное пространство для всех филиалов.
Можно выделить следующие ключевые функции корпоративного сайта:
— продвижение товаров и услуг;
— привлечение клиентов;
— поддержка клиентов и партнеров;
— инструмент маркетинга;
— инструмент бизнеса.
1.3.3 Особенности корпоративного сайта компании «Гвоздь», условия эксплуатации, определяющие основные требования к системе
Разрабатываемая система будет эксплуатироваться на сервере данных и будет доступна для всех пользователей, имеющих выходв Интернет. Таким образом, для осуществления работы пользователя с системой требуется постоянное соединение с сервером. В противном случае доступ к данным сайта будет невозможен.
1.3.4 Требования к функциональной структуре системы
Система предназначена для решения следующих задач:
1. отображение текстовой информации:
— входные данные- сформированный пользователем текст;
— выходные данные- сайт, представляющий собой, структурированный пользовательский текст;
2. отображение мультимедийной информации (фото, видео, аудио):
— входные данные- сформированный пользователем контент различных форматов;
— выходные данные- сайт, представляющий собой, структурированный пользовательский контент;
Структурная схема корпоративного сайта «Гвоздь» представлена на рис. 1.3
Рис. 1.3
1.3.5 Типовые проектные решения и (или) пакеты прикладных программ, применяемых в системе
В программе используется свободная реляционная база данных PostgreSQL.
В системе применяются средства для работы с интернет браузерами:
Internet Explorer 6ивыше, Mozilla Firefox,Google Chrome,Opera, Safari, Netscape.
1.3.6 Требования к техническому обеспечению
Требования к техническому обеспечению рабочего места пользователя системы:
1) процессор с частотой не менее 1800 МГц;
2) оперативная память не менее 512 МБ;
3) жёсткий диск с объёмом свободного пространства не менее 1 ГБ;
4) цветной монитор;
5) клавиатура;
6) устройство управления курсором;
7) модем или иное устройство доступа в сеть Интернет.
Минимальные требования к техническому обеспечению сервера:
1) процессор с частотой не менее 3 ГГц;
2) оперативной памяти не менее 2 ГБ;
3) жёсткий диск с объёмом свободного пространства 5 ГБ.
1.3.7 Требования к информационному обеспечению
Основой информационного обеспечения является база данных системы (БД PostgreSQL), которая хранит всю информацию. Основной задачей информационного обеспечения, является современное формирование и выдача достоверной информации.
К информационному обеспечению предъявляется следующие общие требования:
— информационное обеспечение должно быть достаточным для поддержания всех автоматизируемых функций объекта;
— должна быть обеспечена совместимость с информационным обеспечением систем, взаимодействующих с разрабатываемой системой;
— формы документов должны отвечать требованиям;
— должны быть предусмотрены средства контроля входной и результативной информации, обновления данных в информационных массивах, контроля целостности информационной базы, защиты от несанкционированного доступа;
— простота получения необходимых пользователю отчётных форм и иной информации;
— простота доработки системы для получения новых отчётных форм.
Основными функциями по работе с информационной базой будут следующие:
1) формирование первичных документов;
2) ввод новых и корректировка ранее введённых данных;
3) получение в любой момент времени информации о состоянии системы за любой промежуток времени после внедрения и запуска в эксплуатацию системы;
Для обеспечения указанных выше возможностей при проектировании структуры информационной базы системы необходимо пользоваться следующими принципами:
1) при проектировании структур баз данных использовать методы реляционного моделирования;
2) логические структуры данных не должны зависеть от физического устройства носителя данных.
1.3.8 Требования к программному обеспечению
На сервере управления базой данных должно быть установлено следующие программное обеспечение:
1) операционная система Windows или *nix;
2) веб-сервер с поддержкой PHP и PostgreSQL.
Среди ПО клиентской части системы должна быть операционная система Windows с веб-браузером для просмотра страниц портала.
1.3.9 Перспективность системы, возможности ее развития
В перспективе система может дополнятся различными функциональными возможностями.
При необходимости можно усложнить структуру баз данных, увеличив количество информации о товарах и услугах, возможно дополнение и совершенствование функционала самого сайта и пользовательского интерфейса.
1.4 Основные технические решения проекта системы
1.4.1 Описание организации информационной базы
— база данных сервера организована с помощью СУБД PostgreSQL.
— ПК — первичный ключ, ВК — внешний ключ.
Таблица action содержит сведения проводимых акциях. Структура таблицы приведена в табл. 1.1.
Таблица 1.1 Структура таблицы action
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_aсtion |
serial |
Код записи |
|
aсtion_topic |
text |
Название проводимой акции |
||
aсtion_date_start |
date |
Начало акции |
||
aсtion_date_finish |
date |
Окончание акции |
Таблица bot_menu содержит записи в нижнем меню страницы. Структура таблицы приведена в табл. 1.2.
Таблица 1.2 Структура таблицы bot_menu
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_bot_menu |
serial |
Код записи |
|
bot_menu_name |
varchar |
Текст записи |
||
bot_menu_href |
varchar |
Ссылка |
Таблица top_menu содержит записи в верхнем меню страницы. Структура таблицы приведена в табл. 1.3.
Таблица 1.3 Структура таблицы top_menu
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_top_menu |
serial |
Код записи |
|
top_menu_name |
varchar |
Заголвок записи |
||
top_menu_sub_name |
varchar |
Подзаголовок записи |
||
top_menu_href |
varchar |
Ссылка |
Таблица questions_answer содержит данные об обратной связи. Структура таблицы приведена в табл. 1.4.
Таблица 1.4 Структура таблицы questions_answer
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_ questions_answer |
serial |
Код записи |
|
questions_date |
varchar |
Дата добавления вопроса |
||
questions_autor |
varchar |
Автор вопроса |
||
questions_text |
varchar |
Текст вопроса |
||
answer_text |
varchar |
Текст ответа |
||
answer_autor |
varchar |
Автор ответа |
||
questions_email |
varchar |
Электронный адрес автора вопроса |
Таблица page содержит информацию о страницах сайта. Структура таблицы приведена в табл. 1.5.
Таблица 1.5 Структура таблицы page
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_page |
Serial |
Код записи |
|
page_name |
Text |
Название страницы |
||
page_text |
Text |
Текст на странице |
||
page_title |
Text |
Описание страницы |
Таблица sub_catalog_ftsсодержит информацию, необходимую для поиска по позициям товаров, представленных на сайте. Структура таблицы приведена в табл. 1.6.
Таблица 1.6 Структура таблицы sub_catalog_fts
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК, ВК |
id_sub_catalog |
Serial |
Код записи |
|
sub_catalog_fts |
tsvector |
Тс вектор |
Таблица catalog_ftsсодержит информацию, необходимую для поиска по каталогам сайта. Структура таблицы приведена в табл. 1.7.
Таблица 1.7 Структура таблицы catalog_fts
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК, ВК |
id_catalog |
Serial |
Код записи |
|
catalog_fts |
tsvector |
Тс вектор |
Таблица page_fts содержит информацию, необходимую для поиска по информации, представленной на страницах сайта. Структура таблицы приведена в табл. 1.8.
Таблица 1.8 Структура таблицы page_fts
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК, ВК |
id_catalog |
Serial |
Код записи |
|
catalog_fts |
tsvector |
Тс вектор |
Таблица catalog содержит информацию о существующих каталогах. Структура таблицы приведена в табл. 1.9.
Таблица 1.9 Структура таблицы catalog
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_catalog |
serial |
Код записи |
|
catalog_name |
varchar |
Название каталога |
Таблица sub_catalog содержит информацию о каком-либо товаре из каталога. Структура таблицы приведена в табл. 1.10.
Таблица 1.5 Структура таблицы sub_catalog
Тип ключа |
Название поля |
Тип |
Описание |
|
ПК |
id_sub_catalog |
serial |
Код подкаталога |
|
ВК |
id_catalog |
varchar |
Код каталога |
|
Тип ключа |
Название поля |
Тип |
Описание |
|
sub_catalog_name |
varchar |
Наименование товара |
||
sub_catalog_info |
varchar |
Описание товара |
||
sub_catalog_price |
double precision |
Цена товара |
||
sub_catalog_img_href |
varchar |
Ссылка на изображение |
Структура и связи между таблицами изображены на рис. 1.4.
Рис. 1.4 Структура и связи между таблицами базы данных
1.4.2 Описание системы программного обеспечения
Для реализации и нормального функционирования проекта необходимо наличие:
1) операционной системы
— Windows XP/Vista/Seven;
— Mac OS X;
— *nix.
2) веб-обозревателя, браузера
— Internet Explorer 6 и выше;
— Mozilla Firefox;
— Google Chrome;
— Opera;
— Safari;
— Netscape.
Для разработки тела данного корпоративного сайта были использованы:
— HTML , средство создания объектов, разметки текста;
— CSS, средство определения атрибутов объектов;
— JavaScript, средство изменения объектов.
Клиентская среда (браузер, например Internet Explorer) является передним краем работы приложения. В этой среде, отображаются HTML-страницы в окне и обслуживаются истории сеансов HTML-страниц, отображаемых в браузере в течение сессии. Объекты этой среды, следовательно, обязаны иметь возможность манипулировать страницами, окнами и историей. Для этого и нужен клиентский язык — JavaScript.
Данные средства представляют собой клиентский код, который поддерживается всеми браузерами, использует стандартные технологии и не требует модулей расширения. Для написания логики работы функциональных модулей системы использовался внедряемый язык сценариев PHP, хорошо совместимый со средой разработки тела и модулей системы, что позволяет избежать конфликтов, при передаче данных, увеличивает скорость получения информации. В качестве СУБД используется свободная система управления базами данных PostgreSQL. PostgreSQL является решением для малых и средних приложений. Обычно используется в качестве сервера, к которому обращаются локальные и удалённые клиенты, однако в дистрибутив входит, входит библиотека внутреннего сервера, позволяющая включать PostgreSQL в автономные программы. В качестве веб-сервера выбран Apache 2.2 HTTP — сервер, принадлежащий к категории свободного ПО. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках.
2.1 Описание постановки задачи
2.1.1 Характеристикаподсистемы управления и хранения данных
Система предназначена для управления и хранения данных в информационной базе ресурса, а именно изменение, добавление удаления информационного содержания ресурса. Так как построение ресурса происходит на основе данных хранящихся в базе данных, то необходимо обеспечить удобный интерфейс для их редактирования. Так как основной информацией ресурса является разметочный текст html то также необходимо встроить редактор управления разметочным текстом, тем самым обеспечив простое управление содержимым необученных специалистов.
2.1.2 Входная информация
Входной информацией для подсистемы является пользовательский запрос, проведенный через интерфейс системы.
2.1.3 Выходная информация
Выходной информацией являются сгенерированный HTML код страницы.
2.1.4 Математическая постановка задачи
Множество — это совокупность, набор элементов, объединенных общими свойствами.
Множества обозначаются заглавными латинскими буквами А, B, C , а элементы множества строчными латинскими буквами a, b, c .
Запись A={a, b …: F(a,b,…)=0} означает, что есть множество A с элементами a, b, c, которые связаны между собой какой-то функцией F(a, b,…) =0 .
Основные операции:
1) принадлежность элемента множеству:
где a — элемент и A — множество (элемент принадлежит множеству ).
2) непринадлежность элемента множеству:
где a — элемент и A — множество (элемент a не принадлежит множеству A ).
3) объединение множеств: A B.
Объединением двух множеств A и B называется множество C , которое состоит из элементов множеств A и B , т.е.
C = A B = {c : c A или c B}
4) пересечение множеств: A B.
Пересечением двух множеств и называется множество , которое состоит из общих элементов множеств и , т.е.
C = A B = {c : c A и c B}
5) разность множеств: A \ B.
Разностью двух множеств A и B , например, множество A минус множество B, называется множество C, которое состоит из элементов множества A, которых нет в множестве B, т.е.
C = A \ B = {c : c A и c B}
6) симметрическая разность множеств: A B = ( A \ B) (B \ A) .
Симметрической разностью двух множеств A и B называется множество C, которое состоит из не общих элементов множеств и , т.е.
C = A ? B = { c : c (A B ) Рч, c (A B )}
7) вхождение одного множества в другое множество: A B .
Если любой элемент множества A является элементом множества B, то говорят, что множество A есть подмножество множества B (множество A входит в множество B ).
8) не вхождение одного множества в другое множество: A B.
Если существует элемент множества A, который не является элементом множества B, то говорят, что множество A не подмножество множества B (множество A не входит в множество B).
2.2 Описание подпрограммы хранения и управления информации
2.2.1 Функциональное назначение
В подпрограмме хранения и управления информации описан алгоритм генерирования информационного содержания таблиц базы данных на языке разметки и обрабатывание событий изменения данных для записи в базу данных.
2.2.2 Описание информации
Для функционирования подпрограммы является необходимым наличие созданных таблиц в информационной базе данных ресурса.
2.2.3 Используемые функции
В подпрограмме отображения и управления использованы следующие функции:
1) функцияadd($query,$table,$serial_column,$table_view) — основная функция построения выходных данных для отображения;
2) функция addTypeColumn() -добавление типов колонок;
3) функцияaddViewColumn() — добавление отображения колонок;
4) функцияaddEditColumn() — добавление редактируемых колонок;
5) функцияget_type_edit_column() — получение типа редактируемой колонки;
6) функцияget_answer() — получение разметочного текста;
7) функцияaddRecord() — добавление данных в информационную базу данных;
8) функцияcreateSelect($query) — преобразование выпадающего списка по внешнему ключу;
9) функцияverticalText($text) — изменение направления текста;
10) функция main() — обработчик запросов.
2.2.4 Описание логики подпрограммы
Логика программы представлена в виде схемы графически на рис. 2.1.
Рис 2.1
2.3 Описание подпрограммы интерактивного управления
2.3.1 Функциональное назначение
В подпрограмме интерактивного управления описан алгоритм преобразования простого разметочного кода, высылаемого по средствам подпрограммы отображения и управления данными, в интерактивную систему управления форматированной или мультимедийной информации по средствам надстроек dom (document object module) языком javascript.
2.3.2 Описание информации
Для функционирования системы необходима не пустая отображаемая информация подпрограммы отображения и управления данными. Также подпрограмма использует конфигурационные данные при инициализации, после которой эти данные высылаются запросом к подпрограмме отображения и управления данными.
2.3.3 Используемые функции
В подпрограмме отображения и управления использованы следующие функции:
1) функция addTableEditor(dom) — добавляет интерактивное управление содержимым таблицы;
2) функцияconverToType(obj,type,id) — преобразовывает ячейку таблицы в соответствующий интерактивный модуль;
3) функцияaddDBEditor(dom,query,table,serial_column,table_view,addRecordAlias) — инициализируетредакторуправления;
4) функция blackin() — затемняет дисплей при редактировании конкретной информации wysiwyg редактором;
5) функция blackout() — убирает затемнение;
2.3.4 Описание логики
Описание логики программы представлено в виде схемы графически на рис. 2.2.
Рис 2.2
2.4 Описание контрольного примера
2.4.1 Назначение
Данный контрольный пример предназначен для проверки полноты и правильности работы программы. В ходе работы должны быть проверены основные функции программы.
2.4.2 Исходные данные
Для проверки системы используются запросы к базе данных, которые будут обработаны программой, а также состояние информационной базы на момент тестирования подсистемы.
2.4.3 Контрольный пример
В результате проведения испытаний модулей все результаты совпали с ожидаемыми. Программа также показала отличные характеристики по производительности.
С точки зрения удобства и комфортности работы программа показала также хорошие характеристики. Необходимая информация предоставляется в наглядном и удобном для использования виде. Интерфейс достаточно прост для освоения неподготовленным пользователем, предварительно получившим представление о предметной области задачи.
3.1 Обоснование необходимости разработки интернет сайта
Система предназначена для управления и хранения данных в информационной базе ресурса, а именно изменение, добавление удаления информационного содержания ресурса. Так как построение ресурса происходит на основе данных хранящихся в базе данных, то необходимо обеспечить удобный интерфейс для их редактирования. Так как основной информацией ресурса является разметочный текст html то также необходимо встроить редактор управления разметочным текстом, тем самым обеспечив простое управление содержимым необученных специалистов.
3.2 Нормирование работ по теме «Корпоративный сайт «Управляющая компанияГвоздь». Подсистема хранения и управления данными»
Разработка задачи предусматривает несколько этапов. Порядок разработки программного обеспечения приведен в табл. 3.1.
Таблица 3.1 Перечень этапов работ
Наименование этапов и содержание работ |
Исполнитель |
|
1. Подготовительная стадия |
||
1.1 Формулировка технического задания |
Программист |
|
1.2 Анализ темы, эффективности, возможностей, проработка содержания |
Программист |
|
2.Теоретико — информационная часть |
||
2.1 Выбор средств разработки |
Программист |
|
2.2 Формирование пояснительной записки:— Введение;— Описание разработки |
Программист |
|
3. Практическая часть |
||
3.1 Определение структуры данных |
Программист |
|
3.2 Разработка интерфейса подсистемы (программы) |
Программист |
|
3.3 Реализация алгоритмов управления данными |
Программист |
|
3.4. Алгоритм поиска данных |
Программист |
|
3.5. Алгоритм добавления данных |
Программист |
|
3.6. Алгоритм удаления данных |
Программист |
|
3.7. Алгоритм обновления данных |
Программист |
|
3.8 Реализация дополнительных проверок |
Программист |
|
3.9 Отладка подсистемы в части работы дополнительных проверок |
Программист |
|
3.10 Доработка подсистемы по результатам испытаний, предложений руководителя разработки |
Программист |
|
4 Оформление пояснительной записки |
||
4.1 Описание алгоритма |
Программист |
|
4.2 Описание функций и процедур подсистемы |
Программист |
|
4.3 Расчет экономических показателей |
Программист |
|
4.4 Сборка пояснительной записки |
Программист |
|
5 Оформление графической части |
Программист |
Наиболее ответственной частью процесса планирования проекта является определение трудоемкости.
При определении трудоемкости в зависимости от характера и конкретных условий проведения может использоваться несколько методов нормирования, которые дополняют друг друга. Все многообразие существующих способов нормирования труда можно свести к трем основным методам: экспертный, суммарный и расчетно-аналитический.
Метод экспертных оценок используется для определения трудоемкости научно-исследовательских работ прикладного характера, опытно-конструкторских работ, отличающихся высокой степенью новизны, труда программистов, содержащего творческие элементы. Этот метод позволяет получить сведения о трудоемкости в целом или же отдельных этапов выполнения работы.
В данной работе приводится расчет трудоемкости разработки, методом экспертных оценок. С помощью формул, принятых в системе сетевого планирования и управления (СПУ), определяется ожидаемая трудоемкость выполнения работы
, (3.1)
гдеt_ij^min — минимально возможная трудоемкость работы при наиболее благоприятных условиях ее выполнения,
t_ij^НВ — наиболее вероятная трудоемкость работы,
t_ij^max — максимально возможная трудоемкость работы при наиболее неблагоприятных условиях ее выполнения,
t_ij^ОЖ — ожидаемая трудоёмкость необходимая для выполнения работы,
i — номер (обозначение) работы или этапа,
j — условный номер специалиста — эксперта.
Далее определяется среднее значение трудоемкости каждой i-ой этапа:
, (3.2)
где n — количество человек, входящих в группу экспертов.
Необходимо учесть, что наиболее сложно подобрать группу экспертов. Эксперты должны быть компетентными специалистами в данной области, но при этом чрезвычайно узкая специализация экспертов не желательна, поскольку это может привести к односторонности суждений.
В состав группы экспертов должны включаться: научный руководитель, ведущие специалисты основных подразделений, а так же представители других научных организаций, что обуславливает независимость мнений в данной группе.
В условиях научно-технической организации, рациональным является, индивидуальный метод. Используя результаты индивидуального метода экспертного опроса, получают общую экспертную оценку. Данные опроса и рассчитанные значения ожидаемого и среднего времени приведены в табл.3.2
Таблица 3.2Экспертные оценки трудоемкости работ
№ этапа |
Эксперт 1, н/ч |
Эксперт 2, н/ч |
Эксперт 3, н/ч |
tср, н/ч |
||||||||||
tmin |
tНВ |
tmax |
tОЖ |
tmin |
tНВ |
tmax |
tОЖ |
tmin |
tНВ |
tmax |
tОЖ |
|||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
1.1 |
12 |
16 |
24 |
18 |
16 |
24 |
32 |
24 |
12 |
16 |
24 |
18 |
20 |
|
1.2 |
16 |
32 |
40 |
29,3 |
32 |
32 |
48 |
37,3 |
16 |
32 |
48 |
32 |
32,8 |
|
Итого: |
28 |
48 |
64 |
47,3 |
48 |
56 |
80 |
61,3 |
28 |
48 |
70 |
50 |
52,8 |
|
2.1 |
8 |
8 |
12 |
9,33 |
8 |
12 |
16 |
12 |
8 |
12 |
16 |
12 |
11,11 |
|
2.2 |
8 |
8 |
12 |
9,33 |
8 |
16 |
32 |
15,3 |
8 |
12 |
16 |
12 |
12,21 |
|
Итого: |
16 |
16 |
24 |
18,66 |
16 |
28 |
48 |
27,3 |
16 |
24 |
32 |
24 |
23,32 |
|
3.1 |
28 |
30 |
32 |
30 |
24 |
26 |
28 |
26 |
26 |
28 |
32 |
28 |
28 |
|
3.2 |
42 |
44 |
46 |
44 |
38 |
40 |
42 |
40 |
38 |
42 |
46 |
42 |
42 |
|
3.3 |
78 |
82 |
86 |
82 |
76 |
78 |
80 |
78 |
75 |
80 |
85 |
80 |
80 |
|
3.4 |
68 |
72 |
76 |
72 |
63 |
68 |
73 |
68 |
66 |
70 |
74 |
70 |
70 |
|
3.5 |
53 |
57 |
61 |
57 |
50 |
53 |
56 |
53 |
50 |
55 |
60 |
55 |
55 |
|
3.6 |
64 |
67 |
70 |
67 |
60 |
63 |
66 |
63 |
61 |
65 |
69 |
65 |
65 |
|
3.7 |
30 |
32 |
34 |
32 |
26 |
28 |
30 |
28 |
26 |
30 |
34 |
30 |
30 |
|
3.8 |
49 |
52 |
55 |
52 |
42 |
48 |
52 |
48 |
45 |
50 |
55 |
50 |
50 |
|
3.9 |
42 |
44 |
46 |
44 |
36 |
40 |
44 |
40 |
38 |
42 |
46 |
42 |
42 |
|
3.10 |
60 |
62 |
64 |
62 |
56 |
58 |
50 |
58 |
58 |
60 |
62 |
60 |
60 |
|
Итого: |
514 |
542 |
570 |
542 |
471 |
502 |
533 |
502 |
483 |
522 |
561 |
522 |
522 |
|
4.1 |
8 |
12 |
16 |
12 |
12 |
14 |
16 |
14 |
8 |
12 |
16 |
12 |
13 |
|
4.2 |
32 |
48 |
60 |
46,6 |
40 |
48 |
56 |
48 |
32 |
48 |
64 |
48 |
47,53 |
|
4.3 |
24 |
32 |
48 |
34,6 |
24 |
32 |
56 |
37,3 |
24 |
32 |
48 |
34,6 |
35,5 |
|
4.4 |
8 |
16 |
24 |
16 |
16 |
32 |
32 |
26,6 |
12 |
16 |
20 |
16 |
19,5 |
|
Итого: |
72 |
108 |
148 |
109,2 |
92 |
126 |
160 |
125,9 |
76 |
108 |
148 |
110,6 |
115,53 |
|
5. |
64 |
80 |
102 |
82 |
80 |
96 |
130 |
102 |
64 |
80 |
80 |
75 |
86 |
|
Итого: |
64 |
80 |
102 |
82 |
80 |
96 |
130 |
102 |
64 |
80 |
80 |
75 |
86 |
|
Всего: |
694 |
794 |
911 |
799,16 |
707 |
808 |
942 |
818,5 |
667 |
782 |
893 |
781,6 |
799,65 |
Таким образом, плановые трудозатраты на реализацию всего программного продукта составляют 799,65 н/часов.
3.3 Построение план-графика
Для построения план-графика выполнения этапов разработки программного продукта необходимо рассчитать продолжительность выполнения каждого этапа. Будем оценивать продолжительность в рабочих днях. Продолжительность выполнения работ по каждому этапу приведена в табл. 3.3. В графе «Трудозатраты» приведены рассчитанные в п.3.3 трудозатраты. В графе «Продолжительность» приведена примерная продолжительность выполнения каждого этапа в рабочих днях, рассчитанная по формуле
, (3.3)
где P — продолжительность выполнения этапа,
T — трудозатраты на выполнение этапа.
На основании этих данных можно построить план-график выполнения этапов разработки (рис. 3.1).
План-график построен с учетом всех выходных и праздничных дней. Согласно плану, работы должны начаться 16сентября 2011 года и закончиться 20февраля 2012 года.
Таблица 3.3 Продолжительность выполнения этапов работ
№ этапа |
Трудозатраты, н/ч |
Продолжительность, раб. дн. |
|
1 |
52 |
7 |
|
2 |
22 |
3 |
|
3 |
522 |
65 |
|
4 |
115 |
14 |
|
5 |
86 |
11 |
|
Итого: |
800 |
100 |
План-график выполнения этапов разработки
Рис. 3.1
3.4 Расчет затрат на разработку
3.4.1 Материальные расходы
К статье «Материальные расходы» относятся покупные изделия, необходимые для выполнения работы, перечисленные в табл. 3.4.
Таблица 3.4 Материальные расходы
Наименование материала |
Количество |
Стоимость, р |
|
Бумага для офисной техники (формат А4) |
1пачка |
150 |
|
Тонер для лазерного принтера (100 гр.) |
1 шт. |
200 |
|
Прочие канцелярские товары |
100 |
||
Итого |
450 |
3.4.2 Расходы на оплату труда с учётом отчислений
Заработная плата складывается из двух составляющих: основной заработной платы и дополнительной.
Основная заработная плата рассчитывается по формуле (3.4):
(3.4)
где tУ — суммарные затраты труда, вычисляемые по формуле (3.2),
tср — среднее число дней в месяце, равно 21 дню, умножается на количество часов в рабочем дне — 8,
ТС — тарифная ставка.
Тарифная ставка представляет собой МРОТ (минимальный размер оплаты труда, по состоянию на июнь 2011 года равен 4611 [ст. 1 Федерального закона от 01.06.2011 № 106-ФЗ]), увеличенный в зависимости от тарифного коэффициента, соответствующего данному виду работ. Для 12-го разряда работ [Постановления Правительства РФ от 06.01.93 N 14, от 27.02.95 N 189], который соответствует работе программиста, тарифный коэффициент равен 2,423.
Таким образом, основная заработная плата будет составлять:
Дополнительная заработная плата составляет 20% от основной заработной платы, рассчитывается по формуле (3.5):
(3.5)
Суммарная заработная плата (или фонд заработной платы, ФЗП) вычисляется как сумма основной и дополнительной заработных плат по формуле (3.6):
(3.6)
Отчисления на социальное страхование составляют 34% от всей заработной платы [согласно закону № 212-ФЗ от 24 июля 2009 года, статья 12] вычисляются по формуле (3.7):
(3.7)
3.4.3 Расходы на амортизацию
Стоимость оборудования хоть и не включается в себестоимость разработки программного обеспечения, но все же используется при расчете некоторых других дополнительных статей расходов. При написании программы на ЭВМ в качестве оборудования предполагается персональный компьютер, а также необходим принтер для распечатки материалов, стоимость которых составляет: .
Амортизационные отчисления, процесс постепенного перенесения стоимости средств труда по мере их физического и морального износа на стоимость производимых с их помощью продукции в целях аккумуляции денежных средств для последующего полного восстановления. Амортизационные отчисления производятся по установленным нормам амортизации, выражаются, в процентах к балансовой стоимости оборудования и рассчитываются по формуле (3.8)
(3.8)
где Cобор — стоимость компьютера,
Тнорм — нормативный срок службы (для персонального компьютера примем Тнорм = 6 [лет].
Таким образом, получаем: Агод = 4166[руб].
3.4.4 Накладные расходы
Накладные расходы, связанные с управлением и обслуживанием, содержанием и эксплуатацией оборудования и прочими дополнительными затратами на обеспечение процессов производства и обращения, составляют 50% от фонда заработной платы, вычисляются по формуле (3.9):
. (3.9)
3.5 Расчёт срока окупаемости единовременных затрат и экономической выгоды от внедрения программного продукта на предприятии
Рассчитаем экономию от внедрения программного продукта на предприятии.
Рассчитаем стоимость обслуживания одного клиента до внедрения ПП. Для этого рассчитаем трудоемкость обслуживания одного клиента и расходы на оплату труда.
Расчет трудоемкости до внедрения ПП представлен в таблице 3.5.
Таблица 3.5 Трудоемкость до внедрения ПП
Наименование этапов и работ |
Исполнитель |
Трудоемкость, час |
|
1. Поиск арендаторов |
Менеджер |
0,2 |
|
2. Добавление отделов |
Менеджер |
0,15 |
|
3. Продвижение в интернете |
Менеджер |
0,15 |
|
4. Реклама |
Менеджер |
0,15 |
|
Итог |
0,55 |
Результаты расчета затрат на оплату труда до внедрения ПП приведены в таблице 3.6.
Таблица 3.6 Расходы на оплату труда до внедрения ПП
Исполнители |
Разряд |
Тариф.коэф. |
Суммарная трудоемкость, час. |
час. тариф. ставка, руб |
Сумма, руб. |
|
Менеджер |
12 |
2,423 |
0,55 |
40 |
53,306 |
|
Итого затрат |
53,306 |
|||||
Отчисления на единый социальный налог (30%) |
14 |
|||||
Итог |
67,27 |
Рассчитаем предполагаемую стоимость обслуживания одного клиента после внедрения ПП. Для этого рассчитаем трудоемкость обслуживания одного клиента и расходы на оплату труда.
Расчет трудоемкости после внедрения ПП представлен в таблице 3.7.
Таблица 3.7 Трудоемкость после внедрения ПП
Наименование этапов и работ |
Исполнитель |
Трудоемкость, час |
|
1. Поиск арендаторов |
Менеджер |
0,1 |
|
2. Добавление отделов |
Менеджер |
0,05 |
|
3. Продвижение в интернете |
Менеджер |
0,05 |
|
4. Реклама |
Менеджер |
0,1 |
|
Итог |
0,30 |
Результаты расчета затрат на оплату труда до внедрения ПП приведены в таблице 3.8.
Таблица 3.8 Расходы на оплату труда после внедрения ПП
Исполнители |
Разряд |
Тариф.коэф. |
Суммарная трудоемкость, час. |
час. тариф. ставка, руб |
Сумма, руб. |
|
Оператор |
12 |
2,423 |
0,30 |
40 |
29,076 |
|
Итого затрат |
29,076 |
|||||
Отчисления на единый социальный налог (30%) |
7,62 |
|||||
Итог |
36,69 |
Основные затраты на обслуживание одного клиента до и после внедрения ПП представлены в таблице 3.9.
Таблица 3.9 Основные затраты
Основные затраты |
До внедрения ПП, руб. |
После внедрения ПП, руб. |
Экономия затрат, руб. |
|
Расходы на оплату труда |
67,27 |
36,69 |
30,58 |
|
Итог |
30,58 |
Внедрение ПП предположительно снизит затраты на обслуживание одного на 45%.
Предприятие способно обслуживать примерно 200 человек в месяц, а это 6000 человек в год.
Таким образом, годовая экономия затрат от внедрения ПП составляет:
Эгод = 30,58* 2400 = 73392 руб.
Рассчитаем срок окупаемости ПП:
В ходе проведенного маркетингового исследования программного продукта были исполнены следующие пункты:
- определены основные технические и потребительские отличительные свойства системы;
- произведен расчет сметы затрат на разработку;
- рассчитана годоваяэкономия от внедрения программного продукта на предприятии.
Срок окупаемости продукта составил чуть больше 1,5 года, что указывает на целесообразность внедрения ПП на предприятии.
корпоративный сайт подсистема хранение
4.1 Обеспечение безопасных условий труда инженера-разработчика
Одним из основных направлений научно технического прогресса является развитие электронной вычислительной техники и ее широкое применение в производстве, научно-исследовательских и проектно-конструкторских работах, плановых расчетах и сфере управления. Уменьшение стоимости, габаритов, потребляемой энергии вместе с ростом вычислительных возможностей позволяет использовать ЭВМ в гораздо более широких масштабах и существенно улучшить условия труда обслуживающего персонала. Охрана труда выявляет и изучает опасные и вредные производственные факторы, степень их воздействия на работающих с ЭВМ. Разрабатывает организационные и технические мероприятия, направленные на профилактику производственного травматизма и профессиональных заболеваний. Охрана труда создает технические средства защиты, устраняющие или уменьшающие воздействие на работающих этих факторов окружающей среды, предупреждает несчастные случаи, создает высокопроизводительные, здоровые и безопасные условия труда в ВЦ (вычислительный центр) /7,8,9,10/.
На организм человека и работу оборудования ВЦ большое влияние оказывает относительная влажность воздуха. При влажности воздуха до 40% выходит из строя изоляция проводов, а также возникает статическое электричество при движении носителей информации на ЭВМ. При относительной влажности воздуха более 75-80% снижается сопротивление изоляции, изменяются рабочие характеристики элементов ЭВМ, возрастает интенсивность отказов элементов ЭВМ.
Оптимальные и допустимые микроклиматические параметры должны учитывать специфику технологического процесса в ВЦ, в частности, условия по обеспечению надежной работы ЭВМ. Поэтому действующие санитарные нормы для ВЦ устанавливают конкретные оптимальные и допустимые значения температуры, относительной влажности для рабочей зоны машинного зала ВЦ (табл. 4.1).
Таблица 4.1 Нормы температуры и относительной влажности воздуха в рабочей зоне машинного зала ВЦ
Наименование |
Параметры |
||||
Оптимальные |
Допустимые |
||||
Т-ра, °С |
Отн. Влажность, % |
Т-ра, °С |
Отн.влажность, % |
||
Воздух в рабочей зоне машинного зала |
20-22°С зимой, 20-24°С летом |
50-60% |
18-25°С (кратковременно не более чем на 3°С выше средней температуры наружного воздуха в 13 ч. дня самого жаркого месяца, но не выше 28°С) |
45-70% |
|
Охлаждающий воздух на входе в стойки ЭВМ:— при заборе воздуха из машинного зала |
18-20°С |
60-65% |
18-20°С (кратковременно до 28°С) |
45-70% |
|
— при подаче воздуха от кондиционера в стойки |
14-16°С |
60-70% |
То же |
0-70% |
В машинном зале и хранилище носителей информации рекомендуется поддерживать температуру и влажность воздуха постоянными, с относительно малыми колебаниями. Значительные колебания приводят к изменению рабочих характеристик узлов и устройств ЭВМ.
К современному освещению помещений, где работают с вычислительной техникой, предъявляют высокие требования как гигиенического, так и технического характера. Правильно спроектированное и выполненное освещение обеспечивает высокий уровень работоспособности, оказывает положительное психологическое воздействие, способствует повышению производительности труда. Условия деятельности пользователя в системе «человек-машина» связаны с явным преобладанием зрительной информации — до 90% общего объема. Режим освещения, его нормы регламентируются согласно СНиП РФ 23-5-95 «Естественное и искусственное освещение. Нормы проектирования».
В помещениях с компьютерной техникой применяется совмещенная система освещения. К этим системам предъявляют следующие требования:
1) соответствие уровня освещенности рабочих мест характеру выполняемых зрительных работ;
2) достаточно равномерное распределение яркости на рабочих поверхностях и в окружающем пространстве;
3) отсутствие резких теней, прямой и отраженной блеклости;
4) постоянство освещенности во времени;
5) оптимальная направленность излучаемого осветительными приборами светового потока;
6) долговечность, экономичность, электро- и пожаробезопасность, эстетичность, удобство и простота эксплуатации.
Для искусственного освещения помещений с вычислительной техникой следует использовать главным образом люминесцентные лампы. У этих ламп высокая световая отдача (до 75 лм/Вт и более), продолжительный срок службы (до 10 000 ч), малая яркость светящейся поверхности, близкий к естественному спектр излучения, что обеспечивает хорошую цветопередачу. Наиболее приемлемыми являются люминесцентные лампы белого света и тепло-белого света мощностью 20, 40, 80 Вт.
Для исключения засветки экранов дисплеев прямым световым потоком, светильники общего освещения располагают сбоку от рабочего места, параллельно линии зрения оператора и стене с окнами. Такое расположение светильников позволяет производить их последовательное включение по мере необходимости и исключает раздражение глаз чередующимися полосами света и тени, возникающими при поперечном расположении светильников.
Для обеспечения оптимальных условий зрительных работ пользователей с дисплейными устройствами, необходима определенная световая отделка помещения. Рекомендуемая освещенность для работы с экраном дисплея составляет 150 лк, а при работе с экраном в сочетании с работой над документами — 300 лк.
Наличие множественных источников постоянного шума на рабочем месте приводит к значительному снижению производительности труда, росту количества ошибок в работе операторов.
По происхождению шум делят на механический, аэродинамический и шум электрических машин. Для рабочих мест операторов характерно наличие всех видов шумов. Технические средства, например принтер, плоттер создают механический шум, установки кондиционирования — аэродинамический шум, преобразователи напряжения -электромагнитный.
В соответствии с ГОСТ 12.1.003-83 «Шум, общие требования безопасности» уровень шума на рабочем месте операторов видеотерминалов не должен превышать 50дБ, а в помещениях, где работают инженерно-технические работники, осуществляющие лабораторный, аналитический и измерительный контроль — 60дБ.
Для снижения шума и вибрации в помещениях ВЦ оборудование, аппараты и приборы необходимо устанавливать на специальные фундаменты и амортизирующие прокладки, предусмотренные нормативными документами. Стены и потолки должны быть облицованы звукопоглощающим материалом, независимо от количества единиц установленного оборудования. В качестве звукопоглощающего материала должны использоваться специальные перфорированные плиты, панели и другой материал аналогичного назначения, а так же плотная хлопчатобумажная ткань, которой драпируются потолок и стены.
Нормальная продолжительность рабочего времени на предприятиях не может превышать 40 ч. в неделю. Основным режимом работы является пятидневная рабочая неделя с двумя выходными днями. Продолжительность ежедневной работы определяется правилами внутреннего трудового распорядка или графиками сменности.
Графики сменности регламентируют время начала и окончания рабочего дня (дня смены), перерывов для отдыха и питания, порядок чередования смен.
Время отдыха включает в перерывы для отдыха и питания, междусменные перерывы, выходные и праздничные дни и отпуска. Перерыв для отдыха и питания предоставляется в течение рабочего дня. Перерыв для отдыха и питания предоставляется, как правило, через 4ч. после начала работы.
Согласно СанПиН 2.2.2.542-96, в зависимости от вида работ выделяют три группы работ с видеотерминалами:
1) работа по считыванию информации с экрана ЭВМ с предварительным запросом;
2) работа по вводу информации;
3) творческая работа в режиме диалога с ЭВМ.
Для видов трудовой деятельности, связанной с работой на ЭВМ устанавливается три категории тяжести и напряженности работы с ЭВМ. Для первой группы определяются по суммарному числу считываемых знаков, но не более 60000, для второй группы — по суммарному числу введенных знаков, но не более 40000 и для третьей группы — по суммарному времени работы за смену, но не более 6 часов.
Для обеспечения оптимальной работоспособности и сохранения здоровья работника на протяжении рабочей смены должны устанавливаться регламентированные перерывы. Продолжительность и время регламентированных перерывов устанавливается в зависимости от продолжительности, вида и категории трудовой деятельности.
Всем работникам ежегодно предоставляется отпуск с сохранением места работы (должности) и среднего заработка. Право на ежегодный отпуск (за первый год работы) они приобретают по истечении 11 месяцев непрерывной работы на данном предприятии. Очередные отпуска (за второй и последующие годы работы) предоставляются в любое время рабочего года в соответствии с графиками отпусков.
Таким образом, рациональная организация рабочего времени позволит сохранить работоспособность человека и сбережет его здоровье.
Для наиболее эффективной защиты здоровья и жизни работающих в ВЦ людей необходимо выполнять общие требования безопасности:
1) к эксплуатации персональных компьютеров допускаются лица, прошедшие инструктаж по технике безопасности;
2) все пользователи персональных компьютеров (ПК), находясь в компьютерном классе, обязаны:
- использовать только исправные ПК, указанные преподавателем или дежурным оператором;
- соблюдать тишину, чистоту и порядок как на рабочем месте, так и в компьютерном классе;
- соблюдать правила пожарной безопасности, а при возгорании вызвать пожарную охрану;
- работать на ПК не более 4-х часов в день, с 15-минутными перерывами через каждый час работы.
3) пользователям ПК запрещается:
- вносить без разрешения системного администратора какие-либо изменения в настройке ПК;
- самостоятельно устранять сбои в работе ПК;
- самостоятельно производить изменения в конфигурации периферийных устройств ПК (принтера, монитора, клавиатуры);
- курить в помещении компьютерного класса.
4) обслуживание и ремонт ПК:
- техническое обслуживание и ремонт производится персоналом с соответствующей подготовкой;
- мониторы обеспечиваются защитными экранами при их несоответствии санитарным нормам;
- во время технических перерывов класс должен проветриваться.
5) первоначальное подключение всех периферийных устройств (монитора, принтера, клавиатуры) производится специалистом, который предварительно проверяет их исправность и надежность коммуникационных соединений;
6) пользователь должен убедиться в том, что ПК находится в состоянии готовности к работе, а именно:
- соединительные кабеля не имеют повреждений;
- корпус ПК закрыт.
7) включение ПК осуществляется в следующей последовательности:
- включить стабилизатор напряжения (если ПК подключен через него);
- включить принтер (если он нужен);
- включить монитор (если включается отдельно);
- включить ПК переключателем на его корпусе.
8) категорически запрещается:
- производить изменение в конфигурации периферийных устройств ПК (принтера, монитора, клавиатуры) во время его работы;
- вскрывать корпус ПК, если он находится во включенном состоянии.
9) перед тем, как выключить компьютер надо завершить выполнение всех загруженных программ;
10) при коротком замыкание, перегреве или при возникновении других отклонений от нормального режима работы ПК, необходимо обесточить компьютер и обратиться к дежурному оператору;
11) при возникновении возгорания, необходимо обесточить компьютер и вызвать пожарную охрану;
12) при поражении кого-либо из пользователей электрическим током необходимо немедленно провести мероприятия по оказанию пострадавшему первой медицинской помощи.
Выполнение условий электро- и пожаробезопасности, соблюдение необходимых мер предосторожности при работе с техникой позволяет увеличить трудоспособность, снизить риск возникновения различных заболеваний.
В современных ЭВМ очень высокая плотность размещения элементов электронных схем. В непосредственной близости друг от друга располагаются соединительные провода, коммуникационные кабели. При протекании по ним электрического тока выделяется значительное количество тепла, что может привести к повышению температуры отдельных узлов до 80-100°С. При этом возможно оплавление изоляции проводов, их оголение, и как следствие, короткое замыкание, которое сопровождается искрением, ведет к перегрузкам элементов электронных схем.
Для отвода избыточной теплоты от ЭВМ служат системы вентиляции и кондиционирования воздуха. Однако постоянно действующие системы вентиляции и кондиционирования представляют дополнительную пожарную опасность для ВЦ.
Учитывая высокую стоимость оборудования ВЦ, категорию их пожарной опасности, здания для ВЦ должны быть первой или второй степени огнестойкости. В ВЦ противопожарные преграды в виде перегородок из несгораемых материалов устраивают между машинными залами, помещениями для размещения сервисной аппаратуры, для персонала. Противопожарные окна должны быть не открывающимися. Все виды кабелей от трансформаторных подстанций прокладывают в металлических трубах.
Для ликвидации пожаров в машинных залах недопустимо применять такие первичные средства пожаротушения, как вода и пенные огнетушители. В этом случае существует опасность повреждения или полного выхода из строя ЭВМ и другого дорогостоящего оборудования. Для тушения пожаров на ВЦ наиболее эффективно применение порошковых огнетушителей типа ОП-5-01. Преимуществом использования данного средства пожаротушения является также и то, что в момент тушения пожара устройство может находиться под напряжением.
Таким образом, производственная среда, являющаяся предметным окружением человека, должна сочетать в себе рациональное архитектурно-планировочное решение, оптимальные санитарно-гигиенические условия (микроклимат, освещение, отопление, вентиляция и другие). Должна обеспечиваться надежность и безопасность оборудования и приборов в эксплуатации, а также должны проводиться мероприятия по предотвращению пожаров. Рассмотренное рабочее место пользователя ВЦ практически полностью соответствует вышеперечисленным нормам. Создание и поддержание оптимального микроклимата на рабочем месте, выполнение условий электро- и пожаробезопасности, соблюдение необходимых мер предосторожности при работе с техникой позволяет увеличить трудоспособность, снизить риск возникновения различных заболеваний и травматизм.
4.2 Расчет искусственного освещения рабочего места
Как уже было сказано выше, освещение является одним из важнейших факторов, от которого зависит здоровье работника. Поэтому необходимо правильно и точно произвести расчет искусственного освещения на рабочем месте. При расчете освещенности обязательно необходимо учесть наименьший размер объекта различения, характеристику фона, контраст объекта различия с фоном; нужно определить разряд и подразряд зрительной работы, нормируемый уровень минимальности освещённости на рабочем месте.
Наименьший размер объекта размещения = 2 мм., контраст объекта с общим фоном — большой, характеристика фона — светлый, характеристика зрительной работы высокой точности. Основываясь на этих характеристиках, делаем вывод, разряд зрительной работы — 3, подразряд — Г. Следовательно, нормам проектирования искусственного освещения комбинированное освещение — 400 лм., общее освещение — 200 лм.
Рассчитаем число светильников N. Равномерное освещение горизонтальной поверхности достигается при определённом отношении расстояния между центрами светильников L, м (L = 1,75Н ) к высоте их подвеса над рабочей поверхностью Нр, м (в расчётах Нр = Н). Число светильников с люминесцентными лампами, которые приняты в качестве источника света:
, (4.1)
где S — площадь помещения, м2,
L — расстояния между центрами светильников, м,
М — расстояние между параллельными рядами, м.
В соответствии с рекомендациями
М ? 0,6Нр. (4.2)
Оптимальное значение М = 2…3 м. Для достижения равномерной освещённости светильники с люминесцентными лампами рекомендуется располагать сплошными рядами, параллельными стенам с окнами или длинным сторонам помещения.
Площадь помещения:
S = a*b, (4.3)
S = 8*5 = 40 м2.
где а — длина помещения, а = 8м,
b — ширина помещения, b = 5м.
Расстояние между опорами светильников: L = 1,75Н при Нp = 4, L = 1,75 * 4 = 7 м.
Вычисляем расстояние между параллельными рядами:
М ? 0,6 * 4 = 2,4 м.
Число светильников:
. (4.4)
Для расчёта общего равномерного освещения горизонтальной рабочей поверхности используют метод светового потока, учитывающий световой поток, отражённый от . потолка и стен.
Расчетный световой поток для группы светильников с люминесцентными лампами, лм:
(4.5)
где Ен — нормированная минимальная освещённость, лк,
S — площадь помещения, м2 ,
Z — коэффициент минимальной освещённости, , для люминесцентных ламп Z = 1,1,
К — коэффициент запаса (значение зависит от характеристики помещения), для помещения с малым выделением тепла К = 1,5,
— коэффициент использования светового потока ламп, = 0,3.
лм, Z = 1,1, K= 1,5, .
Показатель помещения
, (4.6)
где а и b — длина и ширина помещения соответственно, м.
. (4.7)
По полученному значению светового потока, подбираем лампы, учитывая, что в светильнике с люминесцентными лампами может быть больше одной лампы, т.е. n может быть равно 2 или 4. В этом случае, световой поток группы люминесцентных ламп необходимо уменьшить в 2 или 4 раза.
Световой поток выбранной лампы должен соответствовать соотношению
Фл.расч. = (0,9…1,2)Фл.табл.,
где Фл.расч. — расчётный световой поток, лм,
Фл.табл. — световой поток, определённый по табличным значениям, лм.
лм, лм.
В соответствии с проведенными расчетами выбираем лампу (4070 лм.) ЛДЦ 80.
Рассчитаем потребляемую мощность осветительной установки.
Р = p*N*n, (4.8)
где р — мощность лампы, Вт,
N — число светильников, шт.,
N — число ламп в светильнике, для люминесцентных ламп n = 2, 4.
Потребляемая мощность:
Р = 80*3*2 = 480 Вт.
Для данного помещения требуются 3 светильника с люминесцентными лампами, в каждом по 2 лампы. Тип и мощность лампы — ЛДЦ80. Общая потребляемая мощность осветительной установки — 480 Вт.
ЗАКЛЮЧЕНИЕ
Интернет как рекламная площадка способен решать задачи, с которыми другие СМИ и рекламные носители не всегда способны справиться. Во-первых, интерактивность этого медиа позволяет обеспечивать диалог с потребителем, создавать обратную связь с ним в режиме «здесь и сейчас» (on-line конференции, тематические форумы, чаты). Во-вторых, Интернет позволяет размещать более таргетированную информацию о продукте, т.е. нацеленную на определенную аудиторию. В среде on-line благодаря средствам определения страны и города проживания конкретного пользователя (что определяется по IP-адресу пользователя) можно выстроить коммуникацию для конкретного населенного пункта и даже конкретного человека. В-третьих, в Интернете возможно создать долговременные отношения «рекламодатель — потребитель». Используя специальные приемы и механизмы, можно вовлечь потребителя в эмоциональную среду. В-четвертых, Интернет не только удобная рекламная площадка, но и инструмент проведения маркетинговых исследований. Используя такие средства, как интерактивное анкетирование, опрос и др., можно получить данные о потребительских предпочтениях, реакции на тот или иной продукт, демографических признаках и пр.
Применяя стандартные формы рекламы в сети, можно продвинуть продукцию, часть товарной линейки, а также торговую марку в целом, с помощью специально организованных акций осуществлять PR-поддержку торговой марки, и даже выстроить бренд. Помимо этого, в Интернете открыты принципиально новые формы продвижения продукции компании и торговой марки.
В современных условиях потребитель сталкивается с быстро меняющимся циклом жизнедеятельности товаров. Нередко расширение модификаций товара в рамках одной торговой марки происходит так стремительно, что по темпам приближается к киноиндустрии, где потребитель почти каждые полгода получает от производителя новую серию фильмов. В такой ситуации главной проблемой производителя становится поддержание и сохранение лояльности потребителя к продукции, его удержание, своевременное предоставление конечному потребителю актуальной информации.
В этих условиях компании начинают искать разнообразные способы привлечения внимания потребителя и новые пути снижения рекламных затрат на продвижение новых модификаций ассортиментного ряда. Именно Интернет является средством решения подобных маркетинговых задач.
В ходе выполнения дипломной работы был получен полнофункциональный корпоративный сайт, полностью готовый к применению. Данный сайт ориентирован на потенциальных потребителей, желающих узнать больше о компании и ее товарах и имеющих доступ к сети Интернет. С его помощью пользователи смогут получать необходимую информацию и задавать интересующие их вопросы.
В процессе работы над системой была исследована предметная область и современные web — технологии, организована работа по сбору статистики и представлению данных в удобном виде, была разработана оптимальная структура информационной базы данных и реализован интерфейс для работы с базой данных. Данная разработка позволила получить навыки программирования функциональных и технических возможностей разработки web-приложений IT-сферы, заложила возможность усовершенствования и расширения системы.
Разработанный сайт удовлетворяет всем требованиям, поставленным на этапе постановки задачи.
В качестве дальнейшего развития корпоративного сайта существует возможность доработки интерфейса сайта с целью дальнейшего повышения его информативности, привлекательности и удобства.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1) . Энди Гутманс, Стиг Баккен, Дерик Ретанс. PHP 5. СПб.: изд-во Символ плюс, 2006г. — 402 c.
2) . Скот Хоккинс. Администрирование web-сервера Apache. М.: изд-во Издательский дом «Вильямс», 2001г. — 289с.
3) . Д. Скляр, А. Трахтенберг. PHP. Рецепты программирования.Русская Редакция. СПб.: изд-во БХВ-Петербург, 2007г. — 451с.
4) . Дж. Уорсли, Дж. Дрейк. PostgreSQL. Для профессионалов.СПб.:
изд-во БХВ-Петербург,2003г. — 561с.
5) . Мишель Е. Дэвис и Джон А. Филлипс. Изучаем PHP и MySQL.СПб.: изд-во Символ плюс, 2008г. — 361с.
6) . К. Дари, Б. Бринзаре, Ф. Черзе-Тоза, М. Бусика. AJAXи PHP. Разработка динамических веб-приложений. СПб.: изд-во Символ плюс, 2006г. — 461с.
7) . Малыхина М.П. Базы данных: основы, проектирование, использование. СПб.: изд-во БХВ-Петербург, 2004г. — 575с.
8) . Робин Никсон. Создаем динамические веб-сайты с помощью PHP, MySQL и javascript.СПб.: изд-во Символ плюс, 2011г. — 292с.
9) . Рейсиг Д. JavaScript. Профессиональные приёмы программирования. СПб., 2008. — 231с.
10) . Соболева В.П. Методические указания по оформлению курсовых и дипломных работ. — Ижевск: Изд-во ИжГТУ, 2008.- 25с.
11) . ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
12) . ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
13) . ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.
14) . ГОСТ 19.402-78 ЕСПД. Описание программы.
15)
ПРИЛОЖЕНИЕ 1
ТЕКСТЫ ПРОГРАММ
П. 1.1 Текст программы DataBaseEditor.php
<?php
include_once»../../../jx.php»;
session_start();
$_SESSION[‘isAdmin’]=true;
if($_POST[«id_struct»]!=»» && is_numeric($_POST[«id_struct»])){
$_SESSION[«id_struct»]=$_POST[«id_struct»];
if(isset($_SESSION[‘isAdmin’])){
class dbEditor{
function __construct(){
$type_column = array();
$view_column = array();
$edit_column = array();
$name_column = array();
$query = «»;
$serial_column = «»;
$name_table = «»;
$tmp_key = array();
$alias = array();
foreach($_POST as $key => $value){$alias[$key] = $value;}
public function add($query,$table,$serial_column,$table_view){
$addQuery($query);
$addNameTable($table);
$addSerialColumn($serial_column);
$view = explode(«,»,$table_view);
for($i=0;$i<sizeof($view);$i++){
$d = explode(«~»,$view[$i]);
addNameColumn($d[0]);
$d2 = explode(«::»,$d[1]);
addViewColumn($d2[0]);
$d3 = explode(«*»,$d2[1]);
addTypeColumn($d3[0]);
if(sizeof($d3)>1){$addEditColumn($d2[0]);}
return $get_answer();
public function addNameTable($id){
//if($id==»new»){$id='»‘.$id.'»‘;}
//if($id==»group»){$id='»‘.$id.'»‘;}
$name_table=$id;
public function addQuery($query){$query = $query;}
public function addTypeColumn(){$ar = func_get_args();for($i=0;$i<sizeof($ar);$i++){$type_column[]=$ar[$i];}}
public function addNameColumn(){
$ar = func_get_args();
for($i=0;$i<sizeof($ar);$i++){
//—Если $i от 0 до размера($ar) то к п. 49 иначе к п.50
$name_column[]=$ar[$i];
public function addViewColumn(){
$ar = func_get_args();
for($i=0;$i<sizeof($ar);$i++){
$view_column[]=$ar[$i];
public function addEditColumn(){$ar = func_get_args();for($i=0;$i<sizeof($ar);$i++){$edit_column[]=$ar[$i];}} public function addSerialColumn($key){$serial_column=$key;}
public function get_type_edit_column(){
$tec = array();
for($i=0;$i<sizeof($edit_column);$i++){
for($j=0;$j<sizeof($view_column);$j++){
if($edit_column[$i]==$view_column[$j]){
$tec[] = $type_column[$j];
break;
};return implode(«,»,$tec);
public function get_answer(){
if(count(explode(«from new»,$query))>0){
$query=implode(‘from «new»‘,explode(«from new»,$query));
if(sizeof(explode(«from group «,$query))>0){
$query=implode(‘from «group» ‘,explode(«from group «,$query));
$key = $_ENV[‘db’]->send_query($query);
$tmp_table = «<table id=’table_».$name_table.»_editor’ style=’width:99%;’ class=’default_table’><tr>»;
$percent = ceil(100/sizeof($view_column));
for($i=0;$i<sizeof($type_column);$i++){
if($type_column[$i]==»title»){$percent=1;}
$tmp_table.=»<td style=’display:none;’ width='».$percent.»%’>».$type_column[$i].»</td>»;
$tmp_table.=»<td style=’display:none;’>submit</td>»;
$tmp_table.=»</tr><tr>»;
$option=»<option value=’_’>всем полям</option>»;
for($i=0;$i<sizeof($name_column);$i++){
$tmp_table.=»<th>».$name_column[$i].»</th>»;
$option.=»<option value='».($i).»‘>».$name_column[$i].»</option>»;
$_ENV[«option»]=$option;
$tmp_table.=»<th style=’border-bottom:1px solid #cccccc;’> </th>»;
$ed = implode(«,»,$edit_column);
$gtec = $get_type_edit_column();
for($i=0;$i<sizeof($key);$i++){
$tmp_table.=»</tr><tr>»;
for($j=0;$j<sizeof($view_column);$j++){
$tmp_key[$view_column[$j]] = $type_column[$j];
if($type_column[$j]==»date»){
$key[$i][$view_column[$j]] = $_ENV[‘share’]->getDate(«d.m.Y»,»Y-m-d»,$key[$i][$view_column[$j]]);
$key[$i][$view_column[$j]] = nl2br($key[$i][$view_column[$j]]);
if(sizeof(explode(«id_»,$view_column[$j]))>1){
$tmp_table.=»<td style=’width:1%;color:#777777;’ title='».$view_column[$j].»‘>».$key[$i][$view_column[$j]].»</td>»;
}else{
$tmp_table.=»<td title='».$view_column[$j].»‘>».$key[$i][$view_column[$j]].»</td>»;
$tmp_table.=»<td>
<p>».$serial_column.»</p>
<p>».$key[$i][$serial_column].»</p>
<p>».$ed.»</p>
<p>».$gtec.»</p>
<p>».$name_table.»</p>
</td>»;
$tmp_table.=»</tr></table>»;
return $tmp_table;
public function addRecord(){
$meta = $_ENV[‘db’]->send_query(«select column_name,column_default,data_type FROM information_schema.columns where table_schema = ‘public’ and table_name = ‘».$name_table.»‘»);
$meta = $_ENV[‘db’]->convertKeyToIndex($meta);
$new_meta=array();
$post_rule=explode(«,»,$_GET[«rule_field»]);
//print_r($post_rule);
if(sizeof($post_rule)>1){
$new_meta[]=array();
for($i=0;$i<sizeof($post_rule);$i++){
for($j=0;$j<sizeof($meta);$j++){
if($meta[$j][0]==$post_rule[$i]){
$new_meta[]=$meta[$j];
}else{
$new_meta=&$meta;
$meta=$new_meta;
//———————————————————————
$tmp_table = «<table id=’table_».$name_table.»_editor_add’ style=’width:99%;’ class=’default_table’><tr>»;
$percent = ceil(100/sizeof($view_column));
$ed = array();
$gtec = array();
$base_type_array = array(
«integer»=>»number»,
«double precision»=>»number»,
«timestamp without time zone»=>»date»,
«character varying»=>»text»,
«text»=>»text»,
«bigint»=>»number»,
«bit»=>»number»,
«date»=>»date»,
«smallint»=>»number»
$ex=explode(«,»,$_GET[«table_view»]);
$new_assoc=array();
for($i=0;$i<sizeof($ex);$i++){
$ex[$i]=explode(«::»,$ex[$i]);
$ex[$i][0]=explode(«~»,$ex[$i][0]);
$new_assoc[$ex[$i][0][1]]=$ex[$i][0][0];
if($new_assoc[«no_column»]!=»»){
$meta[]=array(«no_column»,»»,»file»);
for($i=1;$i<sizeof($meta);$i++){
if($alias[$meta[$i][0]]!=»»){
$type = «select»;
}else{
if($base_type_array[$meta[$i][2]]!=»»){$type =
$base_type_array[$meta[$i][2]];}
else{$type = $meta[$i][0];}
if(($tmp_key[$meta[$i][0]]==»html» || $tmp_key[$meta[$i][0]]==»string») && $type==»text»){
$type = $tmp_key[$meta[$i][0]];
if($meta[$i][2]==»file»){
$type=»file»;
$tmp_table.=»<td style=’display:none;’ width='».$percent.»%’>».$type.»</td>»;
$ed[] = $meta[$i][0];
$gtec[] = $meta[$i][2];
$ed = implode(«,»,$ed);
$gtec = implode(«,»,$gtec);
$tmp_table.=»<td style=’display:none;’>submit</td></tr><tr>»;
$ex=explode(«,»,$_GET[«table_view»]);
$new_assoc=array();
for($i=0;$i<sizeof($ex);$i++){
$ex[$i]=explode(«::»,$ex[$i]);
$ex[$i][0]=explode(«~»,$ex[$i][0]);
$new_assoc[$ex[$i][0][1]]=$ex[$i][0][0];
for($i=1;$i<sizeof($meta);$i++){
if($new_assoc[$meta[$i][0]]==»»){
$name_table=$meta[$i][0];
}else{
$name_table=$new_assoc[$meta[$i][0]];
$tmp_table.=»<th style=’text-align:left;padding:7px;font-size:7pt;line-height:8px;background:#f0f0f0;’ valign=’bottom’>».$verticalText($name_table).»</th>»;
$tmp_table.=»<th style=’border-bottom:1px solid #cccccc;background:#f0f0f0;’> </th></tr><tr>»;
for($i=1;$i<sizeof($meta);$i++){
$content = «»;
//print_r($meta[$i][0].»<br>»);
if($alias[$meta[$i][0]]!=»»){
$content = $createSelect($alias[$meta[$i][0]]);
$tmp_table.=»<td title='».$meta[$i][0].»‘>».$content.»</td>»;
$tmp_table.=»
<td>
<p>».$serial_column.»</p>
<p>addNewRecord</p>
<p>».$ed.»</p>
<p>».$gtec.»</p>
<p>».$name_table.»</p>
</td></tr></table>»;
//———————————————————————————
$tmp_table_2 = «
<div style=’background:#ffffff;padding:3px;’>
<!—Добавление записи в таблицу: «.$name_table.»<br><br>—>
<div>
Поиск по: <select id=’search_select’>».$_ENV[«option»].»</select>
<input type=’text’ id=’search_input’ />
</div><br>
«.$tmp_table.»
</div>
«;return $tmp_table_2;
private function utf8_to_win($string){
for ($c=0;$c<strlen($string);$c++){
$i=ord($string[$c]);
if ($i <= 127) @$out .= $string[$c];
if (@$byte2){
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025){
$out_i=168;
} else {
if ($new_i==1105){
$out_i=184;
} else {
$out_i=$new_i-848;
@$out .= chr($out_i);
$byte2 = false;
if (($i>>5)==6) {
$c1 = $i;
$byte2 = true;
return $out;
private function createSelect($query){
$sel = $_ENV[‘db’]->send_query($query);
$select = «<select>»;
for($i=0;$i<sizeof($sel);$i++){
$ar=array();foreach($sel[$i] as $key => $value){$ar[]=$key;}
$i0=$ar[0];
$i1=$ar[1];
$i2=$ar[2];
$selected=»»;
if($_SESSION[«id_struct»]==$sel[$i][«id_struct»]){
$selected=»SELECTED»;
$select.=»<option «.$selected.» value='».$sel[$i][$i0].»‘>».$sel[$i][$i1].» «.$sel[$i][$i2].»</option>»;
};return $select.»</select>»;
private function verticalText($text){
$vert = array();
$text = str_replace(«_»,»-«,$text);
for($i=0;$i<mb_strlen($text);$i++){$vert[] = mb_substr($text,$i,1);}
return implode(» «,$vert);
///————MAIN—————————————————
if($_GET[‘query’]!=»» && $_GET[‘table’]!=»» && $_GET[‘serial_column’]!=»» && $_GET[‘table_view’]!=»»){
$tmp = new dbEditor();
$mce = $tmp->add($_GET[‘query’],$_GET[‘table’],$_GET[‘serial_column’],$_GET[‘table_view’]);
print_r($tmp->addRecord().$mce);
if($_GET[‘key’]!=»» && $_GET[‘value’]!=»» && $_GET[‘column’]!=»» && $_GET[‘type_column’]!=»» && $_GET[‘name_table’]!=»»){
if($_GET[‘value’]!=»addNewRecord»){
$column = explode(«,»,$_GET[‘column’]);
$type = explode(«,»,$_GET[‘type_column’]);
$part_query = array();
foreach($_POST as $key => $value){
for($i=0;$i<sizeof($column);$i++){
if($key==$column[$i]){
if($type[$i]==»number»){
if($value==»»){$value=»null»;}
$part_query[]=$key.» = «.$value.» «;
}else{
$value=implode(«»,explode(«// <![CDATA[«,$value));
$value=implode(«»,explode(«// ]]>»,$value));
$part_query[]=$key.» = ‘».$value.»‘ «;
break;
if(sizeof(explode(«new»,$_GET[‘name_table’]))>0){
$_GET[‘name_table’]=implode(‘»new»‘,explode(«new»,$_GET[‘name_table’]));
if(sizeof(explode(» group «,$_GET[‘name_table’]))>0){
$_GET[‘name_table’]=implode(‘ «group» ‘,explode(» group «,$_GET[‘name_table’]));
$part_query = «update «.$_GET[‘name_table’].» set «.implode(«,»,$part_query).» where «.$_GET[‘key’].» = «.$_GET[‘value’];
}else{
$column = explode(«,»,$_GET[‘column’]);
$type = explode(«,»,$_GET[‘type_column’]);
$part_query = array();
$part_query_2 = array();
unset($_POST[«no_column»]);
foreach($_POST as $key => $value){
for($i=0;$i<sizeof($column);$i++){
if($key==$column[$i]){
if($type[$i]==»integer»){
$type[$i]=»number»;
Switch($type[$i]){
case»number»:
if($value==»»){
$value=»null»;
$part_query[]=$key;
$part_query_2[]=$value;
break;
case»date»:
$part_query[]=$key;
$part_query_2[]=»‘».$_ENV[‘share’]->getDate(«Y-m-d»,»d.m.Y»,$value).»‘»;
break;
default:
$part_query[]=$key;
$value=implode(«<«,explode(«<»,$value));
$value=implode(«>»,explode(«>»,$value));
$part_query_2[]=»‘».$value.»‘»;
break;
break;
if(sizeof(explode(«new»,$_GET[‘name_table’]))>0){
$_GET[‘name_table’]=implode(‘»new»‘,explode(«new»,$_GET[‘name_table’]));
if(sizeof(explode(» group «,$_GET[‘name_table’]))>0){
$_GET[‘name_table’]=implode(‘ «group» ‘,explode(» group «,$_GET[‘name_table’]));
$part_query = «insert into «.$_GET[‘name_table’].» («.implode(«,»,$part_query).») values («.implode(«,»,$part_query_2).»)»;
$_ENV[‘db’]->send_query($part_query);
if($_FILES[«upload»]!=»» && $_FILES[«upload»][«name»]!=»» && $_FILES[«upload»][«tmp_name»]!=»»){
copy_remote_file(array(
«articul»=>$_POST[«articul»],
«img»=>$_FILES[«upload»][«name»],
«from»=>$_FILES[«upload»][«tmp_name»]
header(«Location: «.$_SERVER[‘HTTP_REFERER’]);
}else{
if($_FILES[«upload»]!=»»){
header(«Location: «.$_SERVER[‘HTTP_REFERER’]);
print_r(«Сохранено»);
//————————————
if($_GET[‘key’]!=»» && $_GET[‘value’]!=»» && $_GET[‘name_table’]!=»» && $_GET[‘delete’]==»true»){
if(sizeof(explode(«new»,$_GET[‘name_table’]))>0){
$_GET[‘name_table’]=implode(‘»new»‘,explode(«new»,$_GET[‘name_table’]));
if(sizeof(explode(» group «,$_GET[‘name_table’]))>0){
$_GET[‘name_table’]=implode(‘ «group» ‘,explode(» group «,$_GET[‘name_table’]));
$_ENV[‘db’]->send_query(«delete from «.$_GET[‘name_table’].» where «.$_GET[‘key’].» = «.$_GET[‘value’]);
print_r(«Удалено»);
}else{
print_r(«—«);
?>
П. 1.2 Текстсгенерированногопослеинтерактивизацииhtml
<html>
<head>
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″>
<link rel=»stylesheet» type=»text/css» href=»css/spgid.css»>
<link rel=»stylesheet» type=»text/css» href=»css/main.css»>
<script src=»../jx.js» type=»text/javascript» charset=»UTF-8″></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/dbeditor/dbEditor.js»></script>
<style type=»text/css»>body{padding:0px;margin:0px;font-family:Arial;font-size:10pt;}form{padding:0px;margin:0px;}table{font-family:Arial;font-size:10pt;border-spacing:0px;border:0px;border-collapse:collapse;}td{padding:0px;}fieldset{border:1px solid #cccccc;}fieldset legend{color:#777777;}p{margin-top:3px;margin-bottom:3px;}.default_table{background:#ffffff;width:100%;}.default_table td{padding:3px;}.default_table th{font-size:9pt;border-bottom:1px solid #cccccc;padding-bottom:3px;font-style:normal;font-weight:normal;color:#777777;text-align:left;}</style>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/tiny_mce/tinyMce.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/dcss.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/positions.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/ajax.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/upload/flashLoader.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/calendar/calendar.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/round/corner.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/tiny_mce/jscripts/tiny_mce/tiny_mce.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/base64.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/tab/tab.js»></script>
<style type=»text/css»>.extFlashLoaderStyle{position:absolute;font-family:Arial;font-size:8pt;width:250px;padding:5px;display:none;z-index:10001;}.extFlashLoaderStyleDiv{margin:15 0 15 0px;clear:both;}.extFlashLoaderStyleLineLoader{background:#e3e3e3;float:left;clear:both;margin-top:5px;}.extFlashLoaderButton{background-image:url(../images/disk.png);background-repeat:no-repeat;width:16px;height:16px;}</style>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/swf.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/round/shadedborder.js»></script>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/dom.js»></script>
<style type=»text/css»>.tab_not_selected_left{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/tab_1.png);width:7px;height:26px;float: left;}.tab_not_selected_right{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/tab_2.png);width:7px;height:26px;float:left;}.div_not_selected{float:left;}.div_not_selected_text{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/tab_3.png);background-repeat:repeat-x;float:left;overflow:hidden;height:26px;cursor:pointer;font-size:10pt;font-family:Arial;font-size:9pt;color:#000000;padding-top:-1px;}.tab_to_selected_left{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/tab_sel_1.png);width:7px;height:26px;float:left;}.tab_to_selected_right{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/tab_sel_2.png);width:7px;height:26px;float:left;}.div_to_selected{float:left;}.div_to_selected_text{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/tab_sel_3.png);float:left;overflow:hidden;height:25px;font-size:10pt;font-family:Arial;color:#ffffff;padding-top:1px;}.tab_content{border:2px solid #e2cd75;border-top:0px;padding:10px;font-family:Arial;font-size:10pt;background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/ff_4.png);color:#ffffff;}.tab_title{background-image:url(http://gvozd.ru/admin/system/js_system/tab/skin_3/top_back_fon.png);height:26px;padding-left:5px;overflow:hidden;}</style>
<script type=»text/javascript» src=»http://gvozd.ru/admin/system/js_system/swfobject.js»></script>
<style type=»text/css»> .sb, .sbi, .sb *, .sbi * {position:relative;z-index:1;} * html .sb, * html .sbi{height:1%;} .sbi{display:inline-block;} .sb-inner{background:#ddd;} .sb-shadow{background:#000;} .sb-border{background:#bbb;}</style>
</head>
<body>
<div class=»ui_btn» style=»margin:8px;»>
<a href=»../admin/»>
<img src=»css/images/btn_back.png»>
Назад
</a>
</div>
<div id=»o1″>
<div style=»background:#ffffff;padding:3px;»>
<!—Добавление записи в таблицу: page<br><br>—>
<div>
Поиск по:
<select id=»search_select»>
<option value=»_»>всемполям</option>
<option value=»0″>Название страницы</option>
<option value=»1″>Содержание страницы</option>
<option value=»2″>Описание страницы</option>
</select>
<input type=»text» id=»search_input»>
</div>
<br>
<table id=»table_page_editor_add» style=»width:99%;» class=»default_table»>
<tbody>
<tr>
<td style=»display:none;» width=»34%»>text</td>
<td style=»display:none;» width=»34%»>html</td>
<td style=»display:none;» width=»34%»>string</td>
<td style=»display:none;» width=»34%»>number</td>
<td style=»display:none;»>submit</td>
</tr>
<tr>
<th style=»text-align:left;padding:7px;font-size:7pt;line-height:8px;background:#f0f0f0;» valign=»bottom»>Названиестраницы</th>
<th style=»text-align:left;padding:7px;font-size:7pt;line-height:8px;background:#f0f0f0;» valign=»bottom»>Содержаниестраницы</th>
<th style=»text-align:left;padding:7px;font-size:7pt;line-height:8px;background:#f0f0f0;» valign=»bottom»>Описаниестраницы</th>
<th style=»text-align:left;padding:7px;font-size:7pt;line-height:8px;background:#f0f0f0;» valign=»bottom»>i d — t o p — m e n u</th>
<th style=»border-bottom:1px solid #cccccc;background:#f0f0f0;»> </th>
</tr>
<tr style=»background-position: 0% 0%; background-clip: border-box; background-attachment: scroll; background-repeat: repeat; background-image: none; background-size: auto; background-origin: padding-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>
<textarea name=»page_name» style=»border:1px solid #cccccc;font-size:9pt;height:19px;»></textarea>
</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»id_top_menu» style=»text-align: left»>
<input type=»text» name=»id_top_menu» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float: left; display: none»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<table id=»table_page_editor» style=»width:99%;» class=»default_table»>
<tbody>
<tr>
<td style=»display:none;» width=»1%»>title</td>
<td style=»display:none;» width=»1%»>html</td>
<td style=»display:none;» width=»1%»>string</td>
<td style=»display:none;»>submit</td>
</tr>
<tr>
<th>Название страницы</th>
<th>Содержание страницы</th>
<th>Описание страницы</th>
<th style=»border-bottom:1px solid #cccccc;»> </th>
</tr>
<tr style=»background-repeat: repeat; background-position: 0% 0%; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>cooperation</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float:left;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
<tr style=»background-position: 0% 0%; background-attachment: scroll; background-clip: border-box; background-repeat: repeat; background-image: none; background-size: auto; background-origin: padding-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>magazine</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float:left;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
<tr style=»background-position: 0% 0%; background-attachment: scroll; background-repeat: repeat; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>priv</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float:left;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
<tr style=»background-image: none; background-position: 0% 0%; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>quest</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float:left;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
<tr style=»background-image: none; background-position: 0% 0%; background-origin: padding-box; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-clip: border-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>contact</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float:left;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
<tr style=»background-position: 0% 0%; background-attachment: scroll; background-repeat: repeat; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box; background-color: #ffffff»>
<td title=»page_name» style=»text-align: left»>about</td>
<td title=»page_text» style=»text-align: left»>
<input type=»text» name=»page_text» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td title=»page_title» style=»text-align: left»>
<input type=»text» name=»page_title» style=»width:98%;border:1px solid #cccccc;font-size:9pt;»>
</td>
<td style=»width:50px;»>
<div>
<div style=»float:left;width:20px;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/disk_black.png» style=»cursor:pointer;» title=»Сохранить»>
</div>
</div>
<div>
<div style=»float:left;»>
<img src=»http://gvozd.ru/admin/system/js_system/dbeditor/images/cross_circle_frame.png» style=»cursor:pointer;» title=»Отменить»>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div id=»dbe_o1″></div>
</div>
<script type=»text/javascript»>
$$(«include»)(«dbEditor»,function(){
$$(«addDBEditor»)(
«o1»,
«select * from page»,
«page»,
«id_page»,
«Названиестраницы~page_name::title,Содержаниестраницы~page_text::html*,Описаниестраницы~page_title::string*»,
</script>
<div style=»position:absolute;z-index:1000;top:0px;left:0px;width:100%;height:100%;display:none;background:#ffffff;text-align:center;» id=»html_layer»>
<table width=»100%» height=»100%»>
<tbody>
<tr>
<td align=»center» valign=»middle» style=»color:#ffffff;» id=»for_textarea_tiny_mce»></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
П. 1.3Текстпрограммы DataBaseEditor.js
function extDbEditor(){
this.dbEditorOpenImageManager = function(){};
this.calCounter=0;
this.addTableEditor=function(dom){
try{if(typeof dom==»string»){var dom=ext.$(dom);}else{var dom=dom;}
var cType=ext.$$$(ext.$$$(dom,»tr»)[0],»td»);
var cTypeArray = new Array();
for(var i=0;i<cType.length;i++){cTypeArray[i] = cType[i].innerHTML;}
var cTR = dom.getElementsByTagName(«tr»);
for(var i=2;i<cTR.length;i++){
var cTD = cTR[i].getElementsByTagName(«td»);
for(var j=0;j<cTD.length;j++){
cTD[j].style.textAlign=»left»;
if(j==cTD.length-1){cTD[j].style.width=»45px»;}
this.converToType(cTD[j],cTypeArray[j],cTD[j].title);
if(ext.$(‘html_layer’)==undefined){
var html_layer = document.createElement(«div»);
html_layer.style.cssText = «position:absolute;z-index:1000;top:0px;left:0px;width:100%;height:100%;display:none;background:#ffffff;text-align:center;»;
html_layer.id=»html_layer»;
html_layer.innerHTML = «<table width=’100%’ height=’100%’><tr><td align=’center’ valign=’middle’ style=’color:#ffffff;’ id=’for_textarea_tiny_mce’></td></tr></table>»;
ext.$$$(document,»body»)[0].appendChild(html_layer);
}catch(e){alert(«dbEditor/dbEditor.js extDBEditor()->addTableEditor(dom) exeption: «+e);}
this.converToType = function(obj,type,id){
switch(type){
case»date»:
var input=document.createElement(«input»);
input.type=’text’;
input.name=id;
input.id=»calp_»+this.calCounter;
input.style.cssText=»width:98%;border:1px solid #cccccc;font-size:9pt;»;
var d=new Date();
now_data_view=((d.getDate().toString().length==1)?»0″+d.getDate():d.getDate())+».»+(((d.getMonth()+1).toString().length==1)?»0″+(d.getMonth()+1):(d.getMonth()+1))+».»+d.getFullYear();
input.value=(obj.innerHTML==»»)?now_data_view:obj.innerHTML;
obj.innerHTML=»»;obj.appendChild(input);
try{
//ext.$(«calp_»+this.calCounter).style.background=»#ff0000»;
ext.$$(«addCalendar»)(«calp_»+this.calCounter);
}catch(e){}
this.calCounter++;
break;
case»number»:
var input=document.createElement(«input»);input.type=’text’;input.name=id;
input.style.cssText=»width:98%;border:1px solid #cccccc;font-size:9pt;»;
input.value=obj.innerHTML;obj.innerHTML=»»;obj.appendChild(input);
break;
case»file»:
var input=document.createElement(«input»);input.type=’file’;input.name=id;
input.style.cssText=»width:98%;border:1px solid #cccccc;font-size:9pt;»;
input.name=»upload»;
obj.innerHTML=»»;obj.appendChild(input);
break;
case»select»:obj.getElementsByTagName(«select»)[0].name=id;break;
case»title»:obj.innerHTML = obj.innerHTML.split(» «).join(« »);break;
case»string»:
var input=document.createElement(«input»);input.type=’text’;input.name=id;
input.style.cssText=»width:98%;border:1px solid #cccccc;font-size:9pt;»;
input.value=obj.innerHTML;obj.innerHTML=»»;obj.appendChild(input);
break;
case»html»:
var input=document.createElement(«input»);input.type=’text’;input.name=id;
input.style.cssText=»width:98%;border:1px solid #cccccc;font-size:9pt;»;
input.value=obj.innerHTML;input._self=this;
ext.$$(«addEvent»)(input,»click»,function(){
this._self.blackin();
$$(«addTinyMCE»)(«for_textarea_tiny_mce»,this.value,true);
window.editor_tinyMCE_self = this;
obj.innerHTML=»»;obj.appendChild(input);
break;
case»text»:
var input=document.createElement(«textarea»);input.name=id;
input.style.cssText=»border:1px solid #cccccc;font-size:9pt;height:19px;»;
input.value=obj.innerHTML;ext.calls(«addEvent»)(input,»click»,function(){
this._self.blackin();
var obj=document.getElementById(«for_textarea_tiny_mce»);
obj.innerHTML=»<textarea id=’textarea_type_text’ style=’border:1px solid #cccccc;width:80%;height:500px;’>»+this.value+»</textarea><br>»;
//——————————————————————
var btn=document.createElement(«input»);
btn.type=’button’;
btn.value=’ГоГ`‚ово’;
$$(«addEvent»)(btn,»click»,function(){
this.value = document.getElementById(«textarea_type_text»).value;
document.getElementById(«for_textarea_tiny_mce»).innerHTML=»»;
this._self.blackout();
},this);obj.appendChild(btn);
//——————————————————————
var btn=document.createElement(«input»);btn.type=’button’;btn.value=’ГђВћГ`‚мениГ`В‚Г`ВЊ’;
$$(«addEvent»)(btn,»click»,function(){
document.getElementById(«for_textarea_tiny_mce»).innerHTML=»»;this._self.blackout();
},this);obj.appendChild(btn);
obj.innerHTML=»»;obj.appendChild(input);
break;
case»submit»:
var cP=obj.getElementsByTagName(«p»),input=document.createElement(«div»);
//input.style.cssText = «float:left;margin-right:6px;»;
input.innerHTML=»<div style=’float:left;width:20px;’><img src='»+dbEditorPath+»images/disk_black.png’ style=’cursor:pointer;’ title=’Сохранить’></div> «;
input.key=cP[0].innerHTML;input.key_value=cP[1].innerHTML;input.column=cP[2].innerHTML;
input.type_column=cP[3].innerHTML;input.name_table=cP[4].innerHTML;
$$(«addEvent»)(input,»click»,function(){
var li=this.parentNode.parentNode.getElementsByTagName(«input»);
var flag_real_form=false;
for(var i=0;i<li.length;i++){
if(li[i].type==»file»){
flag_real_form=true;
break;
if(flag_real_form==true){
var ef=document.createElement(«form»);
document.getElementsByTagName(«body»)[0].appendChild(ef);
var get=$$(«dataRequest»)().addGet({«key»:this.key,»value»:this.key_value,»column»:this.column,»type_column»:this.type_column,»name_table»:this.name_table}).getGetData();
ef.action=dbEditorPath+»dbEditor.php»+get;
ef.method=»POST»;
ef.enctype=»multipart/form-data»;
ef.appendChild(this.parentNode.parentNode);
//ef.appendChild(document.createElement(«input»)).type=»submit»;
ef.submit();
}else{
$$(«sendRequest»)(dbEditorPath+»dbEditor.php»,$$(«dataRequest»)().addForm(this.parentNode.parentNode).addGet({«key»:this.key,»value»:this.key_value,»column»:this.column,»type_column»:this.type_column,»name_table»:this.name_table}),function(){
alert(this.textAnswer);location.reload();
//————DELETING—————————-
var input1=document.createElement(«div»);
//input1.style.cssText=»float:left;»;
input1.innerHTML=»<div style=’float:left;’><img src='»+dbEditorPath+»images/cross_circle_frame.png’ style=’cursor:pointer;’ title=’Отменить’></div>»;
input1.key=cP[0].innerHTML;
input1.key_value=cP[1].innerHTML;
input1.name_table=cP[4].innerHTML;
$$(«addEvent»)(input1,»click»,function(){
$$(«sendRequest»)(dbEditorPath+»dbEditor.php»,$$(«dataRequest»)().addGet({«key»:this.key,»value»:this.key_value,»name_table»:this.name_table,»delete»:»true»}),function(){
alert(this.textAnswer);location.reload();
obj.style.cssText=»width:50px;»;
obj.innerHTML=»»;obj.appendChild(input);obj.appendChild(input1);
break;
this.addDBEditor=function(dom,query,table,serial_column,table_view,addRecordAlias){
var toDom=dom,toTable=table,dR=ext.$$(«dataRequest»)().addGet({query:query,table:table,serial_column:serial_column,table_view:table_view,table_view:table_view});
if(addRecordAlias!=undefined){for(var key in addRecordAlias){dR.addPost(key,addRecordAlias[key]);}}
if(typeof arguments[6]==»object»){
dR.addGet(«rule_field»,arguments[6].join(«,»));
var self = this;
//alert(dR.getGetData());
ext.$$(«sendRequest»)(dbEditorPath+»dbEditor.php»,dR,function(){
var dom=toDom;
if(typeof dom==»string»){var dom=ext.$(dom);}
if(this.textAnswer==»—«){dom.innerHTML=»—«;return false;}
else{
function add_table_event(name){
var td=document.getElementById(name).getElementsByTagName(«td»);
for(var i=0;i<td.length;i++){
td[i].onmouseover=function(){
this.parentNode.style.background=»#e9e9e9″;
td[i].onmouseout=function(){
this.parentNode.style.background=»#ffffff»;
dom.innerHTML = this.textAnswer;
//alert(1);
ext.$$(«addTableEditor»)(«table_»+toTable+»_editor»);
ext.$$(«addTableEditor»)(«table_»+toTable+»_editor_add»);
ta=document.getElementById(«table_»+toTable+»_editor_add»);
add_table_event(«table_»+toTable+»_editor_add»);
add_table_event(«table_»+toTable+»_editor»);
ta=ta.getElementsByTagName(«img»);
for(var t=0;t<ta.length;t++){
if(ta[t].src.split(«cross_circle_frame.png»).length>1){
ta[t].parentNode.style.display=»none»;
var div=document.createElement(«div»);
div.id=»dbe_»+dom.id;
dom.appendChild(div);
//dom.style.padding=»7px»;
//dom.style.margin=»7px»;
//dom.style.overflow=»auto»;
//dom.style.height=ext.$$(«getClientHeight»)()*0.8+»px»;
var name_table=»table_»+toTable+»_editor»;
ext.$$(«addEvent»)(«search_input»,»keyup»,function(){
try{
var tr=document.getElementById(name_table).getElementsByTagName(«tr»),input,text,td,display;
sel=document.getElementById(«search_select»);
sel=sel.options[sel.selectedIndex].value;
if(this.value==»»){
for(var i=2;i<tr.length;i++){
tr[i].style.display=»table-row»;
return false;
if(sel==»_»){
for(var i=2;i<tr.length;i++){
tr[i].style.display=»table-row»;
td=tr[i].getElementsByTagName(«td»);
display=»none»;
for(var j=0;j<td.length;j++){
input=»»;
text=td[j].innerHTML.toLowerCase();
try{input=td[j].getElementsByTagName(«input»)[0].value.toLowerCase();}catch(e){};
if(text.split(this.value.toLowerCase()).length>1 || input.split(this.value.toLowerCase()).length>1){
display=»table-row»;break;
tr[i].style.display=display;
}else{
for(var i=2;i<tr.length;i++){
tr[i].style.display=»table-row»;
td=tr[i].getElementsByTagName(«td»);
display=»none»;
input=»»;
text=td[sel].innerHTML.toLowerCase();
try{input=td[sel].getElementsByTagName(«input»)[0].value.toLowerCase();}catch(e){};
if(text.split(this.value.toLowerCase()).length>1 || input.split(this.value.toLowerCase()).length>1){
display=»table-row»;
tr[i].style.display=display;
}catch(e){alert(e);}
this.blackin = function(){
try{var obj=document.getElementById(«html_layer»);
obj.style.display=’block’;obj.style.height=ext.$$(«getDocumentHeight»)()+»px»;
ext.$$(«setCSS»)(obj,0,»opacity»);
ext.$$(«to»)(obj,0,100,80,»opacity»,»u»);
}catch(e){alert(e);}
this.blackout = function(){
ext.$$(«to»)(ext.$(«html_layer»),»?»,0,80,»opacity»,»u»,function(){this.style.display=»none»;});
extDbEditor.ext=[«addDBEditor»,»addTableEditor»,»dbEditorOpenImageManager»];
extDbEditor.lib=[«tinyMce»,»dcss»,»positions»,»ajax»,»upload»,»calendar»,»corner»];
extDbEditor.cache=false;
ext.classInstall(extDbEditor);
ПРИЛОЖЕНИЕ 2
РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММ
Рис. П. 2.1 Авторизация пользователя
Рис. П. 2.2 Главное меню
Рис. П. 2.3 Подменю «Вопросы и ответы»
Рис. П. 2.4 Подменю «Редактор каталогов»
Рис. П. 2.5 Подменю «Редактор товаров»
Рис. П. 2.6 Подменю «Редактор акций»
ПРИЛОЖЕНИЕ 3
РУКОВОДСТВО ОПЕРАТОРА ПО ПОДСИСТЕМЕ ХРАНЕНИЯ И УПРАВЛЕНИЯ ДАННЫМИ
П. 3.1 Назначение программы
Панель администратора служит для управления содержимым сайта. Включает функции создания, редактирования, контроля и организации веб-страниц. Упрощает управление содержимым сайта для пользователей, не владеющих языками программирования.
Главное меню программы состоит из подменю:
— «Вопросы и ответы»,
— «Редактор страниц»,
— «Редактор каталогов»,
— «Редактор товаров»,
— «Редактор акций»,
— «Выйти из админки».
П.3.2 Условия выполнения программы
Требования к техническому обеспечению рабочего места пользователя системы:
— процессор с частотой не менее 1800 МГц;
— оперативная память не менее 512 МБ;
— жёсткий диск с объёмом свободного пространства не менее 1 ГБ;
— цветной монитор;
— клавиатура;
— устройство управления курсором.
Минимальные требования к техническому обеспечению сервера:
— процессор с частотой не менее 3 ГГц;
— оперативной памяти не менее 2 ГБ;
— жёсткий диск с объёмом свободного пространства 5 ГБ.
Информационная система предъявляет следующие требования к программным средствам.
— операционная система семейства Windows, Mac OSx, *nix;
— наличие в операционной системе интернет обозревателя;
— наличие подключения к сети Интернет.
П. 3.3 Пуск программы
Для запуска программы нужно, в адресную строку браузера ввести http://gvozd.ru/admin
П. 3.4 Команды оператора
Для перехода к меню редактируемых разделов нужно пройти авторизацию, введя логин и пароль, а затем, нажать кнопку «Отправить». После авторизации пользователю станет доступно меню редактируемых разделов. Меню представлено на рис. П. 3.1
Рис. П.3.1
Для перехода к редактированию раздела, нужно нажать левой клавишей мыши на соответствующую кнопку в главном меню.
Таблица П.3.1
Пункт меню |
описание |
|
Вопросы и ответы |
Редактирование, добавление новых и удаление старых вопросов |
|
Редактор страниц |
Редактирование, добавление новых и удаление старых страниц |
|
Редактор каталогов |
Редактирование структуры каталогов, добавление новых и удаление старых каталогов |
|
Редактор товаров |
Редактирование, добавление новых и удаление старых товаров |
|
Редактор акций |
Редактирование, добавление новых и удаление старых акций |
|
Выйти из админки |
Выход из администратиной панели |
П. 3.5 Сообщения оператору
Сообщения, выдаваемые оператору, приведены в таблице П.3.1.
Таблица П.3.1
Сообщения оператору |
Действия оператора |
|
Введен неверный логин или пароль |
Проверить корректность ввода логина и пароля |
Размещено на