Файл: Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений..pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. Жизненный цикл и существующие стратегии разработки программного продукта

1.1. Понятие программного продукта

1.2. Понятие жизненного цикла

1.3. Основные стратегии разработки программных продуктов

1.4. Возможные классификации проектов разработки

1.5. Модели полного жизненного цикла

1.6. Гибкие методики разработки программного продукта.

2.1. Составление технического задания и выбор методологии

2.2. Планирование и оценка

2.3. Аналитика

2.4. Дизайн приложения

2.5. Разработка

3. Тестирование и ввод в эксплуатацию мобильного приложения

3.1. Тестирование

3.1.1. Определение необходимых типов тестирования мобильным приложений

3.1.2. Тестовые случаи и разработка сценариев тестирования приложения

3.1.3. Ручное и автоматическое тестирование

3.1.4. Тестирование юзабилити и бета-тестирование

3.1.5. Тестирование производительности

3.1.6. Аттестационное тестирование и тестирование безопасности приложения

3.1.7. Тестирование устройства

3.2. Добавление приложения в магазин

3.3. Дальнейшая техническая поддержка и маркетинговое продвижение приложения

ЗАКЛЮЧЕНИЕ

Библиография

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

СТБ ИСО/МЭК 12207-2003. Информационная технология. Процессы жизненного цикла программных средств. Это общепринятый стандарт, в котором описываются основные понятия жизненного цикла программного продукта, прикладное применение стандарта, основные процессы жизненного цикла, вспомогательные процессы жизненного цикла и организационные процесс жизненного цикла. Данный стандарт является аутентичным аналогом международного стандарта ISO/IEC 12207: 1995. Именно отсюда можно взять все основные понятия, а так же этапы жизненного цикла программного продукта.


Фатрелл Р., Шафер Д., Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. М., 2003. Эта книга посвящена вопросам, возникающим на различных стадиях подготовки программных проектов, начиная с разработки программного обеспечения и завершая рассмотрением каких-либо юридических вопросов, связанных с процессом создания и внедрения программ. Материалы книги соответствуют сертификационным программам менеджмента качества программных проектов Института качества программного обеспечения. Книга очень полезна, так как именно благодаря ей можно больше узнать о том, как улучшить качество и уменьшить сроки выполнения и расходы на этапах разработки и внедрения проектов.

Добрынин А. С. О формировании комплекса инструментальных средств ИТ-провайдера для построения расписаний процесса внедрения сервиса / А. С. Добрынин, С. М. Кулаков, В. В. Зимин, Н. Ф. Бондарь // Научное обозрение. 2013. № 8. С. 93-101. В статье рассматривается механизм решения задачи построения расписаний процесса внедрения сервиса с использованием инструментальных средств провайдера, построенных на базе спектра технологий. Данная статья необходима для понятия вышеописанного механизма. Статья написана доктором технических наук, и опубликована в научно-техническом журнале.

Таким образом, все приведенные источники верифицированы, а значит их можно спокойно использовать – это статьи из научных электронных библиотек, напечатанных в специализированных научных журналах, к примеру – в журналах ВАК, используются также различные ГОСТЫ и несколько учебных пособий.

1. Жизненный цикл и существующие стратегии разработки программного продукта

1.1. Понятие программного продукта

Программный продукт – это комплекса взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации. [1] В данной работе речь пойдет о мобильных приложениях. Это тоже программные продукты. Они могут создаваться как индивидуально – разработка под заказ, так и для массового распространения среди пользователей. Отличительной особенностью любого программного продукта должна быть их системность – функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности [5].


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

1.2. Понятие жизненного цикла

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

Модель жизненного цикла программного продукта зависит от специфики, масштаба и сложности проекта, а так же тех условий, в которой система создается и функционирует [6]. На каждой стадии такого цикла могут выполняться несколько процессов, определенных в стандарте ГОСТ Р ИСО/МЭК 12207 [1], и наоборот – один и тот же процесс может выполняться на различных стадиях.

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

В стандарте СТБ ИСО/МЭК 12207-2003 [1] в качестве одной из основных задач подготовки процесса разработки ПС и систем регламентирована задача выбора модели жизненного цикла разработки с учетом особенностей конкретного проекта. В стандарте ГОСТ Р ИСО/МЭК ТО 15271-2002 [2] определено три основных стратегии разработки программных продуктов и систем. К ним относятся каскадная, инкрементная и спиральная стратегии.


1.3. Основные стратегии разработки программных продуктов

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

Рисунок 1 –Водопадная модель жизненного цикла.

Она была предложена в 1970 году Уинстоном Ройсом, и предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. [2] Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Можно выделить следующие этапы проекта в соответствии с этой моделью:

  1. Формирование требований;
  2. Проектирование;
  3. Реализация;
  4. Тестирование;
  5. Внедрение;
  6. Эксплуатация и сопровождение.

Так же можно выделить ряд достоинств и недостатков такой модели. К преимуществам можно отнести:

  1. Полная согласованная документация на каждом этапе;
  2. Легко определить сроки и затраты на проект.

К недостаткам же каскадной модели относится то, что переход от одной фазы проекта к другой предполагает полную корректность результата предыдущей фазы [2]. Это означает, что неточность какого-либо требования или некорректная его интерпретация в результате приводит к тому, что приходится возвращаться к ранней фазе проекта. Такой «откат» нарушает командный график и вызывает рост затрат.

Таким образом, данная модель может применяться только для создания небольших систем.

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

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


Рисунок 2 –Поэтапная модель с промежуточным контролем.

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

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

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

  1. Очень долгое время отсутствует целостное понимание возможностей и ограничений проекта;
  2. При итерациях приходится отбрасывать часть сделанной ранее работы.
  3. Снижается добросовестность специалистов при выполнении работ.

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

Рисунок 3 – Спиральная модель.

Эта модель была разработана в середине 1980-х годов Барри Боэмом. Основывается она на классическом цикле Деминга PDCA (plan-do-check-act) – это повторяющийся процесс принятия решения, представляющий собой простейший алгоритм действий руководителя по управлению процессом и достижению его целей. Начинается такой цикл с планирования – установления целей и процессов, необходимых для достижения целей, планирование работ по достижению целей процесса и удовлетворение возможного пользователя, а также планирование выделения и распределения необходимых ресурсов. Следующий этап – выполнение запланированных работ. После него идет проверка – сбор информации и контроль результата на основе ключевых показателей эффективности, получившегося в ходе выполнения работы, выявление и анализ отклонений, установление причин отклонений. Завершающий этап такого цикла – воздействие, то есть принятие мер по устранению причин отклонений от запланированного результата, изменение в планировании и распределении ресурсов. При использовании такой модели жизненного цикла программного продукта создается несколько итераций, в данном случае это витки спирали, методом прототипирования [6]. Каждая такая итерация соответствует созданию фрагмента или версии программного продукта. Далее уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируется работа следующей итерации.