Разработка web-приложения – CMS (система управления контентом) интернет-маркета

Описание системы управления реляционными базами данных MySQL. Изучение факторов влияющих на пропускную способность в беспроводных сетях. Особенности применения языка Java Script. Методы тестирования web-приложений. Разработка пользовательского интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.06.2015
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

Введение

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

2. Обзор средств и технологий

2.1 Выбор языка программирования

2.2 Cистема управления базами данных

2.3 Особенности применения языка Java Script

3. Разработка

3.1 Разработка архитектуры системы

3.2 Разработка базы данных

3.3 Разработка таблицы функциональности приложения

3.4 Разработка пользовательского интерфейса

3.5 Описание web-страниц и их функциональность

3.6 Примеры пользовательского интерфейса

3.7 Механизм шаблонов

3.8 Разработка модульной структуры приложения

3.9 Руководство пользователя

4. Технологическая часть

4.1 Современные методы и средства тестирования web-приложений

4.2 Тестирование функциональности

5. Экономическое обоснование проекта

5.1 Маркетинговые исследования предприятия

5.2Расходы по созданию и размещению магазина в сети интернет

5.3 Выводы

6. Охрана труда и безопасность в чрезвычайных ситуациях

6.1 Метеорологические условия при работе

6.2 Освещение

6.3 Шум

6.4 Излучение от экрана монитора

6.5 Техника безопасности

Выводы

Перечень ссылок

Введение

управление тестирование интерфейс приложение

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

Необходимость систем управления для владельцев сайтов начала проявляться в тот момент, когда количество материалов на веб-сайтах начало стремительно расти. Это привело к тому, что традиционные «ручные» технологии разработки и поддержки сайтов, когда сайт состоял из статических страниц и набора дополнительных специализированных скриптов, стали не успевать за быстро меняющимися условиями бизнеса. Ввод данных на сайт требовал (как минимум) знания технологий HTML/CSS верстки, изменения структуры сайтов были сопряжены с каскадным изменением большого количества взаимосвязанных страниц. Различные автоматизированные механизмы, вроде гостевых книг и новостных лент, внедренные на сайтах как отдельные скрипты и, как правило, написанные разными специалистами, перестали удовлетворять требованиям безопасности. На многих сайтах стали появляться коктейли из разных технологий и подходов к разработке, поэтому возникла потребность в стандартизации программных решений, в разделении дизайна и содержимого на две независимые составляющие. CMS действительно разделяют сайты на две составляющие: дизайн (внешний вид сайта в целом, отдельных страниц, конкретных блоков информации) и контент. Дизайн сайта, как правило «зашит» в шаблоны и изменяется значительно реже, чем контент.

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

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

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

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

Функционал пользователя должен содержать следующее:

1.1) Каталог (развернутый вид - в центре экрана, и краткая навигация, расположенная на сайд-баре);

1.2) Прайс-лист (краткое отображение всех товаров по категориям);

1.3) Меню оформления заказа;

1.4) Поиск товара;

1.5) Два меню отображения информации в шапке приложения (информация о магазине и доставке/ оплате товара)

Функционал администратора должен содержать следующее:

2.1) Модуль обеспечения авторизации (проверка логина и пароля);

2.2) Модуль для создания/ удаления/ редактирования каталогов (информации раздела, фото);

2.3) Модуль добавления/ редактирования/ удаления товара (информации о нем, фото,);

2.4) Модуль “Специального предложения” (товар который будет отображен на главной странице)

2.5) Модуль Обзора полученных заказов;

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

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

2. Исследование средств и технологий

2.1 Выбор языка программирования

Бейсик -- семейство высокоуровневых языков программирования.

Был разработан в1964 году профессорами Дартмутского колледжа Томасом Курцеми Джоном Кемени.

Язык создавался как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения своих задач. Получил широкое распространение в виде различных диалектов, прежде всего как язык длядомашних компьютеров. К настоящему моменту претерпел существенные изменения, значительно отойдя от характерной для первых версий простоты, граничащей с примитивизмом и превратившись в достаточно ординарный язык высокого уровня с типичным набором возможностей. Используется как самостоятельный язык для разработки прикладных программ, главным образом, работающих под управлением ОС Windows различных версий. Также широко распространён в качестве встроенного языка прикладных программных систем различного назначения и в качестве языка для программируемых калькуляторов.

Недостатки

· Поддержка операционных систем только семейства Windows и Mac OS X(Исключение-- VB1 forDOS).

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

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

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

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

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

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций, написанных на других языках, отсутствие средств раздельной компиляции ит.п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал языкМодула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.

Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде1970-х(которым былФортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. К 1980-м годам Паскаль стал основой для многочисленных учебных программ, в отдельных случаях на его основе были созданы специализированные обучающие языки программирования, так, в начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники Андрей Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в TurboPascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

Недостатки

· Компилятор рассчитан на реальный режим DOS, который сейчас практически не используется. Недостаточно полно реализовано объектно-ориентированное программирование.

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

Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц.

Важным преимуществом языка PHP перед такими языками, как языков Perl и C заключается в возможности создания HTML документов с внедренными командами PHP.

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

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

PHP прост для освоения, и вместе с тем способен удовлетворить запросы профессиональных программистов.

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

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

Возможности PHP очень большие. Главным образом, область применения PHP сфокусирована на написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI. Например, обрабатывать данных форм, генерировать динамические страницы, отсылать и принимать cookies. Но PHPспособен выполнять и множество других задач.

Когда я впервые узнал о программировании в Интернете, Perl + CGI были доминирующими платформами. С тех пор, PHP действительно стала ведущей платформой для разработки, по крайней мере свободного программного обеспечения. Почему PHP занимает лидирующее позицию в популярности. Благодаря удобству использования PHP для веб разработки, многие останавливают свой выбор именно на этой платформе. Как язык программирования, PHP прост. Его поддержка объектно-ориентированности «значительно улучшилась» за последние годы, по сравнению с тем каким этот язык программирования был в течение длительного времени.

Рекомендовано начать изучение программирования именно с PHP как платформы для веб разработки, естественно если Вы уже освоили HTML.

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

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

Так почему же PHP. Вот лишь часть того, что вы можете делать с PHP:

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

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

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

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

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

1. PHP имеет большую базу доступных интернет-приложений. Есть проекты с открытым кодом, которые имеют поддержку и широкий функционал, такие как WordPress и Drupal. Есть большое количество CMS, которые просты в использовании, даже для неискушённого в плане программирования пользователей. Есть отличные, коммерчески поддерживаемые приложения, таких как SugarCRM и VBulletin. Википедия является одним из крупнейших сайтов в Интернете и ее код MediaWiki свободно доступен для использования или для изучения. Весьма вероятно, что если есть тип веб-приложение, которое вы хотите использовать, кто-то уже написал что-то подобное на PHP. Хотя вам не нужно знать РНР для установки и использования этих приложений, немного знаний о PHP позволяет вам получить больше от этих ценных ресурсов. Знание PHP является полезным, даже если вы не являетесь PHP программистом. Основной фактор успеха PHP программирования - доступность и простота.

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

3. РНР обрабатывается на на стороне сервера и является HTML-встроенным скриптовым язык, это означает, что при выборе PHP в качестве языка реализации позволяет создавать динамически генерируемые страницы быстро и легко. Основным в разработке на языке PHP это то, что он прост в использовании даже для не-программистов. Кроме того, он доступен для большинства операционных и веб-серверов, а также можете получить доступ к наиболее общим базам данных, включая MySQL.

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

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

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

Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться вне зависимости от веб-сервера и браузера. Все, что вам потребуется - парсерPHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (TaskScheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. Дополнительная информация находится здесь.

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

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие, как HP-UX, Solaris и Open BSD), Microsoft Windows, Mac OSX, RISCOS, и многих других. Также в PHP включена поддержка большинства современных вебсерверов, таких, как Apache, Microsoft Internet Information Server, Personal Web Server, серверов Netscape и I Planet, сервера Oreilly Website Pro, Caudium, Xitami, Omni HTTPd и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

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

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

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

Таблица 2.1 - Поддержка PHP различных баз данных

Adabas D

Ingres

Oracle (OCI7 и OCI8)

dBase

InterBase

Ovrimos

Empress

FrontBase

PostgreSQL

FilePro

mSQL

Solid

Hyperwave

Direct MS-SQL

Sybase

IBM DB2

MySQL

Velocis

Informix

ODBC

Unixdbm

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

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, функции для работы со сжатыми файлами, функции календарных вычислений, функции перевода и многое другое.

2.2 Cистема управления базами данных MySQL

MySQL - это популярная система управления базами данных (СУБД), очень часто применяемая в сочетании с PHP.

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

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

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

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

Технические возможности СУБД MySQL - MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). Мы также поставляем сервер MySQL в виде многопоточной библиотеки, которую можно подключить к пользовательскому приложению и получить компактный, более быстрый и легкий в управлении продукт. Доступно также большое количество программного обеспечения для MySQL, в большей части - бесплатного.

2.3 Особенности применения зыкаJavaScript

JavaScript - это объектно-ориентированный скриптовый язык программирования.

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

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

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

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

Язык программирования Java Script был разработан Бренданом Эйком (Brendan Eich) в NetscapeCommunications как язык сценариев для обозревателей Netscape Navigator, начиная с версии 2.0. В дальнейшем к развитию этого языка подключилась корпорация Microsoft, чьи обозреватели InternetExplorer поддерживают JavaScript, начиная с версии 3.0. Версия Microsoft получила название JScipt, поскольку JavaScript является зарегистрированной маркой фирмы Netscape. В 1996 г. ECMA приняла решение о стандартизации этого языка, и в июне 1997 г. была принята первая версия стандарта под названием ECMAScript (ECMA-262). В апреле 1998 г. этот стандарт был принят ISO в качестве международного под номером ISO/IEC 16262. Мы в последующем изложении основываемся на третьей версии стандарта ECMA (декабрь 1999 г.), но используем название JavaScript, а не ECMAScript по двум причинам:

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

2. Соответствующий тип MIME, а именно "text/javascript", распознается всеми обозревателями, которые поддерживают сценарии на данном языке, в отличие от JScript или ECMA Script.

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

2.4 Среда разработки- PHPExpert Editor

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

Эта программа разработана Украинской компанией Ancord Development Group. По этому, команда разработчиков жители бывшего СССР, мы получаем возможность пользоваться программой бесплатно, всего лишь пройдя регистрацию. Все остальные вынуждены выложить из своего кошелька 35 евро, что согласитесь не так мало.

PHP Expert Editor-- действительно удобный и приятный редактор дляPHP, Perl, Python, HTML, JavaScript, TXTи других файлов с поддержкой кодировкиUTF-8. Первое, что действительно удобно -- это настраиваемая подсветка синтаксиса, т.е. можно выбрать тип языка с которым Вы работаете и в соответствии с ним код будет подсвечиваться разными цветами.

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

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

Программа разработана специально для PHP мастеров и имеет встроенный отладчик PHP. PHP ExpertEditor имеет встроенный HTTP сервер и позволяет запускать PHP, Perl, Python, скрипты. Вы также можете использовать любой внешний HTTP сервер. Проверка синтаксиса PHP, встроенный браузер, FTP клиент с поддержкой SFTP, Кодовый и файл эксплорер, поддержка проектов, настраиваемые шаблоны кода, настраиваемая подсветка кода, и многие другие функции значительно облегчают работу разработчика. Также он не привередлив к ресурсам компьютера, тем самым работает быстро даже на “слабых” компьютерах.

3. Разработка

3.1 Разработка архитектуры системы

Выбор архитектуры осуществляется с учетом функциональности и характеристик обрабатываемой информации, на этом основание была выбрана архитектура «клиент-сервер».

На уровне сервера достаточно четко можно выделить следующие компоненты:

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

· Слой бизнес-логика, на котором располагаются модули приложения;

· Слой Базы Данных, предназначенный для хранения данных;

Таким образом, была определена модель клиент-серверного взаимодействия - «Тонкий клиент»:

3.2 Разработка базы данных

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

В таблице данных ordered_carts будет хранится информация о купленных товарах, а именно: номер продукта, номер заказа, наименование товара, цена одного экземпляра и количество штук.

В таблице данных orders будет хранится информация о покупателе: номер заказа, время заказа, ФИО, е-мейл и телефон для связи, а также адрес места проживания.

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

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

3.3 Разработка диаграммы функциональности приложения

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

Функционал приложения разделен на две части:

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

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

3.4 Разработка пользовательского интерфейса

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

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

Интерфейс пользователя - элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением. В том числе:

- средства отображения информации, отображаемая информация, форматы и коды;

- командные режимы, язык пользователь-интерфейс;

- устройства и технологии ввода данных;

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

- обратная связь с пользователем;

- поддержка принятия решений в конкретной предметной области;

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

Есть несколько простых правил, позволяющих интерфейсу быть понятым клиенту:

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

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

Чем проще выполнена верхняя часть страницы, тем легче запомнить название сайта и саму фирму.

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

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

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

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

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

- «Новинки» (товары, недавно поступившие в продажу);

- «Специальные предложения» (товары, на которые по каким-либо причинам снижены цены);

- «Товары дня» (самые модные товары);

- «Лидеры продаж» (наиболее покупаемые товары).

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

7. Расчёт стоимости и вывод цен должен осуществляться минимум в двух валютах, гривнах и долларах.

8. В электронном магазине могут быть и информационные разделы:

- с данными о магазине (сфера деятельности, адрес, контактные телефоны и т.д.);

- с информацией по доставке товара;

- с информацией по скидкам;

- новости магазина;

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

- прочая полезная информация.

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

10. Обратной, невидимой покупателю, стороной Интернет магазина является система управления. Вход в систему администрирования осуществляется только после ввод администратором логина и пароля (логин и пароль администратор может менять). Администратор имеет возможность полностью управлять содержимым Интернет магазина:

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

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

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

- редактировать контактную информацию Интернет магазина;

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

- составлять и рассылать письма с новостями магазина подписчикам;

- просматривать историю заказов и статистику покупателей;

- изменять курс валюты на витрине магазина.

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

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

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

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

3.5 Описание web-страниц и их функциональность

Интерфейс приложения можно разделить на две составляющие:

1) Интерфейс пользователя:

Главная страница - на ней находятся: поиск, и навигация по каталогам;

Страница каталога - позволяет перемещаться внутри категорий;

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

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

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

Страница информации о покупателе - позволяет ввести информацию о покупателе - ФИО, адрес, телефон и т.д. Поля отмеченные красной звездочкой являются обязательными для заполнения. После заполнения данной страницы заказ будет полностью выполнен по нажатию на кнопку «Оформить заказ».

2) Интерфейс администратора

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

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

Страница «Каталог» - делится на:

Страница Категории и товары - позволяет администратору создавать/редактировать/удалять категории и товары;

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

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

Страница настроек делится на:

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

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

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

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

3.6 Примеры пользовательского интерфейса

Рисунок 3.1 - Информация о товаре

Рисунок 3.2 - Корзина

Рисунок 3.3 - Форма заполнения информации о покупателе

Рисунок 3.4 - Добавление Категорий и товаров

Рисунок 3.5 - Полученные заказы

3.7 Механизм шаблонов

CMS разработана на основе шаблонной библиотеки Smarty.

Smarty -это мощный инструмент, который компилирует шаблоны в PHP скрипты и потом запускает эти самые скрипты, тем самым позволяя сделать дизайн интернет-магазина легко редактируемым и отделить его от PHP скриптов.

Дизайн настраивается в шаблонах, которые представляют собой HTML файлы,расположенные во вложенной папке templates. Содержимое файлов-шаблонов представляет собой HTML-код со вставками специальных тэгов Smarty, оформленных в фигурных скобках {} - это различные условия {if}, циклы{section} и т.п.

Основной шаблон пользовательской части index.tpl.html (этот шаблон определяет внешний вид магазина). Администратор может открыть этот файл в текстовом или HTML редакторе (напримерPHPExpertEditor) и внести необходимые изменения (возможно изменить цветовое оформление, логотипы и т.п. - любые элементы дизайна).Для этого администратор должен обладать базовыми навыками работыс HTML и/или опыт работы с HTML редактором.

3.8 Разработка модульной структуры приложения

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

Наиболее часто используемые файлы:

Connect.inc.php - объявление констант для настройки соединения с БД;

MySQL.php - включает функции для работы с БД;

General.inc.php - объявление основных констант;

Appearance.inc.php - объявление констант оформления;

Functions.php - содержит наиболее используемые функции;

Category_functions.php - содержит наиболее используемые функции древа категорий;

Checklogin.php - проверяет авторизацию;

Tables.inc.php - объявление констант таблиц БД.

3.8 Руководство пользователя

1. Введение

1.1 Наименование программы

CMS (система управления контентом) интернет маркета.

1.2 Краткая характеристика области применения

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

2 Основание для разработки

2.1 Основания для проведения разработки

Основание для разработки Системы - задание на бакалаврскую работу кафедры “Компьютерные системы и сети” Национального аэрокосмического университета им. Н.Е. Жуковского “ХАИ”.

2.2 Наименование и условное назначение

CMS (система управления контентом) интернет маркета.

3. Назначение разработки

3.1 Функциональное назначение

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

3.2 Эксплуатационное назначение

Эксплуатационным назначением приложения является разработка веб-магазинов на его основе.

4 Требования к системе

4.1 Требования к системе в целом

4.1.1 Требования к структуре и функционированию системы

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

4.1.2 Требования к численности и квалификации персонала

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

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

4.1.3 Показатели назначения

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

4.1.4 Требования к эргономике и технической эстетике

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

4.1.5 Требования к эксплуатации и техническому обслуживанию, ремонту и хранению компонентов приложения

Устойчивое функционирование приложения должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий:

а) Организации бесперебойного питания технических средств;

б) использование лицензионного ПО;

в) своевременное обновление ПОс сайта производителя;

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


Подобные документы

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

    дипломная работа [3,5 M], добавлен 10.07.2015

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

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

    дипломная работа [2,8 M], добавлен 03.07.2017

  • Разработка и создание игры "Змейка". Использование динамически-активных принципов языка Java. Графические объекты программы. Описание игры, правила, теоретические сведения. Классы приложения. Типы данных. Реализация. Метод. Объект. Блок-схема игры.

    курсовая работа [12,4 K], добавлен 18.06.2008

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

    дипломная работа [2,1 M], добавлен 20.12.2015

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

    курсовая работа [1,2 M], добавлен 16.08.2012

  • Статические и динамические веб-сайты, их характеристика. Анализ возможностей применения языка PHP, системы управления базами данных (СУБД) MySQL, фреймворка CodeIgniter для разработки динамических веб-сайтов. Разработка шаблонов и главной страницы.

    курсовая работа [2,8 M], добавлен 19.09.2012

  • Особенности работы с графическими изображениями Java Script. Способы динамического управления слоями. Рассмотрение примеров использования операторов цикла. Характеристика свойств объекта form: encoding, elements, checkbox. Возможности документов HTML.

    курсовая работа [167,7 K], добавлен 09.02.2013

  • Разработка алгоритма и программы управления поворотной платформой лифта при помощи языка программирования Java Script. Проектирование приложения к браузеру в среде Adobe Dreamweaver CS5. Схема алгоритма, текст программы для двухмерной модели лифта.

    курсовая работа [353,1 K], добавлен 18.05.2013

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

    дипломная работа [2,8 M], добавлен 19.08.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.