Разработка системы управления Интернет-приложениями

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



нократное тестирование;

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

1.2 Модели представления данных в CMS

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

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

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

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

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

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

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

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

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

1.3 Критерии оценки CMS

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

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

Функциональность CMS, определяется функциями, реализованными в CMS. В общем случае CMS должна позволять:

редактировать контент страниц, включая добавление/удаление графики;

добавлять новые страницы;

изменять структуру сайта и различные метаданные;

настраивать регистрационные формы;

управлять опросами, голосованиями и форумами;

вести статистику посещений;

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

управлять дизайном.;

распределять права по управлению сайтом среди пользователей.

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

Безопасность CMS второй по важности после функциональности критерий. Надо учитывать как надёжность системы со стороны внешних атак, так и от неосторожных действий пользователей системы.

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

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

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