УДК 004.421
Макаров В.И. студент 4 курса
факультет «Информатика и вычислительная техника» Поволжский Государственный Университет Телекоммуникаций и Информатики
Россия, г. Самара
МЕТОДЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ
МОБИЛЬНЫХ ПЛАТФОРМ
Аннотация:
В статье анализируются методы применяемые при разработке программ для мобильных и стационарных устройств, а так же дается характеристика особенностей разработки каждого из приведенных методов, подробное описание их основных качеств и главных особенностей. Так же рассматривается вопрос классификации мобильных приложений по основным признакам типов поведения таких как разновидность работы, который рассматривает приложения с точки зрения их поведения при запуске и непосредственном использовании, и по роду деятельности мобильного программного обеспечения, который включает в себя положения разделяющиеся в зависимости от области в которой они функционируют.
Ключевые слова: анализ, разработка, методы разработки, особенности методов разработки, мобильное приложение, классификация мобильных приложений, жизненный цикл программного обеспечения.
Makarov V.I. student
4 year, Faculty "Computer Science and Computer Engineering", Volga State University of Telecommunications and Informatics
Russia, Samara
METHODS FOR DEVELOPING SOFTWARE FOR MOBILE
PLATFORMS.
Annotation:
The article analyzes the methods used in the development of programs for mobile and fixed devices, as well as describes characteristics of the development of each of these methods, a detailed description of their basic qualities and main features. The issue of classifying mobile applications according to the main characteristics of types of behavior such as the kind of work that considers applications from the point of view of their behavior during start-up and direct use, and the kind of activity of mobile software that includes positions that are divided according to the region in which they function.
Keywords: analysis, development, development methods, features of development methods, mobile application, classification of mobile applications, software life cycle.
Все мобильные приложения условно можно поделить на программы для рабочих целей и на развлекательные программы. Первые позволяют контролировать и оптимизировать рабочие процессы, составлять аналитическую отчетность, выполнять иные функциональные задачи. Вторые - позволяют интересно и разнообразно проводить время.
Однако, как показывает практика, большим спросом сегодня пользуется специализированный софт. Также именно на таких программах можно делать неплохие деньги, ведь современные компании не жалеют инвестиций в продукты, которые могли бы в какой-либо степени оптимизировать или упростить имеющиеся бизнес-процессы.
На протяжении последних лет показатель, характеризующий уровень спроса на мобильные устройства, постоянно растет. Такая статистика позволяет сделать вывод о том, что разработка мобильных приложений актуальна и целесообразна!.
Мобильное приложение - это программный продукт, предназначенный для использования на мобильных устройствах оснащенных операционной системой!. Мобильные приложения могут быть установлены на устройстве с завода изготовителя либо скачаны с флэш - носителей или загружены из онлайн магазинов, где за это может взиматься плата либо доступны в бесплатном доступе.
' Для того чтобы наглядно рассмотреть достоинства и недостатки существующих типов мобильных приложений, приведем в качестве примера сравнительную таблицу основных критериев см. табл. 1.__
Вид мобильного Доступ к фукционалу Скорость работы Стоимость разработки Распространение через магазин Процесс одобрения
приложения устройства
Нативный Полный Очень высокая Высокая Доступно Обязательный
Гибридный Полный Очень высокая Приемлемая Доступно Малозатратный
Веб- Частичный Высокая Приемлемая Не доступно Отсутствует
приложение
Таблица 1. Сравнение основных видов мобильных приложений.
Классифицировать мобильные утилиты можно по нескольким типам, например по разновидности работы:
1. Приложения переднего плана. К ним относят программы работающие в моменты, когда никаких других не активизировано, например мобильные игры.
2. Фоновые приложения. Используются в те моменты, когда требуется произвести настройку
3. Смешанные программы. Работают в обоих выше перечисленных режимах, хотя и располагают определенной степенью интерактивного воздействия. К ним можно отнести мобильные антивирусные программы.
4. Виджеты. Приложения отображающие информационные
сообщения на рабочем столе. В качестве примера можно привести утилиты, предоставляющие информацию о заряде батареи мобильного устройства или время.
5. Сложные приложения. К ним относятся, например, программа -утилита, которая включает в себя следующие инструменты: очистка кэш памяти, отображение информации о мобильном устройстве, удаление установленных приложений.
Классификация мобильных приложений по роду их деятельности:
1. Контентные приложения. Обладают большой популярностью, основные задачи которые они выполняют это: прослушивания музыки, просмотры фильмов и фотографий, чтения цифровых книг и журналов. Так же ним можно отнести информационные приложения, например предоставляющие информацию о погоде, расписания городского транспорта, свежих новостях, рецепты или разработанные специально к каким либо намечающимся событиям, таких как спортивные чемпионаты, выставки или форумы. Ну и конечно специальные рекламные приложения.
2. Бизнес приложения. Сделаны для помощи в офисной работе, расчетах, обмене служебными данными, а также обеспечивающие доступ к интернет -магазинам, платежным системам и банковским счетам. На данный\ момент сегмент бизнес -приложений является более интересным для инвесторов, но сложность состоит в переводе бизнес -задач на мобильные устройства.
3. Мобильные игры - это наиболее востребованный сектор мобильных приложений.
4. Мобильные социальные сети. Данный вид с каждым днем набирают все большую популярность, увеличивая многочисленную аудиторию во всех странах мира, чему способствует развитие мобильного интернета расширяющего свою доступность по всей планете.
В процессе создания любого программного обеспечения выделяют понятие жизненного цикла программного обеспечения. Жизненный цикл -множество процессов, происходящих с момента изначального утверждения решения о разработке программного продукта, до его окончательного вывода из использования.
Модель жизненного цикла - это схема выполнения определенных задач в процессах, поддерживающих разработку, эксплуатацию и сопровождение программного обеспечения, а так же отражающая жизненный цикл, начиная от первоначальных требований к ней и довывода из эксплуатаций.
Разработка модели жизненного цикла основывается на изначальной идее проектируемого программного обеспечения, его стандартов, предоставляющих возможность сформировать схему исполнения работ по предпочтению разработчика и заказчика. Модель жизненного цикла делится на процессы осуществления, которые включают в себя работы и задачи, производимые в определенном процессе, и при их окончании реализовывать
переход к следующим процессам модели. Моделей жизненного цикла существует множество, но только три из них классифицируются как основные: каскадная, спиральная, эволюционная.
Каскадная модель жизненного цикла (см. рис. 1) реализует, принцип одинарного исполнения каждого из основных процессов и этапов в их определенных рамках. Переход на следующий этап реализуется после того, как будет произведена работа на текущем этапе, и откатов на осуществленные стадии не предусмотрено. Каждый этап заканчивается приобретением определенного результата, который используется в качестве базовой информаций для следующего этапа.
Рисунок 1. Каскадная модель жизненного цикла ПО. Исходя из понятия данной модели, а так же учитывая её особенности можно выделить основные достоинства и недостатки данной модели
Критерии оценки: Признаки:
Достоинства: • на каждой стадии формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности. • выполняемые в логичной последовательности стадии работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
Недостатки: • реальный процесс создания программного обеспечения никогда полностью не укладывался в такую жесткую схему. Результаты очередной стадии часто вызывают изменения в проектных решениях, выработанных на более ранних стадиях.
Таблица 2. Достоинства и недостатки каскадной модели жизненного
цикла ПО.
Исходя из необходимости редактирования процессов и промежуточного продукта, была реализована спиральная модель (см. рис. 2).
Рисунок 2. Спиральная модель жизненного цикла ПО.
В данной модели жизненного цикла допускается анализ программного обеспечения на витке разработки, его проверку, оценивание правильности и принятия решения о переходе на виток реализаций выше либо откат для осуществления доработки. Различие данной модели от каскадной выражается в том, что спиральная модель обеспечивает многократное возвращение к изначальному этапу формулировки требований и повторному возобновлению разработки от любого этапа произведения работ. Каждая версия разработки системы соответствует витку спирали жизненного цикла. При возникновений необходимости редактирования системы в определенном этапе, обязательно осуществляются корректировки в заранее зафиксированные требования, после чего производится откат к предыдущему процессу витка спирали для дальнейшей разработки новой версии системы с учетом поправок. Достоинства и недостатки спиральной модели можно просмотреть в таблице 3._
Критерий оценки:
Признаки:
Достоинства Модели:
• позволяет быстрее показать пользователям системы работоспособный продукт, тем самым, активизируя процесс уточнения и дополнения требований;
• допускает изменение требований при разработке информационной системы, что характерно для большинства разработок, в том числе и типовых;
• обеспечивает большую гибкость в управлении проектом;
• позволяет получить более надежную и устойчивую систему;
• позволяет совершенствовать процесс разработки -анализ, проводимый в каждой итерации, позволяет проводить оценку того, что должно быть изменено в организации
разработки, и улучшить ее на следующей итерации; • уменьшаются риски заказчика. Заказчик может с минимальными для себя финансовыми потерями завершить развитие неперспективного проекта.
Недостатки модели: • увеличивается неопределенность у разработчика в перспективах развития проекта. Этот недостаток вытекает из предыдущего достоинства модели; • затруднены операции временного и ресурсного планирования всего проекта в целом.
Таблица 3. Достоинства и недостатки спиральной модели жизненного
цикла ПО.
Эволюционная модель (см. рис. 3) реализуется в виде последовательности блоков структур. Действия в этапах разработки в этой модели выполняется многократно, но в единой последовательности, что для общего блока структуры.
Вследствие того что промежуточные блоки структуры соответствуют реализации определенных целей, их реализация осуществляется на этапах сопровождения и эксплуатации, т.е. в параллели с процессом разработки блоков.
Анализ применимости
модели +
Обследование заказчика
Рис. 3. Эволюционная модель жизненного цикла ПО.
Достоинства и недостатки эволюционной модели жизненного цикла приведены в таблице 4._
Критерии оценки: Признаки:
Достоинства: • быстрая реализация некоторых функциональных возможностей системы и их апробирование; • использование промежуточного продукта в следующем прототипе; • выделение отдельных функциональных частей для реализации их в виде прототипа; • возможность увеличения финансирования системы; • обратная связь устанавливается с заказчиком для уточнения функциональных требований; • упрощение внесения изменений в связи с заменой отдельной функции.
Недостатки: • реализация всех функций системы одновременно может привести к громоздкости; • ограниченные человеческие ресурсы заняты разработкой в течение длительного времени.
Таблица 4. Достоинства и недостатки эволюционной модели жизненного цикла.
Процессы жизненного цикла предназначены для: анализа и установления оптимальных параметров системных требований, решения задач по проектированию верхнего уровня системы. Обычно разработка жизненного цикла для любых программ начинается с определения основной идеи, далее проделывает путь через все этапы разработки, производства, эксплуатации и мониторинга программного продукта. При этом жизненный цикл постоянно редактируется в зависимости от назначения программы.
Жизненный цикл мобильного приложения по мнению Романа Белодеда (основателя компаний по разработке программного обеспечения для мобильных устройств e - Legion) особо не чем не отличается от каскадной модели жизненного цикла для программ персональных компьютеров._
Этапы жизненного цикла: Функции этапа:
Установка цели • определение основной аудитории пользователей; • определение основной аудитории пользователей; • разработка концепции и путей привлечения аудитории.
Анализ требований: • определение требований к программе; • технического задания.
Проектирование интерфейса и строение программного кода • разработка дизайна; • схема экранов; • черновых прототипов; • план использования программы; • модель классов высшего уровня.
Утверждение дизайна • разработка модели высокой детализации;
интерфейса: • испытание его пользованием.
Программирование и настройка функций: • клиент; • сервер; • безопасность; • проведение модульных тестов;
Тестирование: Исследование по тест - кейсам на соответствие первоначальным ожиданиям.
Развитие и обновление(новый релиз): Взаимодействие с пользователями в плане улучшения программы и функций появившихся ошибок.
Отказ от поддержки: Утилизация продукта.
Таблица 5.Этапы жизненного цикла мобильного приложения. Использованные источники:
1. Зигард М., Программирование под Android [Текст] / М. Зигард, Д. Лайрд, М. Блейк, М Накамура - СПб.: Питер, 2014. - 560 с.
2. Заварыкин, В. М. Основы информатики и вычислительной техники. [Текст] / Заварыкин В.М Житомирский В.Г., Лапчик М.П. — М.: Пр15 освещение, 2010 - 310 с.