Научная статья на тему 'Методы и средства разработки электронных учебников. Технология Django для веб-приложений на языке Python'

Методы и средства разработки электронных учебников. Технология Django для веб-приложений на языке Python Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2569
416
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ковалев Д. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методы и средства разработки электронных учебников. Технология Django для веб-приложений на языке Python»

С.И. Трубачева, к.т.н., доцент, профессор кафедры ИиСУ

Д.А. Ковалев, студент группы. ИС-503

Волжский университет имени В.Н. Татищева, г. Тольятти

МЕТОДЫ И СРЕДСТВА РАЗРАБОТКИ ЭЛЕКТРОННЫХ

УЧЕБНИКОВ. ТЕХНОЛОГИЯ DJANGO ДЛЯ ВЕБ-ПРИЛОЖЕНИЙ НА

ЯЗЫКЕ PYTHON

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

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

Оболочка для создания учебников рассчитана на пользователей, у которых нет времени или возможности осваивать все премудрости профессии web-мастера, и предназначена для быстрого создания электронных учебных пособий, использующих Web-интерфейс.

Существует множество различных мастеров по созданию электронных учебников.

ОРОКС. Представляет собой сетевую оболочку для организации и проведения полномасштабного обучения с использованием сетевых технологий.

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

Системы, созданные на основе ОРОКС, позволяют осуществлять:

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

- реализацию процесса обучения (обучение в соответствии с электронным учебным планом, учебно-методическое обеспечение учебного

процесса через внутреннюю электронную библиотеку, тестирование и распределенный по времени контроль знаний обучаемых);

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

- контроль за выполнением программы обучения;

Сейчас на рынке технологий создания WEB-приложений появилась многообещающая новая технология под названием Ruby on Rails, которая начинает завоевывать все больше и больше людей.

Ruby on Rails — объектно-ориентированный программный каркас для создания WEB-приложений, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model - View -Controller (модель-представление-контроллер) для WEB-приложений, а также обеспечивает их интеграцию с WEB-сервером и сервером базы данных. Динамичный AJAX-интерфейс, обработка запросов и выдача данных в контроллерах, предметная область, отраженная в базе данных, — для всего этого Rails предоставляет однородную среду разработки на Ruby. Все, что необходимо для начала — база данных и WEB - сервер.

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

Rails работает со многими WEB-серверами и СУБД. В качестве WEB-сервера рекомендуется Apache, lighttpd, с FastCGI, SCGI. В качестве СУБД можно использовать MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 или Firebird. Использовать Rails можно на практически любой операционной системе, однако для развертывания рекомендуется использовать системы семейства *nix.

В настоящие время большинство программистов используют для создания электронных учебник языки HTML, PHP, JAVA и т.д. HTML - язык для создания текстовых учебников с гиперссылками и иллюстрациями. Есть возможность вставки интерактивных демонстраций, созданных средствами Macromedia Flash, Java и другими. Преимущества языка: универсальность формата; небольшой объем кода; возможность использования под любой операционной системой. Недостатки языка: функциональная

ограниченность; отсутствие средств защиты информации от кражи и копирования.

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

Объект представляет некую совокупность данных и способов работы с ними. Данные можно рассматривать как поля записи. Это характеристики объекта. Пользователь и объекты должны, конечно, иметь возможность читать эти данные объекта, как-то их обрабатывать и записывать в объект новые значения.

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

- для надежного функционирования объекта надо поддерживать целостность и непротиворечивость его данных;

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

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

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

В процессе работы объекты могут создаваться и уничтожаться. Таким

образом, структура программы является динамическим образованием, меняющимся в процессе выполнения. С целью организации динамического распределения памяти во все объекты заложены методы их создания -конструкторы, и уничтожения - деструкторы. Благодаря визуальному объектно-ориентированному программированию была создана технология, получившая название «быстрая разработка приложений» (RAD - Rapid Application Development).

Django — свободный фреймворк для веб-приложений на языке Python. Изначально проект был создан для управления новостными сайтами. В Django приложения конфигурируются явно, в отличие от Ruby on Rails и некоторых других фреймворков. Например, отображения URL на Python -функции задаются явно, при помощи регулярных выражений.

Архитектура Django основывается на технологии ORM, то есть модель данных Django-приложения описывается классами Python, и по ней генерируется схема базы данных.

ORM — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». Существуют как коммерческие, так и свободные реализации этой технологии.

Первоначальная разработка Django, как средства для работы новостных ресурсов, достаточно сильно отразилась на его архитектуре: он

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

В дистрибутив Django также включены приложения для системы комментариев, синдикации RSS и Atom, «статических страниц» (которыми можно управлять без необходимости писать контроллеры и представления), перенаправления URL и другое.

Django проектировался для работы под управлением Apache с модулем mod python и с использованием PostgreSQL в качестве базы данных.

В составе Django присутствует собственный WEB-сервер для разработки. Сервер автоматически определяет изменения в файлах исходного кода проекта и перезапускается, что очень ускоряет процесс разработки на Python. Но при этом он работает в однопотоковом режиме и пригоден только для процесса разработки и отладки приложения.

i Надоели баннеры? Вы всегда можете отключить рекламу.