IEEE – Institute of Electrical and Electronics Engineers

IEEE - Институт инженеров по электронике объединяет почти 400000 технических специалистов из более чем 150 стран. IEEE состоит из ряда профессиональных сообществ, в самое крупное из которых - IEEE Computer Society - входят более 100000 человек. Компьютерное сообщество IEEE ежегодно спонсирует около ста пятидесяти научных конференций и симпозиумов, публикует более 20 периодических изданий. IEEE Computer Society также широко известно своей деятельностью по стандартизации, которую на сегодняшний день в рамках сообщества осуществляют порядка 200 рабочих групп.

Подробнее: http://www.ieee.org и http://www.computer.org.ru/

Основные стандарты SE

Наиболее известными стандартами программной инженерии являются:

• ISO/IEC 12207 - Information Technology - Software Life Cycle Processes - Процессы жизненного цикла программных средств. Стандарт содержит определения основных понятий программной инженерии (в частности программного продукта и жизненного цикла программного продукта), структуры жизненного цикла как совокупности процессов, детальное описание процессов жизненного цикла.

• SEI CMM - Capability Maturity Model (for Software) - модель зрелости процессов разработки программного обеспечения. Стандарт отвечает на вопрос: «Какими признаками должна обладать профессиональная организация по разработке ПО?». Профессионализм организации определяется через зрелость процесса, применяемого этой организацией. Выделяются пять уровней зрелости процесса.

• ISO/IEC 15504 - Software Process Assessment - Оценка и аттестация зрелости процессов создания и сопровождения ПО. Является развитием и уточнением ISO 12207 и SEI CMM. Содержит расширенное по отношению ISO 12207 количество процессов жизненного цикла и 6 уровней зрелости процессов. Дается подробное описание схемы аттестации процессов, на основе результатов которой может быть выполнена оценка зрелости процессов и даны рекомендации по их усовершенствованию.

• PMBOK - Project Management Body of Knowledge - Свод знаний по управлению проектами. Содержит описания состава знаний по следующим 9 разделам (областям знаний) управления проектами

• SWBOK - Software Engineering Body of Knowledge - Свод знаний по программной инженерии - содержит описания состава знаний по 10 разделам (областям знаний) программной инженерии.

• ACM/IEEE CC2001 - Computing Curricula 2001 – Академический образовательный стандарт в области компьютерных наук. Выделены 4 основных раздела компьютерных наук: Computer science, Computer engineering, Software engineering и Information systems, по каждому из которых описаны области знаний соответствующего раздела, состав и планы рекомендуемых курсов

ISO/IEC 12207-95

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

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

Стандарт определяет:

• организацию ЖЦ ПО

• структуру ЖЦ ПО

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

Структура жизненного цикла дается в виде перечня его процессов: процесс управления, процесс разработки процесс тестирования, процесс документирования, … Для каждого процесса дается описание действий этого процесса. Так, действиями процесса разработки являются: подготовка процесса, анализ требований, проектирование системной архитектуры, анализ требований к программным средствам и т.д. Для каждого действия дается подробное описание его задач.

Примечание.

• ISO - International Organization of Standardization - Международная организация по стандартизации

• IEC - International Electrotechnical Commission - Международная электротехническая комиссия

Тексты стандарта:

• ГОСТ ИСО 12207: http://www.staratel.com/iso/InfTech/DesignPO/ISO12207/ISO12207-99/ISO12207.htm

• ISO/IEC 12207: ftp://172.16.100.100/Soft/ntd/12207cpt.pdf

SEI CMM

Capability Maturity Model (for Software) - модель зрелости процессов разработки программного обеспечения – известный отчет SEI, который формально стандартом не является, но приобрел характер международного стандарта в силу его интересности и практической полезности. Отчет появился в 1993 году как результат исследования на тему: «Как выбирать организацию, которой можно доверить выполнение крупного IT проекта?». Это исследование проводилось SEI по заказу министерства обороны США, которое было очень озадачено этой проблемой. В отчете изложена модель зрелости организаций, которая определялась через зрелость процесса разработки ПО, применяемого в этой организации. В этой модели выделяется пять уровней зрелости процесса, которые и устанавливают степень готовности организации выполнить крупный проект:

1. Начальный (Initial)

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

2. Повторяемый (Repeatable)

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

3. Определенный (Defined)

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

4. Управляемый (Managed)

Собираются и накапливаются метрики (объективные данные) о качестве исполнения процессов и выходной продукции. Управление процессами и выходной продукцией осуществляется по количественным оценкам.

5. Оптимизируемый (Optimized)

Совершенствование технологии создания ПО осуществляется непрерывно на основе количественной обратной связи от процессов и пилотного внедрения инновационных идей.

Подробнее:

• Capability Maturity Model for Software, Version 1.1, Paulk, Mark C.; Curtis, Bill; Chrissis, Mary Beth Chrissis, and Weber, Charles, Software Engineering Institute, CMU/SEI-93-TR-24, DTIC Number ADA263403, February 1993

• http://www.sei.cmu.edu/pub/documents/93.reports/pdf/tr24.93.pdf

• Билл Куртис, Марк Паулк, Мэри Бет Хриссис. Модель зрелости процессов разработки программного обеспечения. Интерфейс-Пресс. 2003 г. · 400 стр. (: http://www.ryabikin.com/sw-cmm/index.htm)

А также:

• Терехов А.А., Туньон В. Современные модели качества программного обеспечения (обзор ISO9000, CMM SPICE) http://www.interface.ru/fset.asp?Url=/misc/qs.htm

• Назаренко Ю.А. Технологическая зрелость IT организаций. http://www.noumen.ru/go/company/obj1041600305/obj1043060989

ISO/IEC TR 15504

ISO/IEC 15504 TR Software Process Assessment - международный стандарт, опубликованный в виде отчета, известный также как SPICE: Software Process Improvement and Capability dEtermination - Оценка и аттестация зрелости процессов создания и сопровождения ПО.

Разработан на основе обобщения опыта 9 стандартов (международных и корпоративных), в том числе ISO 12207 и SEI CMM. Является развитием и уточнением этих стандартов. Содержит расширенное по отношению ISO 12207 количество процессов жизненного цикла и 6 уровней зрелости процессов по отношению к CMM.

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

В стандарте установлены регламенты аттестации, оценки и усовершенствования процессов, дается подробное описание требований к аттестаторам.

Подробнее:

• ISO/IEC TR 15504. Information Technology - Software Process Assessment http://www.sqi.gu.edu.au/spice/docs/baseline.zip

• Оценка и аттестация зрелости процессов создания и сопровождения программных средств и информационных систем (ISO/IEC TR 15504) ISBN: 5-212-00884-0/ Изд: АйТи, Книга и бизнес. http://www.ntrlab.ru/rus/method/iso15504/

• Мельникова Н. Не так сложен SPICE, как его написали. Открытые системы. #12, 2001 год. http://www.osp.ru/os/2001/12/030.htm

PMI PMBOK

PMBOK - аббревиатура от Project Management Body of Knowledge, Свода знаний по управлению проектами. PMBOK представляет собой стандарт, развиваемый PMI. Известны версии 1996 и 2000 гг. Последняя версия стандарта вышла в 2004 году. Содержит описания состава знаний по следующим 9 разделам (областям знаний) управления проектами:

1. Управление интеграцией - Project Integration Management

2. Управление ограничениями - Project Scope Management

3. Управление временем - Project Time Management

4. Управление затратами - Project Cost Management

5. Управление рисками - Project Risk Management

6. Управление персоналом - Project Personnel Management

7. Управление коммуникациями - Project Communication Management

8. Управление закупками - Project Procurement Management

9. Управление качеством - Project Quality Management

Подробнее:

• A Guide to the Project Management Body of Knowledge 2000 http://www.tline.ru/library/pmbok2000.pdf

• Руководство к своду знаний по управлению проектами. (PMBOK Guide) Редакция 2000 г. Изд-тва: Институт Управления Проектами, Project Management Institute, 2004 г.

IEEE SWEBOK

IEEE Computer Society Software Engineering Body of Knowledge – Свод знаний по программной инженерии - проект IEEE Computer Society. Официальная версия вышла 18 мая 2004 г. Основная идея проекта аналогична PMBOK и заключается в создании некоторого базового набора общепринятых знаний, необходимых любому профессиональному программисту.

Содержит описания состава знаний по следующим 10 разделам (областям знаний) программной инженерии:

1. Software Requirements – требования к ПО

2. Software Design – проектирование ПО

3. Software Construction – конструирование ПО

4. Software Testing – тестирование ПО

5. Software Maintenance – сопровождение ПО

6. Software Configuration Management – управление конфигурациями

7. Software Engineering Management – управление IT проектом

8. Software Engineering Process – процесс программной инженерии

9. Software Engineerting Tools and Methods – методы и инструменты

10. Software Quality – качество ПО

Подробнее: Guide to the Software Engineering Body of Knowledge - http://www.swebok.org/

Наши рекомендации