Файл: Практическое применение жизненного цикла разработки программного обеспечения.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.11.2023
Просмотров: 113
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Практическая работа №1
Тема: Практическое применение жизненного цикла разработки программного обеспечения
Цель работы: Ознакомиться с жизненным циклом и моделями разработки программного обеспечения, определить достоинства и недостатки моделей, выбрать модель построения информационной системы индивидуального проектного задания и программные средства, составить план реализации индивидуального проектного задания.
Теоритическая часть
Разработка информационной системы является весьма сложной задачей, процесс решения которой разбивается на определённое количество этапов. К числу ключевых этапов относятся: анализ требований, проектирование, реализация, тестирование и внедрение. Объединение этих этапов в один процесс приводит к понятию жизненного цикла ИС.
Жизненный цикл (ЖЦ) информационной системы – непрерывный процесс, который начинается с момента принятия решения о необходимости создания системы и заканчивается в момент её полного изъятия из эксплуатации.
Модель жизненного цикла программного обеспечения представляет собой совокупность упорядоченных во времени, взаимосвязанных и объединенных в стадии работ, выполнение которых необходимо и достаточно для создания ПО, соответствующего заданным требованиям
Наиболее общим представлением жизненного цикла ПО является модель в виде базовых этапов – процессов, к которым относятся:
-
– рисунок. Жизненный цикл разработки ПО.
Модель жизненного цикла ИС – структура, описывающая процессы, действия и задачи, которые осуществляются в ходе разработки, функционирования и сопровождения программного обеспечения в течение всей жизни ИС, от определения требований до завершения её использования.
В дальнейшем, рассматривая различные модели ЖЦ, для простоты будем использовать следующий набор этапов:
1. Анализ (разработка требований).
2. Проектирование (создание проекта).
3. Реализация (программирование).
4. Тестирование (исправление ошибок).
5. Внедрение (ввод в эксплуатацию).
К настоящему времени наибольшее распространение получили следующие основные модели ЖЦ:
-
Каскадная (waterfall). Простая в реализации, подходит для коротких проектов с нулевым риском и фиксированными требованиями. -
V-образная. Базируется на каскадной. Эта модель SDLC подразумевает контроль качества на каждом из этапов. Подходит для проектов, для которых ошибки могут иметь фатальные последствия, когда критически важна точность выполнения требований. -
Модель эволюционного прототипирования. Опять же, в основе – waterfall. При прохождении каждого этапа сразу же происходят необходимые доработки проекта на основе отзывов клиента (заказчика). Создается несколько прототипов, один из которых в итоге дорабатывается и отправляется в продакшн. -
Итеративная и инкрементальная. Решение разрабатывается модулями при реализации серии циклов. А при работе над каждым модулем используется все та же каскадная модель. -
Спиральная. Включает в себя черты предыдущих. Используется для сложных, крупных проектов с частыми релизами, подходит для ПО с неясными требованиями. -
Гибкие методологии. Их более 50. И многие, опять же, могут включать черты рассмотренных выше.
Начиная с этапа разработки SDLC для тестирования приложения безопасность обеспечивается с помощью:
-
применения практик безопасного программирования, -
проведения автотестов, -
динамического анализа кода, -
организации пентестов (испытаний на проникновение), -
функционального тестирования, -
тестирования протоколов, -
мониторинга угроз, реагирования на инциденты (после развертывания, в ходе эксплуатации).
Типичный жизненный цикл разработки программного обеспечения состоит из следующих этапов:
Этап 1: планирование и анализ потребностей
Анализ требований является наиболее важным и фундаментальным этапом в SDLC. Он выполняется старшими членами команды при участии клиентов, отдела продаж, исследований рынка и экспертов в данной области. Эта информация затем используется для планирования базового проектного подхода и проведения технико-экономического обоснования продукта в экономической, эксплуатационной и технической областях.
Планирование требований по обеспечению качества и выявление рисков, связанных с проектом, также выполняется на этапе планирования. Итогом технико-экономического обоснования является определение различных технических подходов
, которые можно использовать для успешной реализации проекта с минимальными рисками.
Этап 2: определение требований
Как только анализ требований будет выполнен, следующим шагом будет четкое определение и документирование требований к продукту и их утверждение от клиента или аналитиков рынка. Это делается с помощью документа SRS (Спецификация требований к программному обеспечению), который содержит все требования к продукту, которые должны быть спроектированы и разработаны в течение жизненного цикла проекта.
Этап 3: проектирование архитектуры продукта
SRS – это ориентир для разработчиков продукта, чтобы предложить лучшую архитектуру для продукта, который будет разработан. На основании требований, указанных в SRS, обычно предлагается несколько подходов к проектированию архитектуры продукта, которые документируются в спецификации DDS – документ проектирования.
Эта DDS рассматривается всеми важными заинтересованными сторонами и на основе различных параметров, таких как оценка рисков, надежность продукта, модульность дизайна, бюджетные и временные ограничения, для продукта выбран наилучший подход к проектированию.
Подход к проектированию четко определяет все архитектурные модули продукта, а также его связь и представление потока данных с внешними и сторонними модулями (если таковые имеются). Внутренний дизайн всех модулей предлагаемой архитектуры должен быть четко определен с мельчайшими деталями в DDS.
Этап 4: Создание или разработка продукта
На этом этапе SDLC начинается фактическая разработка и сборка продукта. Программный код генерируется в соответствии с DDS на этом этапе. Если дизайн выполнен детально и организованно, генерация кода может быть выполнена без особых хлопот.
Разработчики должны следовать руководящим принципам кодирования, определенным их организацией, и для генерации кода используются такие инструменты программирования, как компиляторы, интерпретаторы, отладчики и т. Д. Для кодирования используются различные языки программирования высокого уровня, такие как C, C ++, Pascal, Java и PHP. Язык программирования выбирается в зависимости от типа разрабатываемого программного обеспечения.
Этап 5: Тестирование продукта
Этот этап обычно является подмножеством всех этапов, так как в современных моделях SDLC тестирование в основном затрагивает все этапы SDLC. Однако этот этап относится только к этапу тестирования продукта, на котором дефекты продукта регистрируются, отслеживаются,
исправляются и повторно тестируются до тех пор, пока продукт не достигнет стандартов качества, определенных в SRS.
Этап 6: развертывание на рынке и сопровождение
Как только продукт протестирован и готов к развертыванию, он официально выпускается на соответствующем рынке. Иногда развертывание продукта происходит поэтапно в соответствии с бизнес-стратегией этой организации. Продукт может быть сначала выпущен в ограниченном сегменте и протестирован в реальной бизнес-среде (UAT-Пользовательское тестирование).
Затем, основываясь на отзывах, продукт может быть выпущен как есть или с предлагаемыми улучшениями в сегменте таргетинга. После того, как продукт выпущен на рынок, его обслуживание выполняется для существующей клиентской базы.
Практическая часть
Модель водопада – Применение
Каждое разработанное программное обеспечение отличается и требует соответствующего подхода SDLC, основанного на внутренних и внешних факторах. Некоторые ситуации, в которых использование модели Водопад является наиболее подходящим:
-
Требования очень хорошо задокументированы, понятны и зафиксированы. -
Определение продукта является стабильным. -
Технология понятна и не динамична. -
Здесь нет двусмысленных требований. -
Достаточные ресурсы с необходимым опытом доступны для поддержки продукта. -
Проект короткий.
Требования очень хорошо задокументированы, понятны и зафиксированы.
Определение продукта является стабильным.
Технология понятна и не динамична.
Здесь нет двусмысленных требований.
Достаточные ресурсы с необходимым опытом доступны для поддержки продукта.
Проект короткий.
Итерационная модель – приложение
Как и другие модели SDLC, у итеративной и инкрементальной разработки есть некоторые специфические приложения в индустрии программного обеспечения. Эта модель чаще всего используется в следующих сценариях:
-
Требования к полной системе четко определены и понятны. -
Основные требования должны быть определены; однако некоторые функции или запрошенные улучшения могут со временем развиваться. -
Есть время для ограничения рынка. -
Новая технология используется и изучается командой разработчиков во время работы над проектом. -
Ресурсы с необходимыми наборами навыков недоступны и планируется использовать на контрактной основе для конкретных итераций. -
Есть некоторые особенности и цели высокого риска, которые могут измениться в будущем. -
Требования к полной системе четко определены и понятны. -
Основные требования должны быть определены; однако некоторые функции или запрошенные улучшения могут со временем развиваться. -
Есть время для ограничения рынка.
Новая технология используется и изучается командой разработчиков во время работы над проектом.
Ресурсы с необходимыми наборами навыков недоступны и планируется использовать на контрактной основе для конкретных итераций.
Есть некоторые особенности и цели высокого риска, которые могут измениться в будущем.
Применение спиральной модели
Спиральная модель широко используется в индустрии программного обеспечения, так как она синхронизирована с естественным процессом разработки любого продукта, то есть обучением со зрелостью, которое сопряжено с минимальным риском для клиента, а также для фирм-разработчиков.
Следующие указатели объясняют типичное использование спиральной модели
-
При наличии бюджетных ограничений важна оценка рисков. -
Для проектов со средней и высокой степенью риска. -
Долгосрочная приверженность проекту из-за потенциальных изменений экономических приоритетов, так как требования меняются со временем. -
Клиент не уверен в своих требованиях, как правило, так. -
Требования сложны и нуждаются в оценке, чтобы получить ясность. -
Новая линейка продуктов, которая должна выпускаться поэтапно, чтобы получить достаточное количество отзывов клиентов. -
Значительные изменения ожидаются в продукте в течение цикла разработки.
При наличии бюджетных ограничений важна оценка рисков.
Для проектов со средней и высокой степенью риска.
Долгосрочная приверженность проекту из-за потенциальных изменений экономических приоритетов, так как требования меняются со временем.
Клиент не уверен в своих требованиях, как правило, так.
Требования сложны и нуждаются в оценке, чтобы получить ясность.
Новая линейка продуктов, которая должна выпускаться поэтапно, чтобы получить достаточное количество отзывов клиентов.
Значительные изменения ожидаются в продукте в течение цикла разработки.
V- Модель ─ Применение
Применение V-модели практически совпадает с моделью водопада, поскольку обе модели имеют последовательный тип. Требования должны быть очень четкими до начала проекта, потому что возвращение и внесение изменений обычно обходится дорого. Эта модель используется в области медицинского развития, поскольку является строго дисциплинированной областью.
Следующие указатели являются одними из наиболее подходящих сценариев для использования приложения V-Model.