Автор работы: Пользователь скрыл имя, 08 Апреля 2013 в 00:21, практическая работа
В настоящее время сайт не ограничивается несколькими страницами. Как правило сайт содержит сотни, тысячи и даже десятки тысяч страниц. С увеличением объема увеличивается и время необходимое на разработку, а для заказчика временной фактор зачастую является определяющим при выборе исполнителя. Однако создать сайт – это полдела. После завершения разработки сайт необходимо обслуживать: удалять, добавлять, редактировать страницы, менять внешний вид. Изменения сайта состоящего из хотя бы нескольких сотен страниц займет неимоверное количество времени. Для сокращения времени и сил, которые затрачиваются на создание, а также для упрощения обслуживания сайта и создаются системы управления содержимым.
ВВЕДЕНИЕ
В последние годы в нашей
стране, как и во многих других странах,
наблюдается стремительное
В настоящее время сайт не ограничивается несколькими страницами. Как правило сайт содержит сотни, тысячи и даже десятки тысяч страниц. С увеличением объема увеличивается и время необходимое на разработку, а для заказчика временной фактор зачастую является определяющим при выборе исполнителя. Однако создать сайт – это полдела. После завершения разработки сайт необходимо обслуживать: удалять, добавлять, редактировать страницы, менять внешний вид. Изменения сайта состоящего из хотя бы нескольких сотен страниц займет неимоверное количество времени. Для сокращения времени и сил, которые затрачиваются на создание, а также для упрощения обслуживания сайта и создаются системы управления содержимым.
Целью проекта является создание автоматизированной системы управления контентом, призванной уменьшить время, затрачиваемое на создание и обслуживание сайта. Система должна обладать интуитивно понятным и простым оформлением, необходимым для возможности редактирования сайта разными людьми, даже не имеющими глубоких знаний в сфере веб-разработки.
На данный момент имеется не мало систем управления контентом (Content management system, CMS). Они отличаются друг от друга ценой, уровнем возможностей, назначением, гибкостью, способом управления, необходимым уровнем знаний пользователя, скоростью работы, удобством оформления и другими особенностями. Рассмотрим некоторые системы управления контентом.
Wordpress является одной из самых распространенных CMS. Система написана на языке программирования PHP. Для хранения информации в данной CMS используется база данных MySQL. Wordpress позволяет создавать сайты практически любой сложности: от блогов до крупных новостных ресурсов и Интернет-магазинов. К ее достоинствам можно отнести также отсутствие платы за использование. Открытый исходный код данной системы позволяет вносить дополнения и изменения, однако это требует определенных знаний и глубокого изучения программной части. Для Wordpress существует большое количество дополнений в виде темы, модулей и расширений от сторонних разработчиков, позволяющих разнообразить сайт и изменить его внешний вид и функционал. Недостатками данной системы управления содержимым является неудобная реализация редактирования кода сайта и высокая степень загрузки аппаратной части при большой нагрузке, что является следствием плохой оптимизации программной составляющей.
Joomla имеет очень большую популярность и открытый исходный код, благодаря чему обладает широкой поддержкой среди разработчиков. Данный факт обуславливает огромное количество шаблонов и модулей расширений. Система разработана на основе таких языков программирования как PHP и JavaScript. Joomla несложна в освоении и использовании и при этом обладает широким функционалом, что позволяет использовать ее для создания и обслуживания сайтов практически любой сложности, однако управление по мере увеличения объема содержимого становится сложнее, а структура сайта более громоздкой, что приводит к увеличению времени обработки запроса и нагрузке на центральный процессор.
Эта система управления контентом сайта с открытым исходным кодом, как и две предыдущие, разработана с использованием языка программирования PHP. Несмотря на относительную сложность использования эта CMS также довольно популярна. Создание сайта с помощью этой системы управления содержимым потребует от разработчика определенных знаний веб-технологий. Dupal – очень гибкая и универсальная бесплатная система, обладающая высоким быстродействием.
2 ОБОСНОВАНИЕ ВЫБОРА СРЕДСТВ РАЗРАБОТКИ
Любая система структурно состоит из ядра и дополнительных модулей. Для разработки этих элементов используются объектно-ориентированный языки программирования. Языки программирования, используемые для веб-разработки можно разделить на две группы:
- клиентские;
- серверные.
Программы написанные на клиентских языках программирования обрабатываются на стороне пользователя. Обычно эту функцию выполняет веб-обозреватель (браузер). Основным недостатком клиентских языков программирования является зависимость результата выполнения программы от браузера пользователя. Это значит, что если пользователь в настройках своего веб-обозревателя отключит возможность выполнения программ, написанных на клиентских языках программирования, то исполняться эти программы не будут, как бы этого не хотел разработчик. На данный момент существует большое количество веб-обозревателей и еще большее количество версий каждого из них. Различные веб-обозреватели, а также разные версии одного веб-обозревателя могут отлично друг от друга выполнять одни и те же программы, написанные на клиентских языках программирования. Это является еще одной проблемой данных средств разработки. Однако использование клиентских программ позволяет снизить нагрузку на сервер, с их помощью программист может перенести исполнение программ на оборудование пользователя. К самым распространенным языкам программирования можно отнести:
- JavaScript;
- VBScript;
- ActionScript;
- Java.
После того, как пользователь набрал адрес сайта в адресной строке веб-обозревателя и нажал на клавишу «Ввод» запрос отправляется на сервер, где он обрабатывается путем выполнения всех программ, связанные с этим сайтом и конкретной страницей. Только после выполнения всех необходимых программ результат их выполнения отправляется обратно пользователю и отображается в окне браузера в виде готовой Интернет-страницы. В таком случает результат выполнения программы полностью зависит от сервера, на котором расположен сайт, и от того, какая версия того или иного языка программирования поддерживается. Программы, исполняемые на стороне сервера, написаны на серверных языках программирования. Самыми популярными серверными языками программирования являются:
- PHP;
- Perl;
- Python;
- Ruby;
- языки программирования .NET;
- Java;
- Groovy.
Важной особенностью при
работе с языками программирования,
исполняемыми на стороне сервера, является
возможность организации
- Firebird;
- IBM DB2;
- IBM DB2 Express-C;
- Microsoft SQL Server;
- Microsoft SQL Server Express;
- mSQL;
- MySQL;
- Oracle;
- PostgreSQL;
- SQLite;
- Sybase Adaptive Server Enterprise;
- ЛИНТЕР;
- MongoDB.
Средства разработки выбираются в зависимости от области применения будущей системы и ее сложности. Чем более система универсальна, тем сложнее ее внутренняя структура, следовательно потребуются более высокоуровневые средства разработки. Системами управления контентом можно считать HTML-редакторы (Microsoft FrontPage, Macromedia HomeSite, Adobe Dreamweaver), конечно это примитивные системы управления контентом, требующие от пользователя специальных знаний, навыков и опыта. Для создания полнофункциональной системы потребуется использование языков программирования, систем управления базами данных.
2.1 HTML
HTML (англ. HyperText Makeup Language – язык разметки гипертекста) – стандартный язык разметки документов, принятый в сети Интернет. Язык HTML приобрел популярность в середине 90 годов, благодаря стремительному развитию Интернета.
Для просмотра HTML документов используются специальные программы, называемые веб-обозревателями или браузерами. Они преобразуют файлы, размеченные по правилам языка HTML, форматируют их в виде веб-страниц и отображают содержимое на экране компьютера. Одной из основных возможностей языка HTML, которая даже отражена в самом названии, является возможность создания ссылок на другие документы.
Управляющими командами в языке HTML являются тэги (aнгл. tag – ярлык, признак). Тэги заключены между символами “<” и “>” и управляют отображением текста, при этом сами не отображаются на экране. Название тэгов, а так же их параметров можно записывать на любом регистре. Большинство управляющих команд HTML используются попарно. Для определения тэга, назовем его “открывающим” должен быть соответствующий “закрывающий” тэг.
2.2 JavaScript
JavaScript - объектно-ориентированный, межплатформенный язык сценариев, разработанный корпорацией Netscape. Язык JavaScript основан на языке Java. JavaScript содержит набор основных объектов и набор элементов языка. Используя его можно на лету менять внешний вид документа, в зависимости от изменения каких-либо условий, проводить первичную обработку информации отправляемой через формы и многое другое.
2.3 PHP
Одним из приоритетных языков программирования является PHP: Hypertext Preprocessor (Гипертекстовый препроцессор). PHP - это язык программирования и программный модуль, который исполняет программу, написанную на этом языке. Часто программу на PHP называют "скриптом", так как она исполняется интерпретатором. Язык очень прост для изучения, ему можно обучится буквально за несколько часов, даже имея минимальным опыт в программировании.
Существует несколько важных причин, по которым лучше выбрать PHP:
- PHP является открытым продуктом. Всегда можно скачать последнюю версию, причем сделать это можно совершенно бесплатно.
- PHP может работать с большинством операционных систем и серверов, что делает его универсальным и популярным.
- Скорость продвижения проекта, сделанного на технологии PHP, будет всегда выше, чем у проектов, сделанных на других технологиях.
- Благодаря тому, что PHP позволяет отделить HTML-текст от выполнимой части, вы можете добиться значительного снижения времени, затраченного на разработку проекта. При хорошем управлении проектом, вам удастся отделить программную часть от остальной части, что сильно облегчит жизнь и дизайнеру, и программисту, а также придаст проекту большую гибкость.
- PHP - несложный язык и легко учиться, к тому же обладает широкой поддержкой сообщества, в том числе и русскоязычного, поэтому всегда можно получить справку практически по любому вопросу.
- Большое количество
PHP поддерживает подключаемые модули расширения, которые могут расширять стандартный набор функций или предоставлять некоторые сервисы. Например, так организовано взаимодействие с базами данных, модулями рисования графики, обработки XML, XSLT, кэширование промежуточного байт-кода откомпилированных скриптов и т.д.
2.4 MySQL
Существуют два общепризнанных подхода к организации хранения информации. Использование реляционных баз данных и систем управления БД (СУБД), а также использование БД основанных на файловой системе.
Преимущества использования реляционных баз данных и СУБД:
- надежность;
- высокая скорость работы;
- резервное копирование;
- возможность доступа неограниченного числа пользователей к БД;
- возможность сортировки, поиска данных.
Выбор СУБД, для проектирования CMS не представляет собой сложную задачу. Хорошо зарекомендовавшая себя система управления базами данных MySQL является самой распространенной и удобной системой для проектирования веб-приложений.
MySQL является наиболее приспособленной для нужд веб-разработчика. Не секрет, что для исполнения приложений клиента на большинстве хостинг-площадок провайдеры предоставляют небольшое количество ресурсов (как вычислительных, так и дисковых). Поэтому для данного применения необходима высокоэффективная система управления базами данных, обладающая при этом высокой надежностью (большинство веб-приложений и сайтов должны работать в 24 часа 7 дней в неделю).
Основные преимущества СУБД MySQL:
- Многопоточность, поддержка нескольких одновременных запросов.
- Оптимизация связей с присоединением многих данных за один проход.
- Записи фиксированной и переменной длины.
- Наличие ODBC драйвера.
- Гибкая система привилегий и паролей.
- Гибкая поддержка форматов чисел, строк переменной длины и меток времени.
- Интерфейс позволяющий работать с языком PHP.
- Высокая скорость работы, масштабируемость.
- Совместимость с ANSI SQL.
- Бесплатна в большинстве случаев.
- Поддержка со стороны провайдеров услуг хостинга.
- Быстрая поддержка транзакций через механизм InnoDB.
По всем этим причинам MySQL стала незыблемым стандартом в области систем управления базами данных для веб-разработки, а теперь в ней развиваются возможности для использования ее в любых критич- ных бизнес-приложениях, то есть, система конкурирует на равных с такими СУБД таких производителей, как Oracle, IBM, Microsoft и Sybase.
3 РАЗРАБОТКА СТРУКТУРНОЙ
СХЕМЫ АВТОМАТИЗИРОВАННОЙ
При построении структурной
схемы автоматизированной системы
управления контентом сайта
3.1 Авторизация
Авторизация – это предоставление определенному лицу или группе лиц прав на выполнение определенных действий, а также процесс проверки наличия этих прав при попытке совершения действий, разрешенных ограниченному кругу лиц.
В разрабатываемой системе управления будет несколько типов пользователей, отличающихся друг от друга закрепленными за ними правами.
Типы пользователей
- Администратор. Этот тип пользователя имеет полный доступ к внешнему виду сайта и его содержимому, может его редактировать, добавлять, удалять. Также администратор может ограничивать управлять правами других пользователей сайта.
Информация о работе Автоматизированная система управления контентом сайта