ivanka6342 / SemCycle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SemCycle

Язык реализации: C#

Технологии: Xamarin Forms

Среда разработки: Visual Studio 2017

Содержание

  1. Часть 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
    2.1 "To Be Архитектура"
    2.2 "As Is" архитектура
  3. Часть 3
    3.1 Сравнение и анализ
    3.2 Пути улучшения архитектуры

Часть 1

1. Тип приложения

Проект предполагает проектирование и создание нативного android-приложения для отслеживания процесса сдачи работ на языке C# с использованием технологии Xamarin

2. Выбор стратегии развертывания

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

3. Выбор технологии

Мобильность приложения обусловлена тем, что оно предназначено для использования "на ходу", в условиях, когда нет возможности использования компьютера. Язык C# выбран как командный(наиболее знакомый команде разработчиков). Платформа Android пользуется наибольшей популярностью, количеством инструментов для разработки. Также команда имеет возможность для написания, отладки и демонстрации проекта только на данной платформе. Технология Xamarin имеет большое количество документации и комьюнити, что позволяет нам быть уверенными в результате.

4. Показатели качества

4.1. Графический дизайн и взаимодействие с пользователем

4.1.1. Стандартный дизайн
  • В приложении функции системных значков не переопределяются и не происходит их подмена новыми значками.
  • В приложении используется стандартный дизайн платформы Android.
  • Вместо стандартной иконки Xamarin используется иконка, нарисованная дизайнером.
4.1.2. Навигация
  • В приложении поддерживается стандартная системная навигация с помощью кнопки "Назад" , для которой не используются какие-либо адаптированные экранные подсказки.
  • При нажатии кнопки "Домой" всегда происходит переход к главному экрану устройства.
4.1.3. Уведомления
  • В приложении будут использоваться уведомления для того, чтобы сообщить пользователю о приближении срока сдачи лабораторной работы.

4.2. Функциональность

4.2.1. Права доступа

Приложение запрашивает минимум прав доступа:

  • Доступ к памяти устройства для сохранения и извлечения результатов работы: ** Чтение из памяти или карты памяти (READ_EXTERNAL_STORAGE) ** Запись в память или на карту памяти (WRITE_EXTERNAL_STORAGE)
  • Автозапуск в качестве фонового приложения
  • Отправка push-уведомлений
4.2.2. Место установки
  • Установка должна производиться в локальную(flash) память устройства без возможности перенесения на SD-карту
4.2.3. Звук
  • Приложение не должно воспроизводить специальных звуков на главном экране, при переходе в другое приложение, также если отображение на экране выключено, экран заблокирован и в любых других ситуациях.
  • В приложении не переопределяется стандартный звук нажатий виджетов и свайпов экрана.
  • В фоновом режиме могут приходить уведомления, звук которых определяется пользователем в системных натсройках.
4.2.4. Графика и интерфейс пользователя
  • Приложение поддерживает книжную ориентацию экрана.
  • Все виджеты и методы разметки страницы определены базой библиотеки Xamarin.Forms

4.3. Производительность и стабильнотсть

4.3.1. Стабильность
  • При работе приложения не должно происходить аварийных или вынужденных закрытий приложения, зависаний или других аномалий в его работе на любых поддерживаемых устройствах с версией Android 4.2 и выше
4.3.2. Производительность
  • Моментальная загрузка главной страницы приложения, содержащей только данные о семестрах с последующей дозагрузкой остальных данных
4.3.3. Качество визуализации
  • Отображение текста, виджетов и других элементов интерфейса без заметных искажений, смазываний или эффектов пикселизации на всех поддерживаемых размерах и форм-факторах экрана смартфона.
  • Обеспечение правильной и читабельной компоновки блоков меню, текста и виждетов.
  • Отсутствие обрезанных букв или слов, где это не предусмотрено.

Часть 2

To Be Архитектура:

Архитектурное решение команды по реализации идеи можно увидеть на структурной схеме
Наглядный пример желаемого GUI приведен с помощью мокапов

As is architecture:

Диаграмма классов

Часть 3

1. Сравнение и анализ На данный момент архитектура AS-IS не имеет отличительных особенностей от архитектуры TO-BE, поскольку она является довольно примитивной и не имеет сложных связей и решений реализации. Также команда старается жестко придерживаться изначального решения в виде схем, мокапов и диаграмм для воплощении идеи.

2. Пути улучшения архитектуры Одним из возможных путей улучшения архитектуры является использование архитектурной модели MVC, поскольку интерфейс приложения часто изменяется. Также возможно внедрение шаблона посредника для взаимодействия некоторых компонентов.

About


Languages

Language:C# 100.0%