дисциплина «Технология разработки программного обеспечения» тема « Стадии и модели жизненного цикла программного продукта »
Часть 1 Основные стадии жизненного цикла программного продукта
Стадии разработки ПП по ГОСТ
Жизненный цикл ПО методологии MSF
Последовательность создания версий программного продукта
Часть 2 Модели разработки ПО
Модель разработки описывает последовательность выполнения определённых стадий или фаз в процессе разработки программного продукта. Модель разработки описывает последовательность выполнения определённых стадий или фаз в процессе разработки программного продукта. Для наглядности модели разработки удобно представлять в графической форме.
Семейства моделей разработки ПО
Каскадные модели Являются самыми простыми: все работы выполняются последовательно, возврат на более ранние стадии не предусмотрен. Являются самыми простыми: все работы выполняются последовательно, возврат на более ранние стадии не предусмотрен. Появились путём переноса подходов других инженерных отраслей (таких как строительство) на программную инженерию. Появились путём переноса подходов других инженерных отраслей (таких как строительство) на программную инженерию.
Простая каскадная модель разработки (водопадная)
Каскадно – возвратные В отличие от простой каскадной модели, имеет возможность возврата к одной из предыдущих стадий (фаз) В отличие от простой каскадной модели, имеет возможность возврата к одной из предыдущих стадий (фаз) После прохождения каждой стадии, производится контроль качества, по результатам которого принимается решение о переходе на следующую или, о возврате на одну из предыдущих стадий. После прохождения каждой стадии, производится контроль качества, по результатам которого принимается решение о переходе на следующую или, о возврате на одну из предыдущих стадий.
Каскадно-возвратная модель
Спиральные модели Хорошо приспособлены к условиям когда часто изменяются требования; Хорошо приспособлены к условиям когда часто изменяются требования; Предусматривают возможности анализа рисков и контроля качества; Предусматривают возможности анализа рисков и контроля качества; Стадии разработки могут идти параллельно, накладываясь друг на друга; Стадии разработки могут идти параллельно, накладываясь друг на друга; Реализуют версионный подход. На выходе каждого витка получается новая версия программного продукта с большими возможностями и меньшим количеством ошибок. Реализуют версионный подход. На выходе каждого витка получается новая версия программного продукта с большими возможностями и меньшим количеством ошибок.
Спиральная модель
Каркасные модели Сочетают в себе преимущества каскадной и спиральной моделей; Сочетают в себе преимущества каскадной и спиральной моделей; Предполагается, что за несколько итераций в условиях изменяющихся требований, формируется архитектурный прототип программного продукта, после чего начинается непосредственно разработка; Предполагается, что за несколько итераций в условиях изменяющихся требований, формируется архитектурный прототип программного продукта, после чего начинается непосредственно разработка; Разработка ведётся так же как и в спиральной модели, но требования остаются неизменными. Процесс разработки как бы ограничен рамками архитектурного прототипа – «каркасом». Разработка ведётся так же как и в спиральной модели, но требования остаются неизменными. Процесс разработки как бы ограничен рамками архитектурного прототипа – «каркасом».
Каркасная модель Внешнее проектирование Аттестация Определение требований Разработка архитектурного прототипа «Каркас» принятие стратегических архитектурных решений
Эволюционное прототипирование Этот подход полезно использовать в тех случаях, когда у разрабатываемого программного средства должен быть удобный и развитый пользовательский интерфейс. С самого начала создаётся прототип, который можно сразу же продемонстрировать заказчику для того, чтобы он внёс необходимые коррективы и замечания.
Другие модели разработки ПО
Сборочное (расширяемое) программирование Применять этот подход выгодно в том случае, когда компания разработчиков на протяжении долгого времени занимается работой над похожими проектами. Модули и библиотеки, входящие в один программный продукт можно с успехом применять с минимальными изменениями или вообще без изменений при разработке другого программного продукта. При этом экономится значительное количество времени и других ресурсов.
Сборочное (расширяемое) программирование
Заключение Проекты по разработке программных продуктов имеют ряд значительных отличий от проектов в любых других областях. Как показала практика, наиболее удобно разрабатывать программные продукты итерациями, где каждая из версий более функциональная или качественная, чем предыдущая.
Литература 1. Кен Ауер, Рой Миллер. Экстремальное программирование: постановка процесса. С первых шагов и до победного конца..- Спб.: Питер, с., ISBN Кен Ауер, Рой Миллер. Экстремальное программирование: постановка процесса. С первых шагов и до победного конца..- Спб.: Питер, с., ISBN Орлов С. Технологии разработки программного обеспечения: Учебник,-СПб.: Питер, с. ISBN Х 2. Орлов С. Технологии разработки программного обеспечения: Учебник,-СПб.: Питер, с. ISBN Х 3. В. Андрейченко. Технологии разработки программного обеспечения. Учебное пособие. Военная академия РВСН имени Петра Великого, 2004 г. 3. В. Андрейченко. Технологии разработки программного обеспечения. Учебное пособие. Военная академия РВСН имени Петра Великого, 2004 г. 4. И.Одинцов. «Профессиональное программирование. Системный подход.», Издательство: BHV-СПб, 2002 г И.Одинцов. «Профессиональное программирование. Системный подход.», Издательство: BHV-СПб, 2002 г Хаф Л. «Проектирование информационных систем», журнал Компьютер Пресс 9/ Хаф Л. «Проектирование информационных систем», журнал Компьютер Пресс 9/2001.