8-software_engineering_process (1133548)
Текст из файла
Основы программной инженерии (по SWEBOK)Программная инженерия. Процесс программной инженерии.Программная инженерияПроцесс программной инженерии(Software Engineering Process)Глава базируется на IEEE Guide to the Software Engineering Body of Knowledge - SWEBOK®, 2004.Содержит перевод описания области знаний SWEBOK® “Software Engineering Process”, скомментариями и замечаниями."Основы программной инженерии" разработаны на базе IEEE Guide to SWEBOK® 2004 в соответствии с IEEESWEBOK 2004 Сopyright and Reprint Permissions: "This document may be copied, in whole or in part, in any formor by any means, as is, or with alterations provided that (1) alterations are clearly marked as alterations and (2) thiscopyright notice is included unmodified in any copy."Русский перевод SWEBOK 2004 с замечаниями и комментариями подготовлены Сергеем Орликомпри участии Юрия Булуя.
Дополнительные главы написаны Сергеем Орликом. Текст расширений SWEBOKотмечен ццветом, отличным от перевода оригинального текста."Основы программной инженерии" Сopyright © 2004-2010 Сергей Орлик. Все права защищены.SWEBOK Сopyright © 2004 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved.Официальный сайт “Основ программной инженерии” (по SWEBOK) - http://swebok.sorlik.ruCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru1Основы программной инженерии (по SWEBOK)Программная инженерия.
Процесс программной инженерии.Программная инженерияПроцесс программной инженерии (Software Engineering Process)Программная инженерия ...................................................................................................................... 2Процесс программной инженерии (Software Engineering Process)................................................... 21. Реализация и изменение процесса (Process Implementation and Change) ............................... 31.1 Инфраструктура процесса (Process Infrastructure) ...............................................................
41.2 Цикл управления программным процессом (Software Process Management Cycle) ............ 51.3 Модели реализации и изменения процесса (Models for Process Implementation andChange) ....................................................................................................................................... 51.4 Практические соображения (Practical Considerations)..........................................................
62. Определение процесса (Process Definition) ............................................................................... 62.1 Модели жизненного цикла программного обеспечения (Software Life Cycle Models) ......... 62.2 Процессы жизненного цикла программного обеспечения (Software Life Cycle Processes) . 72.3 Нотации определения процесса (Notations for Process Definitions) .....................................
72.4 Адаптация процесса (Process Adaptation) ............................................................................ 82.5 Автоматизация (Automation) ................................................................................................. 83. Оценка процесса (Process Assessment) ....................................................................................
83.1 Модели оценки процесса (Process Assessment Models) ...................................................... 83.2 Методы оценки процесса (Process Assessment Methods) .................................................... 94. Измерения в отношении процессов и продуктов (Process and Product Measurement)........... 104.1 Измерения в отношении процессов (Process Measurement) ............................................. 104.2* Измерения в отношении программных продуктов (Software Product Measurement)........ 114.3 Качество результатов измерений (Quality Of Measurement Results) ................................. 124.4 Информационные модели (Software Information Models) ...................................................
134.5 Техники количественной оценки процессов (Process Measurement Techniques) .............. 13Область знаний “Процесс программной инженерии” (Software Engineering Process) может бытьрассмотрена на двух уровнях. Первый уровень содержит техническую и управленческуюдеятельность на протяжении процессов жизненного цикла программного обеспечения,включающих приобретение, разработку, сопровождение и вывод из эксплуатации программныхсистем. Второй уровень – “мета-уровень”, связанный с определением, реализацией, оценкой,измерением, управлением, изменением и совершенствованием самих процессов жизненногоцикла программного обеспечения. Первый уровень освещен в других областях знаний SWEBOK.Второй уровень рассматривается в данной области знаний.Термин “процесс программной инженерии” (software engineering process) можетинтерпретироваться по-разному и это, соответственно, может приводить к определеннойпутанице.С одной стороны, учитывая специфику оригинального термина в английском языке, где (сточки зрения грамматики) может существовать термин the software engineering process, онбудет подразумевать единственно правильный способ выполнения задач (performing tasks)программной инженерии.
Такое предположение заведомо отбрасывается SWEBOK, так как“единственно правильного” процесса быть не может. Такие стандарты, как IEEE/ISO/ГОСТ12207 говорят о процессах (во множественном числе - processes), подразумевая чтопрограммная инженерия содержит множество процессов, например, процесс разработки(Development Process) и процесс конфигурационного управления (ConfigurationManagement Process).Вторая интерпретация связана с общим (general) обсуждением процессов, связанных спрограммной инженерией. Данная точка зрения отражена в названии этой области знанийи является одной из наиболее часто подразумеваемых при использовании термина“процесс программной инженерии”.Наконец, третье понимание данного термина может означать реальный набор действий,предпринимаемых в данной организации и рассматриваемый как единый процесс наCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru2Основы программной инженерии (по SWEBOK)Программная инженерия.
Процесс программной инженерии.уровне организации. Такой подход также рассматривается в данной области знаний (таили иная интерпретация обычно зависит от контекста обсуждения).Данная область знаний связана со всеми элементами управления процессами жизненного циклапрограммного обеспечения, в которых процедурные (управленческие) или технологическиеизменения применяются к совершенствованию процесса или продукта.Процесс программной инженерии касается не только крупных организаций.
Более того, связанныес данным процессом действия могут и должны применяться небольшими организациями,командами и отдельными специалистами.Цель управления процессами программной инженерии состоит в реализации новых и лучшихпроцессов в реальной практике конкретных специалистов, проектов или организации (отдельныхее групп подразделений или организации, в целом).Данная область знаний не адресуется напрямую вопросам управления персоналом (humanresources management, HRM). Эти темы исследуются, например, в People CMM (People CapabililtyMaturity Model) и процессах системной инженерии (см.
стандарты ISO 15288 “Systems Engineering- System Life Cycle Process” и IEEE 1220 “Standard for the Application and Management of the SystemsEngineering Process”).Также, необходимо понимать, что многие процессы программной инженерии порождаются и тесносвязаны с другими дисциплинами, например, управлением (management), хотя иногда этипроцессы и называют по-другому в контексте этих дисциплин.Рисунок 1.
Область знаний “Процесс программной инженерии” [SWEBOK, 2004, с.9-2, рис. 1]1. Реализация и изменение процесса (Process Implementation and Change)Данная секция фокусируется на организационных изменениях. Она описывает инфраструктуру,действия, модели и практические соображения по реализации процесса и его изменении.Ниже рассматривается ситуация, в которой те или иные процессы реализуются впервые(например, процесс проведения инспекций в проекте или охват полного жизненного циклапрограммного обеспечения) и где изменяются уже существующие (используемые) процессы. Речьпойдет о том, что называют эволюцией процесса (process evolution). Существующие практикиCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru3Основы программной инженерии (по SWEBOK)Программная инженерия.
Процесс программной инженерии.рассматриваются в контексте часто необходимой модификации. Если требуемые модификациидостаточно обширны, это приводит и к необходимости изменения организационной культуры.1.1 Инфраструктура процесса (Process Infrastructure)Эта тема охватывает знания, связанные с инфраструктурой процесса программной инженерии и, вбольшой степени, базируется на стандартах IEEE/ISO/ГОСТ 12207 “Standard for InformationTechnology - Software Life Cycle Processes” и ISO 15504 “Information Technology - Software ProcessAssessment” (известен также как SPICE - Software Process Improvement and CapabilitydEtermination).Для внедрения процессов жизненного цикла необходимо обладать соответствующейинфраструктурой, подразумевая, что ресурсы (компетентный персонал, инструменты,финансирование) – доступны, а ответственность – распределена <по членам проектной командыи/или организационной единицы, в терминах структуры компании или организации, например,отдела или группы>.
Выполнение этих задач является хорошим индикатором того, чтоменеджмент <управленческий персонал проекта/организации> реально прилагает усилия поподдержке процесса программной инженерии. Как следствие таких усилий могут создаватьсяразличные комитеты и другие специализированные организационные структуры и органы, в общемслучае называемые steering committee – “управляющий комитет”, обладающий наблюдательнымифункциями в отношении усилий, направленных на мониторинг, контроль и выработкурекомендаций по поддержке и улучшению процесса программной инженерии.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.