Файл: Процесс жизненного цикла программных средств в соответствии.pdf

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

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

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

Добавлен: 02.07.2023

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

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

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

Введение

В настоящее время весь мир переживает эпоху информатизации. Под информатизацией принято понимать комплекс мер, направленных на обеспечение оперативного доступа к информационным ресурсам [ГОСТ 7.0-99]. Данный процесс сопровождается проникновением компьютеров и других технических средств в повседневную человеческую жизнь.

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

Программные средства являются неотъемлемыми частями всех информационных систем. Их развитие становится предпосылкой развития программирования, создания новых средств и языков программирования, разработке новых алгоритмов и т.п.

На сегодняшний день насчитывается множество людей и компаний, занимающихся разработкой программного обеспечения, однако, на практике очень часто отсутствует единый подход данного процесса. Другими словами – нет определенного алгоритма оценки трудозатрат, сроков проведения работ, а также материальных затрат, что оказывает сдерживающее влияние на процесс повышения производительности ПО, а также на эффективное управление его жизненным циклом. Поскольку программа любого типа становится изделием (кроме, может быть, учебных, макетных программ), подход к ее изготовлению во многом должен быть аналогичен подходу к производству промышленной продукции, и вопросы проектирования программ становятся чрезвычайно важными. Эта идея лежит в основе книги Б.У. Боэма «Инженерное проектирование программного обеспечения», которая была использована при написании данной курсовой работы. В этой книге под проектированием ПО понимается процесс создания проекта программного изделия.

Цель данной работы – рассмотрение процесса жизненного цикла ПО в соответствии с ГОСТ Р ИСО/МЭК 12207-99.

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

1. Определение основных понятий

Определим основные понятия, используемые в рамках данной работы.

  • заказчик – организация, приобретающая ПО;
  • заказ – процесс приобретения ПО;
  • аудит – проверка компетентной организацией, задачей которой является обеспечение независимой оценки степени соответствия ПО;
  • разработчик – организация, выполняющая процесс разработки на протяжении жизненного цикла;
  • оценка – определение степени соответствия ПО установленным критериям;
  • модель жизненного цикла – структура, включающая в себя ряд процессов, работ и задач (разработку, эксплуатацию, а также сопровождение ПО), которые охватывают всю жизнь системы, начиная формулированием требований и заканчивая прекращением ее использования;
  • процесс – набор взаимосвязных работ, преобразующих исходные данные в конечный результат;
  • заявка на подряд – документ, представляющий собой средство объявления намерений заказчика;
  • снятие с эксплуатации – прекращение активной поддержки действующего ПО со стороны эксплуатирующей или сопровождающей организации;
  • аттестация – подтверждение экспертизой и предоставление объективных доказательств того, что требования реализованы.

2. Прикладные процессы жизненного цикла

Все процессы жизненного цикла ПО делятся на три категории – основные, вспомогательные и организационные. Рассмотрим каждую группу в отдельности.

1) Основные процессы жизненного цикла ПО.

Согласно ГОСТ Р ИСО/МЭК 12207-99 выделяется пять основных процессов жизненного цикла, реализующихся под управлением основных сторон, вовлеченных в жизненный цикл всех программных средств. Основной стороной при этом считается организация, инициирующая разработку.

Основные процессы описываются следующим образом:

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

2) Вспомогательные процессы жизненного цикла ПО.

Наряду с основными существует также и ряд вспомогательных процессов, задачей которых является обеспечение успешной реализации и высокого качества выполнения ПО. Вспомогательный процесс инициируется и используется другим процессом. Согласно ГОСТ Р ИСО/МЭК 12207-99 выделяют следующие вспомогательные процессы:

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

3) Организационные процессы жизненного цикла ПО

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

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

3. Жизненный цикл ПО

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

3.1. Заказ

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

Процесс заказа включает в себя ряд работ:

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

3.2. Поставка

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

Процесс поставки включает в себя ряд работ:

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

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

Данный процесс выполняется разработчиком, и включает в себя анализ требований, проектирование, программирование, сборку, тестирование, ввод в действие, а также приемку ПО.

Процесс разработки включает в себя следующие работы:

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

3.4. Эксплуатация

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

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

3.5. Сопровождение

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

В состав данного процесса входят следующие работы:

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