Создание Web каталога ювелирных изделий с использованием возможностей PHP фреймворка Yii

Автор: Пользователь скрыл имя, 03 Июля 2013 в 09:13, курсовая работа

Краткое описание

Актуальность темы. Модернизация, техническое обновление, широкое внедрение инновационных технологий – надежный путь преодоления кризиса и выхода Узбекистана на новые рубежи на мировом рынке. Нам необходимо тщательным образом проанализировать, какие факторы мешают выйти из кризиса? Внедряя новые технологии, мы перестроим многое, мы обнаружим минусы системы, поставим цель и добьемся её [1]. Суммарные годовые доходы компаний только на рынке подключения к Интернету оцениваются сегодня в 45 млрд. долларов. Небольшие фирмы, не ведущие бизнеса в традиционной форме и представленные исключительно в Интернет, вырываются в лидеры, оставляя позади неповоротливых гигантов.

Оглавление

ВВЕДЕНИЕ 3
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 4
1.1 Принципы построения web-сайта 4
1.2 Языки web-программирования 8
1.3 Технология JavaScript 15
2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ 17
2.1 Проектирование архитектуры приложения 17
2.2 Проектирование пользовательского интерфейса 22
2.3 Структура базы данных 25
3. ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 31
3.1 Интерфейс пользователя 31
3.3 Технико-экономическое обоснование целесообразности создания сайта 36
3.4. Основные принципы обеспечения радиационной безопасности в компьютерных классах 37
ЗАКЛЮЧЕНИЕ 42
ЛИТЕРАТУРА 43

Файлы: 1 файл

DiplomnayaQobilova.doc

— 2.60 Мб (Скачать)

3) Создание приложений GUI, выполняющихся на стороне клиента.  Возможно, PHP является не самым  лучшим языком для создания  подобных приложений, но, если это  необходимо использование именно PHP, можно использовать PHP-GTK для создания таких приложений. Подобным образом можно создавать и кросс-платформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с дистрибутивом.

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие, как HP-UX, Solaris и OpenBSD), MicrosoftWindows, Mac OS X, RISC OS, и многих других. Также в PHP включена поддержка большинства современных web-серверов, таких, как Apache, MicrosoftInternetInformationServer, PersonalWebServer, серверов Netscape и iPlanet, сервера OreillyWebsitePro, Caudium, Xitami, OmniHTTPd и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

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

PHP способен не только  выдавать HTML (англ. HyperTextMarkupLanguage). Возможности  PHP включают формирование изображений,  файлов PDF и даже роликов Flash, создаваемых  «на лету». PHP также способен выдавать  любые текстовые данные, такие,  как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе вашего сервера, вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера [4].

Одним из значительных преимуществ PHP является поддержка широкого круга  баз данных. Создание скрипта, использующего  базы данных, - очень просто. В настоящее  время PHP поддерживает следующие базы данных (Adabas D, dBase, Empress, FilePro, Hyperwave, IBM DB2, Ingres, Informix, InterBase, FrontBase, mSQLDirect MS-SQL, Oracle, Ovrimos, PostgreSQL, Solid, MySQL, ODBC, Sybase, Velocis, Unixdbm).

Также в PHP включена поддержка DBX для работы на абстрактном уровне, что позволяет работать с любой  базой данных, использующих DBX. Кроме того, PHP поддерживает ODBC (Open Database Connection standard), таким образом, существует возможность работать с любой базой данных, поддерживающей этот стандарт.

PHP также поддерживает  «общение» с другими сервисами  с использованием таких протоколов, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многих других. Кроме того, имеется возможность работать с сетевыми сокетами «напрямую». PHP поддерживает стандарт обмена сложными структурами данных WDDX. Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP. Для доступа к удаленным объектам можно использовать расширение CORBA.

PHP включает средства  обработки текстовой информации, начиная с регулярных выражений Perl или POSIX Extended и заканчивая парсером документов XML. Для парсинга XML используются стандарты SAX и DOM. Для преобразования документов XML можно использовать расширение XSLT.

Последним по порядку является поддержка многих других расширений, таких, как функции поисковой машины mnoGoSearch, функции IRC Gateway, функции для работы со сжатыми файлами (gzip, bz2), функции календарных вычислений, функции перевода и многое другое.

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

Существует еще одна «характеристика», которая делает РНР  особенно привлекательным: он распространяется бесплатно. С открытыми исходными  кодами (OpenSource).

Сценарий РНР может  состоять из 10 000 строк или из одной  строки — все зависит от специфики задачи. Не приходится подгружать библиотеки, указывать специальные параметры компиляции. Механизм РНР начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.

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

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

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

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

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

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

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

Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению  к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования) [7].

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

Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, NetscapeEnterpriseServer, Stronghold и Zeus — РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003/Vista [15].

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

1.3 Технология JavaScript

JavaScript — объектно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript.

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

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

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

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

JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость [15].

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

  1. объекты, с возможностью интроспекции;
  2. функции как объекты первого класса;
  3. автоматическое приведение типов;
  4. автоматическая сборка мусора;

2. ПРОГРАММНАЯ  РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ

2.1 Проектирование  архитектуры приложения

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

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

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

Web-сайт состоит из следующих основных функциональных частей (рис. 4.):

  1. Каталог товаров
  2. Поисковая система
  3. Пользовательская корзина
  4. Форма отправки заказа

 

Рис. 2.1.1 Основные функциональные части сайта

Каталог представляет собой  многоуровневую структуру данных, которая  простым и понятным способом производит упорядочивание товаров (рис. 2.1.2.)

Рис.2.1.2. Многоуровневая структура данных

 

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

 

Рис. 2.1.3.Поисковая система

 

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

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

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

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

Форма отправки заказа служит для ввода контактной информации заказчика и отправки ее и заказа на электронный ящик организации (рис. 2.1.4.).

 

Рис. 2.1.4. Контактная информация заказчика

 

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

Информация о работе Создание Web каталога ювелирных изделий с использованием возможностей PHP фреймворка Yii