- •Введение
- •Программная инженерия как дисциплина
- •SWEBOK: Руководство к своду знаний по программной инженерии
- •Структура и содержание SWEBOK
- •Перевод SWEBOK на русский язык
- •Программная инженерия
- •Проектирование программного обеспечения (Software Design)
- •1. Основы проектирования (Software Design Fundamentals)
- •2. Ключевые вопросы проектирования (Key Issues in Software Design)
- •3. Структура и архитектура программного обеспечения (Software Structure and Architecture)
- •4. Анализ качества и оценка программного дизайна (Software Design Quality Analysis and Evaluation)
- •5. Нотации проектирования (Software Design Notations)
- •6. Стратегии и методы проектирования программного обеспечения (Software Design Startegies and Methods)
- •Программная инженерия
- •Конструирование программного обеспечения (Software Construction)
- •1. Основы конструирования (Software Construction Fundamentals)
- •2. Управление конструированием (Managing Construction)
- •3. Практические соображения (Practical Considerations)
- •Программная инженерия
- •Тестирование программного обеспечения (Software Testing)
- •1. Основы тестирования (Software Testing Fundamentals)
- •2. Уровни тестирования (Test Levels)
- •3. Техники тестирования (Test Techniques)
- •4. Измерение результатов тестирования (Test-related measures)
- •5. Процесс тестирования (Test Process)
- •Программная инженерия
- •Сопровождение программного обеспечения (Software Maintenance)
- •1. Основы сопровождения программного обеспечения (Software Maintenance Fundamentals)
- •2. Ключевые вопросы сопровождения программного обеспечения (Key Issues in Software Maintenance)
- •2.4 Измерения в сопровождении программного обеспечения (Software Maintenance Measurement)
- •3. Процесс сопровождения (Maintenance Process)
- •3.1 Процессы сопровождения (Maintenance Processes)
- •3.2 Работы по сопровождению (Maintenance Activities)
- •4. Техники сопровождения (Techniques for Maintenance)
- •4.1 Понимание программных систем (Program Comprehension)
- •4.2 Реинжиниринг* (Reengineering)
- •4.3 Обратный инжиниринг* (Reverse engineering)
- •Программная инженерия
- •Конфигурационное управление (Software Configuration Management)
- •1. Управление SCM-процессом (Management of SCM Process)
- •2. Идентификация программных конфигураций (Software Configuration Identification)
- •3. Контроль программных конфигураций (Software Configuration Control)
- •4. Учет статусов конфигураций (Software Configuration Status Accounting)
- •5. Аудит конфигураций (Software Configuration Auditing)
- •6. Управление выпуском и поставкой (Software Release Management and Delivery)
- •Программная инженерия
- •Процесс программной инженерии (Software Engineering Process)
- •1. Реализация и изменение процесса (Process Implementation and Change)
- •2. Определение процесса (Process Definition)
- •3. Оценка процесса (Process Assessment)
- •4. Измерения в отношении процессов и продуктов (Process and Product Measurement)
- •Программная инженерия
- •Инструменты и методы программной инженерии (Software Engineering Tools and Methods)
- •1. Инструменты программной инженерии (Software Engineering Tools)
- •2. Методы программной инженерии (Software Engineering Methods)
- •Программная инженерия
- •Качество программного обеспечения (Software Quality)
- •1. Основы качества программного обеспечения (Software Quality Fundamentals)
- •2. Процессы управления качеством программного обеспечения (Software Quality Processes)
- •3. Практические соображения (Practical Considerations)
- •3.2 Характеристика дефектов (Defect Characterization)
- •3.3 Техники управления качеством программного обеспечения (Software Quality Management Techniques)
- •3.4 Количественная оценка качества программного обеспечения (Software Quality Measurement)
- •Модели жизненного цикла программного обеспечения
- •Введение
- •Стандарт 12207: Процессы жизненного цикла программного обеспечения
- •Организация стандарта и архитектура жизненного цикла
- •Основные процессы жизненного цикла (5)
- •Приобретение (5.1)
- •Поставка (5.2)
- •Разработка (5.3)
- •Эксплуатация (5.4)
- •Сопровождение (5.5)
- •Адаптация стандарта
- •Модели жизненного цикла
- •Каскадная (водопадная) модель
- •Итеративная и инкрементальная модель – эволюционный подход
- •Спиральная модель
- •Дополнительная библиография
Основы программной инженерии (по SWEBOK)
Модели жизненного цикла программного обеспечения
Общая иерархия (декомпозиция) составных элементов жизненного цикла выглядит следующим образом:
группа процессов
oпроцессы
работы
задачи
Вобщем случае, разбиение процесса базируется на широко распространенном PDCA-цикле:
“P” – Plan – Планирование
“D” – Do – Выполнение
“C” – Check – Проверка
“A” – Act – Реакция (действие)
Рассмотрим вкратце, какие работы составляют процессы жизненного цикла, помня, что полное определение работ, как и определение составляющих их задач, дано непосредственно в стандарте. Ниже приведен краткий обзор основных процессов жизненного цикла, явно демонстрирующий связь вопросов, касающихся непосредственно самой программной системы, с системными аспектами ее функционирования и обеспечения ее эксплуатации.
Основные процессы жизненного цикла (5)
Приобретение (5.1)
Процесс приобретения (как его называют в ГОСТ – “заказа”) определяет работы и задачи заказчика, приобретающего программное обеспечение или услуги, связанные с ПО, на основе контрактных отношений. Процесс приобретения состоит из следующих работ (названия ГОСТ 12207 даны в скобках, если предлагают другой перевод названий работ оригинального стандарта):
Inititation – инициирование (подготовка)
Request-for-proposal preparation – подготовка запроса на предложение (подготовка заявки на подряд)
Contract preparation and update –подготовка и корректировка договора
Supplier monitoring – мониторинг поставщика (надзор за поставщиком)
Acceptance and completion – приемка и завершение (приемка и закрытие договора)
Все работы проводятся в рамках проектного подхода.
Поставка (5.2)
Процесс поставки, в свою очередь, определяет работы и задачи поставщика. Работы также проводятся с использованием проектного подхода. Процесс включает следующие работы:
Inititation – инициирование (подготовка)
Preparation of response – подготовка предложения (подготовка ответа)
Contract – разработка контракта (подготовка договора)
Planning - планирование
Execution and control – выполнение и контроль
Review and evaluation –проверка и оценка
Delivery and completion – поставка и завершение (поставка и закрытие договора)
Разработка (5.3)
Процесс разработки определяет работы и задачи разработчика. Процесс состоит из следующих работ:
Process implementation – определение процесса (подготовка процесса)
System requirements analysis – анализ системных требований (анализ требований к системе)
System design – проектирование системы (проектирование системной архитектуры)
Software requirements analysis – анализ программных требований (анализ требований к программным средствам)
Copyright © Сергей Орлик, 2005-2010. |
5 |
http://swebok.sorlik.ru