Помощь в написании студенческих работ
Антистрессовый сервис

Выбор инструментальных средств

РефератПомощь в написанииУзнать стоимостьмоей работы

Система рассчитана на использование пользователями, которые являются так же пользователями LMS Moodle, информация о которых импортируется в базу данных системы, и пользователями, информация о которых там отсутствует. Такими пользователями являются любые другие студенты. Система не предполагает какой-либо регистрации. В тоже время системе необходимо как-то идентифицировать пользователей, различать… Читать ещё >

Выбор инструментальных средств (реферат, курсовая, диплом, контрольная)

Язык программирования

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

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

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

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

Среда разработки.

В качестве среды разработки была выбрана свободная и открытая IDE Geany. Geany полностью подходит по требованиям к среде разработки:

  • ? Поддержка языка программирования Python — подсветка синтаксиса, автоматическое создание отступов;
  • ? Механизм автодополнения;
  • ? Простой и «легкий» интерфейс, который обеспечивает куда большую скорость разработки, чем более мощные, но при этом более «медлительные» среды разработки вроде Eclipse или NetBeans.

Фреймворк.

Для языка программирования Python существует несколько достаточно популярных фреймворков: Pylons, TurboGears, CherrPy. Наиболее широко распространенным и бурно развивающимся является MVC-фреймворк Django, который и был выбран для разработки системы по следующим причинам:

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

СУБД.

Для веб-приложений, зачастую, именно СУБД выступает узким местом, которое ограничивает максимально возможное конкурентное количество запросов, обрабатывающихся системой. Для разрабатываемой системы, во всяком случае, на начальном этапе развития, не предполагается создания значительной базы данных и наличия сложных, регулярных, частых и затратных по времени запросов к базе. Общее количество же запросов в единицу времени, явно не будет являться серьезным препятствием для быстрого и полноценного функционирования система с использованием любой СУБД. То есть, нет смысла использовать дорогие коммерческие решения (MS SQL, DB2, Oracle). А из свободно распространяемых систем (MySQL, PostgreSQL, Firebird) нельзя выделить ту, которая обладала бы значительными преимуществами по сравнению с остальными: все поддерживают базовые стандарты SQL, максимальный физический объем данных не налагают реальных ограничений на базу данных в силу несопоставимости размеров. Было принято решение использовать СУБД MySQL, поддерживаемую Django.

Протокол аутентификации.

Система рассчитана на использование пользователями, которые являются так же пользователями LMS Moodle, информация о которых импортируется в базу данных системы, и пользователями, информация о которых там отсутствует. Такими пользователями являются любые другие студенты. Система не предполагает какой-либо регистрации. В тоже время системе необходимо как-то идентифицировать пользователей, различать уже существующих имеющихся и новых. Для идентификации было решено использовать адрес электронной почты. Пользователь, существующий в базе данных LMS Moodle, может ввести всего лишь свой адрес электронной почты и начать работать с системой. Все остальные пользователи могут осуществлять вход с использованием своих учетных записей в социальных сетях. Это необходимо лишь для того, чтобы система могла выбрать определенную информацию о пользователе из его учетной записи — это имя, фамилия и адрес электронной почты, а добавить эту информацию в базу данных систему, для того, чтобы при последующих обращениях к системе, пользователю не приходилось вводить, ранее внесенные данные о своих оценках повторно. Также есть возможность получить информацию об образовании, что можно для формирования соответствующих полей в генерируемом резюме. После аутентификации пользователя, информация о котором отсутствует в базе данных, происходит сохранение этой информации. Все те оценки, которые он введет, будут сохранены в системе и привязаны к его учетной записи. При повторном входе пользователя в систему он сможет увидеть свои ранее введенные данные, и вносить их заново. Это актуально, например, в ситуации, когда внешний пользователь, воспользовавшись услугами разработанной системы, введет набор значений, в котором, однако, не будут указаны оценки по некоторым курсам. Из-за того, что этот курс еще не был пройден студентом или из-за того, что он просто забыл свою оценку на момент первого сеанса работы с системой.

Средства визуализации.

В интерфейсе, где пользователю представляются результаты работы программы, используется библиотека для визуализации данных для наглядного представления информации. Это JavaScript библиотека разработанная компанией Google, которая называется Google Chart и которая используется для построения различных графиков и диаграмм, на основе значений, который в качестве параметров соответствующим функциям. В совокупности с системой шаблонов Django, эта система является достаточно мощным, простым и наглядным средством для визуализации данных. Существует огромное количество различных библиотек, которые реализуют тот же самый функционал. Выбор Google Chart (GC) обусловлен следующими факторами:

  • ? это открытые, свободно распространяемые библиотеки;
  • ? компания разработчик — Google, что свидетельствует о тех ресурсах которые были затрачены на разработку решения и соответственно о качестве этого решения;
  • ? для GC предусмотрена исчерпывающая документация, раскрывающая все нюансы использования этого API;

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

Показать весь текст
Заполнить форму текущей работой