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



Жизненный цикл – период от момента появления идеи ПО до завершения его поддержки. Состав процессов ЖЦ регламентируется международным стандартом 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!