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

Разработка обучающего игрового приложение по дисциплине «Астрономия»

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

Разработка обучающего игрового приложение по дисциплине «Астрономия» (реферат, курсовая, диплом, контрольная)

  • Введение
  • 1. Аналитическая часть
  • 1.1 Описание предметной области
  • 1.2 Исследование алгоритмов и характеристик существующих программных систем аналогов
  • 1.3 Моделирование проектируемой системы
  • 1.4 Разработка технического задания
  • 2. Конструкторская часть
  • 2.1 Разработка архитектуры программной системы
  • 2.2 Разработка структуры данных
  • 2.3 Конструирование пользовательского интерфейса
  • 2.4 Обработка событий и ошибок ввода данных
  • 2.5 Разработка программного алгоритма
  • 2.6 Организация интерфейса хранения данных
  • 3. Экспериментально — прикладная часть
  • 3.1 Тестирование системы
  • 3.2 Руководство программиста
  • 3.3 Руководство пользователя
  • 4.1 Организационная часть
  • 4.2 Экономическая часть
  • Список использованной литературы

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

Учитывая отсутствие методик игрового тестирования учеников, целесообразно разработать универсальную программу, которая позволила бы учителям определённых дисциплин создавать свои базы данных и быстро получать контрольные задания для своего предмета.

Цель дипломного проекта: «Разработка обучающего игрового приложение по дисциплине «Астрономия» .

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

произвести сбор и анализ сведений по предметной области по дисциплине «Астрономия» в текущем учреждении;

создать модель проектируемой системы,

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

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

провести тестирование системы,

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

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

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

содержать максимум необходимой информации по дисциплине;

быть простым в использовании и рассчитанным на пользователя, не имеющего специальных навыков;

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

ограничивать ввод некорректных данных;

обеспечивать вывод запрашиваемой информации;

Программный продукт разработан с помощью мультиплатформенного инструмента для разработки двух — и трёхмерных приложений Unity3d. Для хранения данных используются таблицы СУБД MySQL. Для отправки отчетов с андроид устройства учителям используется URI-схемой mailto.

Пояснительная записка состоит из аналитической, конструкторской, экспериментально-прикладной и экономической частей и раздела охраны труда.

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

В конструкторской части описано следующее:

Разработка архитектуры программной системы Разработка структуры данных Конструирование пользовательского интерфейса Обработка событий и ошибок ввода данных Разработка программного алгоритма Организация интерфейса хранения данных В экспериментально-прикладной части проводится тестирование программы в различных условиях; а также представлена необходимая техническая документация: руководство программиста и руководство пользователя.

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

1. Аналитическая часть

1.1 Описание предметной области

В качестве объекта исследования было выбрано типовое муниципальное образовательное учреждение средняя общеобразовательная школа № 2.

Организационная структура организации в МБОУ СОШ № 2 выглядит следующим образом (рисунок 1.1).

Рисунок 1.1 — Организационная структура организации в МБОУ СОШ № 2

Согласования между образовательной моделью в школе и структурой ее управления — условие гармоничного развития организационных и образовательных процессов. В основу проектирования модели управления школы положены Закон РФ «Об образовании», Устав школы, нормативно-правовые документы Министерства образования и науки, педагогического совета и органов общественного самоуправления школы. Реальная возможность придать педагогическому процессу целостность и оптимальность связана не только с ее совершенствованием, но и с применением принципиально новой — модульной системы, которая строится в соответствии с прогнозируемыми целями. Эта система предусматривает вариативность и оптимальную технологичность содержания, средств, форм и методов обучения, где в управлении активно задействованы не только директор, его заместители и учителя школы, но и сами учащиеся.

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

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

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

Программы-тренажеры — предназначены для формирования и закрепления умений и навыков, а также для самоподготовки обучаемых. При использовании этих программ предполагается, что теоретический материал обучаемыми уже усвоен. Многие из этих электронных обучающих систем составлены в духе бихевиоризма, когда за один из ведущих принципов берется подкрепление правильного ответа. В случайной последовательности генерирует учебные задачи, уровень трудности которых определяется педагогом. Если обучаемый дал правильное решение, ему сообщается об этом, иначе ему либо предъявляется правильный ответ, либо предоставляется возможность запросить помощь. Компьютерные учебные программы такого типа реализуют обучение, мало чем отличающееся от программированного обучения с помощью простейших технических устройств. Однако ПК обладает значительно большими возможностями в предъявлении информации, чем в типе ответа. Многие системы позволяют даже вводить с некоторым ограничением конструированные ответы. В настоящее время разработано достаточно большое число программ рассматриваемого типа. При их разработке можно обойтись знаниями о процессе обучения и учебной деятельности на уровне «здравого смысла», т. е. интуитивного, часто недостаточно осознанного представление о процессе обучения и индивидуального опыта, приобретенного разработчиками в процессе учительской работы.

Контролирующие программы [26], предназначенные для контроля определенного уровня знаний и умений. Известно, что контроль знаний обучаемых представляет собой одно из самых важных и в то же время по характеру организации и уровню теоретической исследованности одно из самых слабых звеньев учебного процесса. Главный недостаток существующих форм и методов контроля заключается в том, что в большинстве случаев они еще не обеспечивают необходимой устойчивости и инвариантности оценки качества усвоения учебной информации, а также необходимой адекватности этой оценки действительному уровню знаний. Совершенствование контроля над ходом обучения должно концентрироваться вокруг узловой проблемы — проблемы повышения достоверности оценки формируемых знаний, умений и навыков. Эту проблему можно рассматривать в двух аспектах: во-первых, как увеличение степени соответствия педагогической оценки действительному уровню знаний обучаемых; во-вторых, как создание и реализация таких методических приемов контроля, которые обеспечили бы независимость оценок от случайных факторов и субъективных установок учителя. Использование соответствующих пакетов контролирующих программ позволит повысить эффективность обучения и производительность труда учителя, придаст контролю требуемую устойчивость и инвариантность, независимость от субъективных установок учителя.

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

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

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

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

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

1.2 Исследование алгоритмов и характеристик существующих программных систем аналогов

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

LinguaLeo

Веб-сервис для изучения и практики английского языка

Рисунок 1.2 — Один из разделов сайта «LinguaLeo»

Достоинства:

Симпатичный и удобный интерфейс;

Эффективно;

Большая коллекция материалов;

Недостатки:

Отсутствие грамматики, недоработка;

Для эффективность требует вклада денег

Самоучка

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

Достоинства:

Симпатичный и удобный интерфейс;

Эффективно;

Недостатки:

Только для начальных классов;

Рисунок 1.3 — Одно из заданий сервиса «Самоучка»

Развивая свой интеллект

Программа «Развивая свой интеллект» — это углубленный курс по улучшению памяти и повышению IQ. Она адресована тем, кто желает развить внимательность и выработать быструю реакцию.

Достоинства:

Симпатичный и удобный интерфейс;

Возможность обучения старшеклассников

Большая коллекция материалов;

Недостатки:

Требуется много времени для получения результатов

Отсутствует подробного отчёта

Рисунок 1.4 — Окно программы «Развивая свой интеллект»

Астроном

Приложение Астроном программа обучающая для Android — это отличная возможность подтянуть ваши знания по астрономии или получить их основы. Далеко не все уделяли внимание этому предмету в школе, и только по прошествии лет вспоминается, что это самый интересный предмет. Еще бы: вселенная практически неизведанная, но такая манящая. О ней известно крайне мало, но то, что мы знаем, просто поразительно.

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

Достоинства:

Симпатичный и удобный интерфейс;

Большая коллекция материалов;

Точность;

Недостатки:

Существует без обновлений (заброшена разработчиками)

Отсутствует поддержка/справка

Отсутствует подробного отчёта

Рисунок 1.5 — Окно программы «Астроном»

Астрономия

MП — эксклюзивный теме ориентированной методологии и технологии, которая помогает вам учиться, запомнить и выучить слова, фразы, логики и контекст.

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

MП Астрономия подходит для тех, кто с интересом в области науки и астрономии до среднего и продвинутого астрономии и науки студентов.

Достоинства

Симпатичный и удобный интерфейс;

Большая коллекция материалов;

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

Недостатки Стоимость

Отсутствует отчётности

Существует без обновлений (заброшена разработчиками)

Рисунок 1.6 — Окно программы «Астрономия»

Таблица 1.1 - Сравнительная характеристика программ-аналогов

Название программного продукта

Характеристики программ-аналогов

Понятный интерфейсl

Отчетность

Возможность обучения старшеклассников

Поддержка мобильных платформ

Показ текущего результата

Стоимость

Развивая свой интеллект

;

;

Самоучка

;

;

;

;

LinguaLeo

;

;

Астроном

;

;

;

Астрономия

;

;

;

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

1.3 Моделирование проектируемой системы

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

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

Рисунок 1.5 — Описание основных программных модулей

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

Модуль «Авторизация» осуществляет выполнение взаимодействия пользователя, с программой осуществляя процесс авторизации (выполнение сравнения введенной информации пользователем и данных, находящихся в базе данных).

Модуль «Программа» осуществляет основную работу приложения по управлению данными (добавление, изменение, удаление, поиск, фильтрация данных), отображению. данных, а также основному взаимодействию программы и пользователя.

Модуль «Отчеты» осуществляет вывод данных пользователю согласно его запросу (как всех данных, так и отфильтрованных).

1.4 Разработка технического задания

Основание для разработки:

Разработка программного продукта ведется на основе задания, выданного на дипломную работу приказом по БГТУ № 337−3 от 24.04.2014 г.

Тема разработки: Обучающие игровое приложение по дисциплине «Астрономия»

Назначение разработки:

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

Требования к программному продукту:

Требования к функциональным характеристикам:

добавление новых данных о проходящем тест (пользователь) и изменение уже существующих в базе;

осуществление проверки знаний пользователя с помощью тестирования;

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

хранение данных о количестве правильно отвеченных вопросов пользователем;

вывод результат на электронную почту;

Требования к организации входных и выходных данных:

Входными данными являются данные о пользователе:

имя пользователя;

фамилия пользователя;

email адрес пользователя;

логин пользователя;

пароль пользователя

Выходными данными являются:

количество отвеченных вопросов;

количество правильных ответов;

имя, фамилия проходимого тест;

итоговая оценка;

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

наличие понятного интерфейса;

наличие цветовой палитры не раздражающего цвета;

возможность работать с программой не подготовленному пользователю;

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

Требования к временным характеристикам:

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

задержка при загрузке не должна превышать 10 сек;

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

задержка при создании отчетов не должна превышать 10 сек;

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

Требования к надежности:

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

Условия эксплуатации

Для эксплуатации программы необходимо как минимум 2 человека один человек (ученик), который будет запускать программу и вносить данные в нее и второй (учитель), который будет просматривать результаты ученика. Для ученика необходимо владение android устройством на уровне пользователя, когда для учителя будет достаточно умение владения персональным компьютером и иметь электронную почту для получения отчётности.

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

Минимальными системными требованиями для нормальной работы приложения являются:

Операционная система: Android 4.1 и выше

Процессор: 800 MHz и выше

Оперативная память не менее: 512 Мб

Свободное место на жестком диске: 120 Мб

Видеопроцессор: Adreno 220

Требования к информационной и программной совместимости

Программный продукт должен стабильно работать на операционных системах семейства Android выше версии 4.1.

Требования к программной документации

В курсовой проект должна входить следующая документация:

Руководство программиста;

Руководство пользователя.

Технико-экономические показатели

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

Программа должна быть разработана в течение 22 дней. Стоимость программы должна составить не менее 17 тысяч рублей.

Этапы разработки

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

Сбор информации и анализ литературных источников (анализ);

Разработка метода решения задачи и составление алгоритма решения (проектирование);

Разработка и отладка программы (реализация);

Анализ результатов (тестирование).

2. Конструкторская часть

2.1 Разработка архитектуры программной системы

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

Рисунок 2.1 — Архитектура приложения

Управляющая сцена GlavMenu

Функции сцены:

Регистрация нового пользователя.

Проверка пользователя.

Отображение текущего результата

Настройка приложения

Соглашение на использование информации о пользователя в данном приложении

Menu

Функции сцены:

Загрузка сохранённого результата

Запуск без подгрузки сохранения

LoadLevel

Функции сцены:

Скрытие загрузки компонентов и прорисовки загружаемого уровня

LevelDem

Функция сцены:

Обучающий уровень, позволяющий пользователю ознакомиться с интерфейсом приложение

Level1.10

Функции сцен:

Основные уровни приложения, отвечающие за результат пользователя.

RezLevel

Функции сцены:

Вывод результата пользователя

Соглашение пользователя о передачей результатов по указанному электронному адресу.

2.2 Разработка структуры данных

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

Правило первое: Каждое поле любой таблицы должно быть уникальным.

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

Выделение сущностей

Построение диаграмм ER-типа с учетом всех сущностей и связей между ними

Формирование набора предварительных отношений с указанием предполагаемого первичного ключа

Добавление не ключевых полей в сформированные отношения

При разработке программного продукта были выделены сущности:

Вопросы Пользователь

Email

Оценки Авторизация

В выделенных сущностях выявили следующие связи:

" Вопросы" Владеет «Оценки»

" Оценки" Исполняется по «Вопросы»

" Пользователь" являются отвечающими в «Вопросы»

" Пользователь" имеет «Вопросы»

Построили диаграммы ER-типа:

" Вопросы" Происходит от «Оценки»

Рисунок 2.2 — Диаграмма ER-типа

Связь «один ко многим»: Один вопрос может иметь разные оценки.

Класс принадлежности сущности «Оценки» обязательный, т.к. Оценки не может быть без Вопроса.

" Пользователь" Относится к «Оценки»

Рисунок 2.3 — Диаграмма ER-типа

Связь «Один ко многим»: На одну оценку может быть несколько пользователей, а на одного пользователя не может быть несколько оценок (по 1 вопросу). Класс принадлежности сущности «Ученики» обязательный, т.к. оценки не может существовать без ученика.

" Ученик" осуществляется по «Вопросы»

Рисунок 2.4 — Диаграмма ER-типа

Связь «один ко многим». Планеты имеет много вопросов, так же один вопрос не относится ко всем планетам.

" Оценки" зависит от «Учителя»

Рисунок 2.5 — Диаграмма ER-типа

Связь «Один ко многим». Прогресс может быть у несколько пользователей, но один пользователь не может иметь несколько прогрессов.

Дополнительно для функционирования БД были добавлены таблицы авторизации и ведения журнала операций.

Далее сформировал отношения в виде таблиц со следующими связями:

Рисунок 2.6 — Схема данных

Список полей таблицы «Авторизация» представлен в таблице 2.1:

Таблица 2.1 — Таблица Авторизация («Авторизация»)

Название

Тип

Описание

id

int (10)

Код записи

Пользователь

varchar (255)

Пользователь

Список полей таблицы «Пользователь» представлен в таблице 2.2:

Таблица 2.2 — Таблица Пользователь («Пользователь»)

Название

Тип

Описание

id

int (10)

Код записи

Имя

varchar (255)

Имя

Фамилия

varchar (255)

Фамилия

Прогресс

int (100)

Текущий прогресс в числовом типе

Оценки

int (1)

Оценки за прохождение теста

Список полей «Ответы» представлен в таблице 2.3:

Таблица 2.3 — Таблица Ответы («Ответы»)

Название

Тип

Описание

id

int (10)

Код записи

Планеты

varchar (255

Планета на которую требуется ответ

Список полей таблицы «Прогресс» представлен в таблице 2.4:

Таблица 2.4 — Таблица Прогресс («Прогресс»)

Название

Тип

Описание

id

int (10)

Код записи

Имя

varchar (50)

Имя

Фамилия

varchar (50)

Фамилия

Прогресс

int (100)

Текущий прогресс пользователя

Оценки

int (1)

Оценки пользователя по прохождению теста

Список полей «Регистрация» представлен в таблице 2.5:

Таблица 2.5 — Таблица Регистрация («Регистрация»)

Название

Тип

Описание

id

int (10)

Код записи

Логин

varchar (255)

Наименование

Пароль

varchar (255)

Сумма

Имя

varchar (255)

Имя

Фамилия

varchar (255)

Фамилия

email

varchar (255)

Email

Список полей таблицы «Вопросы» представлен в таблице 2.6:

Таблица 2.6 — Таблица Вопросы («Вопросы»)

Название

Тип

Описание

id

int (10)

Код записи

Пользователь

int (10)

Пользователь

Планеты

varchar (255)

Вопросы по определенной планеты

Ответы

varchar (255)

Ответы

Оценки

int (1)

Оценка по тесту

Список полей таблицы «Планеты» представлен в таблице 2.7:

Таблица 2.7 — Таблица Планеты («Планеты»)

Название

Тип

Описание

id

int (10)

Код записи

Планеты

varchar (255)

Список планет

2.3 Конструирование пользовательского интерфейса

Разработанный программный продукт представляет собой многооконное android приложение с GUI и NGUI интерфейсом. Так же в программе присутствует возможность отправки результатов на определённый email адрес.

При запуске программы открывается окно, которое предоставляет возможность зарегистрировать нового пользователя или использовать уже зарегистрированный логин и пароль (Рисунок 2.7).

Рисунок 2.7 — Окно выбора способа входа в приложение

Окно на рисунке 2.7 формируется в модуле Register. cs Кнопки «Зайти используя свои данные» и «Зарегистрироваться» формируются с помощью GUILayout. Надписи с помощью GUI Text. Фон с помощью NGUI. sprite.

При выборе использование своих данных осуществляется переход на окно авторизации (Рисунок 2.8).

Рисунок 2.8 — Окно авторизации

Окно на рисунке 2.8 формируется в модуле ProvLogin. cs Кнопка «Войти» формируются с помощью GUILayout. Поле ввода формируется с помощью GUI. TextArea. Надписи с помощью GUI Text. Фон с помощью NGUI. sprite.

При успешной авторизации происходит перенаправление на главное игровое меню приложения (Рисунок 2.9).

Рисунок 2.9 — Главное игровое меню

Окно на рисунке 2.9 формируется в модуле StartMenu. cs Кнопки «Начать», «Настройки», «Выход» формируются с помощью NGUI. button. Фон с помощью NGUI. sprite.

Игровое окно — главное в приложение так как от него зависит результат пользователя. На нём расположены кнопки управления, а так же некоторая информация о текущем результате. (Рисунок 2.10).

Рисунок 2.10 — Игровое окно

Окно на рисунке 2.10 формируется в модуле IgrScene. cs Кнопки управления формируются с помощью NGUI. button, надписи, а так же вывод информации с помощью GUILayou и GUI Text.

2.4 Обработка событий и ошибок ввода данных

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

Проверка Авторизация (Avtoriz. cs):

playerNick = PlayerPrefs. GetString («Nick»);

Проверка введенного логина с хранимым в памяти:

if (playerNick == user)

{

Проверка введенного пароля с хранимым в памяти:

playerPassword = PlayerPrefs. GetString («PASS»);

if (playerPassword == pass)

{

otver. text = «Авторизация прошла успешна» ;

Загрузка уровня меню

Application. LoadLevel («Menu»);

}else{

otver. text = «Введённые данные не верны» ;

}

Рисунок 2.11 — Авторизация

Проверка регистрации (Register. cs):

if (user1 == «» | pass1 == «» | im == «» | fam == «» | email == «») {

otvet. text = «Одна из ячеек пуста» ;

}else{

string playerNick = PlayerPrefs. GetString («Nick»);

string Email = PlayerPrefs. GetString («EMAIL»);

if (playerNick == user1)

Проверка логина на дубликацию данных при регистрации:

{

otvet. text = «Такой логин уже существует пожалуйста измените» ;

user1 = «» ;

}else{

Проверка email дубликацию данных при регистрации:

if (Email == email)

{

otvet. text = «Такой email уже существует пожалуйста измените» ;

email = «» ;

}

Рисунок 3.12 — Регистрация ошибка пустоты введённых данных

Рисунок 4.13 - Регистрация ошибка повтора введённых данных

Проверка на выбор нескольких значений:

if (T_PressOtp. Press == 1)

{

Проверка на одновременный выбор первого и второго варианта ответа:

if ((check1. isChecked = true) && (check2. isChecked = true))

{check1. isChecked = false;

check2. isChecked = false;

check3. isChecked = false;

error. text = «Выбрано более одного варианта» ;

}

Проверка на одновременный выбор третьего и второго варианта ответа:

if ((check3. isChecked) = true && (check2. isChecked = true))

{

check1. isChecked = false;

check2. isChecked = false;

check3. isChecked = false;

error. text = «Выбрано более одного варианта» ;

}else{

error. text = «» ;

}

Проверка на одновременный выбор первого и третьего варианта ответа:

if ((check1. isChecked = true) && (check3. isChecked = true)) {

check1. isChecked = false;

check2. isChecked = false;

check3. isChecked = false;

error. text = «Выбрано более одного варианта» ;

}else{

error. text = «»; }

Проверка на одновременный выбор первого, второго и третьего варианта ответа:

if ((check1. isChecked = true) && (check2. isChecked = true) && check3. isChecked = true))

{

check1. isChecked = false;

check2. isChecked = false;

check3. isChecked = false;

error. text = «Выбрано более одного варианта» ;

}else{

error. text = «» ;

}}

Рисунок 5.14 — Проверка выбор нескольких значений

2.5 Разработка программного алгоритма

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

Таблица 2.1 — Описание функций и процедур

Функция/ Процедура

Имя

Функциональное назначение

Procedure

PlayerPrefs. SetString

Сохранение данных о пользователя в PlayerPref

Procedure

Application. LoadLevel

Загрузка нужного уровня приложения

Function

PlayerPrefs. GetString

Использование данных о пользователе из PlayerPref

Procedure

GUILayout. BeginArea

GUILayout. EndArea

Задание области для GUI интерфейса

Procedure

GUILayout. Button

Процедура отвечающая за GUI кнопки в приложении

Procedure

PlayerPrefs. DeleteAll

Удаление всей информации из PlayerPrefs

Procedure

PlayerPrefs. DeleteKey

Удаление определённых данных из PlayerPrefs

Procedure

Physics. Raycas

Законы физики

Function

GUILayout. Label

Функция отвечающая за основные сообщения в приложении

Fucntion

Instantiate

Подгрузка объектов в приложение

Function

Application. Quit

Выход из приложения

Procedure

GUI. TextArea

Процедура отвечающая за GUI поля ввода

Function

hit. collider. name

Поиск по имени объекта

Function

Destroy

Функция отвечающая за уничтожение объектов на сцене

Function

DontDestroyOnLoad

Делает объект target не уничтожаемым автоматически при загрузке новой сцены.

Fucntion

Instantiate

Клонирует объект original и возвращает его копию.

Function

FindObjectsOfType

Возвращает список всех активных загруженных объектов типа type.

Function

FindObjectOfType

Возвращает первый активный загруженный объект типа type.

Fucntion

ToString

Возвращает имя игрового объекта.

Procedure

SetInt

Устанавливает целочисленное значение по ключу

procedure

GetInt

Возвращает целочисленное значение по ключу

procedure

SetFloat

устанавливает вещественное значение по ключу

2.6 Организация интерфейса хранения данных

В разработанном программном продукте хранение данных обеспечивается в виде таблиц БД на локальном сервере. Доступ к БД осуществляется посредством компонентов Connection,

Компонент Connection отвечает за подключение программы к серверу БД. В строке его подключения прописываются такие данные как: тип БД, адрес сервера БД, наименование БД, имя пользователя и пароль, порт подключения.

Свойство, в котором задается имя выполняемой процедуры, называется РrосеdureName.

Сама процедура пишется и сохраняется на сервере, а вызывается из Unity конструкцией «Имя процедуры. Exec»;

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

Таблица 2.2 — Описание процедур

Функция/

Процедура

Имя

Функциональное назначение

Procedure

SetInt

Устанавливает целочисленное значение по ключу

procedure

GetInt

Возвращает целочисленное значение по ключу

procedure

SetFloat

устанавливает вещественное значение по ключу

procedure

GetFloat

возвращает вещественное значение по ключу.

procedure

SetString

устанавливает строку по ключу

procedure

GetString

возвращает строку по ключу.

procedure

HasKey

возвращает true, если ключ существует в хранилище

procedure

DeleteKey

удаляет из хранилища значение по ключу.

procedure

DeleteAll

очищает все хранилище

procedure

ToString

Возвращает имя игрового объекта.

3. Экспериментально — прикладная часть

3.1 Тестирование системы

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

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

Весь процесс тестирования программного продукта был разбит на 3 этапа:

Проверка программы в нормальных условиях.

Проверка программы в экспериментальных условиях.

Проверка программы в исключительных ситуациях.

Проверка программы в нормальных условиях:

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

Проверим работоспособность программы на примере добавление пользователя (Рисунок 3.1).

Рисунок 3.1 — Окно регистрации нового пользователя

При попытке добавления нового пользователя ошибок не возникло и пользователь успешно был добавлен. (Рисунок 3.2), (Рисунок 3.3)

Рисунок 3.2 — Отображение добавленного пользователя

Рисунок 3.3 — Отображение добавленного пользователя (увеличенное окно)

Программа защищена от постороннего вмешательства. Для этого в ней реализована авторизация (Рисунок 3.4)

Рисунок 3.4 — Окно авторизации

Проверка программы в экстремальных условиях:

Проверка в экстремальных условиях предполагала оценку работоспособности программы при граничных объемах исходных данных.

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

Рисунок 3.5 — Проверка на полноту введённых данных

Ввод данных в текстовые поля логина, пароля, имени и фамилии ограничен 15-ю символами, email адрес 20-ю символами, при вводе 16 (21) символа программа блокирует ввод. (Рисунок 3.6)

Рисунок 3.6 — Проверка на полноту введённых данных

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

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

Были проведены эксперименты с вводом неточных данных в программу. При неточном вводе данных — правильного ввода логина и не правильного пароля программа предлагает восстановить пароль (Рисунок 3.7), для этого придется ввести регистрационные данные заново. (Рисунок 3.8)

Рисунок 3.7 — Испытания в исключительной ситуации (Кнопка восстановления пароля)

Рисунок 3.8 — Испытания в исключительной ситуации (Окно восстановления)

3.2 Руководство программиста

Назначение и условия применения программы:

Программный продукт представляет собой специальное андроид приложение, предназначенное для определения текущего знания учеников по предмету «Астрономия» .

Требования к функциональным характеристикам:

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

Условия эксплуатации:

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

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

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

Минимальными системными требованиями для нормальной работы приложения являются:

Операционная система: Android 2.3 и выше

Процессор: 800 MHz и выше

Оперативная память не менее: 512 Мб

Свободное место на жестком диске: 120 Мб

Видеопроцессор: Adreno 220

Программа состоит из нескольких основных функциональных модулей:

Главный модуль GlavLevel осуществляет основные руководящие операции над прочими модулями.

Авторизация LoginLevel осуществляет защиту доступа к данным программы, посредствам запроса логина и пароля при запуске программы.

Регистрационные данные RegLvel содержит основные функции по созданию нового пользователя. Уровень знаний EmLevel содержит информацию об уровне знания пользователя и данным для отправки на электронную почту.

Особые отметки DataUsersLevel содержит дополнительную информацию о пользователе. Автор AvtorLevel содержит информацию о разработчике программы.

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

Разработанный программный продукт не рассчитан на пользование по локальной и/или глобальной сети.

Обращение к программе. По умолчанию программа расположена в папке «Диск: /Progect/ ProverZnAstr. apk» .

Входными данными являются:

Фамилия, Имя и Отчество ученика

Электронная почта ученика/учителя.

Выходными данными являются:

Результат игрового теста ученика

При запуске программы открывается окно авторизации при неверном введение пользователя или пароля появляется сообщение об ошибке (Рисунок 3.9).

Рисунок 3.9 — Неверно имя пользователя или пароль

При соответствии пользователя и пароля появляется сообщение об успешной авторизации (Рисунок 3.10).

Рисунок 3.10 — Авторизация пройдена

На окне «Вход в систему» можно выбрать способ входа в систему зарегистрированного пользователя или зарегистрировать нового (Рисунок 3.11).

Рисунок 3.11 — Вход в систему

Настройка программы

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

Проверка программы

Для проверки работоспособности программного продукта рассмотрим пример добавления нового пользователя. Для этого в окне главной авторизации выбираем кнопку «зарегистрировать нового пользователя» (Рисунок 2.7). После чего появится окно «Регистрации» (Рисунок 3.1). Заполнив все поля, следует принять данные.

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

3.3 Руководство пользователя

Программный продукт представляет собой специальное андроид приложение, предназначенное для определения текущего знания учеников по предмету «Астрономия» .

Требования к функциональным характеристикам:

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

Условия эксплуатации:

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

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

Выполнение программы:

Для запуска программы необходимо установить приложение на андроид устройство находящееся по адресу Диск: /Progect/ ProverZnAstr. apk.

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

После чего пользователь будет перенаправлен на нужный уровень: уровень регистрации (рисунок 3.13) или уровень авторизации (рисунок 3.14).

Рисунок 3.12 — Окно главной авторизации

Рисунок 3.13 — Уровень регистрации

Рисунок 3.14 — Уровень авторизации

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

На уровне авторизации нужно будет ввести свой уникальный логин и пароль.

После успешной регистрации/авторизации произведется перенаправление на игровое меню (Рисунок 3.15)

Рисунок 3.15 — Игровое меню

При начале теста-игры произведется перенаправление на игровой уровень (Рисунок 3.16)

Рисунок 3.16 — Игровой уровень

При успешном прохождении игрового уровня будет доступен уровень теста (Рисунок 3.17)

Рисунок 3.17 — Тест уровень

4. Экономический раздел

4.1 Организационная часть

Основные элементы android приложения, используемые в учебном процессе.

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

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

Рисунок 4.1 - Структурная схема — основные классы из Android-приложения

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

4.2 Экономическая часть

Расчет времени на создание программного продукта.

Необходимо выделить шесть этапов, проходимых при разработке ПП:

постановка задачи;

проектирование;

реализация;

отладка;

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

анализ результатов и оформление документации.

Общее время на создание программы складывается из различных компонентов. Структура общего времени на создание программного продукта представлена в таблице 4.1

Время рассчитывается в человеко-часах, причем Тп. о берется по фактически отработанному времени, а время остальных этапов определяется расчетом по условному числу команд Q.

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

(1)

где q — коэффициент, учитывающий условное число команд в зависимости от типа задачи.

Выбрать значение коэффициента q можно из табл.4.2

Таблица 4.1 — Структура общего времени на создание программного продукта

Обозначение времени данного этапа

Содержание этапа

Тп. о.

1 этап: подготовка описания задачи;

То

описание задачи.

Та

2 этап: разработка алгоритма;

Тб. с.

разработка блок-схемы алгоритма.

Тн

3 этап: написание программы на языке;

Тп

набивка программы.

То. т.

4 и 5 этап: отладка и тестирование программы.

6 этап: оформление документации,

Тд

инструкций пользователю, пояснительной записки.

Таблица 4.2 - Значение условного числа команд для различных видов решаемых программных средством задач

Тип задачи

Пределы изменений коэффициента

Задачи учета

от 1400 до 1500

Задачи оперативного управления

от 1500 до 1700

Задачи планирования

от 3000 до 3500

Многовариантные задачи

от 4500 до 5000

Комплексные задачи

от 5000 до 5500

Выбираем из таблицы значение коэффициента для разработанной программы, принимаем q = 1440.

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

А — разработка принципиально новых задач;

Б — разработка оригинальных программ;

В — разработка программ с использованием типовых решений;

группа Г — разовая типовая задача.

Для данной задачи степень новизны: В.

По степени сложности программные продукты могут быть отнесены к одной из Зх групп:

алгоритмы оптимизации и моделирования систем;

задачи учета, отчетности и статистики;

стандартные алгоритмы.

Данная задача может быть отнесена ко 2 группе сложности. Коэффициент С определяется из табл. 4.3 на пересечении групп сложности и степени новизны.

Таблица 4.3 - Значение коэффициента степени новизны и сложности программы (С)

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

Группа сложности

Степень новизны

А

Б

В

Г

Высокого уровня

1,38

1,26

1,15

0,69

1,30

1, 19

1,08

0,65

1, 20

1,10

1,00

0,60

Низкого уровня

1,58

1,45

1,32

0,79

1,49

1,37

1,24

0,74

1,38

1,26

1,15

0,69

Для данной программы выбираем из таблицы коэффициент С-0,65.

Теперь, исходя из (Таблица 4.4), можно определить условное число команд Q.

Q = 1440*0,65=936 (2)

Определяем время, затраченное на каждый этап создания программного продукта:

1) Тп. о. (время на подготовку описания задачи), берется по факту и составляет: Тп. о. = 8 чел. /час.

2) То (время на описание задачи) определяется по формуле:

где В — коэффициент учета изменений задачи (коэффициент в зависимости от сложности задачи и числа изменений выбирается в интервале от 1,2 до 1,5), для данной задачи В=1,25; К-коэффициент, учитывающий категорию программиста.

Выбрать значение коэффициента К можно из табл.4.4 В данном случае достаточно программиста со стажем от 2 до 3 лет без категории, следовательно коэффициент К=1.

Таблица 4.4 - Коэффициент учета квалификации программиста (К)

Стаж программиста

Значение коэффициента К

до 2-х лет

0,8

от 2 до 3 лет

1,0

от 3 до 5 лет

1,1 — 1,2

от 5 до 10 лет

1,2 — 1,3

свыше 10 лет

1,3 — 1,5

3) Та (время на разработку алгоритма) рассчитываем по формуле:

(3)

4) Тб. с. (время на разработку блок схемы) определяется аналогично Та по формуле и составляет: Тб. с. =18,7 (чел. /час).

Тн (время написания программы на языке программирования) определяется по формуле:

(4)

Тп (время набивки программы) определяется по формуле:

(5)

То. т. (время отладки и тестирования программы) определяется по формуле:

(6)

Время на разработку документации принимается по факту Тд: 8 ч. Теперь, зная время, затраченное на каждом этапе, можно подсчитать общее время на создание программного продукта:

Т=Тп. о. + То + Та + Тп + То. т + Тд + Тбс + Тн = 8+23+18,7+18,7+28+18,7+78,6+8 =201,7 (чел. /час). (7)

Затраты времени на разработку ПП, представлена на рисунке 4.2.

Рисунок 4.2 — Затраты времени на разработку ПП Методика расчета затрат на разработку программы Расчет себестоимости создания включает следующие составляющие: расчет заработной платы исполнителя работ по созданию программного продукта, т. е. программиста со стажем от 2 до 3 лет без категории; расчет начислений на заработную плату (единого социального налога); прочие расходы.

Расчет заработной платы исполнителя работ по созданию программного продукта Основная ЗП определяется по формуле:

(8)

где З — месячная заработная плата программиста без категории (руб);

Т — общее время на создание программного продукта (чел. /час);

Чр — число рабочих дней в месяц;

t. p. д. — продолжительность рабочего дня в часах.

П — процент премии если есть.

Чр=22 день; t. p. д. =8 часов; З=9500 руб; Т=201,7 чел/час;

П — отсутствует.

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

(9)

Определяем основную заработную плату исполнителя работ по созданию программного продукта: ЗПосн=1089 (руб.)

Общая заработная плата будет равна сумме основной и дополнительной заработной платы.

Здоп = 10% от ЗПосн=1089 (руб.)

ЗПобщая = ЗПосн. + ЗПдоп. =+1089=11 976 (руб.). (10)

Расчет начислений на заработную плату (страховые взносы) Рассчитываем величину страховых взносов в размере 30% от общей заработной платы. Структура начислений страховых взносов представлена в таблица 4.5

Таблица 45 - Структура страховых взносов

Направленность отчислений

Процент от ЗПобщ.

Сумма (руб.)

Отчисления на соц. страх.

2,9%

347,3

Отчисления на мед. страх.

5,1%

610,8

Отчисления в пенсионный фонд.

22%

2634,7

Итого:

30%

Нзп = ЗПобщ х 30% (руб.) Получим:

Нзн =11 976×30% = 3592 (руб.)

Расчет себестоимости программного продукта.

Себестоимость продукции — это выраженные в денежной форме текущие затраты предприятия на производство и реализацию продукции в России до 2002 года. []

В себестоимость программного продукта входят следующие элементы:

Основная заработная плата исполнителя работ по созданию программного продукта;

Начисления на заработную плату (единый социальный налог);

Прочие расходы.

Первые 2 элемента известны, а прочие расходы составляют 10% от суммы первых 2-х элементов.

Пр. р. = (ЗПобщ+Нзп.) х10%= (11 976+3592) х10%= 1557 (руб.) (11)

Сложив все элементы, можно определить себестоимость программного продукта.

Сп. п. = ЗПосн. + Нзп + Пр. р = 11 976+3592+1557=17 124 (руб) (12)

Отразим структуру себестоимости программного продукта в табл. 4.6

Таблица 4.6 - Структура себестоимости программного продукта

Элементы себестоимости

Сумма (руб.)

% в общей сумме себестоимости

Основная заработная плата исполнителя

70%

Начисления на заработную плату

21%

Прочие расходы

9%

Итого:

100%

Рисунок 4.3 — Затраты на разработку ПП Суммарные затраты на разработку и отладку программы S равны 17 124 руб.

Расчет цены программного продукта Определение себестоимости было закреплено нормативно и содержалось в п. 1 «Положения о составе затрат по производству и реализации продукции (работ, услуг)», утверждено Правительством РФ от 5 августа 1992 г. Министерство финансов РФ письмом от 15 октября 2001 отменило положение.

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