На разработку мобильного приложения «ЧМТТ» на платформе Android
1. Наименование работ
Разработка мобильного приложения для студентов и преподавателей.
2. Сроки выполнения работ
Работы должны быть выполнены в течение 88 (восемьдесят) рабочих дней.
3. Термины и понятия
ActionBar – компонент пользовательского интерфейса, позволяющий выполнять действия в рамках всего приложения. Крайняя левая кнопка в виде стрелки назад называется Home.
Home – кнопка в Action bar, в виде иконки приложения, нажатие на которую ведет на главный экран приложения. В Android аналогичную роль выполняет компонент Navigation Drawer.
Layout – пользовательский интерфейс отдельного экрана приложения или его части.
Overflow – кнопка Action bar в виде трех точек. Располагается справа в Action bar и содержит дополнительную функциональность, которая не поместилась или не была отражена в Action bar.
Pitch-To-Zoom– жест двумя пальцами по экрану телефона, который увеличивает или уменьшает масштаб выбранного компонента на экране.
Sharing - публикация информации о чём-либо в социальных сетях и блогах.
Splash screen – заставка приложения. Открывается перед главным экраном приложения при старте. Во время отображения экрана происходит загрузка данных. Скрывается по окончанию загрузки.
5. Общие сведения
Основная задача приложения: помощь студентам и преподавателям в учебном процессе.
6. Мобильное приложение
· Приложение поддерживает возможность работы в портретной ориентации экрана.
· Локализация приложения предусматривает русскую версию пользовательского интерфейса.
· Версия поддерживаемых Android устройств выше Android SDK 4.3
· Разрешения экранов Android : mdpi (320x480 px), hdpi (480x800px), xhdpi (720x1280px), xhdpi (768x1280px).
Документ представляет собой описание возможностей приложения в рамках функциональности отдельных экранов приложения.
Требования к Приложению:
· Дизайн мобильного приложения должен быть выполнен в одном стиле с основным сайтом.
· Приложение должно состоять из следующих окон:
Экран №1 – Главное окно приложения, содержит две кнопки «Абитуриенту» и «Расписание», а также логотип приложения (Название техникума и аббревиатура)
Экран №2 – Меню приложения, выполненное c помощью Navigation Drawer
Меню должно содержать следующие пункты:
1. Новости
2. О техникуме
3. Контакты
4. Студенту
5. Дополнительное образование
6. Мы в сети
Также дополнительный пункт «Поделиться»
Пункты меню должны вести на соответствующие экраны, выполненные с помощью Fragments
Экран №3 – Новости
Содержит текстовый контент.
Экран №4 - О техникуме
Должен содержать фотографию здания техникума и текст.
Экран №5 – Контакты
Должен содержать номера телефонов и адреса корпусов техникума.
Экран №6 – Студенту
Должно содержать объявления в виде текста
Экран №7 – Дополнительное образование
Должно содержать номера телефонов руководителей курсов и названия курсов
Экран №8 – Мы в сети
Должен содержать адрес сайта техникума. Краткое описание сайта.
Экран №9 – Абитуриенту
Должен содержать названия специальностей и профессий, на которые осуществляется набор.
Экран №10-Расписание
Должен быть выполнен в виде Scrolling Activity, и содержать информацию о занятиях в виде таблицы.
7. Серверное приложение
Необходимо реализовать серверное приложение, обеспечивающее работу мобильных приложений системы. Серверное приложение должно реализовывать REST API для взаимодействия с мобильными приложениями. Формат сериализации данных JSON.
Также серверное приложение должно поддерживать двухстороннюю синхронизировано с 1С-Рарус по заявкам и статусу заявок.
Возможные языки реализации: PHP, Python, Java, ASP.NET
Панель администратора
Необходимо реализовать веб-приложение, которое позволяет хранить информацию о входящих заявках пользователей в виде лог-листа.
Роли в системе
Администратор
Имеет возможность:
· Вносить изменения в раздел «Расписание»,
· Вносить изменения в раздел «Новости».
7. Бюджет на разработку приложения составляет 25 $
ПРИЛОЖЕНИЕ Д
|
|
|
|
ПРИЛОЖЕНИЕ Е
Рисунок 5. Иконка приложения ЧМТТ
Рисунок 6. Фоновое изображение
для главного экрана приложения (Экран №1)
ПРИЛОЖЕНИЕ Ж
Код activity main.xml (активности, содержащей главное меню)
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"/>
</android.support.v4.widget.DrawerLayout>
Рисунок 7. Графическое представление activity main.xml
ПРИЛОЖЕНИЕ З
Код content_main.xml (активности, содержащей главное меню)
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.deitel.myapplication.MainActivity"
tools:showIn="@layout/app_bar_main"
android:id="@+id/container">
</FrameLayout>
Рисунок 8. Графическое представление content_main.xml
ПРИЛОЖЕНИЕ И
Код Android_Manifest.xml (активности, которая определяет работу всего приложения в целом)
?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.deitel.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/TransparentStatusBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information. -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
</application>
</manifest>