- •Содержание
- •1.13. Задания для самопроверки 59
- •1.17. Задания для самопроверки 88
- •1.19. Задания для самопроверки 108
- •1.23. Задания для самопроверки 116
- •1.27. Задания для самопроверки 125
- •1.37. Задания для самопроверки 144
- •1.48. Задания для самопроверки 159
- •Перечень рисунков
- •Перечень таблиц
- •Введение
- •Принятые сокращения
- •1.Жизненный цикл разработки по
- •Программные проект и его атрибуты
- •Ролевые модели в программном проекте
- •Размер и сложность программного проекта
- •Характеристики программного проекта
- •Качество программного продукта
- •Экран проекта и сводка о подходе
- •Критерий smart для формулирования целей
- •Критерии успешности программного проекта
- •Модели жизненного цикла
- •Водопадная модель
- •Модель быстрой разработки приложения
- •Пошаговая модель
- •Спиральная модель Боэма
- •Прототипная модель
- •Выбор модели жизненного цикла
- •Задания для самопроверки
- •2.Типовой каркас для разработки по
- •Программная разработка
- •Планирование проекта
- •Модель cocomo для оценки трудозатрат в проекте
- •Модель slim для оценки трудозатрат в проекте
- •Разработка спецификации требований
- •Отслеживание и контроль
- •Верификация и валидация
- •Обеспечение качества
- •Конфигурационное управление
- •Метрики
- •Повышение квалификации
- •Задания для самопроверки
- •3. Модели зрелости способностей cmm/cmmi
- •Ключевые области процесса в модели cmm
- •Характеристика уровней зрелости в модели cmm
- •Интегрированная модель зрелости способностей cmmi
- •История возникновения
- •Уровни зрелости и области процесса
- •Уровни способностей процесса в модели cmmi
- •Специальные и общие цели и практики процессных областей
- •Характеристики уровней зрелости в модели cmmi
- •Задания для самопроверки
- •4.Управление рисками в программном проекте
- •Модели esi и pmi управления рисками
- •Выявление рисков
- •Анализ рисков
- •Расстановка приоритетов для рисков
- •Планирование рисков
- •Исполнение ответных стратегий
- •Оценивание результатов исполнение ответных стратегий
- •Документирование действий по рискам
- •Заключительное оценивание рисков
- •Задания для самопроверки
- •5.Стандарты качества iso в применении к по
- •Структура и принципы семейства стандартов iso 9000
- •Модели iso 9000 на базе процессов
- •Самооценивание по ключевым элементам iso 9000
- •Задания для самопроверки
- •6.Формальные методы в разработке по
- •Инструменты формализации и верификации
- •Взаимодействие функциональностей
- •Интегрированная технология анализа и верификации
- •Задания для самопроверки
- •7.Некоторые общие технологические приемы
- •Инспекции по Фейгану
- •Диаграммы Исикавы («рыбий скелет»)
- •Инструменты
- •Swot-анализ
- •Сбалансированный экран результативности
- •Технологическая дорожная карта
- •Метод Дельфи
- •Деревья решений
- •Сравнительное ранжирование
- •Методология подвижного программирования
- •Принципы подвижного программирования
- •Рабочий цикл и роли участников
- •Рабочие документы и обстановка
- •Задания для самопроверки
- •8.Сертификация программного обеспечения в авиации
- •История создания серии документов do-178 и ed-12
- •Уровни программного обеспечения
- •Процессы жизненного цикла по авиационных систем
- •Цели процессных деятельностей
- •Рабочие документы и категории их контроля
- •Процесс планирования по
- •Процессы разработки по
- •Определение требований
- •Проектирование
- •Кодирование
- •Верификация
- •Конфигурационное управление
- •Обеспечение качества
- •Контакт с органом сертификации
- •Выводы и рекомендации
- •Задания для самопроверки
- •9.Задания для самостоятельной работы
- •Темы, связанные с единым каркасом для разработки по
- •Перечень тем
- •Краткое описание каждой темы
- •Тема 2. Программная архитектура базового инструмента для распределенного управления программными проектами
- •Тема 3. Профили типовых рабочих компонентов для разработки приложений
- •Тема 1. Прототип метрической базы данных для управления разработкой приложений
- •Тема 5. Репозиторий повторно используемых компонентов
- •Тема 6. Сквозной пример для единого каркаса разработки приложений
- •Темы, связанные применением формальных методов перечень тем
- •Тема 1. Сравнительный анализ систем верификации
- •Тема 2. Формализация протоколов связи краткое описание каждой темы
- •Тема 1. Сравнительный анализ систем верификации
- •Тема 2. Формализация протоколов связи
- •10.Литература
- •11.Приложения
- •Шаблон для одностраничного экрана проекта
- •Примерная структура положения о работе и тз
- •Примерная форма еженедельного отчета
- •Примерная форма презентации на ежемесячном операционном обзоре
- •12.Указатель
Задания для самопроверки
Назовите 10 наиболее существенных программных рисков в Вашем проекте и опишите их. Какие из них относятся к собственно проекту, какие к создаваемому продукту, а какие к среде разработки (организации)?
Найдите в Интернете примеры таксономии программных рисков (поиск по словам «Software risk taxonomy»). Рассмотрите предлагаемые способы разделения рисков по классам с учетом их элементов и атрибутов.
Выберите 3 категории, которые создают наибольшие проблемы для Вашего проекта, и опишите их. Какие из них встречаются чаще всего?
Сформулируйте 3 наиболее важных риска в Вашем программном проекте и проведите их анализ с выработкой плана по смягчению (risk mitigation plan).
Рассмотрите риск заражение вирусом через электронную почту в Вашем проекте и предложите стратегию, как минимизировать его вероятность и(или) воздействие, перенаправить, принять, избежать.
5.Стандарты качества iso в применении к по
Международная организация стандартизации ISO, которая объединяет представителей 165стран, включая Россию, разработала и продолжает сопровождать ряд стандартов качества товаров и услуг, которые применимы, в том числе, и к разработке программного обеспечения. Стандартами, непосредственно относящимися к программному обеспечению, являются следующие:
International Standard ISO 9001:2008 (E) – Quality Management Systems — Requirements;
International Standard ISO 9004:2009 (E) – Managing for the sustained success of an organization – A quality management approach;
ISO/IEC 90003:2004 Software engineering – Guidelines for the application of ISO 9001:2000 to computer software,
причем последний в этом списке стандарт является именно стандартом по управлению качеством компьютерных программ и услуг. Он заменяет собой устаревший стандарт ISO 9000-3 1997 для программного обеспечения и объясняет применение стандарта ISO 9001 2000 к ПО и связанным с ним услугам.
Некоторые из стандартов ISO были переведены на русский язык и утверждены в качестве ГОСТов РФ:
ГОСТ Р ИСО 9000-2008 — аналог ISO 9000:2005;
ГОСТ Р ИСО 9001-2008 — аналог ISO 9001:2008;
ИСО 9000: "Общее руководство качеством и стандарты по обеспечению качества";
ИСО 9001 "Система Качества: Модель обеспечения качества при проектировании, разработке, производстве, монтаже и обслуживании";
ИСО 9002 "Система Качества: Модель обеспечения качества при производстве, монтаже и обслуживании";
ИСО 9003 "Система Качества: Модель обеспечения качества при окончательном контроле и испытаниях";
ИСО 9004: "Общее руководство качеством и элементы системы качества";
ИСО 10011: "Руководящие указания по проверке системы качества";
ИСО 10013: "Руководящие указания по разработке руководств по качеству";
ИСО 8402: "Управление качеством и обеспечение качества - Словарь".
Структура и принципы семейства стандартов iso 9000
Три стандарта ИСО 9001, 9002 и 9003 задают три модели качества, последовательно уточняющих одна другую. Согласно самому общему стандарту ИСО 9001, поставщик должен продемонстрировать способность проектировать, разрабатывать, производить, монтировать и обслуживать свой продукт. Следующий по уровню, более частный стандарт ИСО 9002 требует от поставщика демонстрацию того, что его соответствующие производственные процессы обеспечивают выполнение требований технического задания на данный продукт или услугу. Наконец, еще более конкретный стандарт ИСО 9003 обязывает поставщика продемонстрировать его способность проводить контроль и испытание продукции.
Структура семейства стандартов и руководств обеспечения качества ISO 9000 приведена на Рис. 37.
ОСНОВНЫЕ СТАНДАРТЫ |
|
ВСПОМОГАТЕЛЬНЫЕ СТАНДАРТЫ |
|||
ДЛЯ ДОГОВОРНЫХ СИТУАЦИЙ |
ДЛЯ НЕДОГОВОР-НЫХ СИТУАЦИЙ |
АУДИТ СИСТЕМЫ КАЧЕСТВА |
Словарь, Обеспече-ние качества, Крите-рии выбора |
МЕТРОЛОГИ-ЧЕСКОЕ ОСНАЩЕНИЕ |
|
ISO 9001, 2, 3 |
ISO 9004 |
ISO 10011/1, 2, 3 |
ISO 8402 ISO 9000/1 |
ISO 10012/1, 2 |
|
|
|||||
РЕКОМЕНДАЦИИ |
|||||
По применению ISO 9001, 2, 3 |
По применению ISO 9004/1 |
По составлению ру-ководств и докумен-тов по качеству |
По проведению обучения и т.д. |
По определен-ным видам деятельности |
|
ISO 9000/2, 3, 4 |
ISO 9004/2, 3, 4 |
ISO 10013 ISO 10016 |
ISO 10005, 6, 7 ISO 10014, 15 |
EN 40001, 2 ISO 13485 ISO 13488 |
Рис. 37. Структура семейства стандартов ISO 9000
Стандарты качества ISO 9000 строятся на базе следующих 8 принципов:
1. Нацеленность на заказчика. Организации зависят от своих заказчиков и поэтому должны понимать их текущие и будущие потребности, и бороться за то, чтобы превзойти ожидания заказчика. Типичными деятельностями в свете этого принципа являются:
исследование и понимание ожиданий и потребностей заказчиков;
увязывание целей организации с потребностями и ожиданиями заказчиков;
оповещение о потребностях и ожиданиях заказчиков всей организации;
измерение удовлетворенности заказчика и действия по результатам;
систематическое управление отношениями с заказчиками;
обеспечение сбалансированного подхода к удовлетворению заказчика и других заинтересованных лиц (например, собственников, трудящихся, поставщиков, финансистов, местных общин и общества в целом).
В результате в организации, как правило, достигаются рост оборота и доли рынка за счет гибкого и быстрого ответа на возможности рынка; рост эффективности в использовании ресурсов организации и улучшенная привязанность заказчика и повторяемость бизнеса.
2. Лидерство. Лидеры дают единство цели и направления организации. Они должны создавать и поддерживать такую внутреннюю среду, в которой люди полностью вовлекаются в достижение целей организации. Типичными деятельностями являются:
учет потребностей всех заинтересованных лиц в единстве как целого;
установления ясного видения будущего организации;
установление вызывающих целей (challenging goals);
создание и поддержание разделяемых ценностей, справедливости и этичных образцов поведения на всех уровнях организации;
установление доверия и устранения страха;
обеспечение людей адекватными ресурсами, обучением и свободой действия с ответственностью и отчетом;
воодушевление, поощрение и признание вклада людей.
При соблюдении этого принципа люди лучше понимают цели организации и мотивированы на их достижение, деятельности оцениваются, подгоняются и реализуются унифицированным образом, минимизируется недопонимание между разными уровнями организации.
3. Вовлеченность людей. Люди на всех уровнях составляют существо организации; их полная вовлеченность дает возможность их способностям быть использованными в интересах организации. В организациях, соблюдающих этот принцип, люди:
понимают важность своего вклада и своей роли в организации;
выявляют ограничения своей производительности;
принимают владение проблемами и ответственность за их разрешение;
оценивают свою производительность в сравнении с личными целями и задачами;
активно ищут возможности расширить свои умения, знания и опыт;
свободно делятся знаниями и опытом;
открыто обсуждают проблемы и спорные вопросы.
Непосредственным следствием этого является то, что люди в организации мотивированы, устремлены и вовлечены, проявляют инновационность и творчество при движении к целям организации, ответственны за свою производительность, готовы внести вклад в совершенствование организации и стремятся делать это.
4. Процессный подход. Желаемый результат достигается более эффективно, если управление деятельностями и соответствующими ресурсами ведется как процесс. Типичными деятельностями в этом плане являются:
систематическое определение деятельностей для достижения желаемого результата;
установление ясной ответственности и отчетности по управлению ключевыми деятельностями;
анализ и измерение способностей ключевых деятельностей;
выявление интерфейсов для ключевых деятельностей внутри функций организации и между ними;
нацеленность на факторы (ресурсы, методы, материалы), которые улучшают ключевые деятельности организации;
оценивание рисков, последствий и воздействий деятельностей на заказчиков, поставщиков и других заинтересованных лиц.
Как следствие, желаемый результат достигается более эффективно, если управление деятельностями и соответствующими ресурсами ведется как процесс.
5. Системный подход к управлению. Выявление, понимание и управление взаимосвязанными процессами, по мере того как система вносит вклад в результативность и эффективность организации в достижении ее целей. Типичными деятельностями в этом направлении являются:
структуризация системы для достижения целей организации наиболее результативным и экономичным путем;
понимание взаимозависимостей между процессами системы;
структурные подходы, гармонизирующие и объединяющие процессы;
лучшее понимание ролей и ответственностей, необходимых для достижения общих целей и снижающих барьеры между функциями;
понимание способностей организации и установление ресурсных ограничений до начала действий;
нацеливание и определение специфических деятельностей;
постоянное улучшение системы через измерения и оценивание.
Как результат в такой организации возрастают интеграция и приспособление тех процессов, которые лучше всего достигают желаемых результатов, улучшается способность сфокусировать усилия на ключевых процессах и растет уверенность у заинтересованных лиц в согласованности, результативности и эффективности данной организации.
6. Непрерывное улучшение. Постоянной целью данной организации должно быть непрерывное улучшение ее суммарной производительности. Типичными деятельностями в этом направлении являются:
использование согласованного подхода по всей организации для непрерывного улучшения ее производительности;
предоставление людям обучения и методов для непрерывного улучшения;
превращение непрерывного улучшения продуктов, процессов и систем в цель для каждого работника в организации;
установление целей для направления и метрик для отслеживания непрерывного улучшения;
признание и поощрение улучшений.
Как следствие организация получает преимущество в производительности через улучшенные способности организации, подгонку улучшенных деятельностей на всех уровнях к стратегическому направлению организации и гибкость для быстрого реагирования на возможности.
7. Фактологический подход к принятию решений. Результативные решения основываются на анализе данных и информации. Типичными деятельностями являются:
обеспечение точности и надежности данных и информации;
предоставление доступа к данным тем, кому это надо;
анализ данных и информации правильными методами;
принятие решений и выполнение действий на основе анализа фактов с учетом опыта и интуиции.
Полезными следствиями применения этого принципа являются принятие решений на основе информации, возросшая способность демонстрировать результативность прежних решений через обращение к записям фактов и возросшая способность обсуждать, оспаривать и менять мнения и решения.
8. Взаимовыгодные отношения с поставщиками. Организация и ее поставщики зависят друг от друга, их взаимовыгодные отношения улучшают способности их обоих к созданию ценности. Типичными деятельностями в этом направлении являются:
установление отношений, сводящих вместе краткосрочные выгоды и долгосрочные рассмотрения;
разделение экспертизы и ресурсов с партнерами;
выявление и выбор ключевых поставщиков;
ясное и открытое взаимодействие;
обмен информацией и планами на будущее;
совместные деятельности по разработкам и улучшениям;
предложение, поощрение и признание улучшений и достижений у поставщиков.
Как результат в организации растет способность создавать ценность для обеих сторон, проявляется гибкость и быстрота совместных ответов на меняющийся рынок и потребности и ожидания заказчика и происходит реальная оптимизация затрат и ресурсов.