Файл: Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений (Каскадная модель разработки программной системы).pdf
Добавлен: 31.03.2023
Просмотров: 454
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Жизненный цикл разработки программной системы
1.1. Каскадная модель разработки программной системы
1.2. Спиральная модель разработки программной системы
1.3. Этапы жизненного цикла проекта автоматизации
Глава 2. Тестирование и отладка программной системы
2.3. Организация процесса тестирования
Глава 3. Реализация программной системы
ВВЕДЕНИЕ
Актуальность данной работы обусловлена тем, что в современных условиях технологического прогресса особую важность приобретают вопросы, связанные с оптимизацией разработки программных систем. Актуализируется проблема сокращения времени разработки программных систем, что требует использования новых подходов к управлению этапами жизненного цикла разработки программных систем. В этой связи, развитие стандартов по разработке программных систем, взаимодействия отечественных и зарубежных организаций по стандартизации, что во многом определяет актуальность темы исследования, требует разработки теоретических основ и практических рекомендаций по управлению жизненным циклом программных систем.
К международным организациям по стандартизации относятся следующие: ISO - International Organization for Standardization, ITU - International Telecommunication Union, IEC - International Electrotechnical Commission.
Модель жизненного цикла представляет собой определенную структуру, которая состоит из процессов, работ и задач, которые включают в себя разработку, эксплуатацию и сопровождение программной системы, охватывающая жизнь программной системы от выполнения установки требований к ней до завершения ее использования. Основными моделями жизненного цикла программных систем являются каскадная и спиральная модели.
Положительные стороны использования каскадного подхода в процессе разработки программной системы заключаются в следующем: на всех этапах формирования конечного набора проектных документов, которая отвечает четким критериям по полноте и согласованности; выполняемые этапы работ позволяют соблюдать поставленные сроки по завершению необходимых работ и осваивать некоторые затраты на разработку программной системы.
Для преодоления проблем при использовании каскадной модели разработки программной системы была предложена спиральная модель жизненного цикла, делающая упор на начальных этапах жизненного цикла: анализ и проектирование.
Основным стандартом, определяющим структуру жизненного цикла, является ГОСТ Р ИСО/МЭК 12207-02.
Объект исследования – программные системы.
Предмет исследования – жизненный цикл программной системы.
Целью данной работы является изучение этапов разработки, тестирования и ввода в эксплуатацию мобильных приложений.
В соответствии с целью была определена необходимость постановки и решения следующих задач:
– описать каскадную модель разработки программной системы;
– описать спиральную модель разработки программной системы;
– описать этапы жизненного цикла проекта автоматизации;
– описать процесс тестирования и отладки программной системы;
– разработать программную систему.
Глава 1. Жизненный цикл разработки программной системы
1.1. Каскадная модель разработки программной системы
Модель жизненного цикла представляет собой определенную структуру, которая состоит из процессов, работ и задач, которые включают в себя разработку, эксплуатацию и сопровождение программной системы, охватывающая жизнь программной системы от выполнения установки требований к ней до завершения ее использования[1].
К настоящему времени наиболее распространенными являются следующие модели жизненного цикла программной системы:
– каскадная модель (70-80-е годы 20 века);
– спиральная модель (80-90-е годы 20 века)[2].
В изначально разрабатываемых однородных программных системах все приложения представляли собой единое целое. Для разработки таких типов приложений использовался каскадный способ разработки программной системы.
Основной характеристикой каскадной модели разработки программной системы является разбиение всей системы на определенные этапы, причем переход от каждого этапа на следующий выполняется только после того, как будет полностью завершены работы на текущем этапе, что отображено на рис. 1.
Все этапы завершается запуском полного комплекта документов, достаточных для того, чтобы дальнейшая разработка могла вестись другой командой разработчиков[3].
Положительные стороны практического использования каскадного подхода в процессе разработки программной системы заключаются в следующем:
– на всех этапах формирования конечного набора проектных документов, которая отвечает четким критериям по полноте и согласованности[4];
– выполняемые этапы работ позволяют соблюдать поставленные сроки по завершению необходимых работ и осваивать некоторые затраты на разработку программной системы[5].
Рисунок 1 – Каскадная схема разработки программной системы
Каскадный подход хорошо зарекомендовал себя в процессе непосредственной разработки программных средств, для которых в начале разработки выполнения разработки можно достаточно полно и точно сформулировать необходимые требования, для предоставления разработчикам свободы в практической реализации их как можно эффективней с технической точки зрения[6].
К данной категории относятся прикладные программные системы реального времени, сложные расчетные прикладные программные системы и другие подобные задачи[7].
Однако, следует отметить, что в процессе практического применения данного подхода появляется определенные его определенные недостатки, которые вызваны прежде всего тем, что реальный процесс по созданию программной системы никогда в полной мене не укладывался в такую жесткую схему[8].
В процессе непосредственного создания прикладной программной системы постоянно возникают определенные потребности в возврате к предыдущим этапам и уточнении или пересмотру ранее принятых решений по разработке.
В результате реальный процесс по созданию программной системы принимает следующий вид, представленный на рис. 2.
Рисунок 2 – Схема реального процесса разработки программной системы по каскадной схеме
Основным недостатком каскадного подхода является существенное запаздывание с получением результатов. Согласование результатов с пользователями производится только в точках, планируемых после завершения каждого этапа работ, требования к ИС «заморожены» в виде технического задания на все время ее создания[9].
Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания программной системы пользователи получают систему, не удовлетворяющую их потребностям. Модели автоматизируемого объекта могут устареть одновременно с их утверждением.
1.2. Спиральная модель разработки программной системы
Для преодоления проблем при использовании каскадной модели разработки программной системы была предложена спиральная модель жизненного цикла, делающая упор на начальных этапах жизненного цикла: анализ и проектирование. На перечисленных этапах реализуемость технических решений может быть проверена за счет создания прототипов системы[10].
Каждый виток спирали соответствует созданию определенных фрагментов или версии программной системы, на нем уточняются характеристики и цели проекта, определяется его качество и выполняется планирование работ следующего витка спирали. Схема спиральной модели жизненного цикла представлена на рис. 3.
Таким образом, углубляются и последовательно конкретизируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации.
Рисунок 3 – Схема спиральной модели жизненного цикла
Разработка итерациями отражает объективно существующий спиральный цикл по созданию программной системы[11]. Неполное завершение работ на всех этапах позволяет выполнить переход на следующий этап, не дожидаясь завершения работы на текущем этапе. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации[12].
Основной проблемой спирального цикла является определение момента перехода на следующий этап разработки программной системы. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
1.3. Этапы жизненного цикла проекта автоматизации
Понятие жизненного цикла является одним из ключевых понятий методологии непосредственного проектирования информационных систем. Жизненный цикл информационной системы – это непрерывный процесс, начинающийся с момента принятия соответствующего решения о создании информационной системы и заканчивающийся в момент полного изъятия ее из эксплуатации[13].
Основным стандартом, определяющим структуру жизненного цикла, является ГОСТ Р ИСО/МЭК 12207-02. Согласно стандарту структура жизненного цикла основывается на трех группах процессов:
– основные процессы (заказ, поставка, разработка, эксплуатация, сопровождение);
– вспомогательные процессы:
-
- документирование – работы по разработке, выпуску, редактированию, распространению и непосредственному сопровождению документов, в которых нуждаются все заинтересованные лица[14];
- управление конфигурацией включает работы: определение и установление состояния прикладных программных объектов в системе; управление изменениями и выпуском объектов; обеспечение полноты, совместимости и правильности информационных объектов; управление хранением, обращением и поставкой объектов;
- обеспечение качества – работы по обеспечению соответствия создаваемой информационной системы и реализуемых процессов жизненного цикла установленным требованиям и утвержденным планам[15];
- верификация – работы соответствующего субъекта по проверке соответствия создаваемых промежуточных результатов установленным требованиям по мере реализации программного проекта;
- аттестация – работы соответствующего субъекта по проверке полного соответствия требований и конечного продукта функциональному назначению системы;
- совместный анализ – работы по оценке текущего состояния или результатов какой-либо непосредственной работы программной системы[16];
- аудит – работы независимых экспертов по определению соответствия деятельности субъекта принятым требованиям, планам и условиям договора;
- разрешение проблем – работы по непосредственному анализу и устранению проблем, обнаруженных при непосредственной реализации проекта.
– организационные:
- управление проектами – работы по планированию и управлению процессами, включая контроль, проверку и оценку выполненных работ с формированием отчетности;
- создание инфраструктуры проекта – работы по установлению и обеспечению инфраструктуры, необходимой для любого другого процесса;
- усовершенствование – работы по оценке, контролю и улучшению процессов жизненного цикла;
- обучение – работы по планированию и проведению обучения персонала, включая разработку учебных материалов. При этом под персоналом понимаются не только конечные пользователи, которые будут эксплуатировать систему, но и разработчики системы, рис. 4.