- Часть 1
1.1 Тип приложения
1.2 Выбор стратегии развертывания
1.3 Выбор технологии
1.4 Показатели качества
1.4.1 Графический дизайн и взаимодействие с пользователем
1.4.1.1 Стандартный дизайн
1.4.1.2 Навигация
1.4.1.3 Уведомления
1.4.2 Функциональность
1.4.2.1 Права доступа
1.4.2.2 Место установки
1.4.2.3 Звук
1.4.2.4 Графика и интерфейс пользователя
1.4.3 Производительность и стабильнотсть
1.4.3.1 Стабильность
1.4.3.2 Производительность
1.4.3.3 Качество визуализации - Часть 2
2.1 "To Be Архитектура"
2.2 "As Is" архитектура - Часть 3
3.1 Сравнение и анализ
3.2 Пути улучшения архитектуры
Проект предполагает проектирование и создание нативного android-приложения для отслеживания процесса сдачи работ на языке C# с использованием технологии Xamarin
Установка и развертывание приложения предполагается посредством возможностей файлового менеджера каждого конкретного устройства из собранного разработчиками .apk файла, скачиваемого пользователем из сети.
Мобильность приложения обусловлена тем, что оно предназначено для использования "на ходу", в условиях, когда нет возможности использования компьютера. Язык C# выбран как командный(наиболее знакомый команде разработчиков). Платформа Android пользуется наибольшей популярностью, количеством инструментов для разработки. Также команда имеет возможность для написания, отладки и демонстрации проекта только на данной платформе. Технология Xamarin имеет большое количество документации и комьюнити, что позволяет нам быть уверенными в результате.
- В приложении функции системных значков не переопределяются и не происходит их подмена новыми значками.
- В приложении используется стандартный дизайн платформы Android.
- Вместо стандартной иконки Xamarin используется иконка, нарисованная дизайнером.
- В приложении поддерживается стандартная системная навигация с помощью кнопки "Назад" , для которой не используются какие-либо адаптированные экранные подсказки.
- При нажатии кнопки "Домой" всегда происходит переход к главному экрану устройства.
- В приложении будут использоваться уведомления для того, чтобы сообщить пользователю о приближении срока сдачи лабораторной работы.
Приложение запрашивает минимум прав доступа:
- Доступ к памяти устройства для сохранения и извлечения результатов работы: ** Чтение из памяти или карты памяти (READ_EXTERNAL_STORAGE) ** Запись в память или на карту памяти (WRITE_EXTERNAL_STORAGE)
- Автозапуск в качестве фонового приложения
- Отправка push-уведомлений
- Установка должна производиться в локальную(flash) память устройства без возможности перенесения на SD-карту
- Приложение не должно воспроизводить специальных звуков на главном экране, при переходе в другое приложение, также если отображение на экране выключено, экран заблокирован и в любых других ситуациях.
- В приложении не переопределяется стандартный звук нажатий виджетов и свайпов экрана.
- В фоновом режиме могут приходить уведомления, звук которых определяется пользователем в системных натсройках.
- Приложение поддерживает книжную ориентацию экрана.
- Все виджеты и методы разметки страницы определены базой библиотеки Xamarin.Forms
- При работе приложения не должно происходить аварийных или вынужденных закрытий приложения, зависаний или других аномалий в его работе на любых поддерживаемых устройствах с версией Android 4.2 и выше
- Моментальная загрузка главной страницы приложения, содержащей только данные о семестрах с последующей дозагрузкой остальных данных
- Отображение текста, виджетов и других элементов интерфейса без заметных искажений, смазываний или эффектов пикселизации на всех поддерживаемых размерах и форм-факторах экрана смартфона.
- Обеспечение правильной и читабельной компоновки блоков меню, текста и виждетов.
- Отсутствие обрезанных букв или слов, где это не предусмотрено.
Архитектурное решение команды по реализации идеи можно увидеть на структурной схеме
Наглядный пример желаемого GUI приведен с помощью мокапов
1. Сравнение и анализ На данный момент архитектура AS-IS не имеет отличительных особенностей от архитектуры TO-BE, поскольку она является довольно примитивной и не имеет сложных связей и решений реализации. Также команда старается жестко придерживаться изначального решения в виде схем, мокапов и диаграмм для воплощении идеи.
2. Пути улучшения архитектуры Одним из возможных путей улучшения архитектуры является использование архитектурной модели MVC, поскольку интерфейс приложения часто изменяется. Также возможно внедрение шаблона посредника для взаимодействия некоторых компонентов.