Дипломная (вкр): Система автоматизации построения маркетинговых отчетов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Необходимо закрывать доступ для обращения к административной части веб-системы по всем протоколам и портам, кроме HTTP и HTTPS всем IP-адресам, исключая IP-адреса пользователей системы.

При разработке веб-системы в обязательном порядке применяются методы и стандарты написания программного кода, полностью исключающие возможность использования SQL-injection, XSS и других видов атак. Это достигается путем использования для доступа к БД и обработки входных данных исключительно, средств BitrixFramework.- это созданная на основе PHP платформа для разработки веб-приложений.BitrixFramework - технологическое ядро (платформа) для создания и управления проектами (веб-сайтами и корпоративными порталами). Платформа позволяет создавать неограниченное количество проектов с применением одной копии (лицензии) продукта, размещая ядро и базу данных системы в единственном экземпляре на сервере.

Основные возможности BitrixFramework:

управление структурой и содержанием сайта;

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

управление показом рекламы на сайте;

создание и управление форумами;

рассылка сообщений группам подписчиков;

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

контроль за ходом рекламных кампаний;

осуществление других операций по управлению интернет-проектом.

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

.4 Система контроля версий

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

При разработке системы используется система контроля версий «Git».- распределённая система управления версиями файлов. Проект был создан ЛинусомТорвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. Примерами проектов, использующих Git, являются ядро Linux, Android, Drupal, Cairo, GNU CoreUtilities, Mesa, Wine, Chromium, CompizFusion, FlightGear, jQuery, PHP, NASM, MediaWiki.

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

Преимущества «Git»:

высокая производительность;

развитые средства интеграции с другими VCS, в частности, с CVS, SVN и Mercurial. Помимо разнонаправленных конвертеров репозиториев, имеющиеся в комплекте программные средства позволяют разработчикам использовать git при размещении центрального репозитория в SVN или CVS, кроме того, git может имитировать cvs-сервер, обеспечивая работу через клиентские приложения и поддержку в средах разработки, специально не поддерживающих git;

продуманная система команд, позволяющая удобно встраивать git в скрипты;

качественный веб-интерфейс «из коробки»;

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

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

Создать директорию, где будет храниться главный репозиторий сайта:

mkdir /www/site-test.git/ && cd /www/site-test.git/

Создать пустой репозиторийgit:--bare --shared=0664

Создать локальный репозиторий в директории рабочего сайта:

cd /www/site-test.name/ &&gitinit

Создать файл исключения отслеживания ряда папок и файлов:.gitignore или mcedit .gitignore

Пример содержимого файла находится в приложении В.

Привязать репозиторий рабочего сайта к главному репозиторию:

git add .commit -m "First commit"remote add origin file:///www/site-test.git/

gitpushoriginmaster

Сделать привязку отслеживания веток по умолчанию:

git branch --set-upstream master origin/master

Развернуть копию тестового сайта:/www/ &&git clone /www/site-test.git/ dev.site-test.name

Создать симлинк на upload в dev сайте:

cd dev.site-test.name &&ln -s ../site-test.name/upload/

Если в .gitignoreпрописанdbconn.php и/или .htaccess, то необходимо скопировать их с основного сайтаcp /www/site-test.name/bitrix/php_interface/dbconn.phpbitrix/php_interface/

cp /www/site-test.name/.htaccess ./

Для добавления копий тестовых сайтов для разработчиков повторяются только 7-8(9) пункты.

.5 Разграничение прав доступа

В системе автоматизации создания маркетинговых отчетов разработана система управления правами доступа. Для управления правами доступа в системе разработана сущность «Группа пользователей», обладающая следующими атрибутами:

Наименование

Символьный идентификатор

Описание

Изначально предусмотрены 4 группы пользователей.

Администратор сайта

Создатели отчетов

Модераторы отчетов

Неавторизованные пользователи

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

Пользователи группы «Создатели отчетов», имеют доступ к созданию и редактирование отчетов принадлежащих данному пользователю.

Пользователи группы «Модераторы отчетов» имеют доступ на просмотр всех отчетов созданных в системе, а также могут вносить комментарии к отчетам, с помощью модуля «Веб-стикеры».

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

Для полноценной работы в системе необходима обязательная регистрация пользователей. Для хранения данных о пользователе в системе разработана сущность «Пользователь»,обладающая следующим набором атрибутов.

Время последней авторизация

Имя

Фамилия

Отчество

Логин

Пароль

Связь с сущностью «Группа пользователей»

Атрибут «Время последней авторизации заполняется автоматически», остальные атрибуты заполняются в первый раз Администратором системы, затем все атрибуты кроме «Связь с сущностью «Группа пользователей» могут быть изменены в личном кабинете пользователя на странице «Профиль».

Разграничение доступа в системе автоматизации создания маркетинговых отчетов является надстройкой над CMS «1С-Битиркс».

В CMS «1С-Битиркс» разработана следующая логика разграничения прав доступа [9].

Уровень 1: доступ к файлам и каталогам.

Уровень 2: доступ к модулям и логическим операциям в модулях.

Уровень 1. Настройка доступа к файлам и каталогам выполняется в меню Структура сайта > Управление. Достаточно отметить один или несколько каталогов или файлов и выбрать Доступ, чтобы определить какие группы пользователей имеют право на доступ к этим документам.

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

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

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

Уровень 2 обеспечивает разграничение доступа к модулям и логическим операциям в модулях.

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

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

.6 HTML верстка

Для разработки интерфейса системы используется HTML, CSS и Javascriptфреймворк «Вootstrap», разработанный компаний «TwitterInc». #ИСТОНИК - <#"702107.files/image004.gif">

Рисунок 3.1 - Главная страница

В каждом разделе системы присутствуют следующие элементы:

Логотип системы. Располагается в левом верхнем углу, является ссылкой на главную страницу сайта, представленный на рисунке 3.2.

Рисунок 3.2 - Логотип системы

Дублирующееся вверху и внизу страницы главное меню, представленные на рисунках 3.3 и 3.4

Рисунок 3.3 - Верхнее главное меню

Рисунок 3.4 - Нижнее главное меню

Форма авторизации для неавторизованных пользователей, представленная на рисунке 3.5.

Рисунок 3.5 - Форма авторизации

Информация о пользователе для авторизованных пользователей, представленная на рисунке 3.6

Рисунок 3.6 - Краткая информация о пользователе

Навигационная цепочка, представленная на рисунке 3.7.

Рисунок 3.7 - Навигационная цепочка

Информация о создании, представленная на рисунке 3.8.

Рисунок 3.8 - Информация о разработчике

Левое меню раздела, представленное на рисунке 3.9. Отображается при наличии в текущем разделе вложенных разделов.

Рисунок 3.9 - Левое меню

.1.1 О системе

Раздел «О системе» представляет собой статичный текстовый раздел, предназначенный для того, чтобы познакомить пользователя с системой, ответить на основные вопросы: для чего была создана система, как работать с системой, основные ее преимущества. У администратора системы есть возможность изменить текст и заголовок в данном разделе. Также администратор может, по своему усмотрению, создавать подразделы данного раздела. Раздел представлен на рисунке 3.10.

Рисунок 3.10 - Раздел «О системе»

.1.2 Отчеты

Раздел «Отчеты» создан непосредственно для работы пользователей системы с маркетинговыми отчетами. В левом меню раздела, пользователь группы «Создатели отчетов» может перейти в личную директорию, для работы со своими отчетами. Пользователи групп «Модераторы отчетов» и «Администраторы» могут перейти в директорию любого пользователя. Главная страница раздела отчеты представлена на рисунке 3.11.

Рисунок 3.11 - Главная страница раздела «Отчеты»

Если пользователь группы «Создатели отчетов» перейдет в директорию, для которой у данного пользователя отсутствуют права на чтение, то он увидит окно авторизации, представленное на рисунке 3.12.

Рисунок 3.12 - Форма авторизации в разделе «Отчеты»

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

Рисунок 3.13 - Личная директория пользователя

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

Рисунок 3.14 - Редактирование пунктов меню

Для редактирования отчета необходимо:

Войти в режим правки

Навести курсор мыши на отчет

Непосредственное редактирование отчетов описано в главе 3.2 Визуальный редактор отчетов.

Также на странице отчета пользователи группы «Модераторы отчетов» могут, как сами отредактировать отчет, так и дать указание исполнителю на доработку отчета. Для этого в системе автоматизации создания маркетинговых отчетов внедрен модуль «Веб-стикеры», отображенный на рисунке 3.15 и 3.16

Рисунок 3.15 - Модуль «Веб-стикеры»

Рисунок 3.16 - Развернутый стикер

.1.3 Личный кабинет

Раздел «Личный кабинет» разработан с целью возможности изменения пользователем личных данных.Доступ к данном разделу есть только у авторизованных пользователей. В личном кабинете пользователь может изменить персональные данные хранимые в системе.

Все данные пользователя разбиты на три группы:

Регистрационные данные: имя, фамилия, отчество, E-mail, Логин, пароль

Личные данные: Профессия, веб-страница, телефоны, адрес, фотографию и некоторые другие личные данные

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

Личный кабинет отображен на рисунке 3.17.

Рисунок 3.17 - Раздел «Личный кабинет»

.1.4 Поиск

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

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

По дате. Результаты поисковой выдачи сортируются в убывающем порядке (от новых к старым) по дате изменения документа.

Раздел поиска отображен на рисунке 3.18.

Источник: https://www.bibliofond.ru/detail.aspx?id=702107