Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИП. Уманский.docx
Скачиваний:
11
Добавлен:
21.11.2019
Размер:
41.58 Кб
Скачать

2. Вспомогательные процессы:

- документирование

- управление конфигурацией

- управление качеством

- верификация

- аттестация

- совместная оценка

- аудит

- разрешение проблем

3. Организационные процессы:

- управление

- усовершенствование

- создание инфраструктуры

- обучение персонала

- стандартное содержание процессов разработки

Этапы жизненного цикла ПО:

Этап 1 подготовительная работа - выбор модели жизненного цикла, стандартов, методов и средств разработки, а также составление плана работы

Этап 2 анализ требований к системе - определение ее функциональных возможностей, требований пользователя (заказчика), требований к надежности и безопасности, требований к внешним интерфейсам и тп.

Этап 3 проектирование архитектуры системы - определение состава необходимого оборудования, программного обеспечения и технологических операций, выполняемых обслуживающим персоналом

Этап 4 анализ требований к ПО - определение функциональных возможностей с учетом среды функционирования, внешних интерфейсов, спецификации надежности и безопасности, эргономических требований, требований к исходным данным, требований по установке, приемке пользовательской документации, эксплуатацией и сопровождению.

Этап 5 проектирование архитектуры ПО - определение структуры П, документирование его компонентов, разработка предварительной версии документации, требований к тестам и создание плана интеграции.

Этап 6 детальное проектирование ПО - подробное описание элементов ПО и интерфейсов между ними; обновление пользовательской документации; разработка и документирование требований к тестам и плана тестирования элементов ПО; обновление плана интеграции

Этап 7 кодирование и тестирование ПО - разработка и документирование каждого элемета, тестирование разработанных элементов, обновление пользовательской документации, уточнение плана интеграции.

Этап 8 Интеграция ПО - сборка программных элементов в соответствии с планом интеграции, тестирование полученных интегральных блоков на соответствие квалификационным требованиям (по соответствующим критериям и условиям).

Этап 9 квалификационное тестирование ПО - тестирование ПО в присутствии заказчика на оборудовании разработчика для демонстрации его соответствия заданным требованиям и готовности к эксплуатации; отдельно проверяется готовность и полнота технической и пользовательской документации

Этап 10 Интеграция системы - сборка всех компонентов системы (ПО + оборудование)

Этап 11 квалификационное тестирование системы - тестирование системы в целом в присутствии заказчика для поверки на соответствие заданным требованиям; проверка оформления и полноты документации

Этап 12 Установка ПО на оборудование заказчика и проверка его работоспособности; передача документации

Этап 13 Приемка ПО - оценка результатов квалификационного тестирования, ПО и системы в целом, оценка предъявленной документации; документирование результатов оценки совместно с заказчиком виде акта и в случае его подписания передача ПО заказчику, в противном случае - отправка ПО на доработку с применением различных штрафных санкций.

Указанные действия группируют, условно выделяя следующие основные этапы (ГОСТ 19201 - 1978 года) или стадии разработки (ГОСТ 90102 - 77го года):

1. Этап постановка задачи (стадия - техническое задание). На этом этапе однозначно и четко формулируют назначение ПО и определяют основные требования к нему, каждое требование должно представлять описание необходимого или желаемого свойства ПО.

Различают функциональные требования, определяющие функции, выполняемые ПО и эксплуатационные требования, определяющие особенности его функционирования.

Требования к ПО, имеющему прототипы обычно определяют по аналогии, учитывая характеристики уже существующего ПО.

Для формулирования требований к ПО, не имеющему аналогов обычно проводят специальные исследования, называемые пред проектными. На их выполнение заключается дополнительный договор, сумма которого не входит в общую оплату проекта.

В любом случае эта постановки задачи заканчивается составлением документа ("техническое задание"), фиксирующего принципиальные требования и основные элементы проектных решений. Подписывается заказчиком разработчиком.

2. Анализ требований и разработка спецификации (стадия эскизный проект).

Спецификация - точное формализованное описание функций и ограничений разрабатываемого ПО. Спецификации разрабатываются на основе требований, поэтому различают функциональные и эксплуатационные спецификации.

Совокупность спецификаций представляет собой общую логическую модель, проектируемого ПО.

Спецификации формулируют содержательную постановку задачи, позволяют выбрать математический аппарат формализации, на основное которой осуществляют построение модели предметной области, модель позволяет определить подзадачи и методы их решения. На этом же этапе формируют идею контрольных тестов.

Этап завершается созданием документа "эскизный проект", который защищается в присутствии заказчика и подписывается обеими сторонами.

Лекция 4

3. Этап проектирования (стадия технический проект). Основной задачей этапа является детальное определение спецификаций для разрабатываемого ПО. При проектировании сложного ПО выделяют:

- проектирование общей структуры - определение основных компонентов и их взаимосвязей;

- декомпозицию компонентов и построение структурных иерархий в соответствии с требованиями блочно-иерархического подхода;

- собственно проектирование компонентов

Принято различать два аспекта проектирования:

1) логическое проектирование - включает те проектные операции, которые непосредственно не зависят от имеющихся технических и программных средств, составляющих среду функционирования ПО.

2) физическое проектирование - привязка к конкретным техническим и программным средствам среды функционирования.

Результатом проектирования является детальная модель, разрабатываемого ПО вместе со спецификациями его компонентов всех уровней (технический проект). Процесс проектирования охватывает как проектирование программ, определение связей между ними, так и проектирование данных, с которым взаимодействуют эти программы или подпрограммы.

4) реализация ( стадия рабочий проект). Представляет собой процесс поэтапного написания кода программы на выбранном языке программирования, их последующее тестирование и отладку. До недавнего времени процесс разработки включал в себя также этап сопровождения, однако в настоящее время, в соответствии с международными стандартами данный процесс рассматривается отдельно как самостоятельный основной процесс. Его содержанием являются процессы создания и внедрения новых версий программного продукта, причинами создания которых могут быть:

- необходимость исправления ошибок, выявленных в процессе эксплуатации;

- необходимость совершенствования предыдущих версий в целях улучшения интерфейса, расширения функционала или повышения производительности;

- необходимость адаптации ПО под новые технические средства и ОС

Эволюция моделей жизненного цикла ПО

На протяжении основного периода развития основных технологий программирования были разработаны три модели жизненного цикла ПО:

1. Каскадная модель (1970-1985 гг) модель предполагает, что переход на следующую стадию возможен только после того, как полностью будут завершены проектные операции предыдущей стадии и получены все исходные данные для следующей стадии.

Достоинства модели:

+ получение в конце каждой стадии законченного набора проектной документации, отвечающего требованиям полноты и согласованности

+ возможность реализации каждого этапа различными исполнителями специализирующимися на какой-то конкретной задаче

+ простота планирования и управления процессом разработки

На ранних этапах своего развития данная модель обеспечивала очень высокие параметры эффективности разработки, однако с усложнением проектируемых систем выяснилось, что данная схема применима только в том случае, когда в самом начале разработки удавалось точно и полно сформулировать все требования - такая ситуация при постоянном усложнении ПО становилась невозможной.

2. Модель с промежуточным контролем - поддерживает итерационный (циклический) характер процесса разработки. В этой схеме после завершения каждого этапа осуществляется контроль, который позволяет при необходимости вернуться на любой уровень и внести необходимые изменения.

Достоинства:

+ возможность уточнения неточных спецификаций на любом этапе разработки

+ изменение требований заказчика непосредственно в процессе разработки

+ тесное сотрудничество участников разработки между собой, заинтересованность их в конечном результате

Недостатки:

- длительные сроки разработки

- сложность планирования и управления проектом

- необходимость волевого определения момента прекращения разработки проекта

3. Спиральная модель (с середины 80х годов). ПО создается не сразу, а итерационно с использованием метода прототипирования, основанного на идее создания быстрых прототипов. Данная модель сместила многие акценты - в частности модификация перестала восприниматься как необходимое зло и перешла в разряд отдельного важнейшего процесса.

Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого ПО. На первой итерации как правило специфицируют, проектируют и реализуют интерфейс пользователя, на втором шаге добавляют некоторый ограниченный набор функций. На последующей итерации этот набор расширяют до тех пор, пока не будут реализованы все функции, определенные постановкой задачи.

Достоинства:

+ сокращение времени до появление первых рабочих версий рабочего продукта

+ заинтересованность большого количества пользователей, обеспечивающих быстрое продвижение следующих версий продукта на рынке

+ ускоренное формирование и уточнение спецификаций за счёт появления практики использования продукта

+ снижение вероятности морального устаревания системы за время разработки

Недостатки:

- сложность определения момента перехода на следующий виток спирали

В настоящее время обычно ограничивают сроки прохождения каждой стадии, основываясь на статистике и опыте экспертных оценок.