технологии разработки, а знания, которые
Данный стандарт является главным документом, определяющим содержание деятельности в сфере технологии разработки, а знания, которые необходимы исполнителям для выполнения всех видов деятельности по проектированию и реализации поставленных задач перед проектом, определяют методы и средства ядра знаний SWEBOK.
Между стандартом ISO\IEC 12207 и ядром знаний SWEBOK существует связь и взаимовлияние друг на друга, тем более в разработке обоих документов примерно в одно время принимали участие высококвалифицированные специалисты в области программирования и информатики.
Общие идеи и методы программирования, сложившиеся в 90-х годах прошлого столетия, проникли в оба направления и оказали влияние на их структуру и содержание. Программисты–профессионалы систематизировали накопившиеся знания и создали 10 разделов, которые близки процессам ЖЦ по целям, задачам и видам деятельности. В ядре знаний SWEBOK они изложены, как фундаментальные знания и инженерные методы управления разработкой ПО, а в стандарте, как общие положения, структура и регламентированные процессы проектирования, начиная от процесса постановки требований до эксплуатации ПО. Процессы стандарт отвечают на вопрос, как надо делать, т.е. какие действия и задачи процессов ЖЦ надо выбрать, чтобы построить конкретное ПО. Ядро знаний SWEBOK отвечает на вопрос, какими методами, средствами и инструментами надо выполнять регламентированные действия и задачи процессов ЖЦ, чтобы построить ПО.
Таким образом, программная инженерии сформировалась как инженерная дисциплина, которая базируются на теоретических и прикладных методах и средствах разработки ПО, которые будут излагаться в данном учебнике более подробно, и стандартах (ISO/IEC 12207, 15404, ISO 9126 и др.), содержащих рекомендации, правила и методики управления разработкой ПО. Эти два базиса объединяет инженерия оценивания результатов на процессах ЖЦ, управление качеством ПО, оценка затраченных ресурсов на его создание и учета стоимости деятельности участников разработки.
Таким образом, инженерия программирования делает акцент на принципы, методы и подходы к управлению проектом, конфигурацией и качеством ПО, а стандарты регламентирует процессы организационной деятельности при инженерному проведению работ в процессе проектирования и разработки ПО.
Ядро знаний SWEBOK, а также многочисленные монографии и статьи по методам и средствам программной инженерии предоставляет всю необходимую информацию для выбора наиболее подходящего метода, средства, инструмента, а также процессов ЖЦ для реализации конкретного программного проекта на инженерной и регламентированной, стандартизованной основе.
Естественно, что в небольших программных проектах всегда будет место творческим и неформальным подходам, вносимых отдельными личностями-профессионалами, при создании разного рода уникальных продуктов, процесс разработки которых не всегда вкладывается в общее стандартное русло.
Инженерная дисциплина проектирования включает организационные процессы – планирование, управление и сопровождение. Планирование ставит своей целью составить планы и графики работ по реализации проекта и распределить их между разными категориями специалистов с учетом их квалификации и уровня знаний проблематики программной инженерии. Второй процесс обеспечивает привнесение методов управления в процесс выполнения работ по программированию, а именно управление временем, стоимостью и сроками. Третий процесс рассматривается как процесс выполнения проекта, обнаружения и устранения найденных недостатков в изготовленной системе, а также внесения новых функций по заказу пользователей этой системы. Один из метров программной инженерии М.Джексон определил [8] золотое правило программирования: всякая только что законченная программная система сразу требует изменений.