Лекция 10 - Жизненный цикл ПП. Модели. Документация

advertisement
СИСТЕМНОЕ И ПРИКЛАДНОЕ
ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
Лекция 10.
Жизненный цикл ПО.
Модели жизненного цикла.
Программная документация.
Жизненный цикл ПО
Понятие жизненного цикла
Жизненный цикл – период:
• с момента принятия решения о создании ПС
• до момента полного прекращения эксплуатации
Стандарты:
• ISO/IEC 12207: 2008 “System and software
engineering — Software life cycle processes”
• ГОСТ Р ИСО/МЭК 12207-2010 «Информационная
технология. Системная и программная инженерия. Процессы
жизненного цикла программных средств»
• Старые ГОСТы:
• ГОСТ 19.ХХХ (Единая система программной документации)
• ГОСТ 34.ХХХ (Комплекс стандартов на АС)
3
Организация жизненного цикла
(ISO/IEC 12207)
• Архитектура жизненного цикла –
• набор процессов и связей между ними
• построение начинается с формулирования
идеи или потребности (в решении задач)
• Декомпозиция процессов жизненного
цикла на принципах:
• модульности (связанность-связность)
• ответственности (персональной, за
процесс)
- не может быть 2х ответственных у 1 процесса
4
Организация жизненного цикла
(ISO/IEC 12207)
• Общая иерархия процессов ЖЦ:
• группа процессов->процессы->работы->задачи
• Декомпозиция процесса – “PDCA-цикл”:
•
•
•
•
“P” – Plan – Планирование
“D” – Do – Выполнение
“C” – Check – Проверка
“A” – Act – Реакция (действие)
5
Структура жизненного цикла
Группы процессов
• Основные процессы
•
•
•
•
•
Приобретение
Поставка
Разработка
Эксплуатация
Сопровождение
• Организационные
процессы
• Управление
• Создание
инфраструктуры
• Усовершенствование
• Обучение
• Вспомогательные
процессы
• Документирование
• Управление
конфигурацией
• Обеспечение качества
• Верификация
• Аттестация
• Совместная оценка
• Аудит
• Решение проблем
6
Основные процессы
• Приобретение (заказ) – работы и задачи
заказчика
• подготовка требований и условий
• надзор
• приёмка
• Поставка – работы и задачи поставщика
•
•
•
•
оценка требований и условий
планирование управления проектом
планирование работ
выполнение и контроль работ
7
Основные процессы
• Разработка (работы и задачи разработчика)
•
•
•
•
•
•
•
•
•
подготовка
анализ требований к системе
проектирование архитектуры
детальное проектирование
кодирование
квалификационное тестирование
интеграция системы
внедрение ПО
приёмка ПО
8
Основные процессы
• Эксплуатация (служба поддержки)
• подготовка: планирование работ и определение
процедур на случай проблем
• эксплуатационное тестирование
• собственно эксплуатация
• поддержка пользователей
• Сопровождение (служба поддержки)
•
•
•
•
•
анализ проблем и запросов
модификация ПО
проверка и приёмка
перенос ПО в другую среду
вывод из эксплуатации
9
Вспомогательные процессы
• Документирование
• разработка и сопровождение документации
• Управление конфигурацией
•
•
•
•
правила идентификации модулей и версий
контроль состояния компонентов
оценка функциональной полноты компонентов
управление выпуском версий ПО и документации
• Обеспечение качества
• контроль соответствия ПО требованиям
• обеспечение качества процесса (соответствия
стандартам)
• обеспечение других показателей качества
10
Вспомогательные процессы
• Верификация
• непротиворечивость требований
• реализуемость требований
• адекватность стандартов, процедур и
инструментов процессам ЖЦ
• корректность описания входных/выходных
данных, интерфейсов, и т.п.
• соответствие кода требованиям
• корректность интеграции компонентов
• качество документации
• и т.п.
11
Вспомогательные процессы
• Аттестация
• подтверждение результатов тестирования
• гарантия безопасности использования и соответствия
требованиям и спецификациям
• Совместная оценка
• оценка состояния работ по проекту (контроль за
использованием ресурсов)
• Аудит
• внешний контроль (ревизия) на предмет
соответствия процессов и результатов требованиям
• Решение проблем
• анализ и решение проблем (включая несоответствия)
12
Организационные процессы
• Управление
• поиск необходимых ресурсов
• планирование
-
графики работ
оценка затрат
выделение требуемых ресурсов
распределение ответственности
оценка рисков по задачам
создание управленческой инфраструктуры
13
Организационные процессы
• Создание инфраструктуры
• выбор и поддержка технологий, стандартов,
инструментов
• Усовершенствование процессов
• меры повышения производительности труда
- улучшение методологии
- подбор инструментов
- обучение персонала
• Обучение
14
Стадии жизненного цикла
• Стадия – часть процесса
• ограниченная по времени
• приводящая к выпуску конкретного продукта
согласно требованиям к этой стадии
- моделей, компонентов, документации
• Типичный набор стадий:
•
•
•
•
•
•
•
сбор требований
проектирование
реализация
тестирование
внедрение
эксплуатация и сопровождение
снятие с эксплуатации
15
Стадии жизненного цикла
• Сбор требований
• определение целей
• изучение бизнес-процессов
• построение модели бизнес-процессов
- как есть
- как должно быть
16
Стадии жизненного цикла
• Проектирование
• Общий (системный) проект
общая архитектура системы
функции
условия функционирования
интерфейсы и распределение функций между
компонентами
- и прочие спецификации
-
• Детальный проект
-
иерархия компонентов
спецификация компонентов и структур данных
вычислительная модель
верификация требований
17
Стадии жизненного цикла
• Реализация
• разработка детальной спецификации
• проектирование логики и
программирование модулей
• модульное тестирование
• описание БД
• план приёмо-сдаточных испытаний
• руководство пользователя
18
19
Модели жизненного цикла
Модели жизненного цикла
Стратегии конструирования ПО
• однократный проход
• линейная последовательность этапов
конструирования;
• инкрементная стратегия
• требования определяются в начале процесса
• последовательность версий
• эволюционная стратегия
• последовательность версий
• требования уточняются
21
Каскадная модель
Так называемая модель водопада – waterfall
22
Каскадная модель
• Преимущества
• на каждой стадии формируется законченный
набор проектной документации
• можно планировать сроки завершения всех работ
и соответствующие затраты
• Недостатки
• ошибки выявляются поздно (на этапе
тестирования)
• реальные проекты требуют отклонения от
линейного порядка шагов
• исходные требования должны быть точными
• результаты – только в конце проекта
23
Цена ошибок
24
Инкрементая (итерационная)
модель
• Она же – эволюционная модель
• Жизненный цикл разбивается на итерации
• цель каждой итерации – рабочая версия продукта
25
Инкрементая модель
• Первый инкремент – базовый продукт
• Последующие инкременты
модифицируют
• дополнительные характеристики
• функциональность
• Примеры методологий:
• Rational Unified Process (RUP)
• Экстремальное программирование (XP)
26
Инкрементая модель
• Достоинства:
• Быстрая реакция на изменения
• Возможность отката к предыдущей итерации
• Обратная связь с пользователями при
демонстрации/внедрении промежуточных версий
• Недостатки:
• Нет цельного видения проектных ограничений и
возможностей продукта
- отсутствует детальный анализ на всю глубину проекта,
выполняется по частям
• Мотивационные риски (снижение качества)
27
Спиральная модель
• Проект развивается по спирали:
• на каждом витке уточняют требования и цели,
планируют работы на виток вперёд
• 4 этапа на каждом витке:
• Планирование
- определение целей, вариантов и ограничений
• Анализ риска
• Конструирование (разработка продукта)
• Оценивание заказчиком
• Примеры:
• Microsoft Solution Framework (MSF)
28
Спиральная модель
29
Спиральная модель:
прототипирование
• Макет (прототип) – способ проверки и
уточнения требований
• Модель продукта:
• бумажный макет (рисованная схема)
• работающий прототип
- реализована часть функций
• существующая программа
- улучшение имеющихся характеристик
30
Спиральная модель
• Достоинства:
• наиболее реально отображает жизненный цикл
• позволяет учитывать риски на каждом витке
• включает шаг системного подхода в итерационную
структуру разработки
• моделирование для уменьшения риска и
совершенствования ПП
• Недостатки:
• повышенные требования к заказчику
• трудности контроля и управления временем
разработки
31
Проектная документация
Стандарты
• ГОСТ Р ИСО/МЭК ТО 9294-93.
• Информационная технология. Руководство по
управлению документированием программного
обеспечения.
• ГОСТ 19.101-77
• Виды программ и программных документов.
• ГОСТ 34.201-89
• Информационная технология. Комплекс
стандартов на автоматизированные системы.
Виды, комплектность и обозначения документов
при создании автоматизированных систем.
33
•
Виды программной
документации
Требования
• ГОСТ 19.101: Техническое задание
• IEEE 830: Спецификация требований (SRS)
• Программные спецификации
• ГОСТ 19.101-77: Описание программы, Пояснительные
записки
• Архитектурные документы:
- высокоуровневая архитектура
- низкоуровневая архитектура
• Управление проектом
• планы разработки, сборки, тестирования, обеспечения
качества
• Программа и методика испытаний
• Эксплуатационные документы
• Учебная и справочная документация:
- Руководства пользователя, программиста, системного
администратора, и т.п.
34
Ссылки
•
Модели жизненного цикла ПО:
•
Обзор
-
•
ГОСТ Р ИСО/МЭК 12207-2010
-
•
http://swebok.sorlik.ru/software_lifecycle_models.html
http://protect.gost.ru/document.aspx?control=7&id=176990
Программная документация:
•
ГОСТ Р ИСО/МЭК ТО 9294-93
-
•
http://ereport.sbis.ru/upload/Gost.pdf
ГОСТ 19.101-77
-
http://it-gost.ru/content/view/36/40
35
Download