Пояснительная записка (1226228), страница 6
Текст из файла (страница 6)
}
}
@Override
public void endElement(String uri, String localName, String name)
throws SAXException {
super.endElement(uri, localName, name);
if (this.currentMessage != null){
if (localName.equalsIgnoreCase(TITLE)){
currentMessage.setTitle(builder.toString());
} else if (localName.equalsIgnoreCase(LINK)){
currentMessage.setLink(builder.toString());
} else if (localName.equalsIgnoreCase(DESCRIPTION)){
currentMessage.setDescription(builder.toString());
} else if (localName.equalsIgnoreCase(PUB_DATE)){
currentMessage.setDate(builder.toString());
} else if (localName.equalsIgnoreCase(ITEM)){
messages.add(currentMessage);
}
builder.setLength(0);
}
}
startDocument() вызывается при создании документа. startElement() используется при разборе стартового символа. EndElement() производит итоговые действия при завершении разбора очередного символа.
3.3 Реализация интерфейса пользователя
Пользовательский интерфейс может быть разработан с помощью одного из двух методов процедурного (procedural) и декларативного (declarative). Процедурная разработка заключается в использовании программного кода. Декларативный дизайн, с другой стороны, не включает в себя никакого кода для создания интерфейса.
Android пытается сократить разрыв между процедурным и декларативным мирами, позволяя создавать пользовательские интерфейсы, используя и тот и другой стиль программирования. Основой вашей работы может быть Java-код, или же можно почти полностью полагаться на XML описания. Если посмотреть документацию для любого Android-компонента, предназначенного для построения пользовательского интерфейса, — можно увидить и вызовы Java API, и соответствующие декларативные XML-атрибуты, выполняющие те же функции.
Код главного окна приложения описан ниже в структуре XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:background="#8080"
>
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:text="Задание 1"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Задание 2"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Задание 3"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Задание 4"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Задание 5"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Задание 6"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Задание 7"
android:layout_weight="1"
android:layout_height="40dp"
/>
</TableRow>
<TableRow
android:layout_marginTop="150dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:text="Добавить задание"
android:layout_height="50dp"
android:layout_width="wrap_content"
/>
<Button
android:text="Курс"
android:layout_height="50dp"
android:layout_weight="1"
android:layout_width="match_parent"
/>
</TableRow>
</TableLayout>
</RelativeLayout>
Реализация интерфейса активности описания задачи и перехода к решению, приведена ниже.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.pinki.gui.Main3Activity"
android:background="#8080"
>
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="Задача 1"
android:textSize="30dp"
/>
<TextView
android:layout_marginTop="70dp"
android:layout_width="match_parent"
android:layout_height="200dp"
android:text="По заданным координатам построить комплексный чертеж и наглядное изображение точек (в системе трех плоскостей проекции)"
android:textSize="22dp"
/>
<Button
android:layout_marginTop="490dp"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="Решение"
android:textSize="20dp"
/>
</RelativeLayout>
Интерфейс приложения реализован деклатированным методом на языке расширенной разметки XML.
4 Технико-экономическое обоснование проекта
Информационные и коммуникационные технологии активно применяются для передачи информации и обеспечения взаимодействия преподавателя и обучаемого. Обучающие программы составляют обширный класс средств, относящихся к образовательным информационным технологиям. На сегодняшний день они обеспечивают поддержку учебного процесса наравне с традиционными учебно-методическими средствами. Однако по сравнению с традиционными учебно-методическими средствами обучающие программы обеспечивают новые возможности, а многие существующие функции реализуются с более высоким качеством.
Создание приложения позволит сократить временные и трудовые затраты, связанные с задачами, возникающими в процессе обучения студентов.
Отсюда можно сделать вывод, что задача разработки приложения является целесообразной.
Целью разрабатываемого приложения является обучение начертательной геометрии.
Приложение устанавливается на мобильное устройство пользователя. На данный момент наиболее популярной является версия операционной системы Android 4.4.
Выбор технических средств зависит от нескольких факторов:
– минимальные требования для работы операционной системы (Windows 7);
– минимальные требования к средствам разработки программного обеспечения;
– минимальные требования к разрабатываемой системе;
– минимальные требования к пользовательской системе.
Термин «минимальные» включает в себя тот минимум, при котором данный модуль работает. Этих требований часто не хватает для комфортной работы с программой (необходимый минимум для работы с системой без больших временных задержек, без сбоев).
При выборе технических средств необходимо также учитывать движение времени, которое с каждым днем повышает требования аппаратной части.
Предлагаемое ЭВМ для разработки реализации проекта – ноутбук Asus X552WA 90NB06QB-M02110. Характеристики компьютера представлены в таблице 1. Цена – 17 790 рублей.
Таблица 5 – Конфигурация компьютера
| Наименование | Характеристика |
| Размер оперативной памяти | 2 Гб |
| Модель встроенной видеокарты | Radeon HD 8210 |
| Производитель процессора | AMD |
| Количество ядер процессора | 2 |
| Частота | 1000 МГц |
| Объем жесткого диска | 500 Гб |
Предлагаемое пользовательское мобильное устройство – смартфон Samsung SM-J320F Galaxy J3 8Гб. Характеристики смартфона представлены в таблице 2. Цена – 11 999 рублей.
Таблица 6 – Конфигурация смартфона клиента
| Наименование | Цена |
| Размер оперативной памяти | 1,5 Гб |
| Модель процессора | Snapdragon 410 MSM8916 |
| Производитель процессора | Qualcomm |
| Количество ядер процессора | 4 |
| Частота | 1.5 ГГц |
| Объем встроенной памяти | 8 Гб |
Цены на компьютеры даны на 10 июня 2016 года по данным магазина «ДНС» г. Хабаровск.
Таким образом, общая сумма затрат на технические средства и программное обеспечение составит: 29 789 рублей.
4.1 Определение трудоемкости разработки приложения
Для определения трудоемкости разработки приложения необходимо составить перечень основных этапов работ, которые должны быть выполнены. Распределение работ по этапам с указанием трудоемкости их выполнения приведено в таблице 7. Эти данные приняты на основании расчетов, вычисленных в основной части дипломного проекта.
Таблица 7 – Распределение работ по этапам и видам и оценка их трудоемкости
| Этап проведения | Вид работы на данном этапе | Трудоемкость выполнения, чел. - ч. |
| Подготовительный | Сбор данных о предметной области | 40 |
| Определение задач | 25 | |
| Анализ данных | 35 | |
| Создание структуры баз данных | 10 | |
| Этап реализации | Анализ технологий реализации | 25 |
| Разработка интерфейса | 40 | |
| Написание программы | 90 | |
| Заключительный | Отладка программы | 100 |
| Оформление пояснительной записки | 45 | |
| Трудоемкость выполнения дипломной работы | 410 | |
Таким образом, трудоемкость выполнения дипломной работы составляет 410 ч.
4.2 Расчет затрат и доходов при разработке приложения
Определение затрат на разработку приложения производится путем составления соответствующей сметы, которая включает следующие статьи:
– материальные затраты;
– затраты на оплату труда;
– затраты на электроэнергию;
– прочие затраты.
Среднечасовая заработная плата разработчика рассчитывается по формуле (1):
, (1)















