Слайд 1Технологии разработки программного обеспечения
Введение
Составитель: Эверстов В.В.
Дата составления: 05/01/2011
Дата модификации: 17/01/2012
Слайд 2Разработка
Называется процесс составления описания еще не существующей системы на разных языках
и с различной степенью детализации, в ходе которого осуществляется оптимизация проектных решений.
В процессе детализации описаний наступает момент, когда имеющиеся описания позволяют создать действующую систему (изготовление изделия по имеющимся чертежам) и наступает период эксплуатации ИС.
Слайд 3Жизненный цикл
Одним из ключевых понятий управления проектами, в том числе в
приложении к индустрии программного обеспечения, является жизненный цикл проекта
Слайд 4Жизненный цикл
Жизненный цикл проекта имеет определенные начальную и конечную точки, привязанные
к временной шкале. Проект в своем естественном развитии проходит ряд отдельных фаз.
Слайд 5Модель ЖЦ
В общем случае, жизненный цикл определяется моделью и описывается в
форме методологии (метода). Модель или парадигма жизненного цикла определяет концептуальный взгляд на организацию жизненного цикла и, часто, основные фазы жизненного цикла и принципы перехода между ними.
Слайд 6Модель ЖЦ
Модель жизненного цикла - структура, состоящая из процессов, работ и
задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования [ГОСТ 12207, 1999].
Слайд 7Модель ЖЦ
Жизненный цикл автоматизированной системы (АС) - совокупность взаимосвязанных процессов создания
и последовательного изменения состояния АС, от формирования исходных требований к ней до окончания эксплуатации и утилизации комплекса средств автоматизации АС [ГОСТ 34, 1990].
Слайд 8Модели жизненного цикла
Наиболее часто говорят о следующих моделях жизненного цикла:
Каскадная
(водопадная) или последовательная
Итеративная и инкрементальная – эволюционная (гибридная, смешанная)
Спиральная (spiral) или модель Боэма
Слайд 10Проблемы
“Основное заблуждение каскадной модели состоит в предположениях, что проект проходит через
весь процесс один раз, архитектура хороша и проста в использовании, проект осуществления разумен, а ошибки в реализации устраняются по мере тестирования. Иными словами, каскадная модель исходит из того, что все ошибки будут сосредоточены в реализации, а потому их устранение происходит равномерно во время тестирования компонентов и системы.”
Фредерик Брукс “Мифический человеко-месяц”
Слайд 11Итеративная и инкрементальная модель
Итеративная модель предполагает разбиение жизненного цикла проекта на
последовательность итераций, каждая из которых напоминает “мини-проект”, включая все фазы жизненного цикла в применении к созданию меньших фрагментов функциональности, по сравнению с проектом, в целом.
Слайд 12Итеративная и инкрементальная модель
Цель каждой итерации – получение работающей версии программной
системы, включающей функциональность, определенную интегрированным содержанием всех предыдущих и текущей итерации. Результата финальной итерации содержит всю требуемую функциональность продукта. Таким образом, с завершением каждой итерации, продукт развивается инкрементально.
Слайд 13Итеративная и инкрементальная модель
Слайд 14Спиральная модель
Спиральная модель была впервые сформулирована Барри Боэмом (Barry Boehm) в
1988 году. Отличительной особенностью этой модели является специальное внимание рискам, влияющим на организацию жизненного цикла.
Слайд 16Преимущества
Модель уделяет специальное внимание раннему анализу возможностей повторного использования.
Модель предполагает
возможность эволюции жизненного цикла, развитие и изменение программного продукта.
Слайд 17Преимущества
Модель предоставляет механизмы достижения необходимых параметров качества как составную часть процесса
разработки программного продукта.
Модель уделяет специальное внимание предотвращению ошибок и отбрасыванию ненужных, необоснованных или неудовлетворительных альтернатив на ранних этапах проекта.
Слайд 18Преимущества
Модель позволяет контролировать источники проектных работ и соответствующих затрат.
Модель не проводит
различий между разработкой нового продукта и расширением (или сопровождением) существующего.
Модель позволяет решать интегрированный задачи системной разработки, охватывающей и программную и аппаратную составляющие создаваемого продукта.
Слайд 20Стадии и этапы создания ИС
ГОСТ 34. 601-90:
Формирование требований к АС
Разработка концепции
АС
Техническое задание
Эскизный проект
Технический проект
Рабочая документация
Ввод в действие
Сопровождение АС
Слайд 21ГОСТ 34. 601-90
Формирование требований к АС
Обследование объекта и обоснование необходимости создания
АС
Формирование требований пользователя к АС
Оформление отчёта о выполненной работе и заявки на разработку АС
Разработка концепции АС
Изучение объекта
Проведение необходимых научно-исследовательских работ
Разработка вариантов концепции АС, удовлетворяющего требованиям пользователя
Оформление отчёта о выполненной работе
Слайд 22ГОСТ 34. 601-90
Техническое задание
Эскизный проект
Разработка предварительных проектных решений по системе и
её частям
Разработка документации на АС и её части
Технический проект
Разработка проектных решений по системе и её частям
Разработка документации на АС и её части
Разработка и оформление документации на поставку изделий для комплектования АС и (или) технических требований (технических заданий) на их разработку
Разработка заданий на проектирование в смежных частях проекта объекта автоматизации
Слайд 23ГОСТ 34. 601-90
Рабочая документация
Разработка рабочей документации на систему и её части
Разработка
или адаптация программ
Ввод в действие
Подготовка объекта автоматизации к вводу АС в действие
Подготовка персонала
Комплектация АС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями)
Строительно-монтажные работы
Пусконаладочные работы
Проведение предварительных испытаний
Проведение опытной эксплуатации
Проведение приёмочных испытаний
Сопровождение АС
Выполнение работ в соответствии с гарантийными обязательствами
Послегарантийное обслуживание
Слайд 24ISO/IEC 12207
Процесс жизненного цикла определяется как совокупность взаимосвязанных действий, преобразующих некоторые
входные данные в выходные.
Слайд 25ISO/IEC 12207
Жизненный цикл начинается с идеи или потребности, которую необходимо удовлетворить
с использованием программных средств (может быть и не только их). Архитектура строится как набор процессов и взаимных связей между ними.
Слайд 26ISO/IEC 12207
Дерево процессов жизненного цикла представляет собой структуру декомпозиции жизненного цикла
на соответствующие процессы (группы процессов). Декомпозиция процессов строится на основе двух важнейших принципов , определяющих правила разбиения (partitioning) жизненного цикла на составляющие процессы. Эти принципы:
Модульность
Ответственность
Слайд 27ISO/IEC 12207
Общая иерархия (декомпозиция) составных элементов жизненного цикла выглядит следующим образом:
группа процессов
процессы
работы
задачи
Слайд 28Стадии разработки ПО
Предпроектные исследования;
Техническое задание;
Техническое проектирование;
Рабочее проектирование. Испытания;
Ввод
в эксплуатацию (внедрение);
Сопровождение.