Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Введение
В настоящее время основой любого процесса разработки программного обеспечения (ПО) является понятие жизненного цикла. Все имеющиеся стандарты, технологии и методики, описывают различные этапы жизненного цикла не только с точки зрения функционального наполнения, но и с точки зрения содержания.
Процесс разработки программного обеспечения непосредственно связан с областью управления проектами, так как любой продукт представляет собой уникальный результат. Организация данного процесса определяет основные характеристики проекта – сроки выполнения, бюджет, а также качество выпускаемого продукта [20].
Под жизненным циклом программной системы понимается непрерывный процесс, который начинается с момента принятия решения о необходимости создания системы и заканчивается ее полным изъятием из эксплуатации.
Фактически, жизненный цикл описывается последовательностью определенных этапов. При этом заказчику продукта важно соблюдение требуемых показателей качества.
Актуальность рассматриваемой темы объясняется тем, что максимально заинтересованным человеком в качестве программного продукта является конечный пользователь.
Для того, чтобы правильно выбрать программное обеспечение, предоставляющее решение задач, интересующих пользователя, он заранее стремится оценить качество доступных продуктов. При этом важно учитывать, что убытки от ошибок проектирования и выбора программного продукта могут быть существенными.
Объект исследования данной работы – жизненный цикл программного обеспечения.
Предмет исследования – основные этапы жизненного цикла, а также критерии качества программ.
Цель работы – описать этапы жизненного цикла программного обеспечения, выявить критерии его качества.
Для достижения данной цели предстоит решить ряд задач:
проанализировать литературу по заданной теме;
описать основные термины;
определить этапы жизненного цикла ПО;
определить понятие качества;
рассмотреть критерии качества программ.
При написании работы в качестве опорных источников были использованы следующие: И.В. Степанченко – «Методы тестирования программного обеспечения», А.М. Вендров – «Проектирование программного обеспечения».
1. ЖИЗНЕННЫЙ ЦИКЛ
Структура жизненного цикла ПО определяется в соответствии с международным стандартом ISO/IEC 12207:1995 «Information Technology – Software Life Cycle Processes». Согласно этому стандарту процессом называется совокупность взаимосвязанных действий, направленных на преобразование входных данных в выходные. К характерным свойствам процесса относятся:
исходные задачи;
различные методы решения задач;
исходные данные;
ожидаемые результаты работы.
Процессы жизненного цикла ПО принято делить на три группы, представленные на рисунке 1 [1]:
Рисунок 1 – Процессы жизненного цикла ПО
1.1. Основные процессы
Процесс приобретения состоит из нескольких действий:
инициирование приобретения – формулировка потребностей заказчика, анализ поставленных требований, проверка наличия документации, подготовка и утверждение плана приобретения ПО;
подготовка заявочных предложений – заявочные предложения содержат общие функциональные требования и технические ограничения оборудования;
подготовка и корректировка договора – выбор поставщика, подготовка и заключение договора;
надзор за деятельностью поставщика – данный этап реализуется согласно действий, указанных в блоке аудита заключенного договора;
приемка и завершение работ – тестирование ПО и его выдача заказчику.
Процесс поставки также включает в себя ряд действий:
инициирование поставки – рассмотрение поставщиком всех имеющихся вариантов;
подготовка ответа на заявочные предложения;
подготовка договора;
планирование – разработка плана управления проектом, отражающего организационную структуру, зоны ответственности, технические требования и т.п.;
реализация и контроль;
проверка и оценка;
поставка и завершение работ.
Ключевым процессом создания является процесс разработки, включающий в себя:
подготовительную работу – выбор конкретной модели жизненного цикла ПО;
анализ требований к системе – определение пользовательских требований, функциональных возможностей, а также требований безопасности и надежности;
проектирование системной архитектуры – определение компонентов оборудования;
анализ требований к ПО – определение основных функций, эргономических требований, внешних интерфейсов, требований к данным, безопасности и надежности, документации, эксплуатации и сопровождению;
проектирование архитектуры ПО – проектирование интерфейсов, а также предварительных требований к планам тестирования и интеграции;
детальное проектирование ПО – разработка архитектуры на более низком уровне;
кодирование и тестирование – разработка и тестирование отдельных элементов;
интеграция ПО – сборка элементов;
тестирование ПО – демонстрация работоспособности полученного ПО заказчику;
интеграция системы – сборка всех компонентов;
тестирование системы – демонстрация работоспособности всей системы заказчику;
установка ПО – установка полученного продукта на оборудование заказчика;
приемка ПО – оценка результатов тестирования и окончательная выдача продукта заказчику.
Процесс эксплуатации относится к стороне заказчика и предполагает выполнение следующих действий:
подготовительный этап – планирование работ, необходимых в процессе эксплуатации, установка будущих стандартов эксплуатации, определение процессов тестирования;
эксплуатационное тестирование – тестирование каждой версии продукта;
эксплуатация системы – проверка эксплуатационных сценариев работы в среде, установленной документацией;
поддержка пользователей – разрешение возникающих спорных ситуаций в процессе эксплуатации.
Процесс сопровождения активизируется при любых изменениях ПО или документации. В него входят:
подготовительная работа – планирование работ, а также определение процедуры локализации проблемы;
анализ проблем и запросов на модификацию – анализ входящих сообщений о проблеме, определение типа ошибки, оценка целесообразности модификации;
модификация – изменения программного продукта;
проверка и приемка – проверка целостности полученной системы и утверждение изменений со стороны заказчика;
перенос продукта в другую среду;
вывод продукта из эксплуатации – архивирование ПО и документации [19].
1.2. Вспомогательные процессы
Процесс документирования заключается в формализованном описании всех созданных артефактов. Сюда относятся:
подготовительная работа;
проектирование и разработка;
издание документации;
сопровождение [3].
Процесс управления конфигурацией служит для организации и контроля жизненного цикла
. Он содержит ряд действий:
подготовительная работа – планирование работ процесса;
идентификация конфигурации – определение правил, идентифицирующих отдельные элементы ПО;
контроль за конфигурацией – систематическая оценка модификаций, а также проведение контроля состояния и развития отдельных элементов;
учет состояния конфигурации – регистрация состояния всех элементов, а также подготовка отчетов об их модификациях;
оценка конфигурации – оценка функциональных возможностей продукта, а также соответствия поведения заявленным требованиям;
управление выпуском и поставка – копирование продукта и программной документации.
Процесс обеспечения качества отвечает за соответствие качества разрабатываемого ПО установленным требованиям заказчика. К основным действиям данного процесса относятся:
подготовительная работа – планирование работ процесса;
обеспечение качества продукта – гарантия соответствия функциональных возможностей заявленным требованиям;
обеспечение качества процесса – гарантия соответствия процессов жизненного цикла заявленным требованиям;
обеспечение прочих показателей качества – реализация условий договора и стандарта качества ISO 9001.
Процесс верификации отвечает за соответствие того, что программный продукт полностью соответствует исходным требованиям заказчика. Данный этап состоит из ряда проверок:
соответствие процессов жизненного цикла условия договора;
соответствие полученных спецификация заявленным требованиям;
соответствие системных требований исходным данным заказчика;
корректность стандартов и процедур разработки;
корректность описания данных, логики, интерфейсов;
непротиворечивость степени учета пользовательских потребностей;
корректность интеграции компонентов и системы;
соответствие исходного кода заявленным требованиям;
корректность и тестируемость кода;
полнота и корректность документации [18].
Процесс аттестации – определение полноты соответствия требований заказчика к полученному функционалу. На данном этапе происходит подтверждение и оценка достоверности тестирования полученного ПО.
Процесс совместной оценки предназначен для оценивания работ, ведущихся в рамках реализации ПО. Сюда относится контроль планирования и управления ресурсами, аппаратурой, персоналом, а также инструментальными средствами.
Процесс аудита – проверка, реализуемая независимым компетентным органом для обеспечения оценки степени соответствия ПО заявленным требованиям со стороны заказчика.
Процесс разрешения проблем предусматривает анализ проблем и их решение. При этом все проблемы идентифицируются, описываются и решаются [5].
1.3. Организационные процессы
Процесс управления охватывает управление проектом, а также выпуском продукта. Этот процесс предполагает следующие действия:
инициирование и определение области управления – определение достаточности ресурсов для реализации последующих операций;
планирование – составление графика работ, оценка предстоящих затрат, выделение ресурсов, распределение ответственности, оценка рисков и создание инфраструктуры;
выполнение и контроль;
проверка и оценка;
завершение.
Процесс создания инфраструктуры отвечает за выбор и сопровождение технологий, инструментальных средств и стандартов, которые будут использоваться в процессе разработки. В случае изменения исходных требований, имеющаяся инфраструктура может модифицироваться.
Процесс усовершенствования служит для увеличения показателей производительности ПО. Основой данного процесса является анализ достоинств и недостатков всех этапов разработки.
Процесс обучения предполагает базовое обучение персонала со стороны заказчика навыкам работы с программным продуктом. Также важно не забывать о повышении квалификации [4].
Выводы
В рамках данной главы описан жизненный цикл программного обеспечения.
2. ОСНОВНЫЕ МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА
В различных организациях применяются разные стадии жизненного цикла ПО. Существует ряд базовых моделей, которые наиболее популярны сегодня [17]:
каскадная модель (водопадная) - данная модель, разработанная в 1970 г., впервые формализовала структуру этапов разработки ПО. В ней отражается каскадная стратегия однократного прохода этапов разработки. Основой данной модели является полное формулирование требований со стороны заказчика на начальном этапе. В рамках каскадной модели процесс разработки ПО распадается на ряд последовательных шагов, каждый из которых не может быть начат до завершения предыдущего. Схема каскадной модели представлена на рисунке 2. Стоит подчеркнуть, что каждый шаг по необходимости может сопровождаться различными вспомогательными и организационными процессами, например, верификацией, управлением проектом, обеспечением качества, документированием и т.п.
Достоинства модели:
постоянство требований;
отсутствие цикличности этапов;
простота планирования, контроля и управления;
доступность для понимания заказчиком.
Недостатки:
сложность в полноценном формулировании требований;
линейность структуры – отсутствие возможности возврата к предыдущим этапам;
непригодность промежуточных продуктов;
минимальное участие конечного пользователя в процессе разработки [14].
поэтапная модель с промежуточным контролем - каскадная модель, дополненная обратными связями (см. рисунок 3) [12]. Данная модель требует большего времени разработки, однако, такой подход позволяет уменьшать риски получения некачественного продукта на выходе, а также повышает надежность системы в целом [6].
спиральная модель - данная модель послужила прорывом в разработке ПО. В ней сочетаются проектирование и постадийное прототипирование. В данной модели реализация программных средств происходит в виде последовательных версий. Характерной чертой данной модели является тот факт, что на начальном этапе процесса могут быть сформулированы не все требования – так как они уточняются при дальнейшей разработке. Любой виток спирали характеризуется созданием фрагмента или версии программного продукта, уточнением цели и характеристики проекта, определением
Рисунок 2 - Каскадная модель жизненного цикла
его качества, а также планированием работ следующего витка спирали (см. рисунок 4). Преимущества спиральной модели:
использование системного подхода;
наиболее реальное отображение процесса разработки;
учет рисков;
использование моделирования;
Недостатки:
повышенные требования к заказчику;
трудности контроля и управления временем разработки [11];
инкрементная модель - в основе данной модели лежит идея о том, что программная система должна разрабатываться по принципу приращений
Закажи написание реферата по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!
Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.
Нужна помощь по теме или написание схожей работы? Свяжись напрямую с автором и обсуди заказ.
В файле вы найдете полный фрагмент работы доступный на сайте, а также промокод referat200 на новый заказ в Автор24.