Введение
В настоящее время программное обеспечение является важной составной
частью многих технических устройств и систем. Эти устройства очень разнообразны
как по назначению, так и по требованию к надежности их работы
К таким
устройствам могут быть отнесены как mp3-плейеры, сотовые телефоны, стиральные
машинки, так и бортовые системы управления летательных аппаратов, системы
управления и контроля атомных электростанций, информационные системы
государственного управления. Надежность работы таких систем во многом зависит
от надежности работы программного обеспечения. Надежность самого программного
обеспечения определяется теми технологиями, в соответствии с которыми
разрабатывается программное обеспечение.
Отраслевые и международные стандарты в сфере информационных технологий
являются суммой опыта, накопленного экспертами в инженерии программного
обеспечения (ПО) на основе огромного количества проектов, проводившихся в
рамках коммерческих структур США, Европы и в рамках военных контрактов. Большая
часть стандартов создавалась как набор критериев для отбора поставщиков
программного обеспечения для Министерства обороны США, и эту задачу они решают
достаточно успешно. Стандарты содержат описание выработанных на основе реальных
проектов подходов к построению сложных программных систем. Для корректного
рассмотрения вопросов создания сложных программных систем необходимо, чтобы процесс
разработки включал не только собственно процедуру разработки(кодирования), но и
такие процедуры жизненного цикла программных систем, как подготовка к
разработке (анализ предметной области, определение требований, выработка
решений),проектирование, документирование, тестирование, внедрение,
эксплуатация, сопровождение, управление изменениями, прекращение использования
.
Модели жизненного цикла ИСУ.
К настоящему времени наибольшее распространение получили следующие
две основные модели ЖЦ ПО. Принципы этих моделей можно отнести и к
моделям ЖЦ ИСУ
каскадная модель;
спиральная модель.
Основной характеристикой каскадной модель является разбиение всего
построения/разработки на этапы, причем переход с одного этапа на
следующий происходит только после того, как будет полностью
завершена работа на текущем (рис. 1.1). Каждый этап завершается
достижением результатов, достаточных для того, чтобы перейти к
следующей стадии.
Положительные стороны применения каскадного подхода заключаются в
следующем :
на каждом этапе формируется законченный набор проектной
документации, отвечающий критериям полноты и согласованности;
выполняемые в логичной последовательности этапы работ позволяют
планировать сроки завершения всех работ и соответствующие затраты.
Рис. 1.1. Каскадная модель
Каскадный подход хорошо зарекомендовал себя при построении ИС, для
которых в самом начале разработки можно достаточно точно и полно
сформулировать все требования. Однако, в процессе использования
этого подхода обнаружился ряд его недостатков, вызванных прежде
всего тем, что реальный процесс создания ПО (или построение ИСУ)
никогда полностью не укладывался в такую жесткую схему. В процессе
постоянно возникала потребность в возврате к предыдущим этапам и
уточнении или пересмотре ранее принятых решений. В результате
реальный процесс построения ИСУ принимал следующий вид (рис. 1.2):
Рис. 1.2. Реальный процесс по каскадной схеме
Основным недостатком каскадного подхода является существенное
запаздывание с получением результатов. Согласование результатов с
Заказчиком и пользователями производится только в точках,
планируемых после завершения каждого этапа работ, требования к ИС
«заморожены» в виде технического задания на все время ее создания.
Таким образом, Заказчик или пользователи могут внести свои
замечания только после того, как работа над системой будет
полностью завершена. В случае неточного изложения требований или их
изменения в течение длительного периода создания , пользователи
получают систему, не удовлетворяющую их потребностям. Модели (как
функциональные, так и информационные) автоматизируемого объекта
могут устареть одновременно с их утверждением.
Для преодоления перечисленных проблем была предложена спиральная
модель ЖЦ (рис. 1.3), делающая упор на начальные этапы ЖЦ: анализ и
проектирование. На этих этапах реализуемость технических решений
проверяется путем создания прототипов. Каждый виток спирали
соответствует созданию фрагмента или версии ПО, на нем уточняются
цели и характеристики проекта, определяется его качество и
планируются работы следующего витка спирали. Таким образом
углубляются и последовательно конкретизируются детали проекта и в
результате выбирается обоснованный вариант, который доводится до
реализации.
Разработка итерациями отражает объективно существующий спиральный
цикл создания системы. Неполное завершение работ на каждом этапе
позволяет переходить на следующий этап, не дожидаясь полного
завершения работы на текущем. При итеративном способе разработки
недостающую работу можно будет выполнить на следующей итерации.
Главная же задача — как можно быстрее показать пользователям
системы работоспособный продукт, тем самым активизируя процесс
уточнения и дополнения требований.
Основная проблема спирального цикла — определение момента перехода
на следующий этап. Для ее решения необходимо ввести временные
ограничения на каждый из этапов жизненного цикла. Переход
осуществляется в соответствии с планом, даже если не вся
запланированная работа закончена. План составляется на основе
статистических данных, полученных в предыдущих проектах, и личного
опыта разработчиков.
Рис 1.3. Спиральная модель ЖЦ
Теперь давайте поговорим о том, какие этапы и процессы входят в
структуру ЖЦ ПО и ЖЦ ИСУ.
Процессы жизненного цикла ИСУ.
ISO/IEC 12207 и ДСТУ 3918-1999
В соответствии со стандартом ISO/IEC 12207 и ДСТУ 3918-1999
выделяют следующие базовые процессы ЖЦ ПО:
-
Основные процессы:
- приобретение (заказ),
- поставка,
- разработка,
- эксплуатация,
- сопровождение.
- Вспомогательные процессы, обеспечивающие выполнение основных
процессов:- документирование,
- управление конфигурацией,
- обеспечение качества,
- верификация,
- валидация (аттестация),
- оценка (совместный просмотр),
- аудит,
- решение проблем.
-
Организационные процессы:
- управление,
- создание и сопровождение инфраструктуры,
- усовершенствование,
- обучение.
Стандарт ISO/IEC серии 15288.
В структуру ЖЦ ИСУ следует включать следующие группы процессов:
-
Договорные процессы
- приобретение (внутренние или у внешнего поставщика решения)
- поставка (внутренние или у внешнего поставщика решения)
-
Процессы предприятия
- управление окружающей средой предприятия
- инвестиционное управление
- управление ЖЦ ИСУ
- управление ресурсами
- управление качеством
-
Проектные процессы
- планирование проекта
- оценка проекта
- контроль проекта
- управление рисками
- управление конфигурацией
- управление информационными потоками
- принятие решений
-
Технические процессы
- определение требований
- анализ требований
- разработка архитектуры
- внедрение
- интеграция
- верификация
- переход
- валидация
- эксплуатация
- сопровождение
- утилизация
- Специальные процессы
- Определение и установка взаимосвязей исходя из задач и целей.
Литература.
1 Борис Позин, Стандарты и методологии в жизненном цикле программного
обеспечения информационных систем. Журнал «Директор ИС», №10, 2001
год.
2 Михайловский Николай. Архитектура информационной системы, оценка
рисков и совокупная стоимость владения. Журнал «Директор ИС», №6,
2002 год.
3 ДСТУ 3918-1999 (ISO/IEC 12207:1995). Процеси життєвого циклу
программного забезпечення.
4 ГОСТ 34.601-90. Комплекс стандартов на автоматизированные системы.
Автоматизированные системы стадии создания.
5 ГОСТ 34.602-89. Комплекс стандартов на автоматизированные системы.
Техническое задание на создание автоматизированной системы.
6 CASE – технологии. Современные методы и средства проектирования
информационных систем.
Сравнительный анализ стандартов ISO/IEC 12207-95 и ISO/IEC 12207-2008
Стандарт ISO/IEC 12207-95 |
Стандарт ISO/IEC 12207-2008 |
||
1.Прикладное применение настоящего стандарта |
1.Применение настоящего стандарта |
||
Цель: обзор процессов жизненного цикла программных средств, |
|||
В построение стандарта входит: · Процессы ЖЦ (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