Жизненный цикл и этапы разработки программного обеспечения. (Лекция 2)

Содержание

Слайд 2

ЖИЗНЕННЫЙ ЦИКЛ ПО. Основным понятием программной инженерии является понятие жизненного цикла

ЖИЗНЕННЫЙ ЦИКЛ ПО.

Основным понятием программной инженерии является понятие жизненного цикла ПО.


Жизненный цикл ПО (software lifecycle) – это период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.

Основной нормативный документ, регламентирующий ЖЦ ПО – стандарт ISO/IEC 12207 “Information Technology – Software Life Cycle Processes” (ГОСТ Р ИСО/МЭК 12207-99).

Слайд 3

Процесс жизненного цикла определяется как совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные.

Процесс жизненного цикла определяется как совокупность взаимосвязанных действий, преобразующих некоторые входные

данные в выходные.
Слайд 4

СТРУКТУРА ПРОЦЕССОВ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Основные процессы Приобретение Поставка Разработка

СТРУКТУРА ПРОЦЕССОВ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Основные процессы
Приобретение
Поставка
Разработка
Эксплуатация
Сопровождение

Вспомогательные процессы
Документирование
Управление конфигурацией
Обеспечение качества
Верификация
Аттестация
Совместная оценка
Аудит
Разрешение

проблем

Организационные процессы
Управление
Усовершенствование
Создание инфраструктуры
Обучение

Слайд 5

Процесс разработки ПО

Процесс разработки ПО

Слайд 6

ПРОЦЕСС РАЗРАБОТКИ Процесс разработки в соответствии со стандартом предусматривает действия и

ПРОЦЕСС РАЗРАБОТКИ

Процесс разработки в соответствии со стандартом предусматривает действия и задачи,

выполняемые разработчиком

Процесс разработки охватывает работы по созданию программного обеспечения и его компонентов в соответствии с заданными требованиями

включая:
оформление проектной и эксплуатационной документации;
подготовку материалов, необходимых для проверки работоспособности и соответствия качества программных продуктов;
подготовку материалов, необходимых для обучения персонала;
и т.д.

Слайд 7

ДЕЙСТВИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ( по стандарту ) ☞ подготовительная работа

ДЕЙСТВИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ( по стандарту )

☞ подготовительная работа

выбор модели жизненного

цикла, стандартов, методов и средств разработки, а также составление плана работ

☞ анализ требований к системе

определение её функциональных возможностей, пользовательских требований, требований к надёжности и безопасности, требований к внешним интерфейсам и т.д.

☞ проектирование архитектуры системы

определение состава необходимого оборудования, программного обеспечения и операций, выполняемых обслуживающим персоналом

☞ анализ требований к программному обеспечению

определение функциональных возможностей, включая характеристики производительности, среды функционирования компонентов, внешних интерфейсов, спецификаций надёжности и безопасности, эргономических требований, требований к используемым данным, установке, приёмке, пользовательской документации, эксплуатации и сопровождению

Слайд 8

ДЕЙСТВИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ( по стандарту ) ☞ проектирование архитектуры

ДЕЙСТВИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ( по стандарту )

☞ проектирование архитектуры программного обеспечения

определение

структуры программного обеспечения, документирование интерфейсов его компонентов, разработку предварительной версии пользовательской документации, а также требований к тестам и плана интеграции

☞ детальное проектирование программного обеспечения

подробное описание компонентов программного обеспечения и интерфейсов между ними, обновление пользовательской документации, разработка и документирование требований к тестам и плана тестирования компонентов программного обеспечения, обновление плана интеграции компонентов

☞ кодирование и тестирование программного обеспечения

разработка и документирование каждого компонента, а также совокупности тестовых процедур и данных для их тестирования, тестирование компонентов, обновление пользовательской документации, обновление плана интеграции программного обеспечения

☞ интеграция программного обеспечения

сборка программных компонентов в соответствии с планом интеграции и тестирование программного обеспечения на соответствие квалификационным требованиям, представляющих собой набор критериев или условий, которые необходимо выполнить, чтобы квалифицировать программный продукт, как соответствующий своим спецификациям и готовый к использованию в заданных условиях эксплуатации

Слайд 9

ДЕЙСТВИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ( по стандарту ) ☞ квалификационное тестирование

ДЕЙСТВИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ( по стандарту )

☞ квалификационное тестирование программного обеспечения


тестирование программного обеспечения в присутствии заказчика для демонстрации его соответствия требованиям и готовности к эксплуатации;
при этом проверяются также готовность и полнота технической и пользовательской документации.

☞ интеграция системы

сборка всех компонентов системы, включая программное обеспечение и оборудование

☞ квалификационное тестирование системы

тестирование системы на соответствие требованиям к ней;
проверка оформления и полноты документации

☞ установка программного обеспечения

установка программного обеспечения на оборудовании заказчика
проверка его работоспособности

☞ приёмка программного обеспечения

оценка результатов квалификационного тестирования программного обеспечения и системы в целом и документирование результатов оценки совместно с заказчиком,
окончательная передача программного обеспечения заказчику

Слайд 10

Этапы разработки программного обеспечения

Этапы разработки программного обеспечения

Слайд 11

ЭТАПЫ РАЗРАБОТКИ ПО Указанные выше действия можно сгруппировать, условно выделив основные

ЭТАПЫ РАЗРАБОТКИ ПО

Указанные выше действия можно сгруппировать, условно выделив основные этапы

разработки программного обеспечения.
Условность выделения этапов связана с тем, что на любом этапе возможно принятие решений, которые потребуют пересмотра решений, принятых ранее.
Каждому этапу можно поставить в соответствие стадию разработки по ГОСТ 19.102–77 «Стадии разработки».
Слайд 12

Этапы и стадии разработки ПО

Этапы и стадии разработки ПО

Слайд 13

Традиционно разработка также включала этап сопровождения (началу этого этапа соответствует стадия

Традиционно разработка также включала этап сопровождения (началу этого этапа соответствует стадия

«Внедрение» по ГОСТ).
Однако по международному стандарту в соответствии с изменениями, произошедшими в индустрии разработки программного обеспечения, этот процесс теперь рассматривается отдельно.
Слайд 14

Постановка задачи В процессе постановки задачи чётко формулируют назначение программного обеспечения

Постановка задачи

В процессе постановки задачи чётко формулируют назначение программного обеспечения и

определяют основные требования к нему.
Слайд 15

ТРЕБОВАНИЯ Требование – это условие, которому должно удовлетворять программное обеспечение, или

ТРЕБОВАНИЯ

Требование – это условие, которому должно удовлетворять программное обеспечение, или свойство,

которым оно должно обладать, чтобы:
удовлетворить потребность пользователя в решении некоторой задачи;
удовлетворить требования контракта, спецификации или стандарта.

Все требования делятся на:
Функциональные
определяют действия, которые должна выполнять система, без учета ограничений, связанных с ее реализацией
функциональные требования определяют поведение системы в процессе обработки информации
Нефункциональные
(эксплуатационные)
не определяют поведение системы, но описывают атрибуты системы или атрибуты системного окружения

Слайд 16

Этап постановки задачи заканчивается разработкой технического задания, фиксирующего принципиальные требования, и принятием основных проектных решений.

Этап постановки задачи заканчивается разработкой технического задания, фиксирующего принципиальные требования, и

принятием основных проектных решений.
Слайд 17

Анализ требований и определение спецификаций Спецификация требований к ПО является основным документом, определяющим план разработки ПО.

Анализ требований и определение спецификаций

Спецификация требований к ПО является основным документом,

определяющим план разработки ПО.
Слайд 18

СПЕЦИФИКАЦИИ Совокупность спецификаций представляет собой общую логическую модель проектируемого программного обеспечения.

СПЕЦИФИКАЦИИ

Совокупность спецификаций представляет собой общую логическую модель проектируемого программного обеспечения.

Спецификация –

точное формализованное описание функций и ограничений разрабатываемого программного обеспечения.
Различают функциональные и эксплуатационные спецификации.
Часть спецификаций может быть определена в процессе предпроектных исследований и, соответственно, зафиксирована в техническом задании.
На этом этапе также целесообразно сформировать тесты для поиска ошибок в проектируемом программном обеспечении, обязательно указав ожидаемые результаты.
Слайд 19

АЛГОРИТМ ВЫРАБОТКИ СПЕЦИФИКАЦИЙ

АЛГОРИТМ ВЫРАБОТКИ СПЕЦИФИКАЦИЙ

Слайд 20

Проектирование Основной задачей этого этапа является определение подробных спецификаций разрабатываемого программного обеспечения.

Проектирование

Основной задачей этого этапа является определение подробных спецификаций разрабатываемого программного обеспечения.

Слайд 21

ПРОЦЕСС ПРОЕКТИРОВАНИЯ Результатом проектирования является детальная модель разрабатываемого программного обеспечения вместе

ПРОЦЕСС ПРОЕКТИРОВАНИЯ

Результатом проектирования является детальная модель разрабатываемого программного обеспечения вместе со

спецификациями его компонентов всех уровней.

Процесс проектирования охватывает как проектирование программ (подпрограмм) и определение взаимосвязей между ними, так и проектирование данных, с которыми взаимодействуют эти программы или подпрограммы.

Слайд 22

ДВА АСПЕКТА ПРОЕКТИРОВАНИЯ Принято различать два аспекта проектирования: Логическое проектирование проектные

ДВА АСПЕКТА ПРОЕКТИРОВАНИЯ

Принято различать два аспекта проектирования:
Логическое проектирование
проектные операции, которые непосредственно

не зависят от имеющихся технических и программных средств, составляющих среду функционирования будущего программного продукта
Физическое проектирование
привязка к конкретным техническим и программным средствам среды функционирования, т.е. учёт ограничений, определённых в спецификациях
Слайд 23

Реализация Реализация представляет собой процесс поэтапного написания кодов программы на выбранном

Реализация

Реализация представляет собой процесс поэтапного написания кодов программы на выбранном языке

программирования (кодирование), их тестирование и отладку.
Слайд 24

Сопровождение Сопровождение – это процесс создания и внедрения новых версий программного

Сопровождение

Сопровождение – это процесс создания и внедрения новых версий программного продукта.
На

этом этапе в программный продукт вносят необходимые изменения, которые так же, как в остальных случаях, могут потребовать пересмотра проектных решений, принятых на любом предыдущем этапе.
Слайд 25

ПРИЧИНЫ ВЫПУСКА НОВЫХ ВЕРСИЙ необходимость исправления ошибок, выявленных в процессе эксплуатации

ПРИЧИНЫ ВЫПУСКА НОВЫХ ВЕРСИЙ

необходимость исправления ошибок, выявленных в процессе эксплуатации предыдущих

версий
необходимость совершенствования предыдущих версий, например, улучшения интерфейса, расширения состава выполняемых функций или повышения его производительности
изменение среды функционирования, например, появление новых технических средств и/или программных продуктов, с которыми взаимодействует сопровождаемое программное обеспечение