Файл: Критерии выбора средств разработки мобильных приложений (Разработка требований к мобильным приложениям).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 12.03.2024

Просмотров: 21

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание:

ВВЕДЕНИЕ

В современном мире, рынок разнообразных фреймворков, имеющих прямое отношение к мобильным устройствам, достаточно велик. Многие средства сливаются воедино, при этом имея разные технологические функции [2] Из всех существующих фреймворков можно вычеркнуть те, которые предназначены для разработки web-приложений, разнообразные enterprise-решения, средства прототипирования.

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

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

По версии TIOBE, в 2017 году Java стала языком программирования, обойдя в гонке С, С++ и ещё 17 языков-номинантов, и на сегодняшний день не теряет своей актуальности даже несмотря на то, что про Java-язык существует более 20 лет и успел обрасти мифами и домыслами.

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

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

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

По статистике, Java установлена на 97% процентах корпоративных компьютеров, около трех миллиардов телефонов имеют инструменты, написанные на Java.

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

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


Основное применение – серверная часть приложений, веб- и не очень веб-приложений, всякие корпоративные системы - что-то крупное, тяжеловесное.

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

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

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

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

Для разработки тяжелых и больших программ выбирают Java, потому что она быстрая (вопреки мифам, которые говорят о медленности языка), ее производительность можно сравнить с С++, также стоит отметить что стоимость разработки будет меньше, чем с тем же С++.

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

Безопасность данных для одна из ключевых аспектов Java. Там есть настройки, которые позволяют заблокировать исполнение определенного кода. После выхода каждой версии Java, половина патчей для нее – это security-patch.

Если компания не хочет переходить на новую версию, а старую уже не поддерживают, то можно заказать платную поддержку у Oracle.

Для небольших проектов Java актуальна, если он задействует приличное количество данных. Для простого сайта-визитки нет смысла, стоимость серверов Java выше, потому что она очень требовательна к ресурсам – это не делает ее медленней, просто потребляет больше, чем PhP.


1. Описание задачи на исследование и проектирование

1.1 Формулировка и описание и задачи

Игра «Жизнь» была изобретена в 1970 году британским математиком Джоном Хортоном Конвеем [18]. Конвей проявил интерес к проблеме, которая была очевидна в 1940-х годах математиком Джоном фон Нейманом, который стремился найти гипотетическую машину, которая обладала способностью создавать копии себя и была бы успешной. Тогда он обнаружил математическую модель для такой машины с очень сложными правилами на прямоугольной сетке. Таким образом, «Игра жизнь» была способом упрощения идей фон Неймана. Это самый известный пример клеточного автомата, который представляет собой любую систему, в которой правила применяются к ячейкам и их соседям в регулярной сетке. Мартин Гарднер популяризировал «Игру жизнь», написав две статьи для своей колонки «Математические игры» в журнале Scientific American в 1970 и 1971 годах.

Игра представляет собой взаимодействие с «нулевым игроком», что означает, что ее эволюция определяется ее начальным состоянием, не требуя дальнейшего ввода. Игрок взаимодействует с Game of Life, создавая первоначальную конфигурацию и наблюдая за тем, как она развивается.

Вселенная игры «Жизнь» – это бесконечная двумерная ортогональная сетка квадратных ячеек, каждая из которых находится в одном из двух возможных состояний, живых или мертвых (или населенных и незаселенных, соответственно). Каждая ячейка взаимодействует со своими восемью соседями, которые являются ячейками, которые расположены по горизонтали, вертикали или по диагонали. На каждом шаге во времени происходят следующие переходы:

  • любая живая клетка с менее чем двумя живыми соседями умирает, причина – недостаточно потенциала для развития;
  • любая живая клетка с двумя или тремя живыми соседями живет в следующем поколении.
  • Любая живая клетка с более чем тремя живыми соседями умирает, причина – перенаселение.
  • Любая мертвая клетка с ровно тремя живыми соседями становится живой клеткой, причина – рождение от живых соседей.

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


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

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

В «Жизнь» происходит много разных типов паттернов, которые классифицируются по их поведению. Общие типы шаблонов включают: объекты, которые не меняются от одного поколения к другому; объекты, которые возвращаются в исходное состояние после конечного числа поколений; и объекты, которые двигают себя через всю сетку.

Самые ранние интересные образцы в «Жизни» были обнаружены без использования компьютеров. Вместе с тем таковая игра преобладает неугасающим интересом из-за своей хаотичности: предсказание того, какие именно объекты будут воспроизведены на определенной итерации, в большинстве своем остается загадкой. И по сей день открываются новые типы объекты, которые могут оставаться неизменными в течении продолжительного времени, как и изобретаются новые виды вариаций для игры, меняя ее правила для получения более интересного с точки зрения исследования результата.

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

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

  1. Блок;
  2. Лодка;
  3. Буханка;
  4. Улей.

Рисунок 1 – Шаблоны состояний: блок, лодка, буханка и улей

Игра «Жизнь» родилась из исследований Клода Шеннона и Джона Маккарти. Книга, в которую входит эссе о машинах Тьюринга, пробудила в Конвее увлечение механизмами, способными к спонтанному движению. И в то время, как другие энтузиасты автоматизации в шестидесятых мечтали собрать самореплицирующие машины, которые бы колонизировали Марс, Конвей стремился к фундаментальной простоте. Фактически, игра «Жизнь» началась как попытка упростить двумерную автоматическую машину Джона фон Неймана - абстракцию, в которой квадрат мог быть в одном из 29 возможных состояний. Однако определяющим состоянием квадрата были состояния окружающих четырех квадратов, которые также находились в любом из 29 состояний. Таким образом, машина допускала для разных конфигураций 20,155,149 (29 ^ 5), что делало ее в глазах Конвея «чрезмерно сложной». Вместо этого он представлял собой одномерную универсальную машину.


Усилия по реализации этой мечты начались в 1965 году. В этом году он собрал команду аспирантов в Кембридже с четкой целью разработки простой, но универсальной автоматизированной машины. Конвей назвал эти машины «бессмысленными играми», и в течение трех лет Конвей и его ученики придумали сотни игр. Хотя Game of Life – самый популярный продукт, который выходит из этого проекта, Конвей приблизился к своей мечте с помощью других машин.

1.2 Разработка требований к мобильным приложениям

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

Требования к функциональности:

  1. приложение должно позволять задавать начальное состояние;
  2. приложение должно позволять менять параметры системы (размер поля);
  3. приложение должно позволять сохранять состояние системы;
  4. приложение должно позволять загружать ранее сохраненное состояние системы;
  5. приложение должно позволять “вмешиваться” в симуляцию системы, добавляя или удаляя клетки (расширение исходных правил);
  6. приложение должно позволять задавать скорость развития системы.

Требования к использованию:

  1. приложение должно быть выполнено в виде интуитивно понятного интерфейса;
  2. приложение должно выполнять все предъявленные требования к функциональности;
  3. приложение должно позволять использовать мышь для взаимодействия.

Требования к надежности:

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

Требования к производительности:

  1. специальных требований к приложению не предъявляется;
  2. операционная система должна обладать минимальных набором характеристик для воспроизведения приложения.

Требования к поддерживаемости:

  1. приложение требует для своей работы специализированную программу (JRE);
  2. приложение должно быть кроссплатформенным;

Дополнительные требования:

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