6. КАЧЕСТВО НА СОФТУЕРА
че това едва ли е стъпка към по-голяма яснота и конструктивност. Причината е
в значителната размитост на понятието потребител и още по-голямата неопре-
деленост на неговите нужди.
Така даденото определение може да се приложи и към качеството на соф-
, туера и да послужи за добра основа при изграждането на ясен и конкретен
възглед преди всичко с оглед на прагматичната задача за измерването му. Мето-
дологично погледнато, естествената стъпка, водеща до тази цел, е създаването
! на модел на качеството на софтуера.
6.2. Модели на качеството на софтуера
6.2.1. Модел на Боем
6.1. Общи понятия
Интуитивно е ясно, че всеки потребител желае да придобива и използва
качествен софтуер. От това следва, че и стремежът на всеки разработчик е да]
създава софтуер с високо качество. Стимулът за това е не само чисто етичен, но
има очевидни икономически причини. Възможността даден програмен продукт
да бъде продаден, и то на по-висока цена, зависи силно от неговото качество.
Теоретиците на софтуерните технологии и производство са разбирали важността
на качеството на софтуера и в повечето определения на предмета на дисципли-
ната, явно или не толкова явно, са включвали тази характеристика.
В контекста на този учебник и в съответствие с крайните цели на дисципли-
ната разглеждането на всяко понятие, в дадения случай качеството на софтуера,
трябва да води по възможност до конструктивни решения. Щом принципният
стремеж на производителите на софтуер е да създават софтуер с високо качество,
естествена цел е да се изгради някаква система или поне съвкупност от взаимооб-
вързани мерки за осигуряване на качеството. За да стане обаче това, необхо-
димо е преди това да се намерят достатъчно точни, обективни и ефективни метода
за измерване на качеството на програмните продукти. Последното пък изиск-
ва най-напред да се изясни какво е това качество на софтуера.
Напоследък повечето автори са склонни да дават по-обща дефиниция на
понятието качество, водени вероятно от убеждението, че всеки опит за по-под-
робно определение рано или късно ще доведе до намирането на контраприме-
ри и следователно до опровергаване. Причините за това се крият в прекалената
универсалност на понятието качество (дори ако се абстрахираме от философс-
кия му аспект), изключително широката му приложимост и уязвимост от прак-
тиката. Така че напоследък като че ли най-добре и от най-широк кръг се възпри
ема определението, дадено в International Standard Quality Vocabulary (ISO 8402-
1986), още повече че то има в известен смисъл статут на стандарт:
Качеството е съвкупността от средства и характеристики на да
ден продукт или услуга, носители на способността му да отговори на яв-
но или неявно указани нужди.
Понякога изразът „указани нужди" се заменя с привидно по-конкретното
„нужди на потребителя", но дори един не особено задълбочен анализ показва
70
Смята се, че първи сериозни изследвания по въпроса е направил Боем [1]
през 1973 година, а по-късно, през 1978 година, ги е задълбочил с помощта на
други автори [2]. Моделът на качеството на софтуера на
Боем има йерархичен
характер, но е сравнително слабо структуриран със своите реални две нива.
Качеството на софтуера Боем свързва преди всичко с неговата
полезност и
възможност за лесно
съпровождане. Първият аспект се определя от няколко
характеристики —
надеждност, ефективност и
използваемост от гледна
точка на потребителя човек. Вторият аспект зависи от други характеристики —
тестируемост, разбираемост и
модифицируемост. Освен това има още ед-
на, несвързана с двата аспекта характеристика, наречена
портабелност (мо-
билност). Характеристиките от своя страна зависят от свойства на по-долно
ниво. Тази зависимост вече не е чиста йерархия, защото не само че дадена ха-
рактеристика се определя от две или повече
свойства от по-долното ниво, но
има свойства, които определят повече от една характеристика. Например на-
деждността се определя от три свойства — пълнота, точност и непротиворечи-
вост, но от своя страна непротиворечивостта определя и характеристиката раз-
бираемост. По-нататък идеята е да се оцени всяко свойство за конкретния прог-
рамен продукт чрез някаква обективна мярка (не непременно число, а по-скоро
една от малък брой възможни степени в рамките на скала). Тази мярка се нари-
ча
метрика. Още тогава Боем е осъзнал, че по някакъв начин трябва да се
отразява важността на метриката. Защото е ясно, че дадено свойство или харак-
теристика е много важно за даден тип програмни продукти и не толкова — за
други. Типичен пример е надеждността — за
софтуер, управляващ полети на
самолети или ракети, надеждността е една от най-важните характеристики, до-
:ато за един текстов редактор това едва ли е така. Още един жалон в работата на
Боем е разбирането за необходимостта от автоматизирано оценяване на свойс-
твата и характеристиките.
Естествено, като всяка пионерска работа и тази има своите недостатъци —
не съвсем ясната структурираност, недостатъчната пълнота на множеството от
характеристики, съсредоточаване почти изключително върху качеството на прог-
рамния код, а не върху цялостния програмен продукт, сравнително тясната ек-
спериментална база (програми на Фортран). Независимо от това следващите,
по-съвършени модели несъмнено са били силно повлияни от идеите на Боем.
Най-малкото развита е идеята за йерархичност, а и
повечето от характеристи-
71