Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Критерии выбора средств разработки мобильных приложений (Проблема для выбора средств разработки ПО)

Содержание:

ВВЕДЕНИЕ

Компьютер является устройством, последовательно выполняющим команды, прописанные непосредственно в программе, для его корректной работы необходимы разные программы, составляющее понятие «программного обеспечения» (ПО).

Программное обеспечение часто представляет собой совокупность самых разных программных средств, что обеспечивают работоспособность аппаратных средств для ЭВМ.

Вся совокупность программ, что хранятся на всех аппаратных устройствах в долговременной памяти ПК и составляет его установленное программное обеспечение.

Самая общая классификация программных средств – это классификация, в которой самым главным признаком служит сфера применения программных продуктов, а именно:

– организация имеющегося аппаратного обеспечения (АО) для компьютеров и сетей ЭВМ;

– организация технологии по разработке программ;

– решения и обоснования функциональных задач в самых разных предметных областях.

Все программное обеспечение для персонального компьютера (ПК) развивается, пополняется, совершенствуется постоянно. Стоимость всех установленных на ПК программ зачастую превышает всю стоимость технических устройств.

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

Цель написания курсовой работы – рассмотрение проблемы корректного выбора средств для мобильной разработки.

В представляемой курсовой работе рассматриваются задачи:

– дать характеристику классификации ПО, а именно видов инструментального ПО;

– описать основы теории языков программирования (ЯП);

  • охарактеризовать проблему выбора средств разработки;
  • рассмотреть характеристики основных сред разработки мобильных приложений;
  • дать характеристику основным СУБД и языкам программирования, которые применяются в мобильной разработке.

Объект работы – современное программное обеспечение ПК.

Предметом исследования является проблема выбора методов мобильной разработки.

Развитием главных теоретических основ по указанной тематике занимались такие ученые и программисты, как К.Голдинг, Королюк В.Л., Б.Стауструп, С.Прата и многие другие.

1.ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ ТЕОРИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПК

1.1. Понятие, классификация и определения программного обеспечения

В основу работы каждого ПК положен принцип программного контроля и управления, что состоящий в следующем: каждый компьютер выполняет все действия за заданной программой.

Данный принцип обеспечивает полную универсальность при использовании ПК: в конкретный момент времени может решаться некоторая задача по выбранной пользователем программе.

При нормальном вычислении задач на ПК надо, чтоб программа считалась отлаженной и не требовала никаких доработок, имела также соответствующую документацию. По данной причине, относительно работы с ПК часто используют специальное понятие «программное обеспечение», которым описывается совокупность программ, которая может выполняться вычислительной системой.

К такому ПО относится также и область деятельности по разработке, а также проектированию ПО, а именно:

– технология проектирования программных продуктов (нисходящее проектирование, объектно-ориентированное, структурное проектирование и другие);

– методы тестирования ПО;

– анализ качества ПО;

– методы доказательства правильного работы программ;

– документирование ПО;

– использование и разработка специальных программных средств, которые могут облегчить процесс проектирования ПО. [5]

Программное обеспечение является неотъемлемой частью компьютерной вычислительной системы. ПО является продолжением разработки и усовершенствования технических средств. Вся эта сфера применения для конкретного ПК определяется ранее созданным ПО. Компьютер не обладает знаниями сам по себе в какой-то области применения. Все эти знания сосредоточены при реализации на компьютерах соответствующих программных продуктов.

Программное обеспечение для нынешнего времени составляет тысячи программ, что также предназначены для непосредственной обработки разнообразной информации при разных целях.[4]

Все программы, которые выполняются на компьютере, можно подразделить условно на такие 3 вида (рисунок 1) [12]:

Рисунок 1 – Виды ПО

– прикладные программы дают возможность непосредственно обеспечивать выполнение нужных работ для пользователей;

– системные программы, что предназначены для управления работой конкретной вычислительной системы, а также они выполняют различные функции, к примеру:

  • создание копий для использованной информации;
  • правление ресурсами ЭВМ;
  • выдача справочной информации по запросам пользователей;
  • проверка работоспособности ПК;
  • инструментальные программные системы, облегчающие процесс создания иных программ на ПК.

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

Если же ранее можно было перечислять основные категории ПО: [9]

– операционные системы (ОС);

– совокупности прикладных программ;

– трансляторы;

то в настоящее время ситуация изменилась.

Развитие ПО развивается вглубь (появились новые подходы к построению ОС, ЯП и т.п.), а также вширь (прикладные программы уже далеко не прикладные и приобрели в себе отдельную ценность).

Соотношение для имеющихся программных продуктов и требующимися на рынке может меняться слишком быстро.

Даже классические программы, к примеру, ОС, непрерывно развиваются, при этом наделяются интеллектуальными функциями, многие из них также ранее относились только к интеллектуальным возможностям человека.

Прикладная программа – любая конкретная программа, что может способствовать решению какой-то определенной задачи в пределах проблемной области.

Все такие прикладные программы могут иметь также общий характер, к примеру, выполнять обеспечение печати документов.

В противоположность этому, например, ОС или другое инструментальное ПО вовсе не вносит прямого вклада для процесса удовлетворения конечных потребностей конкретного пользователя.[14]

вот это к общему програмному обеспечению

Рисунок 2 – Основные категории ПО

Прикладные программы могут также применяться либо в автономном режиме, а именно выполнять решение поставленных задач без помощи иных программных продуктов, или в составе разных комплексов или программных пакетов.

Самыми встречающимися прикладными программами являются: [19]

– редакторы документов;

– правовые базы данных;

– системы управления БД;

– табличные процессоры;

– графические редакторы;

– системы автоматизированного проектирования;

– разные интегрированные системы.

Системные программы могут выполняться также вместе с прикладными, они служат для управления всеобщими ресурсами ПК – центральным микропроцессором, памятью и т.д. [3]

Это программы для общего пользования, что предназначаются для всех имеющихся пользователей в ПК. Системное ПО должно разрабатываться так, чтоб ПК мог эффективно реализовать разные прикладные программы.

Все системное ПО также направлено [6]:

– на обеспечение эффективной работы самого компьютера, вычислительной сети;

– на проектирование операционной среды для работы других программ;

– на проведение разной профилактики и диагностики компьютерной аппаратуры компьютера;

– на выполнение технологических и других вспомогательных процессов (восстановление, архивирование, копирование файлов и БД и прочее).

Данная категория программных продуктов тесно повязана с типом компьютера, является его неотъемлемой составной частью. Программные продукты ориентированы в основном на опытных пользователей – специалистов в IT-области: [7]

– оператора ПК;

– администратора сети;

– прикладного программиста;

– системного программиста.

Хотя знание основной технологии по работе с данным классом программ требуется также конечным пользователям ПК, что самостоятельно не лишь работают с своими созданными программами, но и выполняют обслуживание ПК.

Программные продукты указанного класса носят всеобщий характер применения, а также и вне зависимости от разного рода специфики определенной предметной сферы. К ним также могут предъявляться высокие требования в надежности и технологичности.[11]

Системное ПО можно подразделить на:[15]

– базовое;

– сервисное.

1.2. Инструментальное ПО

Инструментальные программные средства являются программами, которые применяются непосредственно в ходе разработки, их развития или корректировки иных системных или же прикладных программ.

Инструментальная программа может оказать помощь для практически всех стадий разработки программ.

К инструментальным программам можно отнести:

– средства компоновки ПО;

– вспомогательные программы, что реализуют часто используемые операции в системе;

– редакторы текстов и других средств мультимедии;

– отладочные программы, что помогают устранять ошибки в работе программ;

– графические пакеты программ.

Системы программирования – системы для создания новых программных средств на определенном ЯП.[2]

Современные системы программирования часто предоставляют пользователям удобные средства по разработке программ.

К ним можно отнести:

– интегрированные среды разработки;

– интерпретаторы или компиляторы;

– средства редактирования текстов;

– обширные библиотеки по стандартных функциях программ;

– отладочные программы;

– "дружественная" диалоговая система;

– встроенный ассемблер;

– встроенная справочная система;

– многооконная работа с программами;

– мощные графические библиотеки;

– другие особенности ПО.

Транслятор – программа-переводчик, что преобразует программу, которая написана на одном с современных ЯП высокого уровня, в программу, машинных команд.

Трансляторы реализуются в виде интерпретаторов или компиляторов. С точки зрения функционирования интерпретатор и компилятор различаются существенно друг от друга.

К примеру, компилятор читает целиком полностью всю программу, также делает ее перевод, при этом создает законченный вариант уже написанной программы.

Интерпретатор выполняет процесс перевода программы построчно.[2]

После того, как все программы откомпилированы, ни исходный код программы, ни сам компилятор более не используются.

В это время программы, что обрабатываются интерпретатором, должны также заново переводиться непосредственно в машинный язык при каждом запуске программ.

Все откомпилированные программы могут работать намного быстрее, но интерпретируемые проще изменять или исправлять.

Популярные системы программирования следующие:

– Quick Basic;

– Borland C++;

– Turbo Pascal;

– Borland Delphi и пр.

В первом разделе работы рассмотрены основные определения о программном обеспечении ПК, подробно рассмотрены главные группы программного обеспечения, охарактеризовано инструментальное программное обеспечение ПК.

2. ХАРАКТЕРИСТИКА СРЕДСТВ ДЛЯ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ

2.1. Проблема для выбора средств разработки ПО

В настоящее время есть множество программных продуктов, что также позволяют в самые сжатые сроки качественно выполнить разработку программных продуктов для разных предметных сфер деятельности.

К таким относятся программные средства:

– Visual C++;

– Delphi;

– С++ Builder;

– Visual Basic;

– Java Builder и другие.

Использование программных средств такого типа является оправданным, когда нужно в самые сжатые сроки создать приложение с удобным интерфейсом.[2]

Приняв во внимание все перечисленные выше аргументы, для создания разного рода программных продуктов целесообразно применить средства быстрой разработки – RAD.

Для функционирования практически любого программного комплекса, также необходима некоторая программная среда, в простейшем случае – ОС. В сложных ситуациях, если система обрабатывает очень большое количество данных, необходимо поддерживать в актуальном состоянии и присутствующую СУБД.

Для обоснованного выбора RAD-средства часто нужна оценка продуктов по критериям.

Непосредственно получить оценку программных средств можно со специальных источников. Хотя указанная оценка дается, имея всю специфику разработки для приложения.

Рациональный выбор средств для разработки приложений можно выполнить лишь в контексте определенного ими проекта и конкретной компании, которая ведет всю разработку.[5]

Поэтому для правильной и корректной оценки всех средств по разработке приложения очень нужна качественная оценка экспертов, которые также ознакомлены с спецификой приложения и вопросами для его модификации. [8]

Во внимание принимаются также различные критерии по самой оценке качества программного продукта, такие, что учитывают все аспекты для всех разрабатываемых программных средств, а именно:

– доступность программных средств;

– cоответствие выбранных программных компонентов уровню программиста;

– возможность программных средств для разработки профессиональных приложений;

– жизнеспособность компаний изготовителей для программных средств, возможность обновления, наличия более новых версий программных продуктов;

– качественная оценка средств по надежности, а также производительности и удобства разработки;

– возможность перехода непосредственно с однопользовательского варианта в сетевой;

– стыковка с большим спектром других СУБД, а также возможности переноса БД в другие программные средства;

– модульный принцип построения ПО;

– возможность подключения к самым разным корпоративным сетям, а также поддержка постоянно развивающихся web-технологий;

– скорость процесса компиляции приложения;

– наличие всей документации в электронном исполнении, а также справочных систем;

– скорость функционирования приложения;

– простота ЯП;

– наличие интегрированного отладчика программы ;

– обработка исключительных ситуаций и прочее.

2.2.Классификация ЯП и программных средств

Быстрое развитие вычислительной техники сопровождается всегда созданием и совершенствованием уже существующих методов, средств общения программистов – ЯП.[11]

Под ЯП понимают представления данных, записи алгоритмов для их непосредственной обработки, которые выполняются ЭВМ автоматически. В абстрактном виде каждый ЯП – это средством создания программных приложений.

К настоящему времени созданы уже десятки самых различных языков: от самых примитивных – до близких к обычному человеческому. Чтоб разобраться во всем многообразии ЯП, нужно рассмотреть их классификацию, историю и тенденции развития.

Для понимания тенденции развития языков, надо знать их движущие направления в эволюции.

Языками так называемого низкого уровня (до 1965 г.) называются все языки для ассемблеров, что представляют каждую команду в машинном коде, не как числа, а с применением некоторых условных и символьных обозначений. [14]

Однозначное преобразование одной из таких машинных инструкций в команду ассемблера называют транслитерацией. Поскольку все наборы инструкций для моделей процессора отличаются чем-то, то конкретной компьютерной архитектуры может соответствовать и свой язык ассемблера, а записанная на нем практически любая программа может примениться только в такой среде.

При помощи ЯП низкого уровня можно также создавать очень компактные эффективные программы, ведь каждый разработчик получает доступ к разным возможностям микропроцессора.

Хотя и при этом:

– требуется хорошо понимать полностью все устройство компьютера,

– сильно будет затруднена отладка огромных программных продуктов,

– результирующая программа не может быть всегда перенесена на ПК другой архитектуры.

Такие языки обычно могут применяться при написании драйверов для устройств, небольших системных программ, модулей стыковки с имеющимся оборудованием.

Языки высокого уровня (с 60-х гг 20 века) значительно понятнее человеку, чем персональному компьютеру. Особенности указанных конкретных компьютерных архитектур тут не учитываются, поэтому все создаваемые программы на разных уровнях исходных текстов легко переносимы на платформы.

Разрабатывать такие программы с помощью ЯП высокого уровня при использовании мощных и понятных программных команд значительно проще, ошибок при создании их будет допускаться меньше.[17]

Языки программирования можно разделить делят на 5 поколений:[1]

– Первое поколение ЯП. Конец 40-х гг, когда компьютеры лишь появились. Первый ЯП ассемблера, который был создан по принципу «одна инструкция – одна строка кода».

– Второе поколение. С начала 60-х – до середины 60-х годов – разработан так называемый символический ассемблер, где появилось понятие переменной.[13]

Основными примерами ЯП является:

– Fortran (1954-1955);

– Algol-60 (1958-1959);

– Cobol (1957-1961);

– Lisp (1957);

– Basic (1964);

– PL/1 (1962).

Третье поколение. С конца 60-х годов – появились первые универсальные ЯП высокого уровня, при этом с их помощью удается решать задачи практически в любых областях:[13]

– АЛГОЛ-68;

– СИМУЛА-67;

– ПЛ/1.

Такие качества ЯП, как простота, независимость от обычного компьютера и возможность для применения мощных синтаксических методов и конструкций, позволяют резко увеличить производительность труда всех разработчиков. Подавляющее большинство ЯП этого поколения применяется и сегодня.

Появляются новые развитые системы для написания программ с оптимизирующими, специализированными текстовыми редакторами, отладочными модулями трансляторов, макробиблиотеками, библиотеками стандартных программ, средствами диалоговой отладки или анализа в терминах ЯП.

Разрабатываются развитые ОС, самые первые СУБД, многие системы автоматизации документирования, системы для управления имеющейся программной конфигурацией.

Четвертое поколение. С середины 70-х годов – по настоящее время – ЯП такого поколения предназначены для качественного использования в крупных программных проектах, повышают также их надежность, скорость проектирования, ориентированы на специальные сферы применения, используют универсальные, проблемно-ориентированные ЯП, которые оперируют также конкретными понятиями в узкой области.

В эти ЯП также встраиваются специальные мощные операторы, которые имеют возможность одной строкой описать всю функциональность, для ее реализации потребовались бы несколько тысяч инструкций кода.

Типовым представителем ЯП данного этапа является Pascal. Компонентный подход лежит также в основе всех программных технологий, разработанных при применении COM (компонентная модель для объектов), а также и технологии создания самых разных распределенных приложений под названием CORBA.

Такие технологии используют самые разные сходные принципы, различаются только особенностями для их реализации.[18]

Технология СОМ фирмы Microsoft является качественным продуктом развития технологии обработки данных OLE (внедрение, связывание объектов).

Технология СОМ определяет полную всеобщую парадигму взаимодействия для различных программ: [12]

– приложений;

– операционной системы;

– библиотек.

То есть, позволяет только одной части ПО использовать разные функции (или службы), что предоставляют другой частью, независимо от этого, могут ли функционировать такие составные части в границах только одного процесса, в самых различных процессах на ПК (рисунок 3).

http://ok-t.ru/studopediaru/baza1/935020372156.files/image085.jpg

Рисунок 3 – Взаимодействие компонентов программ различных типов

Пятое поколение. С начала 90-х гг и по настоящее время – к данному поколению относят системы для автоматического создания прикладных программ при использовании визуальных средств разработки, без знания принципов программирования.

Основная идея, что закладывается в указанные языки, – это возможность для автоматического формирования результата универсальных языков программирования.

К тому же, все инструкции вводятся непосредственно в ПК в максимально наглядном виде при применении методов, которые наиболее удобны человеку, что вообще не знаком с основами программирования.

К таким языкам можно отнести:[20]

– Cи;

  • Modula-2;
  • Java;
  • Prolog;
  • Smalltalk;
  • Ada;
  • C++;

– C#.

Во второй главе курсовой работы рассмотрены основные этапы развития языков программирования разных уровней, рассмотрены типовые программные средства ранних этапов развития, изучены принципы выбора многих средств для разработки ПО.

3. ХАРАКТЕРИСТИКА ПРОГРАММНЫХ СРЕДСТВ ПРИ СОЗДАНИЯ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

3.1.Среда разработки Android Studio

Android Studio – это интегрированная среда разработки от компании Google, при помощи которой разработчикам являются доступными инструменты для разработки приложений платформе Android.

Android Studio можно устанавливать на Windows, Mac, Linux. Учетная запись для разработчика приложений в Play App Store Google стоит $25. Стоит отметить, что Android Studio создавалась на основании IntelliJ IDEA (рисунок 4).

Результат пошуку зображень за запитом "Android Studio"

Рисунок 4 – Интерфейс Android Studio

IDE доступна для бесплатной загрузки. В ней присутствуют макеты создания UI, то есть, с чего начинается обычно работа над приложением.

В рассматриваемой среде содержатся инструменты по разработке решений для смартфонов, планшетов, новые технологические решения:

– Android Auto;

– Android TV;

– Android Wear;

– Glass и другие контекстуальные модули (рисунок 5).

Рисунок 5 – Типы проектов в Android Studio

Среда Android Studio предназначается как для небольших групп разработчиков мобильных приложений, так и для крупных международных организаций с разными подобными Git-системами управления версиями.

Все опытные разработчики могут выбрать инструменты, что больше подходят для проектов разных масштабов.

Решения для Android в Android Studio разрабатываются с использованием языка программирования Java, Kotlin или C++.

В основе выполнения рабочего процесса в Android Studio заложен принцип непрерывной интеграции, который позволяет сразу же обнаруживать разные проблемы.

Продолжительная проверка программного кода обеспечивает возможность обратной связи с разными разработчиками. Такая опция дает возможность быстрее опубликовать версию созданного мобильного приложения в Play App Store.

Для этого также присутствует поддержка инструментов типа LINT, Pro-Guard, а также App Signing.

При помощич средств оценки производительности часто определяется состояние файла непосредственно с пакетом прикладных программ. Процесс визуализации графики дает возможность определить, соответствует ли приложение принципам Google в 15 миллисекунд.

С использованием инструмента для визуализации памяти программист узнает, когда именно его приложение будет применять слишком много памяти и когда выполнится «сборка мусора».

Все инструменты для анализа работы батареи показывают, какая именно нагрузка приходится на мобильное устройство.

Android Studio является совместимой с платформой App Google Engine для интеграции в облаке API и функций.

При этом, в среде разработки можно найти различные API, к примеру, Android Pay, Google Play и Health.

Также присутствует поддержка всех современных платформ Android, начиная сразу с Android 1.6.

Eclipse – это бесплатная среда разработки от некоммерческой организации Eclipse Foundation. По сути дела, сама программа – это основа, к которой подключаются различные модули. Например, Java Development Tools (для создания приложений на Java), C/C++ Development Tools (для разработки программ на языке C или C++) и т. д. (рисунок 3).

Благодаря активному развитию, а также поддержке со стороны компании и сторонних разработчиков, на данный момент у этой IDE имеются следующие преимущества:

  • Официальная русификация интерфейса и документации;
  • Отличная производительность на слабых машинах;
  • Большое число дополнений (например, для работы с сервером, базой данных и т. д.);
  • Возможность подключения модулей (об этом было сказано выше);
  • Возможность групповой разработки.

Результат пошуку зображень за запитом "Интерфейс Eclipse android"

Рисунок 6 – Интерфейс Eclipse

Eclipse была очень популярна несколько лет назад и считалась монополистом на рынке IDE для Android. Однако в связи с выходом Android Studio, в 2014 г. Google перестала поддерживать Eclipse как основную среду для разработки приложений под Android.

IntelliJ IDEA. Разработкой данной среды программирования занимается отечественная компания JetBrains. Как и Eclipse, эта среда разработки даёт возможность создавать программы на нескольких языках программирования. Помимо этого, среда обладает мощным движком и огромными возможностями.

Если рассматривать программирование под Android между IntelliJ IDEA и Eclipse, то первый вариант предпочтительнее, т. к. у этой среды имеются неоспоримые преимущества относительно своего конкурента:

  • Более быстрая отладка значений;
  • Автозаполнение методов (также реализовано в Eclipse, но пока в тестовом варианте);
  • Наличие рефакторинга (автоматического подбора значений);
  • Более удобный интерфейс;
  • Отлично подходит для программирования на Java.

Главный недостаток – это наличие платной версии.

3.2. Языки программирования и утилиты, применяемые для разработки ПО

Одним из последних существенных новшеств среди инструментов по разработке мобильных приложений под ОС Android является язык программирования (ЯП) Kotlin.

Это статически типизированный ЯП, которые поддерживает процедурное и объектно-ориентированное программирование.

Основными преимуществами рассматриваемого ЯП является:

– возможность компиляции в байт-код при использовании JVM;

– поддержка библиотек и фреймворков ЯП Java;

– открытость исходного кода;

– низкий порог вхождения в изучение.

Стоит отметить, что рассматриваемый язык имеет также возможность расширения функциональности имеющихся классов, не используя принцип наследования. Многие разработчики данное свойство считают причиной внедрения ЯП Kotlin в Android Studio.

Расширение функциональности классов достигается посредством так называемых функций-расширений.

Еще одной особенностью ЯП Kotlin является возможность выполнения «умного» приведения типов. В большинстве случаев нет надобности указывать в явном виде операторы приведения типов, так как можно использовать встроенный оператор is.

Кроме указанных выше особенностей ЯП Kotlin стоит отметить и имеющиеся инструменты для разработки функций высшего порядка – подпрограмм, которые могут принимать в качестве своих атрибутов другие функции, лямбда-выражения, анонимные функции.

Основными элементами языка Kotlin являются:

– классы;

– функции;

– трейты;

– внешние функции.

Для хранения данных в приложениях ОС Android можно воспользоваться несколькими инструментами, к примеру:

– СУБД SQLite;

– СУБД FireBase.

SQLite – это постоянно усовершенствуемая библиотека, которая применяется в качестве автономного хранилища данных для мобильных приложений.

Сама по себе СУБД требует минимальной поддержки для внешних библиотек или операционной системы. Это является удобным фактором для использования ее в локальных программах, которые испытывают недостаток в качественном хранилище данных, инфраструктуре поддержки.

Еще одной положительной стороной СУБД является тот факт, что SQLite приспособлена для применения в приложениях, что должны работать без корректировки на разнообразных устройствах с изменяющейся конфигурацией.

Большинство механизмов БД на основании SQLite сделаны как отдельные процессы сервера. Программы, обращающиеся к базе данных, виртуально связываются с сервером, применяя некоторое взаимодействие процессов (по аналогии с протоколом TCP/IP), чтобы послать запрос серверу и обработать полученные результаты.

В SQLite процесс, который хочет обратиться непосредственно к базе данных, пишет и читает информацию непосредственно из файлов БД на жестком диске.

Это минимизирует посреднические процессы сервера.

Среди наилучших и самых популярных облачных технологий типа BaaSs (Backend-as-a-service) можно выделить СУБД Firebase от компании Google.

Firebase является постреляционной СУБД, которая применяется в качестве виртуального хранилища данных для мобильных приложений, которые функционируют с помощью подключения к сети Интернет.

Firebase является базой данных, изменяющейся в реальном времени и в себе хранит данные формата JSON. Любые изменения в БД сразу же синхронизируются между клиентами, или устройствами, которые используют одну базу данных. Иными словами, обновление данных в БД Firebase происходят мгновенно.

Кроме хранилища, Firebase предоставляет также пользовательскую аутентификацию, в результате чего все данные передаются с помощью защищенного соединения SSL.

Интерфейс СУБД показан на рисунке 7:

введите описание изображения здесь

Рисунок 7 – Интерфейс СУБД Firebase

Пакет разработчика Firebase в себе объединяет интуитивно понятные API, которые дают возможности выполнять авторизацию, содержат библиотеки для аналитики и классические постреляционные хранилища данных. [11]

Главные преимущества Firebase:

1. Скорость обработки данных. В пакете Firebase собраны модули, которые ускоряют и упрощают разработку качественных мобильных приложений:

– оптимизатор;

– нормализатор данных;

– пакет драйверов для соединения с программами, которые работают на разных платформах, но имеют одну базу данных. [11]

2. Готовая инфраструктура имеет возможность применять в приложениях сложную программную архитектуру или работать сразу с несколькими программными платформами или операционными системами.

3. Статистика. В основании Firebase лежит бесплатный инструмент для выполнения аналитических исследований, специально разработанный для мобильных устройств. Google Analytics позволяет получать информацию о действиях пользователей, авторизированных в приложении, и сразу принимать меры при использовании дополнительных функций.

4. Кроссплатформенность. СУБД Firebase работает практически на любых платформах с помощью внедренных пакетов разработчика для iOS, Android, JavaScript и C++. Кроме этого, есть возможность обращаться к данным СУБД Firebase, применяя серверные библиотеки, а также REST API.

5. Масштабируемость. Если созданное мобильное приложение станет популярным, то в результате нагрузка на него значительно возрастет и необходимо будет искать пути для расширения возможностей и увеличения скорости доступа к информации.[5]

СУБД Firebase имеет функции, которые выполнят расширение вместимости хранилища данных, оптимизируют его в зависимости от количества обращений к нему.

ЗАКЛЮЧЕНИЕ

К основным программным продуктам, а также их средствам для создания могут быть предъявлены особые требования по непосредственной их надежности, помехоустойчивости для функционирования, эффективности, а также выбора модели хранения информации.

Часто ставятся разные задачи для получения конкретных результатов за определенное время, которое не превышает заданное заказчиком. Значительное и повсеместное внимание также может быть уделено отладке, а также и процессу тестирования – как отдельных частей, так и полностью всей системы.

Все требования по программному средству строго могут фиксироваться и могут формализоваться непосредственно в техническом задании.

К главным требованиям можно отнести такие:

– кроссплатформность;

– удобность в использовании;

– поддержку современных технологий для написания программ.

Очень большое внимание также уделяется именно планированию разного рода работ, организации ее непосредственно в коллективе специалистов.

Внедрение на эксплуатацию разного рода программных средств предваряется выполнением проведения испытаний в полностью реальных или же специально подготовленных условиях.

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

В процессе написания курсовой работы были реализованы задачи:

– дана характеристика классификации ПО, а именно видов инструментального ПО;

– описаны основы теории языков программирования (ЯП);

  • охарактеризована проблема выбора средств разработки;
  • освоено выполнение выбора необходимых программных средств;
  • дана характеристика основным понятиям о средствах разработки мобильных приложений.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Бобровский С. Самоучитель программирования на языке Java М.: ИНФРА-М, 2015.–251 c.
  2. Бочков С. О. Язык программирования Java для персонального компьютера. — М.: Радио и связь, 2016. — 384 с.
  3. Бруно Бабэ. Просто и ясно о Java: Пер. с англ. - Москва: БИНОМ, 2014. – 400с.
  4. Джосьютис Н. М. Java. Стандартная библиотека. Для профессионалов: Пер. с англ. — СПб.: Питер, 2014. — 730 с.
  5. Исаев Г.Н. Моделирование информационных ресурсов: теория и решение задач: Учебное пособие. - М.: Альфа-М : ИНФРА - М. 2017 - 224с.
  6. Керниган Б. В. Язык программирования Java: Пер. с англ. — 3-е изд. — СПб.: Невский Диалект, 2014. — 352 с.
  7. Липпман С. Б. Качество ПО. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2014. — 1104 с.
  8. Липпман С. Б. Основы программирования на Java: Пер. с англ. — М.: Вильямс, 2016. — 256 с.
  9. Лишнер Р. STL. Карманный справочник: Пер. с англ. — СПб.: Питер, 2015. — 187 с.
  10. Мартишин С.А., Симонов В.А., Храпченко М.В. Проектирование и реализация баз данных в СУБД MySQL c использованием MySQL Workbench: Учебное пособие. - М.: ИД. "Форум" : ИНФРА - М. 2015-160с.
  11. Мейерс С. Эффективное использование STL: Пер. с англ. — СПб.: Питер, 2017. — 224 с.
  12. Оллисон Ч. Философия Java. Практическое программирование. С.Петербург 2014. – 608 с.:ил.
  13. Онков Л.С., Титов В.М. Компьютерные технологии в науке и образовании: Учебное пособие. - М.: ИД. "Форум" : ИНФРА - М. 2016-224с.
  14. Послед Б.С. Java. Разработка приложений баз. М.: 2015г. -360 г.
  15. Светлов Н.М., Светлова Г.Н. Информационные технологии управления проектами: Учеб. пособие. -2-е издание., перераб. и доп. - М.: ИД. "Форум" : ИНФРА - М. 2016-232с.
  16. Страуструп Б. Язык программирования Java: Пер. с англ. — 3-е спец. изд. — М.: Бином, 2017. — 1104 с.
  17. Холингворт Д. Проектирование программных продуктов. – Наука.–М.: 2016. –865 с.
  18. Черников Б.В., Поклонов Б.Е. Оценка качества программного обеспечения практикум: Учебное пособие. - М.: ИД. "Форум" : ИНФРА - М. 2017-400с.
  19. Эккель Б. Философия создания программ: Пер. с англ. — 2-е изд. — СПб.: Питер, 2014. — 572 с.
  20. Юпашников A.M. Жизненный цикл. — М.: МИФИ, 2014. – 360 c.