Софтуерни технологии



страница7/18
Дата23.07.2016
Размер3.19 Mb.
#2714
ТипАнализ
1   2   3   4   5   6   7   8   9   10   ...   18

Основна идея

В [6] и [7] е предложен един друг модел на качеството на програмните


продукти. Той се опитва да преодолее някои от недостатъците на йерархичните
модели, преди всичко субективността в значителна степен, както и трудоем-
костта. Естествено, тъй като всяко подобрение има своята цена, в този случай
това е известна загуба на точност. Последната обаче, както ще се види, невина-
ги е жизненоважна.

Основната идея на този метод произлиза от разбирането, че при оценката


на качеството на даден програмен продукт не е толкова важно да се знае едно
точно число, отразяващо това качество, а по-скоро да се придобие яснота за
позицията на оценявания програмен продукт спрямо няколко известни еталона
с добре познато качество. Следователно, ако сме в състояние да кажем за даден
програмен продукт А, че той е приблизително толкова добър по качество, кол-
кото добре известните и отлични по качество X и Y, както и че А не е в катего-
рията на добре известните и средни по качество М и N, нито пък в категорията
на също така добре известните и лоши по качество Р и Q, то това би било на-

78

пълно удовлетворително в повечето от случаите, в които се поставя проблемът


за качеството на програмния продукт А. От това разбиране следва самият мо-
дел. Той се основава на т. нар. класификационни методи.

Математическа основа на модела

Нека да разгледаме даден тип програмни продукти (текстови редактори, прог-


рами за изчисляване на заплати и т. н.). За този тип определяме множество от
характеристики: j1, j2,... , jn. На всяка характеристика може да се присвоява стой-
ност 1, ако конкретният програмен продукт притежава тази характеристика, 0 —
ако не я притежава, и х — ако няма информация за това дали я притежава.

Нека да предположим още, че няколко продукта от този тип са добре известни


и че стойността на всяка характеристика за всеки от тези продукти може да бъде
определена. Тези продукти ще наричаме еталони. Интуитивно ясно е, че е жела-
телно броят на х-овете да се намали, т. е. да работим с максимално пълна информа-
ция. По-нататък на основата на опита на експерти и потребители, еталоните се
разбиват на няколко класа в зависимост от своето качество. На практика обикно-
вено се определят два класа (добър и лош) или три (отличен, добър, лош). Няма
обаче никакви принципни трудности, ако класовете са повече. По този начин всеки
еталон е представен чрез вектор Еi = (аi1i2,..., ain), където n е броят на характерис-
тиките и ajk може да взема стойности от множеството {0, 1, x}. Ако s е броят на
класовете, то Е принадлежи на точно един клас Кg, където g = 1,2,..., s. Следовател-
но сечението на всеки два класа е празно. Така дефинираните данни могат да се
представят в таблица Т , обикновено наричана обучаваща.



Табл. 6.1. Обучаваща таблица

Създадена веднъж, таблицата е относително постоянна в рамките на да-


ден тип програмни продукти. Нека сега предположим, че е даден нов програ-
мен продукт Е. Определяме съответния му вектор Е = (a,, а2,..., an ), т. е. опре-
деляме стойността на всяка от характеристиките на Е. Основната идея на пред-
лагания метод е чрез използване на обучаващата таблица Ттп и на описанието
на Е, зададено чрез горния вектор, новият програмен продукт Е да бъде кла-
сифициран, т. е. отнесен към един от s-те предварително дефинирани класове.
Това би ни дало информация за неговото качество, която в много случаи е
напълно достатъчна.

79






(всеки алгоритъм има един глас) и класът, получил най-много гласове (т. е. този,
към който най-много алгоритми са причислили класифицирания продукт) да
бъде обявен за клас на дадения продукт. Тук ще дадем един пример за такъв
алгоритъм. Прилага се следната формула:

В основата на метода стои търсенето на подмножества от признаци, които
отразяват различията между класовете.

Тест на таблицата е такова подмножество от стълбове, че всеки два реда
на подтаблицата, образувана от тези стълбове, които принадлежат на различни
класове, се различават в поне един от стълбовете. Неприводим се нарича тест, |
никое собствено подмножество на който не е тест. Ще гo означаваме с HT. Като
пример нека разгледаме следната таблица, в която продукти 1 и 2 принадлежат
на клас 1, 3, 4 и 5 — на клас 2, и останалите — 6, 7 и 8 — на клас 3:

Продукт/признак

1

2

3

4

5

6

7

8

9

10

11

12

13

Е1

1

1

1

1

1

1

0

1

1

1

1

0

1

Е2

1

1

0

1

-

1

0

1

1

0

0

0

0

Ез

1

1

1

1

0

1

1

0

0

1

0

1

0

Е4

1

1

1

1

0

1

1

1

1

1

1

1

0

E5

0

1

0

0

1

1

1

-

0

0

1

-

0

Е6

0

0

1

0

0

0

0

0

0

-

0

-

0

Е7

0

1

0

1

0

1

0

1

0

-

-

-

0

Е8

0

0

0

1

0

0

0

.1

0

-

-

-

0



Сподели с приятели:
1   2   3   4   5   6   7   8   9   10   ...   18




©obuch.info 2024
отнасят до администрацията

    Начална страница