Общая характеристика базовых элементов инженерной дисциплины

1. Ядро знаний SWEBOK - краткое описание концептуальных основ программной инженерии. Структурно делится на 10 глав (knowledge areas), которые условно можно разложить по двум категориям: проектирование продукта и инженерная деятельность. Первая категория - это методы и средства разработки (формирование требований, проектирование, конструирование, тестирование, сопровождение), вторая категория - методы управления проектом, конфигурацией и качеством и базовым процессом организации-разработчика (подробнее см. в п.1.2).

Ядро знаний SWEBOK

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

Все это создает технологический базис инженерии изготовления конкретного продукта (или ряда однотипных продуктов) в организации.

2. Базовый процесс (БП) является метауровнем для обеспечения «процессного продуцирования» продукта. Он включает в себя описание понятий относительно оснащения,
организационной структуры коллектива разработчиков и методологии оценки, измерения, управления изменениями и совершенствование самого процесса. В целом базовый процесс состоит из множества логически связанных видов инженерной деятельности организации-разработчика и набора средств и инструментов по изготовлению программного обеспечения.

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

Технологические и методические ресурсы составляют методики, процедуры, правила, рекомендации стандартов процесса и управления персоналом вместе с комплектом документов, устанавливающим регламент выполнения и регулирования процессов ЖЦ, применяемых для решения конкретных задач проекта. Человеческие ресурсы - это группы разработчиков и служб управления проектом, планами, качеством, риском, конфигурацией, а также проверки правильности выполнения проекта разработчиками [9-11].
Средства, промежуточные результаты разработки по процессам ЖЦ, а также методики управления различными ресурсами, выполнение БП и применение методов программирования, хранятся в базе знаний проекта.

После выполнения проекта и получения опыта построения конкретного продукта, базовый процесс и его отдельные элементы, представленные на рис. 1.5, могут совершенствоваться (доработкой или изменением приемов, доработкой, изменением, добавлением новых средств) в соответствии с требованиями стандарта ДСТУ ISO / IEC 15504-7 («Оценивание процессов ЖЦ ПО. Наставления по совершенствованию процесса») с целью повышения уровня возможностей и оценки мощности процесса.

Готовность всех видов обеспечения организации-разработчика, совершенство выполняемых процессов и качество созданного в ней продукта предоставляют основания для оценки зрелости организации или сертификации процессов производства ПО. Для оценки зрелости может применяться модель зрелости CMM (Capability Maturity Models) [11], предложенная Институтом программной инженерии SEI США, или другая модель, например, Bootstrap, Trillium и т.п. Модель СММ устанавливает уровни зрелости организации по созданию программных продуктов. Уровень зрелости определяется наличием у организации базового процесса всех необходимых видов ресурсов (в том числе и финансовых), соответствующих стандартов и методик, а также профессиональных способностей (зрелости) членов коллектива организации, способных производить программные продукты в заданный срок и установленной стоимости.

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

Наиболее важными среди них являются стандарт ISO / IEC 12207 «Процессы жизненного цикла программного обеспечения» (и его несколько устаревший отечественный эквивалент ДСТУ 3918-99), серия стандартов ISO / IEC 14598 «Оценка программного продукта», стандарт ДСТУ ISO 15939 «Процесс измерения », серия стандартов ISO / IEC 15504« Оценка процессов ЖЦ ПО », базовые стандарты по качеству - ISO 9001« Системы управления качеством. Требования », ГОСТ 2844-94, ГОСТ 2850-94, регламентирующие различные аспекты обеспечения качества ПП.

Среди стандартов, которые непосредственно связаны с качеством ПО, следует также назвать проект новой серии стандартов ISO / IEC TR 9126 «Программная инженерия. Качество продукта ». В этих стандартах обобщенные знания специалистов по технологии проектирования и инженерных методов управления разработкой, начиная от определения требований и заканчивая оценкой качества продукта и возможной его последующей сертификацией.
Процессы ЖЦ в стандарте ISO / IEC 12207 подают общие положения, задачи и регламентированные действия по проектированию, а также рекомендации по применению этих процессов для разработки и контроля промежуточных результатов. В стандарте содержатся также описания организационных процессов - планирование, управление и сопровождение.

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

Ядро знаний SWEBOK и стандарты по ЖЦ имеют взаимосвязанные составляющие. Процессам ЖЦ сопоставляются необходимые методы ядра и тем самым определяется базовый процесс создания проекта, который дополняется методиками и ограничениями по выработке продукта. Действующие фундаментальные модели ЖЦ (каскадная, спиральная и др.), которые широко используются на практике, предлагают привнесение в них стиля проектирования и реализации некоторых видов продуктов.

5. Менеджмент проекта - это управление исполнением проекта с использованием теории управления и процессов ядра знаний РМВОК (Project Management body of knowledge) [12]. В серии руководств к PMBOK, разработанных американским Институтом управления проектами (www.pmi.org), поданы положения и правила управления временным производственным циклом построения уникального продукта в
рамках проекта, сначала без учета уровня компьютеризации промышленности (1987г.), а потЯдро знаний PMBOK включает в себя описание лексики, структуры процессов и областей знаний, отражая современную практику управления проектами в различных областях промышленности. В нем определены процессы ЖЦ проекта и главные области знаний, сгруппированные по задачам: инициация, планирование, использование, мониторинг и управление, завершение.ом и с его учетом (2000г.).

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

Сфера менеджмента проекта охватывает исполнителей, все виды обеспечения (информационное, программное, техническое и т.п.), и, что главное, работы, распределены между исполнителями. Каждой работе соответствуют задачи и исходные данные, которые задаются менеджером проекта для выполнения работ.
В настоящее время наставления к PMBOK и SWEBOK введены в статус стандартов, а именно: ISO / IEC TR 19759 («Guide to the Software Engineering Body of Knowledge (SWEBOK)) и IEEE Std.1490« IEEE Guide adoption of PMI Standard. A Guide to the Project Management Body of Knowledge) и [15].

6. Средства и инструменты ПИ.Проектирование объектов выполняется с помощью современных визуальных языков, например UML, языков программирования (С + +, Java, Object Pasсal т.д.) с использованием соответствующих инструментальных сред, содержащих в себе необходимые языковые преобразователи и инструменты поддержки различных артефактов ПП, которые разрабатываются.

Как средства их проектирования применяют диаграммы использования, потоков данных, классов, поведения, а также шаблоны, каркасы и т.п.. В среде проектирования целевых объектов применяются современные технологии и соответствующие инструментально-технологические пакеты инструментов (например, технологии RUP, MSF и инструменты Rational Rose, Microsoft Visual Studio и др.). Они содержат не только инструменты проектирования различных типов целевых объектов проектов, но и средства и инструменты управления проектом, в частности персоналом, планами и качеством продуктов.