Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Эволюционно-инкрементная организация жизненного цикла разработки




 

Рассматриваемый подход является развитием спиральной модели Боэма [8], [40], [44], [57]. В этом случае процесс разработки программной системы организуется в виде эволюционно-инкрементного жизненного цикла. Эволюционная составляющая цикла основывается на доопределении требований в ходе работы, инкрементная составляющая — на планомерном приращении реализации требований.

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

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

Такая методика построения системы нацелена на выявление и уменьшение риска в самом начале жизненного цикла. В итоге минимизируются затраты на уменьшение риска.

Рис. 15.1. Типовая итерация эволюционно-инкрементного жизненного цикла

 

Рис. 15.2. Два измерения унифицированного процесса разработки

 

Как показано на рис. 15.2, в структуре унифицированного процесса разработки выделяют два измерения:

q горизонтальная ось представляет время и демонстрирует характеристики жизненного цикла процесса;

q вертикальная ось представляет рабочие потоки процесса, которые являются логическими группировками действий.

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

Этапы и итерации

 

По времени в жизненном цикле процесса выделяют четыре этапа:

q начало (Inception) — спецификация представления продукта;

q развитие (Elaboration) — планирование необходимых действий и требуемых ресурсов;

q конструирование (Construction) — построение программного продукта в виде серии инкрементных итераций;

q переход (Transition) — внедрение программного продукта в среду пользователя (промышленное производство, доставка и применение).

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

Рабочие потоки процесса

 

Рабочие потоки процесса имеют следующее содержание:

q Сбор требований — описание того, что система должна делать;

q Анализ — преобразование требований к системе в классы и объекты, выявляемые в предметной области;

q Проектирование — создание статического и динамического представления системы, выполняющего выявленные требования и являющегося эскизом реализации;

q Реализация — производство программного кода, который превращается в исполняемую систему;

q Тестирование — проверка всей системы в целом.

Каждый рабочий поток определяет набор связанных артефактов и действий. Артефакт — это документ, отчет или выполняемый элемент. Артефакт может вырабатываться, обрабатываться или потребляться. Действие описывает задачи — шаги обдумывания, шаги исполнения и шаги проверки. Шаги выполняются участниками процесса (для создания или модификации артефактов).

Между артефактами потоков существуют зависимости. Например, модель Use Case, генерируемая в ходе сбора требований, уточняется моделью анализа из процесса анализа, обеспечивается проектной моделью из процесса проектирования, реализуется моделью реализации из процесса реализации и проверяется тестовой моделью из процесса тестирования.

Модели

 

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

q бизнес-модель. Определяет абстракцию организации, для которой создается система;

q модель области определения. Фиксирует контекстное окружение системы;

q модель Use Case. Определяет функциональные требования к системе;

q модель анализа. Интерпретирует требования к системе в терминах проектной модели;

q проектная модель. Определяет словарь проблемы и ее решение;

q модель размещения. Определяет аппаратную топологию, в которой исполняется система;

q модель реализации. Определяет части, которые используются для сборки и реализации физической системы;

q тестовая модель. Определяет тестовые варианты для проверки системы;

q модель процессов. Определяет параллелизм в системе и механизмы синхронизации.

Технические артефакты

 

Технические артефакты подразделяются на четыре основных набора:

q набор требований. Описывает, что должна делать система;

q набор проектирования. Описывает, как должна быть сконструирована система;

q набор реализации. Описывает сборку разработанных программных компонентов;

q набор размещения. Обеспечивает всю информацию о поставляемой конфигурации.

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

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

Он может включать проектную модель, тестовую модель и другие формы выражения сущности системы (например, макеты).

Набор реализации группирует все данные о программных элементах, образующих систему (программный код, файлы конфигурации, файлы данных, программные компоненты, информацию о сборке системы).

Набор размещения группирует всю информацию об упаковке, отправке, установке и запуске системы.

Управление риском

 

Словарь русского языка С. И. Ожегова и Н. Ю. Шведовой определяет риск как «возможность опасности, неудачи». Влияние риска вычисляют по выражению

RE = P (UO) x L (UO),

где:

q RE — показатель риска (Risk Exposure — подверженность риску);

q P (UO) — вероятность неудовлетворительного результата (Unsatisfactory Outcome);

q L (UO) — потеря при неудовлетворительном результате.

При разработке программного продукта неудовлетворительным результатом может быть: превышение бюджета, низкая надежность, неправильное функционирование и т. д. Управление риском включает шесть действий:

1. Идентификация риска — выявление элементов риска в проекте.

2. Анализ риска — оценка вероятности и величины потери по каждому элементу риска.

3. Ранжирование риска — упорядочение элементов риска по степени их влияния.

4. Планирование управления риском — подготовка к работе с каждым элементом риска.

5. Разрешение риска — устранение или разрешение элементов риска.

6. Наблюдение риска — отслеживание динамики элементов риска, выполнениекорректирующих действий.

Первые три действия относят к этапу оценивания риска, последние три действия — к этапу контроля риска [20].

 

Идентификация риска

 

В результате идентификации формируется список элементов риска, специфичных для данного проекта.

Выделяют три категории источников риска: проектный риск, технический риск, коммерческий риск.

Источниками проектного риска являются:

q выбор бюджета, плана, человеческих ресурсов программного проекта;

q формирование требований к программному продукту;

q сложность, размер и структура программного проекта;

q методика взаимодействия с заказчиком.

К источникам технического риска относят:

q трудности проектирования, реализации, формирования интерфейса, тестирования и сопровождения;

q неточность спецификаций;

q техническая неопределенность или отсталость принятого решения.

Главная причина технического риска — реальная сложность проблем выше предполагаемой сложности.

Источники коммерческого риска включают:

q создание продукта, не требующегося на рынке;

q создание продукта, опережающего требования рынка (отстающего от них);

q потерю финансирования.

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

1. Дефицит персонала.

2. Нереальные расписание и бюджет.

3. Разработка неправильных функций и характеристик.

4. Разработка неправильного пользовательского интерфейса.

5. Слишком дорогое обрамление.

6. Интенсивный поток изменения требований.

7. Дефицит поставляемых компонентов.

8. Недостатки в задачах, разрабатываемых смежниками.

9. Дефицит производительности при работе в реальном времени.

10. Деформирование научных возможностей.

На практике каждый элемент списка снабжается комментарием — набором методик для предотвращения источника риска.

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

Анализ риска

 

В ходе анализа оценивается вероятность возникновения Рi и величина потери Li для каждого выявленного i -го элемента риска. В результате вычисляется влияние REi i -го элемента риска на проект.

Вероятности определяются с помощью экспертных оценок или на основе статистики, накопленной за предыдущие разработки. Итоги анализа, как показано в табл. 15.1, сводятся в таблицу.

Таблица 15.1. Оценка влияния элементов риска

Элемент риска Вероятность, % Потери Влияние риска
1. Критическая программная ошибка 3-5   30-50
2. Ошибка потери ключевых данных 3-5   24-40
3. Отказоустойчивость недопустимо снижает производительность 4-8   28-56
4. Отслеживание опасного условия как безопасного      
5. Отслеживание безопасного условия как опасного      
6. Аппаратные задержки срывают планирование      
7. Ошибки преобразования данных приводят к избыточным вычислениям      
8. Слабый интерфейс пользователя снижает эффективность работы      
9. Дефицит процессорной памяти      
10. СУБД теряет данные      

Ранжирование риска

 

Ранжирование заключается в назначении каждому элементу риска приоритета, который пропорционален влиянию элемента на проект. Это позволяет выделить категории элементов риска и определить наиболее важные из них. Например, представленные в табл. 15.1 элементы риска упорядочены по их приоритету.

Для больших проектов количество элементов риска может быть очень велико (30-40 элементов). В этом случае управление риском затруднено. Поэтому к элементам риска применяют принцип Парето 80/20. Опыт показывает, что 80% всего проектного риска приходятся на долю 20% от общего количества элементов риска. В ходе ранжирования определяют эти 20% элементов риска (их называют существенными элементами). В дальнейшем учитывается влияние только существенных элементов риска.

Планирование управления риском

 

Цель планирования — сформировать набор функций управления каждым элементом риска. Введем необходимые определения.

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

Рис. 15.3. Кривая останова проекта

 

Ниже кривой располагается рабочая область проекта, выше кривой — запретная область (при попадании в эту область проект должен быть прекращен).

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

Теперь рассмотрим последовательность шагов планирования.

1. Исходными данными для планирования является набор четверок [Ri Pi, Li, REi], где Ri — 2-й элемент риска, Pi — вероятность i -го элемента риска, Li — потеря по i -му элементу риска, REi — влияние i -го элемента риска.

2. Определяются эталонные уровни риска в проекте.

3. Разрабатываются зависимости между каждой четверкой [Ri Pi, Li, REi] и каждым эталонным уровнем.

4. Формируется набор эталонных точек, образующих сферу останова. В сфере останова предсказываются области неопределенности.

5. Для каждого элемента риска разрабатывается план управления. Предложения плана составляются в виде ответов на вопросы «зачем, что, когда, кто, где, как и сколько».

6. План управления каждым элементом риска интегрируется в общий план программного проекта.





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


Дата добавления: 2016-10-06; Мы поможем в написании ваших работ!; просмотров: 648 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2307 - | 2155 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.