Similar presentations:
Тема 2 Понятия и основные этапы ЖЦ ПО (1)
1. Тема 2
ТЕМА 2Понятия и основные этапы
жизненного цикла ПО
2. Основные вопросы
1.2.
3.
Жизненный цикл ПО
Стандарт жизненного цикла ПО ISO/IEC 12207
Оценка трудозатрат по этапам ЖЦ ПО
3. Жизненный цикл ПО
Жизненный цикл программного обеспечения (ЖЦ ПО) –период времени, который начинается с момента
принятия решения о необходимости создания ПО и
заканчивается в момент его полного снятия с
эксплуатации.
Основным нормативным документом, регламентирующим
состав процессов ЖЦ ПО является международный
стандарт ISO/IEC 12207:1995 «Information Technology –
Software Life Cycle Processes».
4. Жизненный цикл ПО
Процесс – совокупность взаимосвязанных действий (акаждое действие – набор задач), преобразующих
некоторые входные данные в выходные.
Каждый процесс характеризуется
задачами и методами их решения,
исходными
данными,
полученными
от
других
процессов,
и результатами.
Каждый процесс, действие или задача инициируется и
выполняется другим процессом по мере необходимости,
причем
не
существует
заранее
определенных
последовательностей выполнения.
5. Группы процессов
Согласно стандарту ISO/IEC 12207 все процессы ЖЦПО разделены на три группы:
основные процессы;
вспомогательные процессы;
организационные процессы.
6. Основные процессы ЖЦ ПО
1. приобретение – регламентирует действия,выполняемые заказчиком в процессе приобретения
программного продукта;
2. поставка – охватывает действия и задачи, выполняемые
поставщиком, который снабжает заказчика программным
продуктом или услугой;
3. разработка – предусматривает действия и задачи,
выполняемые разработчиком, и охватывает работы по
созданию ПО и его компонентов;
4. эксплуатация – охватывает действия и задачи
оператора – организации, эксплуатирующей систему;
5. сопровождение – предусматривает действия и задачи,
выполняемые сопровождающей организацией.
7. Вспомогательные процессы ЖЦ ПО
1. документирование–
предусматривает
формализованное описание информации, созданной в
течение ЖЦ ПО;
2. управление конфигурацией – предполагает применение
административных и технических процедур на всем
протяжении ЖЦ ПО для определения состояния
компонентов ПО в системе, управления модификациями
ПО, описания и подготовки отчетов о состоянии
компонентов ПО и т.д.
3. обеспечение качества – обеспечивает соответствующие
гарантии того, что ПО и процессы его ЖЦ соответствуют
заданным требованиям;
8. Вспомогательные процессы ЖЦ ПО
4. верификация – состоит в определении того, чтопрограммные продукты, являющиеся результатами
некоторого действия, полностью удовлетворяют
определенным требованиям;
5. аттестация
– предусматривает определение
полноты соответствия заданных требований и
созданной системы или программного продукта их
конкретному функциональному назначению;
6. совместная оценка – предназначена для оценки
состояния работ по проекту и ПО, создаваемому при
выполнении данных работ (действий);
9. Вспомогательные процессы ЖЦ ПО
7. аудит – представляет собой определениесоответствия требованиям, планам и условиям
договора;
8. разрешение проблем – предусматривает анализ и
решение проблем (включая обнаруженные
несоответствия), независимо от их происхождения или
источника, которые обнаружены в ходе разработки,
эксплуатации, сопровождения или других процессов.
10. Организационные процессы ЖЦ ПО
1. управление – состоит из действий и задач, которыемогут выполняться любой стороной, управляющей
своими процессами;
2. инфраструктура – охватывает выбор и поддержку
(сопровождение)
технологии,
стандартов
и
инструментальных
средств,
выбор
и
установку
аппаратных и программных средств, используемых для
разработки, эксплуатации или сопровождения ПО;
3. усовершенствование – предусматривает оценку,
измерение, контроль и усовершенствование процессов
ЖЦ ПО;
4. обучение – охватывает первоначальное обучение и
последующее постоянное повышение квалификации
персонала.
11. Процесс разработки ПО
Процесс разработки включает следующие действия:1. подготовительную работу;
2. анализ требований к системе;
3. проектирование архитектуры системы;
4. анализ требований к ПО;
5. проектирование архитектуры ПО;
6. детальное проектирование ПО;
7. кодирование и тестирование ПО;
8. интеграцию ПО;
9. квалификационное тестирование ПО;
10. интеграцию системы;
12. Процесс разработки ПО
11. квалификационное тестирование системы;12. установку системы;
13. приемку системы.
13. Процесс разработки ПО
Подготовительная работа:выбор модели ЖЦ ПО, соответствующей масштабу,
значимости и сложности проекта;
выбор и адаптация к условиям проекта стандартов,
методов и средств разработки;
составление плана выполнения работ.
14. Процесс разработки ПО
Анализтребований
к
системе
подразумевает
определение:
функциональных возможностей;
пользовательских требований;
требований к надежности и безопасности;
требований к внешним интерфейсам;
и т.д.
Требования к системе оцениваются исходя из критериев
реализуемости
и
возможности
проверки
при
тестировании.
15. Процесс разработки ПО
Проектирование архитектуры системы на высокомуровне заключается в определении:
компонентов ее оборудования,
программного обеспечения,
операций, выполняемых эксплуатирующим систему
персоналом.
Архитектура системы должна соответствовать
требованиям, предъявляемым к системе, а также
принятым проектным стандартам и методам.
16. Процесс разработки ПО
Анализ требований к ПО предполагает определениеследующих характеристик для каждого компонента ПО:
функциональных возможностей, включая характеристики
производительности и среды функционирования
компонента;
внешних интерфейсов;
спецификаций надежности и безопасности;
эргономических требований;
требований к используемым данным;
требований к установке и приемке;
требований к пользовательской документации;
требований к эксплуатации и сопровождению.
17. Процесс разработки ПО
Проектирование архитектуры ПО включает следующиезадачи (для каждого компонента ПО):
трансформацию требований к ПО в архитектуру,
определяющую на высоком уровне структуру ПО и
состав его компонентов;
разработку и документирование программных
интерфейсов ПО и баз данных;
разработку предварительной версии пользовательской
документации;
разработку и документирование предварительных
требований к тестам и плана интеграции ПО.
18. Процесс разработки ПО
Детальное проектирование ПО включает следующиезадачи:
описание компонентов ПО и интерфейсов между ними
на более низком уровне, достаточном для их
последующего самостоятельного кодирования и
тестирования;
разработку и документирование детального проекта
базы данных;
обновление (при необходимости) пользовательской
документации;
разработку и документирование требований к тестам и
плана тестирования компонентов ПО;
обновление плана интеграции ПО.
19. Процесс разработки ПО
Кодирование и тестирование ПО охватываетследующие задачи:
разработку (кодирование) и документирование каждого
компонента ПО и базы данных, а также совокупности
тестовых процедур и данных для их тестирования;
тестирование каждого компонента ПО и базы данных на
соответствие предъявляемым к ним требованиям;
обновление (при необходимости) пользовательской
документации;
обновление плана интеграции ПО.
20. Процесс разработки ПО
Интеграция ПО предусматривает сборку разработанныхкомпонентов ПО в соответствии с планом интеграции и
тестирование агрегированных компонентов.
Квалификационное
тестирование
ПО
проводится
разработчиком в присутствии заказчика (по возможности)
для демонстрации того, что ПО удовлетворяет своим
спецификациям и готово к использованию в условиях
эксплуатации.
21. Процесс разработки ПО
Интеграция системы заключается в сборке всех еекомпонентов, включая ПО и оборудование.
После
интеграции система, в свою очередь, подвергается
квалификационному тестированию на соответствие совокупности
требований к ней.
Установка системы осуществляется разработчиком в
соответствии с планом в той среде и на том
оборудовании, которые предусмотрены договором.
В процессе установки проверяется работоспособность ПО и баз
данных.
Приемка системы предусматривает оценку результатов
квалификационного тестирования ПО и системы и
документирование
результатов
оценки,
которые
проводятся заказчиком с помощью разработчика.
22. Взаимосвязь процессов ЖЦ ПО
Давно замечено, что приложение за время жизнипретерпевает многочисленные изменения своей формы,
зависящие от состояния процесса разработки и
эксплуатации приложения.
Обычно совокупность и последовательность этих изменений
называется жизненный цикл.
В разных парадигмах и технологиях программирования
понятие ЖЦ определяется и трактуется немного поразному,
но в общем близко к схеме, представленной на рис.
след. слайда.
23.
24. Взаимосвязь процессов ЖЦ ПО
Важно подчеркнуть, что за время своей жизни программапроходит метаморфозы, как правило, несколько раз,
т.е. это именно цикл,
причем не один, а несколько.
25.
Ручное проектированиеАвтоматизированное
проектирование
15%
20%
5%
40%
45%
15%
20%
Анализ
Реализация
Проектирование
Тестирование
40%
26. Оценка трудозатрат по этапам ЖЦ ПО
Технология ручногопроектирования
Основные усилия – на
кодирование и
тестирование
Технология
автоматизированного
проектирования
Основные усилия – на анализ
и проектирование
"Бумажные" спецификации Быстрое итеративное
макетирование
Ручное кодирование
Автоматическая генерация
машинного кода
Тестирование ПО
Автоматический контроль
проекта
Сопровождение
Сопровождение проекта
программного кода