Разработка программного обеспечения Web-приложения информационных систем 'artposters.kz' для отдела архитектуры и дизайна компании ТОО 'ILLUSTRATE studio'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    854,55 Кб
  • Опубликовано:
    2015-02-23
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программного обеспечения Web-приложения информационных систем 'artposters.kz' для отдела архитектуры и дизайна компании ТОО 'ILLUSTRATE studio'

Введение


Благодаря широчайшему развитию сети Интернет по всему миру стало выгодным создание и размещение на её просторах веб-сайтов, направленных на расширение бизнеса и привлечение новых клиентов.

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

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

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

Целью дипломного проекта является разработка программного обеспечение Web-приложений информационных систем «artposters.kz», которое будет обеспечивать продажу декоративных постеров, а также обеспечивать распространение рекламы и информации о деятельности компании TOO «ILLUSTRATE studio».

Задачей дипломного проекта, согласно техническому заданию составленному сотрудниками Web-отдела компании ТОО «ILLUSTRATE studio» (далее Разработчик) и утвержденному рабочей группой отдела «Архитектуры и дизайна» компании ТОО «ILLUSTRATE studio» (Далее Заказчик), является создание Web-приложения «artposters.kz», которое должно иметь следующие возможности:

Поиск постеров по названию;

Поиск постеров по направлению;

Вывод прайс-листа на постеры;

Регистрация пользователей на сайте;

Оформление заказов на постеры.

Актуальность данного дипломного проекта заключается в том, что он написан на тему связанную с прочным внедрением в нашу жизнь интернет технологий. Еще каких-то лет десять лет назад, никто из нас и представить себе не мог, что интернет будет играть огромную роль в нашей повседневной жизни. Реальность современного мира такова, что людям постоянно не хватает времени, время же стало для каждого из нас очень ценным, так как динамика жизни увеличилась во много раз. Существует множество способов коммуникации и почти все они в какой-то степени зависят от интернета. Но именно благодаря ему у нас есть возможность заказать пиццу, предварительно выбрав ее, купить какую-нибудь технику в интернет-магазине с доставкой на дом, пообщаться с друзьями в социальных сетях, посмотреть другие страны, даже весь мир можно лицезреть благодаря специальным сервисам. Все эти полезные и менее полезные сервисы, описать которых не хватит этой статьи, предоставляет нам интернет.

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

Научная новизна дипломного проекта заключается в том что данное Web-приложение «artposters.kz», являющаяся по сути интернет-магазином, обладает рядом преимуществ по сравнению с обычными магазинами, это:

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

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

.        Доставка прямо к порогу. Чтобы вы ни купили - от тюбика крема до огромного дивана - вы всегда можете заказать доставку прямо до вашей двери.

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

.        Анонимность. Некоторые товары лучше покупать без посторонних глаз. Интернет - магазин гарантирует, что о вашей покупке никто не узнает.

.        Оплата электронными деньгами и кредитными картами. Это очень удобно и безопасно, так как не приходится передвигаться с большой суммой в кармане по городу и лишний раз искушать судьбу и грабителей.

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

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

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

Апробация дипломного проекта. Данное Web-приложение разрабатывалось в целях обеспечения продаж декоративных постеров, а также обеспечения распространение рекламы и информации о деятельности компании TOO «ILLUSTRATE studio». Были проведены испытания данного Web-приложения в результате которых было принято решение о введении его в действие. Данное Web-приложение «artposters.kz» было введено в действие и ныне функционирует в качестве интернет-магазина Заказчика, которое реализует маркетинговую деятельность по продажам декоративных постеров.

1. Анализ и постановка задачи

1.1 Область применения и требования создаваемого Web-приложения

информационный сайт программный

Описание предприятия

Разработке подлежит программное обеспечение Web-приложения информационных систем «artposters.kz» для отдела «Архитектуры и Дизайна» компании ТОО «ILLUSTRATE studio».

Разрабатываемому программному продукту присваивается наименование «artposters.kz».

Организация ТОО «ILLUSTRATE studio» была основана в 2007 году, директором организации является Дю Владислав Игоревич. Занимается компания широким спектром графических работ - верстка журналов и газет, дизайн логотипа и фирменного стиля различных организаций, разработка видеоигр, web-ресурсов и многое другое.

Непосредственно отдел «Архитектуры и Дизайна» компании ТОО «ILLUSTRATE studio» занимается изготовлением и продажей декоративных постеров.

Предприятие состоит из 5 отделов:

WEB-отдел;

GAME-отдел;

Дизайнерский отел;

Отдел верстки;

Отдел архитектуры.

Организация имеет следующие структурные подразделения (Таблица 1.1).

Таблица 1.1. Структура предприятия

Должность

Количество

Подчинение

Функционал

Генеральный директор - Дю В.И.

1

-

· Владелец предприятия, · Контроль начальника GAME-отдела.

Коммерческий директор - Касьянова В.В.

1

Генеральный директор

· Курирование юридических аспектов работы компании, · Руководство отделом продаж, · Ведение управленческого учета компании,




· Координация бизнес-процессов компании, · Контроль начальников отделов web-программирования, архитектуры и дизайна, · Контроль процессов согласований и коммуникаций с заказчиком

Начальник GAME-отдела

1

Генеральный директор

· Подбор персонала, мотивация персонала, · Маркетинг рынка, · Курирование документационных потоков с заказчиком.

Начальник WEB-отдела

1

Коммерческий директор

· Подбор персонала, мотивация персонала, · Маркетинг рынка, · Курирование документационных потоков с заказчиком, · Ведение проекта по разработке сайта, · Написание технического задания (спецификация).

Начальник отдела верстки

1

Коммерческий директор

· Подбор персонала, мотивация персонала, · Маркетинг рынка, · Курирование документационных потоков с заказчиком.

Начальник отдела архитектуры

1

Коммерческий директор

· Подбор персонала, мотивация персонала, · Маркетинг рынка, · Курирование документационных потоков с заказчиком.


Требования к техническому обеспечению

Сервер должен быть построен на основе Intel Celeron Dual Core не менее 2600 гц, оперативная память минимум 2Гб, рекомендуется 8 Гб, сетевая карта со скоростью 10/100/1000 Мбит/с.

Локальные машины пользователей должны быть построены на основе Intel Celeron Dual Core не мене 1000 гц, с объемом оперативной памяти не менее 512 Мбайт, сетевая карта со скоростью 10/100/1000 Мбит/с.

Необходим доступ клиента к серверу по сети по протоколу TCP/IP.

Требования к программному обеспечению

В качестве операционных систем может использоваться ОС типа Windows (Windows XP, Windows 7), а так же ОС семейства Linux.

Для работы системы необходимо следующее предустановленное программное обеспечение:

Apache HTTP-сервер (c mod_mysql, mod_xml и mod_zlib) 2.4.4 или ниже;

PHP 5.3, минимум PHP 5.2.4;

MySQL 5.0.4 минимум 4.1.x.

Так же необходимо наличие:

Инструментального программного обеспечения: Macromedia Dreamweaver MX либо PhpDesigner либо Notepad ++.

- Web-браузеров: Chrome, Firefox, Opera, Safari, Internet Explorer.

На локальных машинах пользователей должен быть установлен любой из перечисленных браузеров с поддержкой JavaScript.

1.2 Постановка задачи

Создаваемое Web-приложение «artposters.kz» относится к интернет-магазинам (Сетевой магазин, Электронный магазин, Internet shop, E-shop) автоматизированным системам управления организационными объектами. Интернет-магазин это сайт, торгующий товарами в интернете. Позволяет пользователям сформировать заказ на покупку, выбрать способ оплаты и доставки заказа в сети Интернет. Выбрав необходимые товары или услуги, пользователь обычно имеет возможность тут же на сайте выбрать метод оплаты и доставки. Совокупность отобранных товаров, способ оплаты и доставки представляют собой законченный заказ, который оформляется на сайте путем сообщения минимально необходимой информации о покупателе. После отправки заказа с покупателем связывается продавец и уточняет место и время, в которое следует доставить заказ. Доставка осуществляется либо собственной курьерской службой, либо компанией, предоставляющей услуги доставки, либо по почте - посылкой или бандеролью[1].

Объектом автоматизации является маркетинговая деятельность отдела «Архитектуры и Дизайна», направленная на обеспечение продаж продукции предприятия. Целью разработки данного Web-приложения является создание среды, осуществляющей рекламу товара и прием заказов на покупку.

Разрабатываемое Web-приложение «artposters.kz» предназначено для:

рекламы продукции и поиска потенциальных клиентов;

регистрации заказчиков;

ведения учета заказчиков с полной записью их основных данных (название, адрес, телефон, электронная почта и др.);

учета заказов, оформляемых заказчиком;      

1.3 Цель и назначение


Целью создания программного обеспечения Web-приложения информационных систем «artposters.kz» для отдела «Архитектуры и Дизайна» компании ТОО «ILLUSTRATE studio» является повышение эффективности маркетинговой деятельности отдела. Маркетинговая деятельность - это деятельность по решению подразделением маркетинга стоящих перед ним практических задач в коммерческой компании (предприятии, фирме).

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

Содержание маркетинговой деятельности заключается в поиске взаимовыгодного компромисса между потребностями потенциальных потребителей и производственными возможностями (а также ключевыми компетенциями) компании с учетом возможных действий конкурентов. Традиционно в маркетинге считается, что в маркетинговой деятельности необходимо отталкиваться именно от потребностей рынка, однако это не всегда справедливо. Маркетинговая деятельность может быть направлена как на изменение продуктов и бизнес-процессов компании для соответствия существующему спросу (повышение итоговой потребительной ценности), так и на создание, развитие либо изменение рыночного спроса (потребностей потенциальных потребителей) [1].

Критерием эффективности функционирования Web-приложения является увеличение числа клиентов, повышение эффективности продаж декоративных постеров.

2. Разработка структуры Web-приложения и выбор средств программной реализации

2.1 Понятие, виды, классификация сайтов


Сайт (от англ. website: web - «паутина, сеть» и site - «место», буквально «место, сегмент, часть в сети») - совокупность электронных документов (файлов) частного лица или организации в компьютерной сети, объединённых под одним адресом (доменным именем илиIP-адресом).

Все сайты в совокупности составляют Всемирную паутину, где коммуникация (паутина) объединяет сегменты информации мирового сообщества в единое целое - базу данных и коммуникации планетарного масштаба. Для прямого доступа клиентов к сайтам на серверах был специально разработан протокол HTTPх.

Первый в мире сайт info.cern.ch появился в 1990 году. Его создатель, Тим Бернерс-Ли, опубликовал на нём описание новой технологии World Wide Web, основанной на протоколе передачи данных HTTP, системе адресации URI и языке гипертекстовой разметки HTML. Также на сайте были описаны принципы установки и работы серверов ибраузеров. Сайт стал и первым в мире интернет-каталогом, так как позже Тим Бернерс-Ли разместил на нём список ссылок на другие сайты.

Все инструменты, необходимые для работы первого сайта, Бернерс-Ли подготовил ещё раньше - в конце 1990 года появились первый гипертекстовый браузер WorldWideWeb с функционалом веб-редактора, первый сервер на базе NeXTcube и первые веб-страницы.

«Отец» веба считал, что гипертекст может служить основой для сетей обмена данными, и ему удалось претворить свою идею в жизнь. Ещё в 1980 году Тим Бернерс-Ли создал гипертекстовое программное обеспечение Enquire, использующее для хранения данных случайные ассоциации. Затем, работая в Европейском центре ядерных исследований в Женеве (CERN), он предложил коллегам публиковать гипертекстовые документы, связанные между собой гиперссылками. Бернерс-Ли продемонстрировал возможность гипертекстового доступа к внутренним поисковику и документам, а также новостным ресурсам Интернета. В результате, в мае 1991 года в CERN был утверждён стандарт WWW.

Тим Бернерс-Ли является «отцом» основополагающих технологий веба - HTTP, URI/URL и HTML, хотя их теоретические основы были заложены ещё раньше. В 1940-х годах Ванневар Буш выдвинул идеи расширения памяти человека с помощью технических устройств, а также индексации накопленной человечеством информации для её быстрого поиска. Теодор Нельсон и Даг Энгельбарт предложили технологию гипертекста - «ветвящегося» текста, предоставляющего читателю разные варианты чтения. Xanadu, так и не законченная гипертекстовая система Нельсона, была предназначена для хранения и поиска текста, в который введены взаимосвязи и «окна». Нельсон мечтал связать перекрёстными ссылками все тексты, созданные человечеством.

В настоящее время Тим Бернерс-Ли возглавляет основанный им Консорциум Всемирной паутины (World Wide Web Consortium), который занимается разработкой и внедрением стандартов Интернета[2].

Web-приложения бывают двух видов: персональные и коллективные.

) Персональные страницы.

«Домашняя страничка». Самый простой и доступный всем тип сайта. Как правило, состоит «домашний сайт» из четырех-пяти отдельных страничек-документов. Заглавная может содержать краткую биографическую справку о ее авторе. На второй странице может быть описано хобби автора (музыкальные, книжные пристрастия и т.д.), на третьей возможна коллекция домашних фотографий, четвертая может содержать коллекцию ссылок сетевых ресурсов. Т.е. - это основные части «домашней странички», изготовленные по шаблонам в любом визуальном HTML-редакторе.

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

«Интернет-газета». Чаще такую страничку называют WWW-обозрением. По сути дела, это - настоящая сетевая газета, которую делает один человек. Обозрение - это в отличии от «домашней странички» издание, которое постоянно обновляется (хотя бы раз в неделю). Предметом обозрения может быть любая тема, т.е. все от событий в мире до кулинарных рецептов.

«Виртуальный фэн-клуб». Вторая по численности (после домашних страничек) группа сетевых страниц.

Музыка, книги, кино, живопись, туризм, коллекционирование, работа, компьютер и многие другие категории интересов могут лежать в качестве основной темы сайта. Разделы в «Виртуальном фэн-клубе» могут быть такие как: «Новости», биографическо-справочный материал, обзоры и рецензии, коллекции фото. Иногда может быть «Гостевая книга» в которой посетители сайта могут оставлять свои заметки на тему, которой посвящен данный сайт.

) Коллективные странички.

«Сетевое издание». Журнал, газета, альманах, агентство новостей и т.д. Динамичный, часто обновляемый и объемный сайт, который весьма сходен с «фан-клубом» и «обозрением». Такой сайт может состоять уже из сотен и даже тысяч документов. Также в структуре могут сочетаться черты «сетевого журнала» и тестовой лаборатории.

Еще один тип изданий этой группы - электронные копии традиционных печатных изданий, газет и журналов.

«Виртуальные представительства» организаций. Диапазон сайтов в этой группе огромен - от крохотной странички небольшой фирмы сборщика компьютеров до гигантских «корпоративных сайтов», как Microsoft, а так же правительственных структур или общественных объединений.

На самом деле, это только неполный список различных видов сайтов, и при желании, его можно продолжить. Если попытаться провести аналогию с приведенной выше классификацией, то, создаваемый нами сайт, можно отнести к «Виртуальным представительствам».

По доступности сервисов Web-приложения подразделяются на:

открытые - все сервисы полностью доступны для любых посетителей и пользователей;

полуоткрытые - для доступа необходимо зарегистрироваться (обычно бесплатно);

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

По физическому расположению:

общедоступные сайты сети Интернет;

локальные сайты - доступны только в пределах локальной сети. Это могут быть как корпоративные сайты организаций, так и сайты частных лиц в локальной сети провайдера.

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

) Интернет-портал - многокомпонентная разветвлённая структура, скомпонованная из функционально самодостаточных сайтов самостоятельных организаций или подразделений корпоративной структуры;

) Информационные ресурсы:

тематический сайт - сайт, предоставляющий специфическую узкотематическую информацию по какой-либо теме.

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

) Интернет-представительства владельцев бизнеса (торговля и услуги, не всегда связанные напрямую с Интернетом):

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

представительский сайт - так иногда называют сайт-визитку с расширенной функциональностью: подробное описание услуг, портфолио, отзывы, форма обратной связи и т.д.;

корпоративный сайт - содержит полную информацию о компании-владельце, услугах / продукции, событиях в жизни компании. Отличается от сайта-визитки и представительского сайта полнотой представленной информации, зачастую содержит различные функциональные инструменты для работы с контентом (поиск и фильтры, календари событий, фотогалереи, корпоративные блоги, форумы). Может быть интегрирован с внутренними информационными системами компании-владельца (КИС, CRM, бухгалтерскими системами). Может содержать закрытые разделы для тех или иных групп пользователей - сотрудников, дилеров, контрагентов и пр.;

) Каталог продукции - в каталоге присутствует подробное описание товаров / услуг, сертификаты, технические и потребительские данные, отзывы экспертов и т.д. На таких сайтах размещается информация о товарах / услугах, которую невозможно поместить в прайс-лист;

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

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

) Сайт-квест - Интернет-ресурс, на котором организовано соревнование по разгадыванию последовательности взаимосвязанных логических загадок;

) Веб-сервис - сайт, созданный для выполнения каких-либо задач или предоставления услуг в рамках сети WWW;

) Доска объявлений - представляет собой ресурс, на котором есть возможность размещения публичного объявления о продаже или покупке товаров и услуг, также возможно оставить какую-либо информацию краткого содержания;

) Каталог сайтов - это ресурс, на котором размещаются сайты и блоги, например, Open Directory Project. Каталоги бывают платные и бесплатные. Также каталоги могут способствовать продвижению ресурса, который размещается в каталоге сайтов.

) Поисковые сервисы - например, Yahoo!, Google;

) Почтовый сервис;

) Веб-форумы;

) Блоговый сервис;

) Файлообменный пиринговый сервис - например, Bittorrent;

) Облачное хранилище данных - например, Skydrive;

) Сервис редактирования данных - например, Google Docs;

) Фотохостинг - например, Picnik, ImageShack, Panoramio, Photobucket;

) Видеохостинг - например, YouTube, Dailymotion;

) Социальные медиа;

) Комбинированные веб-сервисы (Социальные сети) - например, Facebook, Twitter;

) Комбинированные веб-сервисы (Специализированные социальные сети) - например, MySpace, Flickr[3].

 

2.2 Этапы создания Web-приложения


Первый этап создания Web-приложения это разработка шаблона.

На данном этапе разрабатывается дизайн основной и типовых страниц Web-приложения.

Начинается работа с создания дизайна, обычно в графическом редакторе. Дизайнер создаёт один или несколько вариантов дизайна, в соответствии с техническим заданием. При этом отдельно создаётся дизайн главной страницы, и дизайны типовых страниц (например: статьи, новости, каталог продукции). Собственно «дизайн страницы» представляет собой графический файл, слоеный рисунок, состоящий из наиболее мелких картинок-слоев элементов общего рисунка.

При этом дизайнер должен учитывать ограничения стандартов html (не создавать дизайн, который затем не сможет быть реализован стандартными средствами html). Исключение составляет Flash-дизайн.

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

Второй этап это HTML-верстка.

Утверждённый дизайн передаётся html-верстальщику, который «нарезает» графическую картинку на отдельные рисунки, из которых впоследствии складывает html-страницу. В результате создаётся код, который можно просматривать с помощью браузера. А типовые страницы впоследствии будут использоваться как шаблоны.

В небольших студиях html-кодированием занимается дизайнер, создавший макет сайта.

Третий этап - программирование.

Далее готовые HTML-файлы передают программисту. Программирование сайта может осуществляться как «с нуля», так и на основе CMS - системы управления сайтом. Веб-разработчики часто называют CMS «движком».

В случае с CMS надо сказать, что сама «CMS» в некотором смысле это готовый сайт, состоящий из заменяемых частей. «Программист» - в данном случае правильно будет назвать его просто специалистом по CMS - должен заменить стандартный шаблон, поставлявшийся с CMS, на оригинальный шаблон. Этот оригинальный шаблон он и должен создать на основе исходного «веб-дизайна».

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

Четвертый этап это тестирование.

Завершающим этапом разработки сайта под ключ является конечно же тестирование.

Веб-дизайн сайта должен адекватно выглядеть в различных браузерах, особенно в браузерах Internet Explorer, Firefox, Safari, Chrome и Opera.Explorer (версии 6) по-своему трактовал HTML-стандарты (отголоски старой борьбы за лидерство с Netscape). Этот морально устаревший браузер создавал много проблем для веб-дизайнеров. Многие разработчики даже предлагали отказаться от верстки под IE 6, однако наличие этого браузера в стандартной поставке Windows XP, а значит и его присутствие на многих пользовательских компьютерах, вынуждало веб-дизайнеров тестировать свои проекты в нём. По состоянию на лето 2012 года IE 6 используется на 6% пользователей, в основном за счёт Китая, где его используют 21% пользователей.

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

Сроки контролирует менеджер проекта. Также на этом этапе привлекают к работе дизайнера, чтобы он провёл авторский надзор.

Пятый этап - размещение сайта в Интернет.

Файлы сайта размещают на сервере провайдера и производят нужные настройки. На этом этапе сайт пока закрыт для посетителей.

Наполнение контентом и публикация.

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

Внутренняя SEO-оптимизация.

Связана с некоторыми изменениями самого сайта. Начинается она с определения семантического ядра. Здесь определяются такие ключевые слова, которые привлекут наиболее заинтересованных посетителей, по которым выиграть конкуренцию проще. Затем эти слова вносятся на сайт. Тексты, ссылки, другие теги адаптируются так, чтобы поисковые системы могли их успешно находить по ключевым словам.

Внешняя SEO-оптимизация.

Сводится, как правило, к построению структуры входящих ссылок. Это собственно и есть раскрутка. К разработке сайта внешняя SEO-оптимизация не имеет отношения. Поскольку SEO-оптимизация это разновидность шаманизма - она как магия, классифицируется на «белую» и «черную» - такую, после которой сайт за две недели попадает в топ, а потом в бан. Настоящая белая SEO оптимизация это трудоёмкий и долгий процесс, стоимость которого может в несколько раз превышать расходы на создание сайта.

Шестой этап - сдача проекта.

На данном этапе заказчик или его доверенное лицо просматривают готовый проект и в случае, если все устраивает, то подписывают документы о сдаче проекта.

Так же на этом этапе производится обучение представителя заказчика навыкам работы в администраторской зоне сайта.

Уникальный дизайн стоит дороже, но и предполагает отрисовку с нуля, полностью уникальную разработку под конкретный заказ. В зависимости от профессионализма и / или политики компании веб-дизайнер либо разрабатывает идею и концепцию дизайна полностью самостоятельно, либо получает ряд требований (цвет, стиль и т.п.), ожиданий и идей от заказчика или креативного директора (арт-директора) и старается держаться этого направления при разработке макета. Большинство заказчиков ошибочно отождествляют веб-дизайнера и веб-мастера, поручая ему и публикацию сайта.

Иногда дизайнер может предложить дизайн-решение на основе шаблонов (своих или даже чужих), это ускоряет работу и обойдется заказчику дешевле. Некоторые дизайнеры даже специализируются на изготовлении дизайн-макетов для продажи в качестве готовых шаблонов, которые затем могут быть куплены и использоваться менее опытными дизайнерами или веб-мастерами для изготовления типовых сайтов (по сути, без уникального дизайна). Иной раз разработкой веб-дизайна называют небольшую перекомпоновку и адаптацию такого шаблона под конкретный заказ.

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

Изображение первоначально может быть векторным или растровым, выполненным в Adobe Illustrator, Adobe Photoshop, GIMP или другом визуальном редакторе (например, Scribus или Inkscape), но для верстальщика изображение, как правило, переводится в растровый формат.

Для демонстрации клиенту изображение обычно переводится в простой однослойный и привычный формат изображений[4].

2.3 Базовые структуры сайта


Структурные схемы страниц (wireframes) - основной результат работ по проектированию. Они в деталях показывают, какая информация и элементы управления должны выводиться на каждой странице системы. А также расставляют акценты - какие из элементов страницы более, а какие - менее важны. Wireframes также описывают поведение динамических и AJAX-элементов страниц - как они должны реагировать на действия пользователя. Стоит помнить, что схемы страниц - это не конечный дизайн системы и все размеры в нем относительны.сайт, содержит несколько тематических рубрик, соединенных между собой гиперсвязями. Ссылки на все разделы сайта с краткими анонсами их содержимого приводятся на первой, так называемой стартовой странице, которой присваивается имя index.htm (.html).

Набор тематических рубрик с распределенными по соответствующим разделам документами и заранее спроектированными гипер-связями между всеми страницами ресурса называется логической структурой сайта. Физическая структура, напротив, подразумевает алгоритм размещения физических файлов по поддиректориям папки, в которой опубликован сайт.

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

При планировании структуры сайта необходимо продумать несколько основных вещей: структуру каталогов, структуру навигации, необходимость заставки сайта.

Структура каталогов.

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

Линейная - страницы располагаются в определенном порядке (Рисунок 2.1). Переход с одной страницы на другую строго определен. Такая структура обоснована, например, при обучении. Располагая страницы в определенном порядке, вы можете быть уверены, что пользователь не пропустит нужный материал.

Рисунок 2.1 - Линейная структура сайта

Иерархическая - страницы разбиты по категориям и подкатегориям (Рисунок 2.2). Такая структура наиболее удобна.

Рисунок 2.2 - Иерархическая структура сайта

Произвольная - страницы расположены в свободном порядке (Рисунок 2.3). Такая структура оправдана только для небольших сайтов.

Рисунок 2.3 - Произвольная структура сайта

Структура навигации.

Это очень важная часть планирования ресурса. Способ доступа к информации на сайте должен быть простым и понятным. Пользователь в любую минуту должен знать ответы на следующие вопросы:

Где я нахожусь?

Куда могу пойти?

Как туда добраться?

Как вернуться назад?

Для решения этих задач используются различные варианты. Например, можно как-то выделить страницу в меню, на которой сейчас находится пользователь, а само меню сделать видимым на всех страницах сайта[5].

Также можно сделать так называемые навигационные ключи, т.е. на каждой странице (сверху) указать полный путь до этой страницы по схеме: главная страница - название раздела - название страницы.

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

Основные системы навигации:

) Текстовая система навигации - самый распространенный вид. Надо сказать, что текстовая навигация должна присутствовать даже, если вы используете другие системы навигации (так как она самая надежная). В общем случае, такая навигация представляет собой оформленные различными способами текстовые ссылки.

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

) Кнопки - являются вторыми по частоте использования элементами навигации. Кнопки могут быть любого размера, формы, цвета и стиля. Используя их, вам придется подключить к каждой обработчики событий (например, на javascript), которые будут описывать действия по нажатию на кнопку или наведения на нее курсора мыши.

Более оптимальным решением является следующее: оставить лишь вид кнопки (фоном), а текст на ней все-таки оформить в виде ссылки. Этог нетрудно добиться средствами CSS. Пример обыкновенной кнопочной навигации:

) Навигационные карты. При таком подходе берется изображение и к различным его областям привязываются ссылки. Самым распространенным примером являются туристические карты мира, щелкаете по ее части с какой-либо страной и попадаете на страницу, посвященную этой стране. Карты обязательно надо дублировать хотя бы скромным горизонтальным меню внизу страницы. Иначе, при малейшем сбое пользователь вообще никуда не сможет перейти[5].

 

2.4 Выбор программных средств для создания web-представительства


Обзор HTML - редакторов

Macromedia HomeSite.

Macromedia HomeSite (Рисунок 2.4), пожалуй, является одним из самых распространенных средств редактирования HTML-документов среди пользователей, предпочитающих кодировать страницы вручную. Вместе с тем, HomeSite позволяет значительно ускорить сам процесс создания и облегчить работу разработчика.

Рисунок 2.4 - Macromedia HomeSite

Рабочее пространство программы можно условно поделить на три части: первая, самая большая - собственно окно с содержанием документа, вторая часть, находящаяся левее, по умолчанию содержит перечень документов, имеющихся на диске. И, наконец, вверху, кроме традиционного меню, имеются несколько панелей с наиболее часто используемыми функциями, вид которых, впрочем, можно настроить на свой вкус[6].HomeSite обеспечивают удобную подсветку синтаксиса не только HTML-страниц, но и файлов PHP, Perl, ASP, MySQL и других популярных средств разработки. Данный факт придется по душе опытным пользователям, которые не ограничиваются средствами языка гипертекстовой разметки и используют более сложные языки веб-программирования. Если же Вас не устраивает текущая цветовая схема подсветки синтаксиса, то это не проблема - можно отредактировать существующую, или даже создать собственную схему оформления документов. HomeSite имеет мощную справочную систему, содержащую кроме описания возможностей программы спецификации языка HTML, справочник тегов и включающая удобные всплывающие подсказки по текущему дескриптору - для их вызова достаточно нажать F2, и пользователю демонстрируются все возможные атрибуты для данного тега.

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

Панель разделена на несколько вкладок, на каждой из которых представлены теги, относящиеся к одной группе. Например, вкладка Fonts содержит кнопки для быстрого увеличения размера шрифта, смены его начертания, местоположения относительно строки и для вставки заголовков трех уровней.

Альтернативным способом ввода вручную всех атрибутов тега является, так называемый, Tag Editor - редактор тегов, с помощью которого можно существенно облегчить процесс присвоения значений различным атрибутам.

Отдельно стоит отметить средства для создания и конфигурирования таблиц и фреймов - Table Wizard и Frame Wizard, позволяющие существенно облегчить жизнь разработчику при создании таблиц и фреймов сложной структуры.

Необходимо отметить, что Homesite содержит встроенный модуль проверки орфографии, проверяющий не только корректность использованных дескрипторов, но и непосредственно правильность самого текста, а также редактор файлов CSS - каскадных листов стилей под названием TopStyle.

Для повышения скорости создания документов можно воспользоваться клавиатурными сокращениями - HomeSite предоставляет обширное поле деятельности для любителей клавиатуры. Например, тегу

соответствует комбинация клавиш Ctrl+Break. Впрочем, пользователь волен назначить практически любой команде удобное ему сочетание клавиш.

SiteEdit.

Программа SiteEdit создана российской компанией EdgeStile и позиционируется разработчиками как система управления сайтом. В отличие от HomeSite, SiteEdit относится к так называемым визуальным средствам разработки - WYSIWYG-редакторам (от заглавных букв выражения What You See Is What You Get - «что видите, то и получите»).

После первого запуска программы появляется готовый шаблон веб-узла.

Структура всего узла представлена в виде различных страниц, содержащих в себе несколько разделов. Раздел, в свою очередь, может содержать в себе несколько записей или объектов. Перейдя в режим редактирования, появляется возможность редактировать существующие разделы и добавлять новые, изменить текст имеющейся записи или добавить новую запись.

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

Программа предлагает несколько шаблонов оформления: book, galeon, kafe, palm_skin, stroitel, благодаря которым можно существенно изменить облик всего сайта в целом.

Все элементы страницы доступны для редактирования. Для более кардинального изменения дизайна существует редактор дизайна, предоставляющий широчайшие возможности для изменения всех элементов, присутствующих на странице (Рисунок 2.5).

Рисунок 2.5 - SiteEdit

С левой стороны имеется список элементов, справа - их вид на странице, снизу же доступны окна для изменения значений атрибутов того или иного дескриптора. Например, для тега Font доступны следующие атрибуты: цвет, размер, толщина, начертание, наклон подчеркивание, интервал. Вручную прописывать ничего не требуется, достаточно выбрать нужный элемент из выпадающего списка. Выбор цвета также не представляет трудностей - к услугам пользователя палитра, необходимо лишь определиться с понравившимся оттенком.

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

Напрямую сохранить код странички из программы невозможно, для этого необходимо выбрать пункт «Просмотр страницы в браузере», и лишь из браузера можно сохранить страницу в виде html-файла. Данный подход, видимо, связан с тем, что в версиях Standard и Business программы SiteEdit имеется возможность выгрузки всего проекта сразу на хостинг, однако в бесплатной версии Start данная возможность, к сожалению, отсутствует.

Еще одна Freeware-программа - это HTML Source (Рисунок 2.6). Первое, что отличает его от других редакторов - небольшой размер дистрибутива программы - всего 1,5 Мб. Несмотря на это функциональность и возможности программы не уступают другим[7].

Рисунок 2.6 - HTML Source

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

В верхней части рабочей области программы имеется обычная панель инструментов, на которой расположены кнопки для создания нового документа, открытия существующих файлов, печати файла, проверки орфографии и прочие распространенные действия. Все пиктограммы выполнены в неплохом стиле, однако огорчает лишь отсутствие всплывающих подсказок при наведении на ту или иную иконку действия. Примечательно, что программа сама определяет, какие браузеры установлены в системе, и в панели инструментов имеются иконки для просмотра документа в имеющихся у пользователя браузерах. В моем случае, кроме стандартного Internet Explorer, были уставлены также Opera и Mozilla FireFox, что и продемонстрировала программа.

В программе отсутствует возможность визуальной разработки страниц, т.е. для тех, кто не знаком с азами языка гипертекстовой разметки, данный продукт не подойдет. Однако тем, кто предпочитает разрабатывать веб-документы вручную, HTML Source готов предложить неплохой набор инструментов для ускорения процесса кодирования.Source предлагает подсветку синтаксиса HTML-файлов.

В меню «Insert» у пользователя имеется возможность вставки даты, специальных символов HTML, изображений, а также широкого набора смайлов.

В меню «Tools» собраны все инструменты данного программного средства. Он состоит из следующих пунктов:

Пункт «Convert Case» позволяет сменить регистр букв, т.е. либо инвертировать его, либо привести к одному определенному;

Пункт «Convert CodePage» позволяет быстро сменить кодировку всей страницы;

Встроенный модуль проверки орфографии;

Средство для оптимизации HTML-кода под названием Tidy, который приводит вид документа в соответствии с требованиями организации W3C, которая и занимается разработкой стандартов языка гипертекстовой разметки.Source обладает продвинутой справочной системой, включающую в себя полное описание возможностей программы, а также спецификации языка HTML, включая CSS.

Еще одним мощным средством создания Web-приложений является Macromedia Dreamweaver MX 2004.

Возможности Macromedia Dreamweaver MX 2004 (Рисунок 2.7) впечатляют. После установки пользователя просят выбрать внешний вид программы, который отличается в зависимости от подхода к созданию веб-документов. При выборе «Code» интерфейс программы будет подстроен под нужды кодировщика, а при выборе «Design» - соответственно, дизайнера. Всегда имеется возможность для переключения между этими двумя режимами, а также доступен третий, комбинированный режим - рабочая область программы делится на две части.

Рисунок 2.7 - Macromedia Dreamweaver MX 2004

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

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

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

Приложение имеет встроенный инструмент под названием Tag Chooser, с помощью которого можно вставить не только любой HTML-тег, но и основные выражения и операторы таких языков программирования, как JavaScript, ASP. Net, PHP, WML и ColdFusion.

Удобство комбинированного режима заключается в том, что все проделанные изменения отображаются сразу в обоих окнах. Т.е., внеся изменения в код документа, сразу видно результат в смежном окне и, наоборот, при выборе какого-либо элемента отображается соответствующий код.

При работе в режиме «Code» рабочая область программы напоминает таковую у HomeSite. Конструктор таблиц предоставляет разработчику небывалую гибкость при создании таблиц, при этом программа предлагает использовать один из шаблонов оформления, их насчитывается несколько десятков, причем при выборе определенного шаблона тут же имеется возможность подстроить его под свои нужды, откорректировав некоторые его атрибуты. После создания таблицы и наполнения ее содержимым становится доступным сортировка таблицы по какому-либо столбцу.Dreamweaver MX 2004 может использоваться совместно с другими продуктами компании - Macromedia Fireworks, Flash и др.

Для создания графических объектов лучше всего подходят программу от Adobe (PhotoShop), для анимации пакеты программ от Xara и Ulead. Помимо кнопок, меню и фона на странице могут быть баннеры. Это картинки с различной рекламой, часто анимированные. Среди анимации используется стандарт Flash, созданный корпорацией Macromedia. По своему устройству «флэш-файлы» похожи на «анимированный» GIF. Вот только реализованы они не на основе растровых изображений, а с использованием векторной графики. Самое главное, что flash-анифация занимает значительно меньше места чем обыкновенная графика.

Музыка. Есть возможность вставить для проигрывания MIDI, WAV - файлы, которые будут проигрываться при просмотре страницы. Для них с помощью JAVA - апплетов можно сделать кнопки управления мелодией.- апплеты. Язык программирования JAVA был специально создан для Интернет. С помощью него можно создать довольно эффектные элементы страницы - например, выезжающее меню или анимированные кнопки.- скрипты. Формы. Другая дизайнерская полезность, созданная программистами. GGI - скрипты - это «мини - программы», ссылки на которые можно вставить в тело самой страницы. Эти программы помогают автматизировать многие сложные операции, вводимые посетителями, данными и т.д. С помощью них можно создать гостевую книгу, анкету, поисковик и многие другие вещи.

Счетчики. Одна из самых распространенных форм скриптов, которая служит для подсчета посетителей страницы.

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

Навигационная панель присутствует на экране постоянно, упрощая перемещение по сайту. При щелчке по любой кнопке - ссылке новая страница открывается во втором большом окне[8].

Язык программирования php

PHP (Hypertext Preprocessor - Препроцессор Гипертекста) - это широко используемый язык сценариев общего назначения с открытым исходным кодом.- язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.

Огромным плюсом PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.

Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов - JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.- кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.

Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.

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

История PHP начинается с 1995 года, когда Расмус Лердорф (Rasmus Lerdorf) создал простое приложение на языке Perl, анализирующее посещения пользователями его резюме на веб-сайте. Затем, когда этим приложением уже пользовались несколько человек, а число желающих получить его постоянно увеличивалось, Лердорф назвал свое творение Personal Home Page Tools версия 1 и выставил для свободного скачивания. С этого момента начался небывалый взлет популярности PHP.

Как это всегда бывает, срочно потребовались доработки и дополнения. Для их реализации Расмус создает новую версию пакета, теперь уже написанную на С. Полученный таким образом инструмент приобретает рабочее название PHP/FI (Personal Home Page / Forms Interpreter - Персональная Домашняя страница / Интерпретатор Форм), в дальнейшем он также будет известен под названием PHP 2. Эта версия уже в большей степени похожа на сегодняшний PHP. Она имела синтаксис и способ именования переменных в стиле языка Perl, автоматическую интерпретацию форм, интеграцию с базами данных (в основном с mSQL) и возможность встраивания PHP операторов в html-код страницы. При этом все работало очень быстро, так как PHP прикомпилировался к веб-серверу Apache. К 1997 году PHP использовался уже на 50,000 доменах (не более 1% всех веб-серверов).

В том же 1997 году к проекту PHP подключились Зив Сураски (Zeev Suraski) и Энди Гутманс (Andi Gutmans). Будучи студентами одного из Израильских универсистетов, они пытались использовать PHP/FI для одного из коммерческих университетских проектов. При этом им пришлось столкнуться со многими трудностями и ограничениями этой технологии. Изучая исходный код PHP 2, Зив и Энди пришли к выводу о необходимости доработки, а точнее существенной переработки PHP, особенно в плане ситаксиса языка. В течение нескольких месяцев они блестяще справились с этой задачей, тем более приятно, что данная работа была зачтена им в качестве учебной нагрузки университета.

Закончив работу Зив и Энди связались с Расмусом, который воспринял все изменения PHP «на ура». С этого момента появляется PHP Group - группа единомышленников, работающих над развитием технологии PHP. Полученный продукт совместной деятельности увидел свет в 1998 году под названием PHP 3.

При этом главной особенность PHP 3 была возможность расширения ядра, что привлекло к работе над PHP множество сторонних разработчиков, создающих специализированные модули. Их наличие дало PHP возможность работать с огромным количество баз данных, протоколов, поддерживать большое число API. К концу 1998 количество пользователей PHP перевалило за 100000, а PHP был уже установлен на не менее чем 10% серверах Интернета.

Сразу же после выхода PHP 3, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В первую очередь предстояло решить проблему повышения производительности. Новый движок, названный Zend Engine (от имен создателей: Zeev и Andi), успешно справлялся с этой задачей и был реализован в 1999 году. Основной идей его использования была возможность компиляции сценария в исполняемый модуль, за счет чего производительность можно было поднять на порядок.4, работающий на этом движке вышел в 2000 году. В дополнение к улучшению производительности, PHP 4 имел новые возможности по поддержке сессий, буферизацию вывода, безопасные способы обработки вводимой пользователем информации и новые языковые конструкции. С выходом 4 версии PHP стал использоваться уже на более чем 20% доменов Интернета.

За время с 2000 по 2004 год продолжались активные работы по улучшению 4 версии, но почти сразу PHP Group приступила к продумыванию возможностей новой версии. В первую очередь было решено усилить объектные возможности языка, что позволяло использовать его для реализации достаточно крупных проектов. Работы по созданию версии 5 велись продолжительное время, в них принимало участие рекордное количество специалистов, из которых хотелось бы особо отметить Стерлинга Хьюза (Sterling Hughes) и Маркуса Бергера (Marcus Boerger) [9].

В июле 2004 года, выходит официальный релиз PHP 5. В первую очередь, переработке подвергся весь механизм работы с объектами. И если в предыдущих версиях объектно-ориентированное программирование на PHP было возможно в минимальной степени, из-за чего и использовалось на практике не часто, то PHP 5 обладает великолепным потенциалом реализации объектного программирования. Кроме этого, PHP обогатился рядом ценных расширений для работы с XML, различными источниками данных, генерации графики и пр[10].

Все основные библиотеки для работы с XML, которые имелись в PHP 4, были подвергнуты серьезной переработке. Такие популярные расширения, как SAX, DOM и XSLT, теперь используют инструмент libxml2, что делает их еще более эффективными. В PHP 5 также включены два новых расширения - SimpleXML и SOAP.позволяет значительно упростить работу с XML-данными, представляя содержимое XML-документа в виде PHP-объекта. Никогда еще работа с XML в PHP не велась так просто.

Расширение SOAP позволяет строить на PHP сценарии, обменивающиеся информацией с другими приложениями при помощи XML-сообщений поверх существующих веб-протоколов, например HTTP. Появляется возможность интегрировать PHP приложения с популярнейшими на сегодняшний день веб-сервисами. Расширение SOAP для PHP 5 предоставляет разработчикам средство для достаточно быстрого создания эффективных SOAP-клиентов и SOAP-серверов.

Новое расширение PHP 5 MySQLi (MySQL Improved) предназначено для работы с MySQL-сервером версий 4.1.2 и выше, реализуя не только процедурный, но и объектно-ориентированный интерфейс к MySQL. Дополнительные возможности этого модуля включают - SSL, контроль транзакций, поддержка репликации и пр.

Расширение SQLite позволяет строить приложения, хранящие данные в обычных файлах, с возможностью использования к ним интерфейса SQL. Главное преимущество SQLite - исключительная простота использования. SQLite наряду с процедурными имеет также мощные объектно-ориентированные возможности для работы с данными. Другие отличительные особенности SQLilte - высокая скорость, отсутствие сложных механизмов администрирования, легкая переносимость и пр. Многие эксперты прогнозируют большую популярность данного расширения PHP.

Другие новые расширени PHP 5 включают:

Tidy - для анализа и исправления HTML-документов;

Perl - использование Perl-сценариев непосредственно из PHP-кода;

SPL (Standard PHP Library) - расширение ZE2, определяющее стандартный набор интерфейсов и классов;

PDO (PHP Data Objects) - предоставляет универсальный интерфейс доступа к данным из PHP;

PIMP - новая библиотека для работы с графикой, пришедшая на замену модуля GD.

Среди других крайне полезных добавлений в PHP 5 следует отметить новую схему обработки исключений. Конструкция try/catch/throw позволит весь код обработки ошибок локализовать в одном месте сценария.

Кроме этого, в PHP 5:

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

PHP 5 дополнен свойствами, необходимыми для чёткой реализации структуры PEAR и связанной с ним функциональности

добавлено множество новых функций для работы с массивами, потоками, файлами, строками и пр.

В PHP, в отличие от многих других языков программирования, присутствует так называемый слабый контроль типов. То есть тип переменной можно не объявлять, по ходу программы она может содержать самые разные значения, сначала, например, содержать число (integer), затем туда можно записать строку (string) или массив (array). При сравнении двух переменных при помощи оператора сравнения «==» PHP преобразует переменные согласно приведенному ниже алгоритму и затем проводит сравнение (Таблица 2.1). Так, в случае, если вы сравниваете целое со строкой, строка будет преобразована к числу. В случае, если вы сравниваете две числовые строки, они сравниваются как целые числа. Это удобно, но не всегда. При таком сравнении, к примеру, ноль нельзя отличить от FALSE. А ведь нулевой номер имеют первые элементы массивов и строк. Поэтому, в PHP есть оператор идентичности «===», который сравнивает переменные с учетом их типов (Таблица 2.2).

Таблица 2.1. Гибкое сравнение с помощью «==»


TRUE

FALSE

1

0

-1

«1»

«0»

« - 1»

NULL

array()

«php»

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

1

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

0

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

-1

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

«1»

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

«0»

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

« - 1»

TRUE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

NULL

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE

TRUE

FALSE

array()

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

«php»

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE


Таблица 2.2. Жёсткое сравнение с помощью «===» (учитывает тип переменных)


TRUE

FALSE

1

0

-1

«1»

«0»

« - 1»

NULL

array()

«php»

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

1

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

0

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

-1

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

«1»

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

«0»

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

« - 1»

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

NULL

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

array()

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

«php»

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE


Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т.п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа Hello world на PHP выглядит следующим образом:

<? php'Hello, world!';

?>

Также возможен более короткий вариант вывода строки:

<?= 'Hello, world!'?>

Открывающий тэг вида <?= используется для сокращённой записи конструкций используемых для вывода строки.исполняет код, находящийся внутри ограничителей, таких как <? php?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:

<html>

<head>

<title>Тестируем PHP</title>

</head>

<body>

<? php echo 'Hello, world!';?>

</body>

</html>

Помимо ограничителей <? php?>, допускается использование дополнительных вариантов, таких как <??> и <script language= «php»> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <%%> (конструкции <??> и <%%> могут быть выключены в конфигурационном файле php.ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев, после объявления конструкции if/else и циклов[11].

Переменные в функцию можно передавать как по значению, так и по ссылке (используется знак &).поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным типам данных относятся:

·              целый тип (integer),

·              вещественный тип данных (float, double),

·              логический тип (boolean),

·              строковый тип (string),

·              и специальный тип NULL.

К нескалярным типам относятся:

·              «ресурс» (resource),

·              массив (array),

·              объект (object),

К псевдотипам относятся:

·              mixed один или несколько необязательных параметров,

·              number число (integer либо float),

·              callback (string или анонимная функция),

·              void отсутствие параметров.

Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10−308 до ±1.7×10+308).предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0», NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются вTRUE.

Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкцииunset().

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

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется. Не совсем корректно называть php-массивы массивами, на самом деле это, скорее всего, упорядоченный хеш. Возможно неожиданное поведение при использовании цикла for со счетчиком вместо foreach. Так, например, при сортировке массива с численными индексами функциями из стандартной библиотеки, сортируются и ключи тоже.

Указатель на функцию в PHP может быть представлен замыканием или псевдотипом callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:

function ($args..$argsN) use ($ctxVar,$ctxVar1) {definition;}

тип может быть представлен:

·              строкой (интерпретируется как название функции);

·              массивом где нулевой и первый элемент - строки (интерпретируется как название статической функции класса);

·              массивом где нулевой элемент - объект, а первый - строка (интерпретируется как метод у объекта).

Для проверки является ли значение вызываемым следует использовать is_callable($var)

Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций. Например:

$a = 'I am a'; // Запись значения в переменную $a$a; // Вывод переменной $а

$b = 'a';$$b; // Вывод переменной $а (дополнительный $ перед переменной $b)

echo ${'a'}; // Вывод переменной $a_name(); // Вызов функции function_name

$c = 'function_name';

$c(); // Вызов функции function_name,

$d = 'Class_name';

$obj = new Class_name; // Создание объекта класса Class_name

$obj = new $d(); // Создание объекта класса Class_name

$obj->b; // Обращение к полю b объекта

$obj->c(); // Вызов метода c() объекта

$obj->$b; // Обращение к полю a объекта, так как $b = 'a'

$obj->$c(); // Вызов метода function_name() объекта, так как $c = 'function_name'

В PHP echo и print не являются функциями (хотя print имеет возвращаемое значение), а являются синтаксическими единицами. При их использовании можно опустить скобки.

Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы, имеющие глобальную область видимости без использования директивы global. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т.п.).

Все суперглобальные массивы, кроме $GLOBALS и $_REQUEST, имеют устаревшие аналоги с длинными именами, которые доступны вплоть до версии 5.3.х (начиная с 5.4.0 были удалены). Таким образом, обращения $_GET['year'] и $HTTP_GET_VARS['year'] идентичны (за исключением области видимости: массивы с «длинными» именами не являются суперглобальными) [12].

$GLOBALS

Массив всех глобальных переменных (в том числе и пользовательских).

$_SERVER (устаревший аналог - $HTTP_SERVER_VARS)

Содержит переменные окружения, которые операционная система передаёт серверу.

$_ENV (уст. $HTTP_ENV_VARS)

Текущие переменные среды (англ. Environment variables). Их набор специфичен для платформы, на которой выполняется скрипт.

$_GET (уст. $HTTP_GET_VARS)

Содержит параметры GET-запроса, переданные в URI после знака вопроса «?».

$_POST (уст. $HTTP_POST_VARS)

Ассоциативный массив значений полей HTML-формы при отправке методом POST. Индексы элементов соответствуют значению свойства name объектов (кнопки, формы, радио-кнопки, флажки и т.д.) HTML-формы.

$_FILES (уст. $HTTP_POST_FILES)

Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс, идентичный значению атрибута «name» в форме, и, в свою очередь, также является массивом со следующими элементами:

·              ['name'] - исходное имя файла на компьютере пользователя.

·              ['type'] - указанный агентом пользователя MIME-тип файла. PHP не проверяет его, и поэтому нет никаких гарантий, что указанный тип соответствует действительности.

·              ['size'] - размер файла в байтах.

·              ['tmp_name'] - полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно.

·              ['error'] - код ошибки. Если файл удачно загрузился, то этот элемент будет равен 0 (UPLOAD_ERR_OK).

$_COOKIE (уст. $HTTP_COOKIE_VARS)

Ассоциативный массив с переданными агентом пользователя значениями куки.

$_REQUEST

Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES.

$_SESSION (уст. $HTTP_SESSION_VARS)

Содержит данные сессии.поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП - инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.

Начиная с версии 5.4.0 множественное наследование может быть реализовано с помощью механизма особенностей (англ. trait). Особенности похожи на примеси (англ. mixins), за исключением того что для них нельзя напрямую создать экземпляр. Повторное использование кода заключено в использовании кода особенности в нескольких классах. Допускается использовать в одном классе несколько особенностей. Механизм особенностей имеет средства разрешения конфликтов имён. При запуске программы код особенности будет «вкомпилирован» в код содержащего его класса.

Классы в PHP имеют ряд специальных методов (англ. magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта[13].

Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора ->. Для доступа к членам класса из его методов используется переменная $this.

class C1 extends C2 implements I1, I2

{$a;$b;__construct ($a, $b)

{:__construct ($a, $b);

$this->a = $a;

$this->b = $b;

}function plus()

{$this->a + $this->b;

}

/*…………… */

}

$d = new C1 (1, 2);$d->plus(); // 3

Начиная с пятой версии PHP, объекты передаются по ссылке:

class a

{$color = 'red';

}

$a = new a();$a -> color; // red

$b = $a;

$b -> color = 'blue';$a -> color; // blue

«Paamayim Nekudotayim» или просто «двойное двоеточие». Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, программист должен использовать имя этого класса. «Paamayim Nekudotayim» на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали именно это обозначение. «Paamayim Nekudotayim» действительно значит «двойное двоеточие» на иврите. Это обозначение не менялось ни разу в течение всего времени разработки PHP.

<? phpMyClass {CONST_VALUE = 'Значение константы';

}

// Использование: вне объявления классаMyClass:CONST_VALUE;

?>

 

Язык программирования JavaScript

JavaScript - прототипно-ориентированный сценарный язык программирования. Является диалектом языка ECMAScript.обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.

На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.

Название «JavaScript» является зарегистрированным товарным знаком компании Oracle Corporation.является объектно-ориентированным языком, но используемое в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными класс-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам - функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания - что придаёт языку дополнительную гибкость.

Несмотря на схожий с Си синтаксис, JavaScript по сравнению с языком Си имеет коренные отличия:

·              объекты, с возможностью интроспекции;

·              функции как объекты первого класса;

·              автоматическое приведение типов;

·              автоматическая сборка мусора;

·              анонимные функции.

В языке отсутствуют такие полезные вещи, как:

·              модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости;

·              стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода / вывода, базовых типов для бинарных данных;

·              система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.

Семантика и синтаксис.

Синтаксис языка JavaScript во многом напоминает синтаксис Си и Java, семантически же язык гораздо ближе к Self, Smalltalk или даже Лиспу.

В JavaScript:

·              все идентификаторы регистрозависимы,

·              в названиях переменных можно использовать буквы, подчёркивание, символ доллара, арабские цифры,

·              названия переменных не могут начинаться с цифры,

·              для оформления однострочных комментариев используются // , многострочные и внутристрочные комментарии начинаются с /* и заканчиваются */.

Структура языка.

Структурно JavaScript можно представить в виде объединения трёх чётко различимых друг от друга частей:

·              ядро (ECMAScript),

·              объектная модель браузера (Browser Object Model или BOM (de)),

·              объектная модель документа (Document Object Model или DOM).

Если рассматривать JavaScript в отличных от браузера окружениях, то объектная модель браузера и объектная модель документа могут не поддерживаться.

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

Взаимодействие.

В некоторых языках программирования существуют средства поддержки взаимодействия с JavaScript-кодом.

·              Для PHP имеется пакет HTML_Javascript, предоставляющий интерфейс создания простых JavaScript-программ.

·              Соответствующий пакет для TCL называется: javascript. Он предоставляет команды генерации кода HTML и JavaScript.

·              Пакет для Perl Data: JavaScript позволяет переносить структуры данных Perl в JavaScript-код.

Поддержка браузерами.

На сегодняшний день поддержку JavaScript обеспечивают современные версии всех наиболее часто используемых браузеров. В Internet Explorer, Mozilla Firefox, Safari, Google Chrome, Opera имеется полная поддержка третьей редакции ECMA-262. При этом в Mozilla Firefox предпринята попытка осуществления поддержки четвёртой редакции спецификации, а первым браузером, в котором появилась неполная поддержка спецификации 3.1, явился Internet Explorer 8.

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

По мнению создателя языка, поддержка в Internet Explorer компанией Microsoft одного из существующих и применяющихся в других браузерах быстрых движков JavaScript способно привести к появлению приложений, работающих с трёхмерной графикой, написанных на JavaScript 3D-игр, использованию JavaScript в задачах, в которых ранее применялась технология Adobe Flash.

При генерации страниц в Web возникает дилемма, связанная с архитектурой «клиент-сервер». Страницы можно генерировать как на стороне клиента, так и на стороне сервера. В 1995 году специалисты компании Netscape создали механизм управления страницами на клиентской стороне, разработав язык программирования JavaScript.

Таким образом, JavaScript - это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента.

Основная идея JavaScript состоит в возможности изменения значений атрибутов HTML-контейнеров и свойств среды отображения в процессе просмотра HTML - страницы пользователем. При этом перезагрузки страницы не происходит[14].

На практике это выражается в том, что можно, например, изменить цвет фона страницы или интегрированную в документ картинку, открыть новое окно или выдать предупреждение.

Для создания механизма управления страницами на клиентской стороне было предложено использовать объектную модель документа. Суть модели в том, что каждый HTML-контейнер - это объект, который характеризуется тройкой:

·              свойства;

·              методы;

·              события.

Объектную модель можно представить как способ связи между страницами и браузером. Объектная модель - это представление объектов, методов, свойств и событий, которые присутствуют и происходят в программном обеспечении браузера, в виде, удобном для работы с ними кода HTML и исходного текста сценария на странице. Мы можем с ее помощью сообщать наши пожелания браузеру и далее - посетителю страницы. Браузер выполнит наши команды и соответственно изменит страницу на экране.

Объекты с одинаковым набором свойств, методов и событий объединяются в классы однотипных объектов. Классы - это описания возможных объектов. Сами объекты появляются только после загрузки документа браузером или как результат работы программы. Об этом нужно всегда помнить, чтобы не обратиться к объекту, которого нет.

Многие HTML-контейнеры имеют атрибуты. Например, контейнер якоря <A…>…</A> имеет атрибут HREF, который превращает его в гипертекстовую ссылку:

<A HREF=intuit.htm>intuit</A>

Если рассматривать контейнер якоря <A…>…</A> как объект, то атрибут HREF будет задавать свойство объекта «якорь». Программист может изменить значение атрибута и, следовательно, свойство объекта:

document.links[0].href= «intuit.htm»;

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

Для общности картины свойствами в JavaScript наделены объекты, которые не имеют аналогов в HTML-разметке. Например, среда исполнения, называемая объектом Navigator, или окно браузера, которое является вообще самым старшим объектом JavaScript.

В терминологии JavaScript методы объекта определяют функции изменения его свойств. Например, с объектом «документ» связаны методы open(), write(), close().

Эти методы позволяют сгенерировать или изменить содержание документа.

Например:

function hello()

{id=window.open («», «example», «width=400, height=150»);.focus(); id.document.open();.document.write («<H1>Привет!</H1>»);.document.write («<HR><FORM>»);.document.write («<INPUT TYPE=button VALUE='Закрыть окно'»);.document.write («onClick='window.opener.focus(); window.close();'>»);

id.document.close();

}

В этом примере метод open() открывает поток записи в документ, метод write() осуществляет эту запись, метод close() закрывает поток записи в документ. Все происходит так же, как и при записи в обычный файл.

Кроме методов и свойств объекты характеризуются событиями. Собственно, суть программирования на JavaScript заключается в написании обработчиков этих событий. Например, с объектом типа button (контейнер INPUT типа button - «Кнопка») может происходить событие click, т.е. пользователь может нажать на кнопку. Для этого атрибуты контейнера INPUT расширены атрибутом обработки события click - onClick. В качестве значения этого атрибута указывается программа обработки события, которую должен написать на JavaScript автор HTML - документа:

<INPUT TYPE=button VALUE= «Нажать» onClick= «window.alert ('Пожалуйста, нажмите еще раз');»>

Обработчики событий указываются в тех контейнерах, с которыми эти события связаны. Например, контейнер BODY определяет свойства всего документа, поэтому обработчик события завершения загрузки всего документа указывается в этом контейнере как значение атрибута onLoad.

Примечание. Строго говоря, каждый браузер, будь то Internet Explorer, Netscape Navigator или Opera, имеет свою объектную модель.

Объектные модели разных браузеров (и даже разные версии одного) отличаются друг от друга, но имеют принципиально одинаковую структуру. Поэтому нет смысла останавливаться на каждой из них по отдельности.

Схема URL (Uniform Resource Locator) - это один из основных элементов Web - технологии. Каждый информационный ресурс в Web имеет свой уникальный URL.указывают в атрибуте HREF контейнера A, в атрибуте SRC контейнера IMG, в атрибуте ACTION контейнера FORM и т.п. Все URL подразделяются на схемы доступа, которые зависят от протокола доступа к ресурсу, например, для доступа к FTP-архиву применяется схема ftp, для доступа к Gopher-архиву - схема gopher, для отправки электронной почты - схема smtp. Тип схемы определяется по первому компоненту URL: #"784534.files/image009.gif">

Рисунок 3.1 - Панель навигации

В нижней части страницы располагается блок навигации, в котором продукция располагается по категориям в алфавитном порядке (алфавитный каталог). Алфавитный каталог представлен на Рисунке 3.2.

Общий вид страницы представлен на Рисунке 3.3.

Рисунок 3.2 - Алфавитный каталог

Рисунок 3.3 - Главная страница сайта «artposters.kz»

Регистрация

Регистрация пользователей происходит посредством заполнения формы с необходимыми данными пользователя (Рисунок 3.4). Данные вновь зарегистрированного пользователя вносятся в базу данных, специально созданная таблица в базе данных содержит поля для хранения всей необходимой информации о пользователе.

Регистрация пользователей реализована с помощью запросов в базу данных MySQL посредством языка php. После того как пользователь внес информацию в поля формы регистрации, нажатием кнопки «Зарегистрироваться» данные из формы посылаются в файл register.php методом POST. В файле register.php данные сначала проверяются на соответствие правилам заполнения формы, на повторение логина, и после, если логин уникален, вносятся в базу данных в таблицу users, которая хранит информацию о пользователях.

Рисунок 3.4 - Форма для регистрации пользователей

После регистрации появляется сообщение об успешной регистрации (Рисунок 3.5).

Рисунок 3.5 - Регистрация прошла успешно

После регистрации пользователи могут выполнять заказы на интересующую их продукцию[26].

Заказ продукции

Оформление заказа происходит на странице «Корзина» (Рисунок 3.6).

Рисунок 3.6 - Страница оформления заказа

Разработка формы заказа продукции реализовывалась также с помощью запросов в базу данных MySQL посредством языка php. Исходный код формы заказа помещен в Приложение B. Чтобы осуществить заказ пособий следует кликнуть по кнопке «Отправить заявку», либо можно удалить выбранные постеры из списка кликнув по соответствующей кнопке[27].

3.2 Структура базы данных


Инфологическая модель баз данных

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

Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром - Москва, Киев и т.д.

Атрибут - поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: Красный, Синий, Банановый, Белая ночь и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

Абсолютное различие между типами сущностей и атрибутами отсутствует. Атрибут является таковым только в связи с типом сущности. В другом контексте атрибут может выступать как самостоятельная сущность. Например, для автомобильного завода цвет - это только атрибут продукта производства, а для лакокрасочной фабрики цвет - тип сущности.

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

Связь - ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных - это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей[28].

Инфологическая модель данного Web-приложения будет выглядеть следующим образом (Рисунок 3.7):

Рисунок 3.7 - Инфологическая модель базы данных

4. Экономическая часть

Целью данного раздела дипломного проекта является расчет затрат на разработку программного обеспечения Web-приложения для компании TOO «ILLUSTRATE studio».

Общие понятия об экономической эффективности программного обеспечения Web-приложения

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

Экономическая эффективность - это результативность экономической системы, выражающаяся в отношении полезных конечных результатов ее функционирования к затраченным ресурсам.

Для оценки эффективности системы необходимо рассчитать затраты на ее разработку. В экономике существует следующая классификация затрат и ресурсов:

-          затраты живого труда (отработанное время, фонд заработной платы);

-          материальные затраты (затраты сырья, материалов, топлива, энергии);

-          производственные фонды (основные производственные фонды, оборотные фонды, фонды обращения);

-          капитальные вложения;

-          инвестиции (затраты на расширенное воспроизводство основных фондов и прирост оборотных фондов);

-          природные ресурсы (земля, запасы полезных ископаемых, леса, воды);

-          информационные ресурсы (знания, результаты научных исследований, изобретения и рационализаторские предложения);

-          время, как экономическая категория (рабочий период, время производства, сроки реализации инвестиций, инноваций, внедрения новой техники) [29].

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

Расчёт затрат на разработку программного обеспечения Web-приложения для предприятия ТОО «ILLUSTRATE studio»

Себестоимость создания программного обеспечения Web-приложения определяется по формуле:

Ссозд= Мз+Фзп+Зэл+Зи +Актс+НР,             (4.1)

Где Ссозд - себестоимость системы;

Мз - материальные затраты;

Фзп - фонд заработной платы сотрудников;

Зэл - затраты на электроэнергию, отопление и освещение;

Актс - амортизационные отчисления на покупное оборудование и программное обеспечение;

НР - накладные расходы.

Все величины измеряются в тенге.

Общая сумма материальных затрат равна:

Мз = Зб + Зд + Зкт,   (4.2)

Где Зб, Зд, Зкт - затраты на бумагу, диски, канцелярские товары.

Зб = Кб * Сб = 625 * 2 = 1250 тг,

Зд = Кд * Сд= 200 * 26 = 5200 тг,

Зкт = 5000 тг,

где Кб, Кд, - количество бумаги (пачка), дисков (шт.),

Сб, Сд - стоимость 1 пачки бумаги, 1 диска.

М3 = 1250 + 5200 + 5000 = 11450 тг.

Фонд заработной платы определяется по формуле:

Фзп=(ЗПр+ЗПс)*М*М,                                   (4.3)

Где ЗПр - заработная плата разработчика в месяц, тенге;

ЗПс - отчисления в пенсионный фонд, тенге;

М - продолжительность разработки, мес.: принимаем М=2 мес.

Заработная плата разработчика определяется по формуле:

ЗПр=Тст*Ктс*Квр,                                          (4.4)

Где Тст - тарифная ставка 1-го разряда, тенге: для I квартала принимаем Тст= 6200 тенге;

Ктс - коэффициент тарифной сетки: для 10 разряда принимаем Ктс=1,91

Квр - коэффициент вредности: принимаем Квр=1,7

По формуле (4.4) рассчитаем величину заработной платы разработчика:

ЗПр=6200*1,91*1,7=20131 тенге.

Отчисления в пенсионный фонд определяются в размере 10% от заработной платы:

ЗПс=2013 тенге.

По формуле (4.3) рассчитаем фонд заработной платы разработчикам:

Фзп=(20131+2013)*2*1=44288 тенге.

Затраты на электроэнергию, освещение, отопление определяются по следующей формуле:

Зэл=Сэл+Сос+Сот,                                          (4.5)

Где Сэл - затраты на электроэнергию;

Сос - затраты на освещение;

Сот - затраты на отопление.

Затраты на электроэнергию рассчитываются по формуле:

Сэл=Мк*Тк*Тз*С, (4.6)

Где Мк - потребляемая мощность компьютера;

Тк - время работы компьютера;

Тз - количество рабочих дней;

С - стоимость 1 кВт/час, тенге = 16,24 тг/ч.

По формуле (4.6) рассчитываем затраты на электроэнергию:

Сэл = 0,35*8*60*16,24 =2728,32 тг.

Затраты на освещение составляют:

Сос=Сл*Т*С*Тз,   (4.7)

Где Сл - суммарная мощность светоустановки;

Т - количество часов освещения в день;

С - стоимость 1 кВт/час, тенге = 16,24 тг/ч;

Тз - количество рабочих дней.

По формуле (4.7) определяются затраты на освещение:

Сос=0,7*4*16,24*60=2728,32 тг.

Затраты на отопление составляют:

Сот=Цот*Пл*Мот,                                          (4.8)

Где Цот - цена отопления за 1 кв. м.;

Пл - площадь рабочего помещения;

Мот - количество отопительных месяцев, совпадающих с проведение работ.

Площадь рабочего помещения составляет 19,25. Тогда по формуле (4.8):

Сот=84,8*19,25*3= 4897,2 тг.

По формуле (4.5) затраты на электроэнергию, освещение, отопление составляют:

Зэл= 2728,32 + 2728,32 + 4897,2 = 10353,84 тг.

Затраты на доступ к сети Internet определяется по формуле:

Зи=Ци*М,              (4.9)

Где Ци - абонентская плата, тг/мес.

По формуле (4.9) рассчитаем затраты на доступ к сети Internet:

Зи=4500*2=9000 тг.

Для разработки системы требуется комплекс технических средств, состав и цена которого приведены в таблице 4.1.

Таблица 4.1. Состав комплекса технических средств на разработку сайта

Наименование оборудования

Технические характеристики

Цена, тенге

Компьютер

HP Pro 3500MT (H4L65ES) Intel Celeron Dual Core, 2.6 ГГц, 4096 Мб RAM, 500 Гб HDD

69 900

Модем

Модем TP-Link TD-W8901N

5670


Так как комплекс технических средств приобретают не для одной разработки, а для длительного использования, затраты на эксплуатацию технических средств определяется по формуле:

Aктс=(Цк+Цм)*Ка*M/12,                                  (4.10)

Где Цк - цена компьютера, тенге;

Цм - цена модема, тенге;

Ка - годовой коэффициент амортизации: принимаем Ка=0,2;

- количество месяцев в году, мес.

По формуле (4.10) рассчитаем затраты на комплекс технических средств:

Aктс=(69 900+5670)*0,2*2/12=12595 тенге.

Накладные расходы связаны с внедрением сайта то есть покупка хостинга и доменного имени на год. Также были приведены расходы на питание в период разработки.

HP = Сд + Сх+ П3, (4.11)

Где Сд - стоимость доменного имени З000тг, данные с http://r01.ru/

Сх - стоимость хостинга 2000 тг, данные с http://masterhost.ru/

П3 - затраты на питания.

П3= Фмаш * Соб,      (4.12)

Где Фмаш - время работы,

Соб - стоимость обеда была взята равной 300 тг,

П3= 15 * 300= 4500, тг

В итоге получим:

HP = 3000+2000+4500 = 9 500 тг.

При программного обеспечения Web-приложения предполагается, что у разработчика имеется в наличии комплекс технических средств и необходимое программное обеспечение[30].

По формуле (4.1) себестоимость создания системы составляет:

Ссозд=11450+44288+10353,84+9000+9 500 = 84591,84 тенге.

Договорная стоимость на продажу программного обеспечения Web-приложения определяется по формуле:

Цд=Ссозд*(1+Нр/100),                                   (4.13)

Где Ссозд - стоимость создания системы;

Нр - нормативная рентабельность, проценты.

Основываясь на величине полезности работы (ее результативности) для данного проекта нормативная рентабельность составляет 115%. Тогда по формуле (4.13):

Цд= 84591,84*(1+115/100) = 98126,5344 тг.

Чистая прибыль определяется по формуле:

Пч=Цд - (НДС+Нп+Нс),                                 (4.14)

Где Цд - договорная стоимость на продажу системы: НДС - налог на добавленную стоимость;

Нп - налог на прибыль;

Нс - социальный налог.

Для определения чистой прибыли от разрабатываемого программного обеспечения Web-приложения необходимо вычислить налоговые показатели.

НДС составляет 12% от стоимости системы.

НДС=98126,5344 *0,12=11775,184 тг.

Данный показатель необходимо включить в стоимость продажи сети. Тогда договорная стоимость на продажу программного обеспечения, включая НДС равна:

Цд=98126,5344 +11775,184 =109901,718 тг.

Налог на прибыль составляет 30% от стоимости продажи:

Нп=109901,718 *0,3=32970,513 тг.

Социальный налог составляет 11% заработной платы:

Нс=44288*0,11=4871,68 тг.

По формуле чистая прибыль от продажи данного проекта равна:

Пч=109901,718 - (11775,184 +32970,513 +4871,68) = 60284,341 тг.

Таким образом, чистая прибыль от разарботанного программного обеспечения Web-приложения составляет 60284,341 тг.

Срок окупаемости для поставщика считается по формуле:

Ток=Ссозд / Пч=84591,84 /60284,341»1,4 года.

Согласно приведенным расчетам, внедрение данного проекта окупится примерно через полтора года, что делает его создание экономически выгодным и эффективным[31].


Заключение

Дипломный проект посвящен разработке программного обеспечения Web-приложения информационных систем «artposters.kz» для отдела «Архитектуры и Дизайна» компании ТОО «ILLUSTRATE studio».

В первой главе была проанализирована деятельность отдела «Архитектуры и Дизайна» организации и определены требования к разрабатываемому Web-приложению.

Во второй главе была разработана структура Web-приложения, то из каких страниц будет состоять будущее Web-приложение и то каким образом они будут взаимодействовать между собой. Рассмотрены виды и классификации Web-приложений, базовые структуры Web-приложений. Осуществлен выбор программных и технических средств реализации.

В третьей главе был представлен процесс создания Web-приложения, его программная реализация. Описание интерфейса и дизайна Web-приложения.

В четвертой главе рассмотрены вопросы экономики, представлены расчеты затрат на разработку Web-приложения, инсталляции программного и аппаратного обеспечения Web-приложения, затраты на её внедрение.

В пятой главе рассмотрены вопросы охраны труда. Рассмотрены вопросы, связанные с оснащением рабочего места, вопросам освещенности рабочего места, нормативам, связанным с допустимой величиной шума. Произведен расчет и анализ всех данных параметров.

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

Целью дипломного проекта являлась разработка программного обеспечение Web-приложений информационных систем «artposters.kz», которое будет обеспечивать продажу декоративных постеров, а также обеспечивать распространение рекламы и информации о деятельности компании TOO «ILLUSTRATE studio».

В данном дипломном проекта была реализована задача по созданию Web-приложения «artposters.kz», которое имеет следующие возможности:

Поиск постеров по названию;

Поиск постеров по направлению;

Вывод прайс-листа на постеры;

Регистрация пользователей на сайте;

Оформление заказов на постеры.

Диплом написан на тему связанную с прочным внедрением интернет технологий в нашу жизнь. Еще каких-то лет десять лет назад, никто из нас и представить себе не мог, что интернет будет играть огромную роль в нашей повседневной жизни. Реальность современного мира такова, что людям постоянно не хватает времени, время же стало для каждого из нас очень ценным, так как динамика жизни увеличилась во много раз. Существует множество способов коммуникации и почти все они в какой-то степени зависят от интернета. Но именно благодаря ему у нас есть возможность заказать пиццу, предварительно выбрав ее, купить какую-нибудь технику в интернет-магазине с доставкой на дом, пообщаться с друзьями в социальных сетях, посмотреть другие страны, даже весь мир можно лицезреть благодаря специальным сервисам. Все эти полезные и менее полезные сервисы, описать которых не хватит этой статьи, предоставляет нам интернет.

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

Созданное Web-приложение «artposters.kz», являющаяся по сути интернет-магазином, обладает рядом преимуществ по сравнению с обычными магазинами, это:

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

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

Доставка прямо к порогу. Чтобы вы ни купили - от тюбика крема до огромного дивана - вы всегда можете заказать доставку прямо до вашей двери.

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

Анонимность. Некоторые товары лучше покупать без посторонних глаз. Интернет - магазин гарантирует, что о вашей покупке никто не узнает.

Оплата электронными деньгами и кредитными картами. Это очень удобно и безопасно, так как не приходится передвигаться с большой суммой в кармане по городу и лишний раз искушать судьбу и грабителей.

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

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

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

Данный дипломный проект прошел апробацию. Были проведены испытания данного Web-приложения в результате которых было принято решение о введении его в действие. Данное Web-приложение «artposters.kz» было введено в действие и ныне функционирует в качестве интернет-магазина Заказчика, которое реализует маркетинговую деятельность по продажам декоративных постеров.

Исходя из экономических рассчетов чистая прибыль от разарботанного программного обеспечения Web-приложения составит 60284,341 тг.

Согласно приведенным расчетам, внедрение данного проекта окупится примерно через полтора года, что делает его создание экономически выгодным и эффективным.

Список использованной литературы

1. Пауэлл Т., Web-дизайн. - 2-е изд. СПб.: БХВ-Петербург, 2004. -1072 с.

. Левин А.Ш. Методика создания Web-приложения. 8-ое изд. - СПб.: Питер, 2004 г., 655 с

. Леонтьев В.П., Большая энциклопедия и Интернета. - М.: Олма Пресс, 2005 г.

. С. Круг, «Веб-дизайн», Москва, 2001 г.

. Якоб Н.В., Веб-дизайн. СПб.: Москва, 2005 -102 с.

. Уильямс Р.Д., DHTML и CSS для Internet. СПб.:Нью-Йорк, 2000 г. -400c.

. Дэйв Ши. Молли Е. Хольщшпаг., Философия CSS-дизайна. СПб.: Москва, 2007 -101 с.

. Келли Л.М., Java Script. Наглядный курс создания динамических Web-страниц. - М.: Питер, 2008.

. Скотт Х.М., Администрирование веб-сервера Apache и руководство по електронной коммерции «БХВ-Петербург», 2005 г., 399c.

. А. Вайк, Д. Уокер, Р. Кокс, «Справочник PHP 4» от DiaSoft, 2006 г.

. Я. Нильсен, «Веб-дизайн», Москва, 2005 г.

. Матросов А., Сергеев А., Чаунин М., HTML 4.0 в подлиннике, СПб.: БХВ-Петербург, 2004. -672 с.

. Д. Кирсанов, «Веб-дизайн», Санкт-Петербург, 2004 г.

. Дмитриева М.В., Java Script: Самоучитель., «БХВ-Петербург», 2001 г., 499c.

. Белова И., Охрана окружающей среды. Учебник для технических ВУЗов, 1991 г.

. Сагимбаев Г.К. Экология и экономика. - Алматы: Каржы Каражат, 1997 г., 144 с.

. Кимель Л.Р. Защита от ионизирующих излучений. Справочник, 2002. - 312 с.

. Трудовой кодекс РК от 15.05.2007 г.

19. Санитарные правила и нормы СанПиН №1.01.004.01

. Николаев А.П. «Шумовое загрязнение», Киев, 2006 г.

. Калыгин В.Г. «Промышленная экология». Учебное пособие для студентов, Москва 2008 г.

22. ГОСТ 12.1.019-79. ССБТ. Электробезопасность. Общие требования.

. ГОСТ 25861-83. Машины вычислительные и системы обработки данных. Требования электрической и механической безопасности и методы испытаний.

. ГОСТ 12.1.033-81. ССБТ. Пожарная безопасность объектов с электрическими сетями.

. ГОСТ 12.1.004-85. ССБТ. Пожарная безопасность. Общие требования.

. СНиП 2.01.02-85. Противопожарные нормы и правила.

. ГОСТ 12.1.003-83. ССБТ. Шум. Общие требования безопасности.

. ГОСТ 12.1.005-88. ССБТ. Воздух рабочей зоны. Общие санитарно-гигиенические требования.

. Абрамова Ж.И., Оксенгендлер Г.И. Человек и противоокислительные вещества. Л.: Наука, 1985. - 230 с.

. Бааде Ф. Соревнование к 2000 году. М., 1962.

. Байнхауэр X., Шмаке Э. Мир к 2000 году. М.: «Прогресс», 1978.

. Интернет источник: http://kk.convdocs.org/docs/index-250084.html

33. Попов И.Г., Мамонов С.Г. Информационные системы. М.: Инфра, 2007.

. Абросимов А.Г. Бородинова М.А. Теория экономических информационных систем. Учебное пособие - Самара. Изд-во Самарск.гос. экон. акад., 2007.

. Информационные системы. Учебник /Петров В.Н. - СПб.: Питер, 2008.

. Информационное обеспечение систем управления. Учебное пособие / Голенищев Э.П., Клименко И.В. - Ростов н/Д: Феникс, 2009.

37. Интеллектуальные информационные системы в экономике. Учебное пособие / Тельнов Ю.Ф. Издание третье, расширенное и доработанное. Серия «Экономика и бизнес». - Москва.: СИНТЕГ, 2009.

. Общая и социальная экология: учеб. пособ. - М.: Рагс, 2007. - 408 с.

. Акимова Т.А. Экология. Человек - Экономика - Биота - Среда: учеб. для Вузов. - М., 2007. - 495 с.

. Бродский А.К. Общая экология: УЧЕБ. ДЛЯ СТУД. ВУЗов - М., 2008. - 256 С.

. Теория и методика экологического образования детей: учеб. пособие для студ. вузов. - М.: Академия, 2002. - 336 с.

Приложение А

Исходный код главной страницы Web-приложения

Index.php:

<? php_start();(«Content-Type: text/html; charset=utf-8»);

/*ini_set («display_errors», «1»);_reporting (E_ALL);*/

/*include block*/_once 'include/defines.php';_once 'include/basic_functions.php';_once PATH_BASE.'config'.DS.'config.php';_once PATH_BASE.'include'.DS.'mysql_connect.php';

/*classes*/_once PATH_BASE.'adm'.DS.'class'.DS.'resize-class.php';_once PATH_BASE.'include'.DS.'classes'.DS.'statusmessage.php';_once PATH_BASE.'include'.DS.'classes'.DS.'profile.php';

/*modules*/_once PATH_BASE.'include'.DS.'modules'.DS.'content_function.php';_once PATH_BASE.'include'.DS.'modules'.DS.'file_function.php';_once PATH_BASE.'include'.DS.'modules'.DS.'html_tag_function.php';_once PATH_BASE.'include'.DS.'modules'.DS.'basket_function.php';_once PATH_BASE.'include'.DS.'modules'.DS.'search.php';_once PATH_BASE.'include'.DS.'values.php';

/*header block*/_once 'template/page.php';

?>.php:

<? php('DS', DIRECTORY_SEPARATOR);('HOME_PAGE_LINK', 'http://localhost/work/artposter/');('G_CHECK', 1);('DEFAULT_LANG', 'rus');

/*base path*/

$basePath = explode (DS, dirname (__FILE__));_pop($basePath);

$basePath = implode (DS, $basePath).DS;('PATH_BASE', $basePath);

?>_functions.php:

<? phpgetCurrentYear() {date («Y»);

}addSuffixToNumerals ($num, $word, $closure) {

$one_num = last_int ($num, 1);

$two_num = last_int ($num, 2);

$finalClose = $closure[0];($one_num >= 2 && $one_num <= 4) {

$finalClose = $closure[1];

}($one_num >= 5 && $one_num <= 9 || $one_num == 0 || $two_num >= 10 && $two_num <= 20) {

Продолжение приложения А

$finalClose = $closure[2];

}$word.$finalClose;

}last_int ($num, $numSimbol) {

$result = (int) substr ($num, strlen($num)-$numSimbol, strlen($num));$result;

}getValue ($postValue, $getValue) {_dump($postValue);_dump($getValue);

}getTemplate($template) {($template == «) {

$tempTemplate = 'index';

}($template == 'poster' || $template == 'content' || $template == 'basket'|| $template == 'search'|| $template == 'profile') {

$tempTemplate = $template;

}$tempTemplate;

}returnURL ($href, $type='') {

$resultURL = HOME_PAGE_LINK;

$linkArr = array();($type!= «) {

$linkArr[] = $type;

}($href!= «) {

$linkArr[] = $href;

}(count($linkArr) > 0) {

$resultURL = implode ('/', $linkArr);

$resultURL = HOME_PAGE_LINK.$resultURL;

}$resultURL;

}createBreadCrumb ($template, $link = «, $posterName = «, $type = «) {

$resultArr = array();

$resultArr[] = createATag ('<strong>Главная</strong>');($template) {'content':($type) {'contact':

$resultArr[] = '<span>Контакты</span>';;

case 'production':

$resultArr[] = '<span>Производство</span>';;

};'search':

$resultArr[] = '<span>Поиск</span>';;'poster':($link!= «) {

$resultArr[] = '<span>'.$catInfo['header'].'</span>';

}{

$resultArr[] = createATag ($catInfo['header'], $catInfo['link'], 'poster');

$resultArr[] = '<span>#'.$posterName. «</span>»;

}

};

}

$result = implode ('<span>/</span>', $resultArr);$result;

}createTitle ($template, $link = «, $posterName = «, $type = «) {

$resultArr = 'Главная';($template) {'content':($type) {'contact':

$resultArr = 'Контакты';;'production':

$resultArr = 'Производство';;

};'search':

$resultArr = 'Поиск';;'poster':($link!= «) {

$catInfo = getCurrentCategoryInfo($link);

$resultArr = $catInfo['header'];

}

break;

}

$result = $resultArr;

Продолжение приложения А

return $result;

}add_recently_watch ($poster_id) {(! empty($_COOKIE['recently'])) {

$next_step = count ($_COOKIE['recently']);(! in_array ($poster_id, $_COOKIE['recently'])) {(«recently[$next_step]», $poster_id, time() + 360000000, '/');

}                

}{(«recently[0]», $poster_id, time() + 360000000, '/');

}

}addMesage ($status, $text) {

$classMessage = $status;

$_SESSION ['service_message']= «<div>

}writeMessage() {$_SESSION ['service_message'];

$_SESSION ['service_message'] = «;

}currentEmail($email) {true;

}

?>.php:

<? php

$config = array (

'css' => array (

'style.css',

'main_banner.css',

'content_page.css',

'jquery.lightbox-0.5.css',

'cart.css'

),

'js' => array (

'jquery.js',

'jquery.cookie.js',

'horizontal_slider.js',

'main.js',

'jquery.lightbox-0.5.js',

'cart.js'

),

);

$dbConfig = array (

'user' => 'root',

'password' => '11051988',

'db_host' => 'localhost',

'db_base' => 'posters'

);

?>_connect.php:

<? php

$connect = mysql_connect ($dbConfig['db_host'], $dbConfig['user'], $dbConfig['password'])die («Could not connect:».mysql_error());_select_db ($dbConfig['db_base'])die («Could not select database:».mysql_error());_query ('SET NAMES UTF8');

?>.php:

<? php

/*get or post value*/

$reqLink = $_GET['link'];

$reqId = $_GET['id'];

$reqImageId = $_GET ['image_id'];

$type = $_GET['type'];

$action = $_GET['action'];(empty($action)) {

$action = $_POST['action'];

}

$lastURL = $_SERVER ['HTTP_REFERER'];

$delete_action = $_POST ['delete_poster'];

$request_action = $_POST['submit'];

/*basic value*/

$allCatSubIdLink = AllCatSubIdLink();

$currentYear = getCurrentYear();

$styles = createCssStylesTags ($config['css']);

$scripts = createJSTags ($config['js']);

$template = getTemplate ($_GET['template']);

$allCategoryList = getAllCategoriesAlphabetical();

$recentlyWatchList = getRecentlyWatchPoster($allCatSubIdLink);

/*user*/

$userLogin = $_POST['email'];

$userPassword = $_POST['password'];

$userName = $_POST['name'];

$userCity = $_POST['city'];

$userPhone = $_POST['phone'];

$statusMessage = new StatusMessage(true);

$user = new Profile($statusMessage);

$userInfo = $user->get_user_info();

$auth = $userInfo['auth'];

/**/($template) {'index':

$bestSalePosterList = getBestSalePosterData($allCatSubIdLink);

/*sliders*/

$allCategorySlider = createHorizontalSlider ('206x206', $allCategoryList, 'main_slider');

$recentlyWatchSlider = createHorizontalSlider ('209x198', $recentlyWatchList);

$bestSalePosterSlider = createHorizontalSlider ('165x150', $bestSalePosterList);

/*handlist*/

$mainHandlist = createAlphabeticalList (createAllCategoryATagArray($allCategoryList), 5);;'poster':

$posterHandlist = createAlphabeticalList (createAllCategoryATagArray($allCategoryList), 2);

$catInfo = getCurrentCategoryInfo($reqLink);

$allPosterInCatArray = getAllPosterInCat ($catInfo['id'], $catInfo['link']);

$currentPosterInfo = getCurrentPosterInfo ($reqId, $allPosterInCatArray, $catInfo['link']);_recently_watch ($currentPosterInfo['id']);

$currentPosterSize = getCurrentPosterSize ($currentPosterInfo['id'], $currentPosterInfo['link']);

$currentPosterSizeI = getCurrentSizeI ($currentPosterSize, $reqImageId);

$currentImage = createCurrentPosterImage ($currentPosterSize[$currentPosterSizeI] ['big_image'], $currentPosterSize[$currentPosterSizeI] ['image']);

$posterSizeBlock = createSizeChage ($currentPosterSize, $currentPosterSizeI);

/*sliders*/

$recentlyWatchSlider = createHorizontalSlider ('140x110', $recentlyWatchList);

$allPosterInCatSlider = createHorizontalSlider ('209x198', $allPosterInCatArray, «, 'poster', $currentPosterInfo['id']);;'content':

$contentHandlist = createAlphabeticalList (createAllCategoryATagArray($allCategoryList), 1);;'profile':

$basketList = create_cart($userInfo);

$contentHandlist = createAlphabeticalList (createAllCategoryATagArray($allCategoryList), 1);

$recentlyWatchSlider = createHorizontalSlider ('147x135', $recentlyWatchList);;'basket':

$basketList = create_cart($userInfo);

$contentHandlist = createAlphabeticalList (createAllCategoryATagArray($allCategoryList), 1);;

}

$breadCrumb = createBreadCrumb ($template, $reqLink, $currentPosterInfo['header'], $type);

$titlePage = createTitle ($template, $reqLink, $currentPosterInfo['header'], $type);($action) {'logout':

$user->logout();(«Location:».HOME_PAGE_LINK); exit;;'authorization':

$user->auth ($userLogin, $userPassword);(«Location:».HOME_PAGE_LINK); exit;;'register':

$user->register ($userLogin, $userPassword, $userName, $userCity, $userPhone);(«Location:».HOME_PAGE_LINK); exit;

Продолжение приложения А

break;

case 'change_data':

$user->change ($userInfo['id'], $userLogin, $userPassword, $userName, $userCity, $userPhone);(«Location:$lastURL»); exit;;'add_to_cart':($auth, $reqImageId, $userInfo);(«Location:$lastURL»); exit;;'send_cart':

$mTitle = 'Zakaz postera';

$mAdress = 'info@artposters.kz';

// $mAdress = 'developer@illustrate.kz';

$idList = getIdList ($_REQUEST['id_poster']);(! empty($delete_action)) {($idList, $userInfo);

}{

$requestMake = makeRequest ($idList, $auth, $userInfo);($requestMake['send_status']) {

$mText = $requestMake['message'];

$sendStatus = mailer ($mAdress, $mTitle, $mText);($sendStatus) {('complete', 'Заявка отправлена');($idList, $userInfo);

}{('error', 'При отправке сообщения возникла ошибка, попробуйте еще раз');

}

}

}($auth) {(«Location:».HOME_PAGE_LINK.'profile'); exit;

}{(«Location:».HOME_PAGE_LINK.'basket'); exit;

};

}

$profileLink = returnURL('profile');(!$auth) {

$profileLink = «#\» onclick=\ «showPopupAlert ('login_popup'); return false;»;

}($template == 'profile' &&!$auth) {header («Location:».HOME_PAGE_LINK);}

$authMessage = $statusMessage->printMessage('auth');

$registerMessage = $statusMessage->printMessage('register');

$changeMessage = $statusMessage->printMessage('change');($authMessage!= «) {

$addAction = «showPopupAlert ('login_popup');»;

}($registerMessage!= «) {

$addAction = «showPopupAlert ('register_popup');»;

}($changeMessage!= «) {

$addAction = «showPopupAlert ('change_popup');»;

}

?>

Похожие работы на - Разработка программного обеспечения Web-приложения информационных систем 'artposters.kz' для отдела архитектуры и дизайна компании ТОО 'ILLUSTRATE studio'

 

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