Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
14_Kul'din_Kuldin_v2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
208.38 Кб
Скачать

8. Формальное описание генетического метода

Необходимо определить с приемлемой точностью функцию времени до релиза проекта R(t), зависящую от текущего момента времени t, отсчитываемого от начала работы над проектом. Причем R(0) = R0 – общее первоначальное плановое время работы над проектом. Искомую функцию предлагается искать в виде R(t) = Rplan(t) + Rbugs(B(t)), где

Rplan(t) – идеальное плановое время до релиза (фиксированная составляющая), рассчитанное на текущий момент времени t, без учета возможных дефектов на всех этапах разработки. Rplan(t) в общем случае нелинейно зависит от t, рассчитывается с помощью какой-либо упрощенной модели оценки трудозатрат (любой (!), например COCOMO II [1]).

Rbugs(B(t)) – время, необходимое для устранения имеющихся дефектов и для достижения необходимого показателя качества ПО (динамическая составляющая). B(t) – имеющаяся на момент времени t база данных дефектов.

Т.е. по сути, смысл подхода в разделении исходной задачи на “четкую” и “нечеткую” составляющие.

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

Вторая часть – непосредственно рассмотрение генетического подхода применительно к расчету Rbugs(B(t)). Как уже отмечалось ранее, генетический подход предполагает рассмотрение базы данных ошибок в качестве хромосомной популяции. Одной ошибке ставится в соответствие одна хромосома. На множестве хромосом популяции Ω задается оценочная функция Durability(ω), которая рассчитывается динамически на основании макроскопических характеристик популяции. В данной интерпретации оценочная функция характеризует время жизни “хромосомы-дефекта” на основании ее характеристик (например: дата и время, когда была обнаружена проблема, серьёзность (критичность) проблемы и приоритет её решения, какие-либо характеристики сложности ее решения и т. п.). К популяции применяются генетические операторы скрещивания C(Ω), мутации M(Ω) и отбора S(Ω), использующие оценочную функцию, эмулируя эволюцию популяции (процесс возникновения новых дефектов и устранения старых) через некоторые фиксированные (в простейшем случае) промежутки времени. Алгоритм использует макропоказатели базы данных B(t) (N(t) – количество ошибок, N'(t) – скорость их появления и др.) таким образом, чтобы правильно рассчитать параметры генетических операторов, обеспечив правильную скорость сходимости размера популяции к 0. Как только |Ω| < ε, считаем, что система достигла заданного качества и процесс можно дальше не продолжать. Гипотетическое время этого процесса эволюции популяции и есть Rbugs(B(t)). Общая схема работы метода приведена на рис. 1.

Рис 1. Общая схема работы динамической части генетического алгоритма.

9.Области применения.

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