Сравнительный анализ стандартов ISO/IEC 12207-95 и ISO/IEC 12207-2008
НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет
инновационных технологий (ФИТ)
Кафедра
информационного обеспечения инновационной деятельности (ИОИД)
Реферат по дисциплине «Программная
инженерия»
Сравнительный анализ стандартов ISO/IEC 12207-95 и ISO/IEC 12207-2008
Выполнила
студентка
группы 18101
О.И.
Воробьева
Принял
заведующий
кафедрой ИОИД
С.Л. Миньков
Томск 2013
Содержание
Введение
1. Стандарты ISO/IEC 12207 4
.
Стандарт ISO/IEC 12207-95 5
.
Стандарт ISO/IEC 12207-2008 9
Сравнительный
анализ стандартов ISO/IEC 12207-95 и ISO/IEC 12207-2008
Заключение
Список
использованных источников
Введение
В настоящее время программное обеспечение является важной составной
частью многих технических устройств и систем. Эти устройства очень разнообразны
как по назначению, так и по требованию к надежности их работы. К таким
устройствам могут быть отнесены как mp3-плейеры, сотовые телефоны, стиральные
машинки, так и бортовые системы управления летательных аппаратов, системы
управления и контроля атомных электростанций, информационные системы
государственного управления. Надежность работы таких систем во многом зависит
от надежности работы программного обеспечения. Надежность самого программного
обеспечения определяется теми технологиями, в соответствии с которыми
разрабатывается программное обеспечение.
Отраслевые и международные стандарты в сфере информационных технологий
являются суммой опыта, накопленного экспертами в инженерии программного
обеспечения (ПО) на основе огромного количества проектов, проводившихся в
рамках коммерческих структур США, Европы и в рамках военных контрактов. Большая
часть стандартов создавалась как набор критериев для отбора поставщиков
программного обеспечения для Министерства обороны США, и эту задачу они решают
достаточно успешно. Стандарты содержат описание выработанных на основе реальных
проектов подходов к построению сложных программных систем. Для корректного
рассмотрения вопросов создания сложных программных систем необходимо, чтобы процесс
разработки включал не только собственно процедуру разработки(кодирования), но и
такие процедуры жизненного цикла программных систем, как подготовка к
разработке (анализ предметной области, определение требований, выработка
решений),проектирование, документирование, тестирование, внедрение,
эксплуатация, сопровождение, управление изменениями, прекращение использования
[1].
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. Консультирование пользователей
5) Процесс поддержки ПО определяет действия персонала сопровождения,
который обеспечивает:
1. Инсталляцию и удаление программного изделия на вычислительной
системе
2. Анализ возникающих проблем
. Внесение изменений
. Экспертизу и передачу измененного ПО
. Перенос с одной платформы на другую
. Изъятие ПО из эксплуатации.
Этот стандарт был необходим для представление терминов, понятий и
составных элементов жизненного цикла ПО. Этот стандарт был принят ISO в 1995
году. Следует отметить, что работы по нему были начаты в 1987 году и стандарт
формировался взаимными усилиями 125 стран - участниц ISO. В России этот
стандарт принят в 2000 году под названием «ГОСТ Р ИСО/МЭК 12207 Процессы
жизненного цикла программных средств» [4].
3. Стандарт
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, представляющий жизненного
цикла не только как процесса разработки ПО, но и как эксплуатации и
сопровождения ПО. Поэтому используя стандарты описания жизненного цикла
программных средств и систем, мы можем сделать наш продукт на высоком уровне,
который будет удовлетворять все требования нынешнего рынка.
международный
стандарт прикладной технический
Список
использованных источников
1. Международные стандарты и
жизненные циклы программного обеспечения. [Электронный ресурс]. - URL:
<http://www.immsp.kiev.ua/publications/articles/2009/2009_3/Chumakova_03_2009.pdf>
. Международный стандарт ICO/IEC
12207. [Электронный ресурс]. - URL: <http://do.gendocs.ru/docs/index-161242.html>
. Программная инженерия и
SWEBOK. [Электронный ресурс]. - URL:
<http://swebok.sorlik.ru/software_engineering.html>
. Стандарт ISO/IEC 12207-95:
основные определения - система, модель жизненного цикла, квалификационные
требования. Основные процессы, их содержание, работы и задачи процесса
разработки. [Электронный ресурс]. - URL:
<http://fkn.ktu10.com/?q=node/744>
. ISO/IEC 12207:2008.
[Электронный ресурс]. - URL: <http://ru.wikipedia.org/wiki/ISO/IEC_12207:2008>
. ГОСТ Р ИСО/МЭК 12207-2010
Информационная технология. Системная и программная инженерия. Процессы
жизненного цикла программных средств. [Электронный ресурс]. - URL:
<http://docs.cntd.ru/document/gost-r-iso-mek-12207-2010>
. ГОСТ Р ИСО/МЭК 12207-99
Информационная технология. Процессы жизненного цикла программных средств.
[Электронный ресурс]. - URL: http://docs.cntd.ru/document/gost-r-iso-mek-12207-99