Разработка модулей информационных автоматизированных систем по управлению стадом крупного рогатого скота на малых формах

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.12.2019
Размер файла 6,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Аннотация

Целью данный работы является исследование особенностей управления стадом крупного рогатого скота (КРС) на малых фермах, проектирование и разработка прикладного программного обеспечения для конечных пользователей на платформе Android, которое предоставляет возможность управления КРС на малых фермах.

Было разработано современное, адаптивное и оптимизированное android-приложение, которое разделено на отдельные разделы для более комфортного и эффективного взаимодействия с пользователем.

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

Выпускная квалификационная работа состоит из 69 страниц, 21 иллюстрацию, 5 таблиц и имеет в себе 25 ссылок на источники.

Annotation

The purpose of this work is to study the features of cattle herd management on small farms, designing and developing application software for end users on the Android platform, which provides the ability to manage cattle on small farms.

A modern, adaptive and optimized android application has been developed, which is divided into separate sections for more comfortable and efficient user interaction.

The purpose of using the developed application is to work with the yields and monitor the status of all the cows in the farm.

The graduation paper consists of 69 pages, 21 illustrations, 5 tables and has 25 references to sources.

  • Оглавление
  • 1. Аналитическая часть
  • 1.1 Тема работы
  • 1.2 Назначение системы
  • 1.3 Цели и задачи работы
  • 1.4 Актуальность и новизна
  • 1.5 Предметная область
  • 1.6 Анализ существующих технических решений объекта разработки
  • 1.7 Сформулированные ключевые показатели эффективности
  • 1.8 Требования к инструментальным и программным средствам, использованных для выполнения работы
  • 2. Исследовательская часть
  • 2.1 Основные части android-приложения
  • 2.2 Основные этапы разработки современного android-приложения
  • 2.2.1 Бизнес-анализ целевого рынка
  • 2.2.2 Составление согласованного технического задания
  • 2.2.3 Разработка прототипа будущего приложения
  • 2.2.4 Анализ технологий разработки приложений
  • 2.2.5 Разработка архитектуры приложения
  • 2.2.6 Модульное, интеграционное и системное тестирование
  • 2.2.7 Создание предрелизной версии
  • 2.3 Карты экранов
  • 2.4 Архитектура приложения
  • 2.5 Фрагменты приложения
  • 3. Практическая часть
  • 3.1 Разработанные разделы приложения
  • 3.2 Скорость выполнения задач пользователя
  • 3.3 Обработка ошибок
  • 3.4 Анализ использования оперативной памяти
  • 3.5 Анализ использования постоянной памяти
  • 3.6 Нагрузка на сеть интернет
  • 3.7 Дальнейшее развитие системы
  • Заключение
  • Список литературы
  • Приложение

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

приложение программный android технический

1.1 Тема работы

Темой данный работы является «Разработка модулей ИАС по управлению стадом крупного рогатого скота на малых фермах» (Development of IAS Modules for Managing Cattle Herd on Small Farms).

1.2 Назначение системы

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

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

1) получение и отображении сводной информации о ферме;

2) получение и отображение информации о всех животных определённой категории выбранной фермы;

3) получение и отображение информации об удоях за выбранную дату и период дня;

4) выбор даты и периода дня просмотра информации о надоях.

1.3 Цели и задачи работы

Целями данной работы являются:

1) исследование особенностей управления стадом крупного рогатого скота на малых фермах;

2) проектирование и разработка прикладного программного обеспечения для конечных пользователей на платформе Android.

3)

1.4 Актуальность и новизна

На сегодняшний день молочные фермы не способны удовлетворить 100% потребности населения Российской Федерации молочной продукцией. По последним официальным данным Росстата на начало 2018 года было произведено 24583 тысяч тонн, что составляет 81% от общего потребления молока. Недостающие 19% молочной продукции являются импортом из других стран, таких как Республика Беларусь, Казахстан и другие. Данная информация отражена в таблице 1 [1], (Федеральная служба государственной статистики)

Таблица 1

Ресурсы и использование молока и молокопродуктов по Российской Федерации

2017, в тыс. тонн

январь -сентябрь 2018, в тыс. тонн

январь -сентябрь 2018 в % к январю - сентябрю 2017

в % к ресурсам

январь - сентябрь 2017

январь -сентябрь 2018

Запасы на начало года

1746

1639

93,9

5,7

5,4

Производство

30164

24583

101,1

78,8

80,9

Импорт

7129

4150

87,8

15,5

13,7

Итого ресурсов

39039

30372

98,7

100,0

100,0

Графическое отображение соотношения произведённой и импортированной молочной продукции на начало 2018 года изображено на рис.1.

Рис. 1 Процентное соотношение производства и импорта молочной продукции в Российской Федерации

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

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

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

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

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

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

1.5 Предметная область

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

В химический состав молока входит такие витамины, как A, B1, B2, B12, D и E. В продукте также присутствуют кальций, магний, калий и фосфор.

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

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

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

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

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

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

1) коров - более 500 миллионов;

2) буйволиц - около 100 миллионов;

3) коз - около 18 миллионов;

4) овец - 10 миллионов.

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

Существуют три главных процесса на малых и больших фермах:

1) кормление;

2) отслеживание показаний здоровья;

3) доение.

Питание.

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

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

При составлении норм кормления следует учитывать физиологическое состояние животного. Так для стельных коров рекомендуется увеличить нормы на 10-15%. Для высокопродуктивных первотелок следует увеличить нормы на удой выше фактического на 5 килограмм.

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

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

Отслеживание показаний здоровья.

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

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

Доение.

Доение - сложный процесс на фермах [5]. Чтобы увеличить надой на 5-10 процентов, необходимо использовать правильную технику доения. Во время доения корова должна быть спокойна и не ощущать дискомфорт. Существует два вида доения: ручное и автоматическое (машинное). Если на ферме мало коров, целесообразно применять ручное доение. Если же коров больше десяти - возможно применение машинного доения. В основном доение происходит два-три раза в сутки. Возможно доение белее трёх раз, если корова отличается повышенной молочностью. Если среднестатистическую корову доить более 3 раз в сутки, возможна ситуация, когда корова станет давать меньше молока. Наибольшее количество молока, которое можно получить с коровы, по статистике бывает в период с третьей по восьмую лактацию.

1.6 Анализ существующих технических решений объекта разработки

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

Рассмотрим существующие статьи на данную тему.

В работе [8] описывается ряд ключевых показателей эффективности, чтобы помочь азиатским фермерам выявить возможные причины плохой производительности и низкой прибыли. Автор предлагает поделить показатели на два типа:

1) показатели, выявляющие проблемы с процессом кормления;

2) показатели, указывающие на плохое управление стадом.

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

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

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

2) необходимо обучать и мотивировать своих сотрудников внедрять рабочие системы;

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

По словам автора, многие руководители малых ферм пытаются мотивировать своих работников принципом «просто сделай это». Но, когда работники и менеджеры становятся отстранёнными от дела, появляется необходимость применения иных методов обучения и мотивации сотрудников.

Существует иной принцип управления малыми фермами - мониторинг работников и рабочих систем. Это наиболее сложный для адаптирования к современному управлению молочным бизнесом. Исторически сложилась ситуация, когда большинство малых молочных ферм накапливают огромное количество записей о работе системы в целом. Лишь малая часть этой информации подлежит анализу со стороны управляющего персонала с целью автоматизации определённых частей работы фермы. Например, следующие параметры отслеживаются, но не участвуют в контроле рабочей системы или работников:

1) коэффициент выявления жары;

2) коэффициент зачатия;

3) коэффициент беременности;

4) процент беременности;

5) интервал отела;

6) количество открытых дней;

7) процент стада беременных;

8) количество дней в молоке и др.

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

Чтобы информация была полезной как для владельцев малой фермы, так и для её работников, она должна пройти четыре этапа:

1) сбор;

2) анализ;

3) интерпретация;

4) использование в управленческих действиях.

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

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

Второй этап является «лёгким шагом» в процессе обработки информации. Данный этап предполагает преобразование полученных на первом этапе данных в специальный формат для выполнения третьего этапа. Например, результаты общего содержания белка у новорожденных телят могут быть оптимальными данными для правильной интерпретации данных о том, правильно ли кормят молозивом. Но чтобы получить эту информацию, менеджер молочной фермы должен не только принять решение о сборе и обработке образцов крови у телят, он должен сделать расчеты или разработать электронную таблицу для представления данных для интерпретации. Интерпретация данных происходит, когда руководители обсуждают работу и работников на основании собранных упорядоченных данных. Интерпретация работы и работников невозможна без стандартов, поэтому стандарты являются целями, установленными менеджерами молочной промышленности, и являются ожидаемыми результатами, когда работа организована должным образом и рабочие выполняют работу эффективно. Например, данные, обработанные из роддома, показывающие, что 90% всех телят имеют общие показатели белка выше 5.0, означают мало, но, когда цель «программы доставки молозива» состоит в том, чтобы более 95% всех телят получили оценку более 5.0, данные можно легко интерпретировать. Ключом к результативной интерпретации данных является представление «результатов» рядом с «целями».

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

1) небольшое количество стратегических измерений;

2) аккумулированы из каждой области производства продукции малой фермы;

3) отображает общую производительность.

4) могут быть измерены и проконтролированы достаточно часто (например, ежедневно).

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

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

Затем после выполнения поставленных задач собираются данные и выбирается ключевой показатель. Далее этот показатель сравнивается со стандартами как можно чаще (например, ежедневно, ежечасно и т.д.). Ключевые показатели, которые определяются владельцем или менеджером, - это цифры, которые максимально отражают усилия работников. Например, общие значения белка у однодневных телят могут превышать 5.0 при необходимых объемах высококачественного молозива, скармливаемых вскоре после рождения. Если «система доставки молозива» правильно сформирована, но всё равно отслеживается низкое значение белка, значит, что работники не соблюдают правила кормления. В этом случае можно установить цель для работников, чтобы 95% всех протестированных телят имели общий уровень белка свыше 5.0. Эта мотивация положительно скажется на уровне ухода за новорождёнными телятами.

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

В доказательство своих слов автор приводит пример молочных ферм в юго-западной части США, в которой применили концепцию ключевых показателей эффективности для определения количества случаев непроизвольного отбраковывания животных из-за несоответствия параметрам. На рис.2. отображено графическое изображение количества коров, отбракованных по дням, с 1 мая 2002 года по 30 сентября 2002 года.

Рис. 2 Графическое изображение количества коров, отбракованных по дням, с 1 мая 2002 года по 30 сентября 2002 года

Менеджер выявил возможность уменьшить количество коров, покидающих место выпаса в течение первых 60 дней в молоке. Все коровы, уходящие в первые 60 дней, являются непроизвольно отбракованными. 24,8% (17,6 + 7,2) от общего количества отобранных коров покинули стадо на 60 дней. (Это составляет 4,8% поголовья стада).

Анализ записей выявил четыре проблемные области: здоровье матки, мастит, проблемы с пищеварением и потеря из-за травмы.

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

Результаты коров, отбракованных по дням в молоке в период с 1 мая 2003 года по 30 сентября 2003 года, показаны на рис. 3.

Рис. 3 Результаты коров, отбракованных по дням в молоке в период с 1 мая 2003 года по 30 сентября 2003 года

В результате были получены следующие изменения:

1) процент коров, отбракованных в течение первых 60 дней в молоке, снизился с 4,8% до 2,1%;

2) процент отбракованных коров снизился с 24,8% до 13,2%;

3) количество отбракованных коров уменьшилось со 153 до 69;

4) выживание этих дополнительных коров привело к значительному возврату минимальных инвестиций. (83 выживших * сумму 1500 долларов США за корову = 124 500 долларов США.)

В конце статьи автор приводит краткие итоги:

1) начинать управление молочным бизнесом нужно с организации отделов;

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

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

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

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

6) Также, автор даёт некоторое описание KPI:

a. Основное использование KPI - измерение производительности труда;

b. KPI не является идеальным измерением и должны интерпретироваться как люди влияют на животное;

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

1.6 Сформулированные ключевые показатели эффективности

Ключевые показатели эффективности (Key Performance Indicators) [10] - специальные показатели деятельности предприятия, которые помогают контролировать выбранную стратегию ведения бизнеса и позволяют сравнивать полученные в определённый период деятельности результаты с планируемыми.

В работе выделяются следующие показатели эффективности (KPI):

1) количество коров разных статусов;

2) удой всех животных определённой фермы за последние сутки;

3) изменение удоя за последние и предыдущие сутки всех животных;

4) количество охот и отелов;

5) среднесуточный удой определённой коровы;

6) надой определённой коровы за определённый день;

7) количество убытков фермы;

8) количество угроз каждого типа;

9) количество сообщений каждого работника.

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

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

Приложение должно быть мобильным для платформы Android [11]. Входные данные приложения должны быть организованы на стороне сервера и получены приложением через сеть интернет в виде отдельных json -файлов.

Приложение должно быть обязательно совместимо с операционной системой Android 5.0 Lollipop (API21) и выше.

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

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

1) процессор с не менее 4 вычислительными ядрами и тактовой частотой не ниже 1 ГГц;

2) объём ОЗУ не менее 2 Гб;

3) экран с разрешением не ниже HD и размером не менее 4,5 дюйма.

4) внутреннее хранилище не менее 2 Гб;

5) наличие wi-fi или радио модуля.

2. Исследовательская часть

2.1 Основные части android-приложения

Современное android-приложение - это программа, написанная на байт-коде, предназначена для выполнения в виртуальной машине Dalvik или для более современной - android runtime.

Любое android-приложение состоит из:

1) java или kotlin классов;

2) манифеста приложений;

3) ресурсов приложения;

4) вспомогательных файлов.

Java или kotlin классы

На рис. 4 изображена иерархия основных классов, необходимых для корректной разработки мобильных приложений, которые будет использовать разработчик. Жёлтым изображены классы, от которых разработчик будет наследовать свои собственные классы.

Рис. 4 Иерархия основных классов android-приложения

View класс [12] является базовым классом, который входит в android sdk ещё с версии 1, разработанный компанией Google. View элемент представляет собой прямоугольный блок на экране приложения, который предназначен для отображения какой-либо графической или текстовой информации или взаимодействия с пользователем.

Activity класс [13] является базовым классом, который также входит в android sdk с версии 1. Активность - составная часть почти всех андроид-приложений, которая является неким экраном, в котором расположены view элементы и заложена определённая логика работы приложения. Возможен переход между экранами приложения, при чём при каждом таком переходе сохраняется состояние предыдущего экрана в специальный стек экранов. Activity может быть в одном из трёх состояний:

1) активно (этот экран находится на переднем плане);

2) приостановлено (этот экран потерял фокус, но всё ещё отображается);

3) завершено (пользовательский экран потерял фокус и уже не отображается).

Fragment [14] - некий аналог activity, который тоже выполняет функцию отображения информации или взаимодействия с пользователем. Ключевая особенность данного элемента, из-за которого он используется почти во всех приложениях, - в одну активность можно встроить несколько фрагментов. Причиной, по которой фрагменты стали настолько распространёнными, является тот факт, что андроид устройства сильно отличаются друг от друга по размеру экрана, поэтому необходима гибкость при разработке приложений.

Сontent provider [15] - специально разработанная оболочка, в которую заключены данные.

Все созданные приложениями базы данных предоставляют доступ только приложению, которое её создало. Если необходимо предоставить доступ к данным какой-то определённой базе данных двум и более приложениям, то контент-провайдер предоставляет такую возможность. На рис. 5 изображена общая схема такого компонента.

Рис. 5 Схема компонента «Content Provider»

Intent [16]. Во всех android-приложениях некоторые операции работают через intent. Intent - это механизм, который описывает определённую операцию, которую необходимо выполнить. В основном intent используется для вызова другой активности (явный и неявный вызов), а также для передачи уведомления, что в приложении произошло какое-то событие. Ещё одним применением intent является рассылка широковещательных сообщений по системе. С помощью данного механизма приложение может реагировать на большинство системных широковещательных сообщений, таких как:

1) изменение состояния сетевого подключения;

2) изменение уровня яркости экрана;

3) изменения уровня зарядки аккумулятора;

4) изменение статуса bluetooth соединения и др.

Broadcast receiver [17] - один из компонентов, включённых в android sdk 1 версии, который отвечает за получение внешних широковещательных сообщений, отправленных с помощью компонента intent, который описан выше, и выполнения определённых действий при их получении.

Service [18] - специально разработанный стандартный класс, который является аналогом фонового процесса, однако не привязан к определённый активности, а является самостоятельным процессом, который при завершении родительской активности может продолжить выполнение задач. Сервисы работают в фоне и, как правило, выполняют следующие действия: сетевые запросы, обработка информации, запуск уведомлений, работа с данными, хранящимися в локальной базе данных и др.

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

Манифеста приложений

Манифест андроид [19] - ещё одна очень важная часть всего приложения, которая выполнена в виде xml-файла и выполняет несколько функций, определённых компанией Google:

1) определяет уникальный идентификатор приложения - имя пакета;

2) содержит описание ключевых компонентов приложения: активность, сервисы, броадкаст-ресиверы, контент-провайдеры;

3) определяет разрешения, по которым приложение будет иметь доступ к защищённым частям API;

4) определяет следующие параметры приложения: иконку, название, глобальную тему, поддержку отображения информации справа налево (необходимо для некоторых стран, например, для ОАЭ), поддержку режима разделённого окна.

Ресурсы приложения

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

Все эти ресурсы приложение может использовать в любом месте кода через специально генерируемый файл R.java. Этот файл содержит в себе список наборов «название-ссылка» на определённый ресурс.

2.2 Основные этапы разработки современного android-приложения

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

1) бизнес-анализ целевого рынка;

2) составление согласованного технического задания;

3) разработка прототипа будущего приложения;

4) анализ технологий разработки приложений;

5) разработка архитектуры приложения;

6) модульное, интеграционное и системное тестирование;

7) исправление выявленных недочётов при тестировании;

8) создание предрелизной версии;

9) добавление финальной версии разработанного приложения в магазин приложений.

2.2.1 Бизнес-анализ целевого рынка

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

1) какие цели преследуются при создании нового приложения;

2) есть ли приложения конкуренты;

3) ключевые особенности разрабатываемого приложения;

4) целевая аудитория;

5) определить бюджет разработки и поддержки готового программного продукта.

2.2.2 Составление согласованного технического задания

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

2.2.3 Разработка прототипа будущего приложения

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

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

2.2.4 Анализ технологий разработки приложений

В результате выполнения выпускной квалификационной работы будет разработано мобильное приложение для операционной системы Android. Программный код будет написан в IDE Android Studio на языке программирования Kotlin.

Android.

23 сентября 2009 года была представлена первая версия операционной системы Android [6]. На тот момент она была малоизвестна, но уже тогда имела потенциал развиться в крупнейшую мобильную операционную систему. На сегодняшний день выпущена уже Android 9.0 pie, которая может быть установлена на таких устройствах, как: смартфоны, планшеты, умные телевизоры, носимая электроника, электронные книги, автомобили, ноутбуку и др.

Более двух миллиардов устройств по всему миру работает на разных версия этой операционной системы, начиная от android 5.0 lollipop, заканчивая новой бета-версии android Q.

Система Android получила свою огромную популярность за счёт следующих факторов:

1) существенное количество типов устройств, на которых возможна работа системы;

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

3) бесплатная политика распространения системы;

4) постоянная оптимизация, развитие и улучшение безопасности системы.

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

IDE.

Для создания android-приложений существует некоторое количество IDE (Integrated Development Environment): Android Studio, Intellij Idea, Eclipse, Xamarin.Studio и др.

Самой популярной и лучшей средой разработки android-приложений, которая была выбрана для данный работы, является Android Studio [21] по следующим причинам:

1) официальная поддержка IDE от компании-разработчика Android - Google;

2) быстрая и стабильная IDE;

3) колоссальная поддержка сообщества;

4) постоянное развитие IDE;

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

Kotlin.

Представленный в 2011 году, язык программирования Kotlin сразу объектом повышенного внимания среди мобильных разработчиков [7]. Среди достоинств данного языка есть типобезопасность, простота, быстрая компиляция, поддержка JVM, официальная поддержка компании Google с мая 2017 года.

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

2.2.5 Разработка архитектуры приложения

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

Рассмотрим подробнее работу приложения.

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

2.2.6 Модульное, интеграционное и системное тестирование

Следующим после стадии написания кода программного продукта следует тестирование. Основными видами тестирования являются модульное, интеграционное и системное тестирование.

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

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

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

2.2.7 Создание предрелизной версии

После того, как программный продукт создан и проведены все необходимые виды тестирований, необходимо сформировать специальный файл или несколько файлов, которые являются установщиками разработанного приложения на устройства заказчика. В случае android-разработки - apk-файл. Android Studio может автоматизировано сформировать такой файл на вкладке «Generate signed apk».

2.3 Карты экранов

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

Разработанная карта экранов изображена на рис. 6.

Рис. 6 Карта экранов

Первый раздел, который увидит пользователь при запуске приложения, - «Авторизация пользователя». В этом разделе присутствуют две кнопки: «Зарегистрироваться» и «Забыли пароль?». Нажатие первой кнопки открывает пользователю новый раздел «регистрация нового пользователя», а вторая - «Восстановление пароля». Также реализован механизм автоматической авторизации пользователя, если в специальном файле во внутренней памяти устройства «login_password.xml» есть информация о сохранённом логине и пароле пользователя.

После того, как пользователь авторизовался, приложение отображает следующий раздел - «Список ферм пользователя». Пользователь может выбрать одну из предложенных ферм или перейти в раздел «Создание и редактирование информации о ферме». Также присутствует механизм автоматического выбора ферм, если в специальном файле во внутренней памяти устройства «login_password.xml» есть информация о выбранной ферме.

Когда пользователь выбрал нужную ферму, приложение отображает «Главный раздел», который содержит в себе пять других разделов: «Сводка по ферме», «Список животных», «Надой животных фермы», «события», «Главное меню приложения».

Пользователь может переключаться между этими пятью разделами свайпами слева-направо или справа-налево, а также по клику в нижнем баре по соответствующему значку. По умолчанию, отображается первый раздел - «Сводка по ферме».

Из раздела «Сводка по ферме» пользователь может попасть в раздел «Групповой ввод удоя» по клику на одно из четырёх полей: утреннее, дневное, вечернее, дополнительное.

Из раздела «Список животных» пользователь может попасть в один из трёх разделов: «Список архивных животных», «Создание и редактирование информации о животном» и «Карточка животного».

Из раздела «Список архивных животных» по клику на элемент списка пользователь может попасть в раздел «Карточка животного».

Из раздела «Карточка животного» пользователь может попасть в один из шести разделов - «Создание и редактирование информации о животном», «Ввод удоя животного», «Создание и редактирование информации об охоте животного», «Создание и редактирование информации об отелах животного», «Создание и редактировании информации о группе животного» и «История смена статуса животного».

Из раздела «Ввод удоя животного» пользователь по клику на ячейку календаря нужного дня может попасть в раздел «Журнал ввода удоя животного».

Из раздела «События» пользователь может попасть в один из двух разделов: по клику на сектор внешнего круга - «Список типовых угроз», по клику на центральный круг - «Убытки».

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

Из раздела «Сообщения пользователя» пользователь по клику по элементу списка может попасть в раздел «Просмотр информации о событии».

Из последнего из пяти главных разделов «Главное меню приложения» пользователь может попасть в один из четырёх разделов:

1) при клике на кнопку «Пользователь» - в раздел «Смена пароля»;

2) при клике на кнопку «Справка» - в раздел «Справка приложения»;

3) при клике на кнопку «Список организаций. Выбрано» - в раздел «Список ферм пользователя»;

4) при клике на кнопку «О программе» - в раздел «О приложении»;

Из раздела «Список ферм пользователя» по клику на картинку «подробнее» пользователь может попасть в раздел «Создание и редактирование информации о ферме».

Последней возможностью в разделе «Главное меню приложения» является переход пользователя в раздел «Авторизация пользователя» по клику на кнопку «Выйти из учётной записи».

2.4 Архитектура приложения

Архитектура приложения является «клиент-серверная». Клиент-серверная архитектура [22] - набор правил взаимодействия между двумя и более программным обеспечением, один из которых является поставщиками услуг, а все остальные - заказчиками услуг. Соответственно, поставщики услуг называются серверы, а заказчики услуг - клиентами. Общение между клиентом и сервером обычно происходит через вычислительную сеть, обычно через сеть интернет. Программы-клиенты посылают запросы, а программы-серверы, получив такие запросы, обрабатывают их и выполняют определённый действия, такие как сохранение новых данных, обработка существующих данных, отправку существующих данных программе-клиенту, а также удаление данных.

У такой архитектуры есть следующие достоинства:

1) все данные хранятся на сервере, где организовать безопасность намного легче, чем на клиентах;

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

3) большинство ресурсозатратных вычислений выполняются на сервере, поэтому требования к устройствам-клиентам снижаются.

Как и достоинства у данной архитектуры существуют недостатки:

1) неработоспособный сервер означает неработоспособная вся система в целом;

2) требуются дополнительные специалисты в этой области;

3) высокая стоимость оборудования.

Основным элементов в архитектуре разработанного приложения-клиента является класс приложения «AgrobiodataApp.kt». Этот класс содержит параметры, необходимые для работы всех других разделом, а также для постоянного доступа к ним.

Следующими важными элементами приложения является классы активности. Всего реализовано пять активности, которые выполняют каждая свою задачу:

1) раздел «Логин» (LoginActivity), отвечает за авторизацию пользователя и получение специального ключа авторизации - token. С помощью этого ключа происходит выполнение всех действий пользователя. Token формируется на стороне сервера и обновляется раз в день. Также присутствует возможность сохранение связки введённого логина и пароля во внутренней памяти устройства для дальнейшего автоматической авторизации пользователя без необходимости ручного ввода;

2) раздел «О приложении» (AboutActivity), отвечает за отображение авторизованному пользователю информации об приложении:

a. логотип приложения;

b. версия и дата сборки приложения;

c. правообладатель приложения;

d. пользовательское соглашение;

e. обратная связь с разработчиком.

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

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

5) раздел «Главный раздел» (TrioFragmentHolder), является важным разделом, который содержит в своём составе 5 других разделов разной функциональности.

Все остальные разделы реализованы в виде отдельных фрагментов, встроенных в вышеописанные активности. Список разделов, реализованных в приложении:

1) «Создание и редактировании информации о группе животного» (AddModCowGroupFragment);

2) «Создание и редактировании информации о животном» (AddModifyCowFragment);

3) «Создание и редактировании информации об охоте животного» (AddModifyHuntFragment);

4) «Создание и редактировании информации об отелах животного» (AddModifyOtelFragment);

5) «Карточка животного» (AnimalCardFragment);

6) «Список животных» (AnimalsFragment);

7) «Список архивированных коров» (ArchivedCowsFragment);

8) «Смена пароля пользователя» (ChangePasswordFragment);

9) «История смена статуса животного» (ChangeStatusHistoryFragment);

10) «Выбор группы животного» (ChooseGroupFragment);

11) «События» (CircleCategoryFragment);

12) «Список работников» (EmployeeFragment);

13) «Групповой ввод удоя животных» (GroupedInputMilkFragment);

14) «Ввод удоя животного» (InputMultipleMilkFragment);

15) «Журнал ввода удоя животного» (InputMultipleMilkJournalFragment);

16) «Авторизация пользователя» (LoginFragment);

17) «Список ферм пользователя» (LogOrganizationsListFragment);

18) «Убытки фермы» (LossesFragment);

19) «Главное меню приложения» (MainMenuFragment);

20) «Сообщения пользователя» (MessageFragment);

21) «Создание и редактирование информации о ферме» (ModDelOrganizationFragment);

22) «Восстановление пароля» (RecoverPasswordFragment);

23) «Справка приложения» (ReferenceFragment);

24) «Регистрация нового пользователя» (RegisterFragment);

25) «Сводка по ферме» (SummaryFragment);

26) «Надой животных фермы» (TotalYieldFragment);

27) «Главный раздел» (TrioFragmentHolder);

28) «Список типовых угроз» (TypeFragment);

29) «Пользовательское соглашение» (UserAgreementFragment);

30) «Дополнительное меню» (UserMenuFragment);

31) «Просмотр информации о событии» (ViewEventFragment).

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

1) раздел «Константы» (Constants) - является хранилищем переменных, которые являются константами. Эти константы используются в большинстве разделов;

2) раздел «Работа с сервером» (Http_connection) - является разделом, задачей которого является формирование запроса, передачи данных на удалённый сервер, а также получение ответных данных и передача их в соответствующий раздел для дальнейшей обработки;

3) раздел «База данных словарей» (DictionaryDB) - раздел, который формирует и поддерживает работу локальной базы данных, в которой хранится информация о породах коров, их статусе, временных зонах, типе удоя и другие;

4) раздел «Парсинг данных» (ParseTasks) - раздел, который преобразовывает полученные от удалённого сервера данные в формат, необходимый для определённого раздела;

5) раздел «Вспомогательные функции» (SubsidiaryUtils) - раздел, в котором собраны все функции для обработки строковой, числовой и иной информации;

6) раздел «Работа с сохранёнными данными» (PreferenceHelper) - раздел для чтения, записи и обработки параметров логина, пароля и выбранной фермы. Эти данные необходимы для автоматической авторизации пользователя.

Графическое представление архитектуры приложения изображено на рис.5.

Рис. 7 Архитектура android-приложения

2.5 Фрагменты приложения

Раздел «Создание и редактировании информации о группе животного»

Данный раздел предназначен для создания или изменения существующей группы у животного. Всем животным может быть присвоена одна или несколько идентификационных групп, по которым можно определить животное. В приложении группы имеют название и цвет. Группы отображаются в карточке животного, а также в разделе «список животных». Цвет группы может быть одним из следующих: ff3823, 0c59cf, 029c48, ffa834, 40bcf0, 7e2199, a88df7, bb5430, 18e4a5, ffd603, 000000.

После того, как пользователь выбрал название и текст группы, приложение проверяет правильность названия и вызывает удалённый POST метод «/v_grp» на сервере, в который передаёт сформированный JSON-файл:

{

"org_id":"12",

"grp_name":"GroupName",

"color":"#0c59cf"

}

Если всё сформировано верно, сервер вернёт статус 204, который означает, что группа создана.

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

Раздел «Создание и редактировании информации о животном»

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


Подобные документы

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.

    дипломная работа [2,1 M], добавлен 18.01.2016

  • Методы разработки автоматизированных систем. Характеристика языка программирования Delphi и операционной системы Windows. Назначение и область применение, принцип действия идентификаторов. Этапы разработки программного продукта, требования к нему.

    курсовая работа [903,9 K], добавлен 14.02.2015

  • Обзор существующих популярных программ для просмотра погоды на ОС Android. Операционные системы современных смартфонов. Ключевые особенности Android, технология Java. Разработка программной части, выбор языка, описание алгоритма, ее логической структуры.

    курсовая работа [911,5 K], добавлен 16.04.2014

  • Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.

    дипломная работа [1,0 M], добавлен 11.07.2014

  • Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.

    курсовая работа [1,0 M], добавлен 15.11.2012

  • Мобильные операционные системы. Основные характеристики систем iOS и Android, их достоинства, недостатки и индивидуальные возможности. Анализ преимуществ лидирующих мобильных платформ для разработки приложения. Основные различия в механизмах безопасности.

    дипломная работа [806,5 K], добавлен 01.01.2018

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

    курсовая работа [987,1 K], добавлен 27.06.2019

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

    курсовая работа [650,9 K], добавлен 27.02.2013

  • Создание и организация автоматизированных информационных систем (АИС). Основные компоненты и технологические процессы АИС. Стадии и этапы создания АИС с позиции руководства организации. Разработка комплексов проектных решений автоматизированной системы.

    реферат [286,6 K], добавлен 18.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.