- •Кризис программирования и способ выхода из него
- •Модель cmm-sei
- •Управление качеством разработки программного продукта с помощью системы стандартов iso 9001
- •Примерная структура процесса и организации, занимающейся разработкой программных продуктов
- •Контрольные вопросы
- •Оценка технических, нетехнических и финансовых ресурсов для выполнения программного проекта
- •Оценка возможных рисков при выполнении программного проекта
- •6.5. Составление временного графика выполнения программного проекта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Конструирование прототипа
- •Составление спецификаций по требованиям заказчика
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Эволюция разработки программного продукта
- •Структурное программирование
- •Объектно-ориентированное проектирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Тестирование
- •Разработка справочной системы программного продукта. Создание документации пользователя
- •Создание версии и инсталляции программного продукта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Виды тестирования
- •Программные ошибки
- •Тестирование документации
- •Разработка и выполнение тестов
- •Требования к хорошему тесту
- •Классы эквивалентности и граничные условия
- •Тестирование переходов между состояниями
- •Условия гонок и другие временные зависимости
- •Нагрузочные испытания
- •Прогнозирование ошибок
- •Тестирование функциональной эквивалентности
- •Регрессионное тестирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •1. Подготовительная работа, предусматривающая:
- •Контрольные вопросы
- •Классификация поставляемых программных продуктов
- •Действия, выполняемые при поставке программного продукта
- •Контрольные вопросы
- •Основные понятия о надежности программных продуктов и методах ее обеспечения
- •Методы обеспечения надежности на различных этапах жизненного цикла разработки программного продукта
- •Прогнозирование ошибок
- •Шаблон для учета итоговых сведений об ошибках
- •Предотвращение ошибок
- •Шаблон для учета действий по предотвращению ошибок на этапах составления требований, проектирования и разработки
- •Устранение ошибок
- •Обеспечение отказоустойчивости
- •Инструменты, обеспечивающие надежность программных продуктов. План обеспечения надежности
- •Контрольные вопросы
Модель cmm-sei
В 1986 г. институт SEI (подразделение университета Карнеги — Меллона) с помощью корпорации Mitre начал разработку основ модели эффективного процесса изготовления программ. Характеризуя такой процесс, авторы модели употребляют понятие «зрелость», которое означает не только эффективность, но и устойчивость, надежность процесса.
Первоначальная версия модели, которая получила название «СММ», была выпущена в конце 1987 г. После этого модель несколько раз перерабатывалась, и в настоящее время готовится очередная ее версия.
В соответствии с этой моделью организация может находиться на одном из пяти уровней зрелости (рис. 4.1).
Для первого, или начального, уровня характерен спонтанный и иногда хаотический процесс разработки программ. Процедуры разработки не определены, и успех зависит от индивидуальных усилий работников.
Второй уровень, названный повторяемым, характеризуется тем, что на нем используются основные процессы управления, позволяющие отслеживать как функциональные характеристики разрабатываемого ПП, так и график работ, а также их стоимость. Организация способна повторить успешную разработку нового проекта с аналогичными возможностями.
Третий уровень называется определенным. Организации, находящиеся на этом уровне, документируют, стандартизуют и интегрируют в общий процесс управления все управленческие и инженерные задачи разработки ПП, тем самым вырабатывая стандартный процесс организации. Все проекты в организации используют утвержденные методы разработки и поддержки программ, адаптированные к конкретному проекту.
Четвертый уровень называется управляемым. У организаций этого уровня имеются способы детального измерения качества процесса и разрабатываемого ПП. Количественные характеристики процесса разработки и разрабатываемых ПП хорошо изучены и управляемы, процесс предсказуем.
Пятый, высший уровень зрелости организации называется оптимизированным. На нем осуществляется непрерывное улучшение процесса разработки, основанное на количественных характеристиках выполненных и выполняемых проектов и на внедрении новых идей и технологий.
Повышение зрелости идет от первого к пятому уровню. Подавляющее большинство организаций, занимающихся разработкой ПП, начинают с первого уровня (многие на нем и остаются). Незрелая организация не может предсказать ни срока завершения разработки, ни качества конечного продукта. Успех зависит от опытности непосредственного руководителя и квалификации и таланта разработчиков. Процесс управления, если и создается, то только в ходе выполнения проекта, ему не следуют, особенно во время часто случающихся кризисов и авралов.
Не стоит думать, что такая организация не способна успешно разработать ПП, хотя, скорее всего, график разработки не будет выполняться и система будет стоить больше, чем планировалосьсначала. Повторение успеха возможно только в том случае, если в разработке принимают участие те же самые сотрудники.
Для достижения второго и более высоких уровней организации должны разработать свой процесс, основанный и включающий в себя определенные рекомендуемые ключевые процессы.
Ключевые процессы на оптимизированном уровне:
управление изменениями процесса;
использование современных новейших технологий;
предотвращение ошибок.
Ключевые процессы на управляемом уровне:
управление качеством процесса;
измерение и анализ процесса.
Ключевые процессы на определенном уровне:
рецензирование и обсуждение с коллегами результатов работы;
координация и взаимодействие между проектами;
повышение квалификации сотрудников;
определение организационных процессов;
сосредоточение особого внимания на организационных процессах;
индустриальный подход к проектированию и разработке ПП;
интегрированное управление всеми проектами, базирующееся на стандартном процессе организации.
Ключевые процессы на повторяемом уровне:
управление конфигурацией (версиями) ПП;
обеспечение качества ПП;
управление работой субподрядчиков;
контроль за выполнением программного проекта;
планирование программного проекта;
управление требованиями к ПП.
На начальном уровне ключевых процессов нет.
Любой ключевой процесс подразумевает выполнение организацией некоторого набора ключевых действий, связанных с этим процессом, что, в свою очередь, позволяет организации достичь определенных целей, реализуемых данным ключевым процессом. Ключевые действия не только дают возможность реализовать данный ключевой процесс, но и являются своего рода инструкцией к его реализации. Выполнение или невыполнение различных ключевых действий является своеобразным ключевым показателем, по которому можно судить об уровне зрелости организации. Для определения этого уровня в модели СММ предусмотрен целый перечень вопросов, которые могут быть заданы сотрудникам организации. Анализ ответов на эти вопросы позволяет сделать вывод о достигнутом уровне зрелости. Пример структуры СММ для ключевого процесса «Планирование программного проекта» второго уровня зрелости организации приведен на рис. 4.2.
Модель СММ специально обходит вопрос о подборе персонала. Она рассматривает разработку ПП как чисто производственный процесс. Организационная структура и процессы управления должны помогать наиболее эффективно проявляться способностям разработчиков.
Сами процессы в различных организациях могут быть различны, как и используемые методы и технологии. Общим требованием ко всем процессам является создание основы для системы управления разработкой ПП.
