Разработка веб-сайта для научно-образовательной сети

Обзор систем управления сайтом, регистрации и отслеживания ошибок. Создание проекта "Senet" в системе регистрации и отслеживания проблем Mantis. Расчет затрат на разработку и эксплуатацию программного обеспечения. Охрана труда и техника безопасности.

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

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

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

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

Содержание

  • Введение
  • 1. Общая часть

1.1 Системы управления сайтом

  • 1.2 Обзор систем управления сайтом
    • 1.3 Выбор и системы управления сайтом и обоснование выбора
    • 1.4 Cистемы регистрации и отслеживания ошибок (bug tracking systems)
    • 1.5 Обзор систем регистрации и отслеживания ошибок (bugtracking systems)
  • 2. Специальная часть
    • 2.1 Создание сайта
    • 2.2 Создание модуля Mantis
    • 2.3 Создание проекта "SENET" в системе регистрации и отслеживания проблем Mantis
  • 3. Технико- экономическое обоснование работы
    • 3.1 Расчет затрат на разработку программного обеспечения
    • 3.2 Расчет затрат на эксплуатацию программного продукта
    • 3.3 Вывод
  • 4. Охрана труда и техника безопасности
    • 4.1 Характеристика лаборатории
    • 4.2 Опасные и вредные факторы
    • 4.3 Безопасность выполнения работы
    • 4.4 Микроклимат
    • 4.5 Вентиляция и отопление
    • 4.6 Освещение
    • 4.7 Шум и вибрация
    • 4.8 Электробезопасность
    • 4.9 Защита от статического электричества
    • 4.10 Молниезащита
    • 4.11 Пожарная профилактика и средства пожаротушения
    • 4.12 Экологичность выполнения работы
    • 4.13 Расчеты
  • 5. Патентная часть
    • Вывод
  • Заключение
  • Список использованных источников

Введение

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

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

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

Объектом исследования в данной работе являются системы поддержки сопровождения сети. В качестве предмета исследования выступает деятельность по удалённой поддержке сети.

Повышение эффективности удалённой группового сопровождения сети выбраны в качестве проблемы данной работы.

Цель настоящей работы -- разработка веб-сайта для научно-образовательной сети Татарстан.

Достижение поставленной цели предполагает решение следующих задач:

· изучить и выбрать системы управления сайтом (CMS);

· рассмотреть и выбрать существующие системы регистрации и отслеживания ошибок (bugtracking systems);

· создать сайт http://www.senet.ru;

· провести интеграцию системы регистрации и отслеживания проблем в сети Mantis с сайтом http://www.senet.ru.

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

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

1. Общая часть

1.1 Системы управления сайтом

CMS-системы. Что это?

CMS или система управления сайтом (с англ. Content Management System -- Система Управления Содержанием) -- это система, которая позволяет команде, поддерживающей сайт (контент менеджеры, веб-мастеры и.т.д.) обойтись без изучения теории построения веб-сайтов и с легкостью управлять его содержанием. Также CMS иногда называют "движком" или "конструктором" сайта.

Зачем нужны CMS?

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

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

· CMS может работать в связке с системой документооборота, что особенно удобно, когда сайт рассматривается не просто как форма рекламы и присутствия в информационном пространстве, а как своего рода электронный офис: определенное количество информации, при ее обновлении "внутри" компании, может тут же отражаться на сайте;

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

Системы управления контентом являются наследниками средств авторской работы над созданием и развитием сайтов (т.е. визуального редактирования документов и поддержки их структуры) -- FrontPage, DreamViewer, PageMill, HomeSite и др.

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

· сайт-визитка - простые сайты, которые содержат информацию о компании;

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

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

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

· портал - объединяет множество различных сервисов (телеконференции, рассылки, опросы), предоставляет доступ к различным внутрикорпоративным приложениям, предоставляет клиентам возможность покупки товаров, а партнерам - обмена информацией;

· система управления предприятием - сайт, интегрированный с корпоративной информационной системой предприятия и предназначенный для автоматизации бизнес-процессов (планирование ресурсов предприятия, управление взаимоотношениями с клиентами, взаимодействие с партнерами, внутренний документооборот и т.д.).

На сайте "Бизнес сайт" предлагают различать системы управления сайтом по другим критериям, которые помогут при выборе системы.

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

· коробочный продукт - покупай, устанавливай, настраивай;

· для развертывания системы управления сайтом необходима помощь разработчика;

· разработчик системы управления сайтом сам проектирует сайт и в рамках разработки устанавливает систему.

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

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

Возможности администрирования сайта можно свести к трем группам:

· гибкость системы задания прав;

· по роду деятельности;

· по разделам.

Поддержка совместного редактирования также необходима в CMS. Под совместным редактированием понимается одновременная работа нескольких человек над изменением сайта.

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

По типу взаимодействия с сайтом различают следующие типы систем:

· он-лайн (через Интернет) - взаимодействие производится в интерактивном режиме с использованием сети Интернет;

· он-лайн (по локальной сети) - взаимодействие производится с использованием локальной сети;

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

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

· FTP (File Transfer Protocol) - протокол передачи файлов, использующийся как основной протокол для работы с файлами в сети Интернет;

· HTTP (HyperText Transfer Protocol) - протокол, использующийся для передачи веб-страниц по сети Интернет;

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

Наличие собственного API (Application Programming Interface) в системе управления сайтом, как правило, позволяет достаточно оперативно наращивать ее функциональность.

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

1.2 Обзор систем управления сайтом

OpenCMS 5.0

Область применения: разработка и администрирование Интернет/Интранет сайтов любой сложности.

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

Требования к программному обеспечению: любая ОС, поддерживающая Java SDK 1.4 и выше (Windows, Linux, Solaris и т.д.).

Веб-сервер Apache, IIS, СУБД MySQL, MS SQL Server, Oracle.

Требуемая квалификация пользователей: квалификации офисного работника (базовые навыки владения офисными приложениями).Для разработчика - Java (Servlet, JSP), XML, HTML.

Стоимость - бесплатно.

ObjectiveSite

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

Требования к аппаратному обеспечению: для сайтов с числом посетителей в сутки менее 15000: Intel Pentium IV 1600 или AMD Athlon XP 1600, 512 Мб ОЗУ, 1 Гб свободного места на диске, 100 Мбит LAN.

Требования к программному обеспечению: ОС Windows 2000/XP, FreeBSD, RedHat Linux, SUSE Linux.

Веб-сервер: Apache, версии 1.3.20 или старше, Apache2 версия 2.40 или старше. Сервер приложений: PHP4 [1] версия 4.1 или старше. Система управления базами данных: MySQL 3.23.40 или старше.

Требуемая квалификация пользователей: достаточно знать основы работы в Internet Explorer 5.5/6.0 и уметь работать с современными редакторами текста.

Стоимость - Платная

NauSite

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

Требования к аппаратному обеспечению.

· Требования к серверу: процессор - Intel Pentium III 700 МГц ОЗУ - 128 МБ.

· Требования к клиентской машине: процессор - Intel Pentium 166 МГц ОЗУ - 64 МБ. Графический режим - 800х600

Требования к программному обеспечению:

· Требования к серверу: Linux: Linux Redhat 7.2, Apache 1.3 or later (recommended), Python 2.1.3, Zope 2.5.1; Windows: Windows 2000 Server, Apache 1.3 or later (recommended), Zope 2.5.1.

· Требования к клиенту: Windows 95/98/ME/NT4.0/2000/XP* или Linux (RedHat, Debian и пр.); Microsoft Internet Explorer 5.0+*, Netscape 4.72+, Mozilla 1.0 +; поддержка JavaScript [2], Cookies (recommended.

Требуемая квалификация пользователей: знание языков программирования HTML [3], Zope, Python.

Стоимость - Платная

MySITE

Область применения: управление содержанием сайта (структура, страницы, новости, анонсы, электронный каталог), управление рекламой на сайте, управление интерактивами (форумы, рассылки, опросы и голосования, on-line конкурсы и викторины, мониторинг статистики взаимодействия пользователей с сайтом).

Требования к аппаратному обеспечению: система функционирует на стороне сервера

Требования к программному обеспечению:

· серверная часть: Apache 1.3, PHP4, MySQL 3.25 и выше.

· клиентская часть системы администрирования: MS Internet Explorer 5.01 и выше.

Требуемая квалификация пользователей: минимальный опыт навигации в браузере.

Стоимость - Платная

Content Master 2.5

Область применения. Content Master 2.5 -- решение для создания, поддержки и развития информационных систем. Система предназначена для управления информацией в информационных системах различного типа: от Интернет-сайтов до сложных Интранет-систем.

Требования к аппаратному обеспечению.

· Требования к серверу: требования к оборудованию напрямую зависят от количества запросов к серверу и сложности сайта.

· Требования к клиенту, работающего с административной частью системы: процессор -- 100 МГц 32 МБ ОЗУ, видео -- SVGA, 800x600, 16 цветов;

Требования к программному обеспечению.

· Требования к серверу: ОС Windows 2000/2003 Server; компоненты и приложения: MS Internet Information Server 5.0, MS SQL Server 7.0/2000, .NET Framework 1.0, IE Web Controls

· Требования к клиенту, работающего с административной частью системы: ОС Windows 98/Me/2000 или Windows XP; компоненты и приложения: Internet Explorer версии 5.5 или выше.

Требуемая квалификация пользователей: средний уровень знаний администрирования Windows 2000/2003 Server, защиты информации; Microsoft SQL Server -- базовые знания администрирования; Internet Information Server -- настройка виртуальных серверов, базовые знания защиты информации, виртуальные директории, ISAPI, COM/DCOM.

Требования к разработчику: знать, понимать и уметь использовать следующие языки и стандарты: HTML/XHTML; CSS; XML/XSLT.

Стоимость - Платная.

CimWebCenter

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

Требования к аппаратному обеспечению: 1 компьютер с процессором Pentium II 233 МГц и выше, 128 Мб оперативной памяти.

Требования к программному обеспечению: Apache Web Server , PHP 4.22X, MySql , на платформе FreeBSD или Linux.

Требуемая квалификация пользователей: пользователь, знакомый с ОС семейства Windows и браузером IE.

Стоимость

Платная

Битрикс: Управление сайтом

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

Требования к аппаратному обеспечению: любое оборудование, на которое можно установить требуемое программное обеспечение.

Требования к программному обеспечению: PHP 4.1.2 и выше; Apache 1.3 и выше, MS IIS 5.0 и выше или Eserv 3.0 и выше; MySQL 3.23 и выше или Oracle 8.0.5 и выше.

Требуемая квалификация пользователей: пользователь ПК

Стоимость - Платная.

Автор

Область применения: контент-проекты, корпоративные сайты любой сложности, сетевые СМИ.

Требования к программному обеспечению.

Для сервера: Платформа Unix/Linux/FreeBSD, Сервер Apache 1.3.x, PHP 4, MySQL 3.23, браузер Microsoft Internet Explorer 5.5 и выше.

Требуемая квалификация пользователей: знание MS Word (или подобного приложения) и умение работать в сети Интернет.

Стоимость - Платная.

Armex BackOffice (ABO.CMS)

Область применения: разработка и управление Интернет-проектами различного уровня.

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

Требования к программному обеспечению: Linux/FreeBSD, Apache 1.3, MySQL 3.2, PHP 4.

Требуемая квалификация пользователей: базовые навыки работы в Интернет, знание верстки в HTML [4], опыт работы с PHP, MySql.

Стоимость - Платная.

MagicSite

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

Система не имеет ограничений по уровню сложности сайтов.

Требования к аппаратному обеспечению:

· вариант предоставления collocation (выделенного) сервера, на котором Подрядчик настраивает ПО;

· вариант dedicated (виртуального) хостинга, но при наличии следующих программных компонентов на арендуемом виртуальном сервере.

Требования к программному обеспечению: UNIX подобная операционная система (Linux, FreeBSD, OpenBSD); установленный PHP 4.0.1 или выше; СУБД MySQL 3.28 и выше; веб-сервер Apache; почтовый сервер SendMail, Qmail или схожий по функциональности; возможность использования cron_tab домена.

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

Стоимость - Платная.

PhpNuke

Область применения. PHP-Nuke - это CMS система, которая включает в себя все инструменты, необходимые для создания портала (в широком его понимании). Система написана на языке PHP и свободно распространяется по лицензии GNU/GPL.

Требования к аппаратному обеспечению: Celeron 600 МГц, АЗУ 128, 10Гб.

Требования к программному обеспечению: сервер Apache, PHP и SQL (MySQL, mSQL, PostgreSQL, ODBC, ODBC_Adabas, Sybase, Interbase). Поддерживает 25 языков, Yahoo подобный механизм поиска, возможность комментариев в опросах, поддержка тем, менеджер дат, менеджер управления файлами, работа с заголовками, менеджер часто задаваемых вопросов, система обзоров, информационный бюллетень, категоризация статей, многоязычное управление и т.д.

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

Стоимость - Бесплатная.

Итак, подведем итоги проведенного выше сравнения систем управления сайтом. При сравнении систем следует учитывать, что именно вы хотите получить от системы. Например, для поддержки онлайнового СМИ необходимо, чтобы в системе присутствовала функция организации документооборота; если предполагается значительная доработка системы (разработка дополнительных функций собственными силами), важно, чтобы у системы была открытая архитектура и наличие API.

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

· область применения и общий уровень системы;

· степень индивидуализации;

· степень настраиваемости;

· ценовая политика;

· функций администрирования;

· функции безопасности;

· функции поддержки совместного редактирования;

· функции средства разработки, API и открытая архитектура;

· организация документооборота;

· технических характеристик системы: возможности размещения, тип общения с сайтом, тип размещения системы, платформа сервера, используемый веб-сервер, используемая СУБД;

· удобство работы с системой;

· служба поддержки;

· уникальные особенности.

1.3 Выбор и системы управления сайтом и обоснование выбора

Основываясь на вышесказанное, выбор пал на CMS систему PHP-Nuke. Обосновать выбор можно тем, что данная система использует базис из PHP+MySQL, очень часто в качестве сервера используется сервер Apache. Множество модулей объединяют в себе JavaScript, Java, Flash и даже звуковые файлы, потоковое видео.

PHP-Nuke создан в соответствии с W3C, и поддерживает таблицы стиля. Пользователю необходимо только придерживаться стандарта при изменении графики или создания новых элементов.

Главные особенности: администрирование через специальный интерфейс, обзоры, управление главной страницей (выводится по умолчанию), сбор статистики, возможность настройки под каждого посетителя, менеджер тем для зарегистрированных пользователей, дружественный административный интерфейс с графическим менеджером, для редактирования статей, комментариев, объединенная система баннеров, backend/headlines поколение (RSS/RDF формат), и другие полезные и нужные функции".

1.4 Cистемы регистрации и отслеживания ошибок (bug tracking systems)

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

Как правило, большинство систем отслеживания проблем (систем трекинга багов - bug tracking system) имеют возможность составлять не только отчеты о багах (Bug Report), но и вносить Feature Request (запрос свойства), что позволяет тестировщикам вносить свои предложения по улучшению тестируемой программы.

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

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

2.Cosmetic - под этим понятием объединяют ошибки дизайна (например, не тот цвет линии или шрифт), пользовательского интерфейса и т.п. Иными словами все те баги, которые не мешают работать программе, но портят ее "товарный вид".

3.Critical - все то, что ведет к зависанию или краху самой программы, не затрагивая операционной системы в целом.

4.Error Handling - баги в обработке ошибок.

5.Functional - баги в функциональности.

6.Setup - баги инсталляции.

7.Minor - теоретически малозначимые.

8.Suggestion - т.н. предложение. На наш взгляд к ним лучше всего относить feature.

Система отслеживания ошибок содержит три этапа: сбор данных об ошибке, её отслеживание и решение проблемы.

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

Существует большое разнообразие bugtraking систем - mantis, bugzilla и т.п.

В bugtraking системе заводятся разделы (проекты и продукты). Пользователь или другой разработчик находят нужный раздел и вводят сообщение об ошибке. Появился bug в статусе "NEW". У каждого бага есть свой владелец. Когда bug is "new", он автоматически назначается ответственному ("assigned to"). Bug можно (и часто нужно) переназначить ответственному (reassign).

При формальном описании проблемы среди прочего необходимо определить severity (серьезность) и priority (приоритет) этой проблемы.

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

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

6-ти бальная система:

1) Исправить немедленно - ошибка задерживает работу других сотрудников.

2) Исправить как можно быстрее.

3) Исправить в текущей версии (альфа, бета и т.д.).

4) Исправить до выхода окончательной версии.

5) Исправить, если возможно.

6) Не обязательно - сделайте, как посчитаете нужным.

Очень важно понимать разницу между этими двумя типами классификации и не путаться в них.

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

Unconfirmed - баг только открыт и еще не был обработан.

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

Assigned - конкретный программист получил этот баг и теперь должен исправлять свою или чужую ошибку.

В случае, если ошибка не является "ошибкой" (тестер ошибся) то баг превращается в Resolved-Invalid и переправляется тестеру обратно.

Если баг о той же проблеме уже есть, и над ним работают, то баг превращается в Resolved-Duplication.

Когда программист ошибку исправил, то баг превращается в Resolved-Fixed.

Resolved (Fixed, Invalid, Duplication) - ошибка исправлена и возвращена тестерам для проверки.

Если баг в состоянии Resolved-Invalid то тестер обязан еще раз убедиться, ошибка была или нет.

Когда баг в состоянии Resolved-Duplication то тестер должен убедиться, что действительно другой(ие), аналогичный(ые) баг(и) существует.

В случае, когда баг Resolve-Fixed тестер проверяет (тестирует проблему) опять. Если ошибка исправлена - Verified (Closed). Если ошибка не исправлена - баг переоткрывается опять (Unconfirmed, Assigned)

Verified - ошибка исправлена и перетестирована на тестовой машине.

Closed - ошибка исправлена, перетестирована и исправленный код помещен на живую систему.

О различных багтракерах, их преимуществах и недостатках писалось много. Багтрекер должен выбираться отталкиваясь от нужд тех, кто им в первую очередь будет пользоваться, а это безусловно тестировщики и разработчики. Рассмотрим существующие системы регистрации и отслеживания ошибок (bugtracking systems).

1.5 Обзор систем регистрации и отслеживания ошибок (bugtracking systems)

Mantis

Mantis - интернет/интранет система ведения учёта исправлений в программном обеспечении, написанная на PHP и использующая MySQL. Mantis был протестирован на Windows, OS/2 и большем количестве Unix систем. Работа с багтрекером возможна при использовании любого броузера поддерживающего стандарт XHTML 1.0.. Ее установка и настройка крайне просты, а интерфейс выделяется прозрачностью и понятностью среди других программ отслеживания ошибок. Возможна работа с несколькими проектами одновременно, уведомление об ошибках по электронной почте. Пакет локализован для более чем 18 языков.

Условия распространения: GNU General Public License (GPL).

Tracker

ITracker - это система отслеживания состояния проблем и ошибок для J2EE, рассчитанная на ведение множества проектов с независимыми базами пользователей. Система отвечает нормам интернационализации i18n, допустимо любое количество версий и компонентов проекта, ведется полная история проекта, имеется поиск, к записям можно прикреплять файлы, есть динамические отчеты с диаграммами. Значения полей конфигурируются, имеются настраиваемые поля, отмечающие уровень развития проекта. Есть подключаемый модуль авторизации, встроенный планировщик и средства уведомления по электронной почте.

Условия распространения: GNU General Public License (GPL).

Bugzilla

BugZilla -- серверное решение для управления процессом разработки. Широко применяется как багтрекинг-система.

Система имеет широкие возможности настроек и кастомизации для нужд конкретного процесса разработки и тестирования.

Может применяется при распределённых и географически удалённых командах разработки, тестирования и бизнес-анализа.

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

Atlassian JIRA

Atlassian JIRA -- система для трекинга ошибок, сообщений и управления проектом. Широко применяется как багтрекинг-система.

Atlassian JIRA- система чуть более широкая, чем только багтрекер, это Issue Tracking system - то есть система трекинга сообщений как таковых. Система имеет веб-интерфейс, монтируется без особых трудностей, очень гибко настраивается под конкретный проект.

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

Anthill

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

Условия распространения: GNU General Public License (GPL).

Issue-Tracker

Issue-Tracker - система поддержки отслеживания ошибки. Эта система легка в использовании и построена на основе модульного программного интерфейса в качестве приложения для удобного добавления её в случае необходимости. У неё много особенностей, которые быстро и легко могут помочь с проблемами решения организации поддержки клиента. Сюда входят такие вещи подобно файлу uploads, посылка парсинга по электронной почте, неограниченное количество пользователей и групп, уведомления при помощи электронной почты и SMS-сообщений, группы и сообщения пользователя и многое другое.

Условия распространения: GNU General Public License (GPL).

Codestriker

Codestriker - Web приложение, поддерживающее online просмотр кода. Поддерживается традиционный просмотр документа, так же как просмотр различий, производимый SCM системой (Source Code Management) и платформа unidiff патчей. Есть возможность интеграции с CVS , Subversion, Clearcase, Perforce, Visual SourceSafe, and Bugzilla. Есть плагины архитектуры для поддержки других SCM систем и систем отслеживания проблем. Это позволяет минимизировать канцелярскую работу, гарантирует регистрацию проблем, комментариев, и решений в базе данных и обеспечивает удобное рабочее пространство для выполнения кодового просмотра. Дополнительная высоко-конфигурируемая метрическая подсистема позволяет записывать метрики инспекции программ в качестве части вашего процесса.

Условия распространения: GNU General Public License (GPL).

CUT

CUT - тестирующий модуль инфраструктуры для C, C ++, и Objective-C. В отличие от других инструментов тестирующих модулей, CUT не стремится быть клоном SUnit. Он автоматизирует многочисленную нудную работу, с которой часто сталкиваются при использовании другого модуля, тестирующего пакеты для семейства языков программирования C. CUT может также в некоторых обстоятельствах использоваться в тестирующих модулях для сборки программного обеспечения.

Условия распространения: BSD License (revised), OSI Approved, zlib/libpng License.

1.6 Выбор системы регистрации и отслеживания ошибок (bugtracking systems)

После проведённого анализа систем отслеживания ошибок (bugtracking systems), выбрали Mantis. Обосновать выбор можно тем, что данная система написана на языке программирования PHP с использованием MySQL, Работа с багтрекером возможна при использовании любого браузера поддерживающего стандарт XHTML 1.0. Удобная система, работает очень быстро и надежно. Большое количество локализаций, есть русификатор. В принципе, её достаточно для использования любой IT компанией, любого размера. Единственным недостатком является невозможность выставления дедлайна, время выполнения задачи/устранения бага, процент выполнения и так далее.

Таким образом, мы рассмотрели существующие системы управления сайтом и системы регистрации и отслеживания ошибок. Были рассмотрены такие системы управления сайтом как: ObjectiveSite, NauSite , MySITE, Content Master 2.5, CimWebCenter , Битрикс, Автор, Armex BackOffice (ABO.CMS), MagicSite, PHP-NUKE и системы регистрации и отслеживания ошибок: Mantis, ITracker, Bugzilla, Atlassian JIRA, Anthill, Trac, Issue-Tracker, Codestriker, CUT. Этот анализ позволил определиться с выбором систем, которые в последствии использовались для написания дипломной работы.

Из систем управления сайтом наиболее интересна PHP-Nuke, потому что она отвечает нашим требованиям . Mantis привлёк внимание тем, что он написан на языке программирования php, и в качестве базы данных использует MySQL. Эти две системы можно интегрировать друг с другом.

2. Специальная часть

2.1 Создание сайта

Сайт создавался на основе CMS системы PHP-Nuke.

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

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

Рис. 2.1. Структура PHP-Nuke

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

· Интернет системы;

· системы электронной коммерции;

· корпоративный портал;

· общественные учреждения и организации;

· агентства новостей;

· диалоговые компании;

· информационные сайты;

· системы электронного обучения.

В PHP-Nuke используется утилита для администрирования базы данных. К примеру phpMyAdmin. Данная утилита позволяет установить в базу данных необходимые для работы PHP-Nuke таблицы, а так же создавать резервные копии базы данных.

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

Создание интерфейса сайта

Изменения в PHP-Nuke осуществлялись c учётом удобства пользования сайтом: вносились изменения в код для смены интерфейса и функциональных способностей системы. PHP-Nuke имеет большое количество тем. Темы отличаются между собой способами оформления (цветовая гамма, расположение блоков, наличие ссылок и т.д.). Для сайта использовалась тема Sand Joney (рис.2.2.).

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

· новое красочное меню;

· надпись с названием сайта;

· значки "News";

· ссылки.

Для оформления меню использовали стандартное меню из сайта http://gt.audioslaved.com.

Рис.2.2. Главная страница сайта

Замена значка PHP-Nuke на SENET производилась в файле /themes/Sand_Journey/images/logo.png

Замена значка PHP-Nuke на News производилась в файле /images/topics/phpnuke.gif

В интерфейсе (в шапке) прежние ссылки поменяли на те, которые наиболее часто используются при эксплуатации сайта: регистрация, войти, главная, форум, downloads, bugs, cvs, top 10.

Эту замену нужно произвести в /themes/Sand_Journey/theme.php

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

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

Активация необходимых модулей

В сайте SENET используются модули, которые изображены на следующем рисунке (рис. 2.3.).

Рис. 2.3. Возможные модули для сайта.

Возможность администрирования сайта доступна только администратору сайта (рис. 2.4.).

Рис. 2.4. Страница администрирования.

Раздел администрирования доступен вызовом страницы admin.php (www.senet.ru/admin.php) и позволяет входить в систему процедурой ввода логина и пароля администратора. (обычные пользователи не входят в систему со страницы admin.php , а входят из соответствующего модуля Your Account). Как только Вы войдете на вышеуказанную страницу, появится меню, которое включает все разделы, которыми можно управлять. Если администратор является superadmin, он может работать во всех разделах сайта, если он является администратором с ограниченными правами, он видит ссылки только тех разделов, в которых ему позволяется работать. Через страницу свойств сайта, мы сможем выбрать, отображать на станице администратора текстовое меню или меню с использованием графики. Согласно нашему выбору будет отображаться текстовое или графическое меню администратора. При подключении нового модуля администрирования, необходимо также создать иконку, соответствующую новому модулю, в противном случае, в графическом меню будет показываться только текстовая связь, соответствующая новому модулю.

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

Навигация по панели управления предполагает следующие функции:

1. "сохранить БД" - позволяет создавать резервный файл, который содержит как структуру, так и содержание базы данных SENET. Это очень полезно в случае, если данные теряются; 2. "баннеры" - позволяет подключать и отслеживать все рекламные баннеры, размещённые на сайте; 3. "блоки" - позволяет управлять левой и правой колонками портала. Схема представлена так: список созданных блоков можно активировать, деактивировать или редактировать их, изменяя их позицию, порядок и назначая права доступа к их просмотру. Можно указать должен блок быть видимым всеми, только зарегистрированными пользователями, или только администратором. Кроме того, мы можем сделать блок видимым только на специфическом языке;

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

5. "группы" - администрирование групп пользователей;

6. "рефералы" - информация о том, с каких адресов заходили на сайт;

7. "IP Ban" - система запрещения IP адресов;

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

9. "модули" - позволяет управлять включенными модулями. Модули могут быть активированы, деактивированы, им могут быть назначены определенные права доступа. Модуль может быть доступен всем посетителям, только зарегистрированным пользователям или только администраторам;

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

11. "optimize DB" - оптимизирует базу данных, уменьшая ее размер и увеличивая скорость считывания данных;

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

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

14. "новые статьи" - управляет статьями, добавленными посетителями сайта. Администратор имеет возможность просмотреть эти статьи, отредактировать, опубликовать или удалить их.

Управление модулями включает в себя следующие функции:

1. "контент" - позволяет добавлять новые категории и новое содержание в секции "Контент" (заголовок, текущий статус, категория, функции). Контент очень похож на статьи, но с меньшим количеством функций. Заслуживающей внимания особенностью является возможность добавлять тэг <! -- pagebreak -- >, позволяющий создание многостраничной статьи:

Рис. 2.5. Страница с "контентом"

2. "файлы" - функция создает категории, подкатегории и добавляет файлы в область загрузки (каталог программ). Из соображений безопасности, система не позволяет загрузку файлов на сервер по средствам Web-интерфейса, а доступ к файлу осуществляется по средствам указания URL адреса к нему. Если например, файл files.zip находится в директории files сайта, необходимо указать к нему ссылку как www.SENET.ru/files/file.zip. Это позволяет публиковать файлы, которые физически расположены на других серверах, сайтах;

Рис. 2.6. Страница с "файлами"

3. "энциклопедия" - возможность внесения новых слов и понятий;

4. "ЧаВо" - допускает создание основных категорий FAQ и их наполнение содержанием - вопросы/ответы (Рис. 2.7.);

Рис. 2.7. Страница с "FAQ"

5. "форумы" - позволяет управлять форумами (Рис. 2.8.).

Рис. 2.8. Страница с "форумом"

6. Управление форумами делится на 4 области:

· конфигурация - управляет характеристиками форума;

· категории и форум - определяет категории, включенные в них форумы, модераторов каждого форума, уровни доступа и т.п.;

· ранг - определяет степень участия в форуме;

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

7. "новости" - администрирование статей (Рис. 2.9.);

Рис. 2.9. Страница "Архив новостей"

8. "рецензии" - позволяет включать рецензии. В каждой рецензии можно оценить какой-либо объект, указать ссылки на него и его изображение;

9. "опросы" - создает новые опросы для портала, редактирует или удаляет старые. Позволяет включать до 10 ответов на каждый опрос. При создании опроса, можно добавить статью, которая проанонсирует данный опрос;

10. "темы" - позволяет создавать новые темы в модуле новостей (News);

11. "ссылки" - позволяет редактировать ссылки, опубликованные посетителями сайта, удалять ссылки, проверять сообщения пользователей о недоступных ссылках (Рис. 2.10.);

Рис. 2.10. Страница (Ссылки)

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

13. "выход" - осуществляет выход из административной области.

Необходимыми компонентами (рис. 2.5.) (модулями) любой системы управления контентом (CMS системы), для сайта разработчиков, являются:

· Управление новостями;

· Управление каталогом программ для скачивания;

· Управление форумом;

· Управление обратной связью (Рис. 2.11.);

Рис. 2.11. Страница "обратная связь"

· Управление голосованием и опросами;

· Управление "вопрос-ответом" (FAQ);

· Управление баннерной системой;

· Управление поисковой системой (Рис. 2.12.);

Рис. 2.12. Страница "Поиск"

· Управление и регистрация ошибок (BTS);

· Управление документами;

· Управление ссылками;

· Управление системой рассылки.

· Управление личным кабинетом пользователя (Рис. 2.13.);

Рис. 2.13. Страница "Личный кабинет"

· Просмотр топ-листа статей (Рис. 2.14.)

Рис. 2.14. Топ-лист статей на сайте SENET

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

Рис. 2.15. Конечный состав модулей для сайта SENET.

2.2 Создание модуля Mantis

Mantis - это система для регистрации и отслеживания ошибок, написанная на PHP [5-6] и использующая MySQL и вебсервер. Mantis устанавливается на такие ОС как Windows, MacOS, OS/2, и различные версии Unix. В качестве клиента может выступить любой веб браузер. Условия распространения: GNU General Public License (GPL).

Mantis доступен для использования и модификации.

Вначале Mantis был реализован как внутренний инструмент трэкинга ошибок для любимых проектов (видеоигр). Отсутствие на рынке бесплатных программ для проверки ошибок способствовало быстрой популяризации Mantis (Рис. 2.16.).

Рис. 2.16. Особенности Mantis

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

Принцип работы системы отслеживания проблем

В целом, принцип работы bugtraking систем можно просмотреть на следующем рисунке (рис. 2.17.)

Рис. 2.17. Принцип работы bugtraking систем.

На временной шкале процесс работы bugtraking систем будет выглядеть следующим образом (рис. 1.18.)

Рис.2.18. Временная шкала.

Отслеживание проблемы (bug tracking) в простейшем варианте - это процесс, включающий в себя обнаружение ошибки, ее описание, исправление и проверку этого исправления, т.е. процесс слежения за багом в течение всего как его жизненного цикла, так и жизненного цикла разработки в целом.

Система разработана так, чтобы она легко поддавалась внесению изменений, настройкам и модернизации. Mantis разработан таким образом, что любой пользователь со средними навыками программирования на PHP и знанием MySQL мог бы настроить его под свои потребности.

Особенности:

· свободный для распространения;

· легкая установка;

· сетевая;

· независимая платформа;

· многопроектый;

· многоязычный;

· посылка по электронной почте;

· простой поиск;

· просмотр фильтров;

· PHP.

Для поддержки требуемого серверного программного обеспечения используется Windows, MacOS, OS/2, Linux, Solaris.

Целью работы являлось прикрепление Mantis в виде программного модуля к сайту SENET. Cложности, который возникают при этом требуют переписывания кодов с внесением соответствующих изменений.

Самой трудоёмкой и кропотливой частью работы по интеграции явилось приведение программного интерфейса Mantis к стандартному программному интерфейсу сайта SENET (рис. 2.19.). Это потребовало переписи всего кода программы Mantis. Для того, чтобы понять какие действия нам требуется произвести, мы предварительно ознакомились с процессом создания простейшего модуля, описание которого мы нашли на сайте http://phpnuke.ru/.

Рис. 2.19. Главная страница модуля Mantis.

Создание собственного модуля

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

Создание простейшего модуля рассмотрим на следующем примере.

Модуль "Обо мне" состоит из папки about_me и расположенным в ней файлом index.php. Следует добавить, что полноценный модуль, как правило, имеет структуру, показанную на данном рисунке (рис. 2.20.).

Рис. 2.20. Структура полноценного модуля.

Создаётся данная структура. Затем она вкладывается в папку modules. В простейшем модуле структуры как таковой нет.

Создаем файл index.php и вставляем следующий код:

<?

#Ставим запрет на прямой доступ к файлу

if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {

die ("You can't access this file directly...");

}

#Вставляем верхнюю часть сайта и открываем таблицу

include("header.php");

OpenTable();

#Наполняем модуль содержанием

echo "Содержание нашего модуля";

#Закрываем таблицу и вставляем нижнюю часть сайта

CloseTable();

include("footer.php");

?>

Вот в принципе и все - простейший модуль готов. Теперь, войдя на сайт, в списке неактивных модулей можем увидеть созданный модуль "About me". Создание модуля Mantis отличается от рассмотренного примера. При соединении Mantis в качестве модуля необходимо проделать следующее:

1. Для того чтобы операция по подключению модуля Mantis была осуществима, первым делом необходимо скопировать исходный код программы Mantis в папку modules/mantis.

2. Вторым шагом является создание таблиц данных модуля в базе данных PHP-Nuke на SQL-сервере.

В качестве базы данных используется MySQL сервер. PHPMyAdmin является программой "визуального" управления базами данных MySQL. Данная программа написана на PHP и служит для наглядного вывода содержимого базы данных, а так же для простого и понятного ёё управления.

MySQL сервер находится по адресу http://senet.ru/mysql/.

Для создания таблиц необходимо проделать следующие действия:

1). В файлах /sql/mssql.sql и (/admin/ db_table_names_inc.php поменять названия таблиц из "mantis_ " на "nuke_mantis_ ".

2). Структуры таблиц и данные Mantis находятся в /sql/mssql.sql. Необходимо скопировать код файла mssql.sql и вставить его в SQL-запрос MySQL сервера базы данных SENET базы php_nuke.

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

3. Находим главный файл. В нашем случае это файл - main_file.php. В верхнюю и нижнюю части кода этого файла вставляем следующий код:

Верхняя часть.

#Ставим запрет на прямой доступ к файлу

if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {

die ("You can't access this file directly...");

}

require_once("mainfile.php");

#Определяем переменную, для использования во внутренних ссылках

$module_name = basename(dirname(__FILE__));

get_lang($module_name);

#Определяем параметр TITLE по названию модуля

$pagetitle = "- $module_name";

#Вставляем верхнюю часть

include("header.php");

#Открываем таблицу которая будет служить общим фоном

OpenTable();

Нижняя часть

CloseTable();

include("footer.php");

Этот код позволяет воспринимать страницу в качестве составной части модуля.

То же нужно проделать со всеми остальными файлами, которые открываются в браузере (кроме include).

4. Следующим шагом является изменение ссылок, т.е. если ссылка следующая /modules/manstis/main_page.php, то её необходимо изменить на /modules.php?name=manstis&file=main_page, так как прямые ссылки в PHP-Nuke запрещены в целях безопастности.

Замена ссылок также осуществляется для всех файлов.

Мы провели замену ссылок следующим образом:

1) <a href="main_page.php" на

<a href="/modules.php?name=mantis&file=main_page">'

2) $t_redirect_url = ' login_page.php?' на

$t_redirect_url = '/modules.php?name=mantis&file=login_page'

3) $t_link = '<a href="manage_user_page.php" на

$t_link = '<a href="/modules.php?name=mantis&file=manage_user_page"

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

<form method="post" action="account_delete.php">

на <form method="post"action="/modules.php?name=

mantis&file=account_delete">


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

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