Transcript Slide 1

СОВРЕМЕННЫЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ ПО
Лекция 3:
Модели жизненного цикла ПО
Требования
Техническое задание
Модели жизненного цикла
программного обеспечения
Структура жизненного цикла
• Основные процессы
•
•
•
•
•
Приобретение
Поставка
Разработка
Эксплуатация
Сопровождение
• Организационные
процессы
• Управление
• Создание
инфраструктуры
• Усовершенствование
• Обучение
• Вспомогательные
процессы
• Документирование
• Управление
конфигурацией
• Обеспечение качества
• Верификация
• Аттестация
• Совместная оценка
• Аудит
• Решение проблем
3
Основные процессы
• Приобретение
• подготовка требований и условий
• надзор
• приёмка
• Поставка
•
•
•
•
оценка требований и условий
планирование управления проектом
планирование работ
выполнение и контроль работ
4
Основные процессы
• Разработка
•
•
•
•
•
•
•
•
•
подготовка
анализ требований к системе
проектирование архитектуры
детальное проектирование
кодирование
квалификационное тестирование
интеграция системы
внедрение ПО
приёмка ПО
5
Основные процессы
• Эксплуатация
• подготовка: планирование работ и определение
процедур на случай проблем
• эксплуатационное тестирование
• собственно эксплуатация
• поддержка пользователей
• Сопровождение
•
•
•
•
•
анализ проблем и запросов
модификация ПО
проверка и приёмка
перенос ПО в другую среду
вывод из эксплуатации
6
Вспомогательные процессы
• Документирование
• разработка и сопровождение документации
• Управление конфигурацией
•
•
•
•
правила идентификации модулей и версий
контроль состояния компонентов
оценка функциональной полноты компонентов
управление выпуском версий ПО и документации
• Обеспечение качества
• контроль соответствия ПО требованиям
• обеспечение качества процесса (соответствия
стандартам)
• обеспечение других показателей качества
7
Вспомогательные процессы
• Верификация
• непротиворечивость требований
• реализуемость требований
• адекватность стандартов, процедур и
инструментов процессам ЖЦ
• корректность описания входных/выходных
данных, интерфейсов, и т.п.
• соответствие кода требованиям
• корректность интеграции компонентов
• качество документации
• и т.п.
8
Вспомогательные процессы
• Аттестация
• подтверждение результатов тестирования
• гарантия безопасности использования и соответствия
требованиям и спецификациям
• Совместная оценка
• оценка состояния работ по проекту (контроль за
использованием ресурсов)
• Аудит
• внешний контроль (ревизия) на предмет
соответствия процессов и результатов требованиям
• Решение проблем
• анализ и решение проблем (включая несоответствия)
9
Организационные процессы
• Управление
• поиск необходимых ресурсов
• планирование
-
графики работ
оценка затрат
выделение требуемых ресурсов
распределение ответственности
оценка рисков по задачам
создание управленческой инфраструктуры
10
Организационные процессы
• Создание инфраструктуры
• выбор и поддержка технологий, стандартов,
инструментов
• Усовершенствование процессов
• меры повышения производительности труда
- улучшение методологии
- подбор инструментов
- обучение персонала
• Обучение
11
Стадии жизненного цикла
• Стадия – часть процесса
• ограниченная по времени
• приводящая к выпуску конкретного продукта
согласно требованиям к этой стадии
- моделей, компонентов, документации
• Типичный набор стадий:
•
•
•
•
•
•
•
сбор требований
проектирование
реализация
тестирование
внедрение
эксплуатация и сопровождение
снятие с эксплуатации
12
Стадии жизненного цикла
• Сбор требований
• определение целей
• изучение бизнес-процессов
• построение модели бизнес-процессов
- как есть
- как должно быть
13
Стадии жизненного цикла
• Проектирование
• Общий (системный) проект
общая архитектура системы
функции
условия функционирования
интерфейсы и распределение функций между
компонентами
- и прочие спецификации
-
• Детальный проект
-
иерархия компонентов
спецификация компонентов и структур данных
вычислительная модель
верификация требований
14
Стадии жизненного цикла
• Реализация
• разработка детальной спецификации
• проектирование логики и
программирование модулей
• модульное тестирование
• описание БД
• план приёмо-сдаточных испытаний
• руководство пользователя
15
16
Модели жизненного цикла
Стратегии конструирования ПО
• однократный проход
• линейная последовательность этапов
конструирования;
• инкрементная стратегия
• требования определяются в начале процесса
• последовательность версий
• эволюционная стратегия
• последовательность версий
• требования уточняются
17
Модели жизненного цикла
Каскадная модель (водопад – waterfall)
18
Каскадная модель
• Преимущества
• на каждой стадии формируется законченный
набор проектной документации
• можно планировать сроки завершения всех работ
и соответствующие затраты
• Недостатки
• ошибки выявляются поздно (на этапе
тестирования)
• реальные проекты требуют отклонения от
линейного порядка шагов
• исходные требования должны быть точными
• результаты – только в конце проекта
19
Итерационная модель
20
Инкрементая модель
• Первый инкремент – базовый продукт
• Последующие инкременты модифицируют
• дополнительные характеристики
• функциональность
• Пример – экстремальное программирование
21
Спиральная модель
• Проект развивается по спирали
• 4 этапа на каждом витке
• Планирование
- определение целей, вариантов и ограничений
• Анализ риска
• Конструирование (разработка продукта)
• Оценивание заказчиком
22
Спиральная модель
23
Спиральная модель
Достоинства
• наиболее реально (в виде эволюции) отображает
разработку программного обеспечения
• позволяет учитывать риски на каждом витке
• включает шаг системного подхода в итерационную
структуру разработки
• моделирование для уменьшения риска и
совершенствования ПП
Недостатки спиральной модели
• повышенные требования к заказчику
• трудности контроля и управления временем
разработки
24
Спиральная модель
• Самые известные варианты:
• RUP (Rational Unified Process)
• MSF (Microsoft Solution Framework)
• В качестве языка моделирования
используется язык UML (Unified
Modeling Language)
25
Итерация разработки
рисунок: (с) customtema,
http://habrahabr.ru/post/171331/
26
Техническое задание
Техническое задание
• ТЗ – базовый документ
•
•
•
•
•
общее назначение продукта
технические характеристики
требования
показатели качества
процесс выполнения проекта и приёмки
• Главная цель
• максимально полно отразить требования
• сформулировать задачу
• обосновать потребность в её решении
28
Стандарты
• ГОСТ 19.201-78 Техническое задание.
Требования к содержанию и
оформлению.
• ГОСТ 34.602-89 Техническое задание на
создание автоматизированной системы.
29
Основные разделы ТЗ
• Общие сведения о системе (программе)
• Назначение, цели и задачи системы
(программы)
• Требования к системе
• функциональные требования
• пользовательские требования
• требования к системе в целом и тд.
•
•
•
•
Требования к видам обеспечения
Требования к документированию
Стадии и этапы разработки
Порядок контроля и приемки системы
(программы)
30
Общие сведения
• Полное и сокращённое наименование
системы
• Реквизиты сторон
• Ссылки на документы, на основании
которых ведётся разработка (в т.ч.,
правовая основа)
• Сроки и финансирование
• Словарь терминов и сокращений
31
Назначение, цели и
задачи системы
Мотивация создания системы:
• какую потребность закрываем
• какие подзадачи возникают
• возможности, предоставляемые
пользователям
-
сервисы
оптимизация бизнес-процессов
безопасность
централизация обработки и хранения данных
32
Требования к системе
• Основные функциональные требования
• Декомпозиция задач:
• действующие лица
• сценарии использования
• результаты
• В составе этого раздела или в
приложении – примеры
пользовательского интерфейса
33
Требования к системе
• требования к функциональным
характеристикам
• требования к надежности
• условия эксплуатации
• требования к составу и параметрам
технических средств
• требования к информационной и
программной совместимости
• требования к маркировке и упаковке
• требования к транспортированию и хранению
• специальные требования
34
Требования к видам
обеспечения
Требования к:
• математическому
• информационному
• лингвистическому
• программному
• техническому
• и другим видам обеспечения
35
Требования к документации
• Перечень предоставляемых заказчику
документов.
• Может включать следующие документы:
•
•
•
•
•
•
•
•
•
Техническое задание
Ведомость эскизного (технического) проекта
Пояснительная записка к Техническому проекту
Описание организации информационной базы
Руководство пользователя
Руководство администратора
Программа и методика испытаний
Протокол приемочных испытаний
Акт выполненных работ
36
Стадии и этапы разработки
• Перечисляются этапы работ
• сроки
• описание
• результаты этапа
37
Порядок контроля и приёмки
• Указывается документ, на основании
которого проводятся приёмо-сдаточные
испытания.
38
Общее содержание ТЗ
• ТЗ может по необходимости
дополняться другими разделами:
• внедрение
• наполнение контентом (в случае сайта)
• и прочие работы, не подпадающие под
основные разделы
• а также может быть сокращено.
39
Ссылки
• ГОСТ 19.201-78, Техническое задание.
Требования к содержанию и оформлению
• ГОСТ 34.602-89 Техническое задание на
создание автоматизированной системы
• Сравнение обоих ГОСТов: общее содержание
ТЗ
• Неплохие материалы с разбором процесса
написания ТЗ на сайт:
• http://habrahabr.ru/post/140574/ и
• http://habrahabr.ru/post/138749/
40