Таблица 3
Время отображения разделов
|
Название раздела |
Время выполнения, мс |
|
|
TrioFragmentHolder |
677 |
|
|
AnimalCardFragment |
263 |
|
|
AddModCowGroupFragment |
542 |
|
|
AddModifyCowFragment |
245 |
|
|
AddModifyHuntFragment |
165 |
|
|
AddModifyOtelFragment |
160 |
|
|
TypeFragment |
98 |
|
|
UserAgreementFragment |
56 |
|
|
MessageFragment |
93 |
|
|
LossesFragment |
185 |
|
|
InputMultipleMilkFragment |
348 |
|
|
InputMultipleMilkJournalFragment |
283 |
|
|
EmployeeFragment |
10 |
|
|
GroupedInputMilkFragment |
169 |
На основании данных из вышеприведённой таблицы можно сделать следующие выводы:
1) больше всего времени, а именно 677 миллисекунд, приложению требуется для загрузки данных с удалённого сервера, обработки их и отображению в разделе «TrioFragmentHolder», так как этот раздел содержит в себе пять других разделов, для которых необходимо загрузить много информации;
2) меньшего всего времени, 10 миллисекунд, приложение затрачивает при отображении раздела «EmployeeFragment», так как в этом разделе отображается один список с работниками текущей выбранной фермы;
3) в среднем приложение расходует 236 миллисекунд времени на отображение любого реализованного раздела;
4) 0,3 секунды времени на выполнение каждой поставленной задачи означает, что быстродействие приложения находится на очень высоком уровне, а значит пользование приложением не доставит никаких неудобств будущим пользователям.
На рисунке 38 представлена информация о времени отображения разделов в процентном соотношении в виде круговой диаграммы.
Рис. 18 Время отображения разделов в процентах
3.3 Обработка ошибок
Во время работы программного продукта могут возникать ошибки, вызванные следующими факторами:
1) ошибка в работе сети;
2) сервер передал неправильные данные;
3) пользователь ввёл некорректные данные;
4) внутренние ошибки работы приложения.
Если в процессе отображения какого-либо раздела android-устройство теряет связь с сетью интернет, приложение отображает пользователю специально разработанный диалог, в котором уведомляет пользователя, что «нет соединения с сервером» и просит «проверить своё соединение и повторить попытку позже» (рис. 39). В этом диалоговом окне пользователь имеет два варианта действия:
1) выйти из приложения и перезайти через некоторое время;
2) если проблемы с интернет соединением были решены, попробовать повторить выполнение текущей задачи.
Рис. 19 Диалог с ошибкой
Если пользователь ввёл некорректные данные, то приложение уведомит специальной всплывающей подсказкой или диалоговым окном с соответствующим сообщением (рис. 40, 41).
Рис. 20 Всплывающая подсказка об ошибке
Рис. 21 Диалог с ошибкой
3.3 Анализ использования оперативной памяти
Оперативная память [24] - сверхбыстрая память, которая служит хранилищем временных данных, которые обрабатываются центральным процессором. В современных устройствах под управлением операционной системы Android оперативная память исчисляется в гигабайтах. В среднестатистическом android-смартфоне в настоящее время установлено от двух до десяти гигабайт, в среднем - четыре.
Современные android-приложения в среднем занимают от ста до четырёхсот мегабайт, поэтому особой нужны в экономии каждого мегабайта оперативной памяти нет. Но, чем больше занимает программное обеспечение оперативной памяти, тем дольше оно запускается и выгружается из памяти, следовательно, не стоит оставлять этот аспект разработки приложений без внимания.
Рассмотрим, сколько занимает приложение оперативной памяти на примере некоторых разделов. Тестирование проводится с помощью встроенного инструмента в Android Studio - android profiler.
Таблица 4
Потребление оперативной памяти
|
Название раздела |
Оперативная память, МБ |
|
|
TrioFragmentHolder |
167 |
|
|
AnimalCardFragment |
155 |
|
|
AddModCowGroupFragment |
148 |
|
|
AddModifyCowFragment |
147 |
|
|
AddModifyHuntFragment |
171 |
|
|
AddModifyOtelFragment |
170 |
|
|
TypeFragment |
230 |
|
|
UserAgreementFragment |
135 |
|
|
MessageFragment |
238 |
|
|
LossesFragment |
285 |
|
|
InputMultipleMilkFragment |
297 |
|
|
InputMultipleMilkJournalFragment |
280 |
|
|
EmployeeFragment |
233 |
|
|
GroupedInputMilkFragment |
164 |
Как видно из вышеприведённых данных в таблице разработанное программное обеспечение является среднестатистическим по потреблению оперативной памяти и занимает в среднем 200 мегабайт. Больше всего оперативной памяти приложение занимает при отображении раздела «Ввод удоя», так как в памяти хранится несколько других разделов, через которые пользователь пришёл в текущий. Также данный раздел обрабатывает много данных об удоях определённого животного по дням, а также отображает их. Разделом, на который выделяется наименьшее количество оперативной памяти, является «Пользовательское соглашение». Этот раздел всего лишь отображает работнику фермы пользовательское соглашение, которое хранится во внутренней памяти устройства.
3.4 Анализ использования постоянной памяти
Постоянное запоминающее устройство или ПЗУ [25] - память, которая используется для долговременного хранения информации, и которая не зависит от источника энергии. На сегодняшний день в устройствах под управлением операционной системы Android установлено от шестнадцати до двухсот пятидесяти шести гигабайт ПЗУ. Как и с оперативной памятью нет необходимости чрезмерно экономить flash-память. В то же время, полученный файл-установщик готового приложения в виде apk-файла будет размещён в официальном магазине приложений google play, что означает, что пользователю необходимо будет скачать его с помощью сети интернет. Большой apk-файл ведёт к увеличению времени загрузки и объёма трафика. Поэтому при разработке программного обеспечения под операционную систему Android следует соблюдать золотую середину при формировании итогового размера файла.
Современные приложения под Android, обычно занимают от 1 мегабайта до 1 гигабайта, в среднем 30 мегабайт. Разработанное программное обеспечение занимает постоянной памяти 20189 килобайт. Следовательно, реализованное приложение входит в этот диапазон и занимает мало место внутреннего накопителя устройства.
3.5 Нагрузка на сеть интернет
На основании нижеприведённых данных можно сделать вывод, чтобы получить данные четырнадцати основных разделов необходимо потратить 31,66 килобайт трафика интернет соединения. Это очень мало по современным меркам, поэтому можно сделать вывод, что приложение потребляет небольшое количество интернет трафика.
Таблица 5
Нагрузка на сеть интернет
|
Название раздела |
Трафик, КБ |
|
|
TrioFragmentHolder |
14,240 |
|
|
AnimalCardFragment |
1,500 |
|
|
AddModCowGroupFragment |
0,260 |
|
|
AddModifyCowFragment |
0,015 |
|
|
AddModifyHuntFragment |
0,700 |
|
|
AddModifyOtelFragment |
0,300 |
|
|
TypeFragment |
0,555 |
|
|
UserAgreementFragment |
0 |
|
|
MessageFragment |
1,400 |
|
|
LossesFragment |
7,200 |
|
|
InputMultipleMilkFragment |
4,400 |
|
|
InputMultipleMilkJournalFragment |
0,620 |
|
|
EmployeeFragment |
0,270 |
|
|
GroupedInputMilkFragment |
0,200 |
3.6 Дальнейшее развитие системы
В настоящем приложение является завершённым и готовым к использованию. Однако, в дальнейшем система может быть улучшена следующим образом:
1) создано приложение по операционную систему IOS;
2) введены уведомления пользователя.
Заключение
Молоко - один из самых древних продуктов, известных человечеству. Молоко является ценным продуктом в наше время. Оно является как отличным продуктом первого прикорма маленьких детей, так и полезным продуктом для людей всех возрастов. В его составе содержится большое количество витаминов и микроэлементов, поэтому каждодневное употребление молока даёт организму необходимое количество питательных веществ.
Молоко в промышленных масштабах производится на молочной ферме. Для крупных ферм таких, средний оборот стада которых насчитывает более двухсот коров, существует много всевозможного оборудования, которое способно минимизировать задержки и увеличить производственные возможности по производству молочной продукции: охладитель молока, молокоприёмный пункт, кормосмеситель, доильная установка, линейный молокопровод, ёмкости длительной пастеризации и др. Однако, данный вид оптимизации деятельности финансово доступен лишь для крупных ферм таких, средний оборот стада которых насчитывает более двухсот коров. Для малых ферм (менее 100 коров) покупка дорогостоящего оборудования и специализированного программного обеспечения финансово нецелесообразно, так как никогда не окупится.
Поэтому у малых фермерств давно назрела потребность в доступном специализированном программном обеспечении, которое поможет автоматизировать многие процессы, связанные с управлением самой фермой и непосредственно сотрудниками и которые до сих пор выполняются вручную.
Целями данной работы являлись:
1) исследование особенностей управления стадом крупного рогатого скота на малых фермах;
2) проектирование и разработка прикладного программного обеспечения для конечных пользователей на платформе Android.
В ходе выполнения данной выпускной квалификационной работы были было выполнено:
1) В первой главе было сформулировано назначение системы, обозначены цели и задачи работы, проанализированы актуальность и новизна, подробно рассмотрена предметная область, рассмотрены существующие решения объекта разработки, а также сформулированы ключевые показатели эффективности работы фермы.
2) Во второй главе были рассмотрены основные этапы разработки современного android-приложения, создана и описана карта экранов, разработана архитектура приложения, описаны реализованные разделы системы и описана структура базы данных.
3) В третьей части были рассмотрены реализованные фрагменты приложения, протестировано программное обеспечение на скорость выполнения задач пользователя, вычислено занимаемое место в оперативной и постоянной памяти, а также рассмотрена нагрузка на сеть.
Результатом работы является сформированный список ключевых показателей эффективности, сформулированные цели, задачи, актуальность и новизна. В ходе разработки программного обеспечения была разработана архитектура приложения, реализованы все функциональные разделы, а также приведены числовые показатели работы приложения.
В настоящее время программное обеспечение проходит апробацию в некоторых подмосковных фермерствах.
Список литературы
1. Показатели, характеризующие импортозамещение в России. URL: http://www.gks.ru/wps/wcm/connect/rosstat_main/rosstat/ru/statistics/importexchange/# (дата обращения 13.01.19).
2. Молоко - Википедия. URL: https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BB%D0%BE%D0%BA%D0%BE (дата обращения 16.01.19).
3. Молочное хозяйство - Википедия. URL: https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D1%85%D0%BE%D0%B7%D1%8F%D0%B9%D1%81%D1%82%D0%B2%D0%BE (дата обращения 19.01.19).
4. Громыко Е. В. Оценка состояния организма коров методами биохимии //Экологический вестник северного Кавказа. - 2005. - Т. 1. - №. 2. - С. 80-94.
5. Донник И. М., Лоретц О. Г. Влияние технологии доения на молочную продуктивность и качество молока коров //Аграрный вестник Урала. - 2014. - №. 12. - С. 13.
6. Developers A. What is android. - 2011.
7. Reference - Kotlin Programming Language. URL: https://kotlinlang.org/docs/reference (дата обращения 19.01.19).
8. Moran J. B. Key performance indicators to diagnose poor farm performance and profitability of smallholder dairy farmers in Asia //Asian-Australasian Journal of Animal Sciences. - 2009. - Т. 22. - №. 12. - С. 1709-1717.
9. Fuhrmann T. Managing the dairy farm: key performance indicators //WCDS Adv. Dairy Technol. - 2006. - Т. 18. - С. 3-8.
10. Cai J. et al. Improving supply chain performance management: A systematic approach to analyzing iterative KPI accomplishment //Decision support systems. - 2009. - Т. 46. - №. 2. - С. 512-521.
11. Why Android | Android. URL: https://www.android.com/why-android/ (дата обращения 15.03.19).
12. View | Android Developers. URL: https://developer.android.com/reference/android/view/View (дата обращения: 16.03.19).
13. Операции | Android Developers. URL: https://developer.android.com/guide/components/activities (дата обращения: 16.03.19).
14. Фрагменты | Android Developers. URL: https://developer.android.com/guide/components/fragments (дата обращения 16.03.19).
15. Основные сведения о поставщике контента | Android Developers. URL: https://developer.android.com/guide/topics/providers/content-provider-basics (дата обращения 17.03.19).
16. Объекты Intent и фильтры объектов Intent | Android Developers. URL: https://developer.android.com/guide/components/intents-filters (дата обращения 17.03.19).
17. Broadcasts overview | Android Developers. URL: https://developer.android.com/guide/components/intents-filters (дата обращения 17.03.19).
18. Службы | Android Developers. URL: https://developer.android.com/guide/components/services (дата обращения 18.03.19).