VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Разработка приложений для ОС Android

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: K001959
Тема: Разработка приложений для ОС Android
Содержание
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение высшегопрофессионального образования
 «Северо-Восточный федеральный университет имени М.К. Аммосова»
Технологический институт
Колледж технологий
Кафедра эксплуатации и обслуживания информационных систем

\
Тимофеев Сергей Филиппович
«Разработка приложений для ОС Android»
«Ведомость студентов»
     Выпускная квалификационная работа
Специальность: 10.02.03Информационная безопасность автоматизированных систем
























Якутск 2016
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение высшегопрофессионального образования
 «Северо-Восточный федеральный университет имени М.К. Аммосова»
Технологический институт
Колледж технологий
Кафедра эксплуатации и обслуживания информационных систем

УДК 681.3.016
ББК 32.97
Тимофеев Сергей Филиппович
«Разработка приложений для ОС Android»
     Выпускная квалификационная работа
Специальность: 10.02.03Информационная безопасность автоматизированных систем
                               
                               
                               
                               
                               
                               Научный руководитель:
Куличкина М.Ф., преподаватель кафедры ЭОИС КТ ТИ
________________________________
Рецензент:Ефимов Д.Д. 
ОАО «информационно-технологический 

Центр аграрно-промышленного комплекса РС(Я)
                               ___________________________________
                               Зав. каф ЭОИС КТ ТИ ФГАОУ ВПО
                               «СВФУ имени М.К.Аммосова», к.п.н.
                               Протодьяконова Г. Ю.
                               ___________________________________
                               Дата допуска к защите:
                               ___________________________________
                               
                               

Якутск 2016
СОДЕРЖАНИЕ
ВВЕДЕНИЕ........................................................................................................…..3
1.Теоретическиеосновы разработкимобильныхприложений	
1.1.Обзор операционной системы Android	
1.1.1. Архитектура ОС Android	
1.1.2.Java	
1.1.3.Уровень прложений	
1.1.4.Уровень библиотек	
1.1.5.Уровень среды исполнения	
1.1.6.Уровень ядра Linux	
1.2.Существующие программы для ведения ведомостей успеваемости и посещаемости студентов	
1.3.Обзор AndroidStudio	
1.4.Требование к мобильному приложению	
2.Разработка мобильного приложения	
2.1.Подготовка среды разработки	
2.2 Реализация приложения	
2.3.Создания приложения в AndroidStudio	
2.4.Описание функциональности	
2.5.Тестирование Приложения	
Выводы к главе 2	
Заключение	
Литература	
Интерфейс программы	
Приложение	
     ВВЕДЕНИЕ
Актуальность:На сегодняшний день рост рынка приложений показывает значимость, удобность и актуальность использования мобильных устройств во всех сферах деятельности человека. Высокий уровень распространения мобильных устройств на рынке, и устойчивый интерес к их применению, удобность и мобильность использования мобильных устройств и приложений демонстрирует актуальность применения в образовательной деятельности мобильных приложений для решения различных преподавательских задач.
	Этим определяется актуальность темы.
В связи с этим актуальной будет разработка на этой платформе программы, которая позволит вести ведомости посещаемости и успеваемости студентов
Объект исследования: процесс разработки мобильного приложения.
Предмет исследования: нами технология разработки мобильного приложения  на базе Androidв IdeAndroidStudio
Цельюданной работы является разработка приложение для ОС Android, назначением которого будет ведение ведомости посещаемости и успеваемости студентов. Пользователями данного приложения будут преподаватели университета.
Гипотезой послужило создание доступного мобильного приложения, будет эффективным средством для совершенствования и проверки знаний. 
В соответствии с объектом, предметом, целью и гипотезой исследования были поставлены следующие задачи:
* провести обзор мобильных платформ;
* повести обзор и анализ языков программирования;
* исследовать технологии разработки мобильных приложений и выбрать средство разработки мобильного приложения;
* Разработать мобильное приложение 
Этапы исследования:
1. Анализ и подбор материалов
2. Программирование, оптимизация кода, отладка, тестирование
3. Работа по оформлению выпускной квалификационной работы
Теоретическая значимость: исследованиясостоит в том, что исследованы технологии и средства разработки мобильных приложений, выявлены их особенности создания
Практическая значимость: Созданное мобильное приложение может быть использовано любым пользователем для проверки своих оценок и посещаемости.
     Для достижения цели требуется решить следующие задачи:
* изучить архитектуру, инструменты и особенности разработки приложений для ОС Android;
* разработать базу данных в СУБД SQLite;
* разработать приложение, работающее с данной базой данных;
* разработать интерфейс пользователя;
* провести тестирование разработанного приложения.

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

СОДЕРЖАНИЕ РАБОТЫ
Первая глава, «Обзор ОС Android», содержит основную информацию об ОС Android и общие сведения о разработке приложений для этой операционной системы.
Вторая глава, «Разработка мобильного приложения», содержит подробную информацию об этапах разработки системы, включая описание инструментов разработки приложения, разработку базы данных, реализацию алгоритмов и интерфейса программы, а также информацию о результатах тестирования. 
В заключении приводятся основные результаты работы.


1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
1.1. Обзор операционной системы Android
ОС Android это операционная система для мобильных телефонов, планшетных компьютеров и нетбуков, основанная на ядре Linux . Изначально разрабатывалась компанией AndroidInc., которую затем купила компания Google. Впоследствии, компания Google инициировала создание альянса компаний OpenHandsetAlliance (OHA), занимающегося поддержкой и дальнейшим развитием платформы. Первая версия ОС GoogleAndroid вышла в сентябре 2008 года. В конце 2010 года ОС Android стала самой продаваемой ОС для смартфонов .
   ОС Android – это набор открытого программного обеспечения для мобильных устройств от компании Google, в состав которого входит операционная система и комплект базовых межплатформенных приложений .Приложения для ОСAndroid являются программами в байт-коде для виртуальной машины DalvikVirtualMachine, которая является частью мобильной платформы Android. 
Для разработки приложений под платформу Android используется набор инструментов и библиотек API - Android SDK [5] предназначенный для компьютеров с архитектурой процессора x86 под операционными системами Windows XP, WindowsVista, Windows 7,Windows 8, Windows 10Mac OS X (10.4.8 или выше) и Linux. Для разработки требуется среда исполнения JavaRuntimeEnvironment (JRE), комплект разработчика JavaDevelopmentKit (JDK) [12], среда разработки AndroidStudio [10] иAndroid SDK [5].
Разработку приложений для ОСAndroid можно вести на языке Java. Для этой цели существует плагин для среды разработки AndroidStudio — «AndroidDevelopmentTools» (ADT). Кроме того, существуют плагины, облегчающие разработку Android-приложений в средах разработки  IntelliJIDEA и NetBeans IDE. MonoDroid SDK позволяет писать для ОС Android на C# и других языках



1.1.1. Java.
Java — объектно-ориентированный язык программирования, разработанный компанией SunMicrosystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года.
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.

Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы иоборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят снижение производительности. Ряд усовершенствований несколько увеличил скорость выполнения программ на Java:
применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,
широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,
аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).


1.1.2. Уровень приложений
ОС Android позволяет полностью использовать API, используемый в приложениях ядра. Архитектура построена таким образом, что любое приложение может использовать уже реализованные возможности другого приложения при условии, что последнее откроет доступ на использование своей функциональности. Таким образом, архитектура реализует принцип многократного использования компонентов ОС и приложений.
Основой всех приложений является набор систем и служб:
1. Менеджер действий (ActivityManager) управляет жизненным циклом приложений и предоставляет систему навигации по истории работы с действиями.
2. Контент-Провайдеры (ContentProviders) – это службы, которые позволяют приложениям получать доступ к данным других приложений, а также предоставлять доступ к своим данным.
3. Система представлений (ViewSystem) – это богатый набор представлений с расширяемой функциональностью, который служит для построения внешнего вида приложений, включающий такие компоненты, как списки, таблицы, поля ввода, кнопки и т.п.
4. Менеджер ресурсов (ResourceManager) предназначен для доступа к строковым, графическим и другим типам ресурсов.
5. Менеджер извещений (NotificationManager) позволяет любому приложению отображать пользовательские уведомления в строке статуса.

1.1.3. Уровень библиотек
Платформа Android включает набор C/C++ библиотек, используемых различными компонентами ОС. Для разработчиков доступ к функциям этих библиотек реализован через использование ApplicationFramework. Ниже представлены некоторые из них:
1. System C library - BSD-реализация стандартной системной библиотеки C (libc) для встраиваемых устройств, основанных на Linux.
2. MediaLibraries – библиотеки, основанные на PacketVideo‘sOpenCORE, предназначенные для поддержки проигрывания и записи популярных аудио- и видео- форматов (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG и т.п.).
3. LibWebCore – ядро встроенного web-браузера.
4. SurfaceManager – менеджер поверхностей управляет доступом к подсистеме отображения 2D- и 3D- графических слоев.
5. SGL (ScalableGraphicsLibrary) – библиотека для работы с 2D-графикой, основанная на библиотеке SDL (SimpleDirectMediaLayer).
6. 3D libraries – библиотеки для работы с 3D-графикой, основанные на OpenGL ES 1.0 API.
7. FreeType – библиотека, предназначенная для работы со шрифтами.
8. SQLite – легковесная реляционная система управления базами данных.
  1.1.4. Уровень среды исполнения
В состав ОС Android входит набор библиотек ядра, которые предоставляют большую часть функциональности библиотек ядра языка Java.
Платформа использует оптимизированную, регистр-ориентированную виртуальную машину Dalvik, в отличии от  которой стандартная виртуальная машина Java – стек-ориентированная. Каждое приложение запускается в своем собственном процессе, со своим собственным экземпляром виртуальной машины. Виртуальная машина Dalvik использует формат DalvikExecutable (*.dex), оптимизированный для минимального использования памяти приложением. Это обеспечивается такими базовыми функциями ядра Linux, как организация поточной обработки и низкоуровневое управление памятью. Байт-код Java, на котором написаны ваши приложения, компилируются в dex-формат при помощи утилиты dx, входящей в состав SDK.
  1.1.5. Уровень ядра Linux
ОС Android основана на ОС Linux версии 2.6, тем самым платформе доступны системные службы ядра, такие как управление памятью и процессами, обеспечение безопасности, работа с сетью и драйверами. Также ядро служит слоем абстракции между аппаратным и программным обеспечением.
1.2. 
Обзор Android Studio
AndroidStudio—это интегрированная среда разработки (IDE) для работы с платформой Android, анонсированная 16 мая 2013 года на конференции Google I/O.
IDE находилась в свободном доступе начиная с версии 0.1, опубликованной в мае 2013, а затем перешла в стадию бета-тестирования, начиная с версии 0.8, которая была выпущена в июне 2014 года. Компания Google выпустила первый стабильный релиз новой интегрированной среды разработки приложений для платформы Android - AndroidStudio, которая пришла на смену плагину ADT для платформы Eclipse. Среда построена на базе исходных текстов продукта IntelliJ IDEA CommunityEdition, развиваемого отечественной компанией JetBrains. AndroidStudio развивается в рамках открытой модели разработки и распространяется под лицензией Apache 2.0.
Бинарные сборки подготовлены для Linux (для тестирования использованUbuntu), OS X и Windows. Среда предоставляет средства для разработки приложений не только для смартфонов и планшетов, но и для носимых устройств на базе AndroidWear, телевизоров (Android TV), очков GoogleGlass и автомобильных информационно-развлекательных систем (AndroidAuto). Для приложений изначально разрабатываемых с использованием Eclipse и ADT Plugin подготовлен инструмент для автоматического импорта существующего проекта в AndroidStudio.

Новая среда разработки адаптирована для выполнения типовых задач, решаемых в процессе разработки приложений для платформы Android. В том числе в среду включены средства для упрощения тестирования программ на совместимость с разными версиями платформы и инструменты для проектирования приложений, работающих на устройствах с различными разрешениями экрана (планшеты, смартфоны, ноутбуки, часы, очки и т.п.). Помимо возможностей, присутствующих в IntelliJ IDEA, в AndroidStudio реализовано несколько дополнительных функций, таких как новая унифицированная подсистема сборки, тестирования и развёртывания приложений, основанная на сборочном инструментарии Gradle и поддерживающая использование средств непрерывной интеграции.

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

2. ТЕХНОЛОГИЯ РАЗРАБОТКИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ
«
2.1. Подготовка среды разработки
Для разработки приложений для ОС Android  требуется установить AndroidStudio..
Установка Android SDK. Инструменты для разработкиAndroid SDK можно загрузить на сайте для разработчиков При установке можно выбрать требующиеся для разработки платформы и элементы SDK.
Установка плагина ADT к AndroidStudio. Плагин ADT дает доступ к инструментам AndroidSDK в среде разработки AndroidStudio. Для установки плагина ADT нужно открыть диалог установки плагина AndroidStudio через меню «Help ? Installnewsoftware» и в поле «Workwith» вписать адрес загрузки плагина «dl-ssl.google.com/android/AndroidStudio/». Далее в таблице ниже отметить пункт «DeveloperTools» и нажать «Next». Плагин также можно загрузить и установить вручную по ссылке: http://developer.android.com/sdk/Android Studio-adt.html.
Установка JDK и JRE. Для разработки требуется среда исполнения JavaRuntimeEnvironment (JRE), комплект разработчика JavaDevelopmentKit (JDK), которые можно загрузить с официального сайта Oracle [12].
Создание виртуального устройства Android.Androidtools включает в себя эмулятор «AndroidVirtualDevice» (AVD). Эмулятор AVD позволяет тестировать приложения на виртуальном мобильном устройстве с ОС Android. Эмулятор позволяет создавать несколько виртуальных устройств с разными конфигурациями. Чтобы создать виртуальное устройство Android необходимо в меню «Window ? Android SDK and AVD Manager» нажать «New», вписать имя виртуального устройства и его характеристики. 
2.2. Требования к мобильному приложению
     Требования к эмулятору задаются при помощи модели вариантов использования [13], построенной на основе унифицированного языка моделирования UML.

Рис. 6. Диаграмма вариантов использования UML
На Рис. 6 приведены варианты использования эмулятора. Далее приводится детальное описание каждого варианта использования. Вариант использования описывается в соответствии со следующей схемой. Во-первых, приводится краткое описание варианта использования и предварительные условия, необходимые для начала его выполнения. Во-вторых, приводится описание основных шагов, составляющих поток событий варианта использования и дальнейших возможных действиях этого варианта использования.
Пользователь представляет собой человека, взаимодействующего с приложением на мобильном устройстве. В этом случае пользователем является преподаватель университета.
Вариант использования «Просмотреть расписание». На экран выводится расписание занятий в виде таблицы. Таблица расписания заполняется данными из базы данных. 
Вариант использования начинается, когда пользователь нажимает на кнопку «Расписание» в главном меню приложения.
Основной поток событий состоит из следующих шагов:
* На форме приложения создается элемент GridView для отображения таблицы
* Элемент GridView связывается с полученным набором данных 
* Выводится таблица расписания.
В таблице расписания строки соответствуют парам с указанием номера пары и времени, а столбцы соответствуют дням недели.
После выполнения этого варианта использования пользователь может взаимодействовать с таблицей путем нажатия на ячейки таблицы. При нажатии на заполненную ячейку выводится информация о занятии, записанном в этой ячейке. При нажатии на пустую ячейку пользователь переходит к варианту использования «Редактировать расписание».
У варианта использования имеется одна точка расширения: «Редактировать расписание».
Вариант использования «Редактировать расписание». Позволяет пользователю добавлять или удалять занятия.
Вариант использования начинается, когда пользователь нажимает на ячейку в таблице расписания.
Основной поток событий состоит из следующих шагов:
* Если ячейка таблицы расписания не пуста, то пользователь может удалить данное занятие из расписания. Если ячейка пустая то создается форма добавления нового занятия, где пользователь может ввести параметры занятия, такие как дисциплина, группа, аудитория.
* Изменения расписания заносятся в базу данных
После выполнения этого варианта использования пользователь вернется к таблице расписания, где увидит отредактированную ячейку и сможет отредактировать другие ячейки расписания.
Вариант использования «Просмотреть группы студентов». Служит для отображения списков групп и студентов, хранящихся в базе данных, а также информацию о них.
Вариант использования начинается, когда пользователь нажимает на кнопку «Группы» в главном меню приложения.
Основной поток событий состоит из следующих шагов:
* Пользователь по нажатию на группы может перейти в каждую из групп и просмотреть список студентов выбранной группы.
После выполнения этого варианта использования пользователь может взаимодействовать со списками студентов и групп и редактировать их.
У варианта использования имеются четыре точки расширения: «Создать группу», «Удалить группу», «Добавить студента», «Удалить студента».
Вариант использования «Создать группу».
Вариант использования начинается, когда пользователь нажимает на кнопку «Создать» на форме со списком групп.
Основной поток событий состоит из следующих шагов:
* Открывается форма добавления новой группы, где пользователь может ввести параметры добавляемой группы, такие как номер, факультет, кафедра. 
* Группа с указанными параметрами добавляется в базу данных приложения.
* После выполнения этого варианта использования пользователь вернется к списку групп, где увидит добавленную группу.
Вариант использования «Удалить группу».
Вариант использования начинается, когда пользователь после выделения группы выбирает пункт «Удалить» в контекстном меню.
Основной поток событий состоит из следующих шагов:
* Выбранная группа и студенты этой группы удаляются из базы данных приложения
* Список групп обновляется.
Вариант использования «Добавить студента».
Вариант использования начинается, когда пользователь нажимает на кнопку «Создать» на форме со списком студентов выбранной группы.
Основной поток событий состоит из следующих шагов:
* Открывается форма добавления нового студента в группу, где пользователь может ввести параметры добавляемого студента, такие как имя, телефон, адрес электронной почты. 
* Студент с указанными параметрами добавляется в базу данных приложения.
* После выполнения этого варианта использования пользователь вернется к списку студентов, где увидит добавленного студента.
Вариант использования «Удалить студента».
Вариант использования начинается, когда пользователь после выделения студента выбирает пункт «Удалить» в контекстном меню.
Основной поток событий состоит из следующих шагов:
* Выбранный студент и все записи о нем удаляются из базы данных приложения
* Список студентов обновляется.
Вариант использования «Просмотреть ведомости успеваемости» и Вариант использования «Просмотреть ведомости посещаемости». В них пользователь может просматривать и редактировать существующие ведомости успеваемости и посещаемости.
Вариант использования начинается, когда пользователь нажимает на кнопку «Ведомости» в главном меню приложения или при нажатии на кнопку «Успеваемость» или «Посещаемость» в форме просмотра информации о занятии в варианте использования «Просмотреть расписание».
Основной поток событий состоит из следующих шагов:
* Пользователь по нажатию на ведомость в списке ведомостей может перейти в каждую из ведомостей
* Для выбранной ведомости на новой форме приложения создаются две таблицы «Успеваемость» и «Посещаемость» с данными, извлекаемыми из базы данных. 
Каждая таблица находится в отдельной вкладке, и пользователь может переключаться между ними. В каждой из таблиц строки соответствуют студентам, а столбцы соответствуют занятиям с указание даты проведения занятия.
После выполнения этого варианта использования пользователь может взаимодействовать с таблицей ведомости путем нажатия на ячейки таблицы. 
У варианта использования имеются две точки расширения: «Заполнить посещаемость», «Выставить оценки».
Вариант использования «Заполнить посещаемость».
Вариант использования начинается, когда пользователь нажимает на ячейку в таблице «Ведомость посещаемости».
Основной поток событий состоит из следующих шагов:
* Отображается диалоговое окно с выбором значения ячейки из двух возможных.
* Пользователь выбирает одно из двух значений, в зависимости от того присутствует или отсутствует студент на занятии.
* Выбранное значение заносится в базу данных и выводится в таблице посещаемости.
Вариант использования «Выставить оценки».
Вариант использования начинается, когда пользователь нажимает на ячейку в таблице «Ведомость успеваемости».
Основной поток событий состоит из следующих шагов:
* Отображается диалоговое окно с выбором значения оценки из нескольких возможных, в зависимости от выбранного типа оценки для занятия.
* Пользователь выбирает одно из значений оценки для студента.
* Выбранное значение заносится в базу данных и выводится в таблице успеваемости.
При выставлении оценки пользователь может использовать для каждого занятия один из типов оценки. Приложение содержит следующие типы оценки: зачет-незачет, пятибалльная система, десятибалльная система, стобалльная система. 
Пользователь может добавить подпись к каждому из занятий, например: «Лекция», «Практика», «Лабораторная работа», «Контрольная работа», 
Вариант использования «Синхронизировать через интернет».
В данном варианте использования пользователь может выбрать дальнейшее действие: импорт или экспорт данных.
Вариант использования начинается, когда пользователь нажимает на кнопку «Синхронизация» в главном меню приложения. 
Синхронизация осуществляется с сервисом GoogleDocs.
У варианта использования имеются три точки расширения: «Импортировать группу студентов», «Экспортировать группу студентов», «Экспортировать расписание».
Вариант использования «Импортировать группу студентов». Пользователь может импортировать группу со студентами из таблицы в сервисе GoogleDocs в базу данных мобильного приложения.
Вариант использования «Экспортировать группу студентов». Пользователь может экспортировать группу со студентами из базы данных мобильного приложения в таблицу в сервисе GoogleDocs.
Вариант использования «Экспортировать расписание». Пользователь может экспортировать таблицу расписания из базы данных мобильного приложения в таблицу в сервисе GoogleDocs.



2.3. Реализация приложения
Программа была реализована на языке Java [8, 14] в среде разработки AndroidStudio с помощью инструментов для разработкиAndroidSDK. Разработка программы производилась на основе изученных методов разработки приложений для ОС Android Разработанный проект содержит файлы с исходным кодом на языке Java , представленные на Рис. 9, и файлы с описанием интерфейса программы на языке XML, представленные на Рис. 10. 

Рис. 9. Файлы с исходным кодом

Рис. 10. Файлы с описанием интерфейса
Каждый файл с исходным кодом содержит реализацию отдельного класса программы. Названия классов соответствуют названиям файлов, в которых они расположены. 
Классы «AddGroup», «AddGrReportTabs», «AddLesson», «AddReport», «AddStudent», «EditGroup», «EditLesson», «EditStudent», «GradeReport», «GradeReportTabs», «Groups», «MainActivity», «Reports», «Students», «TimeTable», «TimeTableTabs» и «ViewStudent» наследуются от базового класса Activity, входящего в комплект средств разработки AndroidSDK, и реализуют формы приложения. В них реализуются алгоритмы взаимодействия пользователя с элементами интерфейса приложения. Вид интерфейса каждой формы описан в соответствующем ей XML файле из файлов, представленных на Рис. 10. 
Классы «DBAdapter», «TimeTableAdapter», «FillAttAdapter», «FillGrAdapter» реализуют адаптеры, которые используются в других классах приложения. Адаптеры являются объектами, которые соединяют элементы интерфейса и данные для этих элементов. Класс «DBAdapter» наследуется от базового класса «SQLiteOpenHelper» и реализует взаимодействие с базой данных приложения, включая инициализацию базы данных, подключение к базе данных, создание таблиц, выполнение запросов к базе данных. Класс «TimeTableAdapter» наследуется от базового класса «BaseAdapter» и реализует наполнение данными таблицы расписания, Класс «FillAttAdapter» наследуется от базового класса «BaseAdapter» и реализует наполнение данными таблицы посещаемости, Класс «FillGrAdapter» наследуется от базового класса «BaseAdapter» и реализует наполнение данными таблицы успеваемости. В реализации классов программы также используется стандартный адаптер «SimpleAdapter» для наполнения списков данными.
Интерфейс разработанной программы представлен в приложении 2.
Запуск и отладка приложения производилась на эмуляторе, входящем в состав комплект средств разработки AndroidSDK, а также на реальном мобильном устройстве Meizum 2notec ОС Android версии 5.Установочный файл приложения и исходный код размещены на сайте в интернете. Загрузить мобильное приложение можно по URL-адресу:https://www.dropbox.com/s/xwmib0cb5ccyeky/%D0%92%D0%B5%D0%B4%D0%BE%D0%BC%D0%BE%D1%81%D1%82%D1%8C%20%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2.apk?dl=0  или используя QR код, представленный на Рис1 Загрузить исходный код программы можно по адресу https://www.dropbox.com/sh/u1avh2bgad9xh64/AAAkeJDV5JN9D9bDHWV1s4zma?dl=0

Рис. 1. QR код для загрузки приложения


2.1. Разработка базы данных
На Рис. 7представлена схема базы данных приложения «Ведомость студентов». Базаданныхсостоитизвосьмитаблиц: «Students», «Groups», «Periods», «Courses»,  «Timetable», «GradeReport», «GTypes», «Reports». 
База данных была реализована на основе встроенной СУБД SQLite. 

Рис. 8. Схема базы данных приложения
2.1.1. Описание таблиц баз данных
Таблица «Students» содержит информацию о студентах: идентификатор студента в БД (student_ID), номер группы (group_ID), ФИО (student_name), телефон (phone), адрес электронной почты (email), и примечания (notes).
Таблица «Groups» содержит информацию о группе: идентификатор группы (group_ID), название группы (group_name), факультет (department), кафедра (subdepartment).
Таблица «Courses» содержит информацию о предметах: идентификатор предмета (course_ID), название предмета (course_name) и примечания (notes).
Таблица «Periods» содержит данные о парах: номер пары (period_ID), время ее начала (time_start), и время ее конца (time_end).
Таблица «Timetable» содержит еженедельное расписание: идентификатор ячейки в расписании (time_ID), номер недели (week), день недели (dow), номер пары (period_ID), предмет (course_ID), группа (group_ID),  аудитория (room). 
Таблица «GTypes» содержит пользовательские типы оценок: идентификатор типа (gradetype_ID), название (type_name), минимальная оценка (min_grade), и максимальная оценка (max_grade).
Таблица «GradeReport» содержит информацию о ведомостях: идентификатор ведомости (gradereport_ID), метка (label), дата (day_date), идентификатор группы (group_ID),  идентификатор предмета (course_ID), идентификатор типа оценки (gradetype_ID).
Таблица «Reports» содержит записи о посещаемости и успеваемости студентов: идентификатор записи (report_ID), идентификатор студента (student_ID), идентификатор ведомости (gradereport_ID), посещаемость  (attendance), оценка (grade).


2.1.2. SQL-запросы
Для создания таблиц базы данных, описанных в разделе 2.4.1, в программе использовались следующие запросы:
CREATE TABLEStudents (
	student_ID integer primary key autoincrement,
	group_IDinteger,
	student_nametext,
	cellphone integer,
	emailtext,
	notes text,
foreign key (group_ID) references Groups (group_ID));
CREATE TABLEGroups (
	group_IDinteger primary keyautoincrement,
	group_name text,
	department text,
	subdepartmenttext);
CREATE TABLETimetable (
	time_IDintegerprimary key,
	weekinteger,
	dowinteger,
	period_IDinteger,
	group_ID integer,
	course_IDinteger,
	room text,
foreign key (group_ID) references Groups (group_ID),
foreign key (period_ID) references Periods (period_ID),
foreign key (course_ID) references Courses (course_ID));
CREATE TABLEPeriods (
	period_IDintegerprimary key,
	time_start text,
	time_endtext);
CREATE TABLECourses (
	course_IDinteger primary keyautoincrement,
	course_name text,
	notestext);
CREATE TABLEGtypes (
	gradetype_IDinteger primary keyautoincrement,
	type_name text,
	min_grade integer,
	max_grade integer);
CREATE TABLEGradeReport (
	gradereport_IDinteger primary keyautoincrement,
	labeltext,
	day_date text,
	group_IDinteger,
	course_ID integer,
	gradetype_ID integer,
foreign key (course_ID) references Courses (course_ID),
foreign key (group_ID) references Groups (group_ID),
foreign key (gradetype_ID) references Gtypes (gradetype_ID));
CREATE TABLEReports (
	report_IDinteger primary keyautoincrement,
	student_IDinteger,
	gradereport_ID integer,
	attendance integer,
	gradeinteger,
foreign key (student_ID) references Students (student_ID),
foreign key (gradereport_ID) references GradeReport (gradereport_ID)
);
2.2. Структура мобильного приложения 
Структура файлов проекта :Основными файлами проекта при разработке являются:
     /res/drawable
Сюда помещаются все графические файлы, используемые в приложении

     /res/layout
В эту папку помещаются файлы, в которых в формате XML описывается внешний вид форм


     /res/values
В этой папке хранятся общие константы для всего приложения

     /main/R.java
Это такой специальный сгенерированный класс, посредством которого осуществляется доступ к ресурсам приложения 

     AndroidManifest.xml
В этом файле перечисляются общие свойства проекта (версия, package и прочее), а также все формы (Activities), входящие в проект.


2.3. Тестирование Приложения 

Для тестирования разработанного приложения были проведены следующие тесты c тестовыми данными, указанными в приложении 1:
1) создание группы
2) удаление группы
3) добавление студентов в группу
4) удаление студента
5) редактирование информации о студенте
6) добавление занятий в расписание
7) удаление занятий из расписания
8) создание ведомости посещаемости и успеваемости для группы
9) проставление оценок и присутствия 
10) просмотр созданных ведомостей посещаемости и успеваемости 
На всех проведенных тестах полученные результаты совпали с ожидаемыми.

Далее представлены тестовые данные, которые будут заноситься в таблицы базы данных при тестировании приложения.
     Табл. 1. Таблица «Группы»
ID группы
Название
Факультет
Кафедра
1
Иб-13


2
Мтс-14


3
Пкс-12



     Табл. 2. Таблица «Студенты»
ID студента
Имя студента
ID группы
Телефон
1
Борисов Егор Михайлович
1
89142232424
2
Протопопова Наташа Гаврильевна
1
89242727494
3
Протопопов Юрий Михайлович
1
89684927942
4
Максимов Николай Николаевич
1
89842338789
5
Седалищев Николай Петрович
1
89142423233
6
Кузьмин АйсенПантелеймонович
2
89142323723

     Табл. 3. Таблица «Предметы»
ID предмета
Название предмета
1
Математика
2
Физика
3
Операционные системы

     Табл. 4. Таблица «Расписание»
Номер недели
День недели 
Номер пары
ID предмета
ID группы
аудитория
1
1
2
1
1

2
1
2
3
1
240
1
3
1
2
1
450
0
2
3
1
1
770

     Табл. 5. Таблица «Ведомость»
ID ведомости
Дата 
ID группы
ID предмета
Тип оценки
1
06-06-2011
1
1
Пятибальн.
2
07-06-2011
1
2
Зачет.

     Табл. 6. Таблица «Записи ведомости»
ID студента
ID ведомости
Посещение
Оценка
1
1
1
5
2
1
1
4
3
1
0
-
4
1
1
5
5
1
0
-
1
2
1
1
2
2
1
1
3
2
1
0
4
2
1
0
5
2
1
1


Выводы к главе 2
     Во второй главе описан процесс технологии создания мо.......................
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену Каталог работ

Похожие работы:

Отзывы

Очень удобно то, что делают все "под ключ". Это лучшие репетиторы, которые помогут во всех учебных вопросах.

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Онлайн-оплата услуг

Наша Компания принимает платежи через Сбербанк Онлайн и терминалы моментальной оплаты (Элекснет, ОСМП и любые другие). Пункт меню терминалов «Электронная коммерция» подпункты: Яндекс-Деньги, Киви, WebMoney. Это самый оперативный способ совершения платежей. Срок зачисления платежей от 5 до 15 минут.

Сотрудничество с компаниями-партнерами

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