- •"Управление качеством разработки программного обеспечения" Содержание
- •1. Введение
- •2. Основные определения
- •3. Процесс разработки программного обеспечения.
- •3.1 Жизненный цикл программного обеспечения.
- •3.2 Модели жизненного цикла программного обеспечения.
- •3.2.1 Каскадная модель (1970, w.W. Royce)
- •3.2.2. Инкрементная модель жизненного цикла разработки программного обеспечения
- •3.2.3 Итерационная модель
- •3.2.4 Спиральная модель (Бари Боэм, 1988.)
- •3.2.6 Модель быстрого прототипирования
- •3.2.7 Agileметодологии
- •Преимущества непрерывной интеграции:
- •Недостатки непрерывной интеграции:
- •3.2.7.3 Гибкая разработка - scrum(Ken Schwaber & Jeff Sutherland, 1996)
- •Планирование спринта, митинг первый
- •Планирование спринта, митинг второй
- •Остановка спринта (Sprint Abnormal Termination).
- •Демо и ревью спринта.
- •3.2.8 Подгонка модели жизненного цикла разработки.
- •4 Качество программных продуктов.
- •4.1 Определение качества. Стандарты качества.
- •Методы контроля качества
- •4.2 Стоимость качества.
- •4.3 Введение в cmmi
- •4.4. Управление требованиями
- •Способы описания требований и анализ требований.
- •Виды требований по уровням
- •Виды требований по характеру
- •Типы документов требований
- •5. Тестирование программного обеспечения.
- •5.1. Цели и задачи. Основные определения.
- •5.1.1 Методологии тестирования
- •5.1.2 Уровни тестирования
- •5.2 Процесс тестирования.
- •5.2.3 Планирование тестирования.
- •Кто будет тестировать?
- •Что нужно тестировать?
- •В каком объеме тестировать?
- •Виды тест планов
- •Оценка качества тестов
- •Тестовые метрики
- •5.2.4. Автоматизация тестирования
- •Упрощение интеграции
- •Документирование кода
- •Отделение интерфейса от реализации
- •Ограничения
- •Приложения модульного тестирования
- •5.3. Дефекты. Причины, описания, отслеживание.
- •***Этимология
- •Жизненный цикл дефекта
- •Примеры систем отслеживания ошибок
- •5.4. Типы дефектов и статические методы тестирования (Майерс)
- •5.5 Техники создания тест-кейсов.
- •5.5.1 Проектирование и исполнение.
- •5.5.2 Техники создания тест-кейсов: методология «черного ящика»
- •Свойства правильно выбранного теста
- •Техники стратегии чёрного ящика
- •Эквивалентное разбиение
- •Анализ граничных значений
- •Анализ причинно-следственных связей
- •Предположение об ошибке
- •5.5.3 Техники создания тест-кейсов: методология «белого ящика».
- •Структура rup
- •Продукты, поддерживающие rup
- •Артефакты и роли
- •Введение в uml
- •Принципы моделирования
- •Сущности в uml
- •Отношения в uml
- •Виды диаграмм uml
- •Автоматизированное тестирование
- •Обработка требований на ошибки
- •Приемка
- •Приемосдаточные испытания
- •Регрессионное тестирование
- •Система отслеживания ошибок
- •Тестирование
Введение в uml
(http://www.interface.ru/home.asp?artId=3491)
Принципы моделирования
Использование языка UML основывается на следующих общих принципах моделирования:
абстрагирование- в модель следует включать только те элементы проектируемой системы, которые имеют непосредственное отношение к выполнению ей своих функций или своего целевого предназначения. Другие элементы опускаются, чтобы не усложнять процесс анализа и исследования модели;
многомодельность - никакая единственная модель не может с достаточной степенью точности описать различные аспекты системы. Допускается описывать систему некоторым числом взаимосвязанных представлений, каждое из которых отражает определенный аспект её поведения или структуры;
иерархическое построение - при описании системы используются различные уровни абстрагирования и детализации в рамках фиксированных представлений. При этом первое представление системы описывает её в наиболее общих чертах и является представлением концептуального уровня, а последующие уровни раскрывают различные аспекты системы с возрастающей степенью детализации вплоть до физического уровня. Модель физического уровня в языке UML отражает компонентный состав проектируемой системы с точки зрения ее реализации на аппаратурной и программной платформах конкретных производителей.
Сущности в uml
В UML определены четыре типа сущностей: структурные, поведенческие, группирующие и аннотационные. Сущности являются основными объектно-ориентированными элементами языка, с помощью которых создаются модели.
Структурные сущности - это имена существительные в моделях на языке UML. Как правило, они представляют статические части модели, соответствующие концептуальным или физическим элементам системы. Примерами структурных сущностей являются «класс», «интерфейс», «кооперация», «прецедент», «компонент», «узел», «актер».
Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы, которые описывают поведение модели во времени и в пространстве. Существует два основных типа поведенческих сущностей:
взаимодействие - это поведение, суть которого заключается в обмене сообщениями между объектами в рамках конкретного контекста для достижения определенной цели;
автомат - алгоритм поведения, определяющий последовательность состояний, через которые объект или взаимодействие проходят в ответ на различные события.
Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель. Такая первичная сущность имеется в единственном экземпляре - это пакет.
Пакеты представляют собой универсальный механизм организации элементов в группы. В пакет можно поместить структурные, поведенческие и другие группирующие сущности. В отличие от компонентов, которые реально существуют во время работы программы, пакеты носят чисто концептуальный характер, то есть существуют только в процессе разработки.
Аннотационные сущности - это пояснительные части модели UML: комментарии для дополнительного описания, разъяснения или замечания к любому элементу модели. Имеется только один базовый тип аннотационных элементов - примечание. Примечание используют, чтобы снабдить диаграммы комментариями или ограничениями, выраженными в виде неформального или формального текста.