Проектирование и разработка программного комплекса организации совместных поездок в черте города
Объект исследования: процесс организации совместных поездок в черте города.
Результаты, полученные лично авторами: спроектирована архитектура программного комплекса, определены основные требования к программному комплексу, разработана диаграмма вариантов использования.
Целью работы является разработка программного комплекса организации совместных поездок в черте города.
На данный момент в центральном федеральном округе, в области пас-сажирских перевозок существуют две крайности: первая – маршрутные такси, троллейбусы, автобусы, вторая – такси. Отсутствие каких-либо альтернатив приводит к целому ряду проблем: увеличение нагрузки на городской, общественный транспорт, отсутствие возможности водителя использовать свой автомобиль как инструмент получения дохода. Проектируемая система призвана решить данные проблемы.
На рис. 1. Представлена диаграмма вариантов использования программного комплекса. После авторизации пользователя в приложении, дальнейшую работу можно разделить на 2 большие части – это работа под ролью водителя или пассажира.
Рис. 1. Диаграмма вариантов использования
Весь функционал приложения доступен пользователю только после прохождения регистрации и последующей авторизации.
Пассажир может создавать поездку, указывать условия поездки, изме-нять условия, изменять свой профиль, осуществлять диалог с водителем. После окончания поездки пассажир может оценить поездку. Так же имеется возможность переключить свою роль с пассажира на водителя.
Водитель, в свою очередь, может просматривать на карте созданные пассажирами поездки, просматривать подробные условия выбранной по-ездки, принимать их, осуществлять диалог с пассажиром, менять данные о своем профиле и переключать свою роль с водителя на пассажира.
На рис. 2. представлена спроектированная архитектура программного комплекса. Она представляет из себя типичную трехзвенную клиент-серверную модель.
Рис. 2. Архитектура программного комплекса
Звенья системы:
• База данных – база данных приложения представленная СУБД PostgreSQL.
• Сервер – веб-сервер, поддерживающий логику работы приложе-ния. Представляет из себя кроссплатформенное приложение, со-держащее в себе модули для обработки запросов клиентов и со-хранения данных на сервере базы данных.
• Приложения клиенты – клиентские мобильные приложения для трех разных платформ:
o Android.
o Windows Phone.
o IOS.
Обмен данными между клиентом и сервером происходит по протоколу HTTP с использованием технологии Web Socket и формата JSON.
Материал поступил в редколлегию 03.04.2017
УДК 004.422.63
П.Н. Мигаль
Научный руководитель: профессор кафедры «Информатика и программное обеспечение», к.т.н., В.К. Гулаков
АНАЛИЗ ДРОЖАЩИХ ПИРАМИД
Объект исследования: дрожащая пирамида, основные операции над ней.
Результаты, полученные лично автором: собраны материалы в английском сегменте интернета, разработана программа, проанализированы результаты тестирования.
Пирамида – структура данных, предназначенная для выполнения ряда важных операций за минимальное время. Эта структура весьма важна для решения задач оптимизации, сортировки, решения сетевых задач и т.д. Дрожащая пирамида – один из вариантов пирамид и состоит из коллекции турнирных деревьев. Корни всех деревьев объединены в упорядоченный список.
Основные операции над пирамидой:
Операция link – связывает две пирамиды в одну. Сначала объединяются корневые списки пирамид в один корневой список. Далее проверяем его на наличие деревьев одинаковой высоты и объединяют их в одно турнирное дерево. Сложность операции О(log n).
Операции cut – вырезание узла из дерева и вставка его в корневой список. Сложность операции О(1).
Операция create – создать пустую пирамиду. Создается пустой список root list. Сложность операции О(1).
Операция insert. Создаем дерево размера 1 и вставляем его в корневой список. Сложность алгоритма вставки О(1).
Операция find-min – найти минимум в пирамиде. Очевидно, минимум находится в корневом списке, то есть, чтобы его найти нужно пройтись по корневому списку. Сложность: О(root_list.length) = О(log n).
Операция decrease-key(X,K) – уменьшает ключ X в элементе на K. Вырезаем поддерево с корнем в точке X. После этого уменьшим величину X в отдельном новом дереве. Сложность: О(log n).
Операция delete-min. Мы удаляем путь с узлами, которые хранят минимальный элемент. Число деревьев в наборе растет и мы проводим операцию link, для уменьшения их количества. Сложность: О(log n).
Операция delete – удалить произвольный элемент. Сначала уменьшим значение в вершине до минимально возможного значения. А затем удалим минимальный элемент в пирамиде. Сложность: О(log n).
После многих операций уменьшения и вставки турнирные деревья могут вырождаться в список. Мы поддерживаем условие того, что на каждой высоте должно быть не менее 3/4 узлов, имеющих двух потомков. Когда это условие нарушается для высоты i, происходит "дрожащее" событие, и мы удаляем все с высоты i+1 и поднимаем все деревья в корневой список, чтобы снова перестроить дерево.
Теоретическая оценка дрожащих пирамид не уступает различным пирамидам. Однако на практике эффективность пирамид зависит от многих факторов, таких как основные операции в алгоритме решаемых задач и их количественное сочетание.
Материал поступил в редколлегию 03.04.2017
УДК 004.021
П.С. Михалев
Научный руководитель: доцент кафедры «Информатика и программное обеспечение», к.т.н., А.А. Азарченков
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ ПРОГНОЗИРОВАНИЯ УСПЕШНОСТИ ПРОХОЖДЕНИЯ ТЕСТА В СИСТЕМЕ УМК-А
Объект исследования: процесс постоянного оценивания вероятности успешного прохождения теста студентом.
Результаты, полученные лично автором: на основе данной модели проводится оценка возможности успешного прохождения экзаменационного теста обучаемым в зависимости от его ответов и информации об уровне его подготовленности. Принимается решение о принципиальной возможности аттестации обучаемых. Кроме этого результаты, получаемые с использованием данной модели, могут успешно использоваться при настройке алгоритмов адаптивного тестирования.
Процесс контроля над проведением экзаменов, различных видов тестирования в учебно-методическом комплексе УМК-А в существующем виде состоит в постоянном пребывании преподавателя за рабочим компьютером с запущенной системой мониторинга за ходом ответов студентов и обучающихся на вопросы. Явными слабыми сторонами этого процесса являются очень строгие рамки в отношении условий работы преподавателя в этот момент. Преподавателю необходимо все время проводить за рабочим компьютером, на котором развернута система и стоит покинуть компьютер, как становиться невозможно осуществлять мониторинг ответов студентов. Улучшение условий работы преподавателей с системой УМК-А заключается в проектировании и создании мобильного клиента, позволяющего преподавателям работать с системой на своих персональных устройствах.
Основной функцией разрабатываемого мобильного клиента является обеспечение отображения мониторинга прохождения теста и реализация расчета вероятности успешного прохождения экзаменационного теста обучающимся.
Для прогнозирования успешности прохождения теста в разрабатываемом приложении достаточно вычислить вероятность сдачи теста в зависимости от ответов студента и имеющейся информации об уровне его подготовленности.
Упрощенная модель оценивания уровня подготовленности учитывает сложность вопросов, подсчет количества правильных и неправильных ответов и выполняется простым методом.
Модель базируется на классическом определении вероятности: , где m – число благоприятствующих событию B исходов, n – число всех элементарных равновозможных исходов. С учетом сложности выполняемых заданий уровень подготовленности студента по результатам одной темы может быть определен по следующей зависимости.
где число правильных ответов по i-ой сложности, число всех заданных вопросов в тесте по i-ой сложности, сложность выполняемых заданий, где .
Для оценки комплексного показателя уровня подготовленности используется предположение, что каждый тест (событие) A1…An (1…n – число тестов) – совместны, то есть зависят друг от друга. Поэтому, для вычисления вероятности сдачи по всем тестам используется формула:
где суммы распространяются на различные значения индексов i;i,j;i,j,k;
Особое внимание стоит обратить на ситуации, когда во время прохождения экзаменационного теста вероятность сдачи i-темы оказывается неравна прогнозируемому значению, полученному на основе вероятности с которой была изучена i-тема, т.е. проводится сравнение получаемого в реальном времени результата с информацией об уровне подготовленности студента:
≠
Каждый раз, когда выявляется данное неравенство, необходимо обновлять формулу новыми данными и получать в итоге более точное значение вероятности прохождения теста.
Материал поступил в редколлегию 03.04.2017
УДК 004.422.63
Д.И. Нахабин
Научный руководитель: профессор кафедры «Информатика и программное обеспечение», к.т.н., В.К. Гулаков