11 программного проекта предложены не позднее начала 90и оставляют без внимания то, что в организации, имеющей хотя бы 2-й уровень зрелости (согласно шкале SEI СММ [57]), все программные проекты имеют общие черты [50, 33]. Современные же модели процесса производства (представленные в ISO/IEC 12207 [42] или СММ [57]) предполагают, что модель плана конкретного программного проекта должна конструироваться путем адаптации моделей процесса более высокого уровня, компоненты которых в значительной степени стандартизованы. Недостатком большинства традиционно применяемых в данной области формализмов (таких как, например, сети Петри [47, 49]), является то, что динамика построенных с их помощью моделей плохо отражает реальное выполнение программных проектов, основные роли в которых играют люди, а не механизмы [35, 38]. При этом формализмы, позволяющие автоматизировать исполнение и анализ модели программного проекта, слишком сложны и громоздки, чтобы с ними было удобно работать менеджерам из промышленности, а основанные на них средства моделирования не обеспечивают удобное специфицирование и визуализацию создаваемых моделей процессов производства. Для менеджеров более привычны такие средства описания моделей, как, например, IDEF0 [39]. В стандартах ISO/IEC 12207, ISO/IEC 15504 и в SW СММ определены модели программных процессов. Каждая из этих моделей имеет свои особенности, связанные с назначением стандарта, в котором она описана. Модели процессов в первых двух стандартах имеют много общего, т. к. модель процессов стандарта ISO/IEC 15504 создавалась на основе модели процессов стандарта ISO/IEC 12207. В модели ISO/IEC 15504 отсутствует один уровень иерархии модели, т. е. если в ISO/IEC 12207 процессы состоят из видов деятельности, а виды деятельности из задач, то в ISO/IEC 15504 процессы сразу распадаются на задачи. В этих стандартах задачи по-разному группируются в процессы. Кроме того, в ISO/IEC 15504 больше категорий процессов (пять вместо трёх) и самих процессов, чем в ISO/IEC 12207, т. к. некоторые задачи из модели процессов ISO/IEC 12207 в ISO/IEC 15504 выделены в самостоятельные процессы. Между категориями процессов обоих стандартов установлено следующее соответствие [45]: основные процессы стандарта ISO/IEC 12207 соответствуют процессам заказчика |
12 Формальное моделирование процессов производства программного обеспечения может включать следующую последовательность шагов: 1) построение формальной модели, наиболее полно отражающей свойства реального процесса, 2) выбор критериев улучшения, выраженных с использованием метрик оцениваемого процесса, 3) измерение построенной модели процесса в терминах выбранных метрик, 4) её целенаправленное изменение с целью минимизации/максимизации значений выбранных метрик, 5) оценку достигнутого эффекта от изменения процесса [48]. Однако среди работ по моделированию процессов производства, опубликованных в известных отечественных и зарубежных журналах, нет таких, которые охватывали бы весь цикл улучшения плана проекта и обеспечивали развитый анализ вариантов плана. Большинство применяемых в настоящее время методов формального моделирования процессов на уровне отдельного программного проекта предложены не позднее начала 90-х гг. и оставляют без внимания то, что в организации, имеющей хотя бы 2-й уровень зрелости (согласно шкале SEI СММ [92]), все программные проекты имеют общие черты [97, 65]. Современные же модели процесса производства (представленные в ISO/IEC 12207 [76] и в таких моделях, как СММ [92]) предполагают, что модель плана конкретного программного проекта должна конструироваться путем адаптации моделей процесса более высокого уровня, компоненты которых в значительной степени стандартизованы. Недостатком большинства традиционно применяемых в данной области формализмов (таких как, например, сети Петри [70, 74, 81, 82]), является то, что динамика построенных с их помощью моделей плохо отражает реальное выполнение программных проектов, основные роли в которых играют люди, а не механизмы [67, 73]. При этом формализмы, позволяющие автоматизировать исполнение и анализ модели программного проекта, слишком сложны и громоздки, чтобы с 23 Иерархическая структура модели процессов стандарта ISO/IEC 15504 выглядит следующим образом: категория процессов —> процесс -» задача. По сравнению с моделью процессов стандарта ISO/IEC 12207, в этой модели меньше уровней иерархии, а именно, отсутствует уровень видов деятельности, процессы сразу распадаются на задачи. В стандарте ISO/IEC 15504 отдельно описаны все упоминаемые в модели процессов продукты. Для каждого продукта указано его название и краткое описание его содержания. Кроме того, в стандарте указано соответствие продуктов входам и выходам всех процессов, т. е. какие продукты необходимы для выполнения каждого процесса и какие продукты получаются в результате выполнения этого процесса. Указанные в ISO/IEC 15504 продукты частично соответствуют продуктам, упоминаемым в ISO/IEC 12207. Модель процессов стандарта ISO/IEC 15504 на нижнем уровне, т.е. на уровне задач, соответствует модели процессов стандарта ISO/IEC 12207. Её основным преимуществом перед моделью процессов из ISO/IEC 12207 является описание всех используемых в модели продуктов и установление соответствий между этими продуктами и входной-выходной информацией процессов. Поэтому целесообразно для обобщённой модели процессов и продуктов, основой которой станет модель процессов стандарта ISO/IEC 12207, использовать описания продуктов из стандарта ISO/IEC 15504. 1.2.4. Сравнение моделей процесса производства В стандартах ISO/IEC 12207, ISO/IEC 15504 и в SW СММ определены модели программных процессов. Каждая из этих моделей имеет свои особенности, связанные с назначением стандарта, в котором она описана. Модели процессов в первых двух стандартах имеют много общего, т. к. модель процессов стандарта ISO/IEC 15504 создавалась на основе модели процессов стандарта ISO/IEC 12207. В модели ISO/IEC 15504 отсутствует один уровень иерархии модели, т. е. если в ISO/IEC 12207 процессы состоят из видов деятельности, а виды деятельности из задач, то в ISO/IEC 15504 процессы 24 сразу распадаются на задачи. В этих стандартах задачи по-разному группируются в процессы. Кроме того, в ISO/IEC 15504 больше категорий процессов (пять вместо трёх) и самих процессов, чем в ISO/IEC 12207, т. к. некоторые задачи из модели процессов ISO/IEC 12207 в ISO/IEC 15504 выделены в самостоятельные процессы. Между категориями процессов обоих стандартов установлено следующее соответствие [79]: основные процессы стандарта ISO/IEC 12207 соответствуют процессам заказчика-поставщика и инженерным процессам в стандарте в ISO/IEC 15504, организационные процессы стандарта ISO/IEC 12207 соответствуют процессам управления и организационным процессам в стандарте в ISO/IEC 15504, вспомогательные процессы стандарта ISO/IEC 12207 полностью совпадает с вспомогательными процессами стандарта ISO/IEC 15504. В стандарте ISO/IEC 15504 содержится подробное описание продуктов, которые появляются в результате выполнения процессов, а также указано, какие продукты поступают на вход и появляются на выходе каждого процесса. Модель процессов из SW СММ прежде всего предназначена для оценки зрелости организации-разработчика. Основная особенность этой модели процессов заключается в том, что процессы «привязаны» не только к категориям процессов, но и к уровням зрелости организации. Причём рост зрелости организации-разработчика достигается за счёт добавления новых процессов к уже выполняемым. Тем не менее, содержание моделей из стандарта ISO/IEC 15504 и SW СММ в значительной мере «пересекается», и развитие этих моделей идёт по пути сближения [71]. Практическое использование описанных выше международных стандартов и модели SW СММ показало, что они способствуют стабилизации и улучшению процесса производства ПО в организациях [72, 86, 87, 100]. |