cc7ff0635b3f6c25e88a2bac08924dfa.ppt
- Количество слайдов: 35
СИСТЕМНОЕ И ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Лекция 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
cc7ff0635b3f6c25e88a2bac08924dfa.ppt