Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример отчета по преддипломной практике.doc
Скачиваний:
5
Добавлен:
15.11.2019
Размер:
1.24 Mб
Скачать

2.2Алгоритмы работы топологической системы

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

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

Для получения дополнительной информации нужно навести курсор мыши на нужную аудиторию. Предоставление этой информации реализовано с помощью технологий CSS и JQuery. Всем аудиториям присваивается класс «vtip» и уникальный идентификатор, который выглядит следующим образом «id_корпус_номер этажа_номер аудитории». Для класс «vtip» реализованы методы представления всего, что помещено в title для данного тэга, в том числе ссылки на другие ресурсы, в виде всплывающей подсказки.

При переходе на страницу с этажами происходит запрос в контроллер на выборку всех аудиторий и телефонов выбранного корпуса. Все номера помещаются в массив numbers. Далее запускается скрипт, который выбирает из массива номер аудитории и подставляет его в селектор, описанный выше. Если такой идентификатор существует, то в атрибут title записывается сама аудитория, этаж, телефон и т. д.

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

  • по названию аудитории и номеру корпуса;

  • по номеру телефона;

  • по наименованию подразделения;

  • по дню из учебного расписания и номеру пары;

  • по фамилии сотрудника (только для привилегированных пользователей).

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

3Программное конструирование топологической сиcтемы

3.1Обоснование выбора языка программирования

Систему визуализации топологии ДГТУ необходимо разработать в виде web-ресурса, который внедряется в существующий портал. Поэтому данный ресурс должен быть разработан с использованием фреймворка CodeIgniter. Для создания ресурса необходимы такие языки программирования как: PHP и JavaScript, а также знания языка разметки HTML и каскадных таблиц стилей CSS. Информация об аудиториях подразделениях и телефонах необходимо хранить в базе данных, управляемой СУБД PostgreSQL.

4HTML

Hyper Text Markup Language (HTML) является стандартным языком, предназначенным для создания гипертекстовых документов в среде WEB. HTML-документы могут просматриваться различными типами WEB-браузеров. Когда документ создан с использованием HTML, WEB-браузер может интерпретировать HTML для выделения различных элементов документа и первичной их обработки. Использование HTML позволяет форматировать документы для их представления с использованием шрифтов, линий и других графических элементов на любой системе, их просматривающей [4].

Большинство документов имеют стандартные элементы, такие, как заголовок, параграфы или списки. Используя тэги HTML возможно обозначать данные элементы, обеспечивая WEB-браузеры минимальной информацией для отображения данных элементов, сохраняя в целом общую структуру и информационную полноту документов. Все что необходимо, чтобы прочитать HTML-документ – это WEB-браузер, который интерпретирует тэги HTML и воспроизводит на экране документ в виде, который ему придает автор [4].

5PHP

PHP – широко используемый язык скриптинга (сценариев) общего назначения, который особенно подходит для web-систем и может быть внедрен в HTML. PHP является интерпретируемым языком. Его интерпретация производится web-сервером (например, Apache) [5].

В PHP не имеется ограничений в выводе HTML. PHP может выводить изображения, PDF-файлы и даже клипы Flash (используя libswf и Ming), генерируемые на лету. Также легко можете выводится любой текст, включая XHTML, и любой другой XML-файл. PHP может автоматически генерировать эти файлы и сохранять их в файловой системе, вместо их распечатки, формируя серверный кэш для вашего динамического содержимого. Одна из наиболее сильных и привлекательных черт PHP – поддержка им большого количества баз данных (БД) [5].

6CodeIgniter

CodeIgniter является фреймворком для разработки web-приложений – набором инструментов для людей, которые разрабатывают web -сайты на PHP. Его цель состоит в том, чтобы позволить разработчику разработать проект гораздо быстрее, чем если бы он писал код с нуля, предоставляя богатый набор библиотек для часто-используемых задач, а так же простой интерфейс и логичную структуру для доступа к этим библиотекам [6].

Фреймворк – это готовый каркас для разработки приложений, которые будут строиться на его основе. CodeIgniter обладает рядом плюсов перед другими web-фреймворками:

  • поддерживается множество баз данных (MySQL, PostgreSQL и другие) [6];

  • CodeIgniter бесплатен. CodeIgniter лицензирован под Apache/BSD-style open source license [6];

  • CodeIgniter очень легкий. Основное ядро CodeIgniter требует очень малое количества библиотек. Это делает CodeIgniter менее требовательным к ресурсам. Дополнительные библиотеки загружаются динамически по запросу, в зависимости от потребностей в тот или иной момент времени. Поэтому ядро остается очень гибким и быстрым [6];

  • CodeIgniter использует M-V-C. CodeIgniter использует подход Модель-Отображение-Контроллер, который позволяет отделить логику от отображения. Это особенно хорошо в проектах, где дизайнеры работают с файлами отображений. Размер таких файлов будет сведен к минимуму [6];

  • CodeIgniter создает «чистые» URL. URL, которые генерирует CodeIgniter чистые и родственные для поисковых систем. CodeIgniter использует схему, при которой URL адрес делится на сегменты [6];

  • CodeIgniter содержит множество библиотек. CodeIgniter поставляется и распространяется с большим числом библиотек, которые выполняют наиболее частые задачи. Это доступ к базе данных, отправка почты, проверка данных формы, сохранение сессий, манипулирование изображениями, работа с XML-RPC и многое другое [6];

  • CodeIgniter расширяемый. Система может быть легко расширена за счет использования плагинов и библиотек хелперов, или через класс расширений и систему хуков [6];

  • CodeIgniter подробно документирован. Фреймворк поставляется с хорошей документацией. Исходный код чист и хорошо прокомментирован [6].

7JavaScript

JavaScript – объектно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности web-страниц [7].

Основные архитектурные черты:

  • динамическая типизация;

  • слабая типизация;

  • автоматическое управление памятью;

  • прототипное программирование;

  • функции как объекты первого класса.

Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в web-разработке [7].

8jQuery

jQuery— библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API по работе с Ajax [8].

Кроме самой библиотеки существует множество плагинов, разработанных на базе данной библиотеки. Как правило, они размещены в свободном доступе для скачивания. Они разрабатываются как крупнейшими корпорациями (например, Google, Yahoo!), так и обычными программистами и реализуют множество интерактивных функций для взаимодействия пользователей с web-ресурсом [8].

9AJAX

AJAX (Asynchronous Javascript and XML— «асинхронный JavaScript и XML»)— подход к построению интерактивных пользовательских интерфейсов web-приложений, заключающийся в «фоновом» обмене данными браузера с web-сервером. В результате, при обновлении данных, web-страница не перезагружается полностью и web-приложения становятся более быстрыми и удобными для конечного пользователя [9].