Общие сведения о системе управления контентом, модели представления данных и критерии её оценки. Проектирование функций пользователей "SiteONas" с ролью "Суперадминистратор". Проблема, решаемая в программном продукте, трудоемкость его разработки.
Аннотация к работе
Пояснительная записка дипломной работы выполнена в соответствии с ГОСТ 7.9-95, ГОСТ 7.32-2001, ГОСТ 15.101-98, ГОСТ 19.105-78, ГОСТ 19.404-79, СТП КУБГТУ 1.9.2-2003, МР КУБГТУ 4.4.3-2004. Данный раздел выполнен в соответствие с ГОСТ Р 1.5-2004, ГОСТ Р ИСО 9000-2008, ГОСТ Р ИСО 9001-2008. Данный раздел выполнен в соответствии с ГОСТ 19.102-77, ГОСТ 19.104-78, ГОСТ 19.202-78, ГОСТ 19.402-78, ГОСТ 19.701-90, Р-50-77-88.В третьем разделе представлено руководство пользователя и руководство программиста, выполненные в соответствие с ГОСТ 19.503-79, ГОСТ 19.504-79, 19.505-79. В конце пояснительной записки к дипломному проекту приведен список используемой литературы, включая электронные ресурсы, оформленный в соответствие с ГОСТ 7.1-2003, ГОСТ 7.12-93, ГОСТ 7.80-2000, ГОСТ 7.82-2011. Под контентом (дословный перевод английского термина content, означающего содержание, содержимое) понимают информационное наполнение сайта - то есть все типы материалов, которые находятся на сервере: web-страницы, документы, программы, аудио-файлы, фильмы и так далее.Дипломный проект выполнен согласно заданию на дипломное проектирование в полном объеме и в соответствии с основными правилами оформления. В данной пояснительной записке к дипломному проекту представлен материал, отражающий все этапы выполнения исследовательской работы от первоначальной постановки задачи до отладки работоспособной программы.
Введение
На сегодняшний день интернет-ресурсы стали мощными инструментами в области рекламы, развлечения, торговли и бизнеса. Спрос на создание новых интернет-сайтов не убывает с ростом количества действующих сайтов, а наоборот все возрастает. Человек, столкнувшийся с необходимостью создания собственного интернет ресурса для своих нужд или для нужд предприятия, встает перед выбором: разработать сайт самостоятельно, или заказать его у веб-студии. В случае применения первого варианта, возникает необходимость подбора соответственной CMS, которая позволит создать требуемый ресурс. Но этот выбор зачастую сделать очень затруднительно.
В свою очередь веб-студии также встают перед выбором необходимой CMS для разработки сайтов. И определение требуемой CMS также становится нелегкой задачей и большинство профессиональных веб-студий приходят к решению разработки собственной CMS.
Таким образом, разработка собственной CMS является актуальной темой, решающей многие проблемы, возникающие при разработке интернет ресурсов.
Целью дипломной работы является проектирование и разработка системы управления контентом.
Пояснительная записка дипломной работы выполнена в соответствии с ГОСТ 7.9-95, ГОСТ 7.32-2001, ГОСТ 15.101-98, ГОСТ 19.105-78, ГОСТ 19.404-79, СТП КУБГТУ 1.9.2-2003, МР КУБГТУ 4.4.3-2004.
В первом разделе отражен результат анализа области разработки, а именно: приведены общие сведения о CMS, архитектура CMS, критерии оценки CMS, обоснование целесообразности создания CMS, а также техническое задание на разработку CMS. Данный раздел выполнен в соответствие с ГОСТ Р 1.5-2004, ГОСТ Р ИСО 9000-2008, ГОСТ Р ИСО 9001-2008.
Во втором разделе представлены результаты проектирования CMS: эскизный проект, включающий в себя use-case диаграммы для каждого типа пользователей компонента для CMS и диаграммы классов и диаграммы последовательности, результаты проектирования БД CMS и результаты проектирования GUI. Данный раздел выполнен в соответствии с ГОСТ 19.102-77, ГОСТ 19.104-78, ГОСТ 19.202-78, ГОСТ 19.402-78, ГОСТ 19.701-90, Р-50-77-88.В третьем разделе представлено руководство пользователя и руководство программиста, выполненные в соответствие с ГОСТ 19.503-79, ГОСТ 19.504-79, 19.505-79.
В четвертом разделе представлено технико-экономическое обоснование эффективности CMS «SITEONAS», выполненное в соответствие с ГОСТ 19.502-78.
В пятом разделе произведена оценка соответствия производственного помещения санитарным нормам. Данный раздел выполнен в соответствие с ГОСТ 8.417-2002.
В конце пояснительной записки к дипломному проекту приведен список используемой литературы, включая электронные ресурсы, оформленный в соответствие с ГОСТ 7.1-2003, ГОСТ 7.12-93, ГОСТ 7.80-2000, ГОСТ 7.82-2011.
1. Анализ предметной области
1.1 Общие сведения о CMS
CMS - ИС, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом.
Под контентом (дословный перевод английского термина content, означающего содержание, содержимое) понимают информационное наполнение сайта - то есть все типы материалов, которые находятся на сервере: web-страницы, документы, программы, аудио-файлы, фильмы и так далее. Таким образом, управление контентом - это процесс управления подобными материалами. Он включает следующие элементы: размещение материалов на сервере, удаление материалов с сервера, когда в них больше нет необходимости, организацию (реорганизацию) материалов, возможность отслеживать их состояние.
Функции систем управления контентом можно разделить на несколько основных категорий: создание, управление, публикация и представление контента.
Создание - предоставление авторам удобных и привычных средств создания контента.
Управление - хранение контента в едином информационном пространстве (репозитории). Это позволяет следить за версиями документов, контролировать, кто и когда их изменял, убеждаться, что каждый пользователь может изменить только тот раздел, за который он отвечает. Кроме того, обеспечивается интеграция с существующими информационными источниками и ИТ-системами. CMS поддерживает контроль над рабочим потоком документов, т.е. контроль за процессом их одобрения. Таким образом, управление контентом включает в себя хранение и редактирование данных, отслеживание версий, контроль за доступом, интеграцию с другими ИС и управление потоком документов.
Публикация - автоматическое размещение контента на терминале пользователя. Соответствующие инструменты автоматически адаптируют внешний вид страницы к дизайну всего сайта.
Представление - дополнительные функции, позволяющие улучшить форму представления данных; например, можно строить навигацию по структуре репозитория.
Использование CMS предоставляет следующие преимущества: оперативное обновление информации - информацию публикует сотрудник, владеющий информацией, без дополнительных посредников в виде технических специалистов;
снижение стоимости поддержки - обновление информации производится самостоятельно, нет необходимости оплачивать труд собственного или внешнего web-мастера;
предоставление дополнительных сервисов пользователю - часть сервисов - поиск, форумы, голосования и т.д., требуют интерактивного взаимодействия с пользователем;
уменьшение сроков и стоимости разработки - наиболее востребованная функциональность уже реализована в CMS и может быть сразу использована;
повышение качества разработки - при разработке полностью или частично используются готовые модули, которые уже прошли неоднократное тестирование;
снижение стоимости дальнейших модификаций - 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 второй по важности после функциональности критерий. Надо учитывать как надежность системы со стороны внешних атак, так и от неосторожных действий пользователей системы.
Гибкость системы определяется трудоемкостью и необходимой квалификацией сотрудников для адаптации системы под свои требования - дизайн, структура, правовая политика и др.
При оценке стоимости, надо учитывать так же, сколько сайтов можно сделать на одной копии системы, какова стоимость тех. поддержки и последующих обновлений.
Технические требования. Необходимо чтобы система не требовала специфических настроек хостинга, которые может предоставить очень ограниченное число хостинг провайдеров. Очень важный критерий - потребность в ресурсах системы, ее «жадность» к месту на диске, процессорной частоте и оперативной памяти. Если первое не особо важно, и при этом его не составляет особого труда узнать, то вторые два наоборот крайне важны и найти достоверные сведения о них крайне трудно.
Документация. Во многом успех от использования той или иной системы зависит от того, насколько легко в ней будет разобраться пользователям, что определяется наличием или отсутствием документации, справочной и учебной литературы и, конечно же, необходимым уровнем их технической квалификации.
Ниже представлено краткое сравнение наиболее популярных в настоящее время CMS 1С-Битрикс, Joomla! и Wordpress.
Расширяемость
1С-Битрикс - существует постоянно расширяемая линейка модулей. Есть возможность изменять функционал модулей, посредством программирования.
Joomla - архив плагинов Joomla насчитывает более 2000 разнообразнейших элементов.
WORDPRESS - написано несколько тысяч плагинов для WORDPRESS под любые нужды. Сложности возникают с плагинами, которые требуют значительной переделки шаблона.
Безопасность
1С-Битрикс - система признана экспертами в области защиты информации безопасной.
Joomla - В связи с тем, что исходный код Joomla! доступен широкой аудитории, это создает угрозу безопасности, так как имеется возможность изучить уязвимости системы, однако с каждым обновлением Joomla! выходит и обновление безопасности.
WORDPRESS - Каждый новый шаг в обновлении сопровождается обновлением системы безопасности.
Стоимость
1С-Битрикс - стоимость варьируется от 5 000 до 250 000 руб, в зависимости от функциональности.
Joomla - свободно распространяемый ПП.
WORDPRESS - свободно распространяемый ПП.
Документация
1С-Битрикс - Русскоязычной информационно-справочной документации достаточно, однако она сложна для восприятия неподготовленным пользователем.
Joomla - Русскоязычной документации достаточно, даже много. Причем она не ограничивается переводом официальной помощи, а уже перешла к стадии написания авторских статей.
WORDPRESS - WORDPRESS обладает очень большой документацией, но, к сожалению, она только на английском языке. Но в настоящее время имеется много ресурсов, посвященных данной CMS.
Таким образом, CMS 1С-Битрикс характеризуется высоким уровнем безопасности, большой функциональностью и наличием русскоязычной документации. К недостаткам можно отнести высокую стоимость, сложность документации и высокими техническими требованиями к хостингу.
CMS Joomla! обладает такими преимуществами как бесплатное распространение, огромное количество расширений и большое количество русскоязычной документации. Недостатки у этой CMS следующие: большое занимаемое дисковое пространство на сервере и высокая вероятность угрозы безопасности.
CMS Wordpress имеет такие преимущества как бесплатное распространение, большое количество готовых шаблонов и наличие большого количество интернет-ресурсов, посвященных данной CMS. Однако в Wordpress существуют такие недостатки как ограниченная функциональность и открытость кода множеству людей, что создает угрозу безопасности CMS. [2]
1.4 Преимущества разработки собственной CMS
В настоящее время идут споры о том, стоит ли разрабатывать собственную CMS или использовать готовый бесплатный или коммерческий продукт. В пользу первого говорит создание CMS с такой функциональностью, которая необходима и не более того, к тому же облегчается разработка дополнительных модулей, так как известен исходный код и взаимодействие компонент CMS. В пользу готовых CMS приводят такие аргументы как наличие большого количества уже готовых модулей и наличие комьюнити (сообщества), которое дает ответы на возникающие вопросы.
На рисунке 1 отражена статистика распределения популярных сайтов между CMS за 1 квартал 2011 г. с сайта itrack.ru, построенная на основе данных, полученных при анализе более 1000 сайтов из списка «TOP-100» сайта Liveinternet, выбранных из десяти тематик: авто, медицина, новости и сми, недвижимость, банки, развлечения, путешествия, работа, товары и услуги [3].
Рисунок 1 - Статистика использования CMS в популярных проектах
На сайтах, где не удалось обнаружить известную CMS, установлены, в основном CMS, написанные на заказ, а также студийные системы (разработанные в веб-студии для собственных нужд).
Таким образом, подавляющее большинство крупных интернет-проектов разработано на собственной CMS веб-студий.
Большинство CMS обладают следующими недостатками: избыточное число настроек, доступных для рядового пользователя, что создает в итоге сложный для пользователя интерфейс - главный механизм взаимодействия пользователя с CMS;
закрытость исходного кода некоторых CMS, что неприемлемо при разработке собственных модулей;
низкий уровень безопасности CMS с открытым исходным кодом;
низкая производительность на сервере, являющаяся следствием избыточного функционала CMS;
большое занимаемое дисковое пространство, которое увеличивает время установки и стоимость виртуального хостинга, отведенного под сайт;
недостаточное разделение логики и визуального представления;
низкая документированность по функциональным возможностям и возможностям создания модулей к системе;
высокая стоимость готового продукта и неприемлемые условия лицензионного соглашения.
При разработке собственной CMS учитываются все вышеперечисленные недостатки, и в итоге CMS имеет следующие преимущества перед «коробочными» CMS: простота разработки собственных модулей, что обеспечивается открытостью архитектуры, которую разработчик CMS знает очень хорошо;
простой и интуитивно понятный интерфейс, ограниченный только теми настройками, которые необходимы конкретному пользователю CMS;
высокий уровень безопасности, связанный с ограниченным доступом к исходному коду CMS;
высокая производительность CMS, полученная за счет устранения избыточных связей и функций;
правовые гарантии использования CMS принадлежат исключительно разработчику.
Таким образом, разработка собственной CMS имеет целый ряд преимуществ, которые подтверждают необходимость создания собственной CMS.
1.5 Средства, используемые для разработки CMS
При разработке CMS могут быть использованы такие технологии как LAMP или ASP.NET. Рассмотрим эти технологии подробнее: LAMP (аббревиатура Linux, Apache, MYSQL, PHP) - популярный набор серверного ПО, используемый для разработки интернет-ресурсов. Данная технология предоставляется подавляющим большинством хостинговых компаний и является наиболее распространенной в сети Интернет. LAMP включает в себя следующие компоненты: PHP 5 - мощный серверный язык, позволяющий создавать скрипты, использующиеся в динамических сайтах; [4]
MYSQL - популярная СУБД, обеспечивающая хранение данных на сервере; [5,6,7]
Apache - распространенный web-сервер, достоинствами которого являются надежность и гибкость конфигурации;
Linux - бесплатная ОС, имеющая большой набор сетевых утилит. [8]
ASP.NET в связке с IIS и MSSQL. Данная технология использует языки программирования, входящие в комплект.NET Framework. Преимущественно скрипты ASP.NET используют веб-сервер IIS. На сегодняшний день ограниченное число хостингов предлагает услуги для ASP-приложений. [9]
При разработке CMS обычно применяется шаблон проектирования MVC, в котором модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных независимых друг от друга компонента: модель. Предоставляет данные для представления, а также реагирует на запросы контроллера, изменяя свое состояние. представление (вид). Отвечает за отображение информации пользователю (пользовательский интерфейс), обычно в виде HTML кода или визуальных компонентов. контроллер (поведение). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции. [10, 11, 12]
1.6 Техническое задание на разработку CMS
Вывод
Дипломный проект выполнен согласно заданию на дипломное проектирование в полном объеме и в соответствии с основными правилами оформления.
В данной пояснительной записке к дипломному проекту представлен материал, отражающий все этапы выполнения исследовательской работы от первоначальной постановки задачи до отладки работоспособной программы.
В результате выполнения дипломного проекта разработана CMS «SITEONAS», выполняющая следующие функции: добавление, удаление, редактирование информации в БД CMS;
подключение, удаление дополнительных модулей CMS;
публикация информации на сайте;
изменение дизайна сайта.
К преимуществам разработанной CMS относятся: простота и высокая скорость создания сайта;
низкая стоимость поддержки сайта;
большое количество функциональных возможностей;
встроенные механизмы поисковой оптимизации сайта.
Список литературы
1. Интернет-университет информационных технологий ИНТУИТ.ру [Электронный ресурс] / В.В. Полубояров. Введение в технологии создания Интернет-узлов / Лекция 7 - Режим доступа: internet/inwwwtech/7, свободный. - Загл. с экрана. - Яз. рус.
2. Сайт компании WEBАРГУМЕНТ [Электронный ресурс] - Режим доступа: , свободный. - Загл. с экрана. - Яз. рус.
3. Сайт компании itrack [Электронный ресурс] - Режим доступа: , свободный. - Загл. с экрана. - Яз. рус.
4. Котеров Д.В., Костарев А.Ф. PHP5 в подлиннике. [Текст] - СПБ.: БХВ-Петербург, 2005. - 1120 с.
5. Малыхина М.П. Базы данных: основы, проектирование, использование. [Текст] СПБ.: БХВ-Петербург, 2004. 512.: ил. ISBN 4-5678-0134-0.
6. Карпова Т.С. Базы данных: модели, разработка, реализация. [Текст] - СПБ.: Питер, 2001. - 304 с.: ил. ISBN 4-1234-7894-8
7. Бабенко Т.А., Бельченко В.Е. Язык SQL в примерах. Часть 1 Команды отбора изменения данных: Учебно-методическое пособие для студентов обучающихся по специальности «информатика» Армавир, 2004. 26 с.
8. Карлинг М., Деглер С., Деннис Д. Системное администрирование Linux. [Текст] - М.: Вильямс, 2000. - 320 с.:ил. ISBN 5-8459-0054-9.
9. Эспозито Д. ASP.NET 2.0 Базовый курс [Текст] - СПБ: Питер; М.: Издательско-торговый дом «Русская Редакция», 2007. - 4-е изд. - 687 с.: ил. ISBN 978-5-91180-423-7.
10. Орлов С.А. Технологии разработки программного обеспечения [Текст]: Учебник - СПБ.: Питер, 2002. - 464 л.: ил. ISBN 2-2389-0231-1.
11. Петров С.Н. «Проектирование информационных систем» [Текст]: учебник - СПБ.: Питер, 2002. - 524 л.: ил. ISBN 6-7349-0239-2.
12. Миклашевская Л.Н. Технология разработки программного обеспечения [Текст] - Краснодар, КУБГТУ, 1999. - 215 с.
13. Вендров А.М. Практикум по проектированию программного обеспечения экономических информационных систем [Текст]: учебное пособия - М.: Финансы и статистика, 2006. - 544 с.
14. Рамбо Д., Якобсон А., Буч Г. UML: специальный справочник. [Текст] - СПБ.: Питер, 2002. - 656 с. ISBN 0-321-26797-4.
15. Рамбо Д., Джекобсон А. UML. Руководство пользователя. [Текст] М.: ДМК 2000. 432 с.
16. Фаулер М., Скотт К. UML в кратком изложении. [Текст] М. Мир. 1999. 191 с.
17. Трофимов С.А., CASE-технологии: практическая работа в Rational Rose. [Текст] Изд. 2-е. - М.: Бином-Пресс, 2002 г. - 288 с.
18. Вендров А.М. Проектирование программного обеспечения экономических информационных систем [Текст]: учебник - М.: Финансы и статистика, 2004. - 192 с.
19. Ткаченко А.Д. Оценка экономической эффективности внедрения программного продукта [Текст]: Методические указания по дипломному проектированию для студентов всех форм обучения / А.Д. Ткаченко Армавир: Изд. АМТИ, 2005. 16 с.
20. Гигиенические требования к персональным электронно-вычислительным машинам и организации работы. САНПИН 2.2.2/2.4.1340-03 [Текст] - М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1996 65 с. ISBN 5-7508-0049-0.
21. Сибаров Ю.Г. Охрана труда в вычислительных центрах [Текст]: Учебник для студентов СПТУ / Ю.Г. Сибаров и др. М.: Машиностроение, 1990. 192 с.