![](/stc/img/evkova.png)
Процесс жизненного цикла программных средств в соответствии
Содержание:
Введение
В настоящее время весь мир переживает эпоху информатизации. Под информатизацией принято понимать комплекс мер, направленных на обеспечение оперативного доступа к информационным ресурсам [ГОСТ 7.0-99]. Данный процесс сопровождается проникновением компьютеров и других технических средств в повседневную человеческую жизнь.
Для полноценного функционирования любого технического средства необходимо программное обеспечение. Программное обеспечение (ПО) – это совокупность программ, выполняемых вычислительной системой [Шауцукова].
Программные средства являются неотъемлемыми частями всех информационных систем. Их развитие становится предпосылкой развития программирования, создания новых средств и языков программирования, разработке новых алгоритмов и т.п.
На сегодняшний день насчитывается множество людей и компаний, занимающихся разработкой программного обеспечения, однако, на практике очень часто отсутствует единый подход данного процесса. Другими словами – нет определенного алгоритма оценки трудозатрат, сроков проведения работ, а также материальных затрат, что оказывает сдерживающее влияние на процесс повышения производительности ПО, а также на эффективное управление его жизненным циклом. Поскольку программа любого типа становится изделием (кроме, может быть, учебных, макетных программ), подход к ее изготовлению во многом должен быть аналогичен подходу к производству промышленной продукции, и вопросы проектирования программ становятся чрезвычайно важными. Эта идея лежит в основе книги Б.У. Боэма «Инженерное проектирование программного обеспечения», которая была использована при написании данной курсовой работы. В этой книге под проектированием ПО понимается процесс создания проекта программного изделия.
Цель данной работы – рассмотрение процесса жизненного цикла ПО в соответствии с ГОСТ Р ИСО/МЭК 12207-99.
Объектом исследования является жизненный цикл любого программного продукта. В задачи данной работы входит изучение соответствующей литературы, определение основных понятий, выделение и описание основных этапов жизненного цикла ПО.
1. Определение основных понятий
Определим основные понятия, используемые в рамках данной работы.
- заказчик – организация, приобретающая ПО;
- заказ – процесс приобретения ПО;
- аудит – проверка компетентной организацией, задачей которой является обеспечение независимой оценки степени соответствия ПО;
- разработчик – организация, выполняющая процесс разработки на протяжении жизненного цикла;
- оценка – определение степени соответствия ПО установленным критериям;
- модель жизненного цикла – структура, включающая в себя ряд процессов, работ и задач (разработку, эксплуатацию, а также сопровождение ПО), которые охватывают всю жизнь системы, начиная формулированием требований и заканчивая прекращением ее использования;
- процесс – набор взаимосвязных работ, преобразующих исходные данные в конечный результат;
- заявка на подряд – документ, представляющий собой средство объявления намерений заказчика;
- снятие с эксплуатации – прекращение активной поддержки действующего ПО со стороны эксплуатирующей или сопровождающей организации;
- аттестация – подтверждение экспертизой и предоставление объективных доказательств того, что требования реализованы.
2. Прикладные процессы жизненного цикла
Все процессы жизненного цикла ПО делятся на три категории – основные, вспомогательные и организационные. Рассмотрим каждую группу в отдельности.
1) Основные процессы жизненного цикла ПО.
Согласно ГОСТ Р ИСО/МЭК 12207-99 выделяется пять основных процессов жизненного цикла, реализующихся под управлением основных сторон, вовлеченных в жизненный цикл всех программных средств. Основной стороной при этом считается организация, инициирующая разработку.
Основные процессы описываются следующим образом:
- процесс заказа – включает в себя составление списка работ заказчика, приобретающего ПО;
- процесс поставки – включает в себя составление списка работ поставщика, т.е. организации, поставляющей ПО;
- процесс разработки – включает в себя список работ разработчика, проектирующего ПО;
- процесс эксплуатации – включает в себя список работ оператора, обеспечивающего эксплуатационное обслуживание вычислительной системы в заданных условиях в пользовательских интересах;
- процесс сопровождения – включает в себя список работ персонала сопровождения, предоставляющего соответственные услуги, заключающиеся в контролируемом изменении программного продукта с целью сохранения его исходного состояния и функциональных возможностей. Данный процесс также подразумевает перенос и снятие с эксплуатации ПО.
2) Вспомогательные процессы жизненного цикла ПО.
Наряду с основными существует также и ряд вспомогательных процессов, задачей которых является обеспечение успешной реализации и высокого качества выполнения ПО. Вспомогательный процесс инициируется и используется другим процессом. Согласно ГОСТ Р ИСО/МЭК 12207-99 выделяют следующие вспомогательные процессы:
- процесс документирования – представляет собой процесс формализованного описания информации, которая создается в процессе жизненного цикла ПО. Включает в себя работы описания информации, выдаваемой в процессе всего жизненного цикла;
- процесс управления конфигурацией – включает в себя работы по управлению конфигурацией;
- процесс обеспечения качества – включает в себя работы по объективному обеспечению соответствия программных продуктов установленным требованиям и планам. В качестве таких работ могут производиться совместные анализы, аттестация, верификация, аудиторские проверки и т.п.;
- процесс верификации – включает в себя работы верификации разрабатываемого ПО, возможно с независимой стороны;
- процесс аттестации – включает в себя работы аттестации разрабатываемого ПО, возможно с независимой стороны;
- процесс совместного анализа – включает в себя оценочные работы результатов какого-либо этапа;
- процесс аудита – включает в себя работы по определению соответствия требованиям, договору и планам;
- процесс решения проблемы – представляет собой анализ и устранение всех обнаруженных проблем и несоответствий, независимо от их источника и характера.
3) Организационные процессы жизненного цикла ПО
Организационные процессы включают в себя четыре процесса. Их задача – создание и реализация основной структуры для охвата взаимосвязанных процессов жизненного цикла и соответствующего персонала. Эти процессы являются типовыми, к ним относятся:
- процесс управления – включает в себя работы управления проектом на всех этапах жизненного цикла ПО;
- процесс создания инфраструктуры – включает в себя работы по созданию инфраструктуры на всех этапах жизненного цикла ПО;
- процесс усовершенствования – включает в себя работы, направленные на усовершенствование ПО на всех этапах его жизненного цикла;
- процесс обучения – включает в себя работы по соответствующему обучению персонала.
3. Жизненный цикл ПО
Традиционно, жизненный цикл любого программного продукта описывается следующими этапами: заказ, поставка, разработка, эксплуатация, сопровождение. За каждый из этапов жизненного цикла отвечает отдельный человек или организация. Цель данной ответственности – гарантировать реальность существования и функциональные особенности конкретного этапа.
Процесс заказа начинается с определения потребностей заказчика в ПО. Далее следуют подготовка и выпуск заявки на подряд, определение поставщика, а также управление процессом заказа вплоть до завершения приемки готового ПО.
Процесс заказа включает в себя ряд работ:
- подготовка – включает в себя описание потребности в заказе, формулирование требований разрабатываемого ПО, рассмотрение различных вариантов реализации, определение гарантий, составление договора;
- подготовка заявки на подряд – включает в себя документальные требования к заказу, определение процессов, работ и задач разработки ПО, определение контрольных пунктов, представление требований организации, выполняющей работы;
- подготовка и корректировка договора – включает в себя определение процедуры выбора поставщика, формулирование критериев оценки поступающих предложений реализации, выбор поставщика, обсуждение условий договора, обсуждение прав собственности, использования, гарантии и лицензирования;
- надзор за поставщиком – включает в себя проведение работ анализа, аудита, верификации и аттестации;
- приемка и закрытие договора – состоит из проверки выполненной работы.
Процесс может быть начат с решения о подготовке предложения в ответ на заявку на подряд, присланную заказчиком, или с подписания договора и вступления с заказчиком в договорные отношения по поставке системы, программного продукта или программной услуги. Процесс продолжается определением процедур и ресурсов, необходимых для управления и обеспечения проекта, включая разработку проектных планов и их выполнение посредством поставки системы, программного продукта или программной услуги заказчику.
Процесс поставки включает в себя ряд работ:
- подготовка – включает в себя анализ требований, установленных в заявке на подряд, а также принятие решения об участии в конкурсе или о подписании договора;
- подготовка ответа – формулирование и подготовка предложений в ответ на заявку о подряде;
- подготовка договора – проведение переговоров и вступление в договорные отношения с организацией заказчика для обеспечения поставки ПО;
- планирование – включает в себя анализ требований к разрабатываемому ПО, определение модели жизненного цикла, установление собственных требований к процессу управления проектом, рассмотрение возможных вариантов разработки ПО, документальное оформление составленного плана;
- выполнение и контроль – реализация планов управления, а также осуществление надзора и контроля за разработкой и качеством проектируемого ПО, включая контроль за субподрядчиками, взаимодействия с независимыми аттестующими и верифицирующими организациями и другими исполнителями договора согласно установленным планам;
- проверка и оценка – координирование поставщиком работы, взаимодействие с заказчиком, проведение аттестации и верификации, предоставление отчетов заказчику, выполнение работ по обеспечению качества разрабатываемого ПО;
- поставка и закрытие договора – поставка ПО заказчику в соответствии с договором, помощь заказчику в поддержке поставленного ПО.
Данный процесс выполняется разработчиком, и включает в себя анализ требований, проектирование, программирование, сборку, тестирование, ввод в действие, а также приемку ПО.
Процесс разработки включает в себя следующие работы:
- подготовка процесса – определение модели жизненного цикла и ее структуры, выбор и адаптация методов, инструментариев и языка программирования, разработка планов проведения работ;
- анализ требований к системе – анализ области применения разрабатываемого ПО, определение технических требований, требований пользователей, безопасности и защиты, организационно-экономических и эксплуатационных требований;
- проектирование системной архитектуры – определение общей архитектуры верхнего уровня системы с указанием объектов технических и программных средств, а также ручных операций, определение объектов конфигурации, документальное оформление привязки системной архитектуры и требований к системе относительно установленных объектов;
- анализ требований к программным средствам – формулирование и документальное оформление требований к каждому объекту, выделенному в архитектуре, оценка и анализ данных требований;
- проектирование программной архитектуры – разработка и документальное оформление эскизного проекта внешних интерфейсов ПО, а также интерфейсов между компонентами, проект базы данных, предварительной версии пользовательской документации, общие требования к тестированию ПО, анализ сформулированных документов;
- техническое проектирование программных средств – разработка и документальное оформление технического проекта, анализ проделанной работы;
- программирование и тестирование программных средств – разработка и тестирование всех модулей ПО, уточнение пользовательской документации и требований к тестированию;
- сборка программных средств – разработка плана сборки с целью объединения программных модулей и компонентов в единый объект, формулирование процедуры тестирования, контрольных данных, обязанностей исполнителя и программы испытаний, сборка программных модулей, оформление документации, анализ и оценка выполненной работы;
- квалификационные испытания программных средств – проведение тестирования ПО на соответствие квалификационным требованиям, проведение аудиторских проверок;
- сборка системы – сборка объектов разрабатываемой системы в единое целое, испытание на соответствие установленным требованиям, разработка плана квалификационных испытаний;
- квалификационные испытания системы – проверка реализации всех установленных требований, проведение аудиторских проверок;
- ввод в действие программных средств – разработка плана по вводу ПО в действие, ввод в эксплуатацию в соответствии с разработанным планом;
- обеспечение приемки программных средств – обеспечение процесса оценки готовности ПО к приемочным испытаниям, комплектация ПО согласно договору, первоначальное обучение персонала.
Процесс эксплуатации выполняется оператором системы, охватывает эксплуатацию ПО и поддержку пользователей. Данный процесс состоит из следующих работ:
- подготовка процесса – включает в себя разработку и документальное оформление плана эксплуатации, установление процедур документирования сведений о возникающих проблемах, тестирования в рамках эксплуатационной среды;
- эксплуатационные испытания – проведение испытаний согласно установленным требованиям;
- эксплуатация системы – система должна эксплуатироваться в установленной для нее эксплуатационной среде в соответствии с пользовательской документацией;
- поддержка пользователя – обеспечение помощи и консультаций пользователям в порядке очереди, направление пользовательских запросов на анализ, контроль принятия и выполнения решений.
Данный процесс выполняется персоналом сопровождения и реализуется при изменения ПО, а также соответствующей документации, которые вызваны возникшими проблемами или потребностями. Задача данного процесса – изменение существующего ПО при сохранении его целостности. Процесс сопровождения охватывает вопросы переносимости и снятия ПО с эксплуатации.
В состав данного процесса входят следующие работы:
- подготовка процесса – разработка и документальное оформление планов и процедур выполнения работ, а также задач процесса сопровождения;
- анализ проблем и изменений – анализ сообщений и заявок о проблемах, дублирование и верификация возникших проблем, разработка вариантов реализации изменений, документальное оформление заявки на внесение изменений, согласование варианта изменения в соответствии с договором;
- внесение изменений – анализ и определение программных модулей, требующих непосредственных изменений;
- проверка и приемка при сопровождении – проверка внесенных изменений и подтверждение факта удовлетворения поставленным требованиям;
- перенос – обеспечение соответствия установленному стандарту, разработка и документальное оформление плана переноса, рассылка пользователям уведомлений о планах и работах по переносу ПО, проведение итогового анализа для оценки влияния перехода;
- снятие с эксплуатации – разработка, документальное оформление и реализация плана снятия с эксплуатации, рассылка пользователям соответствующих уведомлений.
4. Вспомогательные процессы жизненного цикла ПО
Данный процесс представляет собой формализованное описание информации, которая создается в процессе всего жизненного цикла ПО. Список работ данного процесса:
- подготовка процесса – включает в себя разработку, документальное оформление и реализацию плана обозначения документов, разрабатываемых в процессе жизненного цикла ПО;
- проектирование и разработка – разработка документации согласно установленных стандартов, подтверждение источников и соответствия исходных материалов для документов, проверка и редактирование подготовленных документов, а также их утверждение компетентными лицами;
- выпуск – распространение документов согласно плану;
- сопровождение – решение задач, связанных с внесением корректировок в документацию.
Данные процесс представляет собой процесс применения технических и административных процедур на протяжении всего жизненного цикла с целью обозначения, определения и установления состояния ПО. Процесс управления конфигурацией состоит из следующих задач:
- подготовка процесса – представляет собой разработку плана управления конфигурацией, который определяет необходимые работы, график выполнения этих работ, а также ответственных людей за выполнение;
- определение конфигурации – определение схемы обозначения объектов, контролирующихся в процессе реализации;
- контроль конфигурации – обозначение и регистрация заявок на корректировки, анализ и оценка изменений, реализация, верификация и выпуск скорректированного ПО, аудиторские проверки для каждого изменения;
- учет состояний конфигурации – подготовка протоколов управления и отчетов о состоянии, отражающих хронологию изменений контролируемых объектов, в том числе и их конфигурацию;
- оценка конфигурации – определение и обеспечение функциональной законченности ПО с точки зрения реализации поставленных требований, что подразумевает физическую завершенность;
- управление выпуском и поставка – контроль выпуска и поставки вместе с соответствующей документацией.
Данный процесс должен обеспечивать гарантии того, что разработанное ПО соответствует установленным планам и требованиям. Обеспечение качества может зависеть от того, демонстрируются ли доказательства качества продукта или процесса под управлением поставщика или заказчика. Данный процесс подразумевает выполнение ряда задач:
- подготовка процесса – выполнение адаптации процесса обеспечения качества к условиям текущего проекта, определение целей, согласование с процессами аттестации, верификации и аудита, разработка, документальное оформление и реализация плана работ по обеспечению качества, составление соответствующих отчетов;
- обеспечение продукта – обеспечение документального оформления установленных планов;
- обеспечение процесса – обеспечение выполнения процессов реализации разработки ПО в соответствии с условиями договор;
- обеспечение систем качества – обеспечение проведения дополнительных работ по управлению качеством в соответствии с разделами ГОСТ Р ИСО 9001, указанными в договоре.
Задачей данного процесса является определение того, что разработанное ПО функционирует согласно установленных требований и условий. Верификация состоит из двух работ:
- подготовка процесса – подразумевает определение необходимости верификационных работ в рамках проекта, в случае необходимости устанавливает процесс верификации, выбор организации, ответственной за проведение, разработку и документальное оформление соответствующего плана;
- верификация – процесс включает в себя верификацию договора, процесса, требований, проекта, программы, сборки и документации.
Аттестация представляет собой процесс, задачей которого является определение полноты соответствия установленных требований их функциональному назначению. Также включает в себя две работы:
- подготовка процесса – определение необходимости аттестации, ее задач и методики выполнения, выбор ответственной квалифицированной организации, разработка, документальное оформление и реализация соответствующего плана;
- аттестация – подготовка определенных выбранных требований к испытаниям, обеспечение актуальности испытаний, их проведение, подтверждение того, что ПО удовлетворяет поставленным требованиям, испытание ПО.
Данный процесс представляет собой оценку состояний и результатов работ по проекту. Совместный анализ включает в себя следующие работы:
- подготовка процесса – проведение периодических и целевых анализов работы, согласование объемов и состава ресурсов, необходимых в процессе анализа, а также согласование планов проведения анализа, документальное оформление выявленных проблем, обсуждение и согласование результатов анализа;
- анализы управления проектом – оценка состояния проекта в соответствии с проектными планами, графиками и стандартами;
- технические анализы – проведение анализов, целью которых является оценка создаваемого ПО.
Задача процесса аудита – определение соответствия требованиям и условиям договора. Включает в себя две работы:
- подготовка процесса – проведение аудиторских проверок согласно установленным срокам, согласование объемов и ресурсов, требуемых в процессе проверки, согласование планов проверки, документальное оформление выявленных проблем и результатов проверки;
- аудиторская проверка – проверка соответствия разработанного ПО установленным требованиям.
Данный процесс представляет собой процесс анализа и решения выявленных проблем, независимо от их источника. Цель данного процесса – обеспечить своевременный документированный анализ, а также решение проблем.
Процесс состоит из двух работ:
- подготовка процесса – формулирование циклически замкнутого процесса решения проблемы, содержащего оценку реализуемых решений;
- решение проблемы – составление отчета по проблеме, включающего вопросы ее выявления, исследования и анализа решения, а также определения тенденций, которые могут послужить предпосылкой к возникновению проблемы.
5. Организационные процессы жизненного цикла ПО
Процесс управления включает в себя общие задачи и состоит из следующих работ:
- подготовка и определение области управления – формулирование требований к реализуемому процессу, определение возможностей реализации данного процесса, проверка наличия, соответствия и применимости ресурсов, выделенных для выполнения и управления процессом;
- планирование – подготовка планов выполнения процесса, которые содержат описание соответствующих работ и задач с обозначением создаваемых программных продуктов, графики решение задач, оценку трудозатрат, определение необходимых ресурсов, распределение задач по исполнителям, определение возможных критических ситуаций, обеспечение условий и определение инфраструктуры выполнения процесса;
- выполнение и контроль – реализация сформулированного плана, осуществление надзора и контроля за выполнением процесса, исследование, анализ и решение возникающих проблем, своевременные отчеты о проделанной работе;
- проверка и оценка – обеспечение оценки разработанного ПО на соответствие установленным требованиям, а также проверка результатов оценок;
- завершение – определение степени соответствия разработанного ПО критериям, прописанным в договоре, контроль результатов и полноты документации.
Данный процесс подразумевает установление и обеспечение инфраструктуры, требуемой для любого другого процесса. Инфраструктура может включать в себя технические и программные средства, а также инструментальные средства, методики, стандарты и условия для разработки, эксплуатации или сопровождения. Данный процесс состоит из следующих работ:
- подготовка процесса – на данном этапе определяется и документально оформляется план инфраструктуры в соответствии с требованиями к процессу;
- создание инфраструктуры – планирование и разработка конфигурации инфраструктуры с учетом функциональных возможностей, производительности, безопасности, защищенности, работоспособности, а также оборудования и требуемых площадей;
- сопровождение инфраструктуры – сопровождение, контроль и изменение разработанной инфраструктуры для удовлетворения поставленных требований.
Данный процесс представляет собой процесс установления, оценки, измерения, контроля и улучшения любого процесса жизненного цикла ПО. Процесс усовершенствования включает в себя следующие работы:
- создание процесса – определение организационных процессов для всех процессов жизненного цикла ПО в соответствии с имеющимся практическим опытом, документальное оформление этих процессов, а также определение механизма управления процессом усовершенствования в процессах разработки, контроля, управления и улучшения;
- оценка процесса – разработка, документальное оформление и применение процедуры оценки процесса, сохранение и обновление отчетов о выполненных оценках, планирование и анализ процессов в установленные сроки с целью обеспечения актуальности и эффективности их применения;
- усовершенствование процесса – внесение соответствующих улучшений в выполняемый процесс, в том числе и в документацию, по результатам анализа и оценки.
Процесс обучения предполагает обеспечение персонала первоначальным и продолженным обучением. Все этапы жизненного цикла ПО зависят от квалификации соответствующего персонала, поэтому обязательно должно быть запланировано и реализовано обучение персонала. Процесс обучения включает в себя следующие задачи:
- подготовка процесса – анализ требований к проекту, целью которого является определение и своевременное создание условий для формирования штата квалифицированного административного и технического персонала. Кроме того, данная задача предполагает определение видов и уровней обучения, а также категорий персонала, нуждающихся в обучении. Разрабатываются и документально оформляются планы и графики обучения, а также требования к ресурсам для обучения;
- разработка учебных материалов – предполагает разработку руководств для обучения, включая материалы, применяемые непосредственно в процессе проведения обучения;
- реализация плана обучения – реализация плана обучения для обеспечения повышения квалификации персонала, составление отчетов о выполненном обучении, обеспечение своевременной готовности обученного персонала к правильному выполнению запланированных работ и задач.
6. Основные модели жизненного цикла
Схема данной модели приведена на рисунке 1.
Рис. 1 – Общепринятая модель жизненного цикла ПО
Разработка начинается с идентификации потребности в новом приложении, а заканчивается передачей продукта разработки в эксплуатацию.
Первым этапом фазы разработки является постановка задачи и определение требований. Определение требований включает описание общего контекста задачи, ожидаемых функций системы и ее ограничений. На этом этапе заказчик совместно с разработчиками принимает решение о создании системы. В случае положительного решения начинается этап спецификации системы в соответствии с требованиями. Разработчики программного обеспечения пытаются осмыслить выдвигаемые заказчиком требования и зафиксировать их в виде спецификаций системы. Прежде чем приступать к созданию проекта по спецификациям, они должны быть тщательно проверены на соответствие исходным целям, полноту, совместимость (непротиворечивость) и однозначность.
Задача этапа спецификаций в том и состоит, чтобы описание программы выстроить в виде логически выверенной системы, понятной как для заказчика данной разработки, будущих пользователей, так и для исполнителей проекта.
Разработка проектных решений, отвечающих на вопрос, как должна быть реализована система, чтобы она могла удовлетворять специфицированным требованиям, выполняется на этапе проектирования. Поскольку сложность системы в целом может быть очень большой, главной задачей этого этапа является последовательная декомпозиция системы до уровня очевидно реализуемых модулей или процедур.
На следующем этапе реализации, или кодирования каждый из этих модулей программируется на наиболее подходящем для данного приложения языке. С точки зрения автоматизации этот этап традиционно является наиболее развитым.
В рассматриваемой модели фаза разработки заканчивается этапом тестирования (автономного и комплексного) и передачей системы в эксплуатацию.
Фаза эксплуатации и сопровождения включает в себя всю деятельность по обеспечению нормального функционирования программных систем, в том числе фиксирование вскрытых во время исполнения программ ошибок, поиск их причин и исправление, повышение эксплуатационных характеристик системы, адаптацию системы к окружающей среде, а также, при необходимости, и более существенные работы по совершенствованию системы. Все это дает право говорить об эволюции системы. В связи с этим, фаза эксплуатации и сопровождения разбивается на два этапа: собственно сопровождение и развитие. В ряде случаев на данную фазу приходится большая часть средств, расходуемых в процессе жизненного цикла программного обеспечения.
6.2. Классическая итерационная модель
Схематическое представление данной модели приведено на рисунке 2.
Рис. 2 – Классическая итерационная модель
Общепринятая модель жизненного цикла является идеальной, так как только очень простые задачи проходят все этапы без каких-либо итераций — возвратов на предыдущие шаги технологического процесса. При разработке больших нетрадиционных систем необходимость в итерациях возникает регулярно на любом этапе жизненного цикла как из-за допущенных на предыдущих шагах ошибок и неточностей, так и из-за изменений внешних требований к условиям эксплуатации системы. Таковы мотивы классической итерационной модели жизненного цикла.
Стрелки, ведущие вверх, обозначают возвраты к предыдущим этапам, квалифицируемые как требование повторить этап для исправления обнаруженной ошибки.
Классическая итерационная модель абсолютизирует возможность возвратов на предыдущие этапы. Однако это обстоятельство отражает существенный непреодолимый аспект программных разработок, не опирающихся на объектно-ориентированное проектирование: стремление заранее предвидеть все ситуации использования системы и невозможность в подавляющем большинстве случаев достичь этого. Все традиционные технологии программирования направлены лишь на то, чтобы минимизировать возвраты. Но суть от этого не меняется: при возврате всегда приходится повторять построение того, что уже считалось готовым.
Схема каскадной модели приведена на рисунке 3.
Характерные черты каскадной модели:
- завершение каждого этапа (они почти те же, что и в классической модели) проверкой полученных результатов с целью устранить как можно большее число проблем, связанных с разработкой изделия;
- циклическое повторение пройденных этапов (как в классической модели).
Мотивация каскадной модели связана с управлением качеством программного обеспечения. В связи с ней уточняются понятия этапов, некоторые из них структурируются (спецификация требований и реализация).
В каждом блоке, обозначающем этап, указано действие, которым этап завершается (наименования этих действий отмечены серым фоном). Из рисунка видно, что в этой модели тестирование не выделяется в качестве отдельного этапа, а считается лишь порогом, через который нужно перейти, чтобы завершить этап, точно так же, как и другие подобные действия.
В соответствии с каскадной моделью завершение этапа определения системных требований включает фиксацию их в виде специальных документов, называемых обзорами того, что от системы требуется (описание функций), а спецификация требований к программам — подтверждением выполнения зафиксированных в обзорах функций в планируемых к реализации программах. Кроме того, подтверждение предполагается и на первом этапе, т.е. после определения требований. Это отражает тот факт, что полученные требования необходимо согласовывать с заказчиком.
Рис. 3 – Каскадная модель
Результат проектирования верифицируется, т.е. проверяется, что принятая структура системы и реализационные механизмы обеспечивают выполнимость специфицированных функций.
Реализация контролируется путем тестирования компонент, а после интеграции компонент в систему и комплексной отладки проводится аттестация, т.е. проверка-фиксация фактически реализованных функций системы, описание ограничений реализации и т.п.
В ходе эксплуатации и сопровождения изделия устанавливается, насколько хорошо система соответствует пользовательским запросам, т.е. осуществляется переаттестация.
Каждая из указанных проверок может отослать разработчиков системы к повторению любого из ранее пройденных этапов, что иллюстрируется стрелками.
Заключение
В рамках выполнения данной курсовой работы был изучен процесс жизненного цикла разработки программных средств в соответствии с ГОСТ Р ИСО/МЭК 12207-99 "Процессы жизненного цикла программных средств".
Выявлены основные этапы цикла: заказ, поставка, разработка, эксплуатация и сопровождение.
Определены вспомогательные процессы жизненного цикла: документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместный анализ, аудит и решение проблем.
Сформулированы организационные процессы: управление, создание инфраструктуры, усовершенствование и обучение персонала.
Кроме того, приведены основные модели жизненного цикла ПО: общепринятая, классическая итерационная и каскадная.
Список использованной литературы
- Брукс Ф.П. Как проектируются и создаются программные комплексы. – М.:Мир, 1979.
- Боэм Б.У. Инженерное проектирование программного обеспечения - М.:Радио и связь, 1985. - 512с
- Гантер Р. Методы управления проектированием программного обеспечения. – М.:Мир, 1981.
- ГОСТ 7.0-99 "Информационно-библиотечная деятельность"
- ГОСТ Р ИСО/МЭК 12207-99 "Процессы жизненного цикла программных средств"
- ИСО/МЭК 12119-94 Информационная технология. Пакеты программ. Требования качества и тестирования
- Липаев В.В. Технология проектирования комплексов программ АСУ. – М.: Радио и связь, 1983.
- Скопин И.Н. Модели жизненного цикла программного обеспечения, Новосибирск, 2004.
- Шауцукова Л.З. Информатика 10-11 - М.: Просвещение, 2000.
- http://2dip.ru/рефераты/42271/
- https://ru.wikipedia.org/wiki/Жизненный_цикл_программного_обеспечения
- http://www.0zd.ru/programmirovanie_kompyutery_i/zhiznennyj_cikl_programmnogo.html
- Ознакомление и сравнительный обзор возможностей известных программ-браузеров
- Сущность оперативной аналитической обработки данных (OLAP)
- Контроль и управление реализацией проекта
- Личность как субъект и объект управления. На примере конкретной организации
- Понятие и признаки государства (Предпосылки и теории возникновения государства)
- Правовая охрана полезных моделей
- Франчайзинг как особый вид вертикальных ограничений (Понятие и основные принципы франчайзинга)
- Оборотные активы предприятия
- Управление формированием прибыли на предприятии (Понятие, сущность и виды прибыли)
- Определение объёма необходимой и достаточной информации при принятии решения
- Основные функции в системе менеджмента (Основные особенности современного менеджмента)
- Реклама и пропаганда в индустрии гостеприимства (на примере ресторана «ДаПино»)