Репетиторские услуги и помощь студентам!
Помощь в написании студенческих учебных работ любого уровня сложности

Тема: Разработка динамического сайта для предприятия

  • Вид работы:
    Дипломная (ВКР) по теме: Разработка динамического сайта для предприятия
  • Предмет:
    Другое
  • Когда добавили:
    22.03.2012 11:29:31
  • Тип файлов:
    MS WORD
  • Проверка на вирусы:
    Проверено - Антивирус Касперского

Другие экслюзивные материалы по теме

  • Полный текст:

    ОГЛАВЛЕНИЕ


    Глава 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ.. 7

    1.1 Предпроектный анализ ЗАО «Точка Оплаты». 7

    1.2 Анализ информ-технологий, используемых при создании сайтов. 9

    1.2.1 Анализ языков web-программирования. 15

    1.3 Анализ сайтов-аналогов. 20

    1.4 Требования к разрабатываемому для ЗАО «Точка Оплаты» динамическому сайту и его системе управления. 21

    Выводы.. 22

    Глава 2. ПРОЕКТИРОВАНИЕ ДИНАМИЧЕСКОГО САЙТА ДЛЯ ЗАО «ТОЧКА ОПЛАТЫ»  23

    2.1 Проектирование содержания (контента) web-сайта. 23

    2.2. Проектирование структуры web-сайта. 24

    2.3. Проектирование системы навигации динамического сайта. 25

    2.4 Моделирование функциональности динамического сайта для ЗАО «Точка Оплаты»  26

    2.4.1 Диаграмма прецедентов динамического сайта для ЗАО «Точка Оплаты»  27

    2.4.2 Диаграмма действия динамического сайта для ЗАО «Точка Оплаты»  28

    2.4.3 Диаграмма последовательности действий динамического сайта для ЗАО «Точка Оплаты». 30

    2.4.4 Диаграмма взаимодействий динамического сайта для ЗАО «Точка Оплаты»  31

    2.5 Проектирование базы данных динамического сайта для ЗАО «Точка Оплаты»  32

    2.5.1 Выбор модели данных. 32

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

    2.5.3 Даталогическая модель базы данных. 37

    2.6 Диаграмма размещения динамического сайта для ЗАО «Точка Оплаты»  38

    Выводы.. 38

    Глава 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ДИНАМИЧЕСКОГО САЙТА ДЛЯ ЗАО «ТОЧКА ОПЛАТЫ». 40

    3.1. Выбор инструментальных средств. 40

    3.2. Выбор СУБД.. 40

    3.3. Выбор web-сервера. 41

    3.4. Физическое проектирование базы данных в СУБД MySQL. 41

    3.5. Физическая реализация динамического сайта для ЗАО «Точка Оплаты»  44

    3.5.1 Реализация дизайна динамического сайта для ЗАО «Точка Оплаты». 45

    3.5.2 HTML-форма отправки сообщения. 48

    3.5.3 Обеспечение безопасности динамического сайта для ЗАО «Точка Оплаты»  49

    Выводы.. 50

    СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ И ЭЛЕКТРОННЫХ ИСТОЧНИКОВ  54

    ПРИЛОЖЕНИЕ 1. 56

    ПРИЛОЖЕНИЕ 2. 62

    ПРИЛОЖЕНИЕ 3. 64


    ВВЕДЕНИЕ

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

    Организации в рекламных целях создают различного рода сайты, такие как сайты-визитки, интернет – витрины, интернет – магазины,  корпоративные сайты. Дипломная работа связана с разработкой динамического сайта ЗАО «Точка оплаты», необходимого для рекламы деятельности организации в сети Интернет.

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

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

    Для реализации поставленной цели необходимо решить следующие задачи:

    Ø провести анализ предметной области;

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

    Ø осуществить программную реализацию динамического сайта.

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

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

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

    В третьей главе описана программная реализация динамического сайта для ЗАО «Точка Оплаты». Выбраны инструментальные средства, с помощью которых реализован динамический сайт. Выбрана СУБД MySQL как наиболее удобная и распространенная СУБД для web-приложений малого размера. Выбран web-сервер Apache как наиболее надежный и распространенный web-сервер. Проведена физическая реализация базы данных в СУБД MySQL. Проведена реализация динамического сайта с использованием объектно-ориентированного программирования. Реализован дизайн сайта, html-формы для отправки сообщений, рассмотрены вопросы безопасности динамического сайта.

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

    Кузнецов М., Симдянов И. Объектно-ориентированное программирование на PHP.[1]. В книге рассматриваются примеры объектно-ориентированного программирования на PHP, вопросы защиты Web-приложений. С помощью РНР 5 разрабатываются многочисленные компоненты, входящие в состав полнофункционального Web-сайта.

    Люк Веллинг, Лора Томсон. Разработка Web-приложений с помощью PHP и MySQL [2]. В книге подробно изложены основные нюансы при работе с базой данный MySQL, рассмотрены методы доступа к данным.

    Лари Ульман. Основы программирования на PHP.Самоучитель [3]. Книга посвящена серверному межплатформенному встроенному в HTML языку описания сценариев. Рассматривается синтаксис языка, описываются приемы отладки сценариев. Так же обсуждаются вопросы безопасности скриптов.



    Глава 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

     1.1 Предпроектный анализ ЗАО «Точка Оплаты»

    Основным видом деятельности ЗАО «Точка Оплаты» является установка, обслуживание и инкассация терминалов оплаты. Терминал оплаты или платежный терминал — это оборудование, оснащенное специальным программным обеспечением, при помощи которого осуществляется перевод финансовых средств. Платежный терминал позволяет оплачивать услуги связи, производить коммунальные платежи, платить за Интернет и другие сервисы. При этом, платежный киоск (терминал оплаты) в процессе транзакций не требует участия оператора, терминал оплаты прост и удобен работе. Сведения о текущем состоянии терминала поступают в специальную систему, отображающую информацию о необходимости инкассации или возникновения неполадок  в работе терминала. После получения оперативных данных техники производят обслуживание терминалов.

    Персонал ЗАО «Точка Оплаты» производит поиск площадей, сдаваемых в аренду и удовлетворяющих определенным условиям, для установки на этих площадях терминалов оплаты.  После согласования с арендодателем подписывается договор аренды, а затем проводится установка терминала.

    Для обеспечения оперативности обслуживания и инкассации терминалов оплаты ЗАО «Точка Оплаты» имеет региональные представительства, которые подчинены непосредственно генеральному директору. Региональные представительства расположены в г. Самаре, г. Сызрани, г. Новокуйбышевске, г. Жигулевске и многих других городах Российской Федерации. Главный офис расположен в г. Москве. Структура региональных представительств не зависит от местонахождения, в каждом региональном представительстве имеется директор, координирующий работу всех остальных отделов, отдел бухгалтерии, производящий расчеты с арендодателями и рассчитывающий заработную плату, отдел по работе с клиентами, отдел технического обслуживания, отдел кадров. Организационная структура ЗАО «Точка Оплаты» представлена на рис.1

    Рис. 1 Организационная структура ЗАО «Точка Оплаты»

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

    1.2 Анализ информ-технологий, используемых при создании сайтов

    Организации в  рекламных целях размещают в сайты в сети Internet. При этом сайты организаций делятся на следующие виды:

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

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

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

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

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

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

    Одной из разновидностей рекламы в сети Internet является сайт-визитка.

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

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

    В наше время быстрого развития Интернета и увеличения количества сайтов в сети, первостепенное значение в привлечении посетителей на сайт имеет количество и качество актуальной информации.

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

    По управлению контентом (содержанием сайта) можно выделить три основных типа сайта: статический html, динамический и флеш (flash) сайты. Конечно, очень часто создаются сайты, в которых есть разделы всех трех типов. Рассмотрим кратко, в чем основные различия этих сайтов.

    1.   Статический Html-Сайт.

    Сайт разработан и сверстан с использованием стандартной html-технологии. Страницы сайта хранятся в виде html-кода в файловой системе сервера. Естественно, на таком сайте могут присутствовать flesh заставки, ролики, анимация и т.п. Но для редактирования информации и обновления такого сайта необходимы серьёзные трудозатраты и постоянное привлечение квалифицированных веб-дизайнеров и других специалистов в области интернет-технологий.

    Основными достоинствами статического html-сайта являются:

    -  сайт дешевле в разработке, чем другие два типа;

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

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

    -  при эксплуатации статический сайт создает значительно меньшую нагрузку на сервер и использует наименьшее количество ресурсов сервера.

    К основным недостаткам статического html-сайта относят:

    -  для редактирования контента на статическом html-сайте необходимо держать специалиста с опытом html-верстки;

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

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

    2.   Динамический сайт.

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

    Страницы сайта формируются сервером «на лету» из различных блоков в соответствии с запрошенной, посетителем страницей.

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

    Динамический сайт может содержать флеш- заставки, ролики, анимацию, а также отдельные статические страницы.

    К основным достоинствам динамического сайта относят:

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

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

    -  важный плюс – это оперативность публикации новых материалов, объявлений и другой важной информации, которое делает общение с посетителями (клиентами) сайта «живым» и интересным;

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

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

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

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

    К недостаткам динамического сайта относят:

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

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

    3.   Флеш (flash) – сайт.

    Флеш-сайт – это по сути хорошо анимированные картинки и/или интерактивные мультики. На самом деле флеш-сайт также может быть статическим и динамическим. Но динамические флеш-сайты очень редки и дороги в разработке, поэтому здесь имеется ввиду статический флеш-сайт, конечно с элементами интерактива. В файловой системе сервера лежат статические html-страницы и флеш-ролики. При просмотре такого сайта на компьютер пользователя подгружаются флеш-ролики и, в соответствии с записанной в таком ролике программой, формируют для пользователя на экране картинку. Такая картинка, как правило, содержит интерактивные элементы (ссылки) при щелчке, на которые выводятся другие картинки или текст.

    Основное достоинство  флеш-сайтов  - профессионально сделанный флеш-сайт выглядит эффектно.

    Недостатки флеш-сайтов:

    -  для просмотра флеш-сайта на компьютере должно быть установлено дополнительное программное обеспечение;

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

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

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

    Рассмотрев особенности типов сайтов, был сделаны следующие выводы:

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

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

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

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

    1.2.1 Анализ языков web-программирования  

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

    Для создания веб-приложений на стороне сервера используются разнообразные технологии и языки программирования, такие как PHP, ASP.NET, Java, 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 относят:

    1. Низкое быстродействие. Python, как и многие другие интерпретируемые языки, имеют один общий недостаток - сравнительно невысокую скорость выполнения программ. Однако, в случае с Python считается, что этот недостаток с лихвой компенсируется уменьшением времени разработки программы и в сообществе Python -программистов преобладает мнение, что на Python можно решить задачу в среднем в 3-5 раз быстрее чем на Си++ или Java. Множество программ/библиотек для интеграции с другими языками программирования предоставляют возможность использовать другой язык для написания критических участков. В самой популярной реализации языка Python интерпретатор довольно велик и более требователен к ресурсам, чем в аналогичных популярных реализациях, что ограничивает его применение во встроенных системах.

    2. Отсутствие статической типизации. Отсутствие статической типизации является не столько недостатком интерпретатора, сколько выбором дизайнера языка. Дело в том, что в Python принята так называемая «Утиная типизация». В силу этого типы передаваемых значений недоступны на этапе компиляции, и ошибки вроде AttributeError могут возникать во время исполнения. Отсутствие статической типизации также является одной из основных причин низкого быстродействия.

    3. Невозможность модификации встроенных классов. По сравнению с 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 - «общий интерфейс шлюза»).

    Ныне PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

    1.3 Анализ сайтов-аналогов

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

    1. Сайт компании Alniko, размещенный по адресу #"#">#"#">#"_Toc199077470">1.4 Требования к разрабатываемому для ЗАО «Точка Оплаты» динамическому сайту и его системе управления

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

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

    2. Коммуникация. Сайт должен поддерживать общение компании с клиентами и партнерами.

    Исходя из целей, были сформированы следующие требования, предъявляемые к динамическому сайту ЗАО «Точка Оплаты»:

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

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

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

    4. Обеспечение безопасности данных, защищенность от попыток взлома.

    Выводы

    В первой главе проведен анализ предметной области.

    Проведен предпроектный анализ ЗАО «Точка Оплаты».

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

    Выполнен анализ языков разработки Интернет-приложений.

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

    Глава 2. ПРОЕКТИРОВАНИЕ ДИНАМИЧЕСКОГО САЙТА ДЛЯ ЗАО «ТОЧКА ОПЛАТЫ»

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

    Проектирование динамического сайта для ЗАО «Точка Оплаты» включает следующие этапы:

    Ø  анализ и проектирование информационного наполнения (контента) сайта;

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

    Ø  анализ и проектирование системы навигации по сайту;

    Ø  описание функциональности сайта;

    Ø  анализ и проектирование базы данных.

    2.1 Проектирование содержания (контента) web-сайта

    Динамический сайт для ЗАО «Точка Оплаты» будет содержать следующую информацию:

    1.   Информация о компании.

    2.   Информацию о терминалах оплаты, их характеристики.

    3.   Информация для партнеров ЗАО «Точка Оплаты», описание преимуществ установки терминалов на арендуемых площадях.

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

    5.   Контактная информация – юридический адрес, телефон, факс ЗАО «Точка Оплаты».

    Текст, который планируется размещать на динамическом сайте представлен в Приложении 1.

    2.2. Проектирование структуры web-сайта

    Структура сайта - система взаимного расположения и взаимосвязей файлов (страниц) сайта. Часто под структурой сайта подразумевают блок-схему сайта.

    Различают следующие виды структур сайтов:

    1. Линейная структура. Страницы сайта располагаются строго одна за одной. Удобна для создания небольшого по количеству страниц сайта с малым количеством гиперссылок и последовательным изложением материалов.

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

    Оптимальной структурой сайта считается структура, удовлетворяющая следующим критериям:

    1. Существует главная страница, под которой располагаются основные разделы сайта.

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

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

    Структура динамического сайта для ЗАО «Точка Оплаты» представлена на рис. 2.

    Рис.2 Структура динамического сайта для ЗАО «Точка Оплаты»

    2.3. Проектирование системы навигации динамического сайта

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

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

    Различают вертикальную, горизонтальную и комбинированную навигацию сайта. Динамический сайт ЗАО «Точка Оплаты» будет иметь комбинированную навигацию, основное горизонтальное меню будет состоять из пунктов:

    1. О компании.

    2. Терминалы оплаты.

    3. Партнерам.

    4. Клиентам.

    5. Контакты

    Далее в зависимости от выбранного пункта возможно появление дополнительного вертикального меню. При выборе пункта «Клиентам» пользователю будет предложено дополнительное вертикальное меню, в котором можно найти ближайший в районе терминал оплаты. При выборе пункта «Партнерам» будет предложено заполнить заявку на установку терминала оплаты на территории арендодателя.

    2.4 Моделирование функциональности динамического сайта для ЗАО «Точка Оплаты»

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

    С развитием компьютерных технологий и появлением CASE-моделирования (Computer Aided Software Engineering) возникла потребность в инструментах, которые бы поддерживали стандарты моделирования.

    Rational Rose сочетает в одном приложении инструменты и для моделирования бизнес-процессов, и для создания баз данных, а также является программной реализацией UML. UML(Unified Modeling Language) - это графический язык для визуализации, проектирования и документирования программных систем, призванный облегчить работу разработчика на всех её этапах.

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

    Для проектирования динамического сайта и его системы управления будет использоваться Rational Rose Real Time, продукт, являющийся программной реализацией одного из расширений стандартного UML, предназначенного для моделирования систем реального времени.

    2.4.1 Диаграмма прецедентов динамического сайта для ЗАО «Точка Оплаты»

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

    В результате моделирования динамического сайта с помощью CASE-средства Rational Rose формируются следующие документы:

    -  диаграммы прецедентов;

    -  диаграммы действий;

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

    -  диаграммы взаимодействий.

    Диаграмма прецедентов (use case diagram) - это графическое представление всех или части актеров, прецедентов и их взаимодействий в системе. В каждой системе обычно есть главная диаграмма прецедентов, которая отображает границы системы (актеров) и основное функциональное поведение системы (прецеденты).

    Диаграмма прецедентов динамического сайта (см. рис. 3) наглядно показывает актеров и их основные действия.

    Рис. 3 Диаграмма прецедентов динамического сайта для ЗАО «Точка Оплаты»

    2.4.2 Диаграмма действия динамического сайта для ЗАО «Точка Оплаты»

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

    Рис. 4 Диаграмма действий при работе с динамическим сайтом ЗАО «Точка Оплаты»

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

    Описательная спецификация для диаграммы действий приведена в таблице 1.

    Таблица 1

    Описание видов деятельности

    Субъект

    Вид деятельности

    Менеджер

    Ввод информации

    Изменение навигации

    Просмотр заявок от посетителей

    СУБД

    Сохранение данных

    Модификация/удаление данных

    Хранение информации о содержимом и структуре сайта

    Сайт

    Отображение содержимого и структуры в зависимости от полученных из базы данных

    Проверка корректности заполненной пользователем заявки

    Посетитель

    Вход на сайт, отправка заявки


    2.4.3 Диаграмма последовательности действий динамического сайта для ЗАО «Точка Оплаты»

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

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

    Рис. 5 Диаграмма последовательности действий при работе с динамическим сайтом ЗАО «Точка Оплаты»

    2.4.4 Диаграмма взаимодействий динамического сайта для ЗАО «Точка Оплаты»

    Диаграмма взаимодействий (collaboration diagram) – это альтернативный способ отображения сценариев. Такой тип диаграммы показывает взаимодействие объектов, организованное вокруг них, и их связи друг с другом. На диаграмме (см. рис. 6) отображено взаимодействие объектов и связи между ними.

    Рис. 6 Диаграмма взаимодействий при работе с динамическим сайтом ЗАО «Точка Оплаты»

    2.5 Проектирование базы данных динамического сайта для ЗАО «Точка Оплаты»

    2.5.1 Выбор модели данных

    Существуют следующие модели данных:

    1. Иерархическая модель.

    2. Сетевая модель.

    3. Реляционная модель.

    Иерархическая модель данных представляет совокупность элементов, связанных между собой по определенным правилам. Графическим способом представления иерархической структуры является дерево (см. рис. 7).

    Рис. 7 Иерархическая модель данных

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

    К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения операций над данными.

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

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

    Рис. 8 Сетевая модель данных

    Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности.

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

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

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

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

    1. Каждое значение, содержащееся на пересечении строки и столбца, должно быть атомарным.

    2. Значения данных в одном и том же столбце должны принадлежать к одному и тому же типу, доступному для использования в данной СУБД.

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

    4. Каждое поле имеет уникальное имя.

    5. Последовательность полей в таблице несущественна.

    6. Последовательность записей в таблице несущественна.

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

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

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

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

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

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

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

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

    В результате анализа предметной области были выявлены следующие информационные сущности:

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

    2. Сообщения посетителей (Адрес электронной почты, сообщение, флаг нового сообщения).

    3. Пользователи (Логин пользователя, пароль пользователя).

    4. Права доступа пользователей (Наименование, права доступа).

    Взаимосвязи между сущностями отображены на рис. 9.

    Рис. 9 Взаимосвязи между сущностями

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

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

    Атрибуты сущностей представлены в таблице 2. Пометка PK рядом с атрибутом значит, что атрибут является ключевым (Primary key), а FK означает, что атрибут является внешним ключом (Foreign key).

    Таблица 2

    Сущность

    Атрибуты

    Сведения о странице и ее содержимом

    Уникальный ключ (PK)

    Наименование

    Содержимое

    Номер в списке

    Заголовок

    Мета-данные

    Путь к внешнему файлу

    Сообщение перед списком

    Флаг формы отправки сообщения

    Флаг вертикального расположения

    Уникальный ключ старшего элемента

    Сообщения посетителей

    Уникальный ключ сообщения(PK)

    Уникальный ключ сведений о странице (FK)

    Адрес электронной почты

    Сообщение

    Флаг нового сообщения

    Дата отправки

    Права доступа

    Уникальный ключ прав доступа (PK)

    Наименование

    Права доступа

    Пользователи

    Уникальный ключ пользователя (PK)

    Уникальный ключ прав доступа(FK)

    Логин пользователя

    Пароль пользователя

    2.5.3 Даталогическая модель базы данных

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

    Рис. 10 Даталогическая модель базы данных

    2.6 Диаграмма размещения динамического сайта для ЗАО «Точка Оплаты»

    В связи с тем, что разрабатываемый динамический сайт является web-приложением, то для обеспечения доступа посетителей к сайту он должен быть расположен на web-сервере.

    Сайт во время своей работы обращается к базе данных, и в связи с этим, необходимо организовать соединение с базой данных.

    Обращение к сайту будет происходить через Интернет, посредством «тонкого» клиента – браузера. Диаграмма размещения представлена на рис.11.

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


    Рис. 11 Диаграмма размещения динамического сайта ЗАО «Точка Оплаты»

    Выводы

    Во второй главе проведено проектирования динамического сайта для ЗАО «Точка оплаты».

    Осуществлено проектирование содержимого сайта, его структуры и навигации. С помощью case-средства Rational Rose построены диаграммы, описывающие поведение динамического сайта.

    Для проектирования базы данных динамического сайта выбрана реляционная модель данных как наиболее ЭВМ-ориентированная. Построены инфологическая и даталогическая модель базы данных.

    С помощью MS Visio построена диаграмма размещения динамического сайта.

    Глава 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ДИНАМИЧЕСКОГО САЙТА ДЛЯ ЗАО «ТОЧКА ОПЛАТЫ»

    3.1. Выбор инструментальных средств

    Для разработки динамического сайта ЗАО «Точка Оплаты» будут использоваться следующие инструментальные средства:

    1. Zend Development Environment - это уникальный инструмент для программирования на PHP, сочетающий в себе возможности редактора, отладчика и менеджера проектов. С помощью этого средства можно создавать программный код, управлять им и осуществлять его отладку.

    2. Macromedia Homesite+ - HTML редактор, отвечающий всем требованиям профессиональных web-разработчиков. Многочисленные панели инструментов позволяют быстро набирать исходный код будущей страницы практически без помощи клавиатуры, а внутренний анализатор проверяет корректность документа.

    3. Для создания и редактирования графического содержимого сайта будет использоваться Adobe Photoshop CS.

    4. Для обеспечения кроссбраузерности динамического сайта при верстке будут использованы наиболее распространенные браузеры – MS Explorer, Mozilla Firefox, Opera.

    3.2. Выбор СУБД

    При разработке динамического сайта в качестве СУБД будет использоваться СУБД MySQL, так как эта СУБД является решением для малых и средних приложений. Динамический сайт не содержит большого объема информации. СУБД MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: существует возможность выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей.

    3.3. Выбор web-сервера

    Apache HTTP-сервер - свободный веб-сервер. С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. По статистике Netcraft, в августе 2007 года он работал на 51 % всех веб-серверов, в марте 2009 года - на 49 %.

    Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

    Большинство хостинг-провайдеров используют Apache в качестве web-сервера. Для размещения динамического сайта ЗАО «Точка Оплаты» будут использоваться услуги хостинг-провайдера, поэтому было принято решение разрабатывать динамический сайт под управлением Apache, чтобы в дальнейшем при переносе сайта на другой хостинг не возникло проблем несовместимости.

    3.4. Физическое проектирование базы данных в СУБД MySQL

    Физическая модель базы данных представлена на рис. 12.

    Рис. 12 Физическая модель базы данных

    Описание типов атрибутов приведены в таблице 3.

    Таблица 3

    Таблица

    Атрибут

    Поле

    Признак ключа

    Тип

    Длина

    Сведения о странице (Menu)

    Уникальный ключ

    Menu_id

    *

    Tinyint

    4

    Наименование

    Mname


    Varchar

    255

    Содержимое

    Content


    Text


    Номер в списке

    Morder


    Tinyint

    4

    Заголовок

    Title


    Varchar

    255

    Мета-данные

    Tmeta


    Varchar

    255

    Путь к внешнему файлу

    Extpath


    Varchar

    255

    Сообщение перед списком

    Topmsg


    Text


    Флаг формы отправки сообщения

    Is_umsg


    Tinyint

    1

    Флаг вертикального расположения

    Is_vertical


    Tinyint

    1

    Уникальный ключ старшего элемента

    Parent_id


    Tinyint

    4

    Сообщения пользователей (UsrMsg)

    Уникальный ключ сообщения

    Umsg_id

    *

    Tinyint

    4

    Адрес электронной почты

    Email


    Varchar

    255

    Сообщение

    Tmsg


    Text


    Флаг нового сообщения

    Is_new


    Tinyint

    1

    Дата отправки

    UsrDate


    Date


    Права доступа (Roles)

    Уникальный ключ прав доступа

    Role_id

    *

    Tinyint

    4

    Наименование

    Rolename


    Varchar

    255

    Права доступа

    Access


    Varchar

    255

    Пользователи (Users)

    Уникальный ключ пользователя

    User_id

    *

    Tinyint

    4

    Логин пользователя

    Ulogin


    Varchar

    255

    Пароль пользователя

    Upwd


    Varchar

    255


    Для создания базы данных используется команда CREATE DATABASE.

    Таблицы создаются с помощью команды CREATE TABLE. Полный текст команд для создания базы данных динамического сайта находится в Приложении 2.

    Взаимодействие с базой данных осуществляется посредством PHP команд:

       $link = mysql_connect("localhost", "root", "")

           or die("Невозможно соединится с базой данных : " . mysql_error());

       mysql_select_db("tochka") or die("Невозможно выбрать базу данных!");

    где

    localhost – хост, к которому происходит обращение;

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

    В случае если установить соединение с базой данных по каким-либо причинам не удалось (например, нет доступа к Internet или возникли неполадки на стороне сервера), будет выведено сообщение.

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

    3.5. Физическая реализация динамического сайта для ЗАО «Точка Оплаты»

    Динамический сайт реализован с использованием объектно-ориентированного программирования.

    Все ссылки сайта имеют вид #"_Toc228777449">3.5.1 Реализация дизайна динамического сайта для ЗАО «Точка Оплаты»

    Дизайн сайта выполнен с использованием языка гипертекстовой разметки документа HTML с ипользованием каскадных таблиц стиля CSS. Дизайн сайта выполнен в соответствии с рекомендациями W3C(World Wide Web Consortium - Консорциум Всемирной паутины).В частности, не рекомендуется для позиционирования элементов страницы теги, предназначенные для разметки табличных данных. Для задания расположения следует использовать специальные теги - контейнеры, то есть тэги <div></div>. Так же рекомендуется для оформления сайта использовать каскадные таблицы стилей.

    При реализации дизайна динамического сайта были использованы фирменные цвета ЗАО «Точка Оплаты» - красный и оранжевый. Для лучшего восприятия текстовая информация расположена на белом фоне. Навигация сайта расположена сверху слева. Сайт реализован с минимальным использованием  графического содержимого, что позволяет достаточно быстро получить информацию даже при низкоскоростном соединении с сетью Интернет. Главная страница сайта представлена на рисунке 13.

    Рис. 13 Главная страница динамического сайта для ЗАО «Точка Оплаты»

    Страница «Терминалы оплаты»  представлена на рисунке 14.

    Рис. 14 Страница «Терминалы оплаты» динамического сайта

    Страница «Партнерам» представлена на рис. 15.

    Рис. 15 Страница «Партнерам» динамического сайта

    Страница «Клиентам» представлена на рис.16.

    Рис. 16 Страница «Клиентам» динамического сайта для ЗАО «Точка Оплаты»

    Страница «Контакты» представлена на рис. 17.

    Рис.17 Страница «Контакты» динамического сайта

    3.5.2 HTML-форма отправки сообщения

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

    При реализации динамического сайта для ЗАО «Точка Оплаты» были использованы следующие элементы форм:

    1. Поле ввода.

    2. Область текста.

    Поле ввода (text-field) применяется главным образом для ввода алфавитно-цифровых данных. Поле ввода создаётся при помощи тега <INPUT TYPE="Text">.

    Область текста (text-area) - это элемент формы, подобный полю ввода, но с возможностью ввода нескольких строк текста. Для создания области текста используется тег <TEXTAREA>, а для определения её размеров - атрибуты ROWS и COLS.

    HTML-форма, реализованная при разработке динамического сайта ЗАО «Точка Оплаты» представлена на рисунке 14.

    Рис. 14 HTML-форма

    3.5.3 Обеспечение безопасности динамического сайта для ЗАО «Точка Оплаты»

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

    Для защиты от атак типа внедрения SQL-кода, входной параметр id, получаемый сервером для формирования SQL запросов, приводится к целочисленному типу:

    $id=@$_GET["id"];

    if (isset($id)){ $id=intval($id);}

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

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

    1. Адрес электронной почты проверяется на соответствие регулярному выражению типа (/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i).

    2. В сообщении пользователя перед внесением в базу данных экранируются все спецсимволы командой mysql_real_escape_string.

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

    <html>

    <head>

    <?

       $path = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

             $path_array = explode('/',$path);

             $path_array = array_slice($path_array, 0, count($path_array) - 2);

             $mpath = implode('/',$path_array);

    ?>

    <META HTTP-EQUIV="Refresh" CONTENT="0; URL=#"_Toc228777452">Выводы

    В главе были проанализированы и выбраны программные средства для реализации динамического сайта ЗАО «Точка Оплаты». Для работы с базой данных была выбрана СУБД MySQL. Основными критериями выбора web-сервера Apache были распространенность среди хостинг-провайдеров, быстродействие и надежность.

    Было описано физическое проектирование базы данных - в СУБД MySQL была создана база данных.

    Коды SQL-запросов для создания базы данных приведены в Приложении 2.

    Осуществлена программная реализация динамического сайта для ЗАО «Точка Оплаты».

    ЗАКЛЮЧЕНИЕ


    В результате выполнения дипломной работы был разработан динамический сайт для ЗАО «Точка Оплаты».

    Был проведен анализ предметной области.

    Описана классификация сайтов по типу содержимого. Так же описана классификация сайтов по типу реализации.

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

    В ходе работы был проведен обзор аналогов - нескольких российских сайтов. Были выявлены их сильные и слабые стороны, которые учитывались при разработке и реализации динамического сайта ЗАО «Точка Оплаты». При анализе рассматриваемых web-сайтов оценивался внешний вид web-страниц, навигация по ним, структура.

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

    Была разработана структура динамического сайта, определено содержание страниц сайта.

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

    Были проанализированы и выбраны инструментальные средства разработки. Для физической реализации базы данных была выбрана СУБД MySQL, для размещения базы данных - web-сервер Apache. Для программной реализации динамического сайта использовался язык разметки web-страниц HTML с сопутствующими технологией CSS, и язык web-программирования PHP. Проанализирована защищенность сайта от попыток взлома разными способами.

    Динамический сайт был разработан для привлечения клиентов и арендодателей. Сайт доступен по адресу www.tochka.tu2.ru. Размещение динамического сайта предоставило новые возможности и офлайн-, и онлайн-бизнесу. Офлайновые клиенты теперь смогут ознакомится с принципами действия терминалов оплаты, найти ближайший терминал в районе, арендодатели смогут проявить заинтересованность и отправить заявку с предложением сотрудничества.

    СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ И ЭЛЕКТРОННЫХ ИСТОЧНИКОВ

    1. Документация по PHP #"#">#"#">#"#">#"#">#"_Toc228777454">ПРИЛОЖЕНИЕ 1 Информация о компании.

    ЗАО «Точка Оплаты» Тольятти - региональный представитель ЗАО "Точка Оплаты", лидера на рынке приема платежей в пользу всех операторов сотовой связи, компаний, предоставляющих услуги коммерческого телевидения, большинства интернет-провайдеров и операторов IP-телефонии.

    Мы основаны в феврале 2001 года. За это время открыто более 40 пунктов приема платежей в Тольятти и Самарской области, обслуживающих ежедневно более 15000 клиентов.

    Наше главное преимущество - прием платежей в режиме реального времени.

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

    ЗАО «Точка Оплаты» - динамично развивающаяся компания. Мы не останавливаемся на достигнутом и постоянно работаем над повышением качества услуг!

    Терминалах оплаты. Мы предлагаем следующие терминалы оплаты для установки на Вашей площади: Базовый платёжный терминал ОСМП 2 является наиболее популярной моделью среди автоматов по приёму платежей.    Технические характеристики и преимущества:     * Валидатор купюр с высокой скоростью распознавания банкнот     * Термопринтер для выдачи чеков     * Блок бесперебойного питания     * Повышенная защита от механических взломов     * Возможность покраски корпуса терминала в другие цвета     * Размеры (мм): 1370х500х300     * Вес (кг): 90 Платёжный терминал ОСМП УЛИЦА, предназначен для автоматизации приема платежей за мобильную связь и другие услуги. Терминалы уличных модификаций могут монтироваться в стены зданий или устанавливаться в специальном защитном корпусе прямо на улице. Технические характеристики и преимущества:     * Температурный режим эксплуатации: от -25 до +40С     * Взломостойкий корпус с электромеханическим замком     * Вандалостойкий экран 17" с защитным стеклом     * Валидатор купюр с высокой скоростью распознавания банкнот     * Высокоресурсный источник бесперебойного питания     * Термопринтер для выдачи чеков     * Размеры (мм): 740х650х405     * Вес (кг): 61 Платёжный терминал ОСМП МИНИ представляет собой уменьшенный вариант базового терминала ОСМП 2М и также предназначен для автоматизации приёма платежей за мобильную связь и другие услуги. Технические характеристики и преимущества:     * Термопринтер, печатающий контрольный чек     * Валидатор купюр с высокой скоростью распознавания банкнот     * Возможность размещения на остановках общественного транспорта     * Возможность настенного размещения терминала     * Размеры (мм): 705х450х235     * Вес (кг): 33 Партнерам. ЗАО «Точка Оплаты» предлагает коммерческим организациям (салонам связи, магазинам, банкам и т.п.) расширить свой бизнес, организовав пункт приёма платежей от населения в пользу компаний сотовой связи, ведущих интернет-провайдеров, операторов IP-телефонии и коммерческого телевидения. Предлагаем Вам сдать в аренду торговую площадь под установку терминалов оплаты. Так как услуга приема платежей за сотовую связь является массовой, установка терминалов оплаты привлечет новых клиентов, которые смогут ознакомиться со спектром всех услуг, предоставляемых Вашей организацией. Наша Система позволяет в режиме реального времени оплачивать следующие услуги: * СОТОВАЯ СВЯЗЬ (МТС, Билайн, МегаФон, СКАЙЛИНК, Корбина Телеком, МСС, НСС, СМАРТС, и т.д.) * КОММЕРЧЕСКОЕ ТЕЛЕВИДЕНИЕ (НТВ+, АТК, Космос ТВ, Акадо) * ИНТЕРНЕТ-ПРОВАЙДИНГ (РОЛ, MTU-Intel, Комстар, Корвет Телеком и т.д.) * ТЕЛЕФОНИЯ / IP-ТЕЛЕФОНИЯ (МТТ, Тарио, МАКСИкарта, ОСС, Матрикс Телеком и т.д.) * И МНОГОЕ ДРУГОЕ (более 60 наименований операторов и провайдеров). Преимущества установки терминалов оплаты очевидны - всегда довольные клиенты, а также ежемесячная арендная плата. Если Вас заинтересовало наше предложение, Вы можете связаться с нами по телефону или задать вопрос менеджеру здесь. Клиентам. Терминалы ЗАО "Точка оплаты" - это быстрый и удобный способ оплачивать услуги сотовой связи, коммерческого телевидения, коммунальные услуги и многое другое! Все платежи, осуществляемые через терминалы ЗАО «Точка Оплаты» проводятся  моментально, Вам не нужно длительное время ждать подтверждения оператора. Предлагаем Вам найти ближайший терминал оплаты  в Вашем районе. Ознакомится с интерфейсом терминала оплаты можно здесь Найти ближайший терминал оплаты: Автозаводский район

    40лет Победы, 80 м-н «Для вас»

    40лет победы,д24 продукты «Леопольд»

    70 лет Октября, 78/4 «Пилат»

    70 лет октября,д.90 «Посадский»

    70лет октября,д.19 «Елисеевский»

    Автостроителей 16А «Пеликан»

    Автостроителей 17А ТЦ «ДОН»

    Автостроителей,д.11а «Восток»

    Буденого б-р 6Д «Славянский»

    Ворошилова 11а «Зинаида»

    Ворошилова д.19а «Теремок»

    Ворошилова д.46 «Анис»

    Ворошилова, 31а «Елена»

    Гая б-р 9 «Ася»

    Дзержинского 38А ТЦ «Омега»

    Дзержинского 38А ТЦ «Омега»

    Дзержинского,д.16 «Посадский»

    Дзержинского,д.3б «Наш квартал»

    Жукова 42 «Пятерочка»

    Коммунальная,д.28 «Хладокомбинат»

    Коммунальная,д.30б «Посадский»

    Королёва,д.20а «Ася-2»

    Космонавтов 2 «Бурый медведь»

    Ленинский пр 17 «Пятерочка»

    Ленинский пр,д.1а «Посадский»

    Московский проспект,д.31 «Посадский»

    Орджоникидзе 9 «Белая Ворона»

    Орджоникидзе б-р,д.11 «Посадский»

    Орджоникидзе,д.2а «Альянс»

    Приморский б-р, 60 «Прибрежный»

    Революционная 20/60 «Восход»

    Революционная 60 ТЦ «Русь»

    Революционная 66 «Белла»

    Революционная 66 БЦ «Европа»

    Революционная,д.60 «МТС»

    Свердлова 22 «Тройка»

    Свердлова 9в м-н «Айсберг»

    Свердлова, 13а «Заря»

    Свердлова,д.44 «Продукты»

    Свердлова10 «Синдбад»

    Ст.Разина 44 «Пикник»

    Ст.Разина 9а м-н «Корсика»

    Ст.Разина,д.84а «Посадский»

    Степана Разина 22а «Гавань»

    Степана Разина 79а «Коробейник»

    Степана Разина, 2а «Зори»

    Степана Разина, 36а ТЦ «Самара»

    Степана Разина,д.36а «Посадский»

    Степана Разина,д.68б «Елисеевский»

    Тополиная 35 «София»

    Тополиная,д.35 м-н «Посадский»

    Транспортная 24А ТЦ «Оранж»

    Транспортная 7 ТЦ «Планета»

    Туполева,д.11а «Мой Любимый»

    Цветной б-р 12А «Пеликан»

    Цветной б-р 23а м-н «Напитки»

    Цветной бульвар,д.2А «Посадский»

    Юбилейная 22В «Маэстро»

    Юбилейная 40 ТЦ «Вега»

    Юбилейная 8А «Пеликан»

    Юбилейная,д.21а «Дивный»

    Юбилейная,д.75 «Посадский»

    Юбилейная, 49а «Гаврош»

    Юбилейная,д.9а м-н «Посадский»

    Южное шоссе, 105а «Грезы»

    Яшина 12 «Пеликан»

      Центральный район

    50 лет Октября 1 «Продукты»

    50 лет октября 53А «Асоль»

    50лет октября 2 «Пятерочка»

    Автозаводское шоссе 47 «Продукты»

    Баныкина 70 «Кит»

    Баныкина 74 «Аэрохолл»

    Белорусская 10А м-н «Продукты»

    Гидростроевская 21 «Продукты»

    Голосова 97Б «Продукты»

    Ерославского 23 «Посадский»

    Карбышева 3 «Вкусный»

    Карла Маркса 23 «Продукты»

    Комсомольская 143А  «Минимаркет»

    Куйбышева 18А «Престиж»

    Ленина 104 «Атлантэ»

    Ленина 93  «24часа»

    Ленина,д.22 Павильон ул.Бульвар "

    Ленинградская 35 «Продукты»

    Лесная 60 м-н «Натали»

    Лесная 62А «Егорыч»

    Луначарского 15 м-н «Продукты»

    Льва-Толстого 5 «Продукты»

    Мира 158 «Диана»

    Мира 60Б «Посадский»

    Мира 62 «Апельсин»

    Мичурина 129 м-н «Продукты»

    Мичурина 24А «Продукты»

    Октябрьская 76 м-н «Светлана»

    Победы 23А «Пятерочка»

    Советская 53 «Продукты»

    Советская 83 «Продукты»

      Комсомольский район

    Высоковольтная 29 м-н «Тпс»

    Гидростроевская 26 «Солнечный»

    Железнодорожная 39 «Пеликан»

    Механизаторов 11 «Пятерочка»

    Мурысева 52 «Митек»

    Никонова 124 «Продукты»

    Фадеева 29А «Продукты»

    Чернореческая 1Г «Продукты»

     

    ПРИЛОЖЕНИЕ 2

    # Host     : localhost # Port     : 3306 # Database : tochka SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE `tochka`; USE `tochka`; # # Structure for the `menu` table : # CREATE TABLE `menu` (   `id_menu` tinyint(4) NOT NULL auto_increment,   `mname` varchar(255) NOT NULL default '',   `parent_id` tinyint(4) default NULL,   `content` text,   `extpath` varchar(255) default NULL,   `tmeta` text,   `morder` tinyint(4) NOT NULL default '0',   `title` varchar(255) default NULL,   `is_umsg` tinyint(1) default NULL,   `is_vertical` tinyint(1) default NULL,   `topmsg` text,   PRIMARY KEY  (`id_menu`),   UNIQUE KEY `id_menu` (`id_menu`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='InnoDB free: 4096 kB'; # # Structure for the `roles` table : # CREATE TABLE `roles` (   `role_id` tinyint(4) NOT NULL auto_increment,   `access` varchar(255) default NULL,   PRIMARY KEY  (`role_id`),   UNIQUE KEY `role_id` (`role_id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; # # Structure for the `users` table : # CREATE TABLE `users` (   `user_id` tinyint(4) NOT NULL auto_increment,   `login` varchar(255) default NULL,   `upwd` varchar(255) default NULL,   PRIMARY KEY  (`user_id`),   UNIQUE KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='InnoDB free: 4096 kB'; # # Structure for the `usrmsg` table : # CREATE TABLE `usrmsg` (   `umsg_id` tinyint(4) NOT NULL auto_increment,   `email` varchar(255) default NULL,   `tmsg` text,   `is_new` tinyint(1) default NULL,   PRIMARY KEY  (`umsg_id`),   UNIQUE KEY `umsg_id` (`umsg_id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='InnoDB free: 4096 kB';

    ПРИЛОЖЕНИЕ 3

    class Page {             var $Menu;             var $Parent_id;             var $Content;             var $ExtPath;             var $Meta;             var $Title;             var $Is_usmsg;             var $Topmsg;             var $Morder;             var $Is_columned;             function Page($menu_id)             {                         $q=mysql_query("SELECT mname,parent_id,content,extpath,tmeta,title,is_umsg,topmsg,morder FROM menu WHERE (id_menu=$menu_id)");                         $qr=mysql_fetch_row($q);                         $this->Menu=$qr[0];                         $this->Parent_id=$qr[1];                         $this->Content=$qr[2];                         $this->ExtPath=$qr[3];                         $this->Meta=$qr[4];                         $this->Title=$qr[5];                         $this->Is_usmsg=$qr[6];                         $this->Topmsg=$qr[7];                         $this->Morder=$qr[8];             }             function IsChilds($menu_id)             {                         $qc=mysql_query("select id_menu,mname,extpath from menu where parent_id=$menu_id");                         if (mysql_num_rows($qc)!=0) {$result=1;          }                         else $result=0;                         return $result;             }             function ShowMenu($menuid,$parentid)             {                         $amenu=mysql_query('select id_menu,mname,morder from menu where parent_id is null order by morder');                         if (!is_null($menuid))     {                                      while ($rw = mysql_fetch_array($amenu))                                      {                                                  if (($menuid==$rw[0])||($parentid==$rw[0])) {                                                              echo "<li><a href=\"index.php?id=$rw[0]\">                                                  else { echo "<li><a href=\"index.php?id=$rw[0]\">$rw[1]</a></li>";}                                      }                         }             }          }
Если Вас интересует помощь в НАПИСАНИИ ИМЕННО ВАШЕЙ РАБОТЫ, по индивидуальным требованиям - возможно заказать помощь в разработке по представленной теме - Разработка динамического сайта для предприятия ... либо схожей. На наши услуги уже будут распространяться бесплатные доработки и сопровождение до защиты в ВУЗе. И само собой разумеется, ваша работа в обязательном порядке будет проверятся на плагиат и гарантированно раннее не публиковаться. Для заказа или оценки стоимости индивидуальной работы пройдите по ссылке и оформите бланк заказа.