Целью данной работы является разработка рекомендательной системы для учета распределения времени разработчика ПО. Декомпозируя поставленную задачу, были установлены следующие подцели:
- Необходимо изучить предметную область данной проблемы.
- Составить техническое задание для разрабатываемой системы.
- Спроектировать концептуальную модель системы.
- Составить графическое представление системы в виде диаграмм.
- Выбрать программные средства для реализации системы.
- Реализовать систему.
- Протестировать систему.
- Сравнить полученную систему с заявленным техническим заданием.
- Подвести итоги проделанной работы.
Необходимо создать систему, которая могла бы хранить данные о распределении времени пользователя, предоставлять рекомендации для эффективного распределения времени. Пользователь должен иметь возможность управлять данными в программе. Система должна быть мобильна. Пользователь должен в любой момент иметь возможность взаимодействовать с системой. Процесс получения информации должен быть не зависим от наличия доступа в интернет. Исходя из данных условий, система должна быть портируема на смартфон, так как в нынешнее время у большинства разработчиков есть мобильные устройства. В реалиях технологического прогресса, мобильные устройства появились сравнительно давно, но по сегодняшний день остаются наиболее популярными устройствами среди пользователей. К тому же рынок мобильных приложений стремительно растет, что делает данный выбор долговременным решением рассматриваемой проблемы. В качестве операционной системы (ОС) была выбрана: Android.
Аннотация........................................................................................................ 3
Введение.......................................................................................................... 5
1. Анализ существующей проблемы............................................................ 8
1.1. Этапы разработки.................................................................................. 8
1.2. Понятие Android и Android-приложения.............................................. 9
1.3. Анализ предметной области................................................................ 11
1.4. Техническое задание............................................................................ 13
2. Проектирование Android-приложения................................................... 16
2.1. Концептуальное проектирование........................................................ 16
2.2. Представление Android-приложения в виде диаграмм....................... 19
2.3. Проектирование архитектуры Android-приложения.......................... 31
2.4. Выбор программных средств для разработки................................... 35
3. Реализация и тестирование Android-приложения.................................. 37
3.1. Реализация системы.............................................................................. 37
3.2. Тестирование системы.......................................................................... 52
Заключение.................................................................................................... 54
Список использованных источников............................................................ 56
1. Anders Yoransson. Efficient Android Threading. Издательство ДМК Пресс, 2017.
2. Bill Phillips, Chris Stewart & Kristin Marsicano. Android Programming: The Big Nerd Ranch Guide. Издательство Питер, 2017.
3. Brian Hardy, Bill Phillips. Android Programming: The Big Nerd Ranch Guide. Издательство Питер, 2014.
4. Bruce Eckel. Thinking in Java. Издательство Питер, 2019
5. Griffiths Dawn, Griffiths David. Head First Android Development: A Brain- Friendly Guide. Издательство Wiley, 2017.
6. Ian Clifton. Android User Interface Design. Издательство Addison-Wesley, 2017.
7. Ian Darwin. Android Cookbook. Издательство Диалектика, 2018.
8. Mark L. Murphy. The Busy Coder’s Guide to Android Development. Издательство CommonsWare, 2018.
9. Paul Daytel, Harvey Daytel, Alexander Wold. Android 6 for Programmers: An App-Driven Approach. Издательство Питер, 2016.
10. Библиотека SwipeRevealLayout. [Электронный ресурс] URL: https://github.com/chthai64/SwipeRevealLayout (дата обращения: 15.03.2020).
11. Каскадная модель жизненного цикла ПО. [Электронный ресурс] URL: http://inftis.narod.ru/ais/ais-n5.htm (дата обращения: 7.12.2020).
12. Компоненты архитектуры. [Электронный ресурс] URL: https://startandroid.ru/ru/courses/architecture-components/27-course/architecture- components.html (дата обращения: 25.11.2019).
13. Матрица Эйзенхауэра - один из методов тайм-менеджмента для определения приоритетов дел дня. [Электронный ресурс] URL: https://www.psychologos.ru/articles/view/matrica-eyzenhauera (дата обращения: 20.11.2019).
14. Метод динамического решения задачи «о наполнении рюкзака». [Электронный ресурс] URL: https://informatics.mccme.ru/mod/book/view.php?id=815&chapterid=60 (дата обращения: 21.04.2020).
15. Мост отладки для приложений Android Stetho. [Электронный ресурс] URL: http://facebook.github.io/stetho (дата обращения: 12.01.2020).
16. Общие сведения о платформе Android. [Электронный ресурс] URL: https://developer.android.com (дата обращения: 10.01.2020).
17. Программирование под ОС Андроид. [Электронный ресурс] URL: https://metanit.com/java/android (дата обращения: 15.01.2020).
18. Приложение в Google Play «Задачи: Список задач». [Электронный ресурс] URL: https://play.google.com/store/apps/details?id=com.tasks.android&hl=ru (дата обращения: 8.11.2019).
19. Приложение в Google Play «Учет задач и времени с TimeIO». [Электронный ресурс] URL: https://play.google.com/store/apps/details?id=xyz.timeio&hl=ru (дата обращения: 8.11.2019).
20. Приложение в Google Play «Evernote». [Электронный ресурс] URL: https://play.google.com/store/apps/details?id=com.evernote&hl=ru (дата обращения: 8.11.2019).
21. Приложение в Google Play «TickTime - учет времени работы и личный журнал дня». [Электронный ресурс] URL: https://play.google.com/store/apps/details?id=com.mintrocket.ticktime&hl=ru (дата обращения: 8.11.2019).
22. Разработка: правильное распределение времени. [Электронный ресурс] URL: https://habr.com/ru/post/140350 (дата обращения: 10.10.2019).