Разработка динамического сайта для предприятия
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
В современной экономической обстановке коммерческие организации используют различные виды рекламы для продвижения на рынке товаров и услуг и привлечения новых клиентов. Существует множество всевозможных видов рекламы. С течением времени эффективность рекламы неизбежно снижается, что ведет к поиску новых, более современных видов рекламы. Одним из таких видов является реклама в сети Internet.
Организации в рекламных целях создают различного рода сайты, такие как сайты-визитки, интернет – витрины, интернет – магазины, корпоративные сайты. Дипломная работа связана с разработкой динамического сайта ЗАО «Точка оплаты», необходимого для рекламы деятельности организации в сети Интернет.
Основной
деятельностью ЗАО «Точка Оплаты»
является установка, техническое
обслуживание и инкассация терминалов
оплаты. Основанием для разработки
динамического сайта для ЗАО
«Точка Оплаты» послужила
Целью дипломной работы является разработка динамического сайта для ЗАО «Точка Оплаты», которая осуществляется по заказу компании ЗАО «Точка Оплаты» в соответствии с требованиями, прописанными в договоре и техническом задании.
Для реализации поставленной цели необходимо решить следующие задачи:
- провести анализ предметной области;
- спроектировать web-интерфейс динамического сайта (структуру, базу данных, содержание, систему навигации и дизайн), осуществить анализ и выбор инструментальных средств;
- осуществить программную реализацию динамического сайта.
Пояснительная записка к дипломной работе состоит из введения, трех глав с выводами, заключения, списка источников и литературы, приложения.
В первой главе проведен анализ предметной области. Описана структура ЗАО «Точка Оплаты», произведен анализ информ-технологий, используемых при создании сайтов, анализ языков веб-программирования, анализ систем управления содержимым сайта.
Во второй главе проведено проектирование динамического сайта для ЗАО «Точка Оплаты». Спроектировано содержимое сайта, его структура и система навигации. С помощью case-средства Rational Rose описана функциональность динамического сайта. В качестве модели данных выбрана реляционная модель, построена инфологическая и даталогическая модель модели базы данных.
В
третьей главе описана
В процессе написания дипломной работы наиболее активно использовались следующие литературные и электронные источники:
Кузнецов М., Симдянов И. Объектно-ориентированное программирование на PHP.[1]. В книге рассматриваются примеры объектно-ориентированного программирования на PHP, вопросы защиты Web-приложений. С помощью РНР 5 разрабатываются многочисленные компоненты, входящие в состав полнофункционального Web-сайта.
Люк Веллинг, Лора Томсон. Разработка Web-приложений с помощью PHP и MySQL [2]. В книге подробно изложены основные нюансы при работе с базой данный MySQL, рассмотрены методы доступа к данным.
Лари
Ульман. Основы программирования на PHP.Самоучитель
[3]. Книга посвящена серверному межплатформенному
встроенному в HTML языку описания сценариев.
Рассматривается синтаксис языка, описываются
приемы отладки сценариев. Так же обсуждаются
вопросы безопасности скриптов.
Глава 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Предпроектный анализ ЗАО «Точка Оплаты»
Основным видом деятельности ЗАО «Точка Оплаты» является установка, обслуживание и инкассация терминалов оплаты. Терминал оплаты или платежный терминал — это оборудование, оснащенное специальным программным обеспечением, при помощи которого осуществляется перевод финансовых средств. Платежный терминал позволяет оплачивать услуги связи, производить коммунальные платежи, платить за Интернет и другие сервисы. При этом, платежный киоск (терминал оплаты) в процессе транзакций не требует участия оператора, терминал оплаты прост и удобен работе. Сведения о текущем состоянии терминала поступают в специальную систему, отображающую информацию о необходимости инкассации или возникновения неполадок в работе терминала. После получения оперативных данных техники производят обслуживание терминалов.
Персонал ЗАО «Точка Оплаты» производит поиск площадей, сдаваемых в аренду и удовлетворяющих определенным условиям, для установки на этих площадях терминалов оплаты. После согласования с арендодателем подписывается договор аренды, а затем проводится установка терминала.
Для
обеспечения оперативности
Рис. 1 Организационная структура ЗАО «Точка Оплаты»
В
сложившейся экономической
1.2 Анализ информ-технологий, используемых при создании сайтов
Организации в рекламных целях размещают в сайты в сети Internet. При этом сайты организаций делятся на следующие виды:
- Сайты-визитки содержат данные о компании, наиболее востребованные клиентами. Как правило, это общая информация о компании, прайс-лист, реквизиты, план проезда и т.п. Сайта-визитки достаточно в том случае, когда взаимодействие с клиентом происходит главным образом вне сети, однако потенциальные клиенты используют Интернет; когда невозможно предоставить подробное описание всей продукции компании, или когда конечная услуга принимает законченный вид только после личных контактов с клиентом.
- Интернет - витрины помимо стандартных составляющих сайта-визитки содержат еще и каталог товаров или услуг. На страницах сайта размещено подробное описание этих продуктов, которое может содержать различные фотографии, схемы, презентации, подробную документацию и т.д. Часто в каталоге публикуется стоимость продукции и услуг.
- Интернет - магазины во многом похожи на Интернет - витрины. Ключевое их отличие заключается в том, что система формирования заказов полностью интегрирована в автоматизированную систему предприятия. Разрабатывать Web-проект такого типа имеет смысл, если выполняются следующие условия: товары могут продаваться через Интернет; у разработчика есть возможность создания профессионального мультимедийного описания каждого продукта; клиентам удобнее смотреть информацию о товарах в Интернете.
- Корпоративные сайты выполняют одновременно как функции сайта-визитки, так и электронного магазина или каталога. Дополнительно корпоративные представительства содержат B2B-системы (аппаратно-программные комплексы, позволяющие поддерживать бизнес-отношения между предприятиями, прежде всего в области сбыта и материально-технического обслуживания). Часто используются такие сервисы, как электронный обмен документами, быстрое формирование заказа с учетом истории переговоров с данным контрагентом, онлайновые переговоры и прочее. Эта разновидность Web-ресурса рекомендуется для больших компаний с огромной клиентской базой, разветвленной дилерской сетью и т.д.
- Порталы содержат в себе все, что только можно. Они позволяют организовывать эффективное взаимодействие с сообществом клиентов и партнеров.
- Промо-сайты. Так как вариантов построения промо-сайта великое множество, сложно выделить общие черты. Как правило, такие сайты очень яркие и динамичны, они чем-то напоминают рекламные ролики. Промо-сайты часто создаются в рамках проведения глобальной офлайновой рекламной акции.
Одной из разновидностей рекламы в сети Internet является сайт-визитка.
В настоящее время сайт-визитка незаменима для всех компаний производителей и поставщиков услуг. Бизнес давно уже вышел в Интернет и, прежде чем начать сотрудничать с организацией, все больше и больше потенциальных партнеров сначала идут в Интернет и выбирают перечень интересующих услуг (зачастую выбирая при этом и поставщика).
В результате анализа существующих решений генеральным директором ЗАО «Точка Оплаты» было принято решение о создании сайта-визитки, так как деятельность организации связана с оказанием услуг, в частности установки и обслуживания терминалов оплаты.
В наше время быстрого развития Интернета и увеличения количества сайтов в сети, первостепенное значение в привлечении посетителей на сайт имеет количество и качество актуальной информации.
Интернет в первую очередь - информационная среда. Каким бы красивым не был ваш сайт, посетители ищут на нём свежую информацию. Особенно это становится актуально, если основной целью создания сайта является привлечение новых партнеров и клиентов.
По управлению контентом (содержанием сайта) можно выделить три основных типа сайта: статический html, динамический и флеш (flash) сайты. Конечно, очень часто создаются сайты, в которых есть разделы всех трех типов. Рассмотрим кратко, в чем основные различия этих сайтов.
- Статический Html-Сайт.
Сайт разработан и сверстан с использованием стандартной html-технологии. Страницы сайта хранятся в виде html-кода в файловой системе сервера. Естественно, на таком сайте могут присутствовать flesh заставки, ролики, анимация и т.п. Но для редактирования информации и обновления такого сайта необходимы серьёзные трудозатраты и постоянное привлечение квалифицированных веб-дизайнеров и других специалистов в области интернет-технологий.
Основными достоинствами статического html-сайта являются:
- сайт дешевле в разработке, чем другие два типа;
- статический сайт безусловно дешевле в технической поддержке (хостинг). Практически все провайдеры могут обеспечить хостинг статического сайта;
- на статическом html-сайте не обязательно придерживаться строгой информационной сетки, и можно создавать любые страницы, практически независимые друг от друга;
- при эксплуатации статический сайт создает значительно меньшую нагрузку на сервер и использует наименьшее количество ресурсов сервера.
К основным недостаткам статического html-сайта относят:
- для редактирования контента на статическом html-сайте необходимо держать специалиста с опытом html-верстки;
- при добавлении новых материалов, а в особенности новых разделов, зачастую приходится править многие (если не все) страницы сайта, чтобы обеспечить изменения в системе навигации. Это очень часто приводит к ошибкам. Конечно, можно воспользоваться автоматизированными системами разработки, но такие системы создают чрезвычайно избыточный код, что, конечно же, отражается на скорости загрузки страниц, несовместимости с отдельными обозревателями и потерей многих указанных выше преимуществ;
- при дальнейшем развитии сайта становится проблематично поддерживать его целостность, особенно это становиться заметно при превышении 1000 страниц.
- Динамический сайт.
Основное свойство динамических сайтов - гибкость, подвижность информационной системы в подборе и представлении информации, соответствующей "запросу" посетителей сайта.
Страницы сайта формируются сервером «на лету» из различных блоков в соответствии с запрошенной, посетителем страницей.
В файловой системе сервера лежат исполняемые скрипты (программы). Весь контент (информация) сайта хранится в базе данных, которая часто физически расположена на другом сервере, недоступным из Интернета.
Динамический сайт может содержать флеш- заставки, ролики, анимацию, а также отдельные статические страницы.
К основным достоинствам динамического сайта относят:
- динамический сайт, как правило, полностью управляется через несложный веб-интерфейс. Управление возможно не только отдельными страницами, но и структурой разделов, а также информационной сеткой сайта;
- управление сайтом доступно (и рекомендуется) менеджерам, которые непосредственно общаются с клиентами и знают какие вопросы нужно оперативно осветить на сайте;
- важный плюс – это оперативность публикации новых материалов, объявлений и другой важной информации, которое делает общение с посетителями (клиентами) сайта «живым» и интересным;
- правильно организованный динамический сайт может развиваться без ущерба для ранее опубликованного материала;
- так как динамический сайт легче управляется, то, как правило, он быстрее развивается, чем статический, и быстрее окупается его разработка;
- нет необходимости содержать дорогостоящих специалистов (или платить дизайн-студии) для оперативной html-верстки, всю работу по публикации выполняют менеджеры, занятые в основной деятельности фирмы, самостоятельно;
- несомненным плюсом является большой срок службы динамического сайта. Т.к. сайт постоянно меняется за счет новых материалов, разделов и т.д.,он «не отстает от жизни», и вопрос о редизайне динамического сайта встает только при серьезной реорганизации компании или выработке нового стиля компании.
К
недостаткам динамического
- динамический сайт дороже в технической поддержке, чем статический, т.к. требует от компании, которая осуществляет поддержку, более высокой квалификации специалистов;
- динамический сайт требует большее количество ресурсов сервера, и не все провайдеры могут осуществлять его техническую поддержку.
- Флеш (flash) – сайт.
Флеш-сайт – это по сути хорошо анимированные картинки и/или интерактивные мультики. На самом деле флеш-сайт также может быть статическим и динамическим. Но динамические флеш-сайты очень редки и дороги в разработке, поэтому здесь имеется ввиду статический флеш-сайт, конечно с элементами интерактива. В файловой системе сервера лежат статические html-страницы и флеш-ролики. При просмотре такого сайта на компьютер пользователя подгружаются флеш-ролики и, в соответствии с записанной в таком ролике программой, формируют для пользователя на экране картинку. Такая картинка, как правило, содержит интерактивные элементы (ссылки) при щелчке, на которые выводятся другие картинки или текст.
Основное достоинство флеш-сайтов - профессионально сделанный флеш-сайт выглядит эффектно.
Недостатки флеш-сайтов:
- для просмотра флеш-сайта на компьютере должно быть установлено дополнительное программное обеспечение;
- часто флеш-ролики имеют большой объем (вес файлов), долго загружаются и создают дополнительный трафик;
- флеш-ролики по сути - картинки. По этому флеш-сайты практически не находятся поисковыми системами, а сегодня самое эффективное привлечение клиентов происходит именно через поисковые системы (Яндекс объявил, что начал индексировать флеш-сайты, но очевидно, что индексации поддаются только флеш-сайты, в которых текст отображается именно как текст, а не как картинка. С картинки ни один поисковик на сегодняшний день не сможет прочитать текст);
- при публикации нового материала флеш-сайту присущи все недостатки статического сайта, но только помноженные на значительно большие материальные и трудовые затраты.
Рассмотрев особенности типов сайтов, был сделаны следующие выводы:
- Статический сайт дешевле в разработке и технической поддержке, но эти достоинства нивелируются серьезными недостатками в оперативности публикации информации и затратами на содержание специалиста (html-верстальщик).
- Динамический сайт требует больших затрат на разработку и техническую поддержку, чем статический, но эти затраты быстрее окупаются за счёт снижения затрат на редактирование контента и развитие информационной системы сайта. Динамический сайт служит дольше и эффективнее статического.
- Флеш-сайт будет интересен только тем, кто любит смотреть мультики. Для посетителя, который ищет конкретную информацию, флеш-сайт скорее будет помехой, чем полезным инструментом. Он медленно загружается и зачастую заставляет пользователя смотреть одно и тоже помногу раз.
Информация на сайте ЗАО «Точка Оплаты» будет меняться достаточно часто, а сам сайт служит для привлечения потенциальных партнеров и клиентов и должен отражать последние изменения в экономической политике организации, соответственно наиболее подходящим типом сайта является динамический сайт.
1.2.1 Анализ языков web-программирования
Разрабатываемый динамический сайт и его система управления являются веб-приложением. Веб-приложение - приложение, в котором клиентом выступает браузер, а сервером - веб-сервер. Браузер способен отображать веб-страницы и, как правило, входит в состав операционной системы. Логика приложения сосредотачивается на сервере, а функция браузера заключается в основном в отображении информации, загруженной по сети с сервера, и передаче обратно данных, введенных пользователем. Одним из преимуществ такого подхода является тот факт, что клиентская часть приложения не зависит от конкретной операционной системы пользователя, и веб-приложения, таким образом, являются межплатформенными сервисами.
Для создания веб-приложений на стороне сервера используются разнообразные технологии и языки программирования, такие как PHP, ASP.NET, Java, Python, Ruby и другие. Ряд из них (PHP, Python) имеют открытый код, распространяются свободно и могут использоваться практически на любых веб-серверах, другие (ASP, ASP.NET, Java) - привязаны к конкретным веб-серверам. На стороне клиента используется JavaScript и Flash.
Рассмотрим наиболее популярные языки и технологии программирования, такие как ASP, Python, PHP.
ASP (англ. Active Server Pages - «активные серверные страницы») - технология от Microsoft, позволяющая легко разрабатывать приложения для World Wide Web. ASP работает на платформе операционных систем линии Windows NT и на веб-сервере Microsoft IIS. ASP не является языком программирования - это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования Web-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев (VBScript или JScript) и возможности использования внешних COM-компонент.
Технология ASP получила своё развитие в виде ASP.NET - новой технологии создания веб-приложений, основанной на платформе Microsoft .NET.
ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе .NET и, следовательно, использует все новые возможности, предоставляемые этой платформой.
Хотя ASP.NET берёт своё название от старой технологии Microsoft ASP, она значительно от нее отличается. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), который является основой всех приложений Microsoft .NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, в том числе, и входящие в комплект .NET Framework(C#, Visual Basic.NET, и JScript .NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кеш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию.
Использование в качестве платформ операционных систем линии Windows NT и веб-сервера Microsoft IIS значительно ограничивает область применения ASP.NET, так как подавляющее число хостинг-провайдеров используют на своих серверах Unix-системы, а в качестве веб-сервера - Apache.
Python - мультипарадигменный язык программирования высокого уровня с динамической типизацией, автоматическим управлением памятью и удобными высокоуровневыми структурами данных, такими как словари (хеш-таблицы), списки, кортежи. Поддерживает классы, модули (которые могут быть объединены в пакеты), обработку исключений, а также многопоточные вычисления. Питон обладает простым и выразительным синтаксисом. Язык поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное и аспектно-ориентированное.
Большая
часть реализаций, в том числе
и CPython, - интерпретаторы. CPython существует
для большинства активно
Python - активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.
К основным недостаткам Python относят:
- Низкое быстродействие. Python, как и многие другие интерпретируемые языки, имеют один общий недостаток - сравнительно невысокую скорость выполнения программ. Однако, в случае с Python считается, что этот недостаток с лихвой компенсируется уменьшением времени разработки программы и в сообществе Python -программистов преобладает мнение, что на Python можно решить задачу в среднем в 3-5 раз быстрее чем на Си++ или Java. Множество программ/библиотек для интеграции с другими языками программирования предоставляют возможность использовать другой язык для написания критических участков. В самой популярной реализации языка Python интерпретатор довольно велик и более требователен к ресурсам, чем в аналогичных популярных реализациях, что ограничивает его применение во встроенных системах.
- Отсутствие статической типизации. Отсутствие статической типизации является не столько недостатком интерпретатора, сколько выбором дизайнера языка. Дело в том, что в Python принята так называемая «Утиная типизация». В силу этого типы передаваемых значений недоступны на этапе компиляции, и ошибки вроде AttributeError могут возникать во время исполнения. Отсутствие статической типизации также является одной из основных причин низкого быстродействия.
- Невозможность модификации встроенных классов. По сравнению с Ruby и некоторыми другими языками в Python отсутствует возможность модифицировать встроенные классы, такие как int, str, float, list и другие, что однако позволяет Python потреблять меньше оперативной памяти и быстрее работать. Еще одной причиной введения такого ограничения является необходимость согласования с модулями расширения. Многие модули (в целях оптимизации быстродействия) преобразуют Python-объекты элементарных типов к соответствующим C типам вместо манипуляций с ними посредством C API.
Глобальная блокировка интерпретатора (GIL). GIL (Global Interpreter Lock) - проблема, присущая CPython, Stackless и PyPy, но отсутствующая в Jython и IronPython. При своей работе основной интерпретатор Python постоянно использует большое количество потоково-небезопасных данных. В основном это словари, в которых хранятся атрибуты объектов. Для избежания разрушения этих данных при совместной модификации из разных потоков перед началом исполнения нескольких инструкций (по умолчанию 100) поток интерпретатора захватывает GIL, а по окончанию освобождает. Вследствие этой особенности в каждый момент времени может исполнятся только один поток Python кода, даже если в компьютере имеется несколько процессоров или процессорных ядер (GIL также освобождается на время выполнения блокирующих операций, таких как ввод-вывод, изменения/проверка состояния синхронизирующих примитивов и других, таким образом если один поток блокируется, другие могут исполняться). Была предпринята попытка перехода к более гранулярным синхронизациям, однако из-за частых захватов/освобождений блокировок эта реализация оказалась слишком медленной. В ближайшем будущем переход от GIL к другим техникам не предполагается.
В области программирования для сети Internet PHP - один из популярнейших языков благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. Именно по этим причинам было принято решение создавать динамический сайт на PHP. PHP(англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста») - скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения (от англ. Common Gateway Interface - «общий интерфейс шлюза»).

- Разработка документации для проведения закупки путем запроса котировок
- Разработка железобетонных конструкций многоэтажного жилого комплекса в г. Владивостоке
- Разработка и автоматизация подсистемы «Диетпитание» для учета питания всех пациентов
- Разработка и анализ автоматизированной информационной системы в интересах руководителя тушения пожара
- Разработка и анализ структуры и принципов создания web-сайта
- Разработка и апробация методики психологического консультирования агрессивных детей (2)
- Разработка и внедрение системы грейдинга на предприятии
- Разработка детской анимационной программы обслуживания на территории отеля «Планерное» в Химкинском района
- Разработка диалоговой процедуры проектирования корпоративной сети малых предприятий
- Разработка дизайна каталога, как эффективного носителя рекламы в сфере услуг с целью наилучшего воздействия на потребителя
- Разработка дизайна световых приборов для жилых и общественных помещений
- Разработка дизайн проекта развлекательного комплекса в стиле Hi-Tech: использование в профессиональной подготовки
- Разработка динамического web-сайта для компании разрабатывающей радиоэлектронную аппаратуру
- Разработка динамического сайта для ООО «Мир растений»