Введение 3
1 Проектирование мобильных приложений 5
1.1 Анализ требований целевой аудитории к разрабатываемому
программному продукту 11
1.2 Управление персоналом программного проекта 13
1.2.1 Распределение ролей в проекте 16
1.2.2 Современные инструменты интеграции программных модулей 20
1.3 Планирование работ по проекту 24
2 Системный анализ предметной области 28
2.1 Обоснование выбора инструментов разработки 31
2.2 Сравнительный анализ рынка программного обеспечения в сегменте
планировщиков задач 35
2.3 Проектировка приложения 41
2.3.1 Проектирование клиент-серверного взаимодействия 42
2.3.2 Проектирование архитектуры приложения 45
2.3.3 Проектирование информационно-логической модели базы данных 48
2.4 Выбор модели жизненного цикла и технологий разработки 49
2.5 Концепция дизайна мобильного приложения 54
3 Создание и тестирование модулей 58
3.1 Применение средств организации командной работы 59
3.2 Создание модулей 63
3.2.1 Клиентская часть приложения 65
3.2.2 Серверная часть приложения 67
3.3 Тестирование приложения 70
3.4 Экономические выкладки по проекту 79
Заключение 81
Список использованных источников 83
ПРИЛОЖЕНИЕ А - паспорт проекта 89
В современном мире одно из главных богатств человека это время - единственный ресурс, который не может восполнить человек, а его планирование очень важная часть жизни. Приложение Time Management System должно помочь контролировать расписание всего дня.
Актуальность приложения весьма высока, потому что вопрос контроля времени актуален с давних времен и многие люди помещены на таком контроле. В течение дня, каждый человек выполняет какое-то количество задач. Со временем, появляются новые задачи, а к некоторым старым приходиться возвращаться. Вместе с количеством задач растет и объем информации, которая становится сложной для запоминания: поневоле мы начинаем упускать из виду некоторые важные задачи, возможно, менее важные, чем остальные, либо начинаем делать их не своевременно. Для решения перечисленных проблем можно придерживаться нескольких правил [1-2]:
- каждый вечер планировать время согласно задачам, которые необходимо выполнить завтра;
- сортировать задачи на категории;
- придерживаться принципа «70/30», т.е. выделять 70% свободного времени на запланированные дела;
- выполнять большую части дел до обеда;
- находить время для отдыха и реалистично планировать время;
- разбивать комплексные и сложные задачи на более мелкие.
Возможно, кому-то достаточно придерживаться данных рекомендаций.
Но в дополнение ко всему, можно использовать специализированное программное обеспечение.
Цель работы создать уникальное мобильное приложение с функциями распорядка дня, заметок и умной картой для русскоговорящей аудитории.
Объектом исследования является русскоговорящая целевая аудитория возрастом старше 6 лет.
Предметом исследования является процесс планирование временных ресурсов.
Итак, для достижения поставленной цели необходимо решить следующие задачи:
- изучить литературу по программированию клиент-серверных приложений для мобильных устройств;
- проанализировать рынок мобильных приложений, связанных с выбранной тематикой;
- повысить навык программирования;
- повысить навык менеджмента проекта;
- спроектировать архитектуру приложения;
- разработать дизайн интерфейса мобильного приложения;
- создать работоспособную команду с чётким разделением времени и обязанностей.
Для того чтобы создать работоспособную команду нужно определить роли в проекте, создать начальную документацию в виде планирования работ в проекте, и провести анализ требований аудитории к новому проекту. Перейдём к следующей главе, где описано как решили данные вопросы
Цель данной выпускной квалификационной работы было создание уникального мобильного приложения с функциями распорядка дня, заметок и умной картой для русскоговорящей аудитории. Для достижения поставленной цели был решен ряд задач.
Во время выполнения курсового проектирования команда разработчиков успешно выполнены следующие этапы разработки:
- изучены современные подходы к IT-разработке;
- выполнено грамотное распределение ролей между членами команды, в результате чего каждый студент получил ту роль, которая являлась для него посильной и выполнимой;
- составлен график работ, и распределение ресурсов во времени. Данный этап позволил предотвратить возникновение проблем на более поздних этапах разработки. Например, смещение сроков выполнения задач из-за того, что на кого-то был возложен непосильный объем работ;
- проведен сравнительный анализ программных средств интеграции модулей, что позволило выбрать наиболее подходящий инструмент для текущего проекта;
- проведен анализ предметной области, после чего были сформированы требования к программному обеспечению и описание объекта автоматизации;
- выбраны наиболее оптимальные средства разработки и язык программирования;
- спроектировано клиент-серверное взаимодействие между составными частями приложения;
- составлена программная документация на основе предпроектных исследований;
- разработаны модули программного обеспечения, и условные обозначения компонентов системы. Это значительно упростило взаимодействие коллектива во время разработки, т.к. позволило команде общаться между собой на языке понятных друг другу терминов;
- изучены и применены программные средства для упрощения командной работы над проектом;
- проведено тестирование приложения;
- рассчитана экономическая эффективность проекта.
В итоге у команды получилось создать стабильно работающее клиентсерверное приложение с уникальными возможностями, которое может занять свою нишу на рынке мобильных приложений в категории планировщиков времени.
В процессе выполнения разработки программного проекта был выявлен ряд затруднений, решение которых позволило приобрести практический опыт и навыки разработки программных систем в команде, что позволит в дальнейшем использовать его в будущих проектах.
Существует ряд идей, которые можно реализовать в новой версии проекта. Программа изначально разрабатывалась под систему Android, но благодаря React Native должно работать и на системе iOS, но допускаются небольшие проблемы, которые можно будет устранить. При работе с картой выбранный диаметр поиска на деле может оказаться слишком большим или маленьким, но благодаря обратной связи с пользователями можно будет изменить его и сделать программу более точной для поиска. Также, можно добавить функции, которые есть у конкурентов, возможность синхронизировать приложение с календарем телефона, разработать вебклиент просмотра списка задач.
1) Тестирование объектно-ориентированного программного
обеспечения. Практическое пособие: Пер. с англ. / Джон Макгрегор, Девид Сайкс. - К.: ООО «ТИД ДС», 2002. - 432 с.
2) ГОСТ Р ИСО 21500-2014. Руководство по проектному менеджменту. Москва Стандартинформ, 2015. - 45 с.
3) Виды ИТ-проектов, их особенности. Определение целей ИТ-проекта, основные подходы. // e-educ.ru. - Режим доступа: https://e-educ.ru/pm4.html (дата обращения: 15.03.2018).
4) Система контроля версий (cvs) — // Time Doctor [Электронный ресурс]. - Режим доступа: https://biz30.timedoctor.com/ru/c%D0%B8%D1%81 %D 1 %82%D0%B5%D0%BC%D0%B0-%D0%BA%D0%BE%D0%BD%D 1 %82 %D 1 %80%D0%BE%D0%BB%D 1 %8F-%D0%B2%D0%B5%D 1 %80%D1%81 % D0%B8% D0%B9/ (дата обращения: 15.03.2018).
5) Системы управления версиями. Пособие для инженеров, художников и писателей // Habrahabr [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/122060/ (дата обращения: 15.03.2018).
6) Шелухин, О. И. Моделирование информационных систем: учебное пособие / О. И. Шелухин. - 2-е изд., перераб. и доп. - М.: Горячая линия - Телеком, 2011. - 536 с.
7) Михеева, Е. В. Информационные технологии в профессиональной деятельности: учебное пособие / Е. В. Михеева. - М.: Проспект, 2010. - 448 с.
8) Право интеллектуальной собственност: учебник / С. А. Судариков. - М.: Проспект, 2011. - 368 с.
9) Черников, Б. В. Управление качеством программного обеспечения: учебник / Б. В. Черников. - М.: Форум; Инфра-М, 2012. - 240 с. - (Высшее образование).
10) Черников, Б. В. Оценка качества программного обеспечения. Практикум: учебное пособие / Б. В. Черников, Б. Е. Поклонов. - М.: Форум; Инфра-М, 2012. - 400 с. - (Высшее образование).
11) Гагарина, Л. Г. Технология разработки программного обеспечения: учеб. пособие для вузов / Л. Г. Гагарина, Е. В. Кокорева, Б. Д. Виснадул. - М.: ИНФРА-М, 2009. - 400 с. - (Высшее образование).
12) Балдин, К. В. Информационные технологии в менеджменте: учебник / К. В. Балдин. - М.: Академия, 2012. - 288 с. - (Бакалавриат).
13) Работаем с User stories // Habrahabr [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/friifond/blog/284032/ (дата обращения:
15.03.2018) .
14) Курсовой проект // Первый шаг [Электронный ресурс]. - Режим доступа: http://www.pervyi-shag.narod.ru/Perwie/kursovoj.htm (дата обращения:
10.05.2016) .
15) Белов, В. В. Проектирование информационных систем: учебник / В.
В. Белов, В. И. Чистякова. - М.: Академия, 2013. - 352 с. - (Бакалавриат).
16) Затонский, А. В. Информационные технологии: учебник / А. Затонский. - М: Академия, 2001. - 217с.
17) 10 языков для Android-разработчика // GeekBrains [Электронный ресурс]. - Режим доступа: https://geekbrains.ru/posts/android_dev_langs (дата обращения: 15.03.2018).
18) Языки программирования для веб-разработки // Блог вебпрограммиста [Электронный ресурс]. - Режим доступа: http://juice-
health.ru/programming/web-development/505-programming-languages- (дата
обращения: 15.03.2018).
19) Android Studio The Official IDE for Android // Android Studio
[Электронный ресурс]. - Режим доступа:
https://developer.android.com/studio/index.html (дата обращения: 15.03.2018).
20) SQLite Documentation // SQLite [Электронный ресурс]. - Режим
доступа: http://www.sqlite.org/docs.html (дата обращения: 15.03.2018).
84
21) SQLite — замечательная встраиваемая БД (часть 1) // Habrahabr [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/149356/ (дата обращения: 15.03.2018).
22) JavaScript.ru // Справочник JavaScript [Электронный ресурс]. - Режим доступа: http://javascript.ru/manual (дата обращения: 15.03.2018).
23) JavaScript.com // JavaScript [Электронный ресурс]. - Режим доступа: https://www.javascript.com/ (дата обращения: 15.03.2018).
24) About Node.js // Node.js [Электронный ресурс]. - Режим доступа: https://nodejs.org/en/about/ (дата обращения: 15.03.2018).
25) Установка: Node.js + Express // ITNote [Электронный ресурс]. -
Режим доступа: http://itnote.ru/2014/11/01/setup-node-js-express/ (дата
обращения: 15.03.2018).
26) MySQL Documentation // dev.mysql.com [Электронный ресурс]. - Режим доступа: https://dev.mysql.com/doc/ (дата обращения: 15.03.2018).
27) Документация по MySQL // MySQL.ru [Электронный ресурс]. - Режим доступа: http://www.mysql.ru/docs/ (дата обращения: 15.03.2018).
28) Приступая к работе с Azure // Microsoft Azure [Электронный
ресурс]. - Режим доступа: https://docs.microsoft.com/ru-ru/azure/ (дата
обращения: 15.03.2018).
29) Создание веб-приложений Node.js в Azure // Microsoft Azure
[Электронный ресурс]. - Режим доступа: https://docs.microsoft.com/ru-
ru/azure/app-service/app-service-web-get-started-nodejs (дата обращения:
15.03.2018) .
30) 7. Лекция: Моделирование бизнес-процессов средствами BPwin // Интернет университет информационных технологий [Электронный ресурс]. - Режим доступа: http://old.intuit.ru/department/se/devis/7/ (дата обращения:
15.03.2018) .
31) Информационные системы и технологии управления [Электронный ресурс]: учебник / Под ред. Г. А. Титоренко. - 3-е изд., перераб. и доп. - М.:
ЮНИТИ-ДАНА, 2011. - 1 эл. опт. диск (CD-ROM).
32) Информационные системы и технологии в экономике и управлении: учебник / Под ред. В. В. Трофимова. - 4-е изд., перераб. и доп. - М.: Юрайт, 2013. - 542 с. - (Бакалавр. Базовый курс).
33) Буч, Г. Язык UML. Руководство пользователя: учебное пособие / Г. Буч, Дж. Рамбо, И. Якобсон; Пер. с англ. - 2-е изд. - М.: ДМК Пресс, 2007. - 496 с.
34) Гагарина, Л. Г. Технология разработки программного обеспечения: учеб. пособие для вузов / Л. Г. Гагарина, Е. В. Кокорева, Б. Д. Виснадул. - М.: ИНФРА-М, 2009. - 400 с. - (Высшее образование).
35) Балдин, К. В. Информационные технологии в менеджменте: учебник / К. В. Балдин. - М.: Академия, 2012. - 288 с. - (Бакалавриат).
36) Creately // Diagram Maker [Электронный ресурс]. - Режим доступа: https://creately.com/ (дата обращения: 15.03.2018).
37) Гибкая методология разработки «Scrum» // Habrahabr [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/247319/ (дата обращения:15.03.2018) .
38) AgileRussia - Обзор методологии Scrum [Электронный ресурс]. - Режим доступа: http://agilerussia.ru/methodologies/oбзop-мeтoдoлoгии-scrum/ (дата обращения: 10.05.2016).
39) 3. MSDN - Scrum [Электронный ресурс]. - Режим доступа: https://msdn.microsoft.com/library/dd997796(v=vs.100).aspx (дата обращения:10.05.2016) .
40) Технология программирования: Учебник для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумфнф, 2002. - 320 с.
41) «Stack Overflow на русском» — сайт вопросов и ответов для программистов. // Stack Overflow на русском [Электронный ресурс]. - Режим доступа: https://ru.stackoverflow.com/ (дата обращения: 15.03.2018).
42) Learn, Share, Build // Stack Overflow. - Режим доступа: https://stackoverflow.com/ (дата обращения: 15.03.2018).
43) Утвержден ФГОС ВО по направлению подготовки 09.03.04
Программная инженерия (далее соответственно - программа бакалавриата, направление подготовки). // Портал Федеральных государственных
образовательных стандартов высшего образования [Электронный ресурс]. - Режим доступа: http://fgosvo.ru/news/1/1086 (дата обращения: 26.05.2018).
44) Sibak // XXXIII Международной научно-практической конференции
«Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ
ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 16 ноября 2017 г.) [Электронный ресурс]. - Режим доступа:
https://sibac.info/studconf/science/xxxiii/86915 (дата обращения: 18.03.18).
45) Материалы конференции // СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ НАУКИ И ТЕХНОЛОГИЙ имени академика М.Ф.Решетнева «АКТУАЛЬНЫЕ ПРОБЛЕМЫ АВИАЦИИ И
КОСМОНАВТИКИ» [Электронный ресурс]. - Режим доступа:
https://apak.sibsau.ru/page/materials (дата обращения: 04.06.2018).
46) Моделирование архитектуры приложения // Developer Network [Электронный ресурс]. - Режим доступа: https://msdn.microsoft.com/ru- ru/library/dd490886.aspx (дата обращения: 04.05.2018).
47) Базы данных и СУБД // Community by timeweb [Электронный ресурс]. - Режим доступа: https://timeweb.com/ru/community/articles/bazy- dannyh-i-subd-1 (дата обращения: 04.05.2018).
48) Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4.
49) Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернетуниверситет информационных технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с. — ISBN 978-5-94774-736-2.
50) Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: Вильямс, 2005. — 1328 с. — ISBN 58459-0788-8 (рус.) 0-321-19784-4 (англ.).
51) Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика = Database Systems: A Practical Approach to Design, Implementation, and Management. — 3-е изд. — M.: Вильямс,
2003. — 1436 c. — ISBN 0-201-70857-4.
52) Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс = Database Systems: The Complete Book. — Вильямс, 2003. — 1088 с. — ISBN 5-8459-0384-X.
53) habr // Разработка мобильных приложений: с чего начать
[Электронный ресурс]. - Режим доступа:
https://habr.com/company/mailru/blog/179113/ (дата обращения: 04.05.2018).
54) JSON Web Tokens - jwt.io [Электронный ресурс]. - Режим доступа: https://jwt.io/ (дата обращения: 04.05.2018).
55) Составные части хеш-строки bcrypt - RMCreative [Электронный ресурс]. - Режим доступа: https://jwt.io/ (дата обращения: 04.05.2018).
56) react-entity-editor // npm [Электронный ресурс]. - Режим доступа:
https://rmcreative.ru/blog/post/sostavnye-chasti-kheshch-stroki-bcrypt (дата
обращения: 04.05.2018).
57) Больше, чем React: Почему не следует использовать ReactJS для
сложных интерактивных фронтенд-проектов // habr [Электронный ресурс]. - Режим доступа: https://habr.com/company/nixsolutions/blog/324748/ (дата
обращения: 04.05.2018).
58) Полное руководство по ReactJS // Learn React JS [Электронный ресурс]. - Режим доступа: https://learn-reactjs.ru/home (дата обращения:
04.05.2018) .