Жизненный цикл и этапы разработки программного обеспечения
Жизненный цикл – период от момента появления идеи ПО до завершения его поддержки. Состав процессов ЖЦ регламентируется международным стандартом ISO/IEC 12207. Этот стандарт описывает структуру ЖЦ ПО и его процессы. Процесс ЖЦ – это совокупность взаимосвязанных действий, преобразующих входные данные в выходные. Каждый процесс характеризуется определенными задачами, методами их решения, исходными данными, результатами. Структура процессов:
1) основные процессы: приобретение, поставка, разработка, эксплуатация, сопровождение;
2) вспомогательные процессы: документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, решение проблем.
3) организационные процессы: управление, усовершенствование, создание инфраструктуры, обучение.
По стандарту процесс разработки включает действия:
1) подготовительную работу – выбор модели ЖЦ стандартов, методов, средств разработки, составление плана работ:
2) анализ требований к системе – определение её функциональных возможностей, пользовательских требований, требований надежности и безопасности к внешним интерфейсам и т.д.
3) проектирование архитектуры системы – определение состава необходимого оборудования программного обеспечения и операций, выполняемых обслуживающим персоналом.
4) анализ требований к ПО – определение функциональных возможностей, включая характеристики производительности, среды функционирования компонентов, внешних интерфейсов, спецификации надежности и безопасности, эргономических требований, требований к используемым данным, установке, приемке, пользовательской документации, эксплуатации и сопровождению.
|
|
5) проектирование архитектуры ПО – определение структуры ПО, документирование интерфейсов его компонентов, разработка предварительной версии пользовательской документации, требования к тестам и планы интеграции.
6) детальное проектирование ПО – подробное описание компонентов ПО и интерфейсов между ними, разработка требований к тестам и плана тестирования ПО.
7) кодирование и тестирование ПО.
8) интеграция ПО – сборка программных компонентов
9) квалификационное тестирование ПО
10)интеграция системы
11) квалификационное тестирование системы
12)установка и приемка ПО.
Эти действия можно сгруппировать, выделив основные этапы разработки ПО.
ГОСТ 19.102-77 ( “стадии разработки”):
1) постановка задача (стадия “техническое задание”)
2) анализ требований, разработка, спецификация (стадия “эскизный проект”)
3) проектирование (“технический проект”)
4) реализация (“рабочий проект”)
Сопровождение – это процесс создания и внедрения нового продукта.
|
|
Модели жизненного цикла программного обеспечения
1) Каскадная модель (70-85г.): переход на следующую стадию осуществляется после того, как полностью будут завершены проектные решения предыдущей стадии и получены все исходные данные для следующей стадии.
Рис.1.8.
Достоинства:
§ получение в конце каждой стадии законченного набора проектной документации, отвечающей требованиям полноты и согласованности.
§ простота планирования процесса разработки.
Эту схему обычно используют при блочном иерархическом подходе к разработке сложных технических объектов. Но эта схема оказалась применима только к созданию систем, для которых в начале разработки можно точно и полно сформулировать все требования. Реальный процесс разработки носит итерационный характер.
2) Модели с промежуточным контролем.
Контроль выполняется после завершения каждого этапа, что позволяет вернуться на любой уровень и внести необходимые изменения.
Рис.1.9.
Опасность использования этой схемы – разработка никогда не будет завершена.
3) Спиральная модель (середина 80-х)
ПО создается не сразу, а итерационно с использованием метода прототипирования. Прототипом называется действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого ПО.
|
|
На первой итерации обычно проектируют, реализуют и тестируют интерфейс пользователя. На второй добавляют ограниченный набор функций.
Достоинства: начиная с некоторой итерации (где обеспечена определенная функциональная полнота) продукт уже можно предоставлять пользователю, что позволяет:
1) сокращает время до появления первых версий программного продукта;
2) заинтересованность большого количества пользователей;
3) уменьшить вероятность морального устаревания системы.
Основная проблема – это определение моментов перехода на следующие стадии. Для её решения обычно ограничивают сроки прохождения каждой стадии, основываясь на экспертных системах.
Дата добавления: 2018-05-13; просмотров: 1275; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!