Диплом: Создание программы автоматизации формирования коммерческих заказов и их калькуляции для "Всевозможные волшебные вредилки"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
11
одного фреймворка и предоставить широкие возможности для
конфигурирования под нужды программистов. Eclipse предназначена для
широкого круга задач, ее возможности зависят от набора дополнительных
плагинов. Таким образом, Eclipse не предназначена разработчиком для
программирования под Android, поэтому мы будем выбирать между Android
Studio и IntelliJ Idea. [7, 11, 20]
IntelliJ IDEA содержит в себе широкий выбор инструментов для
разработки графического интерфейса, работы с базами данных, совместима с
многими иструментами разработчиков такими как Maven, Kotlin и JUnit.
IntelliJ Idea уже содержит встроенные компоненты для работы с Android, но
там отсутствует Android Emulator и Android SDK. [11]
Android Studio специально создан для разработки под Android на основе
IntelliJ IDEA и всключает в себя все ее достоинства. [5, 14]
Рассмотрим основные функции и возможности Android Studio. Среда
имеет встроенный эмулятор, с помощью которого можно простестировать
приложения на устройствах с разными экранами, с различными
соотношениями сторон. Отличительная особенность эмулятора – просмотр
приблизительных показателей производительности при запуске приложения
на самых популярных устройствах. [20, 32]
Android Studio — официальная среда разработки под Android,
интегрированная среда, разработанная компанией Google на базе IntelliJ IDEA.
По сути, это и есть IntelliJ IDEA, только в сокращенном и адаптированным под
мобильную разработку варианте. Для программистов доступны инструменты
для создания приложений на платформе Android OS. Android Studio может
быть установлен на Windows, Mac и Linux. [5, 10, 21]
Android Studio можно скачать, установить и пользоваться бесплатно. В
ней присутствуют макеты для создания пользовательского интерфейса (UI). В
этой среде программисты могут найти не только инструменты для разработки
решений для смартфонов и планшетов, но и новые технологические решения
12
для Android TV, Android Wear, Android Auto, Glass и другие интересные
дополнительные модули. [16, 21]
Java является объектно-ориентированным языком. Для понимания
работы в данной парадигме необходимы самые основные определения. Ниже
мы приводим определения класса, объекта и пакета. [34, 35]
«Класс – это шаблон или образец, по которому создан объект. Обычно
класс сравнивают с формой для выпечки печенья, а объект – это само печенье.
Конструирование объекта на основе класса называется получением
экземпляра класса». По сути, экземпляр класса и является объектом. [34, стр.
132] «Код любой программы, написанной на Java, находится в пределах
класса». [35, стр. 128]
«Объекты - это экземпляры классов». [35, стр. 128]
В ООП существуют три свойства объектов: поведение, состояние, и
идентичность.
«Поведение объекта – что с ним можно делать и какие методы к нему
можно применять. Состояние объекта – как этот объект реагирует на
применение методов. Идентичность объекта – чем данный объект отличается
от других, характеризующихся таким же поведением и состоянием». [34, стр.
134] Поведение объекта определяется не только прописанными методами, но
и состоянием. Примером состояния может быть поза человека. Если человек
стоит он может: бегать, прыгать, танцевать и т.д. Но все это невозможно из
положения лежа, нужно сначала встать, то есть изменить состояние. Так и
объект может быть закрытым, не активным и т.д. [7, 21]
Обычно при разработке в Java классы объединяются в пакеты. Пакеты
необходимы для логической организации классов. Язык программирование
java имеет неколько встроенных пакетов, каких как java.lang, java.util, java.io и
т.д. Пакеты могут быть вложены в другие пакеты. [14]
«Пакет - это группа логически связанных классов. Пакеты помогают
лучше организовать код и обеспечивают дополнительный уровень
инкапсуляции. Интерфейс определяет набор методов, которые должны
13
присутствовать в классе. В самом интерфейсе эти методы не реализуются,
поэтому он представляет собой чисто логическую конструкцию. Пакеты и
интерфейсы предоставляют дополнительную возможность для более
рациональной организации программ и контроля их структуры». [35, стр. 290].
Возможность объединить классы в пакеты помогает избежать повторения
имен классов, организовать однозначность имен, логически упорядочить
классы. Для указания пакета класса применяется директива package. Общей
рекомендацией при работе с Android Studio является использование
английской раскладки для названий классов, объектов и пакетов. [7, 34]
Таблица 2. Примеры встроенных пакетов java.
Пакет
java.lang
java.io
java.net
java.applet
j ava. awt
В операционной системе Android применяется коллекция пакетов, то
есть связанных группами определенных классов. Примеры встроенных
пакетов мы можем видеть в таблице 2. Некоторые из пакетов используются
только в Android, другие только в Java или Google. Пакеты предназначены для
более удобного и свободного доступа к функциям операционной системы
Android, а также для использования их в различных приложениях. Пакеты
предназначены для упрощения разработки Android-приложений». [12]
Создание в в Android Studio пользовательского интерфейса возможно
как с помощью кода на языке Java, так и с помощью встроенного визуального
редактора. [15]
14
Управление приложениями в операционной системе Android не такое
как в Windows. Для управления программой используются различные жесты и
касания. Выбор того или иного способа управления продиктован желанием
сделать работу с приложением интуитивно-понятной и простой. [5, 10]
Таблица 3. Жесты и касания в приложениях.
Жест
Действие
Результат
Касание
Краткое касание один
раз
Нажатие кнопки,
выбор в меню или
открытие
приложения
Двойное касание
Краткое касание два
раза
Изменение масштаба
изображения
Долгое нажатие
Касание и
удерживание
Выбор в меню или из
списка
Смахивание
Быстрое движение
пальцем по экрану в
различных
направлениях
Прокрутка,
перелистывание
страниц
Масштабирование
Касание экрана
двумя пальцами
одновременно с
последующим их
движением к друг
другу или в разные
стороны
Увеличение или
уменьшение
масштаба
Перетаскивание
Касание и
перетаскивание
Перемещение
объектов
[5,10]
15
Жесты и касания, указанные в таблице 3 можно так же назвать
событиями. Допустим, мы создали пользовательский интерфейс программы и
на этом остановились. Мы касаемся, перетаскиваем, но ничего не происходит,
потому что мы не задали обработку событий пользователя. [5,15]
Обработка событий - это работа программ с графическим
пользовательским интерфейсом. Для того чтобы построить грамотный
пользовательский интерфейс с обработкой событий, нам нужно понять суть
обработки событий в Java. [15, 16]
Обработка событий в программе происходит опосредованно с
операционной системой Android. Любые события обрабатываются и
передаются программе. Для создания программного кода, предназначенного
для обработки событий предназначена библиотека AWT или SWING,
программист должен указать путь передачи событий от их источников к их
исполнителю или слушателю, то есть к тому объекту или методу для которого
они предназначались. Таким образом, слушатель – это тот объект, которого
уведомляют о событии. [5, 15]
Обработка событий в Java строиться на модели делегирования событий
(delegation event model), в которой источник извещает о событии одного или
нескольких слушателей. [17]
Методы источников позволяют им связываться со слушателями и
посылать извещение когда происходит событие. Внутри объекта события
обычно инкапсулируется информация о событии. [21]
Источники событий содержат методы, позволяющие связывать их со
слушателями. Когда происходит соответствующее событие, источник
посылает извещение всем объектам слушателя, зарегистрированным для
этого. Класс java.util.EventObject предназначен для объектов событий. [35]
Таким образом, наше приложение будет представлять собой базу
данных, которая соединена с программной оболочкой. Приложение будет
находится на устройстве пользователя, отправлять запросы и получать
информацию от БД. Таким образом, нам нужна база данных и приложение,
16
которое с ней бы взаимодействовало. Таким образом, нам нужно рассмотреть
создание базы данных а так же программный доступ к ним из приложения на
Android.
17
1.3. Базы данных в приложениях на Android
В данной работе нам необходимо работать с базами данных. Для
обеспечения взаимодействия Java-приложения с СУБД необходим стандарт
JDBC (Java DataBase Connectivity). Всё работа JDBC основана на драйверах,
которые отмечены в URL. JDBC который является частью платформы Java и
поделен на два пакета: java.sql и javax.sql. [14, 15]
JDBC — это набор классов и интерфейсов для работы с базами данных,
который определяет способ общения приложения с разными базами данных.
В алгоритме работы не может быть различий при выборе нами той или иной
СУБД. Конечно, сами запросы могут быть разными. Таким образом, нам
нужен именно тот JDBC драйвер, который работает с выбранной нами СУБД,
то есть с MySQL. [23]
Как мы уже говорили, SQL-запросы могут служить двум целям:
получение информации (SELECT) и изменение информации (INSERT,
UPDATE и DELETE). Для получение информации применяется метод
интерфейса Statement — executeQuery().[16, 34]
Класс Statement содержит три метода: executeQuery, executeUpdate и
execute. Метод еxecuteQuery используется в запросах, результатом которых
является один единственный набор значений, таких как запросов типа
SELECT. [16, 34]
Метод executeUpdate используется для выполнения операторов
управления данными типа INSERT, UPDATE и DELETE. Метод execute
удобен когда необходимо возвращать более одного набора данных. Таким
образом, нам будет необходимо применять два метода класса Statement:
executeQuery и executeUpdate. [16, 34]
Перейдем к вопросам разработки базы данных. Базы данных (БД)
являются основой многих программ и сайтов, широко применяются в
приложениях для бизнеса, играх. Рассмотрим, что же такое базы данных, ниже
приведены различные определения баз данных. [16, 32]
18
«Базы данных представляют собой основы многих компьютерных наук,
следовательно изучение данной области является основой профессиональных
знаний, умений и навыков». [27, с. 5]
«База данных (БД) — именованная совокупность данных, отражающая
состояние объектов и их отношений в рассматриваемой предметной области».
[31, с. 8]
«База данных – совокупность структурированных, взаимосвязанных,
динамически обновляемых данных определенной предметной области.
Предметная область – часть реального мира (например, промышленное
предприятие, учебное заведение, организация, работающая в сфере услуг и
т.д.) подлежащая изучению с целью ее автоматизации, если предметная
область уже автоматизирована, хотя бы частично, но требуется провести
мероприятия по реорганизации существующей автоматизированной системы,
иногда применяется термин, проблемная область». [27, с. 6]
«База данных (БД) совокупность данных, организованных по
определенным правилам, предусматривающим общие принципы описания,
хранения и манипулирования данными, которые относятся к определенной
предметной области». [1, с. 214]
«База данных, как правило, представляет собой группу объектов,
которая включает по крайней мере набор объектов таблиц, а также чаще всего
другие объекты, такие как хранимые процедуры и представления,
относящиеся к определенной совокупности данных, которые хранятся в
таблицах базы данных». [3, с. 31]
«База данных – совокупность данных, организованных по
определенным правилам, предусматривающим общие принципы описания,
хранения и манипулирования данными, независимая от прикладных
программ». [27, с. 7]
Базы данных отличаются следующими характеристиками:
1) Емкость, так как базы данных предназначены для хранения больших
объемов информации.
19
2) Адекватные средства проверки, отслеживания и защиты. Нет ничего
более ценного чем информация. Пропажа или раскрытие третьим лицам
документов, содержащих коммерческую тайну может нанести непоправимый
вред предприятию.
3) Многопользовательская среда базы данных предназначена для
одновременного доступа нескольких пользователей с разными правами на
получение и обработку информации. При этом, база данных должна быть
защищена от посторонних пользователей и перекрывать доступ к данным,
которые уже обрабатываются тем или иным пользователем.
4) Поиск информации. Скорость поиска нужной информации
определяет нашу продуктивность в работе с данными.
5) Гибкость, возможность быстрых изменений. Если условия работы,
возможности организации внезапно стали иными, должна быть возможность
поменять характеристики базы данных, не переписывая ее заново.
6) Интуитивно понятный интерфейс. Пользователи базы данных будут
работать с ней через графический интерфейс, который должен быть простым
и понятным. Все новые сотрудники должны осваивать работу с базой данных
в максимально короткие сроки. Если они знают азы работы на компьютере,
обойтись без обучения. [18]
Выделяют следующие модели баз данных:
Иерархическая модель
Сетевая
Реляционная
Объектно-ориентированная
В настоящее время основными являются реляционная и объектно-
ориентированная модель. Более новой является объектно-ориентированная
модель, так же ООП возможности включаются в давно признанную
реляционную модель. Реляционные базы данных имеют в официальные
стандарты SQL, в отличие от объектно-ориентированных баз данных. [4]
20
Рассмотрим подробнее реляционную модель. «Одно из
распространенных заблуждений состоит в том, что термин “реляционность”
своим происхождением обязан отношениям (relations) между таблицами. На
самом деле это строго математический термин, который с некоторой натяжкой
можно интерпретировать как “таблица”». [18 , с. 23]
Таким образом, мы можем заключить, реляционная база данных
является коллекцией таблиц с полями, записями в них, объединенных
различными отношениями и имеющими формальное описание.
«Таблица базы данных — двумерный массив, содержащий информацию
об одном классе объектов. В теории реляционной алгебры двумерный массив
(таблицу) называют отношением». [31, с. 22]
«Таблица — это набор данных по конкретной теме (предметной
области), например, сведения о студентах высшего учебного заведения.
Данные в таблице располагаются в столбцах (полях) и строках (записях)». [1,
с. 217]
«Запись — строка таблицы. Она содержит значения всех признаков,
характеризующих один объект. Число записей (строк) соответствует числу
объектов, данные о которых содержатся в таблице». [31, с. 23]
«Поле — это элементарная единица логической организации данных,
которая соответствует отдельной, неделимой единице информации —
атрибуту. Каждому полю дается имя поля (идентификатор поля внутри
записи), например, «Фамилия»». [1, с. 217]
«Запись — это совокупность логически связанных полей». [1, с. 217]
«В реляционном подходе к построению баз данных используется
терминология теории отношений. Столбец таблицы со значениями
соответствующего атрибута называется доменом, а строка со значениями
разных атрибутов — кортежем». [1, с. 217]
Таким образом, мы видим, что столбец может называться полем, а
строка кортежем или записью.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран