Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Сравнительный анализ стандартов ISO/IEC 12207-95 и ISO/IEC 12207-2008

Введение

 

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

Отраслевые и международные стандарты в сфере информационных технологий являются суммой опыта, накопленного экспертами в инженерии программного обеспечения (ПО) на основе огромного количества проектов, проводившихся в рамках коммерческих структур США, Европы и в рамках военных контрактов. Большая часть стандартов создавалась как набор критериев для отбора поставщиков программного обеспечения для Министерства обороны США, и эту задачу они решают достаточно успешно. Стандарты содержат описание выработанных на основе реальных проектов подходов к построению сложных программных систем. Для корректного рассмотрения вопросов создания сложных программных систем необходимо, чтобы процесс разработки включал не только собственно процедуру разработки(кодирования), но и такие процедуры жизненного цикла программных систем, как подготовка к разработке (анализ предметной области, определение требований, выработка решений),проектирование, документирование, тестирование, внедрение, эксплуатация, сопровождение, управление изменениями, прекращение использования [1].


Стандарты ISO/IEC 12207

(Международная организация стандартизации) и IEC (международная электротехническая комиссия) образуют специализированную систему мировой стандартизации. Национальные органы, являющиеся членами ISO или IEC, участвуют в разработке международных стандартов при помощи технических комитетов, образованных соответствующими организациями, чтобы рассматривать отдельные разделы технической деятельности. Технические комитеты ISO и IEC сотрудничают в областях, затрагивающих взаимные интересы. Остальные международные организации, государственные и негосударственные, совместно с ISO и IEC, также принимают участие в работе.

В области информационной технологии ISO и IEC образовали объединенный технический комитет ISO/IEC JTC 1(Объединенный технический комитет №1). Проекты международных стандартов, принятые объединенным техническим комитетом, рассылаются национальным органам с целью их принятия. Публикация в качестве международного стандарта требует подтверждения от не менее чем 75% национальных органов, принимавших участие в принятии решения.

Международный стандарт ISO/IEC 12207 был подготовлен объединенным техническим комитетом ISO/IEC JTC1,"Информационные технологии, подкомитет SC7, проектирование программного обеспечения"[2]. ISO/IEC 12207 - Information Technology - Software Life Cycle Processes - Процессы жизненного цикла программных средств. Стандарт содержит определения основных понятий программной инженерии (в частности программного продукта и жизненного цикла программного продукта), структуры жизненного цикла как совокупности процессов, детальное описание процессов жизненного цикла.


 

2 Стандарт ISO/IEC 12207-95

 

В 1990 году началось планирование всеобъемлющих международных стандартов, в основу которых легли концепции и взгляды стандарта IEEE Std 1074 и результатов работы образованной в 1987 году совместной комиссии ISO/IEC JTC 1**. В 1995 году группа этой комиссии SC7 “Software Engineering” выпустила первую версию международного стандарта ISO/IEC 12207 “Software Lifecycle Processes”. Этот стандарт стал первым опытом создания единого общего взгляда на программную инженерию[3].

ISO/IEC 12207-95 определяет модель жизненного цикла процессов разработки программного обеспечения. Данная модель жизненного цикла ПО определяет на верхнем уровне фундаментальные цели, которые являются существенными для разработки высокоэффективного и надежного программного обеспечения. Цели верхнего уровня описывают то, что должно быть достигнуто, а не как их достигнуть. Жизненный цикл, определенный данным стандартом, применим в любой software-организации, желающей утвердить, а в последствии и улучшить возможности по поставке, разработке, эксплуатации, развитии и поддержке программного обеспечения. Модель не предполагает использование специфических организационных структур, философии управления, технологии или методологии разработки ПО [4].

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

Особенности стандарта

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

1. Выбор модели ЖЦ для проекта ПО

2. Адаптацию процессов и задач стандарта к этой модели

.   Выбор и применение методов разработки ПО

.   Выполнение действий и задач, подходящих для проекта ПО.

Стандарт определяет общую структуру жизненного цикла ПО в виде 3-х ступенчатой модели, состоящей из:

1. процессов

2. видов деятельности

.   задач

Стандарт не определяет метрики, по которым можно было бы отслеживать ход работ и их результативность. Самыми крупными элементами являются процессы жизненного цикла ПО. Всего выделено 18 процессов, которые объединены в 3 группы:

1. Основные процессы

2. Поддерживающие процессы

.   Организационные процессы

.   Процесс адаптации.

Основные процессы ЖЦ

) Процесс приобретения - его задача определить действия предприятия-покупателя, которое приобретает автоматизированную систему, программный продукт или сервис ПО:

1. Инициация приобретения

2. Подготовка запроса предложений

.   Подготовка контракта

.   Анализ поставщиков

.   Получение ПО.

2) Процесс передачи (поставки) определяет действия предприятия-поставщика, которое снабжает покупателя системой, программным продуктом или сервисом ПО.

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

Включает следующие работы:

1. Развертывание процесса разработки

2. Анализ системных требований

.   Проектирование (программно-аппаратной) системы в целом

.   Анализ требований к ПО

.   Проектирование архитектуры ПО

.   Детальное проектирование

.   Кодирование

.   Отладочное тестирование

.   Интеграцию ПО

.   Квалификационное тестирование ПО

.   Системную интеграцию

.   Квалификационное тестирование системы

.   Развертывание (установку или инсталляцию) ПО.

4) Процесс эксплуатации определяет действия предприятия-оператора, которое обеспечивает обслуживание системы в процессе ее функционирования в интересах пользователей. Включает такие работы, как:

1. Консультирование пользователей

2. Получение обратной связи и др.

5) Процесс поддержки ПО определяет действия персонала сопровождения, который обеспечивает:

1. Инсталляцию и удаление программного изделия на вычислительной системе

2. Анализ возникающих проблем

.   Внесение изменений

.   Экспертизу и передачу измененного ПО

.   Перенос с одной платформы на другую

.   Изъятие ПО из эксплуатации.

Этот стандарт был необходим для представление терминов, понятий и составных элементов жизненного цикла ПО. Этот стандарт был принят ISO в 1995 году. Следует отметить, что работы по нему были начаты в 1987 году и стандарт формировался взаимными усилиями 125 стран - участниц ISO. В России этот стандарт принят в 2000 году под названием «ГОСТ Р ИСО/МЭК 12207 Процессы жизненного цикла программных средств» [4].

 

Стандарт ISO/IEC 12207-2008

 

ISO/IEC 12207-2008 «System and software engineering - Software life cycle processes» - стандарт ISO, описывающий процессы жизненного цикла ПО. Стандарт разработан подкомитетом ПК 7 «Системная и программная инженерия» (англ. SC 7 System and Software Engineering) Совместного технического комитета №1 ИСО/МЭК «Информационные технологии». Стандарт был выпущен взамен стандарту ISO/IEC 12207-95[5].

Стандарт ISO/IEC 12207-2008 взаимосвязан со стандартами IEEE, такими как:

· IEEE Std 730 - 2002 - Процесс обеспечения гарантии качества программных средств

·   IEEE Std 1012 - 2004 - Процесс верификации и валидации программных средств

·   IEEE Std 828 - 2005 - Процесс менеджемента конфигурации программных средств

·   IEEE Std 829 - 1998 - Процесс квалификационного тестирования программных средств и др.

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

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

1. Основные процессы

2. Поддерживающие процессы

.   Организационные процессы

.   Адаптация.

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

Процессы жизненного цикла

Группы процессов жизненного цикла включают в себя:

·   процессы соглашения - 2;

·         процессы организационного обеспечения проекта - 5;

·         процессы проекта - 7;

·         технические процессы - 11;

·         процессы реализации программных средств - 7;

·         процессы поддержки программных средств - 8;

·         процессы повторного применения программных средств - 3.

Процессы соглашения

·   Поставка

·         Приобретение

Процессы организационного обеспечения проекта

·   Процесс менеджмента модели жизненного цикла;

·         Процесс менеджмента инфраструктуры;

·         Процесс менеджмента портфеля проектов;

·         Процесс менеджмента людских ресурсов;

·         Процесс менеджмента качества.

Процессы проекта

·   Процессы менеджмента проекта

·         процесс планирования проекта;

·         процесс управления и оценки проекта.

·         Процессы поддержки проекта

·         процесс менеджмента решений;

·         процесс менеджмента рисков;

·         процесс менеджмента конфигурации;

·         процесс менеджмента информации;

·         процесс измерений.

Технические процессы

·   Определение требований правообладателей

·         Анализ системных требований

·         Проектирование архитектуры системы

·         Процесс реализации

·         Процесс комплексирования системы

·         Процесс квалификационного тестирования системы

·         Процесс инсталляции программных средств

·         Процесс поддержки приемки программных средств

·         Процесс функционирования программных средств

·         Процесс сопровождения программных средств

·         Процесс изъятия из обращения программных средств

Процессы реализации программных средств

·   Процесс анализа требований к программным средствам;

·         Процесс проектирования архитектуры программных средств;

·         Процесс детального проектирования программных средств;

·         Процесс конструирования программных средств;

·         Процесс комплексирования программных средств;

·         Процесс квалификационного тестирования программных средств

Процессы поддержки программных средств

·   Процесс менеджмента документации программных средств;

·         Процесс менеджмента конфигурации программных средств;

·         Процесс обеспечения гарантии качества программных средств;

·         Процесс верификации программных средств;

·         Процесс валидации программных средств;

·         Процесс ревизии программных средств;

·         Процесс аудита программных средств;

·         Процесс решения проблем в программных средствах.

Процессы повторного применения программных средств

·   Процесс проектирования доменов;

·         Процесс менеджмента повторного применения активов;

·         Процесс менеджмента повторного применения программ.

Настоящий стандарт является результатом гармонизации четырех исходных документов (рис.1), таких как ИСО/МЭК 12207-95, ИСО/МЭК 12207-2010, ИСО/МЭК 15288-2002 и ИСО/МЭК 15288-2007.

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

Развернутая по стадиям разработка изменений к ИСО/МЭК 12207 вместе с ИСО/МЭК 15288 и изначально иная ориентация ИСО/МЭК 12207 привели к некоторым затруднениям в применении дополненного стандарта ИСО/МЭК 12207 так же, как и в совместном применении стандартов жизненного цикла систем и программных средств. Гармонизация проекта в рамках Подкомитета 7 "Системная и программная инженерия" Совместного технического комитета N 1 ИСО/МЭК - СТК 1 "Информационные технологии" (ISO/IEC JTC 1/SC 7) являлась первым большим шагом к объединенному комплекту стандартов, описывающих жизненный цикл систем и программных средств, а ее суть заключалась в параллельно проведенном и тщательно контролируемом пересмотре ИСО/МЭК 12207, ИСО/МЭК 15288 и разработке технического отчета ИСО/МЭК 24748, представляющего собой руководящие указания для обоих международных стандартов.


 

Сравнительный анализ стандартов ISO/IEC 12207-95 и ISO/IEC 12207-2008

 

Стандарт ISO/IEC 12207-95

Стандарт ISO/IEC 12207-2008

1.Прикладное применение настоящего стандарта

1.Применение настоящего стандарта

 

Цель: обзор процессов жизненного цикла программных средств, которые могут быть использованы для приобретения, поставки, разработки, применения по назначению, сопровождения и прекращения применения программных продуктов и услуг. Целью обзора является предоставление "дорожной карты" пользователям настоящего стандарта для того, чтобы они могли ориентироваться в нем и применять его осмысленно. В прикладное применение стандарта входит только его построение, которое в свою очередь подразделяется на несколько составляющих, а в стандарте 2008 года применение делится на несколько пунктов, которые отличны от построения в стандарте 12207-95.

 
В построение стандарта входит: · Процессы ЖЦ (5 процессов) · Вспомогательные процессы ЖЦ (8) · Организационные процессы ЖЦ (4) · Взаимосвязи между процессами и организациями

· Отношения между программными продуктами и программными услугами · Отношения между системами и программными средствами · Внедрение на уровне организации и на уровне проекта · Декомпозиция процессов · Категории процессов жизненного цикла · Эталонная модель процессов

 

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

 

2.Основные процессы ЖЦ

2.Процессы ЖЦ систем  

1. Процесс заказа

1. Процесс приобретения  
       

 

Сравнивая, эти два стандарта видно, что стандарт ISO/IEC 12207-2008 наиболее подробный, точный. Если в стандарте 1995 года описаны только применение и процессы ЖЦ программных средств, то в стандарте 2008 года уже описаны не только программные средства, но и процессы ЖЦ систем. Если раньше какие-то процессы были отдельными пунктами в старом стандарте, то сейчас это всего лишь подпроцессы процессов, которые так же включают в себя и новые пункты.

Отношения между конструкциями процессов в исходных документах показаны на рисунке 1.

 

Рисунок 1

 

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

 


 

Заключение

 

Сравнивая, стандарты ISO/IEC 12207-95 и ISO/IEC 12207-2008, нельзя не заметить, что стандарт 2008 года более наполненный и применим в настоящее время, так же он взаимосвязан со многими другими стандартами.

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

международный стандарт прикладной технический


 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...